MAME/0.81

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

Version 0.81 "W"

Released: 2004-04-01

General Source Changes

  • Various ZN related updates [smf, R.Belmont]
several games now display more, for example primrag2 plays the intro movie
  • i386 CPU core (used by the SPI driver) [Ville Linde]
  • ST-V Improvements [Mariusz Wojcieszek]
gfx in colmns97 / sassisu / ejihon are improved
  • CHDMan CHDCD creation fix [R.Belmont]
  • Improved timing of several 68k instructions [Sebastien VOLPE]
these changes could do with being verified on a real 68k
m68kcpu.h, m68kcpu.c:
A) scc (68000 only): CYC_SCC_R_FALSE was defined, not used, and misnamed as the extra 2 cycles happens when CC is true: now used and renamed to CYC_SCC_R_TRUE
m68kmake.c:
B) add/adda/and/or/sub/suba (68000 only): the 'extra 2 cycles' cases were not handled correctly: corrected to be effective on .l only, and also on register direct (previously, all sizes were affected, and only in immediate mode)
C) jmp d(An,Xn) / pea (An) (68000/68010): tables corrected
D) movem (68000/68010): generated basecount were incorrect in many cases, so I added a dedicated table
m68k_in.c:
E) movem.l d(PC),reglist / movem.l d(PC,Xn),reglist (68000/68010): changed basecount
F) asr/asl/lsr/lsl/ror/rol/roxr/roxl (68000/68010): added '+2n' cycles where missing, as the shift/rotate memory is the only case where '+2n' does not apply, and is treated in a specific opcode handler.
  • Fixed small v60 bug related to Aaron's recent changes [Olivier Galibert]
  • Fixed several small Hyperstone CPU core bugs [Pierpaolo Prazzoli, Mooglyguy]
  • Fixed a couple of compile warnings for other compilers [Lawrence Gold]

New Games supported or promoted from GAME_NOT_WORKING status

  • Gallop Racer [smf]
  • Beastorizer [R.Belmont, smf]
both of these have very bad sound emulation

New Non-Working games / clones supported

gfx are encrypted, sound communication not understood, help on this is welcome.
  • Senkyu / Battle Balls
  • Viper Phase 1
  • E-Jan High School
  • Raiden Fighters
  • Raiden Fighters 2
  • D-Day (Jaleco) [Pierpaolo Prazzoli]
unemulated Jaleco protection chip

Version 0.81u1

Released: 2004-04-02. Development synchronisation update, not generically available.

Just a dev-sync update, done by request

General Source Changes

  • Fixed a bug with Beastorizer hi-score portraits [smf]
  • Fixed another Hyperstone bug [Pierpaolo Prazzoli]
  • Partial Raiden 2 Sprite Decryption (check sprite gfx with viewer, F4)

New Non-Working games / clones supported

some vital tgp coprocessor functions are not simulated correctly
unemulated protection

Version 0.81u2

Released: 2004-04-03. Development synchronisation update, not generically available.

Minor Update, just to help me stay in sync

General Source Changes

  • Various ZN updates [smf, R.Belmont]
  • Improvements to Raiden 2 decryption

New Games supported or promoted from GAME_NOT_WORKING status

Version 0.81u3

Released: 2004-04-04.

clean compile required otherwise things won't work as they should

General Source Changes

  • Various ZN updates [smf, R.Belmont]
several games are improved (Brave Blade, Judge Dredd etc.) but still need work
  • Made Raiden DX display something (but not much)
  • i386 Core Fixes + SPI improvements [Ville Linde]
senkyu / ejanhs now do something
  • Preliminary PGM sound emulation [Olivier Galibert]
has bad sounds + causes crashes for now
  • Centipede Driver Cleanup [Aaron Giles]
  • Reset Fix / Timer Bug Fix [Aaron Giles]

New Games supported or promoted from GAME_NOT_WORKING status

New Non-Working games / clones supported

this will never work (encryption etc.) driver does NOTHING, for reference only Street Fighter III etc.

Version 0.81u4

Released: 2004-04-08.

General Source Changes

  • Hyperstone CPU core fixes [Pierpaolo Prazzoli]
  • Added addressing of next byte if in load / store instructions using Displacement Address Mode PC is used as register destination
  • Added local registers wrap around modulo 64
  • Added trap instructions to the dasm
  • Added some debug info when high global registers are written
  • Fixed some wrong format in the dasm
  • Changed reset to act as an exception, as the doc claims (before it crashed if reset was used as an exception)
  • Killer Instinct Fixes [Aaron Giles]
  • cleaned up memory maps
  • found second bitmap page, fixing a bunch of video problems and romoving the egregious hack I had in there before
  • fixed sound reset and initialization
  • all diagnostics pass
  • fixed coinage dipswitches
  • added 2 alternate ROM sets for each game
