MAME/0.33

From GamerWiki

Jump to: navigation, search

A warts and all look through the history of MAME as described by the MAME Dev team themselves through their releases.

Contents

MAME 0.33b1

Released: 1998-05-03

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • Fade-in/fade-out in Robocop [Nicola Salmoria]
  • Fixed colors in Centipede, including service mode multiplexed color test. [Nicola Salmoria]

These drivers have new or improved SOUND

Other drivers changes

  • Fixed Atari System 1 games not accepting coins with -fm (actually -fm was supposed to be a no-op in this case since emulation of the YM2151 through OPL is not supported). You still have to keep sound on, however; disabling it will disable coins. Of course you can set the dip switches to Free Play and forget about coins.
  • Added support for coin counters to some games. [Brad Oliver]

Changes to the main program

  • Increased the watchdog period, to avoid unexpected resets in some MCR games.

Source

  • Drivers which dynamically change the palette are no longer required to initialize it in convert_color_prom(); they also can avoid initializing the color table, if the default layout for it (a 1:1 mapping) fits their needs.
This is also useful when starting new drivers: you don't need to provide a fake palette or prom conversion function, the graphics will be visible somehow (but badly, so you had better change the defaults soon ;-) )
Also, games using PROMs don't need to initialize the colortable if the GfxDecodeInfo structure is properly initialized to make the correspondence 1:1.
  • For drivers using the GfxLayer system, dirty rectangle support is partially built-in into the core. The OS dependant rendering functions must use Machine->dirtylayer to know which portions of the screen need to be refreshed. Drivers which use the GfxLayer system no longer need the VIDEO_SUPPORTS_DIRTY flag in the MachineDriver structure - it must be turned on automatically by the OS dependant code.
  • Added support for undocumented Z80 opcodes to the C Z80 core. [Juergen Buchmueller]
  • Improved speed of the C 68000 core. [Juergen Buchmueller]
(this is supposed to give a good speed increase, but I don't see any appreciable difference on my K6 - Nicola)

MAME 0.33b2

Released: 1998-05-08

Well, you know that I usually don't celebrate recurrences, but we have just hit the 500th ROM set supported (OK, OK, I know that many of them don't work) and by pure coincidence it happens to be a very special one:

Faster, Harder, More Challenging Q*Bert

This is a sequel to Q*Bert which was never released to the public. You can find its story, as recalled by the author, Warren Davis, at http://www.coinop.org/coinop/features/qbstory.html

Thanks to everyone who made this possible.

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • Fixed background layer colors in Trojan [Paul Leaman]
  • Fixed invisible ball in Champion Baseball. Some of the graphics are still broken. The reason is unknown. [Nicola Salmoria]
  • Adjusted the brightess of the background in Popeye, which should make it correct according to the schematics. Maybe now it's too dark? [Nicola Salmoria]

These drivers have new or improved SOUND

These drivers have HIGH SCORE support

Other drivers changes

  • Heavy Barrel is playable to the end, but there are still some problems. [Bryan McPhail]
  • Improved speed in the CPS1 games. [Paul Leaman]
  • Adjusted timing in the vector games. [Bernd Wiebelt]
  • Some game information is displayed in the introduction screen. [Nicola Salmoria]

Source

  • Further changes to the palette handling code.
  • osd_create_display() no longer takes the total_colors, palette, pens arguments. They are handled by osd_allocate_colors(), which is called after osd_create_display().
  • the convert_color_prom() functions now take a unsigned short *colortable parameter instead of unsigned char *.
  • Drivers for games which have a FIXED palette (i.e. they don't call osd_modify_pen()) of more than 256 colors are now allowed to declare it as such in the MachineDriver. The palette will be automatically shrinked to fit in 256 colors. Note: this assumes that the palette is actually composed of no more than 256 unique colors. This is currently the case in all the games.
Examples: Kung Fu Master, Lode Runner, Arkanoid, Popeye.
  • instead of calling osd_modify_pen(Machine->pens[color],r,g,b), drivers should call palette_change_color(color,r,g,b). Note that the function does the Machine->pens[] mapping for you.
  • Added WatchPoint support to the debugger (i.e. check a RAM location and stop execution whe it is changed). [Ernesto Corvi]
  • 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) [Christophe Verre]

MAME 0.33b3

Released: 1998-05-17

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • All drivers with a handcrafted palette got broken in beta 2. They are now fixed.
  • The Gauntlet drivers are now color-reduced (faster & better). [Aaron Giles]
  • Accurate colors in metack and possibly the other Gameplan games. [Chris Moore]
  • Fixed a couple of palette problems with Snow Bros. It also no longer uses a 16 bit video mode, so it's faster. [nicola Salmoria]

