* Added plane priority to blitter - if anyone knows how this really works let us know!
- Fixes Treble Top signature writing
* Video output now supports all modes - lores, hires, mixedres, 8/7/4/3 bits/pixel
- Fixes Every Second Counts colour problems
* Added line draw
- Fixes missing stuff from Question Of Sport
* Change blitter loop type control - there are 4 types of loop.
* Corrected video frame rate to 50Hz.
* Corrected Z80 speed - 5.91mhz, this still might be wrong but I don't have a board to check.
* Accounted for Z80 cycles stolen during a blit operation. Improves gfx/sound sync and seems to fix the final round lockup in Every Second Counts.
A couple of random touchups for X, Y, and Z drivers as well.
Each driver is tested by watching the attract mode through and diff'ing logs.
My ISP was blocking mamedev e-mails for a couple of weeks, so I apologize if I did anything odd because of a discussion that I missed.
All occurrences of ACCESSING_LSB, ACCESSING_MSB, ACCESSING_LSB16, ACCESSING_MSB16, ACCESSING_LSB32, ACCESSING_MSB32, ACCESSING_LSW32, ACCESSING_MSW32 & simple mem_mask checks have been replace with the new macros.
The old macros are gone.
* Give us a Break [2 sets]
* Ten Up [2 sets]
Neither are playable; they don't register coins for some reason.
2. Fixed interrupt handling and 16-bit memory accessors in 6840ptm.c
Also cleaned up code for the sake of readability.
3. JPM games now have their own object archive file.
- implemented serial input/output
- fixed XAD/LDD, XIS1, RMB3 opcodes
- fixed clock divider
- fixed internal memory map size
- added some cpu variants
As a result, Draco at least initializes the AY-8910 now.
for galaxian, scramble, frogger, scobra, amidar, and dambustr.
For the moment, only a subset of games are implemented in the
new system; the remainder are running on the old code.
Main features are accurate video timing, correct stars
implementation, better organization, simplified input ports,
and many other smaller fixes. In addition, the following
MAMETesters bugs are addressed:
- 01598: [Graphics] 4in1, gmgalax, pacmanbl: Sprites are cut off on the top row
- 01563: [DIP/Input] gmgalax: Duplicated Inputs
- 00300: [Graphics] zigzag: in cocktail mode player 2 screen is shift over to the right
- 01454: [Graphics] mshuttle, mshuttlj, mshutlj2: The display of the screen is shifted
- 01473: [Graphics] orbitron: Orbitron graphics not correctly displayed
- 01600: [Graphics] pacmanbl, batman2: The background is shifted to the right and cut off on the right side
- 01602: [Misc.] luctoday: Messed up graphics. (Screen Offset)
- 01599: [Graphics] omega: Screen is vertically offset
- 01605: [Graphics] gteikokb, gteikob2: Wrong screen offset (aaron)
* itemclass now part of token if item is not found
Settings for joysticks which use a custom item id will still be lost. A fallback has to be provided here since those will use a token generated from the input item name.
Changes:
- Updated HW.c
- Tagged kotmh AES VERSION
- Tagged alpham2 MVS AND AES VERSION
- Tagged bjourney MVS AND AES VERSION
- Tagged nam1975 MVS AND AES VERSION
- Tagged tpgolf MVS AND AES VERSION
- Tagged fatfury2 MVS AND AES VERSION
- Tagged samsho2 MVS AND AES VERSION
- Tagged 3countb MVS AND AES VERSION
- Tagged tophuntr MVS VERSION
- Tagged kof96 MVS VERSION
- Tagged fatfury3 MVS AND AES VERSION
- Tagged sengokh AES VERSION
- Tagged burningf MVS VERSION
- Tagged aof MVS AND AES VERSION
- Tagged kof2003 MVS VERSION
- tophuntr/tophunta: Renamed p2
- 3countb: Changed p1, added correct m1
- fightfva: Added correct v2
- quizkof: Added correct c2
- rbff2/rbff2h/rbff2k: V4 is 16mbit only
- fatfury1: Added correct m1
- spinmast: Added correct p2
- sengokh: Renamed p1 to correct chip label
- svcpcb/svcpcba: Renamed bios to correct chip label
- ms5plus: Synced m1 with parent set
- tpgolf: Added correct m1, c3, c4; renamed v11 and v22 to correct chip label
- aof: Added correct m1
- roboarmy: Added correct m1
- roboarma: Disabled for now, this looks like an emulation hack. Can someone confirm this set is real?
- gpilotsh: Added new set
- samsho: Changed set to MVS version, removed old version, left some notes
- samshoh: Added AES version
- kof2003: Removed MVS / World /US from description
Again some m1 changes, going STRICTLY by the book now:
- nam1975: Added correct m1
- bstars2: Added correct m1
- maglord/maglordh: Added correct m1
- ridhero/ridheroh: Added correct m1
- gpilots: Removed BAD_DUMP from m1, is correct
- Some cleanups
the graphic roms are scrambled, the banking code has been patched out (and the program roms might have some protection on them too, there is a weird jump to the 0x2000 range)
also it runs on 3x M6809s instead of the usual CPUs.
Not convinced the sound roms are good dumps, they seem to small.
This bootleg needs a fairly significant chunk of time put into getting it working due to the heavy modifications. I've had several people asking me to add it, but I simply don't have time.
Subject: [patch] gcc 4.3.0 fixes
Hi mamedev,
GCC 4.3.0 was recently released, and some adjustments need to be made
to MAME to compile successfully with it. The idectrl.c change is only
needed to silence gcc's overwrite warnings, the code is correct as
written. The tx1.c change on the other hand is a bug spotted by the
stricter checks in the new compiler.
[Note only the tx1 changes were accepted]
Subject: Removal of Periodic int hack
Removed improper use of PERIODIC_INT in mpu4, to use new timer devices.
Also corrected 50Hz timer in MPU4 Video games.
Subject: fix for 01560
--
From: RansAckeR
Subject: fix for 01525
As is noted in the source: "The NMI handler just handles the "Stop Mode" dip
switch."
0xf801 is written to when the game is continued in stop mode, this should
not have been changed to watchdog_reset_w in 0.73
Off course this is all just a guess.
Subject: [bugfix] gnga: load correct graphics roms
I used to play the alternate version of Ghost'n'goblins in my arcade,
and I can remember the cross as the last weapon instead of the shield,
which on the other side, is shown in the square below the playing
ground.
In MAME that version was once known as a clone named "gngcross", which
was then renamed to "gnga" starting with 0.35rc2, and merged with
original set.
Unfortunately, rom list for the clone is wrong: it's been pasted from
original set "gng", whilst a couple of graphics roms must be loaded from
"makaimur" instead. You can see this by yourself comparing sources from
0.35rc1 and 0.35rc2.
The attached patch was obtained from SDLMAME on a Linux box, on release
0.123u6. I can't test it compiling MAME code, however this obviously
affects mainline too.
Thanks and keep up your good work!
Cheers,
Cesare Falco
(SDLMAME Ubuntu maintainer).
In drivers\seta.c, the zombraid gun input ports should be changed as
per the attached text file. The current crosshair settings work only
with the default power-on settings. The updated code works with
calibrated settings.
Subject: Unnecessary assert in video.c
The assert
assert(machine->config->devicelist != NULL);
in video.c causes the MESS mk1 driver to fail because it doesn't have
any devices - no screens and no sound devices. It works fine when the
assert is removed.
--Dirk
Removed malloc/calloc/realloc/free link-time overrides; we now
rely exclusively on compile-time overrides.
Made a few tweaks toward getting mingw-w64 working, but there
are still linker issues.
For me, the game hangs on a black screen after service mode is turned off. Even exsiting MAME and restarting doesn't fix it, so it's probably a EEPROM issue
Subject: nmk16 diff
Added Thunder Dragon (9th Jan 1992), corrected clock frequencies and
verified oki pin 7
Changed some nmk16.c romset names
Note:
The revision is not a typo, it's 6 months later than the previous one.
Subject: pitfall2
Added Pitfall2 (Flicky conversion)
you can see the pcb here:
http://www.citylan.it/pitfall2flic/PCB%20component%20side.jpg
the mobo is the same as my flicky pcb.
I also renamed Wboy4 since the dump was from my pcb and it's a 4d
warriors conversion even if sega reproduced the protection custom with a
piggyback.
I think we should rename all the sets to the proper conversions for
proper documentation
Subject: SH-4 debugger output fix
This patch fixes "garbage" (newlines) in the debugger window when
debugging the SH-4 CPU.
It also conatins a small comment fix in video/playch10.c and the
removal of some yet unused or just obsolete macros in emu/cpuint.h.
Subject: Deal 'Em phase 3
Conerted the driver to use an HD6845, as the Hitachi part was on the
PCB, while also using it to generate the VBLANK, rather than hardcoding
a value. Added the pulldown resistor to the network, and added all the
conditional inputs. Please note that on the later Cabinet Types (Ready
Steady Go-1 onwards), the 10p slot is locked out (location of the true
register for this is unknown), but the input setting is correct - you
have to use Coin 2 or higher to get money in.
a NULL list head (in which case you have an empty device list). All the
code works fine with a NULL head and returns appropriate values. Removed
changes to video_screen_count() and video_screen_first() which were added
to work around this behavior.
or not the VIDEO_UPDATE was called as a result.
Modified amiga.c to use this information so that we guarantee a call
to amiga_render_scanline() regardless of the video state.
Fixes 01521: ar_sdwr: Game hangs on title screen
Hopefully the samples can be replaced with discrete emulation in the future.
Sound board emulation is still not complete. Cymbal hit and hi-hat are missing; bassline is incorrect, and DAC output should be filtered.
Removed weird use of color table in favor of a direct palette
map. It is still a weird abuse of color, but at least it is
done internally and doesn't have the terrible slowdown behavior.
This is still WIP bug I've been working on it for sveral weeks and I want to get it out before leaving for holidays.
- Fixed Alpha 8201/830x MCU simulation.
- all hacks from the equites driver removed
- fixed equites restart position after going underground
- fixed hvolume, splndrbt 2 players
- removed hacks from exctsccr2
- fixed CPU gameplay in shougi
- Gekisou promoted to working
- added dump of Alpha 8201 MCU to games that use it (the ROM isn't used yet, HMCS44 CPU core needs to be written first)
- major cleanup of the mess in equites.c:
- many thanks to Corrado Tomaselli for precious hardware info.
- implemented bg perspective scrolling using PROMs
- fixed sprite flip & disable
- fixed bg color
- converted bg to tilemaps
- fixed fg banking
- fixed screen flip
- removed meaningless banking of player inputs
- added UI adjuster for MSM5232 frequency
- MSM5232 volume control
- fixed MSM5232 noise LFSR formula (done by Jarek Burczynski; thanks to Corrado Tomaselli for samples)
- changed MSM5232 emulator to output channels separately
- added output of SOLO channels to MSM5232 emulator.
- mametesters bugs fixed:
- 00217 splndrbt: On boot the pcb displays a clean light blu screen while in mame there is a black road.
- 00220 splndrbt: Concerning the gfx, on the pcb the background is not linear as shown in mame.
- 00223 splndrbt: On the first level when you pass the asteroid belt the star road should be light blue instead of black like mam
- fixed champbas inputs
- merged talbot with champbas, some driver clenaup
- fixed shougi inputs
- switched exctsccb to use the correct gfx ROMs (matches screenshot found in 01058 exctsccb: Exciting soccer bootleg should be placed in champbas.c.)
- fixed sprite bpp in exctscrr, removed the horrible hacks that were used to fix colors and transparency.
- fixed sound clipping in exctsccr
Crash when loading an autosave save state.
Removed excessive dirty tracking. This creates a bit more
work on each update, but gets rid of some dodgy logic.
Added typedefs for 'struct xxxx' to simply 'xxxx'.
refresh information from the device's inline_config, since this is
done before the screen devices are start. Fixes 01491: switchres
causes Exception at EIP=009413BF: ACCESS VIOLATION.
Also, fixed render_target_get_minimum_size() to return nominal values
if no screens are found.
Added DEVINFO_INT_TOKEN_BYTES, which is queried before device
startup. It should return the size of the structure that will
be hung off of device->token. It must not return 0.
Changed the core device interface to allocate and zero a block
of memory the size of DEVINFO_INT_TOKEN_BYTES before calling
device_start. The pointer to this memory is already attached
to device->token at the time device_start is called.
The primary motivation for this is to allow the device_start
function to make internal calls and pass the device_config *
around as if the object were fully constructed. Since the token
is used to indicate whether or not a device is live, this makes
the device "live" at the time device_start is called rather
than after it completes.
I applied the same fix to verifyroms. Now a status message is printed for every sample/ROM set regardless if an individual or all the sets are audited.
My fix is a bit heavy handed. The real access violation happens in update_digital_joysticks() after the comment "read all the associated ports" and before the next comment
01517: all atarigt.c drivers: Assertion
01516: all atarigx2.c drivers: Assertion
01515: all atarig42.c drivers: Assertion
01514: all cyberbal.c drivers: Assertion
Converted Centipede, as an example.
To define a scanline timer, use something like this:
MDRV_TIMER_ADD("32V", SCANLINE, generate_interrupt)
MDRV_TIMER_SCANLINE("main", 0, 16)
The first number is the first scanline the timer will fire on, the 2nd number is the increment.
So in this case, the timer will fire on 0, 16, 32, ..., 224, 240, then wrap around
because the screen is defined as 256 lines high.
The current scanline is passed to the callback in its 'param' argument
This driver is creating bitmaps in DRIVER_INIT, which is not the best practice, and in fact, it broke as machine->primary_bitmap is not initalized yet.
Subject: small fix to cpu.mak
Attached please find a small patch to include M68000 CPU only when you're
compiling a build with the M68K. this is needed to e.g. compile tiny
builds .
Created MACHINE_START( asuka ) to configure cpu2 banks with memory_configure_bank(),
All drivers support save states, with the exception of cadash and clones, the background does not load properly. I'm not familiar enough with taitoic.c to make that happen.
Subject: punchout.c inputs/dips
punchout.c:
-Simplified input definitions
-Improved dip switches
-Added dip locations
Note:
punchout and spnchout had an extra 5th PORT_START, was it correct to remove
those?
If not just drop me a note and I'll resubmit the patch.
--
From: RansAckeR
Subject: fix for 00593
'fix' for 00593 (patimono0120u3gra)
--
From: RansAckeR
Subject: 'fix' for 01478
01478: bullet: DIP switch info
--
From: RansAckeR
Subject: bankp.c & baraduke.c inputs/dips
bankp.c:
-Simplified input definitions
-Fixed bankp dip locations
baraduke.c:
-Simplified input definitions
-Added dip locations
Subject: Another weekend, another submission
This time, it's phase 2 of the Deal 'Em input changes (these work well
with the default cabinet type, I need to do some conditional input work
to fix them fully), and also a conversion to the resnet code.
Unfortunately, this still doesn't fix the apparently needed transparency
(the apostrophe and Zenitone logo on the title screen should have a
green background, and the black rectangle at the bottom should read
(C)1987). I also tidied up the memory maps, but have been unable to
reproduce the assert bug relating to VBLANKs, so I'm unsure as to
whether I've fixed it or not.
Subject: patch for SVP (Sega Virtua Processor) emulation
hello,
this patch adds support for Sega Virtua Processor, to run
Genesis/MegaDrive version of Virtua Racing, intended to be used by
MESS. It consists of a CPU core SSP1601, and updates in megadriv.c:
* SSP1601 replaces SSP1610, as it has been confirmed by Stiletto and
other sources that SVP actually contains SSP1601. The current SSP1610
is placeholder only (nearly completely unimplemented) anyway.
* Changes in megadriv.c add a new driver for Genesis/MegaDrive+SVP
combination, also add SVP memory controller logic and memory map.
The diff has already been reviewed by Reip and SSP1610 removal was one
of his suggestions (SSP1610 is not used by any drivers).
mame/drivers/superqix.c
mame/video/superqix.c
Changed vblank interrupts to 3 to fix screen drawing issues.
Use memory_configure_bank() to configure memory.
Added save states.
Attached is update for Merit hardware based on V9938 (CRT-250 and CRT-260 - meritm.c).
New playable games:
Pit Boss II
Super Pit Boss
Pit Boss Megastar
Megatouch IV
Megatouch IV Tournament Edition
Megatouch 6
By the way, the accent in roberto's last name gave CVS a fit
svn: Safe data 'From roberto zandon' was followed by non-ASCII byte 224: unable
to convert to/from UTF-8
This a bogus message -- you can certainly convert that character to UTF-8
Changed slapstic management to always install an opbase handler to more
aggressively catch code executing in the slapstic region. Updated all
drivers to separate the slapstic region of ROM into a different ROM
section from the fixed ROM.
Changed input ports to register a frame callback, which is
called immediately after throttling and updating. This is the
proper "sync point" between emulated time and real time. Moved
all analog and digital port processing into a central place
here. Added tracking of time since the previous frame update
and use that as an estimate for the time of the current frame.
This is used to scale analog ports without the use of
cpu_scalebyfcount(). This is not perfect in the case where
frame rates are dynamic (vector games), but works well for
other cases.
Further cleanup of memory header and code.
- Added video_screen_auto_bitmap_alloc(screen) -- it is just a shorthand for
auto_bitmap_alloc(video_screen_get_width(screen), video_screen_get_height(screen), video_screen_get_format(screen))
which is a common operation
- The Dynax/Don Den Lover games now do their updating in VIDEO_UPDATE instead of VIDEO_EOF. This semmed to
have fixed the palette problems
- Went through some of these drivers and changed Machine to machine
Made address versus byte offsets explicit throughout.
Removed some unused parameters.
Consolidated initialization process.
Removed maximum memory block count.
Centralized bank management.
Added masked handlers and change_pc to the accessors.
Added memory_get_accessors() to return a pointer to the accessors
for a given address space/databus width/endian configuration.
More to come.
MRA*_BANK*/MRA*_BANK* -> SMH_BANK*
MRA*_RAM/MRA*_ROM -> SMH_RAM
MRA*_ROM/MWA*_ROM -> SMH_ROM
MRA*_NOP/MWA*_NOP -> SMH_NOP
MRA*_UNMAP/MWA*_UNMAP -> SMH_UNMAP
This removes the silly need for a bunch of redundant constants
with faux type definitions that didn't buy anything.
Moved some memory system constants into memory.c.
Converted address maps to tokens. Changed the address_map structure
to house global map-wide information and hung a list of entries off
of it corresponding to each address range. Introduced new functions
address_map_alloc() and address_map_free() to build/destroy these
structures. Updated all code as necessary.
Fixed several instances of porttagtohandler*() in the address maps.
Drivers should use AM_READ_PORT() macros instead.
ADDRESS_MAP_EXTERN() now is required to specify the number of
databits, just like ADDRESS_MAP_START.
Removed ADDRESS_MAP_FLAGS() grossness. There are now three new macros
which replace its former usage. ADDRESS_MAP_GLOBAL_MASK(mask)
specifies a global address-space-wide mask on all addresses. Useful
for cases where one or more address lines simply are not used at
all. And ADDRESS_MAP_UNMAP_LOW/HIGH specifies the behavior of
unmapped reads (do they come back as 0 or ~0).
Changed internal memory mapping behavior to keep only a single
address map and store the byte-adjusted values next in the address
map entries rather than maintaining two separate maps. Many other
small internal changes/cleanups.
All callers that used 0 for the screen number now use machine->primary_screen
As a gap meassure, Where necessary, create a parallel set of video_screen_*_scrnum functions that take scrnum
All callers that specified a specific screen number now call the *_scrnum versions
Changed game info screen and overlay UI to display the screen tag instead of screen number
- Private state screen information now hangs off the public one, instead of the other way around
- Combines video_global and video_private into a single structure
The following shook out from this that are applicable to other devices as well:
- running_machine is no longer taken, passed or stored
- mc6845_t is now private
- since passing device_config's is not device type safe, I added a
get_safe_token() to mc6845.c to check the device passed in for the valid type.
I think something like this should be added to the core.
- As a side note, I really don't think that device_config is a good name,
naming it simply device_t or something like that might be better.
than tokens and individual bits to the device callbacks. Updated
all existing devices accordingly.
Removed machine from the parameters of some of the device_get_info
and device_set_info calls because that information is stored
with the device now.
* Change "Machine->" to "machine->" in AM_BASE_MEMBER, AM_SIZE_MEMBER
* Pass Machine in construct_address_map
This is not perfect yet, but there is no need any longer to include deprecat.h in drivers using AM_*_MEMBER.
Subject: Frequencies diff
Changed/verified clocks on the following pcbs: 1943, Arkanoid, Action
Holliwood GalsPanic, Ben Bero Beh, 1000 Miglia, Pit and Run, Prehistoric
Isle, Rastan, Hotmind, Hardtimes, Stagger1 and Tiger Road
Changed/verified Oki pin 7 on the following pcbs: 1000 miglia,
Galspanic, Action Holliwood, Hotmind, HardTimes, World Rally, Stagger1
Subject: "fix" for the "game information" resolutions.
Hi.
In 0.123u3 the bug "multiscreeninfo0123u2gre" was fixed, however it changed
its behaviour as it now shows the "default" resolution the driver uses
rather than the resolution the screen(s) actually use at the moment.
As I don't know if this change was intentional I've attached a simple diff
that changes from defstate.visarea to the real visible visarea.
Greets,
Ariane "SailorSat" Fugmann
which specify device read/write handlers in address maps, along
with the type/tag of the device they reference.
Converted MC6845 read/write handlers to READ/WRITE8_DEVICE_HANDLERs.
Updated all MC6845-using drivers to use the new macros and call
the updated functions. Removed the many little helper functions
that used to do this work.
Added validity checks to ensure that the devices referenced
actually exist.
Updated all call-through handlers appropriately. Renamed read8_handler to
read8_machine_func, replicating this pattern throughout.
Defined new set of memory handler functions which are similar but which
pass a const device_config * in place of the running_machine *. These are
called read8_device_func, etc. Added macros READ8_DEVICE_HANDLER() for
specifying functions of this type. Note that some plumbing still needs to
happen in memory.c before this will work.
This check-in should remove the need for the global Machine and in turn
"deprecat.h" for a lot of drivers, but that work has not been done. On
the flip side, some new accesses to the global Machine were added in the
emu/ files. These should be addressed over time, but are smaller in
number than the references in the driver.
Usage is very similar to PORT_CUSTOM. See the Astro Invader driver for an example
- Removed input_port_set_changed_callback and converted all users to PORT_CHANGED
The only difference between the old callback and the ones supplied by PORT_CHANGED is
that values passed by PORT_CHANGED are normalized to start at bit 0, just like
PORT_CUSTOM.
suffixed with _func. Did this throughout the core and
drivers I was familiar with.
Fixed gcc compiler error with recent render.c changes.
gcc does not like explicit (int) casts on float or
double functions. This is fracking annoying and stupid,
but there you have it.
video_screen_get_time_until_update().
Fixed CCPU and QB3 to no longer rely on cpu_scalebyfcount().
Fixed busted timing in the CCPU core. Changed watchdog to
count internally rather than using external watchdog support.
Altered CCPU to accept interrupt signals from the driver.
Updated clocks in the cinemat driver to be derived from the
clock crystal.
* Illustrates how to keep existing memory read/write handlers
This is slower than caching the device interface, but does not have an impact on
devices accessed at a low frequency like in this case.
* added ATTR_FORCE_INLINE to osdcomm.h
* added ATTR_NONNULL
* moved U64 S64 fram mamecore.h to osdcomm.h
* define SETJMP_GNUC_PROTECT() in osdcomm.h for use in ppc602, ppc603
- Added a video_screen_register_vbl_cb() function for registering VBLANK callbanks
- Changed inptport.c and debugcpu.c to make use the VBLANK callbacks
- Added video_screen_get_time_until_vblank_start()
- CCPU and anything using cpu_scalebyfcount() are currently broken
- I did some fairly extensive testing, but this is a very signficant internal change,
so some things may have broke
to use the macros.
Added the concept of device classes. Devices specify their class
in their get_info function. Classes can be used to walk through
devices at a more general level than their type. Functions have
been added to iterate through devices by class just as you can
by type.
Removed some unused fields from device_config.
- Since the Commodore 40xx computers program an HSYNC width that extends past the end of
the scanline, I am clamping it in lack of anything better to do.
- Define a new MDRV_CPU_VBLANK_INT_HACK() (ZV: defined in deprecat.h) which is a copy of the current MDRV_CPU_VBLANK_INT()
- Find all the places where VBLANK_INT is used with something other than 1 interrupt per frame and change it to the new macro
- Remove the "# per frame" parameter from the MDRV_SCREEN_VBLANK_INT() and add a screen tag in its place; updated all callers appropriately.
- ZV: Added some validation of the interrupt setup to validate.c
The idea behind this is that using a VBLANK interrupt with more than one interrupt per frame in conceptually wrong.
The screen tag will allow us to move the interrupt timing code from cpuexec.c to video.c, where it really belongs.
Subject: A fix for the z80pio
Hi there,
Here is a one-line fix for the z80pio.
At the moment when the interrupt control word is sent (with interrupts
enabled), an interrupt occurs. In reality, interrupts are disabled until
the interrupt mask byte is sent.
Subject: MPU4 Changes part 2
Right, I've added a bit of CTS pin checking logic, so that the status
flag is actually set when the pin changes state.
I've also simplified the MPU4 ACIA clock logic, but it's still not ideal
(Ideally, the ACIA should only run one transmit or receive event each
time the PTM O1 pin goes high, but that's not possible right now, so I
just set the clocks as close to off as I can when the pin is low, and to
something that approximates the distance between output state changes
when it's on). There's also a few more little cleanups based on
schematics and flyers from TAFA, and an emulation of the master reset
behaviour. Incidentally, if anyone wants to see just why this isn't
kicking into life now, by all means do, since there's nothing left that
I can see that it can get hung up on, other than the video chip, and the
aforementioned ACIA logic.
Subject: uPD7801, uPD78C05, and uPD78C06 cpu cores added to the uPD7810
cpu core
This patch adds basic support for the NEC uPD7801, uPD78C05, and
uPD78C06 cpus to the uPD7810 cpu core.
This fixes the ape sprite positioning in Crazy Kong -- no more gap between feet and platform
- Merged Yamato driver with Crazy Climber
- XX Mission tilemap conversion
- Removes VIDEO_START(generic) -- no longer used
A lot of sets were added. Also System 903/905 diag ROMs.
Submitted the driver at this point because it's growing as a monster.
Parent/clone relationship for official games is not defined yet.
Changes:
- Renamed the driver to calomega.c.
- Extended the driver to support all the other Cal Omega systems.
- Switched to XTAL def.
- Fixed CPU & sound clocks based on official diagrams.
- Replaced the AY-8910 with AY-8912 to match the real hardware.
- Unified some memory maps.
- Splitted machine in sys903 and sys905.
- Fixed memory map offsets for sys905.
- Added support to the following games:
Game 7.6 (Arcade Poker)
Game 7.9 (Arcade Poker)
Game 9.4 (Keno)
Game 12.5 (Bingo)
Game 12.7 (Keno)
Game 12.8 (Arcade Game)
Game 13.4 (Nudge Bingo)
Game 14.5 (Pixels)
Game 15.7 (Double-Draw Poker)
Game 15.9 (Wild Double-Up)
Game 16.4 (Keno)
Game 16.8 (Keno)
Game 17.2 (Double Double Poker)
Game 17.51 (Gaming Draw Poker)
Game 17.6 (Nudge Bingo)
Game 18.1 (Nudge Bingo)
Game 18.3 (Pixels)
Game 18.5 (Pixels)
Game 18.6 (Pixels)
Game 20.4 (Super Blackjack)
Game 20.8 (Winner's Choice)
Game 22.7 (Amusement Poker, d/d)
Game 23.6 (Hotline)
Game 23.9 (Gaming Draw Poker) --> EX gdrawpkr.
Game 24.6 (Hotline)
Game 27.2 (Keno, amusement)
Game 27.2 (Keno, gaming)
System 903 Diag.PROM
System 905 Diag.PROM
Jackpot Joker Poker (set 1)
Jackpot Joker Poker (set 2)
SSI Poker (v2.4)
SSI Poker (v3.0)
SSI Poker (v4.0)
- Added a list of official/unofficial games, and their states.
- Fixed a bug introduced when extended the color PROM region to eliminate colortable lenght.
- Other changes/fixes.
- Updated technical notes.
constructors to tokenized lists. For the most part
this is a non-invasive change, except for those drivers
using MDRV_WATCHDOG_TIME_INIT. In order to allow for
tokenization of attotimes, a set of new macros is
provided called UINT64_ATTOTIME_IN_x() which follows the
same pattern as ATTOTIME_IN_x() but packs the attotime
down into a single 64-bit value for easier tokenization.
Separated MDRV_DEVICE_CONFIG_DATA into 32-bit and 64-bit
versions. Added floating-point versions with configurable
resolutions.
Fixed several errors in the machine drivers which were
caught by the additional checks now done in the machine
config detokenization code.
Converted speakers into devices. Machine->config no
longer houses an array of speakers; instead they are
iterated through using the new macros (defined in sound.h)
speaker_output_first() and speaker_output_next(). Updated
all relevant code to do this.
Improved game info display with multiple screens. Fixed
bug which caused all screens to display equally.
Added typedefs for all the machine config callback
functions at the top of driver.h.
* flip_screen_x and flip_screen_y made static
* add flip_screen_x_get() and flip_screen_y_get()
* change writes to flip_screen_x from last commit to flip_screen_set_no_update()
* added save state calls for flip_screen_x and flip_screen_y
* add "int flip_screen_get(void)"
* define flip_screen flip_screen_get()
* clean up drivers with collisions
* mark write accesses to flip_screen_x with FIXME
tokenizing data structures, as currently used by the input
port system. Redid the input port tokenization to be more
compact and make use of the new macros.
- I still left drawgfx.c as is, the only piece of code that used any of the functions in drawgfx
was s2636.c -- everything else uses 8-bit bitmaps as a replacement for a two dimensional array
- Moved some variable declerations so that they are only visible where they are actually used
Note that the diff is large only because I removed a level of indentation from a huge chunk of code.
I could do that because the case it was checking for was already caught by one of the asserts added.