Fixes: kinst067gre2, kinst072gre
  • MIPS DRC fixes [Aaron Giles]
  • Fixes an edge case where a memory access like:
lw r3,$0(r0)
would leave the stack in a funny state and lead to a crash.
Fixes kinst067red.
  • Instructions of the form:
ld r10,0(r10)
Would load the low word into r10 first, and then use the modified r10 (plus 4) as the address of the high word. Bad bad bad.
Fixes the sky graphics in several of the kinst2 levels.
  • ZN Improvements [smf]
24-bit rendering support for Judge Dredd
  • Updates to the 'jalmah' driver [Angelo Salese]
kakumei and kakumei2 now boot but neither are playable due to protection
  • Misc Updates [Nathan Woods]
src/windows/windows.mak:
  • Fixes the afore mentioned problem with x86drc.c
src/fileio.c:
src/windows/fileio.c:
  • Adds in a new (windows only) mode for opening files whereby files can be opened for read/write, but changes are not actually not written to the original file but rather to a temporary file. This trick is used by the MESS testing facility so that tests do not mutate the images they operate on.
  • Small cleanups
src/png.c:
  • Replaces a #ifdef MESS/#else/#endif combo with a usage of the APPNAME macro
  • SPI / 386 updates [Ville Linde]
  • raidnfgt now runs normally and correctly through attract mode and gameplay, modulo the encrypted graphics. Still kinda mesmerizing :-)
  • viperp1 starts to boot now, but doesn't get very far
  • Hooked up the Z80 bankswitching, so sound started playing in some games (notably Raiden Fighters). (R.Belmont)
  • Various ST-V updates [Mariusz Wojcieszek]
fixes sprites in groovef which is now playable, adds some RBG0 scrolling which greatly improves background graphics in cotton2, cottonbm, grdforce and othellos
  • Debugger Fixes [Aaron Giles]
This is a quick attempt to make the debugger more useable with the new memory system. The masking of addresses and data should now be working properly again.
Also, you can go to any memory window and type 'P' to view program address space, or 'T' to view data address space.
  • OSD 'NO EXECUTE' Support [Aaron Giles]
This patch introduces two new OSD functions:
osd_alloc_executable();
osd_free_executable();
For most platforms, these can just map to malloc and free. However, starting with WinXP SP2, if you are running on a processor that supports the NO_EXECUTE bit (currently only 64-bit AMD chips), standard user-mode memory allocations won't allow you to put code in them and execute it.
Since this is exactly what x86drc.c does, I've added the two functions above. On Windows, these map to calling VirtualAlloc and VirtualFree, which allow you to specify the read/write/execute states of the pages thus allocated.
  • Lethal Justice / Egg Venture Cleanups [Aaron Giles]
  • merged memory maps
  • fixed video size in Egg Venture to correct flicker
  • switched to VIDEO_RGB_DIRECT
  • removed unnecessary ROM regions and memcpy'ing
  • Rockola Cleanups / Fixes [Curt Coder]
  • Fantasy/Nibbler/Pioneer Balloon
drivers/rockola.c
sndhrdw/rockola.c
  • Correct CPU frequency from schematics
  • Hooked up SN76477 sound for BOMB effect
  • Merged memory maps
  • Cleaned up driver a bit
  • Fixed dips
  • Enabled debug inputs

New Games supported or promoted from GAME_NOT_WORKING status

  • Ghostlop (prototype)
  • Super Rider [Aaron Giles]
  • Some ST-V Games
these are still very slow ;-)
  • Groove On Fight [Mariusz Wojcieszek]
  • Othello Shiyouyo [Mariusz Wojcieszek]
  • Danchi de Hanafuoda [thanks to Runik/Saturnin]

New Clones supported or promoted from GAME_NOT_WORKING status

  • Driving Force (Galaxian hardware, bootleg) [Pierpaolo Prazzoli]
  • Snow Bros (set 4) [Fabrice Arzeno]

New Non-Working games / clones supported

  • Lord of Gun
some sort of protection?
  • Taito JC System
will need 68040 and mc68hc11m0 emulation before its going to work
  • Densya De Go (1, 1ex, 2, 2ex)
  • Side by Side (1 & 2)
  • Landing Gear

Version 0.81u5

Released: 2004-04-14.

