Mario's World Forums  

Go Back   Mario's World Forums > The Rest > ► Emulation

► Emulation (Forum related to the discussion of emulation on a PC. i.e.: M.A.M.E., PSPE, WinUAE, ROMs et al.)

Thread Tools Display Modes
Old 10th February 2009, 08:32 AM   #1
Special Guest
Mario's Avatar
Join Date: Dec 2008
Location: Australia.
Posts: 568
Post M.A.M.E. v0.129 released.

A new version of M.A.M.E. is available here.

Here is what is new:

MAMETesters Bugs Fixed
- 02644: [Gameplay] tdragon, tdragon1, hachamf: Coin counter doesn't decrease (Angelo Salese)
- 02799: [DIP/Input] mace: No player 2, button 4 available for mapping (Phil Bennett)
- 02676: [Color/Palette] All Laserdisc Games: Wrong colors using Direct3D on ATI cards. (Aaron Giles)
- 02104: [Crash/Freeze] metlhawk, metlhwkj: Crash while decoding with '-debug' trigger (Aaron Giles)
- 02575: [Misc.] taitogn: Not marked as bios in -listxml (Aaron Giles)
- 02779: [Crash/Freeze] sfiii2j: Access Violation with -debug (Aaron Giles)
- 02141: [Crash/Freeze] sunaq: At the Title, Game is Crash (Aaron Giles)
- 01961: [Crash/Freeze] jdreddp: [debug] Access Violation when loading savestate with -autosave and -debug (Aaron Giles)
- 02012: [Crash/Freeze] fatalerror with "symlist" while running game (Aaron Giles)
- 02760: [Crash/Freeze] Games using MC6845: Crash with an error on startup before OK. (Phil Bennett)
- 02714: [Sound] 3stooges: Speech works for a while, then starts going in and out of horrible noise and static (Aaron Giles)
- 02793: [DIP/Input] funkyjet: Unable to locate input port 'P1'. (Phil Bennett)
- 02776: [Crash/Freeze] mwalk, mwalkj, mwalku: Crash when starting game (Aaron Giles)
- 02790: [Core] Mame will crash on single monitor system if set to numscreens 2 in the *.ini. (Aaron Giles)
- 02791: [Crash/Freeze] cafetime: Access Violation with -debug (Phil Bennett)
- 02788: [Misc.] jjack, dorunrun and clones: Immense emulation speed drop (smf)
- 02742: [Crash/Freeze] xsleena and clones: Game freezes (Mamesick)
- 02768: [Documentation] mk3, mk3r20, mk3r10, mk3p40, umk3, umk3r10, umk3r11 : Roms incorrectly named as umk3 instead of mk3 + two versions of U2 SOUND ROM. (Aaron Giles)
- 02773: [Crash/Freeze] all gamecstl.c sets: [debug] Assertion (Aaron Giles)
- 02781: [Documentation] mt_mwalk: Change title to "Michael Jackson's Moonwalker (Mega-Tech)" (Aaron Giles)
- 02780: [Crash/Freeze] nss_smw: Integer Overflow with -debug (Aaron Giles)
- 02782: [Crash/Freeze] swa: [debug] Access Violation with -debug (Aaron Giles)
- 02783: [Crash/Freeze] SMS-Based megatech.c sets: [debug] Access Violation with -debug (Aaron Giles)
- 02785: [Crash/Freeze] a51site4: Interger Overflow with -debug (Aaron Giles)
- 01092: [Crash/Freeze] debugger crashes when exiting during "run to cursor" (robiza)
- 02738: [Documentation] zoar: The rom marked as bad dump is not bad.
(Aaron Giles)
- 02758: [Compiling] linking ldplayer fails (Aaron Giles)
- 02764: [Crash/Freeze] liberatb: [debug] Access Violation (Atari Ace)
- 02765: [Crash/Freeze] all naomi.c sets: Assertion (Aaron Giles)
- 02771: [Crash/Freeze] all ddragon3.c, shadfrce.c and wwfsstar.c sets:
[debug] Assertion (Mamesick)
- 02770: [Crash/Freeze] aceattac: Interger Overflow (Aaron Giles)
- 01437: [Sound] hardhead: MAME has the clock frequency of the YM3812
wrong. (Phil Bennett)
- 02772: [Crash/Freeze] hanayara: [debug] Access Violation
(Phil Bennett)
- 02186: [Misc.] vliner, vlinero: Typo of manufacturer. (Phil Bennett)
- 02747: [Compiling] Compile error on openSUSE 11.1 / gcc 4.3.2 with
OPTIMIZE=3 (Aaron Giles)
- 02763: [Crash/Freeze] some leland.c sets: Access Violation
(Phil Bennett)
- 02766: [Crash/Freeze] topgunnr: Hangs (Phil Bennett)
- 02761: [Crash/Freeze] cntrygrl: [debug] Access Violation
(Phil Bennett)
- 02762: [Crash/Freeze] galkaika, galkoku, hyouban, mcontest,
tokimbsj, tokyogal, uchuua: Access Violation (Phil Bennett)

Source Changes
Significantly optimized the inner execution loop. arknoid2 is ~2.5x
faster with maximum interleave now. [Aaron Giles]

CPU interface organization shuffle. The file cpuintrf.h now merely
describes the interface, but does not contain any implementation.
All remaining bits of implementation have been migrated either to
cpuexec.c or to debugcpu.c. Specifically, cpu_dasm() is now
debug_cpu_disassemble(), and cpu_set_dasm_override() is now
debug_cpu_set_dasm_override(). Also moved memory_address_physical()
to debug_cpu_translate(), since it was only ever used for
debugging. [Aaron Giles]

Changed all CPU and sound cores to use memory_find_address_space()
instead of cpu_get_address_space(). The former is reliable even
during early initialization when the CPU cores generally need it.
[Aaron Giles]

Removed the dummy CPU core and cpuintrf.c. [Aaron Giles]

Changed the core execution loop to directly call the execute function
instead of using the inline helper (which has been removed).
[Aaron Giles]

Virtual Combat improvments: [Jason Eckhardt, Andrew Gardner]
* Improved memory map
* Fixed the palette

Turned on perfect interleave for remaining tnzs games, and for qix
hardware games. [Aaron Giles]

Perfect synchronization for thunderj, which has always been iffy.
Removed synchronization hacks. [Aaron Giles]

Updated wc90b2 to use newly-dumped roms. [robiza]

Changed the F3853 implementation into a device. [Wilbert Pol]

Cleaned up the SID interface. [Wilbert Pol]

Put some namcos21 logging behind a (disabled) compile-time define.
[Aaron Giles]

Converted 68000 core to use state tables. [Aaron Giles]

Corrected cpu_attotime_to_clocks() calculation. [Phil Bennett]

Correctly setup the MC6845 device in the rockola, usgames, coinmstr,
carrera drivers. [Phil Bennett]

Added proper inputs to Jongkyo [Angelo Salese]

Added extremely preliminary i860 disassembler and hooked it up to the
vcombat driver. [Jason Eckhardt, Andrew Gardner]

Cleaned up cycle handling in the 68k core. [Aaron Giles]

Updated all the sound core header files to declare their SND_GET_INFO
functions, which will be needed once the sound cores become proper
devices. It also makes a handful of other header declaration fixes in
emu/sound, and makes one SND_RESET routine static. Note: votrax.h is
a new include file altogether. [Atari Ace]

Converted the following drivers to use scanline interrupts, partial
updates, and raw video parameters: [Mamesick]
* ddragon
* gstream
* vball
* xain
* chinagat

Replaced the bad (likely hacked) Gururin dump with a fresh one, and
fixed some rom names in Double Axle according to the pcb.
[Smitdogg, Guru]

Cleaned up mcs48 to be dependent on a single makefile define, rather
than separate defines for each CPU which didn't really buy us anything
in terms of code size or performance. [Aaron Giles]

Correctly setup the MC6845 device in the Funworld driver. Added common
device interface and eliminated the screen size & visible area
parameters to Magic Card 2. [Roberto Fresca]

Correctly setup the MC6845 device in the Goldnpkr driver. Added common
device interface, merged witchcrd and sloco93 machine drivers, and
added/corrected the 50/60 Hz. DIP switches to all games. The 50hz mode
needs to be corrected. Some games as most bsuerte sets have the 50/60
Hz. DIP switch connection patched. [Roberto Fresca]

Correctly setup the MC6845 device in the Calomega driver. Added common
device interface. [Roberto Fresca]

Fixed crash when mouse-clicking without a valid mouse_target set
(typically after startup when no mouse movement events have occurred).
[Phil Bennett]

Improvements to lucky8... [Roberto Fresca]
- Fixed memory map.
- Fixed NVRAM. (please delete the old .nv)
- Added sound through sn76496.
- Added 3x PPI 8255.
- Created basic inputs from the scratch to match the PPI connections.
- Defined the output port.
- Change description to "New Lucky 8 Lines"
- Change manufacturer to Wing Co.Ltd.
- Added an alternate set.

Fixed Top Landing ADPCM ROM loading. [Phil Bennett]

Fixed Cherry Bonus III and Cherry Bonus III (Version 1.40) colors.
[Roberto Fresca]

Added preliminary sound & colors to the Mahjong Shiyou driver, game
now throws a sound error. Merged Mahjong Shiyou to the Royal Mahjong
driver, graphics are improved because of that. [Angelo Salese]

Fixed ddrago3p gfx ROM loading. [Creamymami]

