summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/mario.c28
-rw-r--r--src/mame/drivers/midzeus.c100
-rw-r--r--src/mame/drivers/sbrkout.c42
-rw-r--r--src/mame/drivers/toki.c6
4 files changed, 88 insertions, 88 deletions
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index d64ad6290f6..e00f58a97c2 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -1,19 +1,19 @@
/***************************************************************************
TODO:
- - combine memory maps
- - discrete sound
- - combine sh_* writes into one routine
-
-Done:
- - fixed mario0110u1gre
- - rewrote driver, separate MACHINE_DRIVER(mario_audio)
- - palette from schematics
- - video timing from schematics
- - driver configuration switch Nintendo/Std Monitor
- - got rid of COLORTABLE
- - clocks as defines in .h
- - use XTAL_*
+ - combine memory maps
+ - discrete sound
+ - combine sh_* writes into one routine
+
+Done:
+ - fixed mario0110u1gre
+ - rewrote driver, separate MACHINE_DRIVER(mario_audio)
+ - palette from schematics
+ - video timing from schematics
+ - driver configuration switch Nintendo/Std Monitor
+ - got rid of COLORTABLE
+ - clocks as defines in .h
+ - use XTAL_*
Mario Bros memory map (preliminary):
@@ -202,7 +202,7 @@ static INPUT_PORTS_START( mario )
PORT_CONFNAME( 0x01, 0x00, "Monitor" )
PORT_CONFSETTING( 0x00, "Nintendo" )
PORT_CONFSETTING( 0x01, "Std 15.72Khz" )
-
+
INPUT_PORTS_END
static INPUT_PORTS_START( marioo )
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 6edfa8dd64e..f8ebfc249b7 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -148,8 +148,8 @@ static WRITE32_HANDLER( cmos_protect_w )
/*************************************
*
- * Timekeeper and ZPRAM access
- * (Zeus 2 only)
+ * Timekeeper and ZPRAM access
+ * (Zeus 2 only)
*
*************************************/
@@ -218,16 +218,16 @@ static READ32_HANDLER( bitlatches_r )
/* unknown purpose; two bits are apparently used */
case 1:
return bitlatch[offset] | ~3;
-
+
/* CMOS/ZPRAM extra enable latch; only low bit is used */
case 2:
return bitlatch[offset] | ~1;
-
+
/* unknown purpose; mk4/invasn/thegrid read at startup; invasn freaks if it is 1 at startup */
/* only low bit is used */
case 3:
return bitlatch[offset] | ~1;
-
+
/* ROM bank selection on Zeus 2; two bits are used */
case 5:
return bitlatch[offset] | ~3;
@@ -238,7 +238,7 @@ static READ32_HANDLER( bitlatches_r )
/* this is the value reported as DISK JR ASIC version in thegrid startup test */
case 6:
return 0xa0 | ~0xff;
-
+
/* unknown purpose */
default:
logerror("%06X:bitlatches_r(%X)\n", activecpu_get_pc(), offset);
@@ -260,7 +260,7 @@ static WRITE32_HANDLER( bitlatches_w )
if (oldval ^ data)
logerror("%06X:bitlatches_w(%X) = %X\n", activecpu_get_pc(), offset, data);
break;
-
+
/* unknown purpose; crusnexo toggles this between 0 and 1 every 20 frames; thegrid writes 1 */
case 0:
if (data != 0 && data != 1)
@@ -276,13 +276,13 @@ static WRITE32_HANDLER( bitlatches_w )
/* CMOS/ZPRAM extra enable latch; only low bit is used */
case 2:
break;
-
+
/* unknown purpose; invasn writes 2 here at startup */
case 4:
if (data != 2)
logerror("%06X:bitlatches_w(%X) = %X (unexpected)\n", activecpu_get_pc(), offset, data);
break;
-
+
/* ROM bank selection on Zeus 2 */
case 5:
memory_set_bank(1, bitlatch[offset] & 3);
@@ -326,31 +326,31 @@ static READ32_HANDLER( crusnexo_leds_r )
static WRITE32_HANDLER( crusnexo_leds_w )
{
int bit, led;
-
+
switch (offset)
{
case 0: /* unknown purpose */
break;
-
+
case 1: /* controls lamps */
for (bit = 0; bit < 8; bit++)
output_set_lamp_value(bit, (data >> bit) & 1);
break;
-
+
case 2: /* sets state of selected LEDs */
-
+
/* selection bits 4-6 select the 3 7-segment LEDs */
for (bit = 4; bit < 7; bit++)
if ((crusnexo_leds_select & (1 << bit)) == 0)
output_set_digit_value(bit, ~data & 0xff);
-
+
/* selection bits 0-2 select the tachometer LEDs */
for (bit = 0; bit < 3; bit++)
if ((crusnexo_leds_select & (1 << bit)) == 0)
for (led = 0; led < 8; led++)
output_set_led_value(bit * 8 + led, (~data >> led) & 1);
break;
-
+
case 3: /* selects which set of LEDs we are addressing */
crusnexo_leds_select = data;
break;
@@ -612,40 +612,40 @@ ADDRESS_MAP_END
/*
- mk4:
-
- writes to 9D0000: 00000009, FFFFFFFF
- reads from 9D0000
- writes to 9D0001: 00000000
- writes to 9D0003: 00000374
- writes to 9D0005: 00000000
-
- crusnexo:
-
- reads from 8A0000
-
- writes to 9D0000: 00000000, 00000008, 00000009, FFFFFFFF
- reads from 9D0000
- writes to 9D0001: 00000000, 00000004, 00000204
- writes to 9D0003: 00000374
- -- hard coded to $374 at startup
- writes to 9D0004: 0000000F
- -- hard coded to $F at startup
-
- writes to 9E0008: 00000000
-
- writes to 9E8000: 00810081
-
- thegrid:
-
- writes to 9D0000: 00000008, 00000009, 0000008D
- writes to 9D0001: 00000000, 00000004, 00000204
- writes to 9D0003: 00000354
- reads from 9D0003
- writes to 9D0004: FFFFFFFF
- writes to 9D0005: 00000000
-
- writes to 9E8000: 00810081
+ mk4:
+
+ writes to 9D0000: 00000009, FFFFFFFF
+ reads from 9D0000
+ writes to 9D0001: 00000000
+ writes to 9D0003: 00000374
+ writes to 9D0005: 00000000
+
+ crusnexo:
+
+ reads from 8A0000
+
+ writes to 9D0000: 00000000, 00000008, 00000009, FFFFFFFF
+ reads from 9D0000
+ writes to 9D0001: 00000000, 00000004, 00000204
+ writes to 9D0003: 00000374
+ -- hard coded to $374 at startup
+ writes to 9D0004: 0000000F
+ -- hard coded to $F at startup
+
+ writes to 9E0008: 00000000
+
+ writes to 9E8000: 00810081
+
+ thegrid:
+
+ writes to 9D0000: 00000008, 00000009, 0000008D
+ writes to 9D0001: 00000000, 00000004, 00000204
+ writes to 9D0003: 00000354
+ reads from 9D0003
+ writes to 9D0004: FFFFFFFF
+ writes to 9D0005: 00000000
+
+ writes to 9E8000: 00810081
*/
@@ -950,7 +950,7 @@ static INPUT_PORTS_START( crusnexo )
PORT_START
PORT_BIT( 0x0007, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM( keypad_r, "KEYPAD" )
PORT_BIT( 0xfff8, IP_ACTIVE_LOW, IPT_UNUSED )
-
+
PORT_START_TAG("KEYPAD")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) /* keypad 3 */
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) /* keypad 1 */
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index bc2b4566953..b6ef4351efb 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -12,21 +12,21 @@
****************************************************************************
- To do:
-
- * Merge with Sprint 1
+ To do:
+
+ * Merge with Sprint 1
****************************************************************************
- Stephh's notes (based on the games M6502 code and some tests) :
+ Stephh's notes (based on the games M6502 code and some tests) :
- - Each time the game is reset, it is set to "Cavity".
- I can't remember if it's the correct behaviour or not,
- but the VBLANK interruption is not called in "demo mode".
- - You can only select the game after 1st coin is inserted
- and before you press BUTTON1 to launch the first ball,
- then the VBLANK interruption is no more called.
- This means that player 2 plays the same game as player 1.
+ - Each time the game is reset, it is set to "Cavity".
+ I can't remember if it's the correct behaviour or not,
+ but the VBLANK interruption is not called in "demo mode".
+ - You can only select the game after 1st coin is inserted
+ and before you press BUTTON1 to launch the first ball,
+ then the VBLANK interruption is no more called.
+ This means that player 2 plays the same game as player 1.
***************************************************************************/
@@ -87,7 +87,7 @@ static MACHINE_START( sbrkout )
memory_set_bankptr(1, &videoram[0x380]);
scanline_timer = timer_alloc(scanline_callback, NULL);
pot_timer = timer_alloc(pot_trigger_callback, NULL);
-
+
state_save_register_global(sync2_value);
state_save_register_global_array(pot_mask);
state_save_register_global_array(pot_trigger);
@@ -110,17 +110,17 @@ static MACHINE_RESET( sbrkout )
static TIMER_CALLBACK( scanline_callback )
{
int scanline = param;
-
+
/* force a partial update before anything happens */
video_screen_update_partial(0, scanline);
-
+
/* if this is a rising edge of 16V, assert the CPU interrupt */
if (scanline % 32 == 16)
cpunum_set_input_line(0, 0, ASSERT_LINE);
-
+
/* update the DAC state */
DAC_data_w(0, (videoram[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
-
+
/* on the VBLANK, read the pot and schedule an interrupt time for it */
if (scanline == machine->screen[0].visarea.max_y + 1)
{
@@ -152,7 +152,7 @@ static WRITE8_HANDLER( irq_ack_w )
static READ8_HANDLER( switches_r )
{
UINT8 result = 0xff;
-
+
/* DIP switches are selected by ADR0+ADR1 if ADR3 == 0 */
if ((offset & 0x0b) == 0x00)
result &= (readinputportbytag("DIPS") << 6) | 0x3f;
@@ -174,7 +174,7 @@ static READ8_HANDLER( switches_r )
result &= readinputportbytag("SERVE");
if ((offset & 0x17) == 0x07)
result &= (readinputportbytag("SELECT") << 6) | 0x7f;
-
+
return result;
}
@@ -219,9 +219,9 @@ static WRITE8_HANDLER( pot_mask2_w )
*************************************/
/*
- The LEDs are turned on and off by two consecutive memory addresses. The
- first address turns them off, the second address turns them on. This is
- reversed for the Serve LED, which has a NOT on the signal.
+ The LEDs are turned on and off by two consecutive memory addresses. The
+ first address turns them off, the second address turns them on. This is
+ reversed for the Serve LED, which has a NOT on the signal.
*/
static WRITE8_HANDLER( start_1_led_w )
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 380a40a6069..66e358a4c93 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -9,7 +9,7 @@ Coin inputs are handled by the sound CPU, so they don't work with sound
disabled. Use the service switch instead.
--
-Mametesters bug tokiu056gre - "tokiu: "0000000" is always displayed as the top hiscore during gameplay,
+Mametesters bug tokiu056gre - "tokiu: "0000000" is always displayed as the top hiscore during gameplay,
regardless of what it actually is. This does not happen in the other Toki sets."
Notes by bmcphail@vcmame.net, 1/1/2008
@@ -18,8 +18,8 @@ Toki stores high score at $60008 in main ram (init code at $ADA, compared with p
Tokiu stores high score at $60010 instead (init code at $B16, equivalent compare code at $1a204), $60008
is used for different purposes in many parts of the code.
-Both games feature a common routine ($1cba2 in toki, $1cbfa in tokiu) that prints the high score to screen,
-the problem is that the version in Tokiu has not been adjusted for the different high score location and
+Both games feature a common routine ($1cba2 in toki, $1cbfa in tokiu) that prints the high score to screen,
+the problem is that the version in Tokiu has not been adjusted for the different high score location and
it reads from the $68008 location instead of $680010. From analysing the code I'm certain this is a bug
in the original USA version code and not an emulation bug.