General Source Changes

  • Removed vblank callback logging left in by mistake [Aaron Giles]
  • Fixed slow Seattle boot times caused by recent IDE change [Aaron Giles]
  • DCS2 upload command HLE optimization (to make driver easier to work with) [Aaron Giles]
  • MIPS core interrupt fixes [Aaron Giles]
  • MIPS core MIPS3DRC_FLUSH_PC option for accurate PC handling when debugging [Aaron Giles]
  • Fixed MIPS bug when directly accessing 2-byte values in big endian mode [Aaron Giles]
  • Seattle Update [Aaron Giles]
seattle.c:
  • improved VBLANK interrupt handling
  • cleaned up handling of DMA operations
  • DMA operations now properly pause if they can't write to the voodoo
  • now returning proper PCI IDs for the bridge device
  • mapped more inputs and DIP switches for Biofreaks
  • fixed clock speed for Wayne Gretzky's 3D Hockey
  • cleaned up memory maps
  • added Vapor TRX to the supported games
  • added entries for Hyperdrive and SF Rush: The Rock (no hard disks ATM)
midwayic.c:
  • added faux support for setting the real time clock (to pass diags)
  • added shuffle map for Vapor TRX
  • implemented crude loopback in UART (to pass diags)
voodoo.c:
  • added full memory FIFO emulation
  • removed hack for fastfill operations after a buffer swap
  • added compile time option to reduce the resolution
  • added client callbacks for VBLANK synchronization
  • cleaned up handling of statistics and debugging info
  • added optional R/B component swapping (for vaportrx)
  • fixed crashing problems when executing Midway POSTs
  • now dynamically computing refresh rate based on hSync/vSync registers
  • Improved Raiden 2 Sprite Drawing [David Haywood]
Game still not playable due to banking / protection issues
  • Misc Fixes [Nathan Woods]
src/osdepend.h:
  • Added __attribute__((noreturn)) to osd_die() when compiling under GCC 2.5 and greater
src/memory.c:
src/state.c:
src/x86drc.c:
src/cpu/i386/i386.c:
src/cpu/i386/i386op16.c:
src/cpu/i386/i386op32.c:
src/cpu/i386/i386ops.c:
  • Converted printf()/exit() combination of calls to osd_die()
src/windows/config.c:
  • osd_die() messages now get sent to both logerror and console output
src/cpu/i386/i386op16.c:
src/cpu/i386/i386op32.c:
src/cpu/i386/i386ops.c:
  • Implemented i386 in/out instructions
  • Model 1 lighting improvements [ElSemi]
  • TMS32025 Fixes [Phil Stroffolino, Quench]
  • SPI System Updates [Ville Linde]
  • Applied text layer decrypt to the regular tiles, it also improves them a lot
  • Greatly improved tilemap emulation including scrolling, layer disables, etc.
  • Improved tilemap emulation further, including tile bank select and palette bank select.
  • Supports alternate (older?) video hardware in viperp1 with one fewer tilemap and a different VRAM layout.
  • Added mahjong keyboard controller for ejanhs, but it doesn't coin up yet.
  • Improved sprite drawing
  • Sound starting to work in the single-board rf2_us
  • Konami GX Cleanups [R.Belmont]
  • Removed Acho's fake dipswitches to avoid confusing real PCB owners
  • Unified and cleaned up memory maps to latest specs.
  • Some more protection emulation for rushhero (the spritelist is now copied to the right place), but no visible results
  • Removed unused routines to stop warnings on GCC 3.3+
  • Fixed the PSAC tile decode for type 3 and type 4 games.
  • Fixed the PSAC tilemap flipx/y flags for type 3.
  • Rock-ola Improvements [Curt Coder]
drivers/rockola.c
sndhrdw/rockola.c
  • More cleanup
  • Added sn76477 interfaces to other games, not connected yet, needs discrete sound expert (wink wink)
  • Added vanguard SHOTB sound effect
  • Added NO_DUMP to vangrdce fake roms
  • Correct ROM names for nibbler from manual
  • MegaPlay Improvements allowing it to pass more checks [Barry Rodewald]

New Games supported or promoted from GAME_NOT_WORKING status

New Clones supported or promoted from GAME_NOT_WORKING status

New Non-Working games / clones supported

MegaPlay emulation is still incomplete
locks up when you attempt to start a game
missing harddisks

Version 0.81u6

Released: 2004-04-18.

General Source Changes

  • Fixed missing enemies in noboranb [Stefan Jokisch]
  • Fixed leprechn service switch broken in the last update [Stefan Jokisch]
  • Misc Fixes [Nathan Woods]
