MAME 0.29: Difference between revisions
From MAMEDEV Wiki
(Initial version.) |
m (formatting) |
||
Line 180: | Line 180: | ||
* [[Nicola Salmoria]] made the CPU execution interleaved. The cpu_slices_per_frame field in the MachineDriver controls how often control is passed from one CPU to another. 1 is the minimum, meaning that each CPU runs for the whole video frame before giving control to the others. The higher this setting, the more closely CPUs are interleaved and therefore the more accurate the emulation is. However, an higher setting also means slower performance. | * [[Nicola Salmoria]] made the CPU execution interleaved. The cpu_slices_per_frame field in the MachineDriver controls how often control is passed from one CPU to another. 1 is the minimum, meaning that each CPU runs for the whole video frame before giving control to the others. The higher this setting, the more closely CPUs are interleaved and therefore the more accurate the emulation is. However, an higher setting also means slower performance. | ||
* [[Nicola Salmoria]] removed osd_obtain_pen(), the palette is passed to osd_create_display() instead. Also moved clearbitmap() to osd_clearbitmap(), which does a slightly different thing from what clearbitmap() did: it sets the bitmap to be generically "black", which doesn't necessarily imply filling it with Machine->pens | * [[Nicola Salmoria]] removed osd_obtain_pen(), the palette is passed to osd_create_display() instead. Also moved clearbitmap() to osd_clearbitmap(), which does a slightly different thing from what clearbitmap() did: it sets the bitmap to be generically "black", which doesn't necessarily imply filling it with Machine->pens[0]. Avoid using osd_clearbitmmap() in drivers: use the new fillbitmap(), instead, which accepts a pen number and a clip region. | ||
* [[Nicola Salmoria]] replaced file related functions (fopen(), fread() and so on) with osd_ equivalents. This avoids a good amount of hacking in the Mac port; plus it allows some system specific extensions, like supporting ZipMagic/ZipFolders under Windows 95. | * [[Nicola Salmoria]] replaced file related functions (fopen(), fread() and so on) with osd_ equivalents. This avoids a good amount of hacking in the Mac port; plus it allows some system specific extensions, like supporting ZipMagic/ZipFolders under Windows 95. |
Revision as of 09:16, 30 May 2007
Release Date
MAME 0.29 was released on 20 October 1997.
Contributors
The known contributors for this version are, in alphabetical order:
- Aaron Giles
- Andrew Scott
- Bernd Wiebelt
- Brad Oliver
- Brian Levine
- Christopher Kirmse
- Dan Boris
- Ed Mueller
- Fabrice Frances
- Jarek Burczynski
- John Butler
- Juan Carlos Lorente
- Keith Gerdes
- Marc Lafontaine
- Marco Cassili
- Martin Scragg
- Mike Coates
- Mirko Buffoni
- Nicola Salmoria
- Paul Leaman
- Sean Gugler
- Shane Monroe
- Steven Hugg
- Tatsuyuki Satoh
- Tim Lindquist
- Toninho
- Valerio Verrando
- Ville Laitinen
- Virtu-Al
- Zsolt Vasvari
Specific Contributions
The known contributions for this version are, in the order specified in the whatsnew:
- Tim Lindquist and Nicola Salmoria fixed the colors in:
- Donkey Kong Jr.
- Congo Bongo
- Phoenix
- 10 Yard Fight
- Moon Patrol
- Pop Flamer
- War of the Bugs
- Espial (not sure about this one - red and blue could be inverted)
- Super Cobra
- Yie Ar Kung-Fu
- Mario Bros.
- Super Basketball
- Seicross
- 1943
- Donkey Kong 3 (well, not really)
- Gyruss
- Crazy Kong.
- Zaxxon is getting there (sprites are mostly correct, background isn't).
- Tim Lindquist and Jarek Burczynski fixed the colors in Bagman and Super Bagman
- Virtu-Al and Nicola Salmoria fixed the colors in Naughty Boy (probably)
- Nicola Salmoria made a minor fix to the Donkey Kong colors (black was dark blue).
- Edward Massey fixed the clouds in Time Pilot.
- Nicola Salmoria fixed the display of lives left in Burger Time, sprites are turned off appropriately, and the switch test in test mode works correctly. The hardware of this game is more similar to Eggs than I thought.
- John Butler made some fixes to 10 Yard Fight.
- Nicola Salmoria fixed the background which was clipped too low in Phoenix.
- Nicola Salmoria added the missing scrolling background to Exed Exes.
- Nicola Salmoria fixed sprite/character priority in Gyruss.
- Martin Scragg fixed blinking in the Galaga starfield.
- Nicola Salmoria added support for rotation to Galaga (-ror and -rol).
- Steven Hugg, Mirko Buffoni, and Nicola Salmoria added sound to all the Williams games. Samples are no longer needed and may be deleted.
- Fabrice Frances added sound to Q*Bert Qubes. You just have to use Q*Bert's sound ROMs, they are the same.
- Brad Oliver added sound to Tac/Scan (through samples).
- Andrew Scott fixed some sound problems in Asteroids.
- Aaron Giles added music to Kick.
- Andrew Scott improved the Galaxian background hum, it also is no longer incorrectly played in Moon Cresta & others.
- Nicola Salmoria added digital audio to the Taito games (used for some sound effects, most notably Tarzan's yell in Jungle King). Also, music plays in Jungle King.
- Aaron Giles added sound support to Moon Patrol, 10 Yard Fight, Kung Fu Master.
- Brad Oliver and Shane Monroe added sound to Mario Bros (partial, through samples).
- Nicola Salmoria added sound to Eggs.
- Bernd Wiebelt fixed the sound in Omega Race. It was playing too slow. Thanks to Stacy Joe Dunkle, Mike Cuddy and Al Kossow.
- Ville Laitinen and Tim Lindquist added sound to Congo Bongo (samples are needed to get full sound).
- Valerio Verrando added high score support to Moon Patrol, Rally X, Vanguard, Super Cobra, Turtles, Xevious, Galaxy Wars.
- Nicola Salmoria fixed high score support in Krull and Donkey Kong 3.
- Valerio Verrando fixed high score support in Galaga.
- Juan Carlos Lorente added high score support to Starforce, Jump Bug, Bagman, Super Bagman, Time Pilot 84, Warp Warp.
- Nicola Salmoria fixed the attract mode of Galaga. Qix runs correctly and without slowdowns. Test mode in Mr. Do's Castles & family works correctly, (dip switches in Do's Castle still don't work). All these changes are due to the interleaved CPU execution described below.
- Keith Gerdes added a new fix to avoid lockup in Tempest after 150,000 points - this one should really work.
- Brian Levine fixed the Fantasy driver.
- Aaron Giles made several fixes and enhancements to the Williams driver.
- Marc LaFontaine made several fixes to the Williams driver: Blaster is finished, Sinistar is playable but there are some blitter bugs, Bubbles is better but still resets itself from time to time.
- Nicola Salmoria fixed a bug in Naughty Boy coin insertion/start game handling.
- Aaron Giles made some fixes to the Star Wars mathbox.
- Nicola Salmoria fixed the emulation of the hardware of the Taito games (Elevator Action, Jungle King, Wild Western, Front Line) to be more faithful to the original. Playfield priority is accurate in Jungle King, however this broke Wild Western - strange. Front Line works. Merged all the drivers into taito.c
- Nicola Salmoria tried to plug Triple Punch into the Scramble driver, but it doesn't work.
- Nicola Salmoria added support for New Rally X; colors are accurate in New Rally X ONLY - still wrong in Rally X until we find the color PROMs. Sound should finally be correct, both in Rally X and New Rally X.
- Aaron Giles made a video drawing optimization to Mappy, plus test mode now works both in Mappy and Dig Dug 2.
- Sean Gugler added emulation of the 1 player/2 player start lamps using NumLock and CapsLock in some games (e.g. Pacman, Galaxian, Rally X)
- Marco Cassili fixed the DIP switches in Missile Command.
- John Butler and Ed Mueller made an early attempt at a Zookeeper driver, based on the Qix one, which unfortunately doesn't work yet.
- Nicola Salmoria moved the Hunchback driver into dkong.c, since that's where it belongs (but it still doesn't work due to encryption).
- Nicola Salmoria added Gamma correction controls. Use Shift + Numeric pad +/- to change it. There are some games which are too dark on the default setting, instead of using the monitor settings use these controls to brighten the picture. Gamma correction also affects colors, like the girders in Donkey Kong.
- Marc LaFontaine added a "Pro Action Replay"-like cheat finder. It is only available when -cheat is specified on the command line.
- Tatsuyuki Satoh made some optimizations to the 6809 emulator.
- Aaron Giles made 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.
- Nicola Salmoria moved configuration and high score files to the CFG and HI subdirectories. They are not stored in the games subdirectories. I have provided a batch file (MOV.BAT) to automatically move your old settings in the new directories. Just start it from inside the MAME directory. It will spit out some error messages for missing files, don't worry and let it finish its job.
- Having configuration files in a separate directory makes it easier to keep ROMs in .zip files. This is already done by some front-ends, but you can do it from the command line as well, just use this batch file. PKUNZIP must be in your path. The .zip files must be in the MAME directory and named after the game (i.e. pacman.zip).
- @echo off
- md %1
- pkunzip >nul: %1 %1
- MAME.EXE %1 %2 %3 %4 %5 %6 %7 %8 %9
- deltree >nil: /y %1
- But even better, if you have ZipFolders or ZipMagic installed, MAME will automatically look into the .zip or .zif directory. ZipFolders and ZipMagic are trademarks of Mijenix Corporation. You can download a trial version from www.mijenix.com. I am in no way associated with Mijenix Corp. - I'm just a happy costumer.
- Bernd Wiebelt removed the "-trak" and "-mouse" options. Mouse support is now enabled by default. To disable it, use "-nomouse".
- Bernd Wiebelt made "-vesa" pick the best VESA mode available. The new "-vesa1" forces VESA 1.2.
- Bernd Wiebelt removed "-vg". It is on by default now.
- We are now using the "WIP 2.8" version of Allegro to compile the DOS version. You can get it from http://www.talula.demon.co.uk/allegro/.
- Two new OSD_KEY definitions: RCONTROL and ALTGR. CONTROL has been replaced by LCONTROL.
- Aligned to version 1.2 of Marcel de Kogel's Z80 emulator.
- Tatsuyuki Satoh and Aaron Giles added 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. IMPORTANT: for 24 bit addressing (i.e. 68000) you cannot associate a memory handler to a single byte. You must use four consecutive bytes, longword aligned. This was done to speedup word (2 bytes) and dword (4 bytes) operations.
- Aaron Giles added new ROM_LOADEVEN and ROM_LOADODD macros.
- Nicola Salmoria made the CPU execution interleaved. The cpu_slices_per_frame field in the MachineDriver controls how often control is passed from one CPU to another. 1 is the minimum, meaning that each CPU runs for the whole video frame before giving control to the others. The higher this setting, the more closely CPUs are interleaved and therefore the more accurate the emulation is. However, an higher setting also means slower performance.
- Nicola Salmoria removed osd_obtain_pen(), the palette is passed to osd_create_display() instead. Also moved clearbitmap() to osd_clearbitmap(), which does a slightly different thing from what clearbitmap() did: it sets the bitmap to be generically "black", which doesn't necessarily imply filling it with Machine->pens[0]. Avoid using osd_clearbitmmap() in drivers: use the new fillbitmap(), instead, which accepts a pen number and a clip region.
- Nicola Salmoria replaced file related functions (fopen(), fread() and so on) with osd_ equivalents. This avoids a good amount of hacking in the Mac port; plus it allows some system specific extensions, like supporting ZipMagic/ZipFolders under Windows 95.
- Brad Oliver tweaked the input port code. Added new fields for analog controls - clip, min, and max. Also added 2 new analog joystick types - IPT_AD_STICK_X and IPT_AD_STICK_Y. The new fields are packed into the same int field (arg) as the sensitivity and as such they can only be in the range of 0-255. The clip field clips the trackball/dial/stick deltas, a common callback routine task. Min and Max are so far only used in the AD_STICK types. They limit the range of motion for those sticks - used in Star Wars and Red Baron.
- Bernd Wiebelt made some additional tweaking of analog inputs, allowing them to be updated more than once per frame. This is needed by some games.
- Bernd Wiebelt removed osd_track_center(). We always use relative mouse movement now.
- Aaron Giles added formalized support for dirty rectangles, via the function osd_mark_dirty(). It is mostly used by MacMAME, limited DOS support added by Bernd Wiebelt.
- Brad Oliver updated pokyintf.c to be more like 8910intf.c. Variable clock frequency, port callbacks, a clipping parameter, variable updates per frame. Most noticeably, Tempest has much improved sound with more frequent updates.
Game Support
New Games added or promoted from GAME_NOT_WORKING status
- Legendary Wings
- Section Z
- Cloak & Dagger
- Berzerk
- Coors Light Bowling
- Gunsmoke
- Black Tiger
- 1943
- Champion Baseball
- Silkworm
- Sidearms
- Defend the Terra Attack on the Red UFO
- Pulsar
- Invinco
- Invinco / Head On 2 (dual game)
- Space Attack
- Motos
- The Tower of Druaga
- New Rally X
- Radarscope
- Rastan Saga.
- Pac Man (Galaxian hardware)
- Bosconian (Namco)
- Mappy (Japanese)
- Donkey Kong Jr. (bootleg)
- Donkey Kong Jr. (Japanese)
- Moon Cresta (Gremlin)
- Gyruss (Konami)
- Super Bobble Bobble