|
|
|
|
| Welcome, Guest | Home | Search | Login | Register | |
| Author | The Future of FPGA (Read 192472 times) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cashed
128 MB ![]() ![]() ![]() ![]() Posts: 192 System 7 Newcomer!
|
on: August 21, 2025, 03:04
They did it -first batches are on their way. Meet the future of FPGA MISTer Multisystem2 Update. https://www.youtube.com/watch?v=wpHUevpKEKU&t=2s https://multisystem.uk/products/mister-multisystem-2/ https://github.com/MiSTer-devel/Wiki_MiSTer/wiki/Cores https://mister-devel.github.io/MkDocs_MiSTer/cores/computer/ The Mac Plus core is available. To kill time, there are alternative options one can try out on MISTer. On the Amiga core you can run A-Max. On the Atari core you can run Aladin, Mac Bongo or https://forums.atariage.com/topic/380627-spectre-magic-sac-with-hxc2001-floppy-emulator/ These only support system friendly software -that don’t bypass the OS and go directly to the hardware. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Bolkonskij
|
Administrator 1024 MB ![]() ![]() ![]() ![]() ![]() Posts: 2023
Reply #1 on: August 21, 2025, 11:08
|
Definitely an interesting project and perhaps it comes closest to the FPGA Macintosh I have on my wishlist for years. I recall @Knezzen had tried the Mac Plus core on his MiST but found it somewhat lacking. I think the networking support was missing entirely? Knezzen, care to share your experience with us? Is the Mac Plus core still in active development? I think last time I checked it wasn't further maintained?
|
lauland
|
512 MB ![]() ![]() ![]() ![]() ![]() Posts: 674 Symtes 7 Mewconer!
Reply #2 on: August 21, 2025, 16:20
|
Yeah, I'm eagerly awaiting someone to do a Mac II core for ANYTHING, but it hasn't happened...yet... I was a a little turned off by the MISTer as it seems to have its own "ecosystem" and is not "open"...but I do understand they need to make money. One problem with FPGA's is you get tied to a particular board, but then a new one comes out and new cores will only be for it (all the devs jump on it), and you're stuck with old hardware nobody wants to support, because the FPGA learning curve is an insane mountain. But the possibilities are tantalizing. There are so many FPGA boards out there with enough hardware, vga output and usb input, where anyone COULD create a mac core if they just had the electrical engineering knowledge. The problem is the "extra" hardware, like the video and usb, and low level things like ram refresh, can be utterly different from board to board. I've got a couple boards and the farthest I've gotten was getting led's to blink. I'd dearly love to get into the "FPGA world" and hack on cores, but dang, you really do need close to an electrical engineering degree just to understand what is going on.
|
cballero
|
1024 MB ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1178 System 7, today and forever
Reply #3 on: August 22, 2025, 00:07
|
So, outside of the possibly non-maintained Mac Plus core, these systems replicate actual console hardware then? I ask because I suppose that these would exclude arcade hardware tech then? I've been keeping an eye just a bit on multi-arcade cabinets, but I've yet to see one that would play all of my favorites in one machine, but I suppose two of them might be better for more players to enjoy at once!
|
snes1423
|
256 MB ![]() ![]() ![]() ![]() ![]() Posts: 458 A Man born of Mechina
Reply #4 on: August 22, 2025, 01:32
|
im surprised with all this DIY stuff that no one has replicated things like the Z80 or 6502 or 80386 for that matter all of which are looooooonnnnngggg dead architecture's from 4-5 decades ago
|
wove
|
1024 MB ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1363
Reply #5 on: August 22, 2025, 03:48
|
Production just recently ceased on the Z80, however one can purchase the chip on Amazon. I think the 6502 remains In production and it too can be purchased on Amazon. The Mars Rover uses the PowerPC 750 (G3), so in some bizzaro world the Mars Rover could run MacOS 8(?). Then you could run Doom on the Mars Rover Much of the problems with build new versions of old hardware stems from the lack of specialized supporting chips.
|
lauland
|
512 MB ![]() ![]() ![]() ![]() ![]() Posts: 674 Symtes 7 Mewconer!
Reply #6 on: August 22, 2025, 16:12
|
Replicating cpus: There are definitely FPGA cores for z80's and 6502's, and even 68000. The cpu is the (relatively) "easy" part. The problem is all the rest of the hardware. And, when that's done, it is tied to a particular FPGA board. This is why you can't just take a MISTer core, and "run" it on a random other FPGA board. You COULD "convert" it, but it'd take a monstrous amount of work and very esoteric knowledge. Arcade hardware: You can think of FPGAs as "emulation in hardware" ie you are replicating in logic gates the hardware, so it looks like the actual hardware to the roms. There are standards for arcade controller and monitor hardware and I know there are adapters for some FPGA solutions out there. As far as a multi cabinet, most people use linux on small pcs or arm like raspberry pi and just run mame. The problem is arcade machines had fewer standard architectures, so doing a mutli-arcade FPGA that did more than just a half dozen games would be extremely difficult, if not impossible (you'd have to switch hardware cores for different games), etc. Software vs hardware emulation: I used to get quite excited about FPGAs, not only because they're quite cool, actually replicating hardware in hardware, and the possibility of using extremely cheap kit...but these days teeny tiny very powerful computers like the raspberry pi are so commonplace, and so powerful, its hard to ignore them. More and more I feel like software emulation is "good enough", especially given the learning curve of FPGAs, and the problems of getting the cores tied to a particular board or other. What a MacII FPGA needs: So, obviously the cpu, and for that you might be able to "borrow" someone else's core, and port it relatively easily to some random board. (Finding an 68000 is relatively easy, but the 68020+ much harder). And the video, of course, via onboard VGA. But you also need the SCSI, SCC (serial), and VIA (all sorts of things) chips. You'd need an ADB emulation layer for a usb mouse. Most of that would need to be created from scratch. You'd need someone with deep ancient Mac knowledge and enough electrical engineering and knowing at least one of the FPGA languages, and, you'd need to pick a particular FPGA board as your target.
|
Cashed
|
128 MB ![]() ![]() ![]() ![]() Posts: 192 System 7 Newcomer!
Reply #7 on: August 23, 2025, 03:58
|
The 3DO core is almost ready -new MiSTer Cores are made available all the time. I usually wait for as long as possible, until most of the early issues get sorted and it becomes mainstream. Standardization was very much needed. The MultiSystem2 is using the Cyclone V FPGA Soc ARM processor by Altera. That does not incline that one has to use only that to built Macintosh Cores. This system is expandable both thru the use of cartridges and the IO interface. The Mac Core dev community have the option to go through the IO expansion interface, make a slave device. One that uses a secondary FPGA, anything required to trick the System into believing it’s real hardware. It’s really down to how creative the core/hardware developers get in the Mac community with the IO. The Apple II Core started back in 2020, 2 years ago it still wasn’t working -few issues left. Apple IIGS MiSTer Core Progress started back in 2022 -still in progress. Macintosh Plus Setup started back in 2020 Mac Plus update (2022) Mac II Core Mac Basilisk II Some may ask -seriously? Emulating on emulation? To that answer is, another question -What is reality? - - - Options if you run the Amiga core: A-Max will let you run up to System 7.1 ShapeShifter - Basilisk II -System 7.1 thru Mac OS 8.1 - - - Options if you run the Atari core: Aladin v3 for Atari This will run System 6 Mini vMac CT60 port by OL This is a very basic port using SDL. You have to put disk name ‘Disk608.dsk’ as parameter to run. With this option you can at least run Mac Plus System 7.5.5. CT60 is a hardware accelerator for the Atari Falcon, based on a 68060 CPU on a custom circuit board with an SDRAM slot. Another option is to use the Atari port of BasiliskII for Atari ST/STe/TT/Falcon. links left to kill time -while we wait for Macintosh cores. - - - Initial resource sites left, on how they did it back then -for any FPGA core developer that happens to drop by. Spectre GCR Schematic Magic Sac reverse engineered by tOri The Official A-Max Home Page History of A-Max ps: do reach out, in comments or pm if something requires excavation.
Last Edit: August 23, 2025, 04:04 by Cashed
|
snes1423
|
256 MB ![]() ![]() ![]() ![]() ![]() Posts: 458 A Man born of Mechina
Reply #8 on: August 23, 2025, 04:37
|
so, it's all running on ARM based CPU's so emulation with a partial hardware circuit? how is that as accurate as using the real thing??
|
Cashed
|
128 MB ![]() ![]() ![]() ![]() Posts: 192 System 7 Newcomer!
Reply #9 on: August 23, 2025, 15:57
|
If one steps outside and walks into the neighbors house -one is still real. Altera started back in 1984. A FPGA is a field-programmable gate array MiSTer derives from MiST which stands for “AMiga/ST” -hence why the cores for the Amiga and ST are much further in development. They both used the same Motorola 68000 CPU as the Macintosh. A CPU is just a chip -housing the software programming. I/O stands for Input/Output. IO stands for the io language, used in this case to indicate “object-oriented programming” might be required -the object being programmed chips. Syntax ‘doStuff’
|
cballero
|
1024 MB ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1178 System 7, today and forever
Reply #10 on: August 26, 2025, 13:42
|
Quote from: Lauland The problem is arcade machines had fewer standard architectures, so doing a multi-arcade FPGA that did more than just a half dozen games would be extremely difficult, if not impossible (you'd have to switch hardware cores for different games), etc.I hear you, and that makes much more sense now; thanks for bringing it into focus, Lauland! I wonder if putting several small hardware core systems, each working completely independently from each other, simply assigned to a specific set of games might work as a more straightforward workaround, even if it's costly. I suppose you could even have an external switch? Although I'm more a fan of a fancy software-driven interface to act as the ref myself basically just allowing these separate cores to share the other peripherals like the speakers, the screen and controllers, but otherwise be their own world as far as what they run, but that might end up costing far more than just having separate arcade cabinets, each with the set of games they can run, so it sounds like the solution becomes a bit more of a "cost-to-build" issue and a simple-vs-complex setup question.I read on an arcade manufacturer's site that not all games are actually available, so all they can do is offer clones for some unavailable titles due to licensing issues. You'd think that arcade games would be the easiest thing to license; yikes!
Last Edit: August 26, 2025, 13:44 by cballero
|
lauland
|
512 MB ![]() ![]() ![]() ![]() ![]() Posts: 674 Symtes 7 Mewconer!
Reply #11 on: August 26, 2025, 16:41
|
snes1423: If it is an FPGA, then almost always (but not necessarily) they emulate the cpu in hardware, instead of software. This won't necessarily be FASTER than a software solution on a fast modern cpu! I believe most FPGA solutuions do this, it isn't worth the trouble to do the rest of the hardware (the io) and NOT the cpu. Especially since the CPU emulation is the "easy" part, since they are fully documented, as opposed the the rest of the hardware of a system. Many other "mini" emulator devices you can buy do not use FPGAs at all, and are purely a software emulation (usually even open source) on cheap ARM hardware. cballero: An FPGA consists of a "fabric" which is a very large array of programmable gates. In theory you could use parts of it for different systems, but this would make the design extremely complex, and the different parts would, without a lot of trouble, always be there taking up space. It would be a lot easier to have multiple boards and something like a KDB switch between them. I don't think you can have multiple cpu cores at the same time on a single FPGA for "reasons". If you look closely at arcade hardware, there was SOME standardization and they would reuse the same board, sometimes just with different ROMs (and different joystick/button configurations), as often as possible to keep costs down. But, mostly different arcade machine hardware would vary quite a lot, so doing a multi-machine in FPGA would be difficult. It can vary, but usually FPGAs power on blank, although many will include flash storage and hardware to automatically load their contents from an sd card or something like that. This is usually very primitive, not even having a menu. These days, because ARM chips are so cheap and plentiful, some FPGA boards will include ARM processors in addition to the FPGA, and there can be quite sophisticated os's for the ARM (usually linux). A board like that could have a menu for multiple arcade cores, and allow you to load which one you wanted at power on. I have one like this that can load either an amiga or commodore 64 core at power up. So, in theory, something nice like that could be done for arcade...if you wait long enough, someone might do it... As far as licensing, that is a huge mess, and arcade machines can actually be even more mired it in than home machines. This is because, for example, Pac Man or Donkey Kong, were so popular, but actually written by one company and distributed by another. So Namco, or Ninendo owned the roms, but the actual original game was licensed from someone else, etc etc etc etc.
Last Edit: August 26, 2025, 16:45 by lauland
|
cballero
|
1024 MB ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1178 System 7, today and forever
Reply #12 on: August 26, 2025, 22:26
|
Wow! You confirmed so many of my thoughts on the subject, thanks Lauland! When you don't know, you really don't know.. and I just had no clue!
|
Cashed
|
128 MB ![]() ![]() ![]() ![]() Posts: 192 System 7 Newcomer!
Reply #13 on: August 26, 2025, 22:55
|
This video explains it in the first minute. https://youtu.be/kaaATngW8iY The N64 Core -once thought of as an impossible core to recreate. As seen in the ‘doStuff’ video I linked previously. One needs pogo pins, a programmer and an application, to read the data from every chip on a motherboard. One then pastes that into every programmable field in the FPGA. Essentially recreating the entire hardware circuit board inside, in this case, the Cyclone V SoC, to achieve (System-on-a-Chip) -hardware emulation. This step is required on every single board on all the old cabinets/coin-ups/machines. Arcades started back in 1975, a lot of different processors were used. From the 90’s and onwards specialized and custom made hardware were used. Another great watch is this 68000 video. https://youtu.be/njGWWg69B4A @lauland for the past couple of days I’ve been pondering if you’d wanna take up the challenge. Been meaning to pm you but quite busy atm. For my own part the project really tingles in my fingers. But I’m soon to buy a new house and have to use a lot of time getting settled, and I also need to complete the initial release of my websites. From what I read -you’d really like to get into FPGA, and you do have lots of programming experience. If you want to take on and tackle this project, I will support it and you, financially with required tools etc. You won’t run out of help from this local Cheers hangout. The mountain may not be as steep as you’d expect -think it through
|
lauland
|
512 MB ![]() ![]() ![]() ![]() ![]() Posts: 674 Symtes 7 Mewconer!
Reply #14 on: August 27, 2025, 16:52
|
doStuff video: What he is doing is reading the contents and reprogramming the contents of firmware, you'll notice he mentions "bios" quite a bit. So, not related to FPGA at all, unfortunately. Something like that could be used to dump the roms from obscure devices, but usually, you can just find them somewhere as somebody else has already done it. The key with FPGA's are the ancillary hardware, so the IO chips and how they are connected. This wouldn't help at all with that. There is a similar interface to the EC one the guy is using called JTAG, which many boards support, which would be more useful. FPGA programming: This involves languages like Verilog or VHDL, and very sophisticated tools like Vivado (google for more info), so there aren't really any "fields" to paste into. The languages resemble traditional programming languages to a certain extent, but "timing" as in the clock ticks of the board are key, and an extremely hard concept to wrap one's brain around, if one has done any "normal" programming. Boards: I've got three FPGA boards, one uses a Cyclone IV, which is the little sister of the Cyclone V the MISTer uses (smaller, slower, etc). I've also got a Nexys 4, and an ALINX 7020. All three use radically different FPGAs, but, more important, their extra hardware, such as ram, vga, usb, etc is very specific to each board. The MISTer is based on a de10-nano board, so even if I had different board that used a Cyclone V, chip it couldn't run the MISTer cores, because they are specific to the OTHER hardware, and how it is hooked up to the FPGA on the de10-nano. So, in other words, if you want to follow along with an FPGA project someone else is doing, you need to buy the EXACT same board. To get things running on a different one you'd need to rewrite quite a bit, and there are so many different interactions it probably just isn't worth the trouble. That is why I bought the Nexys 4: I was trying to follow the Mega 65 project. I got quite far, and believe I have the core built, but that's another story. (The problem being they've moved on to a different board, and I'm not going to go and buy THAT now!) N64 core: That is EXTREMELY impressive, and beyond what I (and seems most people who know far more) thought was possible. They probably used manuals and reversed engineered specs of the N64 to reproduce it. I had no idea it had enough muscle to handle relatively sophisticated 3d. Its even more impressive because the N64 is very non-standard as far as its CPU goes, etc. My projects: @Cashed I'm not sure which challenge you're referring to, but a Mac II FPGA is one I would be interested in. For me, it's not finances but time and social support that keep me back. I'm not interested in laboring away all by myself at a desk, either for work or "fun". When I work on projects and everyone tells me how great they are, that's wonderful, but still feels hollow when I'm the only one working on it. So I'm thinking of finding something and joining a team on SOMETHING as the most fulfilling. What that might be remains to be seen. Probably not FPGA, as I'd have to buy the board they are using. I wouldn't make that sort of investment unless I felt they were actually going to accomplish something. Maybe I should get a MISTer? But then, I'm thinking, it's highly likely they're going to hit the ceiling of the Cyclone V de10-nano and there will be a "MISTer II" coming out any day, etc etc etc. I've said before I think my knowledge and brain power are (maybe?) JUST (barely!) at the edge where I possibly could contemplate trying to do a Mac II FGPA on one of the boards I already own, or at least starting an effort, on my own. But the amount of work it'd take is really quite a mountain, and it'd be hard and grueling, slaving away staring at a screen all alone, and with little reward for quite a long time until I could get something doing ANYTHING. I understand all the concepts, at least I think I do, but I'd have quite a lot more learning to do. One thing I could do is write up here all the steps I'd need to do, and exactly what it'd take. You guys might be interested in that. Or not? Who knows. I think mostly what would end up happening is we'd, eventually, get to the point where everybody would say, "Dang! That's an INCREDIBLE amount of work to do!" and give up. Buying a MISTer and attempting to take the mac plus core (if it truly is open source) and expanding THAT to a Mac II is more realistic...
Last Edit: August 27, 2025, 17:02 by lauland
|
|
Pages: [1] 2 3
|
| |||||||||||||||
|
© 2021 System7Today.com. |




basically just allowing these separate cores to share the other peripherals like the speakers, the screen and controllers, but otherwise be their own world as far as what they run, but that might end up costing far more than just having separate arcade cabinets, each with the set of games they can run, so it sounds like the solution becomes a bit more of a "cost-to-build" issue and a simple-vs-complex setup question.