src/cpu/i386/i386ops.c:
src/cpu/i386/i386op32.h:
src/cpu/i386/i386op16.h:
src/cpu/i386/i386op16.c:
  • Partially implemented INT, INT3, ES segment override, an IMUL variant, LMSW, a minor 16 bit bug fix, and coprocessor escape instructions
src/cpuintrf.c:
src/cpuintrf.h:
  • Added the MESS specific TMS7000 core to the list of CPU cores
  • SPI updates [Ville Linde]
  • Added sprite flipping and other improved sprite processing
  • Corrected palette banking on tilemaps
  • Fixed Kaitei Daisensou speedup [BouKiCHi]
note: speedups may soon be removed from the m92 driver as they aren't really that significant on modern hardware
  • Model 1 Sound [R.Belmont]
  • Fixed some ST-V sprite bugs [Mariusz Wojcieszek]
(hanagumi intro, othellos title, cottonbm intro, diehard intro, sleague)
  • Fixed the GPL12 opcode [smf]
(fixes cbaj graphics)
  • i386 updates [Ville Linde]
  • Regression tested the i386 core. Found and fixed bugs in several shift/rotate instructions. This corrects the bosses in Raiden Fighters.
  • Completely rewrote REP/REPNE prefix handling. Fixes the following: Battle Balls attract mode runs correctly now, balls no longer all the same color in-game in Battle Balls, E-Jan now coins up, and Viper Phase 1 is now playable (with encrypted gfx).
  • MIPS software interrupt fix [Aaron Giles]
  • Seattle Update [Aaron Giles]
  • added a diagram of interrupt sourcing
  • fixed incorrect checksums on SF Rush: The Rock audio ROMs
  • added support for DCS HLE downloading via FIFO (used by Vegas games)
  • fixed incorrect sound pitch in Blitz 99/2k
  • Hyperstone Fixes [Pierpaolo Prazzoli]
  • Added h flag handling in the dasm
  • Fixed wrong interpretation of some opcode bits in the dasm
  • Fixed Frame instruction when d-code was 0
  • Always set the new entry table
  • Minor improvement to Lord of Gun driver (still doesn't work) [Pierpaolo Prazzoli]
  • YMZ280B update [R.Belmont]
(Fixes suprnova073gre)

New Games supported or promoted from GAME_NOT_WORKING status

New Non-Working games / clones supported

(unemulated v810 cpu, being worked on)
(r3000 side not finished)

Version 0.81u7

Released: 2004-04-22.

General Source Changes

  • Sound in the ST0016 driver [R.Belmont, Tomasz Slanina]
Neratte Chu & Renju Kizoku now have sound
  • Misc Cleanups [Lawrence Gold]
  • Fixed a couple of issues with hard disks without checksums [smf]
  • Dipswitch corrections for Karate Blazers, Turbo Force, Raiden 2 [Brian Troha]
  • Megaplay Improvements [Barry Rodewald, GreyRogue]
  • SPI / 386 Updates [Ville Linde]
  • Added the missing keys to E-Jan
  • Added layer enable register
  • Wrote a new i386 disassembler. Dasm386 wasn't always showing stuff correctly, and now the i386 core can be compiled without i86.
  • Preliminary Dallas DS2404 (RTC/CMOS) emulation
  • Added 93C46 eeprom to RF2 single and RF2 2K. It's not hooked up though.
  • Improved i386/z80 interleaving. This should help with the small pauses.
  • Fixed some stuff in the i386 core. These don't seem to affect the SPI games, but should help with MESS
  • 386 Improvements [Nathan Woods]
src/cpuexec.c:
  • Adds a check enabled when MAME_DEBUG is defined that raises an error if the CPU core executed a negative cycle count
src/cpu/i386/i386.c:
  • Fixed a bug in i386_set_info() when changing the EIP register
src/cpu/i386/i386dasm.c:
src/cpu/i386/i386op32.[c|h]:
src/cpu/i386/i386op16.[c|h]:
src/cpu/i386/i386ops.c:
  • Fixed some compilation errors under non-GCC compilers
  • Implemented ES, BOUND, DAA, DAS, AAS, INSB, INSW, OUTSB, OUTSW, LES, LDS, HLT, LSS, LFS, LGS, IMUL with a 32 bit adjustment,
  • 386 Improvements [Ville Linde]
  • added DS and SS segment prefixes. renamed fs,gs -> segment_FS, segment_GS
  • added INTO opcode
  • regression tested and fixed AAS opcode (incorrect behavior in Intel docs)
  • added AAA opcode (with correct behavior)
  • added AAD and AAM opcodes
  • added CMC opcode
  • added SETALC opcode which is undocumented
  • removed a non-existing PUSH8 opcode from groupFE_8. Doh ;-)
  • regression tested and fixed SHLD and SHRD opcodes
  • fixed AF flag calculation
  • fixed AF flag in SUB and DEC opcodes

