One of the things my wife always tells me is that I'm too modest, so here's my attempt to show off. I've contributed a lot of time to MAME over the past 10+ years! Fortunately, I feel it has been time well-spent.
Summary (so far)
- Drivers Submitted: 356!
- CPU Cores: 10
- Analog Devices ADSP-2100
- AT&T/Lucent DSP32C
- Atari ASAP
- Atari Jaguar GPU/DSP
- Cinematronics CCPU
- DEC T-11
- Motorola 68(7)05
- MIPS R3000
- MIPS III/IV (R4000/R5000)
- TI TMS32031
- Sound Cores: 8
- BSMT2000
- CEM3394
- DMA-driven DAC
- Ensoniq ES5505/5506 (OTTO)
- HC55516 CVSD
- OKI6925 ADPCM
- RF5C68
- Yamaha YMZ280B
2007
December 2007:- Made some initial progress on the Zeus 2 games
- Got the first generation Midway Zeus games up and running
- Optimized the Hyperstone CPU core
- More Midway Zeus work
- Cleaned up the timer interfaces and normalized on attotime
- Began digging into the Midway Zeus system
- Converted other 3D systems to use new rasterization helpers
- Optimized the 3dfx emulation to take advantage of multiple cores
- Introduced mechanism for offloading 3D rasterization onto secondary threads
- Added x64 DRC for the MIPS III/IV
- Added smarter frameskipping for cases where games don't update every frame
- Added generic palette management in the core library
- Added alternate colortable management system
- Updated i386 disassembler for 64-bit support
- Added new code emitters for unified x86/x64 DRC code generation
- Changed V30 and i86 to use a 16-bit data bus and updated all affected drivers
- Added control for overall emulation speed
- Reworked the tilemap code to be both simpler and more flexible
- Added astring to the core library for managing strings
- Wrote source code to HTML conversion program
- Moved INI file handling into the core
- Reworked input system to push most of the hard work into the core
- Added minimal built-in game selection user interface
- Began looking into input system simplification
- Various internal changes/cleanups
- Fixed Inferno sound at long last
- Rewrote the Bally Astrocade driver from patent information and fixed Gorf
- Added more accurate video timings to several drivers
- Moved command-line frontend utilities into the core system
- Significantly simplified the TMS34010 and made it generate video timing
- Updated a number of drivers with proper video timing
- Added better video timing primitives to the core
- Moved support for a number of options into the core system
- Added first multicore rendering support to the Gaelco 3D driver
- Added accurate video timing and full memory maps to the Food Fight driver
- Moved throttling, frameskipping, and timing code into the core system
- Introduced the new proportional built-in font
- Created tools and scripts for regression testing
- Fixed BSMT2000 emulation to support the mysterious ADPCM format
- Changed sound engine to be OSD independent and many sound cores to generate at native rates
- Identified algorithm used to generate FD1094 keys
- Added laserdisc support to the CHD code
- Released the 10th anniversary build!
- Cleaned up and abstracted the core bitmap objects
- Added support for automatic crosshair rendering
- Added emulated sound generation to the Berzerk driver
- Added UTF-8 support to the internal rendering system
- Added laserdisc support to the rendering system
- Created osdcore library
2006
December 2006:- Improved Amiga hardware emulation to support American Laser Games
- Added support for the Sony LDP-1450 laserdisc player
- Added enhanced texture modes to support eventual laserdisc video
- Changed naming convention for screenshots
- Added Fishing Frenzy and Freeze to the Atari cojag driver
- Cleaned up the CHD code and added some extra flexibility
- Reorganized cdrom code to move audio code into the sound module
- Rewrote the Dragon's Lair driver from the schematics
- Added laserdisc module which contains code to simulate laserdisc players
- Improved functionality of the options manager
- Abstracted printf interfaces so they can be re-routed by the OSD layer
- Fixed the Looping driver protection issues and speed
- Converted all disassemblers to the new callback format and added step in/out support
- Removed support for the old debugger
- Moved a few interfaces in the core to be more object oriented
- Cleaned up and reorganized the palette code
- Rewrote Grand Champion driver from the schematics
- Rewrote the PNG, ZIP, and auditing code to be much more straightforward
- Redesigned the file I/O interfaces to be simpler
- Connected Sega Universal Sound Board to Razmataz and Ixion
- Rewrote the Sega G-80 raster game driver from the schematics
- Added accurate scanline timing routines that work with multiple screens
- Introduced new output system, and added Windows OSD code to expose output changes to external clients
- Rewrote the Turbo driver from the schematics
- Added native 7-segment LED and text support to the layouts
- Added generic raster effects support
- Added per-game-screen brightness/contrast/gamma/position/stretch support
- Rewrote the Crystal Castles driver from the schematics
- Rewrote the Cloud 9 driver based on analyzing a Firebeast prototype PCB
- Rewrote the Missile Command driver from the schematics
- Removed old renderer and artwork system
- Rewrote the user interface to rely on the new renderer
- Rewrote the Zaxxon driver from the schematics
- Fixed many bugs introduced by the new rendering system
- Added preliminary multi-threading support for the renderer
- Updated a number of drivers to take advantage of multi-screen support
- Rewrote the palette/graphics/tilemap viewer to use the new renderer
- Added support for "compiling" built-in layouts
- Added fast-forward function
- Added progress displays during initialization
- Converted a number of drivers from the old artwork system to use new layouts
- Added support for building with Microsoft tools under Windows
- Officially added support for 64-bit targets
- Introduced the new rendering system
- Added true support for multiple monitors in drivers as well as in the Windows OSD code
- Rewrote the options parsing system
- Stopped using UPX to compress official binaries
- Removed empty regions from most drivers
- Rewrote much of the Amiga driver to support sound and additional video modes
- Finally managed to get a good dump of Speed Up, and added it to the Gaelco 3D driver
- Wrote jedutil tool, and added PLDs to a number of games as required files
- Made save state registrations visible in the debugger
- Rewrote memory card support to be more generic
- Rewrote Sega G-80 vector game driver from the schematics
- Emulated the Sega Universal Sound board
- Added custom input callbacks and DIP switch location information to input ports
- Cleaned up Z80 CTC/SIO/PIO peripherals code
- Reorganized several pieces of the core into more logical divisions
- Reorganized the initialization and exit sequences
- Added pause/reset/exit callbacks, and normalized driver callbacks
- Added live error logging view to the debugger
- Normalized save state code and added save state support to a number of modules
- Added Fred Flintstone's Memory Match to the Double Cheese driver
- Fixed a number of issues in the new debugger
- Added preliminary Voodoo 3 and Voodoo Banshee support to the 3dfx emulator
- Added support for dynamic output frequencies to the sound streaming engine
- Added Crowns Golf in Hawaii to the crgolf driver
- Cleaned up and reorganized all the makefiles
2005
December 2005:- implemented support for ADSP-2181 and hooked up sound in Road Burners
- fixed many problems caused by the Voodoo rewrite
- rewrote the Voodoo emulation to be more accurate and flexible
- rewrote validity checks to complete much faster
- cleaned up the way encryption is handled; removed RAMROM hack from memory system
- added MMU support to the MIPS3 cores
- added logical memory mapping support to the debugger
- changed memory system to no longer use regions for RAM
- added flag for games that suppot saves, and added -autosave option
- added save state support to several drivers
- added Twin Squash to the Sega System C driver
- fixed a number of problems due to save state changes
- continued to add save state support to core systems
- added save state support for timers and several sound systems
- made the save state system easier to write for
- cleaned up and normalized struct naming in the core files
- changed the way UI text is rendered in anticipation of future rendering changes
- added Lotto Fun 2 to the Double Cheese driver
- redesigned the way configuration data is handled to be more flexible
- reverse engineered the blitter in Double Cheese
- rewrote Z80 daisy chaining code
- changed a number of Irem games over to using force_partial_update
- rewrote/reorganized the MCR system code to be more accurate
- updated memory maps for the MCR sound boards
- continued rewriting the System 32 driver
- fixed several major problems in the V60 core
- wrote an NEC V60 assembler to assist in System 32 testing
- started cleaning up the Sega System 32 driver
- rolled out the new license and mamedev.com
- rewrote the RF5C68 sound emulator from the specs
- faked the coprocessor to get AmeriDarts playable
- fixed the TMS34010 enough to get Cool Pool and 9 Ball Shootout working
- added X the Ball
- significantly cleaned up the Exterminator driver
- finally removed CPU_16BIT_PORT and CPU_AUDIO_CPU flags
- took over for Haze doing official updates and builds
- improved blitter timing in the Williams games
- added accurate blitter timing to the 8-bit Incredible Technologies games
- added Up Your Alley to the Cinematronics driver
- fixed a number of problems introduced by the sound rewrite
- fixed bugs in the Sega X-board driver
- added a Sega Y-boad driver
- added the 32-bit Golden Tee Golf games to the Incredible Tech driver
- rewrote the sound system to be more flexible and higher quality
- modified all drivers to add speaker definitions
- rewrote the Sega Hang On driver
- rewrote the Sega Out Run driver
- added generic Mahjong inputs
- improved memory system mirroring
- submitted the Atari/Midway Vegas driver
- rewrote the uPD7759 sound chip emulator
2004
December 2004:- sent in some more debugger improvements
- continued work on Sega System 16/18 drivers
- rewrote the Sega X board driver
- spent a lot of time tweaking the new debugger
- rewrote the Sega System 16 driver
- rewrote the Sega System 18 driver
- added Poker Dice to the Incredible Technologies 8-bit driver
- submitted the updated CCPU core and Cinematronics vector driver
- fixed Exidy audio memory maps
- added input port modification support
- added support for a new debugger
- began rewriting the Cinematronics CCPU core and the Cinematronics vector driver
- continued fixing bugs in the new input system
- reinvented the ctrlr files as cfg files
- added sound to the Gaelco 3D games
- rewrote the input port system from scratch and fixed bugs
- changed the cfg files to an XML format
- added support for new ADSP2181 opcodes to the ADSP21xx core
- worked on a failed attempt to get the MIPS recompiler going faster
- added emulation of the SMC91C94 ethernet controller
- continued fixing timer problems
- fixed a number of problems in the Killer Instinct driver
- added a driver for Super Rider
- fixed some problems with the debugger and the new memory system
- fixed a number of bugs in the MIPS dynamic recompiler
- fixed a number of problems in the Seattle driver and added Vapor TRX support
- finished up the Gaelco 3D games driver
- added multichannel support for the discrete sound system
- added discrete sounds to Hit Me
- fixed some more timer problems
- rewrote the internals of the timer system to use integers instead of floating point values
- added the DMA-driven DAC sound device, and modified the DCS and CAGE sound cores to use it
- added a preliminary driver for the Gaelco 3D games
- fixed the TMS32031 core to support a few unimplemented opcodes
- added support for built-in memory maps provided by CPU cores
- finally submitted a driver for Driver's Edge
- tweaked the -ftr option to allow for automating some MAME testing
- fixed and cleaned up several dozen drivers to take advantage of the new memory system
- rewrote the internals of the memory system to support multiple address spaces and many new features
- changed the way CPUs are referenced, greatly cleaning up access to the CPU cores
2003
December 2003:- added support for dynamically modifying the refresh rate
- added Voodoo 2 support to the Voodoo code
- fixed two very difficult to find bugs in the MIPS III recompiler
- added California Speed and Biofreaks to the Seattle driver
- fixed several bugs in the Voodoo emulation
- redesigned the CHD format to be less hard-drive centric, and to compress data more effectively
- fixed T-Mek video, and got the prototype version up & running
- added CAGE audio support for T-Mek, Primal Rage, and San Francisco Rush
- improved ASIC65 protection in Road Riot 4WD
- implemented the SLOOP/ASIC65 protection in Guardians of the Hood
- fixed motion object handling in the Atari growth object games
- fixed some major bugs in the TMS32031 core, almost fixing Offroad Challenge
- added support for the Seattle games, including a mostly complete 3dfx Voodoo emulator
- fixed several bugs in the ADSP-2100 and MIPS3 CPU cores
- fixed DCS2 sound in War Gods
- fixed several more bugs related to the timer change back in May
- added over 100 alternate Atari game variants
- busy with work (Microsoft Virtual PC 2004)
- added Japanese version of Pit Fighter to the Atari G1 driver
- added information on a couple of long lost slapstic variants
- fixed a few more issues with the new timing system
- fixed a number of games that broke under the new timing system
- change the way the timer system works to improve accuracy
- fixed audio pitch in Hard Drivin' and Race Drivin'
- added more support to the IDE controller to handle commands needed by the Seattle games
- added a second prototype to the Hydra driver
- added new command line parameters to control sound latency and logfile size
- added MIPS IV dynamic recompiler
- fixed a few bugs in the timer code dealing with how suspended CPUs get cycles counted
- added missing microcode ROMs to the Atari G1/G42 drivers
- sped up the V60 code by using direct opcode fetches
- fixed long standing sprite glitch in Road Blasters
- added Ribbit! to the Sega System C driver
- changed all the TMS34010 to behave consistently
- submitted Art & Magic driver and worked with Nicola to resolve encryption issues
- submitted a driver for Tickee Tickats
- implemented a generic TLC34076 palette handler
- fixed sprite/background priorities in Skull & Crossbones
- submitted a driver for Lethal Justice and Egg Venture
- submitted a driver for Crowns Golf
- added the Area 51/Maximum Force Duo to the Cojag driver
2002
December 2002:- added extraction and merging capabilities to hdcomp
- submitted new MIPS III/IV (R4000/R5000) core
- fixed bugs in the ADSP-2100 and TMS32031 cores
- reorganized the Midway games
- added preliminary War Gods and Off Road Challenge drivers
- submitted a driver for Killer Instinct 1 & 2
- fixed hiscore screen in Total Carnage
- added Grudge Match to the Bally/Sente driver
- submitted preliminary AmeriDarts driver
- fixed sprite/background priorities in ThunderJaws, Relief Pitcher, Shuuz, and Escape from the Planet of the Robot Monsters
- did some more cleanup/restructuring of the machine driver internals
- moved ZIP file handling into the core MAME code
- helped get the Windows code moved over to mingw 2.0 (gcc 3.2)
- added verification, info, and some other features to hdcomp
- added Sharpshooter to the Police Trainer driver
- changed the Windows code to automatically create non-existant directories
- worked on reverse engineering the ASIC65 math chip
- added Hard Drivin's Airborne to the Atari polygon driver
- got Race Drivin' and Steel Talons up and running finally
- added Asylum to the Leland driver
- wrote a CPU core for the TMS32031
- wrote a driver for the Williams V-unit games Cruis'n USA and Cruis'n World
- finally fixed the CoJag driver enough to submit the hard disk-based games
- added an XML option to the -listinfo output
- added Speed Ball to the Williams driver
- started work on a DSP32C emulator for Race Drivin'
- started working on the Atari polygon games again
- removed rotation support from the core drawgfx functions
- fixed edge cases in memory system
- debugged the new artwork handling
- wrote a driver for the obscure Italian game Dribbling
- rewrote artwork handling from scratch
- changed the OS-dependent display interfaces to accommodate new artwork support
- added blit-level rotation to the Windows blitters
- dumped and added a new Gravitar prototype
- fixed a bunch of memory access bugs found by guard pages
- converted all the Atari 68000 drivers to use tilemaps
- fixed missing graphics effects in ThunderJaws
- added first-level protection workarounds for Primal Rage and Road Riot's Revenge
- added Dyno Bop and World Class Bowling to the Incredible Tech drivers
- dumped and added a prototype version of Street Fighter
- merged the Centipede, Millipede, Warlords, and Qwak drivers
- added Judge Dredd to the Midway T-unit driver
- fixed missing shadows in Mortal Kombat II/III
- converted old Atari drivers to use tilemaps
- continued polishing the Cojag driver
- made MAME more friendly by giving unneeded time back to the system
- fixed and improved some things in the tilemap system
- added support for hard disks
- fixed several bugs I introduced in my MAME core reworking
- added a driver for Police Trainer
- added a driver for Rapid Fire
- worked on the Cojag driver, finally got the games running
- rewrote Windows file access routines to simplify the code
- spent two weeks straight gutting the whole MAME source tree
- converted all drivers to use new machine driver system
- added clipping to update routines (in anticipation of partial updating)
- added auto resource tracking for memory, bitmaps, and timers
- added preliminary driver for the Bradley Trainer
- added driver for the Alpha One, a prototype Majoc Havoc
- added support for an alternate Blaster romset
- added partial updating support to the core
- converted a bunch of games over to using partial updating instead of hacks
2001
December 2001:- added PlayBall! to the Williams driver
- fixed annoying crackling noise in YMZ280B sound emulator
- started reworking the way machine drivers are defined in the code
- fixed up and submitted Subroc 3D and Buck Rogers Planet of Zoom drivers
- fixed Quantum colors
- fixed protection in WWF Mania
- added Revolution X driver
- added BattleToads driver
- added BSMT2000 sound chip emulation
- submitted preliminary Shrike Avenger driver
- added Star Guards to the MCR driver; fixed general timing and interrupt issues in the MCR games
- added better out-of-bounds checking on the Windows verson, and fixed a few games that had problems
- added Catch 22 to the Exidy 440 driver
- greatly improved the accuracy of the older Exidy sounds (thanks to Tom McClintock for recording Venture samples for me!)
- fixed some more interrupt issues caused by my rewrite
- fixed some (not all) of the issues with the Ensoniq sound driver
- added two early Klax prototypes, which ran on Escape from the Planet of the Robot Monsters hardware
- added proper timings, reset, and interrupt handling to the DEC T-11 core
- fixed terrible scratchy noise in the ES550x emulator
- restructured the core CPU interface, removing a lot of old junk and simplifying the code
- cleaned up Tetris and Star Wars drivers
- removed slapstic kludges for the various Gauntlets and Xybots
- fixed slapstic issues in Pit Fighter and Rampart
- went on vacation!
- added Slither and cleaned up the Qix driver
- cleaned up the Arabian driver and fixed the colors
- added new blitter and scanline/RGB effects to MAMEW
- optimized the 68k assembly core a little; fixed bugs in a couple of 68020 instructions
- added new All American Football (4 player) set to the Leland driver
- continued fixes for MAMEW
- added aspect ratio specification to the core
- added overlay to Avalanche
- marked a number of drivers with NEEDS_6BITS_PER_GUN flag
- added Neck & Neck to the IT/Strata 8-bit driver
- added Shuffleshot to the IT/Strata 32-bit driver
- cleaned up the Return of the Jedi driver
- added Gridlee driver
- continued work on MAMEW, including first official submission
- added Power Play to the Leland driver
- submitted the partially complete Atari G42/GX2/GT drivers
- added crude input support for Slick Shot
- fixed Cyberball palette
- cleaned up Food Fight driver
- fixed Atari JSA sound frequencies
- started work on MAMEW
- fixed a number of compilation/crashing bugs in the existing MAME code
- fixed analog port scaling again
- added ES5506/5505 emulation
- added Incredible Tech/Strata 32-bit blitter driver
- added Hard Drivin' Compact to the Atari polygon driver
- helped get sound going in Taito F3 games
2000
December 2000:- added Incredible Tech/Strata 8-bit blitter driver
- fixed problem with scaling input ports
- added Mortal Kombat II hacks to the T-unit driver
- fixed bugs in the asm 68k core that affected the C2 games
- added sampleratedetect and vectorres command-line options
- fixed Atari System I games and added Indiana Jones (German)
- added BeatHead and ASAP CPU emulation
- combined the Libble Rabble and Toy Pop video systems
- fixed priorities in Pac 'n Pal
- added draw_scanline functions and converted about a dozen drivers to use it
- added Stompin' to the Bally/Sente driver
- converted the 68020 to use a 32-bit memory interface
- cleaned up the Sega C2 driver and figured out the protection on all games
- rewrote memory system
- rewrote ROM-loading system
- added Atari polygon driver
- optimized Atari polygon driver
- added automatic bank assignment for sparse memory spaces
- fixed several drivers to work with the new 16-bit memory handlers
- added mdrawgfx for masked drawing
- fixed nasty bug in the ADSP core that was breaking the Atari polygon games
- added preliminary TMS34020 support to the 34010 core
- rearchitected the Williams 34010 driver
- added Brute Force to the Leland driver
- added Williams Wolf unit driver
- rewrote Williams Y-unit protection to simulate the chip
- fixed graphics in Star Fire/Fire One driver
- fixed noise in Exidy sound driver
- added Rescue Raider (standalone) to the Bally/Sente driver
- merged several tiny machine/*.c files into their driver/*.c files
- added YMZ280B sound engine
- fixed protection in Mortal Kombat 2 and NBA Jam
- added instruction timings to the i86 core
- added 80186 support to the i86 core
- fixed Leland driver
- added raw drawing modes to the drawgfx call
- improved sound in the older Exidy games
- fixed several bugs in the YM2608 sound engine
- added Hatris to the Pipe Dream driver
- added Victory driver
- added Super Volleyball to the Rabbit Punch driver
- fixed sprite drawing on older MCR games
- added Pipe Dream driver
- added multiple read access to the generic EEPROM implementation
- fixed colors in Vindicators/Vindicators II
- improved sound in MCR games
- fixed noise in the new mixer code
- fixed sound in Spy Hunter 2 and backgrounds in older MCR games
- added background graphics in Exerion
- added Rabbit Punch/Rabio Lepus driver
- added the core sound mixer module
- demonstrated non-working drivers for Atari G42, GX2, and GT boards
- fixed several 68020 bugs in the WIP C core
- updated the TMS5220 and ADPCM cores to do linear interpolation
- fixed shadows in Gauntlet and graphics in Vindicators Part II
- added emulation of the protection in Pole Position II
- added vertical dials and wheels as core analog input types
- added multiplexed sprite support to the Exidy 440 driver, fixing Chiller
- did a major cleanup of the core memory system
- added READ_HANDLER and WRITE_HANDLER macros
1999
December 1999:- added 16-bit support to the Williams drivers
- disabled the fast stack optimization in the TMS34010 core
- added CPU suspension reasons to the timer system
- added the ADSP-2100 CPU core
- optimized the mathbox in the newly-working I, Robot driver
- attempted to optimize the M72 driver
- optimized sound in Williams TMS34010 games and later MCR games
- fixed (with Ernesto and Juergen) the Pole Position/Pole Position II driver
- fixed (with Ernesto) the Turbo driver
- added 16-bit support to the Bally/Sente and Exidy 440 drivers
- added 16-bit DAC support
- added Spiker to the Bally/Sente driver
- fixed sound synchornization in the Exidy 440 driver
- added Mayday to the Williams driver
- combined the Mystic Marathon-era Williams driver with the older driver
- fixed Turkey Shoot and added sound to Joust 2
- added rotation support for the Bally/Sente and Exidy 440 drivers
- rewrote HC55516 CVSD sound system
- added sound to Blasted and Max RPM
- added Arcade Classics and Sparkz prototypes
- added proper timing to the TMS34010 core and cleaned up the interfaces
- added divide-by-8 to the clock on all the TMS34010 games
- fixed Smash TV video glitches
- added Bally/Sente driver (Hat Trick, Chicken Shift, etc.)
- improved Exidy 440 sound
- added analog pedal as a core input type
- major MCR driver overhaul; added Power Drive, Turbo Tag
- added MCR/68k driver (Arch Rivals, Spy Hunter 2, Zwackery, etc.)
- reworked the interface to the 6821 PIA
- another month, another Atari driver overhaul
- added Thunderjaws driver
- added Batman driver
- added Relief Pitcher driver
- fixed Xybots sprites
- fixed long-standing T-11 bug that was preventing APB from working
- added Off the Wall driver
- another month, another major Atari driver overhaul
- added Pit Fighter/Hydra driver
- added Cyberball 2072/Tournament Cyberball 2072 driver
- fixed long-standing VBLANK timing bug
- worked on slapstic issues
- another month, another major Atari driver overhaul
- added Cyberball 2072 (2 players) driver
- added Shuuz driver
- added Rampart driver
- fixed priorities in Escape from the Planet of the Robot Monsters
- added Skull & Crossbones driver
- fixed priorities in Xybots
- added BadLands driver
- added bank switching support to the OKI6295
- continued fixing CPU core bugs, and updating the PowerPC assembly cores
- added .WAV file sample support
- did a major cleanup of the Atari drivers
- added fast interrupt support to the 68000 and T-11 cores
- added Vindicators Part II to the Gauntlet driver
- rewrote Gauntlet video to use tilemaps
- abstracted Atari sound system into a separate file
- added rotation support to a number of drivers
- added Crackshot to the Exidy 440 driver
- fixed a number of bugs in the 6800, 6809 and Z80 cores
- added proper distinction between 6800, 6803, and 63701 timings
- added Exidy 440 driver (Crossbow, Cheyenne, Chiller, etc.)
- fixed several subtle bugs in the timer system
- combined the Namco and Rolling Thunder-specific sound generators
1998
September 1998-January 1999:- busy with work (Connectix Virtual Game Station)
- improved palette handling in the Psychic 5 driver
- added Max RPM to the MCR driver
- converted Retrocade's CCPU core to MAME
- added Cinematronics vector game driver
- updated palette handling and added rotation to the Sega System 8 driver
- optimized the watchdog timer handling
- abstracted user interface key handling
- updated all Atari drivers to use the new built-in palette compression
- changed a number of drivers to use palette compression
- added proper cycle timing to the 68000
- added software timers on top of the OPL-based YM3812 emulation
- fixed nasty reset bug in the MCR games
- added Vindicators driver
- added 8-bit palette compression to Gauntlet
- added Klax driver
- added T-11 CPU core
- added Atari System II driver
- added Blasteroids driver
- added Xybots driver
- added Escape From The Planet of the Robot Monsters driver
- added slapstic-protected versions of Gauntlet
- added Toobin' driver
- added Atari System I driver
- added 2-player Gauntlet to the Gauntlet driver
- began working on a Blasteroids driver
- began work on slapstic decoding
- optimized the timer system
- improved ADPCM sample support
- added Crater Raider to the MCR driver
- added OKI6295 ADPCM support, using Block Out as a test case
- rewrote Williams blitters, fixing Sinistar
- fixed colors in Motos
- implemented YM2151 timers using the new timer system
- abstracted the vector code to allow for platform-specific optimizations
- reworked the memory system and the 68000 core to support 16-bit accesses
- added 16-bit color support to the core
- updated a number of drivers to use 16-bit color
- fixed 68000 interrupt priorities
- cleaned up the Williams driver some more
- fixed ADPCM sound in Lode Runner and Traverse USA
- fixed 6809 core to support sync instructions that Zookeeper was using
- optimized Zookeeper video
- added sound to Colony 7
- wrote the core timer system and rearchitected CPU execution around it
- rewrite the Z80 CTC code using timers
- added automatic memory allocation for 24-bit (and larger) address spaces
- added 68705 CPU core, and emulated the MCU in Arkanoid
- began writing the Atari System I driver
1997
December 1997:- improved Quantum driver into a playable state
- optimized Rastan driver
- added full 6821 PIA emulation
- majorly rewrote the TMS-5220 speech driver
- added speech to Discs of Tron
- added Sarge to the MCR driver
- modified all CPU cores to use the same interface
- reworked cpuintrf.c to be table-driven
- added Gauntlet & Gauntlet II
- lots of cleanup work on the 68000 C core
- added new 68000 disassembler
- added cpu_reset()
- added Food Fight
- optimized Namco sound generation
- improved POKEY sound generation
- added sound to Spy Hunter and Rampage
- added lamp display to Spy Hunter
- added sound to Qix
- added bankswitching support to the 6502 core
- fixed some Star Wars mathbox bugs
- separated cpu_readmem/cpu_writemem into specific versions for 16,20,24 bit address spaces
- fixed a bug in the 6808 core
- added music/ADPCM support to Moon Patrol, 10 Yard Fight, and Kung-fu Master
- added 2-byte and 4-byte memory handlers for the 68000
- added support for dirty marking
- modified a number of drivers to support dirty marking
- optimized the Mappy driver
- optimized 1943 and Gunsmoke video
- added Motos and Tower of Druaga to the Mappy driver
- fixed Kozmik Krooz'r
- proposed the timer system
- changed a number of drivers over to using osd_modify_pen
- added Spy Hunter
- generated (by hand!) the first mamelist.txt
- fixed Rastan palette issues
- began writing assembly-based Z80 core for the PowerPC
- optimized the 6809 C core
- fixed music in Kick
- fixed Z80 C core instruction timings
- added rotation to Williams driver, almost fixed Sinistar and Bubbles
- added ROM_LOAD_EVEN and ROM_LOAD_ODD
- general Namco cleanups
- rewrote Atari vector generator to be more accurate
- added palette handling to the Tapper driver
- improved speed of the Tapper driver
- added video_attribute field to the driver structure
- added osd_modify_pen() to the core
- modified Williams, Tapper and Tutankham drivers to use dynamic palettes
- added sound to the Tapper driver
- rewrote the Z80 CTC emulation for the MCR games
- added Discs of Tron to the Tapper driver
- helped add the remaining MCR games to the Tapper driver
- started working on Bosconian
- started working on Spy Hunter
- got Millipede working
- added Pac & Pal to the Super Pac-Man driver
- fixed colors & sounds in Mappy, Dig Dug, Super Pac-Man
- improved Mac video to support vector games, fixed bugs in the initial vector code
- added Dig Dug 2 to the Mappy driver
- added Mappy driver
- added sound to Super Pacman
- added Dig Dug driver