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.