June 29th, 2024

Neo Geo Architecture: A practical analysis

The Neo Geo system by SNK featured dual processors, advanced I/O handling, and sophisticated graphics capabilities. It supported arcade and home markets with MVS and AES variants, offering rich gaming experiences.

Read original articleLink Icon
Neo Geo Architecture: A practical analysis

The Neo Geo architecture, designed by SNK, catered to both arcade and home markets with the MVS and AES variants. The system featured a dual-processor setup with a Motorola 68000 and Zilog Z80 CPU for game execution and sound management, respectively. Not constrained by budget limitations, the Neo Geo included numerous support chips to enhance CPU capabilities. The system's sophisticated I/O handling utilized a vectorised interrupt table for efficient communication and an inter-process communication system between the CPUs. To prevent system failures, an auto-repair process with a Watchdog program reset frozen games. Memory allocation included 64 KB of RAM for the 68000 and 2 KB for the Z80, with additional memory for storing game scores in MVS models. The graphics subsystem focused on tile-based graphics with a rich color palette and the ability to display a large number of sprites. The console supported NTSC and PAL signals with a resolution of 320 x 224 or 320 x 256 pixels. The chipset evolved over revisions, with components like the Video Display Processor handling graphics rendering.

Related

27 Years Ago, Nintendo Almost Revolutionized Digital Games with Nintendo Power

27 Years Ago, Nintendo Almost Revolutionized Digital Games with Nintendo Power

Nintendo Power, a unique service by Nintendo, allowed SNES and Game Boy users to download games onto a reusable flash memory cartridge at specific stores. Despite its innovative concept, it was only available in Japan and ceased in 2007.

Composite Modding another Atari, because Colors are Hard

Composite Modding another Atari, because Colors are Hard

In 1978, Sears Tele-Games Pinball Breakaway faced color issues due to outdated RF modulators. A modder attempted a composite mod to improve colors but encountered challenges with color synchronization and varying results on different displays.

Programming Like It's 1977

Programming Like It's 1977

The article explores programming games on the Atari VCS, a pioneering hardware platform from the 1970s with constraints that inspired creativity. Coding in 6502 assembly language offers a retro experience. The Atari 2600+ release supports old hardware for modern gaming. Learning on the Atari VCS reveals early programmers' challenges and solutions, fostering creativity.

Hardware FPGA DPS-8M Mainframe and FNP Project

Hardware FPGA DPS-8M Mainframe and FNP Project

A new project led by Dean S. Anderson aims to implement the DPS‑8/M mainframe architecture using FPGAs to run Multics OS. Progress includes FNP component implementation and transitioning software gradually. Ongoing development updates available.

Apple II graphics: More than you wanted to know

Apple II graphics: More than you wanted to know

The article explores Apple II graphics, emphasizing its historical importance and technical features like pixel-addressable graphics and sixteen colors. It contrasts with competitors and delves into synchronization challenges and hardware details.

Link Icon 12 comments
By @flohofwoe - 4 months
Great article! It actually makes an interesting point about the Z80 interrupt system: the Z80 does have an extremely powerful interrupt mode IM2 which supports an interrupt vector table with up to 128 entry points anywhere in memory and (theoretically) any number of prioritized interrupt sources, but this capability was not properly supported in western home computers (at least as far as I'm aware from the Speccy, CPC and MSX), in East German home computers (Z1013, Z9001, KC85/2..4) this mode was fully supported - which is interesting because those designs were much inferior to western home computers (at least when it comes to features required for video games).

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).

By @MegaDeKay - 4 months
Thought I'd point out that this system has a really good MiSTerFPGA core that supports the Neo Geo AES, MVS and CD systems [0] if you'd like to give it a go and software emulators aren't your thing. MiSTerFPGA, for those unaware, is a project that uses a Terasic DE10 Nano FPGA evaluation board to reproduce older consoles, computers, and arcade systems in hardware [1]. And as a heads up, the cost for entry into MiSTerFPGA will soon drop sharply as there are clone boards for the DE10 and expansion memory boards that will cost well under half of current offerings. At under $99 for the DE10 clone and $20 for the 128K SRAM memory expansion that is basically a must have [2], you'll be able to run consoles up to PS1 / Saturn / N64 level. Above that you'll have to go to software emulation or hang on to see what the next round of FPGA-based retro-consoles (Replay2, MarsFPGA) will be able to offer.

[0] https://www.youtube.com/watch?v=Eog8solD9dc

[1] https://github.com/MiSTer-devel/Wiki_MiSTer/wiki

[2] https://x.com/TakiUdon_/status/1801578381613613111

By @0xcde4c3db - 4 months
One thing I didn't see mentioned is that there's a function for automatic sprite animation loops based on a global timer. This is how some Neo Geo games have huge environmental background animations like waterfalls, pulsing/flickering lights, etc. without bogging down the CPU.
By @markx2 - 4 months
Years ago, a computer magazine (I think in the UK) did an amusing look into the flip lids of the current CD consoles. Playstation, Saturn, Jaguar (I think) and the Neo Geo.

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.

By @BonusPlay - 4 months
Just last week google CTF featured a reverse engineering challenge of a neo geo game!

https://capturetheflag.withgoogle.com/challenges/rev-arcade

Also, the neo geo development wiki is an absolute goldmine of technical information about the console.

https://wiki.neogeodev.org

By @Tepix - 4 months
It's too bad that these consoles with their amazing graphics were so expensive at the time.
By @alex_suzuki - 4 months
Fond memories… a game shop had one you could play on as a guest, there was always a queue. Unimaginable to young me that some people actually owned them.

I remember playing and enjoying a side scrolling shooter with weird penis-shaped space ships (Last Resort).

By @G3rn0ti - 4 months
I love „Neo Turf Masters“ — which always has been Neo Geo exclusive AFAIK and possibly the best golf simulation if you don’t actually play Golf. There is a Switch „port“ which really is just emulating the console but a fun diversion from Zelda and Mario.

https://www.twitch.tv/videos/1211920539

By @pbj1968 - 4 months
Feels baller as fuck to own an AES, not gonna lie. The system we all lied about owning in middle school!
By @breadmaster - 4 months
Love these articles so much and I just love learning about all these systems that obsessed me as a child.
By @beagle3 - 4 months
Very well written.

If you have any nostalgia for (or just interest in) old consoles / arcade machines / game system, this article is well worth your time.

By @MrBuddyCasino - 4 months
If this article sparks your interest, a good first game to try out is one from the Metal Slug series. I don't know any other that is so beautifully drawn and animated, like a cartoon come alive.