New Games supported or promoted from GAME_NOT_WORKING status

Megaplay still has a few issues (continue without extra coins etc.)

New Clones supported or promoted from GAME_NOT_WORKING status

  • Area 51 (R3000 Version) [Brian Troha]
still needs speedup finding

New Non-Working games / clones supported

needs new decryption key

Version 0.81u8

Released: 2004-04-27.

General Source Changes

  • 386 updates [Nathan Woods]
src/cpu/i386/i386.c:
  • Implemented usage of segment limits (or whatever they are called)
  • Implemented 16-bit interrupts
  • Initial values of IDTR are now properly specified
  • i386_interrupt() is no longer called when i386_set_irq_line() is called with a state of zero
  • Actual cycle count is now returned
src/cpu/i386/i386op16.c:
  • Partially implemented far CALL and JMP instruction
src/cpu/i386/i386ops.c:
  • Implemented PUSH rm8 instruction
  • i960 cpu core / disassembler [Olivier Galibert, R.Belmont, Farfetch'd]
  • SPI Improvements [Ville Linde]
SPI:
  • The "old" video hardware (viperp1) does have 3 layers after all, but no rowscroll. Fixed.
386:
  • Bugfixed Nathan's REP
  • Fixed YMF271 pitch [Ville Linde]
improves music in Brave Blade
  • Fixed small fileio problem [Nathan Woods]
  • 386 updates [Nathan Woods]
  • Added a distinction between maskable and non maskable interrupts (like int 3, illegal instruction etc)
  • Added a distinction between invalid and unimplemented instructions. Invalid instructions raise an interrupt, and unimplemented instructions call osd_die() for now
  • i386_set_irq_line() will no longer raise an interrupt when passed with state=0
  • Various string intructions now use SI/DI instead of ESI/EDI when in 16-bit mode
  • Implemented LOCK and RETF
  • Fixed a bug in LMSW
  • Minor disassembler fixes
  • Improved PSX sio [smf]
  • Various DIP fixes [Brian Troha]
Gold Medalist (alpha68k.c)
Break Through (brkthru.c)
Got-Ya (gotya.c)
American Horseshoes & Plotting (taito_l.c)
  • Phil's 'if I get hit by a bus' Namco S22 MLE update [Phil Stroffolino]
TMS32025:
bugfix for lst and lst1 opcodes; the "ignore ARP" hack has been replaced with a better hack, that doesn't interfere with indirect addressing.
Preliminary serial I/O support has been added, to update DRR/DXR on RINT and XINT interrupts. set_irq_line() no longer masks the lines with 0x7; this allows external triggering of RINT/XINT interrupts.
System22 driver changes:
  • display list processing is now done by the master DSP
  • the slave DSP's in-game graphics processing and "custom render devices" are currently simulated, which works only for Prop Cycle
  • support for PDP block-based memory transfers
  • support for DSP data/code uploads from main CPU
  • support for "Point RAM" and "Point ROM" access
  • most self tests are working in Prop Cycle and Ridge Racer (Japan)
  • prelim hand-crafted "internal ROMs" for master and slave DSP
  • various notes regarding DSP ports/addressing

New Games supported or promoted from GAME_NOT_WORKING status

New Non-Working games / clones supported

  • MACS (Multi Amenity Cassette System) [David Haywood]
unknown cpu, seems to be z80 based (16-bit?) with extra opcodes
preliminary emulation (doesn't get very far) to test i960 core

Version 0.81u9

Released: 2004-04-28.

General Source Changes

  • Cleanups of i960 core so the disassembler compiles [Olivier Galibert]
  • Corrected some vsnes filenames [Chack'n]
  • SCSP Update [ElSemi]
  • Fixed envelope rates to be correct
  • Added key rate scaling support
  • Added ringbuffer support
  • Added colour proms to Moon Base [Stefan Jokisch]
  • Changed file handling behavior, adding a one character buffer [Andrea Mazzoleni]

New Games supported or promoted from GAME_NOT_WORKING status

but suffers from random lockups on bosses

New Non-Working games / clones supported

doesn't work, incomplete decryption?
wip driver, still being worked on

Other Versions


Personal tools