MAME 0.35b1 was released on 7 January 1999.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Replaced Super Punch Out with a good set
- Added missing PROMs to Black Tiger
- Nicola Salmoria added proper support of the playfiled/sprite priority and palette system in Return of the Jedi.
- Nicola Salmoria fixed the NeoGeo palette - it's 5 bits per gun, not 4. Of course this makes the reduction to 256 colors even more difficult. 16-bit video modes will be supported in a later version.
- Larry Bank added a kludge to avoid leftover sprites in Rally-X.
- Nicola Salmoria fixed a missing background behind the three towers in Metal Slug level 1.
- Nicola Salmoria fixed a missing line in the tank's shot in Metal Slug intro.
- Gary Walton fixed the Swimmer side panel background color.
- Howard Cohen added the 007232 to TMNT. Another sound chip is still missing to get 100% sound.
- Nicola Salmoria added partial sound in The Real Ghostbusters. The YM203 doesn't seem to work correctly.
- Howard Cohen added high score support to Road Fighter, Iron Horse.
- Zsolt Vasvari fixed two players games in Phoenix, and the protection in Pleiads (which made game resets not work).
- Nicola Salmoria widened the frameskip range in the DOS version. It now is 0-11, meaning the number of frames to skip out of 12. For example, if the game normally runs at 60 fps, "-frameskip 2" will make it run at 50 fps, and "-frameskip 6" at 30 fps. Also, if a frame takes more than the allotted time to display, the lost time can be recovered in the following frames. Moreover, improved the way audio streams are handled, so they stay more in sync with the video. There should never be any more audio breakups EVER (as long as your system can keep the game running at 100% speed). All of these changes together mean that it is now possible to run at much higher frame rates than before (if your system is fast enough).
- Nicola Salmoria implemented auto frameskip in the DOS version. It dynamically adjusts the frameskip setting to display the maximum possible frames without dropping below 100% speed. It is on by default; to turn it off, specify an explicit frameskip value, e.g. "-frameskip 0". Autoframeskip only works well if your machine is fast enough to run the game at 100% speed. If it isn't, you had better use a fixed frameskip. NOTE: you must delete mame.cfg (or manually change the line "frameskip = 0" to "frameskip = auto") for the auto frameskip to become the default.
- Nicola Salmoria and Michael Cunnanan added "vmame" modes 320x480 and 400x600 to the DOS version, which speed up scanlined VESA modes for some games and graphic cards which support these resolutions. Currently, these modes will not be autodetected, that is, the commandline options "-320x480" or "-400x600" have to be used.
- Bernd Wiebelt changed MAME so joysticks are now selected by a symbolic name (e.g. "-joystick wingex" for Wingman Extreme) instead of a number. For the list of names, look into readme.txt. Numbers are still supported, but may not be in future releases. SNES gamepads on parallel ports are supported now, provided you have some additional hardware (the "official" Snespad-Support site is http://snespad.emulationworld.com).
- Bernd Wiebelt added support for VESA3 to the DOS version for cosmetical reasons, which can be selected by putting "vesamode=vesa3" into mame.cfg. It is highly unlikely that you'll get any speed improvement.
- Nicola Salmoria added a new function cpu_getcurrentframe() which returns the number of the video frame currently being played. It can be used by drivers to control effects which spawn over multiple frames (e.g. blinking) without using static internal counter (which would require a custom interrupt handler to avoid problems when the game is paused).
- Nicola Salmoria changed frame skipping so it is entirely handled by the OS dependant code. osd_skip_this_frame() no longer has the "recommend" parameter. Also, replaced osd_update_display() and osd_update_audio() with the single osd_update_video_and_audio(). IMPORTANT: osd_update_video_and_audio() is called *every frame* by the main core. It's its responsability to know whether the frame has to be skipped. osd_skip_this_frame() is used by the main core only to know if it can avoid calling drv->vh_update().
- Juergen Buchmueller added a new CPU interrupt system. The functions cpu_set_irq_line() and cpu_set_nmi_line() can be used to precisely control the status of the CPU physical lines, instead of using the limited control granted by cpu_cause_interrupt().
- Hiromitsu Shioya added a Konami 007232 sound chip emulator. This is used by TMNT.
- Brad Oliver changed the driver input ports to be 16 bit. This allows for higher resolution analog inputs (Arkanoid 2). Also, the 68000 based games no longer have to read and mix two 8 bit ports to get a 16 bit value.
- Bernd Wiebelt changed the DOS port to be compiled with Allegro 3.1. Unfortunately the standard allegro.h doesn't compile with the pedantic compiler setup we are using, you'll have to use the provided fixed version instead.
- Nicola Salmoria added a horrible dirty hack to allow opcode encryption on CPUs other than the main one. It's really ugly and needs a rewrite, but it's enough to get sound in Pocket Gal and The Real Ghostbusters.
- Nicola Salmoria exported info_cpu_name(), info_sound_name() and other similar functions from info.c so they can be used by usrintf.c and by anyone else who needs them.
New games added or promoted from NOT_WORKING status
New clones added