Neo Geo Architecture: A practical analysis
copetti.org
copetti.org
The reason is that IM2 requires interrupt sources to implement a fairly complex 'daisy chain protocol'. Support chips are supposed to place the low byte of a 16-bit interrupt vector address on the data bus when the Z80 starts handling an interrupt, the Z80 will read that byte, and combine it with the special I register as high byte to build a 16-bit address which points into the interrupt vector table. Next the Z80 will read the 16-bit value from that address - which is the entry point of the interrupt service routine - and jump there.
Interrupt priorities are hardwired via the above mentioned 'daisy chain', and this prioritization is what makes the interrupt support logic complicated because pending interrupt requests should not get lost while a higher priority interrupt is serviced (it's all described here in detail: http://www.z80.info/1653.htm).
The standard Z80 family chips (CTC, PIO, SIO) all supported this complex protocol, but not any of the custom chips in western home computers. East German home computers used TTL logic and Z80 family chips instead of custom chips and thus could make full use of the Z80 interrupt capabilties, while western designs typically didn't (I would have taken sprites and hardware-scrolling any day over powerful IM2 interrupts though).
[0] https://www.youtube.com/watch?v=Eog8solD9dc
Also, although the above is probably not the best case scenario comparison on the software side (MAME on an underpowered laptop), having written an emulator myself (not necessarily a great one), and particularly going through a convenient portability layer like SDL, there's just a lot of code between you and the hardware, which itself isn't representative of what you're emulating - for instance, sound and video are running at different clock rates and will drift apart, whereas on real hardware there's a single oscillator driving everything, so you have to jump through hoops to adapt the sound to the video rate, and latency creeps in.
If you are playing on a CRT, definitely. FPGA hardware emulation is sufficiently accurate that those with CRTs can use lightguns and have them work as expected.
I personally am not wild about latency issues, I didn't expect to really feel a difference between a good emulator and the MiSTer when I built one a few years ago, I was just bored and looking for a new toy which I could justify as a development tool to learn FPGAs if it didn't work out.
The first game I played on it, Sonic 2, I was shocked how much I could immediately feel the difference compared the RetroPi instance I normally played on.
It does depend on the game and platform though, I can't tell the difference when playing Super Mario All-Stars for example, but SMB1 is night and day.
In general the more "to the metal" the platform was, the more critical clock-accurate emulation of every component is to correct software operation, the more the FPGA helps. Modern platforms with buffers everywhere are less tightly coupled. I don't understand, for example, the desire for Dreamcast FPGA emulation. Once we got to the point of framebuffered 3D and PCM audio being the standard, when consoles started to gain operating systems, IMO the cost/benefit analysis just doesn't play out. Those platforms are usually quite friendly to efficient high-level emulation and don't require the level of low-level clock-for-clock perfection that a "racing the beam" era platform does.
It is worth noting that there is no inherent reason a FPGA hardware emulation would be more accurate than a software emulation, it's just that FPGAs make synchronizing the emulated components at a cycle-accurate level so much easier than it is in software. Doing it in software usually requires a lot of CPU cycles which means you need a beast of a machine to run it at full speed (see all the articles early in bsnes' existence about how it needed a top end PC of the time just to play in real-time) but if you have the cycles available it can be done.
Latency is another matter, a software emulator running on a normal mainstream PC operating system has a lot of layers between it and the hardware that a FPGA doesn't, so the FPGA will always win there. In theory when using native inputs and analog outputs latency is exactly identical to the real thing.
https://hard-drive.net/hd/video-games/spend-80-snes-classic-...
They placed a penny on the closed lid, and pressed the button to open it.
I forget which moved the penny furthest, but the Neo Geo came last.
However, I'd argue that Mike Matei provided all the serious production value of the show. Which is ironic, because fans of the show grew to hate him both for his lower production value experimental vids starring him on the channel and eventually for controversial cartoons made when he was like 18. So while they were clamoring for Rolfe to ditch Matei, the irony was that the show starred by Rolfe was like 98% reliant on Matei's professional talent. Just my take.
Also, I don't think he was ever intended to represent a modern gamer. If you were our age, you'd understand that Rolfe's gimmick was to dredge up the era whereby garbage games were being produced with Nintendo Power magazine giving them high reviews, leaving us horribly disappointed every Christmas and Birthday when we got the games we asked for. Has less to do with gaming than just an era in which we were ripped off constantly. Without social media, we would blame ourselves and his gimmick is relatable and cathartic in a sense.
https://capturetheflag.withgoogle.com/challenges/rev-arcade
Also, the neo geo development wiki is an absolute goldmine of technical information about the console.
MAX 330 MEGA
PRO-GEAR SPEC
It took me years to figure this out, but it actually means something. (Hell, even "Blast Processing" means something; it was some marketroid's sizzle term for the very fast DMA controller the Genesis had). Anyways, to break it down, MAX 330 MEGA means that cartridges could have a maximum size of 330 megabits. Bank switching would later increase this limit, with appropriate sizzle text on game boot. PRO-GEAR SPEC means that the technical specs of the home console are identical to the Neo-Geo arcade machines which are considered professional equipment or "pro gear". The Neo-Geo console was an arcade board in a console case -- at time of release one of the more advanced arcade boards at that. And the cartridges weren't home ports -- they were literally the arcade games. So of course the Neo-Geo was going to be vastly more expensive than the SNES or Genesis -- it had more memory and more advanced hardware than either of them, its games had vastly more ROM, and chips were pricey in 1990.Even at 100 megabits or less, the Neo-Geo cartridges were still huge. SNES cartridges started out at 4 megabits.
Still an amazing piece of hardware.
Not only NeoGeo games — I would say that there is no game that could give me the experience of A Link to the Past for the SNES. Best game ever (for me).
I remember playing and enjoying a side scrolling shooter with weird penis-shaped space ships (Last Resort).
I remember being obsessed with this system, too. It was more like a legend than a system. Everyone knew someone that knows someone with a Neo Geo. It was never within my reach to play one. A $600 system with $200 games in the 90s? But they were all arcade-level and only the richest kid (or kid whose parents were competing after a messy divorce) had one.
If you have any nostalgia for (or just interest in) old consoles / arcade machines / game system, this article is well worth your time.
Crazy story, one time at Taito Hey (highly recommended retro arcade in Akihabara) I saw a dude completing Metal Slug X with two characters at once, one which each hand, with zero deaths o_O