MAME 0.30
From MAMEDEV Wiki
Release Date
MAME 0.30 was released on 8 January 1998.
Contributors
The known contributors for this version are, in alphabetical order:
- Aaron Giles
- Alan J McCormick
- Allard van der Bas
- Andy White
- Bernd Wiebelt
- Brad Oliver
- Chris Hardy
- Dan Boris
- David Widel
- Eric Anschuetz
- Fabrice Frances
- Frank Palazzolo
- Gary Walton
- Gonzalo Casas
- Hedley Rainnie
- James R. Twine
- Jeff Johnson
- John Butler
- John Clegg
- Juan Carlos Lorente
- Keith Gerdes
- Kevin Brisley
- Kevin Estep
- Lee Taylor
- Marc Lafontaine
- Marc Vergoossen
- Marco Cassili
- Martin Scragg
- Maurizio Zanello
- Michael Appolo
- Mike Balfour
- Mike Coates
- Mike Cuddy
- Mirko Buffoni
- Neil Bradley
- Nicola Salmoria
- Paul Forgey
- Paul Swan
- Pete Ground
- Petter Sjölund
- Phil Stroffolino
- Ron Fries
- Stefano Mozzi
- Tatsuyuki Satoh
- Tim Lindquist
- Valerio Verrando
- Vince Mayo
Specific Contributions
The known contributions for this version are, in the order specified in the whatsnew:
- Paul Swan and Nicola Salmoria added accurate colors in Gunsmoke.
- Marco Cassili and Nicola Salmoria fixed the colors in Super Basketball, they should now be correct for real (the opponent's shirts weren't changing color in each level).
- Pete Ground and Mirko Buffoni added accurate colors in Vulgus.
- Brad Oliver added the background in Millipede
- Nicola Salmoria fixed the sprites in Gunsmoke.
- Brad Oliver added emulation of AVG sparkling bit (Tempest stars/fireworks)
- Nicola Salmoria fixed the sprites and background in Sidearms. Colors should be correct as well. There probably is another scrolling background missing.
- A note about Zaxxon colors: we are aware that they are wrong. The reason is that we are using the Super Zaxxon color PROM. As soon as we'll have the correct Zaxxon color PROM, they will be fixed.
- Petter Sjölund added better colors in Eggs
- Mike Coates added an appropriate blue background in Scramble, Super Cobra and other games running on the same hardware.
- Bernd Wiebelt fixed the brightness in Star Wars.
- Martin Scragg added the background starfield to Bosconian.
- Gonzalo Casas slightly improved the colors in Locomotion.
- Michael Appolo fixed the character colors in Black Tiger
- Nicola Salmoria changed the way 8910 sound is updated: there's no longer a fixed "updates per frame" value defined in the driver, instead the audio is stream is generated whenever a chip register is written to (and at every vblank). This improves sound quality in several games.
- Aaron Giles made the same change as above to the POKEY interface.
- Tatsuyuki Satoh changed the YM2203 emulation to not use the SoundBlaster OPL3 chip. This is more accurate than the previous one, which used the SoundBlaster OPL chip, however it is also slower. You can still revert to the old behaviour using the -fm command line option.
- Tatsuyuki Satoh added YM2151 emulation.
- Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria, and Pete Ground completely rewrote the 8910 emulator and interface. This affects a lot of games, but the one which benefits more is Gyruss: it now plays many sound effects which were missing.
- Nicola Salmoria added fully emulated sound in Gyruss. You can remove all the samples, they are no longer needed. Also, music tempo should now be correct. Due to the increased emulation overhead, it now runs slower than before. To improve speed, you can use the new -sr option (see below) to lower the sample rate.
- Tatsuyuki Satoh and Nicola Salmoria cleaned up the SN76496 emulation, now it is similar to the 8910 one and all games use Tatsuyuki's code. This affects several games, most notably the Mr. Do! series.
- Ron Fries, Dan Boris, Mirko Buffoni added a 8039 emulator, and _emulated_ sound in Donkey Kong, Donkey Kong Jr. and Mario Bros. Since the boards also use discrete circuits to generate sound, some samples are still needed to get complete sound support. Also partial sound in Radarscope.
- Phil Stroffolino and Kevin Estep added sound (through samples) to Yie Ar Kung Fu
- Nicola Salmoria and Aaron Giles completely rewrote the Namco waveform audio subsystem. This gets rid of some artefacts in pacMan (eating a ghost) and Ms Pac Man (eating dots while a fruit is bouncing).
- Frank Palazzolo added a TI TMS5220 emulator. This handles speech in Star Wars and other games.
- Aaron Giles added speech to Discs of Tron.
- Fabrice Frances added sound to Three Stooges. Actually the code had always been there, it just had to be activated...
- Frank Palazzolo fixed the music tempo in Scramble, Frogger, Amidar and derivatives, so it should now be correct
- Aaron Giles added Music to Spy Hunter, sound to Rampage.
- Aaron Giles added sound to Qix.
- Nicola Salmoria added sound to Super Basketball
- Tatsuyuki Satoh added sound to Rastan
- Brad Oliver added sound to Naughty Boy and Pop Flamer, using the Pleiads driver. Not very good, but it's a start.
- Brad Oliver added sound to Espial.
- Eric Anschuetz fixed Missile Command.
- Brad Oliver added music in Phoenix, via samples.
- Nicola Salmoria added partially emulated sound to Bubble Bobble (only the YM2203 chip, therefore only some sound effects - no music)
- Nicola Salmoria added sound to Coors Light Bowling
- Alan J McCormick fixed the tempo and pitch in Blue Print
- Brad Oliver fixed Asteroids
- Juan Carlos Lorente added high score support to Legendary Wings, Section Z, Espial, Black Tiger, Gunsmkoke.
- Juan Carlos Lorente fixed Popeye.
- Jeff Johnson added high score support to 1943.
- Valerio Verrando added high score support to Tac/Scan, Star Trek, pacmanbl, Red Ufo
- A note about Tempest: Several people complained that mouse control is reversed. This is not the case. The more obvious place where this can be seen is the level selection screen at the beginning: move the mouse right, the block goes right. Anyway, you can now reverse the controls (see below).
- Andy White fixed Radarscope so it now works.
- Aaron Giles added dirty rectangles support in Qix, all Williams games, Cloak & Dagger, Berzerk, Arabian, Space Invaders & clones, Kangaroo, Space Panic, Warp Warp.
- James R. Twine made some tweaks to dip switches in the Super Cobra / Lost Tomb / Rescue driver.
- Marco Cassili fixes to dip switches and input ports in several games.
- Mike Coates added rotation support to Space Panic.
- Mike Coates fixed Invinco (it was missing a ROM)
- Neil Bradley fixed the framerates in the Atari vector games
- Dan Boris aligned the background bitmap in Cloak & Dagger properly with the playfield graphics, and boxes no longer get stuck at the corners of the conveyors
- Nicola Salmoria added the missing third button to Sidearms
- Aaron Giles changed Spy Hunter so it displays an extra line of text at the bottom indicating the status of the lamps that were on the arcade machine.
- Martin Scragg fixed a crash in Bosconian: This was the speech processor being used for a protection check.
- Maurizio Zanello added alternate controls in Defender and Stargate, to control the ship using the standard 8-way directional controls instead of up/down/reverse/thrust. Available only when the -cheat option is specified.
- Nicola Salmoria added alternate controls in Battle Zone, Sarge, Defender and Stargate are available only when the -cheat option is specified.
- Nicola Salmoria fixed Right control and right alt so they work again.
- Brad Oliver made enhancements to the analog input controllers emulation. Their keyboard counterparts can be changed, the sensitivity adjusted, and the direction reversed. This is all controlled by the analog setup menu.
- Bernd Wiebelt added support for true analog joystick input in games like Star Wars; moreover, the whole range of joystick types supported by Allegro is now supported.
- To handle that, use the new command line option -joy N, where N can be:
- 0 - normal 2 button joystick
- 1 - CH Flightstick Pro
- 2 - Stick/Pad with 4 buttons
- 3 - Stick/Pad with 6 buttons
- 4 - dual joysticks
- 5 - Wingman Extreme (or Wingman Warrior without spinner)
- Press F7 to calibrate the joystick. Calibration data will be saved in mame.cfg. If you're using different joytypes for different games, you may need to recalibrate your joystick every time.
- Note that if you enable joystick support, games like Star Wars will work ONLY with the joystick - mouse emulation will be disabled.
- To handle that, use the new command line option -joy N, where N can be:
- Nicola Salmoria added the -vsync option, which lets, when specified, the program check whether the video mode is compatible with it (i.e. whether the video refresh rate is a multiple of the target frame rate), and fails otherwise. Some sensible default values for -vgafreq are built-in and automatically picked when -vsync is requested. It is also possible to successfully use -vsync with scanline video modes. Note that for VESA modes you might have to configure your card in order to make it use the 60Hz refresh rate.
- Valerio Verrando added support for default configuration file. Start MAME with the -saveconfig parameter, and the current configuration will be saved to mame.cfg, becoming the default. You can still override the mame.cfg settings giving parameters on the command line.
- Valerio Verrando modified the tweaked video modes to be as close as possible to 60Hz. However please note that on some systems the new modes might not work, while the old do. You can work around that by changing the line syncedtweak=yes to syncedtweak=no in mame.cfg
- Valerio Verrando changed the default directory for screen snapshots (F12) to PCX instead of the current directory, so make sure you create it or snapshots will not be saved.
- Nicola Salmoria added new command line options, -sr N, where N is the required audio sample rate, and -sb N, where N is the number of sample bits (8 or 16). For example, mame gyruss -sr 22050 -sb 16 will use a 22kHz sample rate and 16 bits. The -sb option currently doesn't change anything because none of the audio subsystems support 16 bit samples.
- Nicola Salmoria added functionality to load ROMs from the subdirectory "ROMS", if desired.
- When loading ROMs for 'gamename', the program will look in these directories in this order:
- gamename
- gamename.zip
- ROMS\gamename
- ROMS\gamename.zip
- The same applies to samples, you can put them in a subdirectory called SAMPLES - therefore separating them from the ROMs.
- When loading ROMs for 'gamename', the program will look in these directories in this order:
- Valerio Verrando changed MAME so samples can also be loaded from a common directory for variations of the same hardware. For example, all Space Invaders clones will load samples from the invaders directory.
- Bernd Wiebelt added support for dirty rectangles are supported in all resolutions in DOS.
- James R. Twine and Marc Lafontaine made several changes to the cheat subsystem
- Vince Mayo fixed a bug in drawgfx() which caused Crazy Climber's big sprites to be corrupted when horizontally flipped.
- New options, -record and -playback. They allow you to record, and later playback, joystick input. Useful to document certain bug reports, or to show your friends how good you are ;-)
- Mike Balfour added a new option -romdir which allows to specify a different directory where to load the ROMs from.
- Valerio Verrando changed high score and configuration save now support ZipFolders/ZipMagic to directly use .zip archives. If you want to use this feature, make sure there are no HI or CFG directories, otherwise the files will be saved there, not in the.zip archive.
- Now using Allegro 3.0 - this fixed problems 0.29 had under NT with mouse enabled.
- Martin Scragg, John Butler, and Aaron Giles added an integrated debugger. You must compile with MAME_DEBUG defined to activate it. Start MAME with the -debug option, then press tilde to enter the debugger.
- Tatsuyuki Satoh added cpu_setbankhandler_r() / cpu_setbankhandler_w() for better bank switching support. The Williams drivers take advantage of it.
- Nicola Salmoria removed samples field from the MachineDriver structure; added sound_prom field to the GameDriver structure.
- Aaron Giles made some changes to the 68000 emulator memory interface, and a new 68000 disassembler. Improved the 68000 cpu interface.
- Aaron Giles redesigned cpuintrf.c to be more modular and readable.
- Aaron Giles added a cpu_reset() call so that a single processor can be reset during execution; Gauntlet needs this to work properly.
- Aaron Giles added bank switching support to the 6502 via cpu_setbank().
- Tatsuyuki Satoh centralized dac.c for dac sound emulation. Several dirvers use it.
Game Support
New Games added or promoted from GAME_NOT_WORKING status
- Swimmer
- Astro Blaster
- 005
- Monster Bash
- Space Odyssey
- Frenzy
- Exerion
- Arkanoid
- Pinball Action
- Gauntlet
- Gauntlet 2
- Food Fight
- Bump 'n Jump
- Burnin' Rubber
- Traverse USA
- Circus
- Robot Bowl
- Track & Field / Hyper Olympic
- Hyper Sports
- Roc'n Rope
- Circus Charlie
- Super Zaxxon
- Future Spy (not working due to code encryption)
- Major Havoc
- Colony 7
- Quantum
- Mat Mania
- Exciting Hour
- Astro Fighter
- Mikie
- Shao-Lin's Road
- Iron Horse
- Sprint 2
- Sarge
- Triple Punch
- Vastar
- Break Thru
- Fire Trap
- Targ
- Spectar
- Zoo Keeper
- Jumping Jack
- Super Piero
- 10 Yard Fight (Vs. version)
- Qix II
- Space Phantoms
- Rolling Crash
- Cosmic Monsters
- Make Trax
- Armored Car
- Minefield
- Space Fury
- Zektor
- Tac/Scan
- Eliminator (2 and 4 players)
- Star Trek
- Star Force
- Mega Force (licensed version of Star Force)
- Ghosts'n Goblins (Japanese)
- Legendary Wings (Japanese)
- Sidearms (Japanese)
- Tempest Tubes
- Gunsmoke, Capcom copyright
- Gunsmoke (Japanese)
- 1943 Kai
- Black Dragon (Japanese version of Black Tiger)
- Donkey Kong Jr. (original Japanese)
- Amidar running on Scramble hardware
- Crazy Kong (Alca bootleg)
- Space Invaders Part 2 (Taito)
- Mr. Du!
- Tip Top (UK version of Congo Bongo)
- Super Pac-Man (Namco)
- Pootan (bootleg Pooyan)
- Root Beer Tapper
- Joust (White/Green)
- Joust (Green)
- Joust (White/Red)
- Robotron (Yellow/Orange)
- Bubbles (Red)