The system features a dual-processor configuration consisting of a Motorola 68000 and a Zilog Z80 CPU, two major icons of 80s electronics. The 68000 is tasked with executing the main program (also known as the game) while the Z80 is relegated to sound management . You may recall identical roles in the Mega Drive/Genesis, but that's where similarities end, as the chip variants and layouts are somewhat divergent.

The Motorola 68HC000 chip inside the Neo Geo, this one is second-sourced from Toshiba.
To give you an example, the Neo Geo's 68000 runs at 12 MHz (4 MHz faster than the Mega Drive's). Additionally, the specific chip fitted is the 68HC000, a variant distinguished by its use of CMOS gates (as opposed to the previous and less-efficient NMOS process).
If you want to know what's inside the 68000 and the Z80, I have done previous analyses in the Mega Drive/Genesis and the Master System articles, respectively. Thus, for the Neo Geo study, I will focus on their new uses.
A multitude of support chips
The most notable difference between the Neo Geo and any home console of the same generation is that, during the design of the former, SNK wasn't constrained by the budget limitations of the average household. In doing so, the motherboard features an extraordinary number of integrated controllers that not only remove many bottlenecks from the CPUs but also expand their capabilities.
The list of chips is lengthy, but the most confusing aspect is that, throughout revisions, SNK redesigned the chipset, either by unifying multiple chips or splitting them. So, for now, let me tell you that the motherboard contains the following groups of 'accelerators':
- 68k Controllers: To seamlessly switch between vector tables. I explain this area in the next paragraphs.
- Z80 Controllers: To alleviate the memory addressing limitations.
- I/O Arbiters: To delegate all I/O operations, saving cycles along the way.
- Video Display Controller: To carry out all graphics operations. This will be discussed in a dedicated section called 'Graphics'.
- Cabinet controllers: For the arcade variant only (the 'MVS'). These handle the coin slot, provide a scoreboard, and perform system diagnostics.
- Home controllers: Likewise but only found on the home variant (the 'AES'). In this group, we find a video encoder that generates TV-compliant video signals.
From now on, I will use these titles to refer to any group throughout the article. In some cases, I will also name specific chips within the groups to denote special importance.
Sophisticated I/O handling
Let me introduce you to a noble capability of the 68000 which I have not covered until now: the vectorised interrupt table. Earlier CPUs like the 6502 and the Z80 had a constrained design for handling I/O communication. Whenever an external device wanted the attention of the CPU, the former had to send an interrupt request which, in turn, required the CPU to run a software routine to process it. The amount of information provided during the request was very limited, meaning the CPU needed to spend extra cycles to investigate 'who' triggered the interrupt and 'why' the CPU was interrupted.
To be fair, CPUs like the Z80 provided extra circuitry to allow the peripheral to tell the CPU which instruction to execute next. Nevertheless, this wasn't widely adopted.
The 68000 improved this technique by treating interrupts as exceptions. Peripherals are required to identify themselves when they interrupt the CPU . The latter then uses the identifier to compose a memory address, which in turn points to a tailored software routine. All in all, this enables programmers to handle I/O communication efficiently, as they can now catalogue their dedicated interrupt handlers in a memory area called autovector table, and the CPU will execute each automatically.
The Neo Geo takes advantage of this design with the addition of a controller chip called the NEO-E0. Essentially, both the Neo Geo's Operating System and the game implement a dedicated exception table; this is because the OS table focuses on hardware interfacing and the game table is used during normal execution. However, the 68000 is only aware of one at a time. So, the NEO-E0 provides automatic bank switching that ensures the 68000 reads from the right table at all times.
Inter-process communication
Whenever a system features a dual-processor layout, there must be a way for both CPUs to communicate. In this console, SNK implemented Inter-Process Communication (IPC) through the use of an I/O arbiter chip. The latter exposes a single 8-bit register, which the 68000 can write to .

Representation of the IPC channel between the 68000 and the Z80.
Once the register is updated, the arbiter will send a non-maskable interrupt to the Z80. From then on, the Z80 may read the value (mapped to a port) and react accordingly. This includes writing back to that register, so the 68000 receives new data. However, for some reason, the 68000 is not interrupted (so it needs to perform some sort of polling).
The specific I/O arbiter chip has changed across different motherboard revisions. It was first implemented with the 'PRO-B0' chip and later replaced with the 'NEO-C1'.
Anti-unpleasantries
Speaking of interruptions, something that arcade cabinets cannot afford is requiring constant maintenance.
We are no strangers to games suddenly freezing due to a software bug. The fix is no mystery either: just power cycle and start the game again. Now, imagine if this were to happen to an arcade cabinet. Unless the owner happened to be nearby, the broken cabinet would only be losing money.
The Neo Geo - having inherited the requirements of coin-slot machines - provides an 'auto-repair' process by bundling a Watchdog program. This is found in the I/O arbiter chip .

Arcade cabinets can't afford to be continuously serviced. They're already busy trying to lure players.
The system works as follows: games are required to periodically notify the watchdog of their presence (by writing to a particular register). In the unfortunate event that the watchdog does not receive a ping after a certain period, it will assume the program has frozen and proceed to reset the system.
Thanks to this, MVS owners did not need to keep an eye on their cabinets. Meanwhile, those lucky kids who could afford an AES system did not even have to move from their luxury sofas whenever their games crashed.
If that weren't enough, MVS motherboards complement this system by fitting an extra microcontroller, the NEO-F0. This drives the coin lockout mechanism, preventing users from wasting coins on failed systems , among other things.
Memory available
Memory is scattered across the motherboard and the game cartridge (which, by the way, is massive in size). Remember this is an expensive system, so memory bandwidth and capacity were top priorities.
In the case of general-purpose memory, there are 64 KB of RAM available to the 68000. Meanwhile, the Z80 is provided with 2 KB.
MVS models additionally include another 64 KB. This is battery-backed and intended to store game scores, so it is not available for general purposes, however.
Curiously enough, this system does not feature any form of Direct Memory Access (DMA) to speed up memory transfers. I presume it is not a requirement, considering the number of dedicated buses.