These drivers have improved SOUND

  • Sound in the Gameplan games. [Chris Moore]
  • Updated VLM5030 emulation (Punch Out etc.). Since quality is still bad, the emulator is only used when samples are not avaialble. [Tatsuyuki Satoh]

These drivers have HIGH SCORE support

Other drivers changes

  • Another step forward in getting Super Punch Out to work (still NOT playable). [Tatsuyuki Satoh]
  • Proper emulation of the ROM decryption in Burger Time. [Zsolt Vasvari]
  • Improved Spy Hunter controls (you can play with the mouse or even a wheel now). [Alex Judd]
  • 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]
  • New -listdetails option, to create a detailed list of drivers and the hardware they use. [Mirko Buffoni]

Source

  • Fixed bug in the 6809 disassembler. [Keith Wilkins]

MAME 0.33b4

Released: 1998-05-31

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • Accurate colors:
  • Some fixes to the System 16 games. [Phil Stroffolino]
  • Fixed colors in Paperboy. [Aaron Giles]
  • Slightly reduced the visible area of the Williams games, I'm not sure which would be the correct setting though. [Nicola Salmoria]

These drivers have improved SOUND

  • Wizard of Wor supports word samples. Only 30% of the needed samples are available, however. [Alex Judd]
  • Fixed D-Day. [Zsolt Vasvari]

These drivers have HIGH SCORE support

Other drivers changes

  • Support for the complete Curveball set. This also fixes the crash.
  • Lots of clean up, consolidation, dip switches additions, color fixes to the Carnival driver (which is now called vicdual.c, since Carnival is just one of the many games which run on that hardware). [Marco Cassili]
  • Slowed down a little the Sega raster games.
  • You can assign a joystick button to the gear shift in Spy Hunter.

Changes to the main program

  • Increased the default gamma correction for the DOS version to 1.2. This will not have effect unless you change it in MAME.CFG (or just delete the file).
  • Set back the default vgafreq to -1 (=auto). This is necessary for -vsync to pick the correct freq (most of the time) when used with tweaked VGA modes.
This will not have effect unless you change it in MAME.CFG (or just delete the file).
  • Fixed crash in -verifyroms which occurred in beta 3.
  • Fixed -ror and -rol with ORIENTATION_SWAP_XY games (e.g. Kick) and ORIENTATION_FLIP_X games (e.g. Discs of Tron). [Nicola Salmoria]
  • In the DOS version, -vsync is supported for games running at 57fps (e.g. Moon Patrol). However, due to the sync rate being different, the game runs 6% faster than it should. [Nicola Salmoria]

Source

  • The DOS version is now compiled with GCC 2.8.1.
  • T11 CPU emulator. This is used by the Atari System 2 drivers. [Aaron Giles]
  • I8085 emulator. [Juergen Buchmueller]
  • The 68000 memory handlers can again be word-aligned instead of longword-aligned. [Aaron Giles]
  • Dynamic palette support for games with >256 colors, not complete yet but good for many cases. Drivers who want to use it must first of all set up like the static palette ones (put the real number of colors in MachineDriver->total_colors, etc.), and call palette_recalc() in vh_screenrefresh() before drawing anything. A color uage table must be passed to palette_recalc() so that the function knows which colors are needed.
Drivers which use the new system, and therefore no longer run in 16-bit video modes: Black Tiger, City Connection, Gun Dealer, Ninja Gai Den.
[Nicola Salmoria]
  • Color PROMs no longer have to be included in the source. They can be loaded from disk just like the other ROMs. You just have to replace the color_prom pointer with the PROM_MEMORY_REGION() macro, to tell the core where the PROMs have been loaded. Example driver: Karnov/Chelnov. [Nicola Salmoria]

MAME 0.33b5

Released: 1998-06-10

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • Zaxxon supports rotation (albeit slow). [John Butler]
The new code is also used by these drivers which were previously doing the palette reduction by themselves, but couldn't handle well color cycling and fades: Bad Dudes, Robocop, Hippodrome, Heavy Barrel, Sly Spy, Midnight Resistance. [Nicola Salmoria]
  • The Atari System 2 games automatically pick the 512x384 VESA resolution, instead of going for 1024x768 with pixel doubling. IMPORTANT: if your card doesn't support 512x384, they will not work. You'll have to specify -640x480 or -1024x768. [Nicola Salmoria]
  • Fixed sprite/background priority in Gemini Wing. [Nicola Salmoria]

These drivers have improved SOUND

  • Fixed bug in ADPCM sample playback. Many games are affected, e.g. Robocop, Bad Dudes. [Nicola Salmoria]
  • Attempt at making the main Galaxian / Moon Cresta sound channel more accurate. [Nicola Salmoria]

These drivers have HIGH SCORE support

Other drivers changes

  • Fixes to the Gameplan games. [Santeri Saarimaa]
  • Us vs Them is playable, though of course you can't see the backgrounds which were stored on the laser disc. MACH 3 still doesn't work.

