
MAME emulated CPUs
1.0 Zilog |
1.1 Z80/Z80B |
1.2 Z180 |
1.3 Z8000 |
2.0 MOS-Tech |
2.1 M6502 |
2.11 M65C02 |
2.12 65sc02/65ce02 |
2.13 M4510 |
2.2 HuC6280 / Hudsonsoft Hu6280 (HuC6280/Hu6280a) |
2.3 Nintendo N2A03 |
3.0 Motorola |
3.1 M6800 |
3.2 M6802 |
3.3 M6808 |
3.4 M6809 |
3.5 M68000/68010/68020/68EC020 |
4.0 Intel |
4.1 8080/8085A |
4.2 I86 |
4.3 I186 |
4.4 I80286 |
4.5 Intel 8x41 |
5.0 Sygnetis S2650 |
6.0 CCPU |
7.0 NSC8105 |
8.0 DEC T11 |
9.0 Texas Instruments |
9.1 TMS9900/TMS9980A/TMS9981 |
9.2 TMS34010 |
10.0 NEC V20/V30/V33 |
10.1 NEC V60 |
11.0 KONAMI |
12.0 HD6309 |
13.0 ADSP2100 |
14.0 G65C816 |
15.0 CDP1802 |
16.0 MIPS CPU |
2) MAME emulated CPUs in the historical overview
1.0 Zilog |
1.1 Z80/Z80B |
29th July 2000 : Jürgen Buchmüller fixed the Z80 problems in Brute Force. |
9th May 2000 : Jürgen Buchmüller fixed some Z80 core bugs. |
4th February 2000 : Jürgen Buchmüller fixed a Z80 bug with banked memory. |
10th January 2000 : Jürgen Buchmüller sent in a new version of his Z80 core with yet more fixes to the timing. |
30th December 1999 : Aaron Giles fixed some compilation bugs and removed a minor Z80-related kludge from Tapper and Timber. |
24th December 1999 : Jürgen Buchmüller made the Z80 cycle counting even more exact, but it still isn't perfect. Together with his another fix to some other Z80 problems they seem to fix Tehkan World Cup from losing its sound. |
25th October 1999 : Mike Coates fixed some ASM 68k core bugs. |
0.36b7 : Jürgen Buchmüller makes some improvements to the Z80 emulator. |
5th October 1999 : Jürgen Buchmüller sent in another Z80 update with better emulation of the undocumented opcodes. |
3rd October 1999 : Jürgen Buchmüller sent in a new version of the Z80 core with more undocumented opcodes added. |
29th September 1999: Michael Soderstrom fixed a Z80 bug affecting the usage of BIG_FLAGS_ARRAY. |
9th May 1999 : Jürgen Buchmüller fixed a Z80 bug involving interrupt flipflops. |
14th April 1999 : Jürgen Buchmüller fixed a Z80 bug which affected Astrocade emulation (on the MESS side). |
13th April 1999 : Jürgen has modified the Z80 core to understand more than 64kB of memory. |
11th April 1999 : Nicola fixed Puzzle De Pon z80 error. |
1st April 1999 : Nicola fixed some bug with cycle skipping and Z80 |
8th March 1999 : Jürgen Buchmüller improved the Z80 core (regulus & starjack work again). |
2nd March 1999 : Brad Oliver fixed problems of the C Z80 core on Mac |
1st March 1999 : Jürgen Buchmüller has fixed a RETN opcode bug in the Z80 core. |
0.35b3 : [DOS] X86 asm Z80 core. [Jürgen Buchmüller] |
27th February 1999 : Jürgen has made the z80 code faster with memory accesses. |
12th February 1999 : Jürgen Buchmüller has made the ASM Z80 core even better. Speed improvements range from 25% (Galaga) to 45% (Tapper). It's still far from complete, and daisy-chaining doesn't work. |
6th February 1999 : Jürgen Buchmüller has made a preliminary x86 assembler Z80 core for MAME. Currently not many games work, but it shows an enhancement of about 20% in the speed. |
0.35b1 : New Z80 emulator. [Jürgen Buchmüller] |
0.34 : Jürgen Buchmüller fixed bug in the Z80 emulator which caused crashes in Tapper and Tron. |
0.34b2 : Frank Palazzolo fixed bug in the Z80 block I/O instructions (INI, IND, INIR, INDR, OUTI, OUTD, OTIR, and OTDR). |
0.33b1 : Jürgen Buchmüller added support for undocumented Z80 opcodes to the C Z80 core. |
0.31 : Tatsuyuki Satoh support for Z80 daisy chain interrupts. |
0.29 : Aligned to version 1.2 of Marcel de Kogel's Z80 emulator. New memory handling functions, about 10%-30% faster than before. Moved the memory code from cpuintrf.c to memory.c. Banked ROMs can now be handled in a cleaner and faster way. Use the new MRA_BANK1... types in the memory handler arrays, and cpu_setbank() to set the current bank. The Z80 and M6809 emulators natively support bank switching. |
0.27 : Source: Tatsuyuki Satoh added Z80PIO and Z80CTC emulator, in COMMON.C |
0.21 : Source: Nicola introduced changes to the Z80 emulator code that intercept some sorts of tight loop used during an interrupt waitstate. Normal games should not be affected, while Galaga and 1942 are now very fast!! |
0.16 : Source: Nicola finally took the time to change Z80.h/M6502.h to make them work together. This allowed me to remove some kludges in cpuintrf.c. I also added some new functions, which can be used regardless of the CPU type: cpu_getpc(), cpu_geticount(), cpu_seticount(). |
0.12 : Source: Multiple CPU support. All you have to do to setup multiple CPUs is add entries to the cpu[] array in the MachineDriver definition. Each CPU can have different type (currently Z80 and M6502 are supported), clock, address space, memory/IO port hook, interrupt handlers, number of interrupts per video frame. Sometimes interrupt requests happen while interrupts are disabled. Until now I just ignored them, but some games need them to be processed as soon as interrupts are reenabled. Rally X is an example of such a game. The Z80 engine has provision to do that, but it would make writing a driver more complex (need to find the interrupt acknowledge register) so I slightly modified the engine to automatically cache an interrupt request and execute it as soon as interrupts are enabled. |
0.04 : Use version 1.1 of Z80Em by Marcel de Kogel. Faster! (note that I had to make a couple of changes to Z80.c to make Crazy Climber work). |
Note: Other Z80 CPU'S: NEC D780C Chrystal (or NEC D70008AC-8) (Astro Invader, Mariner, Penguin-Kun Wars, Devastators) |
1.2 Z180 |
20th September 2000: Jürgen Buchmüller sent in some bugfixes to the Z180 core and for the memory interface. |
16th September 2000: Jürgen Buchmüller sent in a preliminary Z180 emulation core. |
1.3 Z8000 / Z8002 |
0.35b2: Z8000 emulator. [Jürgen Buchmüller] |
Games: Pole Position (Namco 1982), Pole Position II (Namco 1983) |
2.0 MOS-Tech |
2.1 M6502 |
16th December 1999: Jürgen Buchmüller fixed a 6502 interrupt bug. |
0.35b11: Major overhaul to the Atari games, and fixes to the 68000 and 6502 cores to get them going properly. [Aaron Giles] |
18th April 1999 : Aaron Giles modified the 6502 core to fix Indiana Jones, and changed the Atari System 1 drivers to decode certain graphics data from PROMs instead of hard-coded variables. |
0.34b2 : Jürgen Buchmüller replaced the 6502 emulator with a new one which also supports 65C02 and 6510. Marat Fayzullin's core is no longer used. |
0.33b3 : Changed the 6502 emulation to disable interrupts on a reset. Not sure if this is the correct behaviour, but Centipede needed it for the service mode to work. [This was actually a change in BETA 1 which I forgot to mention] |
0.33b2 : Source: Christophe Verre fixed a bug in 6502/dasm.c (this only applies if you compile it to get a standalone disassembler - it is not part of MAME) |
0.30 : Aaron Giles supports 6502 bank switching via cpu_setbank(). |
0.27 : Source: New macro ROM_RELOAD(), meaning to reload the previous ROM at a different address (useful with 6502 games which need reset/irq vectors at FFFx). |
0.16 : Source: Nicola finally took the time to change Z80.h/M6502.h to make them work together. This allowed me to remove some kludges in cpuintrf.c. I also added some new functions, which can be used regardless of the CPU type: cpu_getpc(), cpu_geticount(), cpu_seticount(). Fixed a couple of bugs in M6502 BCD arithmetic. One of them was causing the pepper counter in Burger Time to behave strangely. |
0.14 : Fixed bug which sometimes caused 6502 games not to run (actually they did run, but interrupts didn't happen). |
0.13 : Use latest version of Marat's 6502 engine. |
0.12 : Source: Multiple CPU support. All you have to do to setup multiple CPUs is add entries to the cpu[] array in the MachineDriver definition. Each CPU can have different type (currently Z80 and M6502 are supported), clock, address space, memory/IO port hook, interrupt handlers, number of interrupts per video frame. Nicola had already done a similar change to the 6502 engine, it was needed by Burger Time which wouldn't accept coins otherwise. Burger Time is the first multiple CPU game supported by MAME (two 6502, one for code, one for sound). |
0.10 : Support for 6502 CPU. From a driver writer point of view, it is used just like the Z80, the only difference being that you have to specify CPU_M6502 instead of CPU_Z80 in the MachineDriver definition. Multiple CPUs are still NOT supported. Centipede is the first and Nibbler is the second 6502 game supported by MAME. Nicola currently using Marat Fayzullin's engine. |
Games: Astro Fighter (Data East 1980), Mouse Trap (Exidy 1981), Burger Time (Data East 1982), |
2.11 M65C02 |
4th May 2000 : Jürgen Buchmüller fixed again a bug in the 65c02 opcodes. |
30th April 2000 : Zsolt Vasvari fixed a 65c02 instruction handling bug. |
13th April 2000 : Keith Wilkins fixed PLX/PLY handling in the 65c02 emulation. |
0.34b2 : Jürgen Buchmüller replaced the 6502 emulator with a new one which also supports 65C02 and 6510. Marat Fayzullin's core is no longer used. |
Note: The M65C02 uses no illegal opcodes from the M65XX series, so not full compatible to 6502 series. Also has some additional commands. |
Games: Seta - Thundercade (1987), Twin Eagle (1988), Caliber 50 (1989), Meta Fox (1989) |
2.12 65sc02/65ce02 |
0.36RC1: 65sc02 and 65ce02 cpu cores. [Peter Trauner] |
2.13 M4510 |
10th May 2000: Peter Trauner added a m4510 (m6502 variant) CPU core. |
2.2 HuC6280 / Hudsonsoft Hu6280 (HuC6280/Hu6280a) |
3rd September 2000: Bryan McPhail fixed an internal timer bug in the Hu6280 core. |
0.37b2 : Bryan McPhail fixed Hu6280 emulation bugs which caused missing levels in Trio the Punch. |
4th April 2000 : Karl Stenerud fixed a 6280 disassembler bug . |
25th December 1999 : Bryan McPhail sent in a big update to Data East games with fully correct sound frequencies and with a few Hu6280 fixes. |
14th June 1999 : Bryan McPhail fixed Hu6280 communications in Caveman Ninja sound system. |
23rd April 1999 : Bryan McPhail updated the Hu6280 core and the Hippodrome & Fighting Fantasy drivers. Those two games now work fully. |
0.35b5 : H6280 emulator, used by several DECO games. [Bryan McPhail] |
1st March 1999 : Bryan McPhail has sent in his dec0 driver, with Boulder Dash support added and Sly Spy and Midnight Resistance now have full sound and music. All this was possible to do because he also added support for the Hu6280 CPU into MAME. |
Note: This source code is based on the 6502 emulator by Juergen Buchmueller. The code is around 99% complete! Several things are unimplemented (like csh, csl opcodes are not supported and set opcode and T flag behaviour). |
Games: Data East - Robocop (1988), Midnight Resistance (1989), Sly Spy (1989), Boulder Dash (1990) |
2.3 Nintendo N2A03 |
9th September 1999: Jürgen Buchmüller added the Nintendo 2A03 CPU to the 6502 core. |
Games: All Nintendo PlayChoice-10 games |
3.0 Motorola |
3.1 M6800 |
0.36RC1: Tatsuyuki Satoh fixes and improvements to the 6800 family emulator. |
10th March 2000 : Tatsuyuki Satoh fixed m6800 port write functions, Namco System 1 DAC gain and also a sound stream bug. |
0.36b8 : Tatsuyuki Satoh finally fixed the CMPX instruction in the 680x core. On the 6800 it does not affect the C flag, on the others (6803, 63701) it does. |
15th October 1999 : Tatsuyuki Satoh sent in a Namco System 1 update with a correct romset for Blazer, DAC sound fixes and some other fixes to m6800. |
0.36b6 : Jess Askey fixed bug in the 6800 CMPX instructions. |
7th April 1999 : Nicola Salmoria has updated Pac Land and Rolling Thunder drivers to work on the new 6800 (not 68000 ;-) core, but music speed is still sometimes screwed. |
19th March 1999 : Jürgen has fixed some bugs in the 6800 core. |
8th February 2000: Tatsuyuki Satoh did a few bugfixes and optimized the m6800 core. |
0.35b2 : Brad Oliver added Sky Diver (Atari 1978 - uses the M6800 CPU) |
Games: Only Sky Diver (Atari 1978) |
3.2 M6802 |
Games: Qix (Taito 1981), The Electric Yo-Yo (Taito 1982), Discs of Tron (Bally Midway 1983), Jack Rabbit (Zaccaria 1984) |
3.3 M6808 |
0.35b3: Brad Oliver made a couple of bug fixes in the 6808 core. |
0.33b7: Source: [DOS] Included Neil Bradley's asm M6808 emulator. Note: you need NASM to compile (the makefile defaults to NASMW, the Win32 version). [Alex Pasadyn] |
0.31: New 6808 emulator [John Butler]. Ernesto Corvi added support for HD63701YO extra opcodes to the M6808 emulation. Larry Bank fixed bug in the 6808 emulation of TSX and TXS. |
3.4 M6809 |
16th August 2000 : Jürgen Buchmüller fixed a bug in 6809 cycle counting. |
15th June 2000 : A small bug in the M6809 core was squished, fixing some CoCo 3 program bug on the MESS side. |
0.36b8 : Jürgen Buchmüller cleaned up the 6809 and Konami-2 emulations. |
25th October 1999 : Jürgen fixed some m6809 bugs and made new ones. |
23rd September 1999: John Butler fixed an ASR bug in m6809. |
21st September 1999: Michael Soderstrom fixed an ASR bug in m6809. |
5th September 1999: Aaron Giles fixed a small 6809 cycle timing bug. |
9th March 1999 : Jürgen Buchmüller has updated the 6809 core again. |
2nd March 1999 : Jürgen Buchmüller has fixed Rolling Thunder MCU problems by simplifying the 6809 interrupt handling and corrected CWAI emulation. |
26th February 1999 : Jürgen has also fixed some timer system problems and worked on 6809 code. |
0.33b6 : Mathis Rosenhauer improved cycle counting in the 6809 emulator. |
0.33b3 : Keith Wilkins fixed bug in the 6809 disassembler. |
0.29 : M6809 emulators natively support bank switching. Aaron Giles and Tatsuyuki Satoh did some optimizations to the 6809, and modified it to always fetch opcodes directly from RAM (much faster). The Ghosts 'n Goblins, Star Wars and Williams drivers needed reworking to support that. |
0.28 : John Butler provided a new 6809 emulator. It is faster than the previous one, and fixes some bugs including the ship moving in the wrong direction on the tower level of Star Wars and the bonus maze in Pac & Pal. |
0.23 : Modifications were done to M6809 emulator to support FIRQ. |
0.21 : Added M6809 CPU support. Changes in CPUIntrf.c and Driver.h to accommodate the new CPU. The first driver working on this CPU is Super Pac Man. The driver is based on the super-detailed KEG file of Replay emulator by Kevin Brisley. |
Games: Namco - Super Pac-Man (1982 - 2x), Mappy (1983 - 2x), Motos(1985 - 2x), Pac-Mania (1987 - 3x) |
3.5 M68000/68010/68020/68EC020 |
17th October 2000 : Aaron Giles updated the C 68k core to support 32-bit bus width in 68020 emulation. |
0.37b8: The x86 asm 68000 core now has limited 68020 support and runs the Psikyo games, so is reenabled by default. [Darren Olafson] |
30th September 2000: Darren Olafson sent in an updated ASM 68k core with support for the two Psikyo 68020 games, and fixed a bug that prevented sf2accp2 from working. |
4th September 2000: Nicola Salmoria fixed a bug in the C 68k core which affected Zwackery. |
22nd August 2000 : Nicola Salmoria fixed a 68k bug affecting Bombjack Twin. |
2nd August 2000 : Andrea Mazzoleni fixed a compilation bug in the C 68k core. |
30th July 2000 : Brad Oliver fixed a few 68k core bugs. |
21st June 2000 : Karl Stenerud and Mike Coates fixed some problems in the 68k cores. |
4th April 2000 : Karl Stenerud fixed the longstanding bug in C 68k core which caused Hippodrome to crash. |
26th March 2000 : Karl Stenerud updated the 68020 core a bit. |
23rd March 2000 : Mike Coates fixed an ASM 68k core bug which affected Super Sidekicks 4. |
3rd March 2000 : Karl Stenerud has added some more 68020 functionality to the C 68k core. |
9th February 2000 : Mike Coates fixed some ASM 68k core bugs. |
8th February 2000 : Luca Elia fixed a 68020 bug. |
7th February 2000 : Aaron Giles fixed another 68k core bug. |
6th February 2000 : Aaron Giles improved the 68020 support a lot, and added distinction for 68EC020. |
18th October 1999 : Mike Coates fixed some bugs in the ASM 68k core. |
0.36b4 : Darren Olafson fixed a 68000 "bug" (actually an undocumented feature of the cpu) that caused the timer to roll over from 00 to 99 in KOF98. |
26th August 1999 : Karl Stenerud fixed sbcd and abcd opcodes in the C 68k core. |
22nd August 1999 : Darren Olafson fixed an ASM 68k core bug which made kof98 timer incorrect. |
0.36b3 : Karl Stenerud updated the 68000 C core. |
17th August 1999 : Aaron Giles fixed an embarrassing 68010/68020 mode selection bug. |
8th August 1999 : Mike Coates fixed PC fetch and stack in ASM 68k core. |
19th July 1999 : Karl Stenerud updated the C 68k core, adding some 68020 opcodes and fixing bugs. |
20th June 1999 : Mike Coates fixed ASM 68k core timings in debug mode. |
28th May 1999 : Mike Coates fixed some interrupt bugs of the asm 68k core, and now Spinmaster, Sengoku 2 and Riding Hero work on it. |
26th May 1999 : Mike Coates added support for previous PC to the asm 68k core. |
0.35b13: Mike Coates fixed a couple of bugs in the 68000 emulation (both asm and C). They affected Power Spikes 2 and F1 Dream. |
12th May 1999 : Mike Coates finally fixed the Power Spikes 2 and F1 Dream bugs in both asm and C 68k cores. |
0.35b12: Mike Coates fixed F1 Dream protection workaround (note that the game still doesn't work correctly with the 68000 C core). |
0.35b11: Major overhaul to the Atari games, and fixes to the 68000 and 6502 cores to get them going properly. [Aaron Giles] |
21st April 1999 : Mike Coates fixed 68k assembler stuff so that it compiles. |
11th April 1999 : Aaron Giles has updated the 68k core for better interrupt emulation and other stuff. |
10th April 1999 : Aaron Giles fixed the C 68k core to compile on Macs. |
9th April 1999 : Nicola modified the m68k core to start faster, and the slowdown in the beginning of m68k games should be gone. He also fixed the crash if control-c was pressed during the rom load. |
0.35b10: Please report any problem you find with the C 68000 core. There are no known bugs as of now (apart from ball movement in Power Spikes 2), if no new bugs are found we'll switch back to test the asm core. |
5th April 1999 : Jürgen changed the DOS makefile to build the m68k core automatically, which should help ironing out the last bugs. He also fixed an opcode order problem. |
4th April 1999 : Jürgen fixed the slow initialization of m68k (it caused small sound hiccups at the beginning of every m68k game) |
28th March 1999 : Mike Coates implemented the STOP operation correctly in the ASM 68k core, which should help getting Indy working. |
26th March 1999 : Nicola fixed 64th Street to work with the C 68k core |
0.35b8 : Most of the problems of beta 7 have been fixed, but the C 68000 core still isn't 100%. |
23rd March 1999 : Darren Olafson has updated the asm 68k core for better cycle timing. |
1st March 1999 : Tatsuyuki Satoh has sped up the C 68k core. Mike Coates has fixed several bugs with the ASM 68k core (Shock Troopers should work now). |
21st February 1999 : Karl Stenerud has sent in a newer C m68k core. |
0.35b2 : New 68000 C core [Karl Stenerud]. For testing purposes, this is also being used in the DOS version instead of the asm core. Differences: 1. Faster. This code is, barring ram fetch time, almost twice as fast as the existing C core in MAME. I've done extensive speed profiling on both engines. The only problem now is the slow memory access in MAME due to bankswitching et al. 2. Emulation more correct. I found many bugs in the MAME engine (and many, many more in mine for that matter) when I pitted them head-to-head. I have run random instructions from each opcode class at least 10 million times, comparing the resultant CPU states, and have left it running random instructions for 1 billion iterations. In every case, I have adhered to the specs defined in M68000PM/AD REV.1. 3. Disassembler is correct. The current M68000 disassembler in mame has a tendency to disassemble instructions that have an invalid EA mode. 4. Cycle counting is 99.9% correct. The only instructions which don't have correct cycle counts are divs, divu, muls, mulu, and they're not worth counting correctly. (I'm not about to waste emulation time counting 0-1 and 1-0 sequences). 5. > 32 bit friendly. I've taken care to ensure maximum portability without sacrificing speed. The result is conditional compiling dependant on your architecture. I've also implemented and tested a compatible solution for architectures that lack 8, 16, or 32 bit signed storage types. 6. The code is carefully laid out to be readable. (I beg to differ - NS) |
0.35b1 : The 68000 based games no longer have to read and mix two 8 bit ports to get a 16 bit value. [Brad Oliver] |
0.34 : Bryan McPhail made several improvements and bug fixes to the Data East 68000 games (Midnight Resistance, Bad Dudes, Robocop, etc.). |
0.34b6 : The x86 asm 68000 core: several bugs have been fixed (most notably, it now runs under pure DOS) but it is still not complete. For example, the two Metal Slugs hang shortly after game start. They will work if you recompile using the C core. |
0.34b6 : Several games have experimental 68000 idle cycle skipping, for these games you should see increases of between 5% and 20%. Games currently using this method are: Puzzle De Pon, Karnov's Revenge, Wind Jammers, Street Hoops and Neo Bomberman. |
0.34b5 : x86 ASM 68000 core written by Mike Coates and Darren Olafson. This is a major speed improvement. |
0.34b4 : Brad Oliver fixed bug in the 68000 interrupt handling which causes Rastan Saga to not boot correctly. |
0.34b3 : Mike Coates fixed SBCD in M68000 disassembler. |
0.34b2 : Nicola Salmoria fixed a bug in the 68000 BCD emulation which caused the F1 Dream timer to malfunction. |
0.34b1 : Mike Coates fixed a bug in the NOT instruction of the 68000 core. |
0.33b7 : Darren Olafson slightly improved speed of the 68000 emulator. Brian Verre did close to accurate 68000 instruction timing. |
0.33b4 : The 68000 memory handlers can again be word-aligned instead of longword-aligned. [Aaron Giles] |
0.33b1 : Jürgen Buchmüller improved speed of the C 68000 core. |
0.31 : Aaron Giles fixed 68000 emulator to properly handle interrupt priorities. |
0.31 : Source: [Aaron Giles] Memory for the 68000 is allocated automatically. You no longer have to do it yourself. The memory interface reads/writes 16 bits at a time to improve performance. Writing a single byte is a bit tricky, because the 68000 can cause write to either the high or the low byte without affecting the other; thus the second parameter for a 16-bit write is a bit more complicated. The top 16 bits are a mask which is supposed to be ANDed with the 16-bit value already in memory; the bottom 16 bits are the actual data values, to be ORed with the result. To aid in doing these operations, use the macros READ_WORD(), WRITE_WORD(), COMBINE_WORD() and COMBINE_WORD_MEM(). |
0.30 : Aaron Giles made some changes to the 68000 emulator memory interface, and a new 68000 disassembler. Improved the 68000 cpu interface. |
0.28 : Jarek Burczynski adapted the M68000 emulator from the System 16 Arcade Emulator by Thierry Lescot. The only known problem of this emulator is that it doesn't count CPU cycles, only instructions. The first driver to use the 68000 is Rastan, also provided by Jarek. |
4.0 Intel |
4.1 8080/8085A |
17th June 2000: Jürgen Buchmüller fixed the cycle counts in 8080/8085A CPU cores. |
0.33b4 : I8085 emulator. [Jürgen Buchmüller] |
Games: Phoenix (8080, Amstar 1980), Meteoroids (8085A, Venture Line 1981), Red Alert (Audio Flags 8085A, Irem 1981) |
4.2 I86 |
0.37b3 : Lots of changes to some CPU cores (mostly i86). [Peter Trauner, Jürgen Buchmüller, Aaron Giles] |
13th May 2000 : Aaron Giles sent in another i86 core / Gottlieb drivers update fixing some bugs. |
11th May 2000 : Aaron Giles sent in some major functionality updates to the 8086, 80186 and 80286 cores. |
2nd June 1999: Nicola sent in a preliminary Shanghai driver, but it stumbles on a bug of the i86 core. |
0.35b1 : Jürgen Buchmüller fixed several bugs in the I86 emulator. |
0.34b5 : I86 disassembler for the debugger, based on code by Robin Hilliard. [Andrea Mazzoleni] |
0.33b6 : Fixed bug in the I8086 emulator which caused MACH3 not to work. MACH3 now does the attract mode, but it will never be playable without the laser disc. |
0.31 : Fabrice Frances fixed a bug in the 8086 emulator which caused unexpected deaths in Krull. Fabrice Frances cleaned up the I86 emulator, including 286 instructions (but with 8088 timing). |
0.24 : Fabrice Frances submitted a new faster I86 emulator. The entire I86 directory is changed, and most of Gottlieb games are now faster. |
0.18 : Fabrice Frances submitted a much faster version of the 8086 emulation. |
0.17 : Fabrice Frances submitted an 8086 CPU emulator. Initial work based on David Hedley's pcemu. |
4.3 I186 |
0.37b3 : Lots of changes to some CPU cores (mostly i86). I186 support. [Peter Trauner, Jürgen Buchmüller, Aaron Giles] |
11th May 2000: Aaron Giles sent in some major functionality updates to the 8086, 80186 and 80286 cores. |
4.4 I286 |
11th May 2000: Aaron Giles sent in some major functionality updates to the 8086, 80186 and 80286 cores. |
0.31 : Fabrice Frances cleaned up the I86 emulator, including 286 instructions (but with 8088 timing). |
Note: The I286 is not supported yet. MAME uses the I86 emulator. |
4.5 Intel 8x41 |
9th October 1999: Jürgen Buchmüller sent in an Intel 8x41 core. |
5.0 Sygnetis |
5.1 S2650 |
31st May 2000 : Mike Coates fixed the Zaccaria 2650 games to work with MAME 0.37b3. |
5th May 2000 : Mike Coates fixed some S2650 core bugs. |
19th August 1999: Mike Coates fixed a bug in S2650 which made Hunchback miscalculate things, and sent in a driver for Hunchback running on Donkey Kong hardware. |
0.33b6 : Sygnetis 2650 emulator [Jürgen Buchmüller] |
Games: Lazer Command (Meadows Games 1976), Meadows Lanes (Meadows Games 1977), The Invaders and Super Invader Attack (Zaccaria/Zelco 197?), Dead Eye (Meadows 1978), Gypsy Juggler (Meadows 1978), Hunchback (Century 1983), Herbie at the Olympics (CVS 1984) |
6.0 CCPU |
6th September 2000: Brad Oliver fixed a small bug in the CCPU core. |
Note: CCPU (Cinematronics CPU) emulator from Retrocade - Video game emulator. |
Games: Space Wars (Cinematronics 1978), Barrier (Vectorbeam 1979), Armor Attack (Cinematronics 1980), Star Castle (Cinematronics 1980), Demon (Rock-ola 1982) |
7.0 NSC8105 |
30th November 1999: Zsolt Vasvari sent in a NSC8105 core and modified Seicross driver to use it. |
Games: Nichibutsu - Frisky Tom (1981), Radical Radial (1982), Seicross (1984) |
8.0 DEC T11 |
0.36b2: Aaron Giles fixed a bug in the T-11 emulation which caused APB not to work and the end of race results in Super Sprint to contain garbage. |
3rd August 1999: Aaron Giles fixed a bug in T11 opcodes and APB started working, but it has some sprite priority problems. |
16th June 1999 : Aaron Giles did a small T-11 cpu core fix, but it doesn't help any of the games. |
0.33b4 : T11 CPU emulator. This is used by the Atari System 2 drivers. [Aaron Giles] |
Games : Atari Games - Paperboy (1984), 720 Degrees (1986), Championship (1986), Sprint Super Sprint (1986), APB (1987) |
9.0 Texas Instruments |
9.1 TMS9900/TMS9980A/TMS9981 |
0.36b13: Raphael Nabet added other members of the TMS99xx family. |
0.36b11: Raphael Nabet made some changes to the TMS9900 emulation that completely screw up Cosmic Guerilla. |
0.36b9 : Raphael Nabet updated the TMS9900 emulator. |
28th September 1999: Raphael Nabet sent in another TMS9900 update. |
1st September 1999: Raphael Nabet sent in an update to the TMS9900 core. |
10th May 1999 : Jürgen fixed a TMS9900 debugger bug. |
0.34b6 : TMS9900 emulator. [Andy Jones, based on original code by Ton Brouwer] |
Games: Only Cosmic Guerilla (Universal 1979) |
9.2 TMS34010 |
25th September 2000: Aaron Giles fixed some internal TMS34010 bugs. |
8th September 2000: Aaron Giles sent in a new TMS34010 core with a few bugfixes, and finally officially sent the Hard Drivin' / S.T.U.N. Runner driver. |
17th August 2000 : Aaron Giles sent in updated ADSP2100 and TMS34010 cores, fixing some bugs which affected the Atari polygon games. |
0.37b5: Complete rewrite of the 34010 drivers. [Aaron Giles] |
20th July 2000 : Aaron Giles fixed some TMS34010 core bugs which might have caused problems with Terminator 2, and he fixed the clipping in DCS emulation. |
28th January 2000 : Zsolt Vasvari fixed speeds in some TMS34010 games and highscores now display in Trog. |
5th December 1999 : Aaron Giles fixed a fast stack code problem in the TMS34010 core. |
0.36b9.1: Aaron Giles fixed a few bugs in the TMS34010 games. |
0.36b9: Aaron Giles make several changes and improvements to the TMS34010 emulation and to the Williams games using CVSD sound. |
14th November 1999 : Aaron Giles fixed some TMS34010 graphics bugs. |
13th November 1999 : Aaron Giles sent in a TMS34010 update with accurate timing, more functionality and he also sent in a Smash TV sound hardware speedup. |
0.36b7: Aaron Giles make improvements to the 34010 emulation. |
16th October 1999 : Aaron Giles sent in a TMS34010 update with a few structural changes and bugfixes. |
21st September 1999: Zsolt Vasvari did another TMS34010 update, and Hi Impact is now 1-2 fps faster. |
20th September 1999: Zsolt Vasvari sent in a minor TMS34010 core update, and he also hooked up the Terminator 2 gun properly. |
19th February 1999 : Zsolt Vasvari has optimized the TMS34010 core, resulting in a 5% improvement in speed. |
0.34b2: TMS34010 emulator. [Alex Pasadyn, Zsolt Vasvari] |
Games: Narc (Williams 1988), Smash T.V. (Williams 1990), Mortal Kombat (Midway 1992) |
10.0 NEC V20/V30/V33 |
0.37b8 : Rewritten the Nec CPU core, with correct timing and support for encryption. [Bryan McPhail] |
11th September 2000: Bryan McPhail sent in a huge Irem games update with a rewritten NEC core, fixing many bugs. R-Type Leo title screen was fixed as well as preliminary Irem GA20 custom sample player support was added. |
29th April 2000 : Bryan McPhail added the USA romset of In The Hunt to the M92 driver, and he fixed the slowdowns in V33 games. |
0.36b9 : Fixed a few bugs in the NEC CPU core that caused problems in Hook, Gunforce, Lethal Thunder and maybe others. [Bryan McPhail, Nao] |
10th November 1999 : With help from Nao, Bryan McPhail fixed NEC core problems and now Hook and Dream Soccer 94 are fully playable. |
0.36b6 : New NEC CPU cores. [Oliver Bergmann] |
24th September 1999: Oliver Bergmann sent in a NEC V20, V30, V33 cpu core. |
Note: The Nec CPU core based code on the i286 emulator by Fabrice Frances which had initial work based on David Hedley's pcemu(!). |
Games: R-Type (V30, Irem 1987), Shanghai (V30, Sunsoft 1988), Hook (V33, Irem 1992), R-Type Leo (V33, Irem 1992) |
10.1 NEC V60 / uPD-70616 |
11.0 KONAMI |
23rd October 1999: Jürgen Buchmüller did some Konami CPU fixes. |
0.36b4 : Ernesto Corvi fixed a Konami CPU bug which caused problems with Parodius. |
24th August 1999 : Ernesto Corvi fixed a Konami CPU bug which affected Parodius' dancer level. |
12th August 1999 : Ernesto Corvi added more addressing modes to the Konami CPU. |
11th August 1999 : Nicola sent in a driver for Parodius, and added two new opcodes to the Konami CPU (needed for Parodius). |
0.36b2: Konami 052001/053248 CPU emulation, used by many games. [Ernesto Corvi, Manuel Abadia] |
Games: Konami - Ajax (1987), Thunder Cross (1988), Gang Busters (1988) |
12.0 HD6309 / HD63B09EP / 63C09 |
0.37b6 : Tim Lindner did true HD6309 emulation (instead of using the M6809). [Tim Lindner]. |
2nd September 2000: Nicola Salmoria fixed a 6309 bug which affected Fast Lane and Double Dragon. |
18th August 2000 : Tim Lindner submitted a HD6309 CPU core to replace the current hack of 6809 core. |
Note: The code was hacked out of the fully-featured 6809 disassembler by Sean Riddle and then mutliated into a 6309 disassembler by Tim Lindner. |
Games: Double Dragon (Technos 1987), Psycho-Nics Oscar (2x, Data East 1988), Combat School (Konami 1988) |
13.0 ADSP2100 |
17th August 2000 : Aaron Giles sent in updated ADSP2100 and TMS34010 cores, fixing some bugs which affected the Atari polygon games. |
28th July 2000 : Michael Soderstrom fixed an ADSP-2100 core crash. |
22nd July 2000 : Jürgen Buchmüller optimized the ADSP2100 core a bit, but with no visible speed gain. |
9th July 2000 : Ernesto Corvi fixed a debugger bug affecting ADSP2100. |
6th December 1999: Aaron Giles sent in a preliminary ADSP-2100 core. |
Note: ADSP2100 is a Analog Device single processor. |
Games: Only S.T.U.N. Runner (Atari Games 1989) |
14.0 G65C816 |
28th May 2000: Karl Stenerud updated the G65C816 CPU core. |
22nd May 2000: Lee Hammerton fixed yet some more G65C816 core bugs. |
20th May 2000: Lee Hammerton fixed a G65C816 core disassembly bug. |
18th May 2000: Karl Stenerud sent in a preliminary G65C816 CPU core. |
15.0 CDP1802 |
23rd August 2000: Peter Trauner added a Cosmac CDP1802 CPU core. |
16.0 MIPS CPU |
0.37b3: Preliminary MIPS CPU emulation. [smf] |
Note: The only type of processor currently emulated is the one from the PSX. This is a custom r3000a by LSI Logic with a geometry transform engine, no mmu & disabled data cache. |