Fixed auto_malloc() along the way 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.
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.
==============
irq 5 code is this one:
04425A: 007C 0500 ori #$500, SR
04425E: 0279 FFEF 0060 000C andi.w #$ffef, $60000c.l
044266: 0079 0010 0060 000C ori.w #$10, $60000c.l
04426E: 48E7 0080 movem.l A0, -(A7)
044272: 206D 1C18 movea.l ($1c18,A5), A0
044276: 30F9 0070 0002 move.w $700002.l, (A0)+
04427C: 2B48 1C18 move.l A0, ($1c18,A5)
044280: 4CDF 0100 movem.l (A7)+, A0
044284: 4E73 rte
60000c is an unknown port,but 700002 is for arm power sensor. So I'm guessing that's not related at all with the ym sound chip.
I'll check this again at some point...
New games marked as GAME_NOT_WORKING
------------------------------------
AV Hanafuda Hana no Christmas Eve [Angelo Salese]
AV Hanafuda Hana no Ageman [Angelo Salese]
Adds Jeff's Romhack Donkey Kong Foundry set. I spoke with him before the d2k thing and he gave his permission to use this set with MAME
No credit please ;-)
that shares the work ram with the main z80) [Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Mahjong Senka [Angelo Salese]
Mahjong Yarou [Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cherry Bonus III (version 1.40, encrypted) [Andreas Naive, Roberto Fresca]
atarisy1.c:
* 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
balsente.c:
* Placeholders in the Bally Sente driver for the various PALs that need to be dumped
* Added notes on some of the type of Bally Sente cartridges
galaga.c:
* Placeholders in the Galaga driver for various PALs that need to be dumped
* Added notes on the two different Atari Dig Dug board revisions
galaxian.c:
* Added notes to the Galaxian driver on the single board Galaxian bootleg and the board labels for Lost Tomb and Turtles
ms32.c:
* Placeholder in the Jaleco MegaSystem 32 driver for the PAL on the motherboard
namcofl.c:
* Placeholder in the Namco FL driver for the PALs on Speed Racer
popeye.c:
* 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)
rocnrope.c:
* Placeholder in the Roc 'n Rope driver for a PAL
tutankhm.c:
* Added the dip locations to Tutankham
tx1.c:
* Placeholder in the Buggy Boy Jr. for the various PALs
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.
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.
polystar gets a little farther but crashes when the sub cpu attempts
to enable interrupts.
Removed HAS_PPC* in favor of a single HAS_POWERPC, and a single
definition in cpu.mak for all PowerPC variants.
If you're going to point to banks, they must be mapped. Increased all
"main" regions to 0x2000000 in order to accommodate all possible 16
banks the code might try to switch to.
Disassembled PCs are now forcibly aligned to the minimum opcode size
and explicitly masked.
Also 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).
* 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:
* 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:
* corrected sound IRQ rate and handling
* removed lnc audio reset hack
* full audio memory maps based on schematics
* corrected video timing
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. [Luca Elia]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ying Hua Lian 2.0 [Luca Elia, Angelo Salese, David Haywood]
- 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.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cherry Bonus III (Version 1.40, set 1) [Roberto Fresca]
Cherry Bonus III (Version 1.40, set 2) [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.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
New Lucky 8 Lines (set 1) [Roberto Fresca]
New Lucky 8 Lines (set 2) [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):
- 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'.
- 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.
New clones added
----------------
New Lucky 8 Lines (set 2) [Roberto Fresca]
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.
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.
Sent: Wednesday, December 24, 2008 2:49 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Fix 02764: liberatb: [debug] Access Violation
Hi mamedev,
This fixes 02764. When all the CPUs got tags in 0126u2, this driver
ended up removing it's own cpu(!), causing this crash in debug and
similar unhappiness in non-debug.
~aa
Sent: Wednesday, December 24, 2008 11:09 AM
To: submit@mamedev.org
Subject: Gururin redump...
This diff replaces the bad (likely hacked) Gururin dump with one Guru did yesterday from my cart and I fixed some rom names in Double Axle according to the pcb. Here's the changed roms:
http://smitdogg.mameworld.info/random/g.zip
Smitdogg
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters (based on ddragon.c driver)
Sent: Tuesday, December 23, 2008 7:49 AM
To: submit@mamedev.org
Subject: Submissions
* ddragon.diff:
- converted scanline timer to be a device
- corrected M6809 CPU frequencies, they are supposed to be internally divided by 4 but
there's no internal divider in the core
* gstream.diff:
- improved oki banking (educated guesswork, see notes in the driver)
- replaced CPU_EAT_CYCLES hack with CPU_SPINUNTIL_INT because the first cause the video
completely out of sync with audio. I think the game is really so slow on the PCB too
* vball.diff:
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters (based on ddragon.c driver)
* xain.diff:
- converted driver to be fully scanlines based using timers
- fixed ID 02742
- updated driver to new video screen raw parameters (based on ddragon.c driver)
Sent: Monday, December 22, 2008 8:04 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Update sound core header files
Hi mamedev,
This patch updates 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.
~aa
Adds some clones.
Adds Cafe break as not-working (it needs the internal CPU rom dumped).
Also added the (commented out) rom loader for the new "Dai Dai Kakumei" dump,
that only differs in rom sizes.
New clones added
----------------
Show Hand (China) [Luca Elia]
Don Den Lover Vol. 1 (Korea) [Luca Elia]
New games marked as GAME_NOT_WORKING
------------------------------------
Mahjong Cafe Break [Guru]
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]
(You can see a mirrored test menu with a few ROM patches now)
(The i860 code has been found and has been deemed "dead simple" by the guy who wrote the unix binutils i860 disassembler, Jason Eckhardt. He also wrote an i860 cpu core in the past and has donated parts of it to MAME. If he weren't finishing up his phd thesis in 2 months, i'd say he'd have finished this driver by now himself :) )
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.
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.
Removed the dummy CPU core and cpuintrf.c.
Changed the core execution loop to directly call the execute
function instead of using the inline helper (which has been removed).
The program ROM has only 3 bytes of difference at offset 0x008b.
Spacecho: 0x008b: call $2929 ; cd 29 29
Spacech2: 0x008b: im 1 ; ed 56
0x008d: nop ; 00
So... spacech2 is avoiding to enter the sub at $2929.
New clones added
----------------
Space Echo (set 2) [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
---------------------------------------------------
Cherry I Gold (bootleg of Golden Star) [Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Cherry Master I (v1.01) [Roberto Fresca, David Haywood]
(It was doing a double-shift for CPUs with a address shift)
(The bpset command seems to occasionally behave oddly for cpus with address shifts as well. Didn't figure that problem out in the few minutes i looked at it.)
Sent: Sunday, December 21, 2008 3:28 AM
To: submit@mamedev.org
Subject: minor stuff
Hi,
just a small one:
- adds a ATTR_PRINTF in inptport.c
- removes an unnecessary memset in emu/sound/rf5c68.c
So long
Oliver
Changed 8080/8085 callbacks to be specified in a config structure.
Converted 8080/8085 core to cpu_state_table.
Changed to a single HAS_808X define for both cores.
Fixed several drivers that used interrupts in odd ways.
Converted warpwarp driver to raw video parameters.
- Complete reel support from the scratch.
- Full inputs, outputs & DIP switches from the scratch.
- Added new games.
- Updated technical and game notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
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]
New games marked as GAME_NOT_WORKING
------------------------------------
Leader [Roberto Fresca, David Haywood]
* 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.
Sent: Saturday, December 20, 2008 7:43 AM
To: submit@mamedev.org
Subject: Agress Fix
Here's a fix for Agress' title screen
Link if the attachment doesn't work. :)
* ddragon3.diff
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters
* shadfrce.diff
- converted driver to be fully scanlines based using timers
- implemented raster interrupt timer in the main routine
- updated driver to new video screen raw parameters
* wwfsstar.diff
- converted driver to be fully scanlines based using timers
- updated driver to new video screen raw parameters
* wwfwfest.diff
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters
Sent: Friday, December 19, 2008 8:50 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add machine/space to some callbacks
Hi mamedev,
This patch widens some machine callbacks to include an object (either
machine or space). I didn't convert these earlier since MAME didn't
explicitly need them, but some of these will be needed by MESS now
that Machine is gone and in general all callbacks need to pass an
object.
~aa
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).
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.
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).
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Three Ds - Three Dealers Casino House [David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
4nin-uchi Mahjong Jantotsu [David Haywood,Angelo Salese]
(and commented out a printf line in Jangou HW.)
- 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]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Country Girl [David Haywood,Angelo Salese]
* 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
bus width and shift CPU interface constants. Changed all the cores
to use them.
Minor spacing cleanup in Z80, Z180, TMS34010, ADSP21xx cores.
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.
necessary to remove 12 of the final 14 references to the global
Machine. The remaining 2 are in fatalerror() and logerror(), which
are both local to mame.c, so Machine is now fully static.
--
From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Thursday, December 18, 2008 5:47 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make Machine static followup
Hi mamedev,
This incremental patch to my last patch undoes the change that caches
the ppu2c0x videorom. I changed the code back to how it behaved
originally, using an existing machine on the chip struct to eliminate
the one troublesome Machine reference.
~aa
--
From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Thursday, December 18, 2008 2:54 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make Machine static!
Hi mamedev,
This large patch completes the removal of the use of Machine
throughout MAME. It does so primarily by adding machine, device or
space to various apis and modifying the callers, but for some
remaining cases it adds a new api, mame_get_running_machine(), which
will be called instead. There are only 14 uses of this api currently,
and that number should drop over time.
There are a few changes of note:
1. 6821pia.c. I attached machine to the 'device' structure. I'm
working on converting this to a proper device, but that change isn't
ready.
2. fddebug.c. I added a proper header so that the apis won't get
accidentally converted to static again.
3. scsi.c. I added a machine to SCSIInstance.
4. system16.c. I modified sys16_patch_code to take an array of
patches.
4. custom.h. I added the owning sound device to the reset/stop
routines as well as the token. Note that passing only the device
would require exposing the internals of custom_sound, as the token
passed is not the device token, but the token returned from the
CUSTOM_START routine. Better ideas here are welcome.
4. ppc2c0x.c. To avoid changing more interfaces, the init routine
saves the videorom location rather than looks it up each time.
I tried to choose what I felt was the natural parameter for an api,
rather than always pass machine, but in some cases I used machine to
limit the number of additional changes. Some additional cleanup here
is probably warranted, I'll look into that later once I'm recovered
from this two-week project.
~aa
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.
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, and i86 cores
to use this.
Removed the old debugger register list, which was never
used. Replaced it with using ordering from the
cpu_state_table.
Renamed REG_PC -> REG_GENPC, REG_SP -> REG_GENSP, and
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.
i86/i286/i386/nec/v30mz:
* renamed i86.h -> i86priv.h
* renamed i86intrf.h -> i86.h
* consolidated i88intrf.h, i186intf.h, i188intf.h, etc into i86.h
m6805:
* moved memory read/write macros out of public header
m37710:
* moved memory read/write macros out of public header
spc700:
* moved many structs/functions/macros out of public header
tms32010:
* moved memory read/write macros out of public header
sm8500:
* pointer-ified the core (apparently never had get/set context!)
g65816:
* moved memory read/write macros out of public header
pic16c5x:
* moved memory read/write macros out of public header
t11:
* moved memory read/write macros out of public header
Sent: Wednesday, December 17, 2008 9:03 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] STREAM_UPDATE update
Hi mamedev,
This patch modifies the parameters of the stream_update_func callback.
The first two patches go through and changes all the callbacks to use
a consistent set of parameters (the larger patch was mechanically
generated, the smaller second patch are hand edits where review or
compilation showed issues with the automatic conversion). The third
patch then macroizes all the callbacks to STREAM_UPDATE, and was done
mechanically except for the change to streams.h. The fourth patch
then adds device to the callback, and eliminates Machine in a handful
of callbacks by referencing the device. deprecat.h -= 8.
~aa
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.
Dfined 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.
Changed various NVRAM devices to fetch their default memory region
from the device->region rather than specifying it in the
configuration.
Moved a number of CPUINFO_PTR_* constants to CPUINFO_FCT_*.
Fixed several drivers that manually created their own gfx_elements
to fill in the machine object, so they no longer crash.
Fixed incorrect CPU display on info screen (recently broken).
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.
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.
Fixed behavior of MDRV_CPU_REPLACE so it does not delete and then
re-add a CPU (causing the order to change).
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.
Sent: Tuesday, December 16, 2008 12:20 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Migrate CPU defines to cpu header files
Hi mamedev,
This patch migrates all the CPU definitions into the cpu header files.
The #defines and CPU_GET_INFO declarations were added by hand to the
cpu cores in the first patch, plus a few partly related fixes to the
non-DRC cores. The second patch was produced by the attached script
which inserts all needed #includes, except for two that were added by
hand in the first patch. The first patch also removed an extra define
of N2A03_DEFAULTCLOCK that would have caused problems with the second
patch.
~aa
More deprecat.h cleanup in the core, notably changing the apis for
poly_alloc. I also made cpu_get_index_slow fatalerror on failure
since no one is checking the return value.
deprecat.h -= 14, Machine -= ~55
~aa
cpu_get_info_* -> device_get_info_*
cpu_set_info_* -> device_set_info_*
cpu_reset -> device_reset
Removed the cputype_get_* macros as they are not necessary.
Removed cpuintrf_init() which is no longer necessary.
machine configuration just as any other device, and the
standard CPU configuration is performed via the inline
configuration macros.
Change cpu_type from an enumeration into a pointer to the
CPU's get_info function, very similar to device behavior.
For now all CPUs are declared in cpuintrf.h, but
eventually they should be declared in the CPU's header
file, and the driver should #include that header.
Added function cpu_get_type() to return the CPU type.
Changed several cpu_* functions into macros that call
through to the equivalent device_* function.
The device system now maintains a parallel list of devices
based on type, for faster iteration through all devices
of a given type.
Cleaned up code that looped over CPUs via the machine->cpu
array to now loop using the type-based device list.
Removed start/stop/reset/nvram functions from the
device_config in favor of grabbing them as needed.
Cleaned up the generic interrupt_enable code to work with
CPU devices instead of numbers.
Mapped the devtag_* functions to device_* functions via
macros instead of parallel implementations.
- 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.
New clones added
----------------
Jolly Card (italian, encrypted bootleg) [Roberto Fresca]
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: domenica 14 dicembre 2008 23.56
A: Angelo Salese
Oggetto: Gridiron update
Changed it from using a hack using the gfx rom to display the 'play
number' to using the LEDs in the artwork system.
New games marked as GAME_NOT_WORKING
------------------------------------
Jackie [David Haywood]
============================================================================
(Personally I'm not really interested in this one at the moment (I'm not
enough keen with Champion Skill HW and its fancy I/O stuff), however it
should be slightly different memory map + different protection)
roms/current/j/jackie.zip
-Converted the Reels video to Tilemaps [David Haywood]
New clones
----------
(New?) Cherry Bonus III [David Haywood]
Cherry Bonus III [David Haywood]
New non-working
---------------
Cherry Master (Corsica, v8.01) [David Haywood]
Cherry Master 91? [David Haywood]
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: domenica 14 dicembre 2008 22.20
A: Angelo Salese
Oggetto: Gold Star update
I converted the Reels video to Tilemaps
merged cmaster.c with this, since it's basically the same thing, but
with some changes.. made a few improvements to that.
also added another cherry master set, might be "cherry master '91" but
it's probably running on an extended version of the hardware as it has
extra roms etc.
it's still rather messy.. seems this game / hardware was used for the
base of a lot of hacks, and it's really hard to know what the originals
were...
------------------------------------------------------------------------
the cherry bonus 3 sets seem to be the same game as goldstar ....
again these were just random messy sets on f205v's pcb with no proper info,
no proms etc. ... ncb3 boots, and does show a dyna logo . cb3 seems to be
encrypted.
This adds the "Queen" game into a driver (a.k.a. the 2002 PC-era game)
(roms are already on the ftp,I believe)
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: venerdi 12 dicembre 2008 0.05
A: Angelo Salese
Oggetto: Queen Skeleton..
Didn't think the queen was dead yet, but here is her skeleton ...
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Jangou Lady [David Haywood,Angelo Salese,Phil Bennett]
Sent: Saturday, December 13, 2008 5:07 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add machine to allocgfx
Hi mamedev,
This patch eliminates 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.
The changes outside of drawgfx.[ch] were done with the attached
script.
~aa
Sent: Saturday, December 13, 2008 1:34 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add machine parameter to tilemap_create()
Hi mamdev,
This set of patches eliminates 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.
The first patch simply adds running_machine *machine to some driver
functions that will soon need them. The second patch makes the needed
changes to tilemap.[ch]. The (large) third patch adds machine to all
the tilemap_create calls, and was generated entirely by the attached
script.
~aa
Sent: Saturday, December 13, 2008 6:58 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] additional sound core deprecat.h removal
Hi mamedev,
This patch removes most of the remaining deprecat.h includes in the
sound cores. deprecat.h -= 8.
~aa
--
From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Saturday, December 13, 2008 10:14 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] final sound core deprecat.h cleanup
Hi mamedev,
This patch removes the last three deprecat.h includes from the sound
cores.
~aa
Sent: Friday, December 12, 2008 9:28 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] yet another small Machine cleanup
Hi mamedev,
This patch modifies the tms34010.h, pc16552.h, and tms34061.h
interfaces to eliminate some more global Machine variables. Six more
deprecat.h includes eliminated.
FYI, 128u5 had 523 deprecat.h includes and ~1400 Machine variables,
now were down to 374 and ~420 respectively, so progress is being made.
~aa
Sent: Saturday, December 13, 2008 2:15 AM
To: Aaron Giles
Subject: Re: Another 8080/85 change from me
Hi Arron,
Here is the patch.
Problem was in EI handling and not clearing of interrupt enable flag, as I did in previous. So now EI is done as in Z80 since it is working same way. I have tried a invaders clone having problem, now they work, also MESS machine for which I initialy did this works.
Hope this will be in u6.
Micko
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Jangou [David Haywood,Angelo Salese,Phil Bennett]
Added hardware and tech notes.
New games marked as GAME_NOT_WORKING
------------------------------------
Four Roses (encrypted, 2 sets)[Roberto Fresca]
Sent: Thursday, December 11, 2008 6:52 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] deprecat.h cpu cleanup
Hi mamedev,
This patch purges the last few uses of deprecat.h from the cpu cores,
plus a handful of other Machine cases elsewhere that were found by
script inspection.
~aa
--
Hi mamedev,
This patch eliminates most uses of deprecat.h in the sound cores by
attaching the device to the state object and using it where
appropriate. Given that all the cpu objects use this convention, and
three sound cores already do this, this seemed an appropriate
approach.
~aa
Sent: Thursday, December 11, 2008 10:56 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] verboselog changes for future Machine removal
Hi mamedev,
Several mame files use an inline verboselog definition which saves
typing the cpuexec_describe_context repeatedly. While this is a nice
feature, each case introduces a then hard to remove deprecated Machine
variable. One way to fix this would be to add machine to the
parameter list for each verboselog call. Another way would be to
change them to include the context call explicitly inside a typical
logging macro (e.g. decocass.h). Not knowing which would be more
acceptable to mamedev, I've included patches for both.
~aa
(I chose to pass the machine to the verboselog function.)
> The roms were forwarded to the list ages ago. From Arzeno.
>
> GFX roms aren't dumped, using the original CPS2 ones causes the 'GIGA'
> part of the title to be missing. They should be different
> SOUND rom isn't dumped, it uses an AD-65 (OKI6295) instead of QSOUND,
> so I can't add the sound.
>
> Progarm appears to run as expected.
>
> it took a long time to figure out that this change was needed because
> MAME simply exits to the commandline without any kind of message, or
> possible backtrace if you attempt to call cpu_set_input_line with an
> invalid CPU.
>
> - cpu_set_input_line(space->machine->cpu[1], INPUT_LINE_RESET,
> (data & 0x0008) ? CLEAR_LINE : ASSERT_LINE);
> + if (space->machine->cpu[1])
> cpu_set_input_line(space->machine->cpu[1], INPUT_LINE_RESET, (data &
> 0x0008) ? CLEAR_LINE : ASSERT_LINE);
>
From: Smitdogg Jones [jcsmith23@yahoo.com]
Sent: Wednesday, December 10, 2008 4:51 PM
To: Dumping Project; submit@mamedev.org
Subject: Super High Impact (Prototype 6.0 9/23/91)
Most roms are labeled with LA1 stickers. U89 and 105 have small white square stickers stuck on top of what looks like LA1 stickers with "pro6" printed on them by a computer and are the only roms found to be different than ones in the LA1 revision. I added this as shimpap6 and changed the set name of the proto 5 version to shimpap5.
roms will be here temporarily when I can access it, it's currently down, I don't know what the issue is:
http://smitdogg.mameworld.info/random/shimpap6.zip
I'll e-mail the roms to Guru too. If anybody wants pics or anything else from it, let me know soon. I attached the diff.
Smitdogg
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Pesadelo [Mariusz Wojcieszek, hap]
Rom uploaded to current/p.
It would be good if somebody can check sound hookup - I have no speaker attached to PC in the work office.
Mariusz
Also:
From: hap [hap@samor.nl]
Sent: Wednesday, December 10, 2008 3:21 PM
To: submit@mamedev.org
Subject: forte2 driver
Hello,
Attached is a Forte II board driver for MAME.
u5_forte2_diff.zip is the diff to 0.128u5
forte2_csource.zip is the driver source, better viewing than the diff
pesadelo.zip is a game ROM for it
Greets, hap
Inviato: domenica 7 dicembre 2008 20.18
A: Angelo Salese
Oggetto: Status Trivai (From software this)
seems to be a vertical set of Triv Two. There were no question roms, so
I used the roms from our existing Triv Two set, they seem compatible
(not really surprising)
Triv Two (Vertical) [David Haywood]
Sent: Thursday, December 11, 2008 7:13 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Remove deprecat.h from rendlay.c
Hi mamedev,
This patch squashes another deprecated use of Machine from the mame
core by plumbing machine_config into rendlay.c
~aa
Updated the fcompress APIs to allow for specifying a compression level.
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.
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.
Removed all other uses of activecpu throughout the system. Removed
activecpu from the machine structure to prevent future abuse.
Removed cpu_push_context() and cpu_pop_context(), and all call
sites.
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.
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.
Many other small changes to make this all work.
Sent: Wednesday, December 10, 2008 9:27 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add machine to some emu/machine init methods
Hi mamedev,
This patch widens 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. I also
attached the script I used to do the initial changes to the drivers,
which handled about 90% of the cases without further editing.
~aa
- 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 battery).
- 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).
Sent: Tuesday, December 09, 2008 8:13 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add device parameter to stream_create()
Hi mamedev,
This patch adds the sound device to the parameters passed to
stream_create so that the global Machine can be removed from
streams.c. It assumes my previous patch which added CUSTOM_START and
SAMPLES_START has been applied.
~aa
Sent: Monday, December 08, 2008 10:05 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] More Machine cleanups
Hi mamdev,
This patch picks up where my last patch left off, and tries to fix the
widely used konamiic/taitoic/deco16ic/segaic16 video cores to no
longer reference Machine. Basically plumbing through screen or
machine as appropriate in lots of drivers.
Note: The taito_l change fixes a dumb typo in taito_chardef14_m in my
last patch that I would have caught with a proper header file, which
I've now added.
~aa
Sent: Monday, December 08, 2008 6:21 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Pointerify f8/tlcs90 cores
Hi mamedev,
Two more cores converted to pointers. f8 was very straightforward,
tlcs90 had some extra state that needed to be merged into the register
struct, and needed adjustments to its timers and read/write handlers
which might warrant some scrutiny by the experts.
~aa
from the CPU cores.
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.
debugger. 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).
This is a reworked/expanded version of the patch I sent yesterday.
This one is split into three parts:
1. This introduces function macros for SAMPLES_START,
CUSTOM_{START,STOP,RESET}, and ANTIC_RENDERER.
2. This introduces running_machine *machine throughout MAME.
Principally it adds running_machine *machine = Machine to the top of
functions, but in some static functions the parameter is added
directly. Some similar changes in 99xxcore.h, v9938.c, v9938mod.c,
galaxold.c, psx.c, taito_l.c are also made to eliminate Machine
params. No global API is changed.
3. This changes the APIs introduced in the first part to pass device
or space as appropriate. A few similar changes in some other global
apis are made as well.
The net result of this sequence of patches is to remove 40% of the
Machine references and 27 deprecat.h includes.
~aa
Sent: Sunday, December 07, 2008 1:48 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Pointerify sharc core
Hi mamedev,
The attached patch pointerifies the sharc core. If this has already
been done, no great loss, it only took about an hour and a half to do
this.
~aa
Sent: Sunday, December 07, 2008 9:43 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Introduce KONAMI_SETLINES_CALLBACK
Hi mamedev,
Aaron indicated the KONAMI_SETLINES_CALLBACK change from my previous
patch overlapped with work already committed but was otherwise a
desired change, so this patch submits just that change relative to the
committed work.
~aa
Sent: Saturday, December 06, 2008 4:52 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Deprecat.h cleanup
Hi mamedev,
This patch changes some global Machine references to use machine,
device->machine, ... instead, and removes any unneeded #include
"deprecat.h" lines as well (about 10% of them in fact). It was
generated using the attached script, and then reverting some cases
where it was overzealous.
~aa
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.
activecpu -= 138
pass a device. Updated and de-deprecat-ed the drivers that used
it. Fixed interrupt handling to follow more recent behavior
expectations (no PULSE_LINE on non-NMI lines).
(Used cpustate naming convention. Moved iCount into state struct.)
(Tested with arkanoid, bootleg bubble bobble, etc.)
(Next cpu I'll look at is the ARM.)
seems to be based on the cottong bootleg already supported, it was on
citylan as a 'blister' dump, program roms only, works best with the
other roms from cottong and the program is closest to that.
[David Haywood]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Millenium Nuovo 4000 [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Il Pagliaccio [David Haywood,Angelo Salese]
* select correct memory region by default when created
(should be first address space of visible CPU)
* when created, default bytes/chunk is correct
* when changing width, cursor no longer moves around
* memory regions display more than all 0xff now
Also fixed:
* qword big-endian memory reads no longer call little-endian handlers
* memory regions are tracked in creation order (show up in order
in the menu now)
* ROMREGION_DISPOSE memory regions are not disposed if the debugger
is enabled
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.
Renumbered CPU and sound get/set info constants to align with
the device constants, and shared values where they were perfectly
aligned.
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.
Changed device information getters from device_info() to
device_get_info() to match the CPU and sound macros.
Sent: Wednesday, December 03, 2008 4:46 PM
To: submit@mamedev.org
Subject: bug 894 fix
Fixes bug 894, elecyoyo: inserted coins and pressing start sometimes leads back to the test menu
--
From: Luigi30
Sent: Tuesday, December 02, 2008 10:19 PM
To: submit@mamedev.org
Subject: Bug 2693 fix
Fixes bug 2693
Sent: Tuesday, December 02, 2008 10:14 AM
To: Aaron Giles
Subject: Another 8080/85 change from me
Hi Aaron,
I have noticed that there are some problems in interrupt handling in 8080 implementation. Thing is that there are some cases that made a problem while implementing one
computer emulation. Thing is that there is same computer with Z80 and 8080 cpu and ROM's are same, but interrupts were not triggered. So I have searched and found
two problems fixed with this patch.
1. previous implementation cleared interrupt enable bit on interrupt trigger which is wrong since interrupts should stay enabled
2. serve interrupt number was not cleared after interrupt is executed, so if same one is triggered it will not be catched.
I have tested with 8080 MESS drivers, and picked some of MAME drivers using 8080 and 8085, and there were no bad things found.
Regards,
Micko
recent cpu core changes. Specifically, it adds a fake device
implementation similar to the one the cpu cores were using in 128u3
(i.e. it only provides the machine pointer and the token), and makes
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. I also adjusted ui.c to stop calling sndnum_clock and
access the clock data similarly to how it does the cpu clock data.
[AtariAce]
Sent: Friday, November 28, 2008 10:10 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Fix 02689: jumpbug: Jumpbug won't start second time around
Hi mamedev,
Some global state needs to be zeroed to fix this mametesters bug.
~aa
02683: Pressing F5 while running debugger causes access violation
02669: pandoras: music tempo is too fast
02691: Some drivers with z80/ay8910 Audio: Audio tempo has changed
Also fixed debugger memory leak.
Added a number of new cputag_* macros to cpuexec.h.
To fix this, I had to break old INP files. While I was in there,
I added corefile support for compressing/decompressing data on
the fly, and enabled it for INPs, meaning the newer format INPs
are output and processed compressed.
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.
Fixed some oddities in the memory view.
Moved globals to hang off of the machine structure.
Fixed bug where the visiblecpu was not updated immediately upon
a break.
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.
- Fixed a crashing bug with Bra$il;
- Added "New Magic Card" to the Bra$il driver,working without sound;
- Added "Fashion",an earlier revision of Bra$il.Not yet working;
New games added or promoted from NOT_WORKING status
---------------------------------------------------
New Magic Card [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Bra$il [David Haywood,Angelo Salese]
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.
- 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.
- 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).
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Maverik [Roberto Fresca]
Brasil 89 [Roberto Fresca]
Poker'91 [Roberto Fresca]
New clones added
----------------
Buena Suerte (21 new sets) [Roberto Fresca]
Royalea [Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Witch Card (Video Klein) [Roberto Fresca, Guru]
* 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 gain;
* 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)
We can't test these, I gave Robbie a final deadline on them a long time ago now.
If you're the one who dumps something and put the rest of the team in a situation where the submission can't be tested, then don't expect the driver to stay. Numerous chances have been given.
Unacceptable due to inability to test.
I won't be writing this driver, it fits somewhere between System21 and System22, with multiple PCBs etc. I just created this to document what we know so far. Chances are Phil or somebody with good Namco knowledge will have to emulate it.
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.
(a.k.a. the Gerald dump which was assuming to be an original deco HW...it's missing
the "Pro" and the deco logo at the title screen so I'm assuming it's a bootleg).
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Tennis (bootleg of Pro Tennis) [Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Treasure Island [Angelo Salese]
It doesn't work because I highly suspect that there's an unhandled encryption scheme in it (patch on driver of a bogus opcode +
it crashes after that you play it once + (possibly) wrong video registers handlers).
Sent: Sunday, November 23, 2008 12:17 AM
To: submit@mamedev.org
Subject: Oki MSM6258 ADPCM core
Hi,
I have attached the Oki MSM6258 ADPCM sound core, which is intended for
use with the MESS Sharp X68000 driver. This code was written by Phil
Bennett, so he ought to be the one getting the credit for it. I have
mostly worked on the MESS X68000 driver and HD63450 (DMA controller)
code to get the ADPCM working for most X68000 software. I am unaware as
to if Phil has already submitted this or not yet.
I've tested compiling and running MAME itself (including a debug build)
with the MSM6258 core in it, and experienced no issues. Although there
is nothing in MAME to test it specifically with, it doesn't cause any
problems with MAME use in general.
The current MESS X68000 driver code with the MSM6258 enabled is
available for those that want to test that out -
http://mahlemiut.marpirc.net/msm6258-211108.zip
Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
Sent: Friday, November 14, 2008 7:22 PM
To: submit@mamedev.org
Subject: flyball.c diff
Changed flyball CPU clock to a #defined crystal
Added dip locations
This 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.
new clones
----------
Soldam (World?) [Gerald]
-------
please check sizes of roms 8 and 10, they're half the size of the japan set, but the content of the 1st half matches.
works. 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. Lots of other minor tweaks.
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.
Did minimal cleanup of debugger, mainly moving CPU-specific data
to hang off of the CPU classdata for more direct access.
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.
In theory, this should prevent crashes when accessing opcodes. It does in
fact prevent mp_col3 from crashing.
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.
H8:
- 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:
- Added extremely preliminary support for I/O boards with the H8/3344
- Added new game: Motocross Go! (MG3 Ver. A) [credit Guru]
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.
(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)
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).
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.
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.
(needs a little cleanup as it was based on pre-aaron 'change everything' code, but it's functional)
(yes I did a quick test,current implementation makes (for example) human skin colors memory address to be equal to the palaces colors memory address in the intro)
* 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 gameplay;
new clones added
-----------------
Violent Storm (ver UAC) [Bill DeLeo]
(this is newer than the existing USA set, the night slashers he dumped turned out to be the same as an existing set)
---------
Puzzle Bobble 2 (Ver 2.3O 1995/07/31) [Ross Myers]
---- note
At the moment the Taito F3 driver is pretty broken, it has been since the 68000 core changes in the last u update.
For this clone to boot I've had to add a patch, it's checking something, can somebody find out what? Seems odd.
I've also removed all speedups in the driver, the 68020 games are fast enough on modern hardware that the speedups aren't really worthwhile.