Source

  • New flag IPF_RESETCPU for input ports. When this flag is set, CPU #0 is reset when the key is pressed. This cleaned up the vicdual driver. [Nicola Salmoria]
  • IMPORTANT: drawgfx(...,TRANSPARENCY_THROUGH) now requires the caller to do the mapping with Machine->pens[]. This was necessary to allow for TRANSPARENCY_THROUGH, palette_transparent_color in dynamic palette games.
  • Several fixes to improve Unix portability. [Hans de Goede]

MAME 0.33b6

Released: 1998-06-16

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

  • Fixed some wrong graphics in Lode Runner. [Nicola Salmoria]
  • Roadblaster uses the dynamic palette system. [Aaron Giles]
  • Accurate colors, and many other fixes, in TNZS. [Richard Mitton]

These drivers have improved SOUND

  • Fixed bug in VLM5030 emulator which caused samples not to work. [Tatuyuki Satoh]

These drivers have HIGH SCORE support

  • TNZS. [Santeri Saarimaa]

Other drivers changes

  • 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.
  • Fixed Snow Bros hanging after level 30. [Nicola Salmoria]
  • Removed the partially working protection emulation in Elevator Action, so people will hopefully understand that it doesn't work and use the bootleg instead. [Nicola Salmoria]

Changes to the main program

  • [DOS] New -listgames command, which lists all games along with production year and manufacturer (data has not been entered yet so most of the fields are ????)
Also -noclones option which removes clones from -list, -listfull etc. (clones data has not been entered yet so this is not complete) [Nicola Salmoria]
  • Greater flexibility for ROM placement: ROMs are looked for both in the directory named after the clone, and in the one of the original game.
Note that due to how zip support works, if the ROMs are zipped they can be in subdirectories as well.
(clones data has not been entered yet so this is not complete)
IMPORTANT: due to this change, some ROM sets might require renaming to work again.
  • [DOS] Fixed the NTSC mode. For feedback on this mode, please contact sta@carinthia.com [Zerza]
  • [DOS] Allegro (3.0+diffmay) now supports SideWinders and Gravis Gamepad Pro's and so does Mame. [Bud Crittenden]
  • Emulating analog devices via joystick no longer deactivates the mouse.
IMPORTANT NOTE FOR PORTERS: osd_analog_read() had to be changed.
The mame.cfg setting for joysticks was renamed to "joystick" instead of "joytype". The numbering of joystick types has changed, look into readme.txt [Bernd Wiebelt]

Source

  • [DOS] We are now using Allegro 3.0 + WIP (30th May).
  • [DOS] To improve portability, the makefile is more conservative, using the -pedantic and -Wshadow switches. Note that to compile with these switches, several changes had to be made to allegro.h, which is included.
  • Sygnetis 2650 emulator [Juergen Buchmueller]
  • Improved cycle counting in the 6809 emulator. [Mathis Rosenhauer]
  • Added new fields to the GameDriver structure:
"source_file" (set it to __FILE__, this is used to automatically generate reference lists);
"clone_of", used to link clones to the main version of the game.
"year" and "manufacturer", for production year and company;
"flags", for future use.
  • Drivers using the VIDEO_SUPPORTS_16BIT mode can use the same API as VIDEO_MODIFIES_PALETTE ones (palette_change_color(), palette_recalc()). The old setgfxcolorentry() method is still supported but discontinued, and will be removed when all the existing drivers are converted to the new system.