Cherry I Gold improvements: [Roberto Fresca]
- Completed the missing inputs.
- Mapped 4 of the 5 DIP switches banks. (can't find the 5th)
- Worked out the conditional DIPs.
- Documented all DIP switches bank.
- Added PORT_DIPLOCATION to all switches.

Cherry Bonus III (Version 1.40) improvements: [Roberto Fresca]
- Worked the remaining inputs.
- Mapped and documented all 5 DIP switches banks.
- Worked out the conditional DIPs.
- Added PORT_DIPLOCATION to all switches.
The game is working, but need a workaround for the status connection.
Each time the player press 'Take' to get the credits, a "call
attendant" msg appear and credits must be taken pressing 'Key Out'.

Improvements to New Lucky 8 Lines: [Roberto Fresca]
- Proper 3x PPI 8255 connections.
- Created a new AY8910 interface due to different ports addressing.
- Hooked all the input banks (8).
- Improved DIP switches with main game and D-UP rates, keyin values,
D-UP game type (reels/cards) and other options to both sets.
- Added PORT_DIPLOCATION to all DSW banks.
- Promoted both sets to working state.
The game has 2 sets of controls. Once coined, both players can switch
control through their own 'BIG' key. If the game boots with 'Coin Jam'
error, press RESET to normalize. Please delete your old .nv and .cfg
files before run this update.

Improved colors of New Lucky 8 Lines. [David Haywood]

Implemented GTE divider using reciprocal table derived by pSXAuthor,
this should allow the results to be calculated as inaccurately as the
real hardware. [smf]

Fixed AT28C16 so that a write isn't allowed to start if there is one
in progress and a write isn't started if the data is already correct.
This allows my dream horse to boot again. Further investigation is
needed. [smf]

Maps all docastle.c games' third CPU rom to 0x0000 so that MAME
doesn't log unmapped reads constantly. [smf, David Haywood]

Improvements to goldstar.c driver: [Roberto Fresca]
- Added another set of Cherry Bonus III.
- Reworked and cleaned ncb3, cb3a, lucky8 and lucky8a inputs.
- Added the 2nd set of controls to the above games.
- Removed the OKI references from machine driver and rom load for the
above games.
- Promoted ncb3 and cb3a to working status.
- Reparented sets.

Wrote a placeholder driver for an unknown "fruit" ROM set. Anything
might be wrong about it... [David Haywood, Angelo Salese]

Improved bishjan.c: [Luca Elia]
- Converted the tilemaps chip to an 8-bit bus width, and added 16-bit
handlers using the macros in memconv.h.
- Improved bishjan memory map.
- Implemented line scroll emulation.

Merged i8x41 (UPI-41) core into MCS-48 core: [Aaron Giles]
* all code now lives in mcs48.c
* rewrote disassembler as unified MCS-48/UPI-41 disassembler
* changed UPI-41 interfaces to match MCS-48
* added new master read/write interfaces for external access
* unified interface to 8243 expander chip
* converted tnzs and decocass to the new interfaces

DECO Cassette fixes/cleanups: [Aaron Giles]
* converted tape handling to a device
* changed tape handling to use a timer callback
* updated to work with new UPI-41 core
* corrected clock speeds for all chips (esp. the 8041)
* fixed very wrong CRC implementation (how did it ever work?)
* corrected sound IRQ rate
* corrected video timing

Burger Time hardware fixes: [Aaron Giles]
* corrected sound IRQ rate and handling
* removed lnc audio reset hack
* full audio memory maps based on schematics
* corrected video timing

Disassembled PCs are now forcibly aligned to the minimum opcode size
and explicitly masked. [Aaron Giles]

Normalized the CPU cores to always do while (icount > 0), in order
to remove the kludge in cpuexec.c that caused us to overeat by 1 cycle
to accommodate those cores that there looping while (icount >= 0).
[Aaron Giles]

Fixed System 18 rendering so that System 16 sprites don't attempt to
shadow VDP pixels (causes crash downstream in debug builds).
[Aaron Giles]

Hooked up DSA/ESA instructions for PowerPC 602 (as no-ops for now).
Also hooked up PPC602 IBR. polystar gets a little farther but crashes
due to a TLB issue. [Aaron Giles]

Removed HAS_PPC* in favor of a single HAS_POWERPC, and a single
definition in cpu.mak for all PowerPC variants. [Aaron Giles]

Made xsleena run at perfect interleave and simplified the shared RAM.
Also moved to modern banking and cleaned up memory maps a bit.
[Aaron Giles]

Added two new Windows OSD options: -debugger_font and
-debugger_font_size, which control the font and size used in the
debugger text Windows. These default to "Lucida Console" and 9pt,
which is the same face as previously hard-coded but 1pt larger.
Personally, I prefer "Consolas" 9pt, which is one of the new "C" fonts
included with Windows Vista and later (also available for free
download on older systems). Note that only fixed-width fonts really
work here, for obvious reasons. [Aaron Giles]

Added new frontend option -listbrothers. This will list all "brothers"
of a given driver, meaning those drivers that come from the same
source file, along with their parent names if they are clones. If a
wildcard name is specified for the driver, then the first driver in a
given source file will trigger a list of his brothers, and any other
drivers in the same source file which match the wildcard will be
flagged. [Aaron Giles]

Corrected Mr. Do clocks, video parameters, merged memory maps.
[Aaron Giles]

Fixed i86 core so that REP instructions with high interleave actually
make forward progress. Also fixed cpu.mak dependencies for i286.
[Aaron Giles]

Added polling hooks for SP0250 DRQ line. The callback is now optional.
If not provided, then the kick timer is not used. Converted gottlieb
speech driver to use polling for SP0250 DRQ line. [Aaron Giles]

Added kludge to 6502 core such that CLI followed by RTI does not allow
any interrupts through. In the future, the 6502 interrupt handling
needs further revisiting. [Aaron Giles]

Improved graphics and sound in Grand Prix '98 [David Haywood]

Added the ability for a ROMset to specify a default BIOS. Use
ROM_DEFAULT_BIOS("biosname") in the ROM definition. This can be used
to ensure a correct default BIOS for ROM versions that care.
[Aaron Giles]

atarisy1 changes: [Kevin Eshbach]
* Support for new Atari System 1 TTL Motherboard dump (previously
MAME would crash when using it and now it just seems to hang.)
* PROMs dumped from Atari System 1 TTL Motherboard (one PLA needs
dumping though.)
* Added notes on the Atari System 1 Motherboard and some of its
supported games

Added placeholders for various PALs on the following systems: balsente,
galaga, ms32, namcofl, rocnrope, tx1. [Kevin Eshbach]

popeye.c improvements: [Kevin Eshbach]
* Corrected the rom names for Popeye
* Added save state support to Popeye
* Added the dip location to the encrypted Popeye and fixed the coin
settings according to the manual (unencrypted Popeye not changed)

Added the dip locations to Tutankham. [Kevin Eshbach]

Some minor MCS-48 cleanup. Added 8040/8050 variants. [Aaron Giles]

Fixed buggyboy I/O, engine sound and tilemap scrolling. [Phil Bennett]

ldplayer works again. Added MDRV_LASERDISC_GET_DISC callback hook
which allows for dynamically finding the CHD, rather than relying
on the DRIVER_INIT hackery that was there before. [Aaron Giles]

Added a work-around for 2 Minute Drill, to get it booting again.
[Angelo Salese]

Fixed rendering of slider controls so it doesn't overlap when menus
get large. [Aaron Giles]

Fixed speed-up for Vamf x1/2 (Europe) [Pierpaolo Prazzoli]

Cleaned up the profiler. Reduced its runtime overhead significantly by
inlining the check to see if it is running. Removed obsolete entries
and updated the text to more accurately describe each one. Added CPU
tags to the CPU names. Switched to using an astring for building the
final string. Unfortunately, still a bit too much overhead to leave
it on in all builds. [Aaron Giles]

Added NO_DUMPS for the VHS on hnxmasev, hnageman, av2mj1bb and
av2mj2rg. [Angelo Salese]

Fixed auto_malloc() to randomize its memory when allocated in the
debug build. This used to be the standard, but it seems to have been
removed when the pool allocation was moved into the library. Also
changed rand_memory() to use a fixed seed for consistent behavior.
[Aaron Giles]

Removed a couple of unnecessary typedefs from mamecore.h. Updated
romload to use an astring for accumulating errors (I always feared
busting that buffer with some huge romlist). [Aaron Giles]

romload cleanups: [Aaron Giles]
- added running_machine to internal structure, removed as explicit
- added new function rom_file_size() to compute the size of a ROM
- removed rom_first_chunk() and rom_next_chunk() which are no longer
needed (all users can use rom_file_size() now)
- changed progress display to be based on size of ROMs loaded
- changed temporary load buffer to be dynamically allocated
- fixed reload logic to handle skipped BIOSes

Fixed layer enable,flip x & x/y position in goodejan.c driver.
[Angelo Salese]

Fixed for odd word DMA transfers in the namcos12 driver.
[Olivier Galibert]

Added simple built-in layout for polepos showing the position of the
shifter. Removed debug build hack to popmessage the shifter state.
[Aaron Giles]

Added savestate support to all games in mrdo.c: mrdo, mrdoy, mrdot,
mrdofix, mrlo, mrdu, yankeedo. [MooglyGuy]

Added savestate support to all games in docastle.c: docastle,
docastl2, docastlo, douni, dorunrun, dorunru2, dorunruc, dorunrca,
spiero, dowil, jjack, kickridr, idsoccer. [MooglyGuy]

Added savestate support to all games in statriv2.c: statusbj, hangman,
trivquiz, statriv2, statrv2v, statriv4, sextriv, quaquiz2, supertr2,
supertr3. [MooglyGuy]

Lots of improvements to the different Cherry Master hardware: added
new sets, created new machine drivers, fixed colors, added PPI
devices, created new 8255 and ay8910 interfaces, worked out inputs
and DIP switches from the scratch, fixed memory maps, merged the
cherrym2.c driver with goldstar.c and much more...
[Roberto Fresca, David Haywood]

Added savestate support to 4enraya. [MooglyGuy]

Changed videopkr MCS-48 P4 control register to the PROG line, which is
more likely. The way to toggle the PROG line is to read/write/and/or
to ports 4-7. Since the board doesn't list an 8243 port expander, it
is likely the "writes" to port 4 are really just a mechanism to get
the PROG line to toggle to clear the interrupt. [Aaron Giles]

Fixed Super Triv colors. [Pierpaolo Prazzoli]

Discovered numerous new opcodes for cb2001. [robiza]

Improved mgcs. It now runs through attract mode. It still locks up as
soon as one coins up though, due to the unemulated IGS029 protection.
[Luca Elia]

Fixed more stuff with Diamond Derby, game is playable but not yet
working (due of a subtle bug, see source) [Angelo Salese]

Slot Carnival: [Roberto Fresca]
- Added gfxdecode & palette length to the machine driver, so tiles
can be viewed through F4 in case of someone wants to help.
- Defined SND_CLOCK for the ay8910.

Removed bogus port 4-7 definitions from MCS-48. Added i8243
implementation. Connected 8243 properly to monsterb and system 16a
sound. Changed draw80pkr to connect the PROG line like videopkr.
[Aaron Giles]

Changed Status Trivia 2 (and related games) clock to 13.684MHz to fix
game speed. Still wrong, but better than before. [MooglyGuy]

Fixed a few out-of-bounds errors revealed by randomly initializing
auto_malloc() memory. These would manifest themselves as difficult-to-
reproduce crashes on some systems. Affects laserbat, progolf, seta2,
and cubeqst drivers. [Aaron Giles]

Removed dangling old obsolete code from scramble.c, scobra.c, and
galaxold.c. [Aaron Giles]

Added savestate support to the TTL74148 and TTL74153 devices.

Removed anonymous timers from gridlee and added savestate support.

Added savestate support to all games in 40love.c, 88games.c, 1943.c,
carpolo.c, circus.c and exidy.c: 40love, fieldday, undoukai, 88games,
konami88, hypsptsp, 1943, 1943j, 1943kai, carpolo, circus, circusse,
robotbwl, crash, ripcord, sidetrac, targ, targc, spectar, spectar1,
rallys, phantoma, mtrap, mtrap3, mtrap4, venture, venture2, venture4,
teetert, pepper2, hardhat, fax, fax2. [MooglyGuy]

Cleaned up some memory and file handles in the error cases of
ldverify. [Oliver Stoeneberg]

New games added or promoted from NOT_WORKING status
Turbo Sub (2 versions) [Phil Bennett]
Mahjong Jong-Tei [Luca Elia]
Barline [David Haywood, Angelo Salese]
New Lucky 8 Lines (2 sets) [Roberto Fresca]
Cherry Bonus III (Version 1.40, 2 sets) [Roberto Fresca]
Cherry Bonus III (version 1.40, encrypted)
[Andreas Naive, Roberto Fresca]
Ying Hua Lian 2.0 [Luca Elia, Angelo Salese, David Haywood]
M.A.C.H. 3 [Aaron Giles, Bobby Tribble]
Us vs. Them [Aaron Giles, Smitdogg]
Soul Calibur [Olivier Galibert]
Cherry Master (Corsica, ver.8.01) [Roberto Fresca]
Cherry Master (ver.4) [Roberto Fresca, David Haywood]
Cherry Master I (ver.1.01) [Roberto Fresca, David Haywood]

New clones added
Space Echo (set 2) [Roberto Fresca]
Show Hand (China) [Luca Elia]
Don Den Lover Vol. 1 (Korea) [Luca Elia]
Vamf x1/2 (Europe) [Smitdogg]
DownTown / Mokugeki (Joystick Hack) [Corrado Tomaselli]
New Lucky 8 Lines (set 2) [Roberto Fresca]
Pit Boss (Set 2) [David Haywood]
R-Type (world, bootleg) [mameitalia]
Thunder Cross II (World) [Stefan Lindberg]
Trivia ? Whiz (Horizontal) (question set 3) [David Haywood]
Trivia ? Whiz (Edition 2) (question set 2) [David Haywood]
Trivia ? Whiz (Edition 3 - Horizontal) (set 2) [David Haywood]
Trivia ? Whiz (Edition 4) (question set 2) [David Haywood]
Phraze Craze (set 2) [David Haywood]
9-Ball Shootout Championship (not working) [David Haywood]
Dogyuun (Licensed to Unite Trading For Korea) [Smitdogg]

New games marked as GAME_NOT_WORKING
Night Bunny / Royal Night [David Haywood, Angelo Salese]
Night Gal [David Haywood, Angelo Salese]
Night Gal Summer [David Haywood, Angelo Salese]
Sexy Gal / Sweet Gal [David Haywood, Angelo Salese]
Mahjong Cafe Break [Guru]
Bingo Circus [David Haywood, Angelo Salese]
Status Black Jack [Angelo Salese, Roberto Fresca]
Merit Poker [David Haywood, Angelo Salese]
Cherry Chance [David Haywood, Angelo Salese]
Dancing Stage Euro Mix [smf]
Landing High Japan [Ordyne, Phil Bennett]
Lucky Girl [David Haywood]
X Se Dae Quiz [David Haywood]
Mahjong Senka [Angelo Salese]
Mahjong Yarou [Angelo Salese]
AV Hanafuda Hana no Christmas Eve [Angelo Salese]
AV Hanafuda Hana no Ageman [Angelo Salese]
Mahjong Gaiden [David Haywood]
Operation Tiger [Chris Hardy, Phil Bennett]
Magic Card [Roberto Fresca, David Haywood, Angelo Salese]
Slot Carnival [David Haywood, Roberto Fresca]
Cross Bingo [f205v]


NOTE: As of this release, we have two more major changes. These should
be the last "huge" changes of this dev cycle.

The most major change is the final retirement of the global Machine
pointer, which has been part of MAME for many years. Frankly, I never
thought we'd hit this point so quickly, so my hats off to Atari Ace
who helped push through the final round of changes needed to make this
happen finally. As a result of this change, it should be possible in
the coming year to finally write a driver that runs two full machines

The second big change is that the CPUs are now full-fledged devices,
and participate like all other devices in the system configuration.
This is mainly an internal structural change, but in the end removes
some redundant code and behavior. In a future dev cycle, a similar
thing will happen with the sound cores.

Starting now, the focus for MAME will be to iron out remaining issues
and release a 0.129 sometime around the 1st of the year. Please keep
reporting bugs to MAMETesters as you find things.

MAMETesters Bugs Fixed
- 02745: [Crash/Freeze] all sets using autosave: Games using autosave
segfault on startup (Aaron Giles)
- 02750: [Sound] All Sets in equites.c: no background music
(Aaron Giles)
- 02757: [Documentation] sengoku3: manufacturer should be "Noise
Factory / SNK" (Phil Bennett)
- 02753: [Crash/Freeze] gradius4: hardware error -1 (Aaron Giles)
- 02755: [Crash/Freeze] All Sets in metro.c: Crash with access
violation. (Aaron Giles)
- 02756: [Crash/Freeze] hyprduel, hyprdelj: Colors on the title screen
wrong, games crash mame with ACCESS VIOLATION (Mamesick)

Source Changes
Removed old cherrym driver (meant to be removed last time, oops).
[Aaron Giles]

Funworld.c improvements [Roberto Fresca]
- Added new set: Jolly Card (italian, encrypted bootleg).
No coins... Only remote credits. After nvram init, set the Payout
DIP to 'manual' to allow the remote credits mode to work.
- Created inputs from the scratch for jolycdib.
- Updated technical notes.

Made CPUs into proper devices. CPUs are now added in the machine
configuration just as any other device, and the standard CPU
configuration is performed via the inline configuration macros.
[Aaron Giles]

Changed cpu_type from an enumeration into a pointer to the CPU's
get_info function, very similar to device behavior. Updated all
drivers to #include the necessary header files for the CPU's they
reference. [Aaron Giles, Atari Ace]

Added function cpu_get_type() to return the CPU type. [Aaron Giles]

Changed several cpu_* functions over to the device_* equivalents,
specifically for get/set info and for reset. [Aaron Giles]

The device system now maintains a parallel list of devices based on
type and class, for faster iteration through all devices of a given
type or class. [Aaron Giles]

Cleaned up code that looped over CPUs via the machine->cpu array to
now loop using the type-based device list. [Aaron Giles]

Removed start/stop/reset/nvram functions from the device_config in
favor of grabbing them as needed. [Aaron Giles]

Cleaned up the generic interrupt_enable code to work with CPU devices
instead of numbers. [Aaron Giles]

Mapped the devtag_* functions to device_* functions via macros instead
of parallel implementations. [Aaron Giles]

Removed cpuintrf_init() which is no longer necessary. [Aaron Giles]

Changed a number of APIs in the system to accept running_machine,
address_space, or device_config types, in order to remove the use of
the global Machine variable. Removed the global Machine variable now
that it is no longer directly references. [Atari Ace, Aaron Giles]

Added the concept of device "owner", for devices owned by other
devices. [Aaron Giles]

Modified laserdisc players to walk back to their global device state
via the owner, rather than brute-force searching for the first
instance and hoping that is the right one. [Aaron Giles]

Finalizer update [poUzVdb90]
- converted to tilemap
- added flipscreen
- changed sound chip name from SN76496 to SN76489A

Made the concept of a "clock" native to devices. The clock is now
specified when the device is added, and the clock is available in
the device_config directly via device->clock. Updated all devices
that have a clock to specify it when adding the device, rather than
as part of their configuration. As part of this work, also created
device-specific _ADD and _REMOVE macros to simplify configuration.
[Aaron Giles]

Defined a generic device execute function callback, though it
is not used yet. The long term plan is that any device with an
execute callback will be scheduled along with the CPUs. Now that
CPUs are devices, their scheduling will be moved over to this
logic eventually. [Aaron Giles]

Changed various NVRAM devices to fetch their default memory region
from the device->region rather than specifying it in the
configuration. [Aaron Giles]

Moved device startup to *before* the DRIVER_INIT is called. This
is to allow the DRIVER_INIT to configure devices that have been
properly allocated. So far I don't see any negative effects, but
be on the lookout if something weird shows up. [Aaron Giles]

Rewrote the device iteration logic to make use of the typenext
field and the newly-introduced classnext field for iterating more
efficiently through devices of a given type or class. [Aaron Giles]

Modified the parameters of the stream_update_func callback. As part of
this work, macro-ized all the callbacks to STREAM_UPDATE, and added
the sound device as a parameter. [Atari Ace]

Cleaned up i86/i286/i386/nec/v30mz headers: [Aaron Giles]
* renamed i86.h -> i86priv.h
* renamed i86intrf.h -> i86.h
* consolidated i88intrf.h, i186intf.h, i188intf.h, etc into i86.h

Cleaned up many other CPU headers to move memory read/write macros
out of them, since they are inappropriate and should be prive to the
CPU core. [Aaron Giles]

Removed index and clock parameters from CPU_INIT function.
[Aaron Giles]

Some PIC8259 updates: [Wilbert Pol]
- Fixed operation of edge-triggered interrupts
- INT output line is now cleared when an IRQ is acknowledged
- Implemented basic OCW3 features

Fixed proms in boobhack. [robiza]

Decoded some graphics and setup some RAM in the Virtual Combat driver.
[Andrew Gardner]

Cleaned up device and sound interfaces to match the CPU interfaces
when handling strings. Namely, the generic get_info functions
allocate a temporary string and the device in question copies its
string to the target, instead of assigning a const char *. Updated
all device and sound cores to operate this way. [Aaron Giles]

Added the concept of a cpu_state_table, which is supplied by the CPU
cores and which describes all the register state accessible to the
debugger and other subsystems. The format of the table is such that
most data can be simply fetched from memory without the further
involvement of the CPU core, including the display of common formats.
Extensibility points are available for custom display and for
importing/exporting the data to intermediate variables for more
complicated scenarios. Updated the ADSP21xx, TMS340x0, i86, Z80, Z180,
and 8085 cores to use this. [Aaron Giles]

Removed the old debugger register list, which was never used. Replaced
it with using ordering from the cpu_state_table. [Aaron Giles]

REG_PREVIOUSPC -> REG_GENPCBASE. Updated a few spots that were using
these directly. Moved these definitions into the end of the register
area rather than leaving them outside which put them in a weird range.
[Aaron Giles]

More cleanup. Added address-space-specific constants for the various
bus width and shift CPU interface constants. Changed all the cores
to use them. [Aaron Giles]

Changed ADSP21xx cores to accept a configuration struct instead of
using set_info to specify serial port callbacks. Simplified the
ADSP21xx get/set info significantly. Removed support for only
including certain variants of the chips; they are now either all
supported or all unsupported. [Aaron Giles]

Memory view fixes: [Aaron Giles]
* Fixed bug that computed the wrong total size if the address
space was a full 32 bits
* Improved display to show unmapped memory with *s
* Disabled enumeration of disk and 0-length regions

Added PAL to arkgcbl. [robiza]

Added Country Girl to the Jangou driver,working with sound
[David Haywood, Angelo Salese]
- Fixed transparency pens in the Jangou driver (so removed the
GAME_IMPERFECT_GRAPHICS flag); [Angelo Salese]
- Added a kludge for Jangou Lady RNG,will be worked on in the future;
[Angelo Salese]

Added running_machine callbacks for the Amiga code. [Nathan Woods]

Updated sscope2 to use newly-dumped roms. [robiza]

Added running_machine parameters to the f3853 callbacks. [Wilbert Pol]

Added running_machine parameter to the callback in the sid interface.
[Wilbert Pol]

Removed MDRV_INTERLEAVE(x), which specified the minimum scheduling
quantum in terms of "frames" (a dubious concept now with multiple
screens and changing refresh rates). Replaced it with a new
MDRV_QUANTUM_TIME(x) which specifies the minimum scheduling quantum
as a time value. Time can be specified as HZ(x), NSEC(x), USEC(x),
etc. Updated all drivers to use this, assuming 60 was the frame
rate (this is not perfect but should work for almost all cases).
[Aaron Giles]

Changed MDRV_WATCHDOG_INIT_TIME(x) to automatically prepend
UINT64_ATTOTIME_IN_ to the parameter, ensuring there is no improper
use of this macro and bringing it in line with the MDRV_QUANTUM_TIME()
macro. Updated all callers. [Aaron Giles]

Added new MDRV_QUANTUM_PERFECT_CPU(x) to specify that the minimum
quantum should be enough to ensure that the specified CPU tag only
ever executes a single instruction at a time. This can be used to
explicitly require "perfect" synchronization for drivers that have
multiple CPUs with shared memory. Turned this on for the arknoid2
driver for now as a test (the interleave on that driver was already
very close to perfect anyway). [Aaron Giles]

Fixed some color issues in the goldstar.c driver [David Haywood]

Merged goldstar and lucky8 drivers. [David Haywood]

Improvements to ddragon3/shadfrce/wwfsstar/wwfwfest: [Mamesick]
- converted driver to be fully scanlines based using timers
- updated driver to new video screen raw parameters
- hooked up interrupts (ddragon3, wwfwfest)

Fixed Agress' title screen. [David VanVoorhis]

Fixed update_handler for the dsp56k and polygonet. [Andrew Gardner]

Improvements to the dmndrby.c driver. [Mike Green]

Continued rewrite of the Motorola DSP56k CPU core. [Andrew Gardner]
* Fixed flag calculation and sign extension for numerous ops.
* Added rnd, mpysuuu, and dmac ops.
* Fixed do loop behavior to skip empty loops.
* Added stack underflow exception handling.

Improvements to the skylncr.c driver: [Roberto Fresca, David Haywood]
- Complete reel support from the scratch.
- Full inputs, outputs & DIP switches from the scratch.
- Added new games.
- Updated technical and game notes.

Rewrote 8080/8085 interrupt handling so that it makes sense. Changed
callbacks to be specified in a config structure. Converted core to
cpu_state_table. Changed to a single HAS_808X define for both cores.
Fixed several drivers that used 8080/8085 interrupts in odd ways.
[Aaron Giles]

Converted warpwarp driver to raw video parameters. [Aaron Giles]

Fixe 'run to cursor' and 'toggle breakpoint' operations in the
debugger when dealing with CPUs that have shifted address spaces.
[Andrew Gardner]

Improvements to goldstar.c driver. [Roberto Fresca]
- Hooked the 3x PPI 8255 devices to chryigld and ncb3.
- Reworked the chryigld and ncb3 inputs based on PPI 8255 connections.
- Added the unmapped PSG sound to chryigld and ncb3.
- Some works on their machine driver.
- Some cleanups.

New games added or promoted from NOT_WORKING status
Country Girl [David Haywood, Angelo Salese]
4nin-uchi Mahjong Jantotsu [David Haywood, Angelo Salese]
Three Ds - Three Dealers Casino House [David Haywood, Angelo Salese]
Sky Lancer (Bordun, ver.U450C) [Roberto Fresca, David Haywood]
Butterfly Video Game (ver.U350C) [Roberto Fresca, David Haywood]
Mad Zoo (ver.U450C) [Roberto Fresca, David Haywood]
Casino Winner [Chris Hardy, Angelo Salese]
Cherry I Gold (bootleg of Golden Star) [Roberto Fresca]

New clones added
Jolly Card (italian, encrypted bootleg) [Roberto Fresca]
Double Dragon 3 - The Rosetta Stone (prototype) [Guru]

New games marked as GAME_NOT_WORKING
Grand Prix 98 [David Haywood]
Leader [Roberto Fresca, David Haywood]
Parent Jack [David Haywood]
Janshi [David Haywood]
Cherry Master I (v1.01) [Roberto Fresca, David Haywood]


MAMETesters Bugs Fixed
- 02728: [Crash/Freeze] galpani3: 'Illegal Instruction' after ROM Check
(R. Belmont)
- 02739: [Sound] skysoldr: In-game music (three level BGMs and boss theme)
plays one octave higher. (Phil Bennett)
- 02718: [Crash/Freeze] zigzag, zigzag2: Don't boot correctly. The screen
just flashes over and over. (Aaron Giles)
- 02730: [Crash/Freeze] fiveside: locks up at rom check (Aaron Giles)
- 02740: [Debugger] resizing the debug window, the text is only in the
old area (Aaron Giles)
- 02721: [Crash/Freeze] All Sets in arcadia.c: Games not booting, they
just keep resetting to a white screen. (Aaron Giles)
- 02661: [Gameplay] f1gpstr2: Game freezes upon reaching track (Mamesick)
- 02708: [Crash/Freeze] wildplt: Gameplay freezes at start (Mamesick)
- 02724: [DIP/Input] elgrande, jjpoker, ssipkr24: Unable to locate input
port 'SW2'. (Roberto Fresca)
- 02677: [Graphics] eprom, eprom2: missing graphical brightness effect,
verified on real machine w/video (Nicola Salmoria)

Source Changes
Pointer-ified the following CPU cores:
- DSP32 [Aaron Giles]
- m6805 [Andrew Gardner]
- MIPS 3 [Aaron Giles]
- PowerPC [Aaron Giles]
- Konami [Aaron Giles]
- ARM [Andrew Gardner]
- SHARC [Atari Ace]
- V60 [Aaron Giles]
- Z8000 [Aaron Giles]
- Z180 [Aaron Giles]
- V810 [Aaron Giles]
- V30MZ [Aaron Giles]
- PDP1/TX0 [Wilbert Pol]
- H6280 [Andrew Gardner]
- F8 [Atari Ace]
- TLCS-90 [Atari Ace]
- Cube Quest CPUs [Aaron Giles]
- i86/i286 [Aaron Giles]
- i386 [Aaron Giles]
- ALPHA-8201 [Aaron Giles]
- i8085 [Aaron Giles]
- APEXC [Aaron Giles]
- RSP [Aaron Giles]
- MB88 [Aaron Giles]
- MB86233 [Aaron Giles]
- TMS7000 [Aaron Giles]
- SH2 [Aaron Giles]
- SH4 [Aaron Giles]
- uPD7810 [Aaron Giles]
- TMS32051 [Aaron Giles]
- MC68HC11 [Aaron Giles]
- CP1610 [Aaron Giles]
- LH5801 [Aaron Giles]
- LR35902 [Aaron Giles]
- PDP1 [Aaron Giles]
- Saturn [Aaron Giles]
- SC61860 [Aaron Giles]
- TMS32010 [Quench]
- PIC16C5x [Quench]
- TMS99xx [Aaron Giles]
- TMS32025 [Quench]
- dsp56k [Quench]

Enabled all CPU cores/variants. Fixed compile issue revealed as a
result. [Aaron Giles]

Changed konami setlines callback to pass a device. Updated all drivers
accordingly. [Aaron Giles, Atari Ace]

Added best-known CRC in wb90b2 and jjsquawb "bad dump" roms. [robiza]

Made the PCI bus a device. The bus is declared in the machine config,
and the devices attached to it are enumerated there. Eventually, the
PCI config read/write functions should be moved to well-known
functions within the device, but for now they are kept separate.
[Aaron Giles]

Added correct proms for arkgcbl. [robiza]

Changed many, many global Machine references to use machine,
device->machine, etc. instead. [Atari Ace]

Changed megadriv.c to pass running_machine to I/O callbacks plus other
MESS support. [R. Belmont]

Re-synced f3853 core with MESS. [Nathan Woods]

Introduced function macros for SAMPLES_START, CUSTOM_{START,STOP,RESET},
and ANTIC_RENDERER. Pushed the running_machine * passing through these
functions. In other locations added "running_machine *machine = Machine"
to the top of functions to isolate the dependencies. [Atari Ace]

Added logic to track OSD debugger updates separately from internal
view updates. In order to get the OSD to update, a new function
debug_view_flush_updates() must be called. Currently this is
automatically called before osd_wait_for_debugger(), and during the
periodic updates while executing. The OSD code may occasionally need
to call it under other circumstances (for example, the Windows code
calls it explicitly while tracking scrollbar thumbs to get live
scrolling). [Aaron Giles]

Updated gradius2 to use proper gfx2 roms (same values of vulcan but
byteswapped). [robiza]

Disabled the use of PULSE_LINE for any input lines except NMI and
RESET. Added a helper function generic_pulse_irq_line() for doing a
single-cycle assert/deassert for those few drivers remaining that were
trying to use PULSE_LINE directly. [Aaron Giles]

Updated z8000 tables to reflect recent findings. [Juergen Buchmueller]

Fixed the widely used konamiic/taitoic/deco16ic/segaic16 video cores
to no longer reference the global Machine. [Atari Ace]

Added wrappers for ADSP21xx callbacks. Added device parameters to them.
Updated IRQ setters to use generic_pulse_irq_line(). [Aaron Giles]

Added MDRV_PIC8259_ADD, MDRV_PIT8353_ADD, MDRV_PIT8254_ADD, and
MDRV_DMA8237_ADD macros. [Wilbert Pol]

Added the sound device to the parameters passed to stream_create so
that the global Machine can be removed from streams.c. [Atari Ace]

Improvements to Millennium 4000 driver: [Roberto Fresca]
- Completed normal Inputs/Outputs.
- Added button-lamps calculation.
- Created button-lamps layout.
- Documented the PCB RAM.
- Fixed NVRAM size based on PCB picture (2x CY62256L-70PC near the
- Added notes about the method to make appear the real poker cards.
- Fixed the OKI 6295 frequency (1000 kHz resonator near). Now the
game has more decent sounds.
- Corrected CPU clock to 12 MHz. (main Xtal).

Updated adp driver: now fashiong show something. [robiza]

Widened some machine init interfaces to pass the machine parameter,
allowing more Machine global references to be eliminated. Eventually
most of these need to be converted to devices, but this change reduces
the deprecation surface in the meantime. [Atari Ace]

Relaxed the OKI 6295 command validity check. [Nicola Salmoria]

Added new function cpuexec_describe_context(machine) which can be
used in logerror() and other printf-style functions to return a
description of the current CPU/PC given only the machine. Changed
several dozen sites to use this instead of directly interrogating
the activecpu. [Aaron Giles]

Removed all other uses of activecpu throughout the system. Removed
activecpu from the machine structure to prevent future abuse.
[Aaron Giles]

Removed cpu_push_context() and cpu_pop_context(), and all call
sites. [Aaron Giles]

Voodoo devices now require a CPU to be defined in the configuration
in order to know whom to steal cycles from or stall when FIFOs get
full. Updated all voodoo users to specify one. [Aaron Giles]

CPD1869 devices now also require a CPU to be defined in the
configuration, in order to know which CPU's registers to fetch.
Updated all cdp1869 users to specify one. [Aaron Giles]

Removed get context/set context calls from the CPU interface entirely.
[Aaron Giles]

Removed safe_cpu_get_pc() which doesn't really make sense anymore.
[Aaron Giles]

Moved cpu_execute() to be an inline function. [Aaron Giles]

Writes to a pit8253 timer control word always restart the timer.
[Wilbert Pol]

Updated the fcompress APIs to allow for specifying a compression level.
[Aaron Giles]

Removed the concept of state saving tags, which was a hack to get save
states to work with multiple CPU cores. Simplified the state saving
system as a result, performing the operation in a single pass and
without allocating a full blob of memory. Also enabled minimal
compression. [Aaron Giles]

Squashed another deprecated use of Machine from the mame core by
plumbing machine_config into rendlay.c. [Atari Ace]

Fix Altivec RGB primitives on newer GCCs. [budge, Vas Crabb]

Changed commonly-used verboselog to require a machine parameter.
[Atari Ace]

Removed remaining deprecat.h references from the CPU and sound cores.
[Atari Ace]

i8085: added INTE and state word callbacks [Curt Coder]

n8080.c changes: [Curt Coder]
- rewrote interrupt handling according to schematics
- added interrupt acknowledge

Re-ordered SCSP init to fix crash. [R. Belmont]

Modified regrep to display the soruce file. [Aaron Giles]

Expanded cpuexec cycles <-> attotime functions to handle UINT64s.
[Aaron Giles]

Reduced all alpha68k.c YM2413 clocks from 8MHz to 3.579545MHz.
[Philip Bennett]

Changed attotime_to_ticks/ticks_to_attotime to use UINTs and the
eminline functions where possible. [Aaron Giles]

Changed the 6522 VIA implementation to be a device. [Nathan Woods]

Removed the ACIA6850 device from Cal Omega System 905 machine driver.
It fixes the wrong lack of SW2. [Roberto Fresca]

Fixed EI handling in the 8080/85 core to have a shadow like the Z80.
[Miodrag Milanovic]

Modified the tms34010.h, pc16552.h, and tms34061.h interfaces to
eliminate some more global Machine variables. Six more deprecat.h
includes eliminated. [Atari Ace]

Eliminated the #include "deprecat.h" from tilemap.c. The main change
is to require callers of tilemap_create to provide a machine pointer.
This pointer is then attached to the tilemap and used when needed
inside tilemap.c. [Atari Ace]

Eliminated the #include "deprecat.h" from drawgfx.h. It does so in a
fashion similar to my recent tilemap patch, adding the machine pointer
to gfx_element, changing allocgfx to take a machine, and then
adjusting the internals to use the machine field as needed.
[Atari Ace]

i960: fixed nor opcode and added notor opcode [robiza]

Fixed raster effects in nbbatman by altering the V33 prefetch timing
(just a guess as no documentation has been found). [couriersud]

Removed unnecessary address masking in disassembly view. Changed
console subview computations to leave the registers portion fixed.
[Aaron Giles]

Removed hack for setting mcs51 serial callbacks. Updated micro3d to
use new functions. [Aaron Giles]

Merged goldstar.c & cmaster.c drivers. Converted the Reels video to
tilemaps. [David Haywood]

Added proper artwork for the LEDs in Gridiron Fight. [David Haywood]

New games added or promoted from NOT_WORKING status
Super Pool 99 [David Haywood, Angelo Salese]
Bra$il / Fashion [Angelo Salese]
Pesadelo [Mariusz Wojcieszek, hap]
Super Free Kick [Tomasz Slanina]
Jangou [David Haywood, Angelo Salese, Phil Bennett]
Jangou Lady [David Haywood, Angelo Salese, Phil Bennett]

New clones added
Europa 2002 Space (Ver 3.0) [Roberto Fresca]
Triv Two (Vertical) [David Haywood]
Super High Impact (prototype, rev 6.0 09/23/91) [Smittdogg]
Giga Man 2: The Power Fighters [David Haywood, Arzeno Fabrice]
CarnEvil (v1.0.3) [Brian Troha]
(New?) Cherry Bonus III (not working) [David Haywood]
Cherry Bonus III (not working) [David Haywood]

New games marked as GAME_NOT_WORKING
Cherry Bonus 2001 [David Haywood, robiza]
Four Roses (encrypted, 2 sets) [Roberto Fresca]
Queen [David Haywood]
Cherry Master (Corsica, v8.01) [David Haywood]
Cherry Master 91? [David Haywood]
Jackie [David Haywood]


MAMETesters Bugs Fixed
- 02638: [Compiling] various cpu cores don't compile anymore
(Aaron Giles)
- 02709: [Documentation] nstockr2: nstockr2 not defined as clone of
nstocker? (Luigi30, Edward Swiftwood)
- 02713: [Crash/Freeze] demndrgn, profpac: demndrgn gives a black
screen only. profpac doesn't accept coins. (Aaron Giles)
- 01442: [Sound] wwfsstar: The OKI6295 playback frequency is too high.
(Phil Bennett)
- 00894: [Crash/Freeze] elecyoyo: Inserted coins and pressing start
sometimes leads back to the test menu. (Mamesick)
- 02658: [Interface] Supplement game status reports with yellow screen
(Edward Swiftwood)
- 02689: [Multisession] jumpbug: Jumpbug won't start second time
around (Atari Ace)
- 02673: [Crash/Freeze] All Sets with HuC6280 as Audio Device
(PCE-Based titles): Fatal Error after OK (Aaron Giles)
- 02676: [Color/Palette] All Laserdisc Games: Wrong colors using
Direct3D on ATI cards. (Aaron Giles)
- 02680: [Misc.] carnevil: -verifyrom fails to consider if a CHD is a
BAD_DUMP (Aaron Giles)
- 02705: [Crash/Freeze] connect4: connect4 crashes if nvram file is
present (Aaron Giles)
- 02702: [Sound] tturf: no audio (Aaron Giles)
- 02691: [Sound] Some drivers with z80/ay8910 Audio: Audio tempo has
changed (Aaron Giles)
- 02669: [Sound] pandoras: music tempo is too fast (Aaron Giles)
- 02683: [Crash/Freeze] Pressing F5 while running debugger causes
access violation (Aaron Giles)
(Aaron Giles)
- 02688: [DIP/Input] DIP switch settings are not being stored in INP
files. (Aaron Giles)
- 02693: [Crash/Freeze] dacholer, kickboy: Freeze on the title or
credit. (Mamesick)
- 02653: [Sound] all games on artmagic.c: OKI clipping in artmagic
games (Nicola Salmoria)
- 02690: [Graphics] jantouki: The upper screen is totally garbled.
- 02672: [Crash/Freeze] Most Sets using MCS48/51.C (intel 80xx family):
Fatal Error when using -cheat trigger (Aaron Giles)
- 02670: [Core] Many sets using SH2: The SH2 timers aren't firing at
the correct speed / time, causing various issues (Aaron Giles)

Source Changes
Fixes subtle timing calculation problems that affected SH-2 timers.
[Aaron Giles]

Fixed copy/paste error on viostorm rom names. [David Haywood]

Made non-critical UI warnings yellow instead so that they stand out.

Added Treasure Island to the Burger Time HW. It doesn't work because
I highly suspect that there's an unhandled encryption scheme in it.
[Angelo Salese]

Pointer-ified the CCPU and T-11 cores. [Aaron Giles]

Removed globals from cpuexec. Also removed ATTOTIME_TO_CYCLES() and
ATTOTIME_IN_CYCLES(). Replaced them with functions in cpuexec:
cpu_clocks_to_attotime() and cpu_attotime_to_clocks(), both of which
take CPU devices instead of indexes. Updated all callers, many of
which were using the functions dubiously. [Aaron Giles]

Added placeholders for interrupt callback and Z80 daisy chain
functions in Z80DMA. [Curt Coder]

Pool items are now tracked globally, and freed in reverse order of
allocation. This enables proper nesting. [Aaron Giles]

Changed timer_alloc, timer_set, timer_pulse, timer_call_after_resynch,
and timer_get_time to pass the machine parameter. Moved timer globals
to hang off of the running_machine. [Aaron Giles]

Pointer-ified the hyperstone core, and removed all activecpu refs.
[Aaron Giles]

Removed cpunum_get_active() calls and activecpu references from all
of the CPU cores. [Aaron Giles]

Normalized several local CPU state variables to the generic 'cpustate'
instead of names_with_underscores. [Aaron Giles]

Added macros to access ROM and MACHINE_DRIVER by name. [Curt Coder]

Normalized CDP1802 state variables to 'cpustate'. [Curt Coder]

Removed all references to cpunum_get_active() and removed the function
entirely. [Aaron Giles, Andrew Gardner]

Updated t5182 memory mapping a bit to properly handle mirrored areas;
added comments about how shared ram works. [Lord Nightmare]

Fixed reversed VBLANK-IN/OUT events in ST-V. Fixes hanagumi/groovef 2
credits at start-up. [Angelo Salese]

Added ATTR_NONNULL to various declarations. [Nathan Woods]

Pointer-ified the 65816. [R. Belmont]

Many improvements on the irq handling of the ST-V driver:
[Angelo Salese, Charles MacDonald]
* Fixed a bug with irq timings;
* Added ODD bit emulation;
* Fixed vblank period timings;
* Optimized a bit the whole interrupt routines, getting a 4x speed
* Fixed an irq mask handling bug;
This fixes at least Astra SuperStars and Pebble Beach booting, but
the latter still fails the timer 1 irq routines...I need to check why)

Pointer-ified the SPC700. [R. Belmont]

Fixed stepping in the debugger. [R. Belmont]

ARM7 updates: [R. Belmont]
- Pointer-ified ARM7 core
- Added disassembler and execution support for ARMv5 LDRD/STRD
instructions. 39in1 now makes it until it needs the MMU.

The jchan gamse aren't really clones even if they share most of the
same roms. They're very different. [David Haywood]

Pmpoker.c major rewrite (part 2): [Roberto Fresca]
- Changed the driver name to goldnpkr.c (Golden Poker is the most
representative hardware).
- Splitted the PIA interfases to cover witchcrd/pottenpkr connections.
- Fixed the witchcrd/pottnpkr/sloco93 double up mode.
- Replaced the pottenpkr layout with goldnpkr one in all Jack
Potten's Poker sets.
- Updated game notes for Witch Card and Super Loco 93 sets.
- Fixed al inputs & lamps to allow double up mode to the above games.
- Added Witch Card (Video Klein) but still not working.
- Added several Buena Suerte! sets.
- Added new games: Maverik, Brasil 89 & Poker'91.
- Reworked the sets parent-clone relationship (still in progress).

Cleaned up gfx decode on Sengoku Mahjong. [Angelo Salese]

Improvements to funworld.c driver [Roberto Fresca, Andreas Naive]
- Decripted saloon's program, graphics and color PROM.
- Created a new memory map and machine driver for saloon.
- Removed set jolycdae (it's not coming from a real board).
- Renamed the sets magiccrd, magiccda and magiccdb, to magicrd2, magicd2a and magicd2b.
- Updated technical notes.

Fixed RGB565 bugs in Ghost Eolith driver. [Angelo Salese]

Changed oki 6295 to use a reasonable volume table derived from the
manual. Added popmessages to notify of invalid commands so we can
investigate them if some game uses them. It should also be noted that
many games using this chip are clipping at the moment. This is
something that might date back to when sound mixing was upgraded to
32-bit. It is sensible for the 6295 emulator to output at this level
because it ensures that bits of precision are not lost, so the mixing
levels in the drivers should be adjusted to avoid clipping.
[Nicola Salmoria]

Cool Riders: added an hack for the SH-2, fixed some irqs and some
memory maps/ram sharing. Got to the point that area 0x03e00000 on the
SH-2 loads some DMA-style tables. (and this is going to be REALLY
nasty to do without docs...) [Angelo Salese]

Added layer enable register, coin counter, coin lockout and cleaned-up
the Sengoku Mahjong driver. [Angelo Salese]

Big debugger cleanup: [Aaron Giles]

Important note for OSD ports: the get/set property functions have
been retired for debug_views. Instead, there are specific functions
to perform each get/set operation. In addition, the format of the
update callback has changed to pass the osd private data in, and
the update callback/osd private data must be passed in at view
allocation time. And osd_wait_for_debugger() now gets a CPU object
instead of the machine.

Removed extra debugger tracking for address spaces and added some
of the useful data to the address_space structure. Updated all
debugger commands and views to use CPU and address space objects
where appropriate.

Added new memory functions for converting between bytes and
addresses, and for performing translations for a given address
space. Removed debugger macros that did similar things in favor
of calling these functions.

Rewrote most of the memory view handling. Disasm and register views
still need some additional tweaking.

Added the concept of 'subviews' to the debugger views. The core
now creates a list of possible subviews, and the OSD can select
between them. This removes code from the OSD that was previously
required to find all possible memory and disassembly views.

Added machine parameters to debugger console output functions.

Moved globals to hang off of the machine structure.

Fixed bug where the visiblecpu was not updated immediately upon
a break.

Made the 6850 ACIA a device. [Nathan Woods]

Re-enabled the OSD key for master volume control. All other sliders
are still only accessible via the menus. [Aaron Giles]

Renamed constants: [Aaron Giles]

To fix 02688 (DIP switch settings are not being stored in INP files),
old INP files had to be broken. Since they were already broken, the
corefile module was enhanced to support streaming compression, and
the new INP files are output and processed compressed. [Aaron Giles]

Added a number of new cputag_* macros to cpuexec.h. [Aaron Giles]

Removed fillbitmap() macro in favor of direct calls to bitmap_fill().
Note that the parameters to the latter are in a different order
(bitmap, clip, color). [Atari Ace]

Furthered the process of aligning the sound cores with the recent cpu
core changes. Added a fake device implementation similar to the one
the cpu cores are using. Made some interface adjustments aligned to
128u4 (i.e. adding snd_class_header, adding get_ to various getter
functions). The primary benefit of this change is the removal of
"deprecat.h" from 23 sound cores. Also adjusted ui.c to stop calling
sndnum_clock and access the clock data similarly to how it does the
cpu clock data. (Note from Aaron: further changes to the sound
interfaces will be kept to a minimum until the CPUs are sorted out.)
[Atari Ace]

Fixed 8080 interrupt handling: [Miodrag Milanovic]
1. previous implementation cleared interrupt enable bit on interrupt
trigger which is wrong since interrupts should stay enabled
2. service interrupt number was not cleared after interrupt is
executed, so if same one is triggered it will not be catched.

Made the 6526/8520 CIA implementations be devices. Added
differentiation between the r1 and r2 versions of the 6526; not acting
on it yet. [Nathan Woods]

Save state system improvements: [Aaron Giles]
Changed save state system to accept machine parameters where
appropriate, and to keep all global variables hanging off the
machine structure. Once again, this means all state registration
call sites have been touched:

- state_save_register_global* now takes a machine parameter
- state_save_register_item* now takes a machine parameter
- added new state_save_register_device_item* which now uses
the device name and tag to generate the base name

Extended the fake sound devices to have more populated fields.
Modified sound cores to use tags from the devices and simplified
the start function. [Aaron Giles]

Renumbered CPU and sound get/set info constants to align with
the device constants, and shared values where they were perfectly
aligned. [Aaron Giles]

Set the type field in the fake device_configs for CPU and sound
chips to a get_info stub which calls through to the CPU and sound
specific get_info functions. This means the device_get_info()
functions work for CPU and sound cores, even in their fake state.
[Aaron Giles]

Changed device information getters from device_info() to
device_get_info() to match the CPU and sound macros. [Aaron Giles]

Removed cpunum_get_active(). Main important change is that IDE
controllers with bus mastering (DMA) need to specify the target
address space in the IDE device configuration. [Aaron Giles]

Removed mame_find_cpu_index(). Use cputag_get_cpu() instead.
Updated all drivers calling this to the newer function, and
generally simplified their code as a result. [Aaron Giles]

Added NVRAM emulation to Sengoku Mahjong. [Angelo Salese]

Merged The Couples driver with Merit, fixing most of the graphics/
color bugs in it. [Angelo Salese]

Removed mostly silly uses of activecpu from the CPU cores.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Tennis (bootleg of Pro Tennis) [Angelo Salese]
Maverik [Roberto Fresca]
Brasil 89 [Roberto Fresca]
Poker'91 [Roberto Fresca]
New Magic Card [David Haywood, Angelo Salese]
Millenium Nuovo 4000 [David Haywood, Angelo Salese]

New clones added
Buena Suerte (21 new sets) [Roberto Fresca]
Royalea [Roberto Fresca]
Black Tiger (bootleg alt) [mameitalia]
Surf Planet (Version 4.0) [Smittdogg]
Worldcup 90 (bootleg) [robiza]
J.J. Squawkers (bootleg) [robiza]
Loco-Motion (bootleg) [David Haywood]

New games marked as GAME_NOT_WORKING
Treasure Island [Angelo Salese]
Destiny Horoscope [Angelo Salese]
Galaxian 3 [Andy Welburn]
Witch Card (Video Klein) [Roberto Fresca, Guru]
Bra$il [David Haywood, Angelo Salese]
Fashion (Version 2.14) [David Haywood, Angelo Salese]
Il Pagliaccio [David Haywood, Angelo Salese]


IMPORTANT NOTICE: This update represents the first part of a
monumental internal change within MAME in the way CPU cores are
managed and how memory is addressed. There are two ways you can help
get these changes sorted out.

1. Test the games you are familiar with, and some you are not. Report
bugs at for anything out of the

2. If you are up to coding, help us by submitting patches that remove
the use of [Mm]achine->activecpu and/or cpunum_get_active(). You
should be able to derive which CPU you are referencing through other
means. To avoid duplication of effort, either send these quickly in
small bunches, or better yet, send a message to the submission address
announcing your intention to work on a certain class of drivers.

MAMETesters Bugs Fixed
- 02668: [DIP/Input] vendetta + clones: NVRAM being corrupted
- 02656: [Crash/Freeze] elevator: Elevator Action freezes after coin
insert with "8" (David Haywood)
- 02660: [Crash/Freeze] All sets in decocass.c: Games freeze when the
count reach 15, 14 or 13. (couriersud)
- 02654: [Crash/Freeze] timecris, timecrsa: Unable to start game due
to improper initialization (robiza)
- 02667: [Sound] bbmanwj: No sound since 0.123u2. (robiza)
- 02655: [Misc.] Some games using MC6845: A message reading "Mode
Control 88 is not supported!!!" is displayed (couriersud)
- 02092: [Graphics] spinlbrk and clones: Priorities issues (robiza)
- 02641: [Graphics] strider and clones: Problem with graphics layer
(Nicola Salmoria)
- 02196: [DIP/Input] scross: Five Player 2 buttons are mapped twice

Source Changes
UPI-41/42 (still I8x41.c) changes: [couriersud]
* cpu/i8x41 should be renamed to UPI-4x, since UPI-41/42 was an
intel chip family postponed for now until core moved to pointers.
* removed I8041 definition from mcs48
* removed I8x41 cpu definition and config struct
* added I8041, I8741, I8042, I8242 and I8742 cpus to i8x41.c
* added internal memory maps
* internal ram now uses DATA memory space
* updated drivers
* increased interleave to 70 in decocass. This fixes decocass hanging
in countdown around 13. No idea when this bug was introduced.
* converted i8x41 to use pointers for state access
* separated opcodes into i8x41ops.c

Populated tag and static_config parts of fake CPU device. Removed
'config' parameter from CPU_INIT. Modified CPU cores to pull config
from the device static_config. [Aaron Giles]

s14001a.c: added chip pinout and operation notes. [Lord Nightmare]

Clean-ups in the ST-V driver and corrected protection number seeds
for elandore. [Angelo Salese]

Video emulation fixes to the Ghost Eolith HW (not yet working).
[Angelo Salese]

i960 core switched to pointer state access. [couriersud]

Major cpuintrf changes: [Aaron Giles]
* added a set of cpu_* calls which accept a CPU device object;
these are now the preferred means of manipulating a CPU
* removed the cpunum_* calls; added an array of cpu[] to the
running_machine object; converted all existing cpunum_* calls
to cpu_* calls, pulling the CPU device object from the new
array in the running_machine
* removed the activecpu_* calls; added an activecpu member to
the running_machine object; converted all existing activecpu_*
calls to cpu_* calls, pulling the active CPU device object
from the running_machine
* changed cpuintrf_push_context() to cpu_push_context(), taking
a CPU object pointer; changed cpuintrf_pop_context() to
cpu_pop_context(); eventually these will go away
* many other similar changes moving toward a model where all CPU
references are done by the CPU object and not by index
* added CPU device parameters to all CPU callbacks except for the
context ones (which are going away), and the validity check.

Converted TMS340x0 cores to be pointer-based. [Aaron Giles]

Fixed Dip Switches for 'lkage' and clones. Fixed bootlegs visible
area to match original sets. [stephh]

Fixed Dip Switches for 'magmax'. [stephh]

Fixed Dip Switches for all games in mermaid.c driver. [stephh]

peplus.c updates: [couriersud]
* changed the 6845 type to R6545_1 (Rockwell as mentioned in the
* use transparent addressing
* lightpen code now generates a "lightpen_assert" at the right screen
* Completely hooked up 6545 without wrappers.

abc_step and abc_reset now declared as DISCRETE_STEP( abc ) and
DISCRETE_RESET( abc ). [couriersud]

Fixed Dip Switches for 'momoko'. [stephh]

Fixed Dip Switches for 'joyfulr' and clone. [stephh]

Fix state save in discrete sound: [couriersud]
* sndindex now considered as well in state save
* expose discrete_sound_n_r(void *chip, ...) to enable accessing
multiple discrete sound cores

Kaneko changes: [David Haywood, Andreas Naive]
* Added Simulation of Toybox external data rom decryption
* Converted Blood Warrior, Bonk's Adventure, Great 1000 Miles Rally
1+2 to use the new code.
* Updated suprnova rendering to allow 2 sprite chips.
* Started work on Jackie Chan & Gals Panic 3

Massive API cleanup/change: [Aaron Giles]

The primary goal is that all CPU-related APIs now take a device
pointer instead of an index. All functions that take a CPU device
are prefixed with cpu_*. All functions that are globally related to
cpu execution are prefixed with cpuexec_*. Below is a list of some
of the mappings:

cpu_boost_interleave -> cpuexec_boost_interleave
cpunum_suspend -> cpu_suspend
cpunum_resume -> cpu_resume
cpunum_is_suspended -> cpu_is_suspended
cpunum_get_clock -> cpu_get_clock
cpunum_set_clock -> cpu_set_clock
cpunum_get_clockscale -> cpu_get_clockscale
cpunum_set_clockscale -> cpu_set_clockscale
cpunum_get_localtime -> cpu_get_local_time
cpunum_gettotalcycles -> cpu_get_total_cycles
activecpu_eat_cycles -> cpu_eat_cycles
activecpu_adjust_icount -> cpu_adjust_icount
cpu_trigger -> cpuexec_trigger
cpu_triggertime -> cpuexec_triggertime
cpunum_set_input_line -> cpu_set_input_line
cpunum_set_irq_callback -> cpu_set_irq_callback

In addition, a number of functions retain the same name but now
require a specific CPU parameter to be passed in:


Merged cpuint.c into cpuexec.c. One side-effect of this change is
that driver reset callbacks are called AFTER the CPUs and devices
are reset. This means that if you make changes to the CPU state and
expect the reset vectors to recognize the changes in your reset
routine, you will need to manually reset the CPU after making the
change (since it has already been reset).

Added a number of inline helper functions to cpuintrf.h for
managing addresses.

Removed cpu_gettotalcpu(). This information is rarely needed
outside of the core and can be obtained by looking at the
machine->cpu[] array.

Changed CPU interrupt acknowledge callbacks to pass a CPU
device instead of machine/cpunum pair.

Changed VBLANK and periodic timer callbacks to pass a CPU
device instead of machine/cpunum pair.

Renamed all information getters from cpu_* to cpu_get_* and
from cputype_* to cputype_get_*.

Defined macros for standard sound core functions and updated all sound
cores to use them. [Atari Ace]

Replaced the Machine parameter where an running_machine * is
available and removes the deprecat.h where unnecessary.
[Atari Ace, Oliver Stoeneberg]

Cleaned up use of running_machine in the Windows debugger code.
[Oliver Stoeneberg]

Fixed Dip Switches and Inputs for 'jchan' and clone. [stephh]

Documented the CPS2 Phoenix sets, and what happens to a dead CPS2
board. [MAMEPlus]

Pointer-ified the 6800, 6809 and hd6309 cpu cores: [couriersud]
* temporarily named the state var m68_state in the 68xx cores
* reorganized some code for simpler comparison of 68xx cores

Pre-irq rewrite submission in ST-V driver: [Angelo Salese]
* Better management of hblank/vblank bits;
* Makes dynamic resolutions to be called with a timer instead of
* Makes dynamic resolutions to not be changed at every frame but
only when there's an actual change;
* Fixed Final Arch broken Test Mode;
* Demoted Super Major League / Final Arch as GAME_NOT_WORKING, they
hangs randomly due of SH-2 master/slave communication RAM issues
* Removed GAME_NOT_WORKING flag to Fighting Dragoon Legend Elan
Doree, because protection affects only in-game graphics and not
* Removed all the read/write handler speed-up hacks, they aren't
needed anymore and they were doing more damage than being useful.
This fixes Golden Axe: the Duel gameplay speed at the cost of breaking
up Groove on Fight coin counter at start-up.

Major memory system change: [Aaron Giles, couriersud, smf, R. Belmont]

Changed READ/WRITE handlers to accept an address_space * instead of
a machine *. The address_space object was enhanced to contain a
machine and a pointer to the relevant CPU object.

Added new function cpu_get_address_space() to fetch the address
space for calling in manually to these functions. In some instances,
code which should eventually be converted to a device is hard-coding
fetching the program space of CPU #0 in order to have something
valid to pass.

Converted cultures driver to have separated color tables for each
plane. [Angelo Salese]

Significantly pared down the 68k core. Merged outer MAME shell into
the core proper and removed unused macros. Changed all external
interfaces to pass the CPU device. Enabled 64-bit operations by
default. Re-derived the interface functions to cascade and share code
more aggressively. These changes also seem to have cured the taito_f3
issues as far as I can tell (at least pbobble3 seems right now).
[Aaron Giles]

Disentangled the 68000 core, converting it to be much simpler and less
overly abstracted. Hard-coded it for the options that are relevant
and never going to change. Removed old unused CPS2 encryption junk.
Changed encryption interfaces to pass the CPU core object.
[Aaron Giles]

Updated CPS1 documentation. [Nicola Salmoria]

Added m6809 config option to control where opcodes 10 and 11 fetch
the second byte. [Nicola Salmoria]

Changed kram3 to use a partially understood decryption algorithm and
removed external tables. [Nicola Salmoria]

Fixed Dip Switches for 'scotrsht'. [stephh]

Naomi improvements: [Samuele Zannoli]
* This patch implements a "plug-in board" device for the Naomi.
It represents the rom boards for the various games and the dimm
board for the gdrom.
* Now the dimm board part contains only a routine to load the "rom
file" from the gdrom chd, but in the future it will be fully
implemented with its own sh4 processor, security chip and so on.
* Extracted .rom files are no longer needed, rom file is extracted
in code from the CHD.

Added "tag" parameter to state_save_register_item_* calls. Removed
state_save_combine_module_and_tag() function in favor of passing
the tag when registering. Revisited all save state item registrations
and changed them to use the tag where appropriate. [Aaron Giles]

Changed 6809 disassembler to work with kram3. [Nicola Salmoria]

Added template support to regrep. Changed output to not color the
entire background of each cell. Switched to astrings and core_files
internally. [Aaron Giles]

ST-V IRQ rewrite and that removes several global hacks/game specific
hacks. (SMPC irq bit/introdon irq register hack/pblbeach framebuffer
hack plus some more). Note: some games have issues with it, but
they'll be hopefully fixed on the next couple of updates.
[Angelo Salese]

Generalized the concept of opbase access into "direct" access.
Removed opbase globals to the address_space structure. Cleaned up
names of pointers (decrypted and raw versus rom and ram). Added inline
functions to read/write data via any address space. Added macros for
existing functions to point them to the new functions. Other related
cleanups. [Aaron Giles]

Pointerized the CDP1802 CPU core. [Curt Coder]

Tweaked gun handling in beast busters a bit.. by halving the
precision of the guns to 7-bit they can be calibrated more easily,
maybe the originals were like this. I've also added a default
eeprom with them calibrated in a 'reasonable' way for MAME. Sound
is pretty awful on this, maybe the sound ROMs should be checked?
[David Haywood]

Cleaned up macro mess in the Z80 core. Switched to using generic
memory calls instead of program_* and io_*. [Aaron Giles]

Pointer-ified the ASAP core. [Aaron Giles]

Pointerized the COP400 CPU cores. [Curt Coder]

Switched mcs48, mcs51, m68000 to new memory functions. [couriersud]

Documented alt Ajax rom board [Phil Morris]

Fixed basic controls in 2 Minutes Drill & added preliminary shutter/
defender sensors. Still need proper ball hit/run sensors to get this
working however. [Angelo Salese]

Big H8 update: [R. Belmont]
- Added support for 8-bit H8 family MCUs, starting with the H8/3344
- Pointer-ified all H8 cores
- Some cleanup and renames toward additional future work

System 23: [R. Belmont]
- Added extremely preliminary support for I/O boards with the H8/3344

Removed the change_pc() macro. Changed memory_set_direct_region() to
return a boolean indicating whether the given address was successfully
located in a bank. Change raw/decrypted access to look at this result,
and if the given address is not in a bank, calls through to the
standard read handlers. This should prevent most crashes when
accessing opcodes. [Aaron Giles]

Fixed address space mapping handlers to invalidate direct access
regions if a change is made to the mapping. This is needed to prevent
the Sega dynamic memory mapping chips from falling over. [Aaron Giles]

Refactored the CDP1802 and COP400 CPU cores to use the new memory
functions. [Curt Coder]

Switched m6809 and hd6309 to new memory functions: [couriersud]
* cleaned up some macros
* aligned code a bit more
* interrupts now checked in cpu_execute instead of set_context

Pointerified the psx cpu core & switched it to the new memory
functions. Changed some MIPS_* to PSXCPU_*. [smf]

Fixed broken crazywar eeprom. [David Haywood]

Another significant memory system change: [Aaron Giles]

Moved memory global state into a struct hanging off of the machine.
Updated almost all memory APIs to take an address_space * where
appropriate, and updated all callers. Changed memory internals to
use address spaces where appropriate. Changed accessors to point
to the memory_* functions instead of the address space-specific
functions. Improved internal handling of watchpoints.

Added cputag_* functions: cputag_reset(), cputag_get_index(),
cputag_get_address_space(). These just expand via macros to an
initial fetch of the CPU via cputag_get_cpu() followed by the
standard CPU call.

Added debugger_interrupt_hook() and debugger_exception_hook() calls
which intelligently look at the debugger flags before calling.

Memory banking now requires a machine object. This makes the memory
system fully global-free.

Pointer-ified the jaguar CPU core. [Aaron Giles]

Pointer-ified the TMS32031 core. [Aaron Giles]

Replaced parent crkdown image with one containing valid settings data
(prevents game booting with 0 seconds and invalid highscore data
which it can't restore correctly). [David Haywood]

Converted H8 CPUs to the new memory functions. [R. Belmont]

Debugger interfaces cleanup. Added callback parameters to the
expression engine. Improved CPU parsing so you can use a CPU tag or
index in most commands that take one. Switched to passing CPU and
address space objects around where appropriate. Symbol tables now have
a global ref as well as a per-symbol ref. Debugcpu is now clear of
active CPU references and global Machine references. Lots of other
minor tweaks. [Aaron Giles]

Pointer-ified cpu/nec (V30). [couriersud]

Switched adsp21xx to new memory functions. [couriersud]

Fixed several protection issues with Double Wings, improved video
and sound. [Angelo Salese]

Converted ssp1601 to pointers (still works, tested virtua racing
genesis). [Curt Coder]

Pointer work on se3208 (although I haven't touched the disassembler..)
[David Haywood]

Adjusted bbusters volume balance slightly. [David Haywood]

MC6845: Hsync needs to toggle on every scanline. [Curt Coder]

Converted remaining CPU cores over to new memory functions.
[Aaron Giles]

Un-deprecat'ed the H8. [R. Belmont]

Removed cpu_read_byte/cpu_write_byte. Thesea are replaced with
memory_read_byte/memory_write_byte. [Aaron Giles]

Pointer-ified the M377xx. [R. Belmont]

Removed all direct memory accesses via program_read/write_* from
game drivers. All drivers now use the memory_read/write_* and pass in
an address space. [Aaron Giles]

Removed ROM banking kludges from bublbobl, ninjakd2, tnzs, lsasquad,
missb2, and other drivers. [Nicola Salmoria, David Haywood]

Pointer-"ified" the s2650 core. [couriersud]

Removed memory context switch. All memory accesses now specify an
address space explicitly. There is no longer any concept of a
"current" memory context. [Aaron Giles]

Enhanced the runtest.cmd to use all available processors.
[Aaron Giles]

Removed cpu_num info from SH2 in favor of just keeping the device
object. [Aaron Giles]

Better fix for vendetta eeprom. [Mamesick, Fabio Priuli]

Removed all vestiges of the old change_pc macro, which is no longer
needed with the banking improvements. [Aaron Giles]

Added the latest "what we know" to the plygonet driver. [Phil Bennett]

More accurately describes the aux board behavior for Ms. Pac-Man.
There is a thorough description of how the board works. mspacman is a
more faithful emulation. In particular you can now enter service mode
(F2) at anytime during game play. [Steve Golson]

Derived clocks from crystals in in ace.c, asteroid.c, avalnche.c,
blockade.c, boxer.c, bzone.c, cosmic.c, firetrk.c, galaga.c,
lazercmd.c, meadows.c, missile.c, orbit.c, skydiver.c, sprint2.c,
warpwarp.c, williams.c. [Luigi30]

Added diplocations to meadows.c, mugsmash.c, orbit.c. [Luigi30]

Unified sprint2.c memory map. [Luigi30]

Unified galaga.c CPU4 memory maps. [Luigi30]

Changed flyball CPU clock to a #defined crystal. Added dip locations.

Added new sound core for the Oki MSM6258. [Barry Rodewald]

Added dates to Tron revisions. Swapped tron/tron2 now that we know
tron2 is the later version. [Tim Lindquist]

New games added or promoted from NOT_WORKING status
Filetto [Angelo Salese]
Jackie Chan - The Kung-Fu Master
[David Haywood, Andreas Naive, stephh, Angelo Salese]
Firefox [Aaron Giles, smf]

New clones added
Beast Busters (US, Version 2) [Brian Hargrove]
Puzzle Bobble 2 (Ver 2.3O 1995/07/31) [Ross Myers]
Street Fighter II' - Champion Edition (Rainbow set 3, bootleg)
[Bill DeLeo]
Violent Storm (ver UAC) [Bill DeLeo]
Daitoride (YMF278B version) [Stefan Lindberg]
Soldam (World?) [Gerald]

New games marked as GAME_NOT_WORKING
Motocross Go! (MG3 Ver. A) [Guru]


MAMETesters Bugs Fixed
- 02633: [Crash/Freeze] Many sets using the MC6845: Crash/hanging in
many games. (Curt Coder)
- 02626: [DIP/Input] crimfgt2, crimfgtj: Cannot start a game
(Fabio Priuli)
- 02618: [Sound] samuraia and clones: No SFX sound
(Pierpaolo Prazzoli)
- 02544: [Core] Dip Condition / Port Include limitation (Aaron Giles)
- 02542: [DIP/Input] ghoulsu: Doesn't remove the original port when
replacing it with a conditional port (Aaron Giles)
- 02607: [Crash/Freeze] frogs: Taking a screenshot in Frogs (Gremlin) exits the game with an error. (aaron)

Source Changes
Changed 74123 into a device. Clarified behavior from datasheet. Added
logic to avoid recursive calls. [couriersud]

Fixed Dip Switches for all games in halleys.c driver.
Added Dip locations for 'halleys' and clones. [stephh]

More improvements to the 32x code. [David Haywood]

Irem M10: first results from schematics: [couriersud]
* Updated video timing and cpu/pixel clocks
* Rewrote irq for m10/m11 to use two 74LS123

AICA: fix missing instruments in DTPK driver games.
[R. Belmont, Deunan Knute, kingshriek]

Naomi: unmapped words in the AICA address range must read as zero.
[R. Belmont]

Corrected YM2203 balance in powerins. [Jim Hernandez]

Converted toobin to RGB32 to allow for mid-screen palette updates.
Also added correct video timing and full memory map, and connected
watchdog. [Aaron Giles]

Added Dip locations for 'exprraid' and clones, and for 'gyruss' and
clones. [stephh]

Hooked up 6845 to peplus driver: [couriersud]
* Hooked up 6845 in a daisy chain way into existing "6845 emulation"
* Clocks from schematics
* Video size issues - 6845 code related, discussion started on list

Re-inlined core attotime functions. This makes a significant
difference when running with high interleaves. [Aaron Giles]

Added support for recently-discovered internal Z80 register to the
Z80 core. Improves accuracy of undefined flags. [Miodrag Milanovic]

Reverted MC6845 changes as they broke a number of things. [Curt Coder]

Converted Z80, R3000, ADSP2100, and M680x0 cores to reference their
data via pointers instead of global structs, in anticipation of
future changes. [Aaron Giles]

Fixed coinage in Speed Attack! and cleaned-up the driver to current
standards. [Angelo Salese]

Converted the MCS-48, MCS-51, and m6502 cores to reference data via
pointers. [couriersud]

Added concept of scheduling quanta to the timer system. Also added
means of setting the minimum useful scheduling quantum, and clamping
all quanta to that value. [Aaron Giles]

Changed interleave/boost handling to use scheduling quanta instead
of timers. [Aaron Giles]

Added machine parameter to cpu_boost_interleave. [Aaron Giles]

Updated cpuexec to compute the "perfect" interleave value taking into
account the minimum number of cycles per instruction specified by the
CPU core. Updated Z80 core to indicate that the minimum cpi is 2.
Fixed incorrect minimum cpi in the 68020+ cores. [Aaron Giles]

Changed core cycle computations to use div_64x32 instead of full
64-bit divides. This involves tossing a few bits of resolution at
divide time, but should make no real difference in practice.
[Aaron Giles]

Began the process of pruning options from the 68000 core, hard-coding
it for MAME's needs. We've hacked on it sufficiently that it is no
longer generic, so this is a good opportunity to simplify the code
so that it can actually be followed (still in progress). [Aaron Giles]

Defined macros for all core CPU functions, along with macros for the
name and for calling, in the spirit of the devintrf.h macros.
[Aaron Giles]

Changed init, reset, exit, and execute interfaces to be passed a
const device_config * object. This is a fake object for the moment,
but encapsulates the machine pointer and token. Eventually this will
be a real device. [Aaron Giles]

Changed the CPU IRQ callbacks to a proper type, and added a device
parameter to them. [Aaron Giles]

Fixed background color of srmp1/srmp2. [EdxGROfS0]

Various improvements in the ST-V driver: [Angelo Salese]
* Fixed bitmap zooming in Virtual Mahjong 2 - My Fair Lady;
* Worked around a major graphic bug in ElanDoree;
* Added some missing alpha blending effects,Pro Mahjong Kiwame S
title screen needs it but it doesn't work yet due to other
problems (still investigating)
* Fixed a crash bug with Astra Super Stars when the debugger is

Merged DS5002FP into MCS51: [couriersud]
* Merged DS5002FP
* Disassembler now uses type specific memory names
* Merged DS5002FP disasm
* added 83C751 memory names to disassembler
* delete DS5002FP specific files
* removed unnecessary cpu callback in wrally
* DATA_MAP ==> IO_MAP in wrally

Continued rewrite of the Motorola DSP56k CPU core:
[Andrew Gardner, PhilB, RBelmont]
* Added proper clock speed to plygonet.c and internal divider to
* Fixed up disassembler add/sub, 05xx, and bsr ops.
* Handle mysterious uuuuF instruction found in plygonet add op.
* Partially implemented add, sub, mac, mpy, inc, cmpm, macr, asr16,
jscc, lea, and movec ops.
* Added dual X memory read and data move with short displacement
parallel moves.

Some improvements to the Forte Card driver, not yet working.
[Angelo Salese]

Changed Psicho Nics Oscar (japan revision 0) to (world revision 0)
since there is no japan disclaimer. [Corrado Tomaselli]

Fixed missing inputs in expro02. [Sonikos]

CPS2 ROM updates to match PCB labels. [Razoola]

Added ADDRESS_MAP_NAME macro, updated CPU cores to use it to reference
internal address maps. [Atari Ace]

Added include files for many drivers that never bothered before.
[Atari Ace]

Improved Star Castle drone sound. [Jim Hernandez]

New games added or promoted from NOT_WORKING status
Snezhnaja Koroleva [Antro]


MAMETesters Bugs Fixed
- 02268: [Graphics] devilw, darkadv, majuu : Sprite-background
priority isn't correct. (Mamesick)
- 02042: [Color/Palette] jjparad2: Wrong background color (Mamesick)
- 01679: [Crash/Freeze] kuniokub, kuniokun, renegade: Game freezes
after Title Screen. (Mamesick)
- 00224: [Sound] macross2: After stage 1, the sound keeps going out
and coming back. (Nicola Salmoria)
- 02605: [Color/Palette] funnymou, suprmous: Wrong colors in Funny
Mouse and clone. (David Haywood)
- 02587: [Gameplay] lohtb2: lohtb2 protection emulation is imperfect
- 02456: [Core] wrong sector size at CD_TRACK_MODE2 conversion routine
(R. Belmont)
- 02011: [Sound] superchs: ES5505 clockspeed too low (Phil Bennett)
- 02199: [DIP/Input] banbam, pettanp: The 4th 'Unused' dipswitch is
the 'Freeze' switch. (Angelo Salese)
- 00893: [Sound] All games in playch10.c, punchout.c, vsnes.c: It
seems that some sound channels are missing. (Aaron Giles)

Source Changes
Added sound banking to the mirage.c driver. [Angelo Salese]

Removed parent clone relationship from "Street Fighter Zero/Alpha 2"
and "Street Fighter Zero 2 Alpha". [David Haywood]

Removed parent clone relationship between missb2 and bublbobl. We
don't usually make the 'korean hacks' as clones as they have very
little to do with the original releases except for the stolen cpu
code. GFX / Sound / Gameplay are completely redesigned.
[David Haywood]

Changed VBLANK to irq0_line_assert and added a CLEAR_LINE in the
peplus driver. This greatly increases speed on all video slots.
[Jim Stolis]

Cleaned up the sample rom loading in mirage.c. [Angelo Salese]

MCS-51 improvements: [couriersud, Jim Stolis]
* Fixed split timer mode
* No interrupts for timer 0 modes 0,1,2 while timer 1 in mode 3
* mcs51 core now supports 4 interrupt levels depending on cpu type
* According to Philips, 80C31 is a 80C52 family member with 128K
internal ram and no rom
* Implemented cmos features: powerdown & idle
* Added comments about special function registers on Philips 80C52
* cleaned up reset routines
* Fixed INT0 & INT1 interrupt line handling
* Finally move cpu/i8051 to cpu/mcs51, rename files and some
* Quotes from the documentation added to the source as well
* Started DS5002FP integration

Updated nes pcm dma to read data through the cpu address map.
[Wilbert Pol]

Fixed Dip Switches for 'ambush' and clones. [stephh]

Improvements to magicfly driver: [Roberto Fresca]
- Added sound support to magicfly and 7mezzo.
- Hooked coin counters to magicfly and 7mezzo.
- Inverted the graphics banks to be straight with the hardware accesses.
- Updated the memory map description and technical notes.
- Added game notes and documented the test/settings/bookkeeping modes.

Fixed Dip Switches for 'arabian' and clones. [stephh]

Fixed Dip Switches for 'spaceint' and clones. [stephh]

Fixed MSM5205 ADPCM and sound comms in Ashita no Joe/Success Joe.
[Philip Bennett]

Changed superchs ES5505 clock rate to 15238050Hz. [Philip Bennett]

Fixed Dip Switches for all games in astrof.c driver. [stephh]

Various improvements to the jalmah.c driver: [Angelo Salese]
* Fixed tilemaps paging / tilemap positioning;
* Fixed a protection issue in Mahjong Daireikai,not giving correct
colors for the girls in-game;
* Fixed a rom-loading issue in Mahjong Daireikai;
* Fixed 'ZA' sound banking behaviour,this fixes at least the sound
in kakumei2;
* Removed VIDEO_EOF and added a TIMER_DEVICE_CALLBACK function for
MCU simulations;
* Added WIP code for the priority system;
* Added a NO_DUMP for the MCU for all the sets;

Rewrite of the Motorola DSP56k CPU core. [Andrew Gardner]
* Partially implemented inc24, asl4, bcc, brkcc, and doForever ops.
* Added code for parallel address register update.
* Partially implemented tfr op.
* Polygonet now allows test mode to be run for a few seconds. Most
IO is now known, though coin2 is still a mystery.
* Partially implemented move, asr4, and mpy ops.

YM2608/2612: applied latest fixes/discoveries. [Eke-Eke, Nemesis]

Added palette fading effect on macrossp.c driver. [Angelo Salese]

Fixed skewing and display area in MC6845. [Curt Coder]

Fixed Dip Switches and inputs for 'dreamwld'. [stephh]

NEC CPU core improvements: [couriersud]
* removed another speed hack in the NEC core
* renamed "FETCH" to "FETCH()" (macros used as functions should
look like functions)
* Preparation for opcode prefetch timing
* improved prefetch timing calculation
* prefetch timing now also used by V20 and V33
* moved some static variables into cpu context
* nec_reset now explicitly clears context variables
* all cpus now share nec_execute

More Discrete module optimizations. Added optimized custom mixer to
Donkey Kong. [Derrick Renaud]

lohtb2: Improved mcu emulation [couriersud]
* The whole startup cycle now works. No more timeouts and erratic
* lohtb2 will however not display the "Warning" screen due to a
priority issue. With color/attribute of 0x80 in videoram at 0xd0000 and 0xd8000, videoram at 0xd80000 will be displayed. Some tilemap guru has to look into this.

Fix GCC 4.3 "array bounds exceeded" error in disc_flt.c. [R. Belmont]

plygonet improvements: [R. Belmont]
- Turned off network IRQ. Game now boots without "network error"
- Hooked up palette RAM
- Improved text layer emulation (flip bits still missing)
- Fixed text layer emulation and visible area. FBI logo and color
test now display properly.

Fixed sound,hooked-up generic inputs and added some notes in Alien
Command (not yet working). [Angelo Salese]

Fixed m72 tilemap group 2 priorities. [couriersud]

Fixed Joker's Wild graphics to 2 bits per pixel. [Roberto Fresca]

NeoGeo updates [JohnBoy}
* Updated NeoGeo game pcb infos
* Renamed p's in kof2000n to correct chip label
* Renamed v's in mahretsu to correct chip label, readded 128k m1
from Mame 0.34b6 / s1 from older dump
* breakrev: Renamed c's to correct chip label, added correct c5/c6
* Marked mslug3h MVS AND AES VERSION
* Marked mslug4 2nd revision, added mslug4 1st revision missing set
* Marked trally MVS AND AES VERSION
* Marked ncombath MVS AND AES VERSION
* Marked sengoku MVS VERSION
* Marked superspy MVS AND AES VERSION
* Marked mutnat MVS AND AES VERSION

Modified src2html to use a template source file instead of hard-coding
to the MAME site. Changed from explicit styles to classes.
[Aaron Giles]

Changed magictg to use (hopefully correct) roms. [David Haywood]

Naomi / DC improvements [Samuele Zannoli]
* cvs2gd stops looping forever. However with no 3d emulation nothing
is shown on the screen.
* implemented the naomi RTC and there are a few verbose messages
about transfers not implemented yet.

Fixed Dip Switches for 'exprraid' and clones. [stephh]

Improvements to re900.c driver [Roberto Fresca, Grull Osgo]
- Reworked inputs to allow 6 players through a selector.
- Hooked all lamps (even the ball simulator array).
- Added a internal layout and support for external artwork.
- Extended the hardware to support Buena Suerte '94.
- Cleaned up the driver.

Fixed Dip Switches for 'gyruss' and clones. [stephh]

Fix NES APU to work with high sample rates (don't know the bug #).
[Aaron Giles]

Synchronized 6502 disassembly with CPU core. [Pugsy]

Added missing const/statics, added/removed entries in header files,
and fixed a few potential multisession issues by explicitly adding
initializers. asic65.c has significant changes to accomodate using a
struct instead of 16 variables, otherwise the changes are modest and
obvious. [Atari Ace]

expro02 driver improvements: [Sonikos]
- Fixed dips in all galsnew sets and fantasia.
- Added dips location.
- A little driver clean up.

Added save state support to the toaplan2 driver. [Atari Ace]

Changed the coinage settings and swapped coin A mech with coin B to
match the behaviour of Chelnov (world) pcb. [Corrado Tomaselli]

New games added or promoted from NOT_WORKING status
Ruleta RE-900 [Grull Osgo]
Buena Suerte '94 [Grull Osgo, Roberto Fresca]
Virtual Mahjong 2 - My Fair Lady

New clones added
Power Instinct (USA) [Jim Hernandez]

New games marked as GAME_NOT_WORKING
Joker's Wild (encrypted) [Roberto Fresca]


MAMETesters Bugs Fixed
- 01722: [Crash/Freeze] sokonuke: Game hangs after you choose stage.
(Aaron Giles)
- 00468: [DIP/Input] gogomile, gogomilj: Inserting coins or pressing
start has no effect at the continue screen. (Phil Bennett)
- 00436: [Sound] kyukaidk: Some of sound effects are wrong. Umpire's
voice is most notable. Also, music is not correct.
(Phil Bennett)
- 01702: [Gameplay] cloak + clones: Canīt pick up items (Phil Bennett)
- 02140: [Save/Restore] cubeqst: cube quest crashes mame when saving
state (Phil Bennett)
- 02577: [DIP/Input] crush and clones: Broken Dips (Fabio Priuli)
- 00359: [Sound] blocken: Some of the enemy voices are totally wrong
(Phil Bennett)

Source Changes
MC6845 changes: [Curt Coder]
- added cursor and display enable skewing
- added preliminary support for SY6545-1's transparent addressing mode
- Hsync should be pulsed even when vsync is active.

Removed per-game hacks from CPS3 (moved to DMA callback in SH2 core).
Removed Speedups from CPS3 / PsikyoSH, while they do still give a
decent speed boost they're not really needed with the DRC and just
clutter the code. [David Haywood]

Minor NeoGeo cleanups [JohnBoy]

Rewrite of the Motorola DSP56k CPU core. [Andrew Gardner]
* Complete rewrite focusing on legibility and extensibility.
* 27/121 opcodes (mostly) implemented.
* Bugfix for reset status of interrupt priority bits.
* Bugfix for disassembly of register-to-register parallel data move.
* Added additional branch, move and bitfield ops.
* Plygonet now passes its memory test and uploads a new program.
* Implemented tst, or, jsr, rti, tst2, and 2 new movec ops.
* Added opbase handler to plygonet.c

Increase cubeqst interleave factor to eliminate LDP timeout countdown
flicker. [Philip Bennett]

Added redumped B-Rap Boys sample ROMs. [Guru]

Cleaned up STV rom loading a bit. [David Haywood]

NamcoNBx: fixed C75 BIOS loading for big-endian targets. [R. Belmont]

Updated tnzs.c driver: [stephh]
- renamed sets :
* 'tnzsjn' -> 'tnzsj'
* 'tnzsj' -> 'tnzsjo'
* 'kagekia' -> 'kagekih'
- fixed Dip Switches for all games (2 remaining unknown Dips in
'plumppop' and 'jpopnics' though)
- added many notes

Small cleanups to the ST-V driver. Make some work for magzun, still
not working. [Angelo Salese]

AICA: fix sample addressing for the full 8 MB [kingshriek].

Fixed bnstars1 screens. [David Haywood]

MCS51/I8051 overhaul, micro3d improvements and full m72 protection
emulation for lohtb2: [couriersud, Jim Stolis]
* improved serial port timing
* better infrastructure for adding more variants like DS5002
* Fixed port reading
* Rewrote Macros for better readibility
* Fixed and rewrote Interrupt handling
* Now returns INTERNAL_DIVIDER, adjusted cycle counts
* Remove unnecessary and duplicated code
* Remove unnecessary functions
* Rewrite to have sfr-registers stored in int_ram.
* Debugger may now watch sfr-registers as well.
* implemented interrupt callbacks (HOLD_LINE now supported)
* Runtime switch for processor type - remove ifdefs
* internal memory maps for internal rom versions (internal ram now
displayed in debugger)
* more timer cleanups from manual
* fix timer 2 interrupts
* implement serial mode 2/3 rx and tx clock handling
* Remaining games checked and adapted to changes in cpu core
* Cardline still broken. I need the exact and complete cpu name.
* Added more variants 803X, 80CXX, AT89C4051
* Fix segas18.c (segaic16.c) mcu maps.
* Fix sslam.c
* Fix limenko.c videopkr.c : Issue with core allocation of ram (duplicate savestate)

micro3d improvements: [couriersud]
* serial port communication between main cpu and sound board works
* sound board now works

m72 - lohtb2 improvements: [couriersud]
* full emulation of protection device
* Samples are now piped through the mcu

Added sound and corrected wrong DIP-SW in the Double Dealer driver.
Completed protection vectors, fixed video emulation and added coin
setting simulation. [Angelo Salese]

Fixed recently regressed raster interrupt issues in fuukifg*
drivers. [Philip Bennett]

Added flip screen / cocktail support to yumefude driver. Completed
DIP-Switches (manual-wise) and made better comments. [Angelo Salese]

Separated umk3 and breakrev from their parents. [David Haywood]

Some reorganization in megadriv.c, porting over some code to attempt
to get it working again, bit by bit. [David Haywood]

Improved dakkochn gfx; the priority are ok but there are various
offset so i marked also the game as "inperfect gfx". [Sonikos]

Fixed a subtle bug in the 65c02 emulation where the result of the BIT
instruction differs on the 65c02 (from the 6502), when executed
in immediate mode. [Phill Harvey-Smith]

Added samples suppor to Cosmic Alien. [T. Bellm]

New games added or promoted from NOT_WORKING status
(Medal) Yumefuda [Bet] [Angelo Salese]
Grudge Match (Yankee Game Technology) [Aaron Giles]
Double Dealer [Angelo Salese, David Haywood]
Super Megatouch IV (9255-41-07 ROG, New Jersey version)
[Mariusz Wojcieszek]
Mirage Youjuu Mahjongden [Angelo Salese]

New clones added
The King of Fighters 2002 (bootleg) [Kawaks]
Police Trainer (v1.3B Newer) [Brian Troha]
Egg Venture (Release 8) [Brian Troha]
Kick for the Goal [Brian Troha] (Not Working)
Fire Shark (Korea, set 1, easier) [Guru]
Fire Shark (Korea, set 2, harder) [Guru]
Seibu Cup Soccer (set 2) [Chris Hardy] (NOT WORKING)

New games marked as GAME_NOT_WORKING
P's Attack [Guru]
Magic the Gathering: Armageddon [David Haywood]
Mario is offline   Reply With Quote


emulation, mame, raiden, roms

Currently Active Users Viewing This Thread: 2 (0 members and 2 guests)
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +8. The time now is 12:24 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
All content Đ1997 - 2017, Mario's World, Inc.

eXTReMe Tracker