To use the new API, you must set BOTH the VIDEO_SUPPORTS_16BIT and the VIDEO_MODIFIES_PALETTE flags. Removing the _16BIT flag is all it takes to switch from 16-bit to dynamic mode, so you can quickly test if the palette can be compressed (_16BIT is much slower, so don't use it unless absolutely necessary). [Nicola Salmoria]
  • To help drivers in better optimizing video refreshes, palette_recalc() now returns a pointer to an array indicating which colors have been remapped and need a refresh. If you don't need it, you can still consider it a boolean value (0 = no need to redraw). [Nicola Salmoria]
  • On the Mac, the dynamic palette uses 254 colors instead of 256. Due to this, now ALL drivers using VIDEO_MODIFIES_COLOR and 256 colors must call palette_recalc() like the others. [Aaron Giles]
  • [DOS] The average FPS is printed on exit. [Nicola Salmoria]

MAME 0.33b7

Released: 1998-07-21

New ROM sets supported (in no particular order)

A lot of ROM renaming and moving around has been done. I know this is annoying but it was necessary for ROM set merging. See merged.txt for details.

These drivers have improved GRAPHICS

  • Cocktail mode support in some games (invaders, btime, etc.). [Martin Sandiford]
  • Inspired by Retrocade and Vector Dream, changed the vector games to use translucent vectors. Color intensities had to be lowered, if it feels to dark for you now, increase the gamma correction value. [Bernd Wiebelt]
  • Fixed sprite priorities and tile flip in Pinball Action. [Nicola Salmoria]
  • Fixed Motos High Score display. [Zsolt Vasvari]
  • Moon Cresta uses the original gfx ROMs, fixing graphics glitches on the title screen.

These drivers have improved SOUND

  • Sound in Toki. [Nicola Salmoria]
  • The YM3812 emulator still passes commands to the Sound Blaster OPL chip, but it handles timers in software. osd_ym3812_status and osd_ym3812_read removed. [Aaron Giles]
  • Emulated sound in Yie Ar Kung Fu (but you still need samples for speech) [Nicola Salmoria]
  • Emulated music in Carnival, and support for a new set of samples. [Peter Clare]
  • TMNT title music. [dayvee@rocketmail.com]

These drivers have HIGH SCORE support

  • Fixed Rygar (you'll have to delete your old .hi file) [Dani Portillo]

Other drivers changes

  • Fixed hangs in Tapper, and hopefully other MCR games as well. [Aaron Giles]
  • Some fixes to Quantum. [Paul Forgey]
  • The default scores in Paperboy and Super Sprint are correct (though of course you must delete the .HI files) [Aaron Giles]
  • Super Qix might be running at the proper speed now. [Nicola Salmoria]

Changes to the main program

  • Close to accurate 68000 instruction timing. [Brian Verre]
  • Slightly improved speed of the 68000 emulator. [Darren Olafson]
  • The copyright disclaimer and driver credits screens are shown only the first time a game is run. The game information screen is always shown since it may contain important info.
  • Improved handling of 4 way joysticks. [Martin Sandiford]
  • [DOS] Modified the code so that to start a game you can use
a) the full game name as listed in "mame -listfull"
b) any ordered subset of the characters used in the full game name
So you can start Asteroids Deluxe like:
  mame "Asteroids Deluxe"         !note the quotes!
  mame astdelx
  mame adlx
The less characters you use, the more likely you'll be surprised which game actually gets choosen. [Bernd Wiebelt]
  • [DOS] To improve comaptibility, older VESA modes are back. If your card doesn't work in VESA mode, try "vesamode=vesa2b" or "vesamode=vesa1" in mame.cfg [Bernd Wiebelt]
  • [DOS] Slightly changed the resolution picker, so that when -vesa and -noscanlines are requested, it will use e.g. 320x240 instead of 640x480 with pixel doubling, and 400x300 instead of 800x600 with pixel doubling.
If the lower res mode is not available, it automatically switches back to the pixel doubled mode. [Nicola Salmoria]
  • [DOS] New -listclones command, which lists in two columns the clones and the game they are clone of. [Nicola Salmoria]
  • Changed the AY8910 emulation to generate three separate audio streams for the three channels instead of premixing them. This improves audio quality, increases the volume, and doesn't seem to affect performance too much. [Nicola Salmoria]

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]
  • The (*vh_update)() call has an additional parameter, full_refresh. When it is 0, the driver may assume that the screen has not been altered by the main engine since the last call, and do an incremental update instead of redrawing the full screen. [Brad Oliver]
  • For convenience, added some commonly used palette read/write fucntions to vidhrdw/generic.c. [Nicola Salmoria]
  • Support for 16 bit samples in sndhrdw/samples.c.
IMPORTANT NOTE FOR PORTERS: for consistency with the sound libraries, osd_play_sample_16() and osd_play_streamed_sample_16() now want the lenth in _bytes_ of the array, instead of the length in _shorts_ as it was before. [Peter Clare]
  • Added the I8039 to the debugger, using Mike Cuddy's disassembler. [Andrea Mazzoleni]

MAME 0.33rc1

Released: 1998-07-29. Note: the original whatsnews.txt from v0.33rc1 was formed from all the updates during the 0.33 beta and release candidate versions. Below shows the items which are new in this version.

New ROM sets supported (in no particular order)

These drivers have improved GRAPHICS

Source

  • On the Mac, the dynamic palette uses 254 colors instead of 256. Due to this, now ALL drivers using VIDEO_MODIFIES_COLOR and 256 colors must call palette_recalc() like the others. Also be warned that 256 colors static palettes will be shrinked, so if you are using colors for copybitmap() transparency you'll have to make sure that they are assigned an unique pen.

MAME 0.33

Released: 1998-08-10. Note: the original whatsnews.txt from v0.33 was formed from all the updates during the 0.33 beta and release candidate versions. Below shows the items which are new in this version.

These drivers have improved GRAPHICS

  • Accurate colors:
Warlords [Zsolt Vasvari]

Other Versions


Personal tools