From 304b3ffe432c9a391d17c38e1b3a453171fadd84 Mon Sep 17 00:00:00 2001 From: Zsolt Vasvari Date: Wed, 6 Feb 2008 10:16:03 +0000 Subject: [PATCH] - Color table removal - Uses resnet.c where schematics was conclusive --- src/mame/drivers/markham.c | 38 +++----- src/mame/drivers/megazone.c | 57 ++++++------ src/mame/drivers/pandoras.c | 70 +++++---------- src/mame/drivers/rocnrope.c | 27 +++--- src/mame/drivers/strnskil.c | 36 +++----- src/mame/drivers/trackfld.c | 172 +++++++++++++++++------------------- src/mame/video/markham.c | 43 +++++---- src/mame/video/megazone.c | 99 +++++++++++++-------- src/mame/video/pandoras.c | 85 ++++++++++-------- src/mame/video/rocnrope.c | 80 ++++++++++------- src/mame/video/strnskil.c | 45 +++++----- src/mame/video/trackfld.c | 78 +++++++++------- 12 files changed, 416 insertions(+), 414 deletions(-) diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c index e613261bb57..375dc66a98a 100644 --- a/src/mame/drivers/markham.c +++ b/src/mame/drivers/markham.c @@ -11,28 +11,15 @@ Markham (c) 1983 Sun Electronics #include "driver.h" #include "sound/sn76496.h" -extern WRITE8_HANDLER( markham_videoram_w ); -extern WRITE8_HANDLER( markham_scroll_x_w ); -extern WRITE8_HANDLER( markham_flipscreen_w ); +WRITE8_HANDLER( markham_videoram_w ); +WRITE8_HANDLER( markham_flipscreen_w ); -extern PALETTE_INIT( markham ); -extern VIDEO_START( markham ); -extern VIDEO_UPDATE( markham ); +PALETTE_INIT( markham ); +VIDEO_START( markham ); +VIDEO_UPDATE( markham ); -static UINT8 *markham_sharedram; +extern UINT8 *markham_xscroll; -/****************************************************************************/ - - -static WRITE8_HANDLER( markham_sharedram_w ) -{ - markham_sharedram[offset] = data; -} - -static READ8_HANDLER( markham_sharedram_r ) -{ - return markham_sharedram[offset]; -} static READ8_HANDLER( markham_e004_r ) { @@ -47,7 +34,7 @@ static ADDRESS_MAP_START( readmem1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc7ff) AM_READ(MRA8_RAM) AM_RANGE(0xc800, 0xcfff) AM_READ(MRA8_RAM) AM_RANGE(0xd000, 0xd7ff) AM_READ(MRA8_RAM) - AM_RANGE(0xd800, 0xdfff) AM_READ(markham_sharedram_r) + AM_RANGE(0xd800, 0xdfff) AM_READ(MRA8_RAM) AM_SHARE(1) AM_RANGE(0xe000, 0xe000) AM_READ(input_port_1_r) /* dsw 1 */ AM_RANGE(0xe001, 0xe001) AM_READ(input_port_0_r) /* dsw 2 */ @@ -66,24 +53,24 @@ static ADDRESS_MAP_START( writemem1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc7ff) AM_WRITE(MWA8_RAM) AM_RANGE(0xc800, 0xcfff) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0xd000, 0xd7ff) AM_WRITE(markham_videoram_w) AM_BASE(&videoram) - AM_RANGE(0xd800, 0xdfff) AM_WRITE(markham_sharedram_w) + AM_RANGE(0xd800, 0xdfff) AM_WRITE(MWA8_RAM) AM_SHARE(1) AM_RANGE(0xe008, 0xe008) AM_WRITE(MWA8_NOP) /* coin counter? */ AM_RANGE(0xe009, 0xe009) AM_WRITE(MWA8_NOP) /* to CPU2 busreq */ - AM_RANGE(0xe00c, 0xe00d) AM_WRITE(markham_scroll_x_w) + AM_RANGE(0xe00c, 0xe00d) AM_WRITE(MWA8_RAM) AM_BASE(&markham_xscroll) AM_RANGE(0xe00e, 0xe00e) AM_WRITE(markham_flipscreen_w) ADDRESS_MAP_END static ADDRESS_MAP_START( readmem2, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_READ(MRA8_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(MRA8_RAM) + AM_RANGE(0x8000, 0x87ff) AM_READ(MRA8_RAM) AM_SHARE(1) ADDRESS_MAP_END static ADDRESS_MAP_START( writemem2, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM) AM_BASE(&markham_sharedram) + AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM) AM_SHARE(1) AM_RANGE(0xc000, 0xc000) AM_WRITE(SN76496_0_w) AM_RANGE(0xc001, 0xc001) AM_WRITE(SN76496_1_w) @@ -229,8 +216,7 @@ static MACHINE_DRIVER_START( markham ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(markham) - MDRV_PALETTE_LENGTH(256) - MDRV_COLORTABLE_LENGTH(1024) + MDRV_PALETTE_LENGTH(1024) MDRV_PALETTE_INIT(markham) MDRV_VIDEO_START(markham) diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c index fe8f61f5b6e..b9df59054fc 100644 --- a/src/mame/drivers/megazone.c +++ b/src/mame/drivers/megazone.c @@ -280,8 +280,8 @@ static const gfx_layout spritelayout = }; static GFXDECODE_START( megazone ) - GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 16 ) - GFXDECODE_ENTRY( REGION_GFX2, 0, spritelayout, 16*16, 16 ) + GFXDECODE_ENTRY( REGION_GFX1, 0, spritelayout, 0, 16 ) + GFXDECODE_ENTRY( REGION_GFX2, 0, charlayout, 16*16, 16 ) GFXDECODE_END @@ -323,8 +323,7 @@ static MACHINE_DRIVER_START( megazone ) MDRV_SCREEN_SIZE(36*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(megazone) - MDRV_PALETTE_LENGTH(32) - MDRV_COLORTABLE_LENGTH(16*16+16*16) + MDRV_PALETTE_LENGTH(16*16+16*16) MDRV_PALETTE_INIT(megazone) MDRV_VIDEO_START(megazone) @@ -372,16 +371,16 @@ ROM_START( megazone ) ROM_REGION( 0x1000, REGION_CPU3, 0 ) /* 4k for the 8039 DAC CPU */ ROM_LOAD( "319e01.bin", 0x0000, 0x1000, CRC(ed5725a0) SHA1(64f54621487291fbfe827fb4cecca299fd0db781) ) - ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) - ROM_LOAD( "319e13.bin", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) - - ROM_REGION( 0x08000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "319e11.bin", 0x0000, 0x2000, CRC(965a7ff6) SHA1(210aae91a3838e5f7c78747d9b7419d266538ffc) ) ROM_LOAD( "319e09.bin", 0x2000, 0x2000, CRC(5eaa7f3e) SHA1(4c038e80d575988407252897a1f1bc6b76af597c) ) ROM_LOAD( "319e10.bin", 0x4000, 0x2000, CRC(7bb1aeee) SHA1(be2dd46cd0121cedad6dab90a22643798a3176ab) ) ROM_LOAD( "319e08.bin", 0x6000, 0x2000, CRC(6add71b1) SHA1(fc8c0ecd3b7f03d63b6c3143143986883345fa38) ) + ROM_REGION( 0x04000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) + ROM_LOAD( "319e13.bin", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) + ROM_REGION( 0x0260, REGION_PROMS, 0 ) ROM_LOAD( "319b18.a16", 0x0000, 0x020, CRC(23cb02af) SHA1(aba459826a75ec07bc6d97580e934f58aa22f4f4) ) /* palette */ ROM_LOAD( "319b16.c6", 0x0020, 0x100, CRC(5748e933) SHA1(c1478c31533a11421cd4579ccfdbb430e193d17b) ) /* sprite lookup table */ @@ -404,16 +403,16 @@ ROM_START( megaznik ) ROM_REGION( 0x1000, REGION_CPU3, 0 ) /* 4k for the 8039 DAC CPU */ ROM_LOAD( "319e01.bin", 0x0000, 0x1000, CRC(ed5725a0) SHA1(64f54621487291fbfe827fb4cecca299fd0db781) ) - ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ic40_vid.bin", 0x0000, 0x2000, CRC(07b8b24b) SHA1(faadcb20ee8b26b9ab0692df6a81e5423514863e) ) - ROM_LOAD( "319e13.bin", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) - - ROM_REGION( 0x08000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "319e11.bin", 0x0000, 0x2000, CRC(965a7ff6) SHA1(210aae91a3838e5f7c78747d9b7419d266538ffc) ) ROM_LOAD( "319e09.bin", 0x2000, 0x2000, CRC(5eaa7f3e) SHA1(4c038e80d575988407252897a1f1bc6b76af597c) ) ROM_LOAD( "319e10.bin", 0x4000, 0x2000, CRC(7bb1aeee) SHA1(be2dd46cd0121cedad6dab90a22643798a3176ab) ) ROM_LOAD( "319e08.bin", 0x6000, 0x2000, CRC(6add71b1) SHA1(fc8c0ecd3b7f03d63b6c3143143986883345fa38) ) + ROM_REGION( 0x04000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "ic40_vid.bin", 0x0000, 0x2000, CRC(07b8b24b) SHA1(faadcb20ee8b26b9ab0692df6a81e5423514863e) ) + ROM_LOAD( "319e13.bin", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) + ROM_REGION( 0x0260, REGION_PROMS, 0 ) ROM_LOAD( "319b18.a16", 0x0000, 0x020, CRC(23cb02af) SHA1(aba459826a75ec07bc6d97580e934f58aa22f4f4) ) /* palette */ ROM_LOAD( "319b16.c6", 0x0020, 0x100, CRC(5748e933) SHA1(c1478c31533a11421cd4579ccfdbb430e193d17b) ) /* sprite lookup table */ @@ -487,16 +486,16 @@ ROM_START( megazona ) ROM_REGION( 0x1000, REGION_CPU3, 0 ) /* 4k for the 8039 DAC CPU */ ROM_LOAD( "319-h01", 0x0000, 0x1000, CRC(ed5725a0) SHA1(64f54621487291fbfe827fb4cecca299fd0db781) ) // same as e01? - ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c - ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? - - ROM_REGION( 0x08000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "319e11.bin", 0x0000, 0x2000, CRC(965a7ff6) SHA1(210aae91a3838e5f7c78747d9b7419d266538ffc) ) ROM_LOAD( "319e09.bin", 0x2000, 0x2000, CRC(5eaa7f3e) SHA1(4c038e80d575988407252897a1f1bc6b76af597c) ) ROM_LOAD( "319e10.bin", 0x4000, 0x2000, CRC(7bb1aeee) SHA1(be2dd46cd0121cedad6dab90a22643798a3176ab) ) ROM_LOAD( "319e08.bin", 0x6000, 0x2000, CRC(6add71b1) SHA1(fc8c0ecd3b7f03d63b6c3143143986883345fa38) ) + ROM_REGION( 0x04000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c + ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? + ROM_REGION( 0x0260, REGION_PROMS, 0 ) ROM_LOAD( "319b18.a16", 0x0000, 0x020, CRC(23cb02af) SHA1(aba459826a75ec07bc6d97580e934f58aa22f4f4) ) /* palette */ ROM_LOAD( "319b16.c6", 0x0020, 0x100, CRC(5748e933) SHA1(c1478c31533a11421cd4579ccfdbb430e193d17b) ) /* sprite lookup table */ @@ -519,16 +518,16 @@ ROM_START( megazonb ) ROM_REGION( 0x1000, REGION_CPU3, 0 ) /* 4k for the 8039 DAC CPU */ ROM_LOAD( "319-h01", 0x0000, 0x1000, CRC(ed5725a0) SHA1(64f54621487291fbfe827fb4cecca299fd0db781) ) // same as e01? - ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c - ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? - - ROM_REGION( 0x08000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "319e11.bin", 0x0000, 0x2000, CRC(965a7ff6) SHA1(210aae91a3838e5f7c78747d9b7419d266538ffc) ) ROM_LOAD( "319e09.bin", 0x2000, 0x2000, CRC(5eaa7f3e) SHA1(4c038e80d575988407252897a1f1bc6b76af597c) ) ROM_LOAD( "319e10.bin", 0x4000, 0x2000, CRC(7bb1aeee) SHA1(be2dd46cd0121cedad6dab90a22643798a3176ab) ) ROM_LOAD( "319e08.bin", 0x6000, 0x2000, CRC(6add71b1) SHA1(fc8c0ecd3b7f03d63b6c3143143986883345fa38) ) + ROM_REGION( 0x04000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c + ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? + ROM_REGION( 0x0260, REGION_PROMS, 0 ) ROM_LOAD( "319b18.a16", 0x0000, 0x020, CRC(23cb02af) SHA1(aba459826a75ec07bc6d97580e934f58aa22f4f4) ) /* palette */ ROM_LOAD( "319b16.c6", 0x0020, 0x100, CRC(5748e933) SHA1(c1478c31533a11421cd4579ccfdbb430e193d17b) ) /* sprite lookup table */ @@ -551,16 +550,16 @@ ROM_START( megazonc ) ROM_REGION( 0x1000, REGION_CPU3, 0 ) /* 4k for the 8039 DAC CPU */ ROM_LOAD( "319-h01", 0x0000, 0x1000, CRC(ed5725a0) SHA1(64f54621487291fbfe827fb4cecca299fd0db781) ) // same as e01? - ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c - ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? - - ROM_REGION( 0x08000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "319e11.bin", 0x0000, 0x2000, CRC(965a7ff6) SHA1(210aae91a3838e5f7c78747d9b7419d266538ffc) ) ROM_LOAD( "319e09.bin", 0x2000, 0x2000, CRC(5eaa7f3e) SHA1(4c038e80d575988407252897a1f1bc6b76af597c) ) ROM_LOAD( "319e10.bin", 0x4000, 0x2000, CRC(7bb1aeee) SHA1(be2dd46cd0121cedad6dab90a22643798a3176ab) ) ROM_LOAD( "319e08.bin", 0x6000, 0x2000, CRC(6add71b1) SHA1(fc8c0ecd3b7f03d63b6c3143143986883345fa38) ) + ROM_REGION( 0x04000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "319e12.bin", 0x0000, 0x2000, CRC(e0fb7835) SHA1(44ccaaf92bdb83323f45e08dbe118697720e9105) ) // 12.9c + ROM_LOAD( "319-g13", 0x2000, 0x2000, CRC(3d8f3743) SHA1(1f6fbf804dacfa44cd11b4cf41d0bedb7f2ff6b6) ) // same as e13? + ROM_REGION( 0x0260, REGION_PROMS, 0 ) ROM_LOAD( "319b18.a16", 0x0000, 0x020, CRC(23cb02af) SHA1(aba459826a75ec07bc6d97580e934f58aa22f4f4) ) /* palette */ ROM_LOAD( "319b16.c6", 0x0020, 0x100, CRC(5748e933) SHA1(c1478c31533a11421cd4579ccfdbb430e193d17b) ) /* sprite lookup table */ diff --git a/src/mame/drivers/pandoras.c b/src/mame/drivers/pandoras.c index af7c7b6ccad..d3148a23abd 100644 --- a/src/mame/drivers/pandoras.c +++ b/src/mame/drivers/pandoras.c @@ -25,13 +25,8 @@ static int irq_enable_a, irq_enable_b; static int firq_old_data_a, firq_old_data_b; static int i8039_status; -UINT8 *pandoras_sharedram; -static UINT8 *pandoras_sharedram2; - /* from video */ PALETTE_INIT( pandoras ); -READ8_HANDLER( pandoras_vram_r ); -READ8_HANDLER( pandoras_cram_r ); WRITE8_HANDLER( pandoras_vram_w ); WRITE8_HANDLER( pandoras_cram_w ); WRITE8_HANDLER( pandoras_flipscreen_w ); @@ -49,22 +44,6 @@ static INTERRUPT_GEN( pandoras_interrupt_b ){ cpunum_set_input_line(machine, 1, M6809_IRQ_LINE, HOLD_LINE); } -static READ8_HANDLER( pandoras_sharedram_r ){ - return pandoras_sharedram[offset]; -} - -static WRITE8_HANDLER( pandoras_sharedram_w ){ - pandoras_sharedram[offset] = data; -} - -static READ8_HANDLER( pandoras_sharedram2_r ){ - return pandoras_sharedram2[offset]; -} - -static WRITE8_HANDLER( pandoras_sharedram2_w ){ - pandoras_sharedram2[offset] = data; -} - static WRITE8_HANDLER( pandoras_int_control_w ){ /* byte 0: irq enable (CPU A) byte 2: coin counter 1 @@ -135,18 +114,18 @@ static WRITE8_HANDLER( pandoras_z80_irqtrigger_w ) static ADDRESS_MAP_START( pandoras_readmem_a, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(pandoras_sharedram_r) /* Work RAM (Shared with CPU B) */ - AM_RANGE(0x1000, 0x13ff) AM_READ(pandoras_cram_r) /* Color RAM (shared with CPU B) */ - AM_RANGE(0x1400, 0x17ff) AM_READ(pandoras_vram_r) /* Video RAM (shared with CPU B) */ + AM_RANGE(0x0000, 0x0fff) AM_READ(MRA8_RAM) AM_SHARE(1) /* Work RAM (Shared with CPU B) */ + AM_RANGE(0x1000, 0x13ff) AM_READ(MRA8_RAM) AM_SHARE(2) /* Color RAM (shared with CPU B) */ + AM_RANGE(0x1400, 0x17ff) AM_READ(MRA8_RAM) AM_SHARE(3) /* Video RAM (shared with CPU B) */ AM_RANGE(0x4000, 0x5fff) AM_READ(MRA8_ROM) /* space for diagnostic ROM */ - AM_RANGE(0x6000, 0x67ff) AM_READ(pandoras_sharedram2_r) /* Shared RAM with CPU B */ + AM_RANGE(0x6000, 0x67ff) AM_READ(MRA8_RAM) AM_SHARE(4) /* Shared RAM with CPU B */ AM_RANGE(0x8000, 0xffff) AM_READ(MRA8_ROM) /* ROM */ ADDRESS_MAP_END static ADDRESS_MAP_START( pandoras_writemem_a, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(pandoras_sharedram_w) AM_BASE(&pandoras_sharedram) /* Work RAM (Shared with CPU B) */ - AM_RANGE(0x1000, 0x13ff) AM_WRITE(pandoras_cram_w) AM_BASE(&colorram) /* Color RAM (shared with CPU B) */ - AM_RANGE(0x1400, 0x17ff) AM_WRITE(pandoras_vram_w) AM_BASE(&videoram) /* Video RAM (shared with CPU B) */ + AM_RANGE(0x0000, 0x0fff) AM_WRITE(MWA8_RAM) AM_SHARE(1) AM_BASE(&spriteram) /* Work RAM (Shared with CPU B) */ + AM_RANGE(0x1000, 0x13ff) AM_WRITE(pandoras_cram_w) AM_SHARE(2) AM_BASE(&colorram) /* Color RAM (shared with CPU B) */ + AM_RANGE(0x1400, 0x17ff) AM_WRITE(pandoras_vram_w) AM_SHARE(3) AM_BASE(&videoram) /* Video RAM (shared with CPU B) */ AM_RANGE(0x1800, 0x1807) AM_WRITE(pandoras_int_control_w) /* INT control */ AM_RANGE(0x1a00, 0x1a00) AM_WRITE(pandoras_scrolly_w) /* bg scroll */ AM_RANGE(0x1c00, 0x1c00) AM_WRITE(pandoras_z80_irqtrigger_w) /* cause INT on the Z80 */ @@ -154,14 +133,14 @@ static ADDRESS_MAP_START( pandoras_writemem_a, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2000, 0x2000) AM_WRITE(pandoras_cpub_irqtrigger_w) /* cause FIRQ on CPU B */ AM_RANGE(0x2001, 0x2001) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x4000, 0x5fff) AM_WRITE(MWA8_ROM) /* see notes */ - AM_RANGE(0x6000, 0x67ff) AM_WRITE(pandoras_sharedram2_w) AM_BASE(&pandoras_sharedram2)/* Shared RAM with CPU B */ + AM_RANGE(0x6000, 0x67ff) AM_WRITE(MWA8_RAM) AM_SHARE(4) /* Shared RAM with CPU B */ AM_RANGE(0x8000, 0xffff) AM_WRITE(MWA8_ROM) /* ROM */ ADDRESS_MAP_END static ADDRESS_MAP_START( pandoras_readmem_b, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(pandoras_sharedram_r) /* Work RAM (Shared with CPU A) */ - AM_RANGE(0x1000, 0x13ff) AM_READ(pandoras_cram_r) /* Color RAM (shared with CPU A) */ - AM_RANGE(0x1400, 0x17ff) AM_READ(pandoras_vram_r) /* Video RAM (shared with CPU A) */ + AM_RANGE(0x0000, 0x0fff) AM_READ(MRA8_RAM) AM_SHARE(1)/* Work RAM (Shared with CPU A) */ + AM_RANGE(0x1000, 0x13ff) AM_READ(MRA8_RAM) AM_SHARE(2) /* Color RAM (shared with CPU A) */ + AM_RANGE(0x1400, 0x17ff) AM_READ(MRA8_RAM) AM_SHARE(3) /* Video RAM (shared with CPU A) */ AM_RANGE(0x1800, 0x1800) AM_READ(input_port_0_r) /* DIPSW #1 */ AM_RANGE(0x1a00, 0x1a00) AM_READ(input_port_3_r) /* COINSW */ AM_RANGE(0x1a01, 0x1a01) AM_READ(input_port_4_r) /* 1P inputs */ @@ -169,18 +148,18 @@ static ADDRESS_MAP_START( pandoras_readmem_b, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1a03, 0x1a03) AM_READ(input_port_2_r) /* DIPSW #3 */ AM_RANGE(0x1c00, 0x1c00) AM_READ(input_port_1_r) /* DISPW #2 */ // AM_RANGE(0x1e00, 0x1e00) AM_READ(MRA8_NOP) /* ??? seems to be important */ - AM_RANGE(0xc000, 0xc7ff) AM_READ(pandoras_sharedram2_r) /* Shared RAM with the CPU A */ + AM_RANGE(0xc000, 0xc7ff) AM_READ(MRA8_RAM) AM_SHARE(4) /* Shared RAM with the CPU A */ AM_RANGE(0xe000, 0xffff) AM_READ(MRA8_ROM) /* ROM */ ADDRESS_MAP_END static ADDRESS_MAP_START( pandoras_writemem_b, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(pandoras_sharedram_w) /* Work RAM (Shared with CPU A) */ - AM_RANGE(0x1000, 0x13ff) AM_WRITE(pandoras_cram_w) /* Color RAM (shared with CPU A) */ - AM_RANGE(0x1400, 0x17ff) AM_WRITE(pandoras_vram_w) /* Video RAM (shared with CPU A) */ + AM_RANGE(0x0000, 0x0fff) AM_WRITE(MWA8_RAM) AM_SHARE(1) /* Work RAM (Shared with CPU A) */ + AM_RANGE(0x1000, 0x13ff) AM_WRITE(pandoras_cram_w) AM_SHARE(2) /* Color RAM (shared with CPU A) */ + AM_RANGE(0x1400, 0x17ff) AM_WRITE(pandoras_vram_w) AM_SHARE(3) /* Video RAM (shared with CPU A) */ AM_RANGE(0x1800, 0x1807) AM_WRITE(pandoras_int_control_w) /* INT control */ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0xa000, 0xa000) AM_WRITE(pandoras_cpua_irqtrigger_w)/* cause FIRQ on CPU A */ - AM_RANGE(0xc000, 0xc7ff) AM_WRITE(pandoras_sharedram2_w) /* Shared RAM with the CPU A */ + AM_RANGE(0xc000, 0xc7ff) AM_WRITE(MWA8_RAM) AM_SHARE(4) /* Shared RAM with the CPU A */ AM_RANGE(0xe000, 0xffff) AM_WRITE(MWA8_ROM) /* ROM */ ADDRESS_MAP_END @@ -363,8 +342,8 @@ static const gfx_layout spritelayout = }; static GFXDECODE_START( pandoras ) - GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 16 ) - GFXDECODE_ENTRY( REGION_GFX2, 0, spritelayout, 16*16, 16 ) + GFXDECODE_ENTRY( REGION_GFX1, 0, spritelayout, 0, 16 ) + GFXDECODE_ENTRY( REGION_GFX2, 0, charlayout, 16*16, 16 ) GFXDECODE_END /*************************************************************************** @@ -427,8 +406,7 @@ static MACHINE_DRIVER_START( pandoras ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(pandoras) - MDRV_PALETTE_LENGTH(32) - MDRV_COLORTABLE_LENGTH(16*16+16*16) + MDRV_PALETTE_LENGTH(16*16+16*16) MDRV_PALETTE_INIT(pandoras) MDRV_VIDEO_START(pandoras) @@ -468,15 +446,15 @@ ROM_START( pandoras ) ROM_REGION( 0x1000, REGION_CPU4, 0 ) /* 4K for the Sound CPU 2 */ ROM_LOAD( "pand_7e.snd", 0x00000, 0x01000, CRC(18b0f9d0) SHA1(2a6119423222577a4c2b99ed78f61ba387eec7f8) ) - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "pand_a18.cpu", 0x00000, 0x02000, CRC(23706d4a) SHA1(cca92e6ff90e3006a79a214f1211fd659771de53) ) /* tiles */ - ROM_LOAD( "pand_a19.cpu", 0x02000, 0x02000, CRC(a463b3f9) SHA1(549b7ee6e47325b80186441da11879fb8b1b47be) ) - - ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "pand_j18.cpu", 0x00000, 0x02000, CRC(99a696c5) SHA1(35a27cd5ecc51a9a1acf01eb8078a1028f03be32) ) /* sprites */ ROM_LOAD( "pand_j17.cpu", 0x02000, 0x02000, CRC(38a03c21) SHA1(b0c8f642787bab3cd1d76657e56f07f4f6f9073c) ) ROM_LOAD( "pand_j16.cpu", 0x04000, 0x02000, CRC(e0708a78) SHA1(9dbd08b6ca8a66a61e128d1806888696273de848) ) + ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "pand_a18.cpu", 0x00000, 0x02000, CRC(23706d4a) SHA1(cca92e6ff90e3006a79a214f1211fd659771de53) ) /* tiles */ + ROM_LOAD( "pand_a19.cpu", 0x02000, 0x02000, CRC(a463b3f9) SHA1(549b7ee6e47325b80186441da11879fb8b1b47be) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "pandora.2a", 0x0000, 0x020, CRC(4d56f939) SHA1(a8dac604bfdaf4b153b75dbf165de113152b6daa) ) /* palette */ ROM_LOAD( "pandora.17g", 0x0020, 0x100, CRC(c1a90cfc) SHA1(c6581f2d543e38f1de399774183cf0698e61dab5) ) /* sprite lookup table */ diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c index 0746121c871..4d5b22b9917 100644 --- a/src/mame/drivers/rocnrope.c +++ b/src/mame/drivers/rocnrope.c @@ -212,8 +212,8 @@ static const gfx_layout spritelayout = }; static GFXDECODE_START( rocnrope ) - GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 16 ) - GFXDECODE_ENTRY( REGION_GFX2, 0, spritelayout, 16*16, 16 ) + GFXDECODE_ENTRY( REGION_GFX1, 0, spritelayout, 0, 16 ) + GFXDECODE_ENTRY( REGION_GFX2, 0, charlayout, 16*16, 16 ) GFXDECODE_END @@ -234,8 +234,7 @@ static MACHINE_DRIVER_START( rocnrope ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(rocnrope) - MDRV_PALETTE_LENGTH(32) - MDRV_COLORTABLE_LENGTH(16*16+16*16) + MDRV_PALETTE_LENGTH(16*16+16*16) MDRV_PALETTE_INIT(rocnrope) MDRV_VIDEO_START(rocnrope) @@ -263,16 +262,16 @@ ROM_START( rocnrope ) ROM_LOAD( "rnr_7a.snd", 0x0000, 0x1000, CRC(75d2c4e2) SHA1(b701019b4e7b06b268be660ce7958b5367318c27) ) ROM_LOAD( "rnr_8a.snd", 0x1000, 0x1000, CRC(ca4325ae) SHA1(34ac035c0c2ed6bcafde1491d976bb9e9d2a2a7d) ) - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "rnr_h12.vid", 0x0000, 0x2000, CRC(e2114539) SHA1(0ea19ae4d7c2da14f23c81abb8e2c931785b2715) ) - ROM_LOAD( "rnr_h11.vid", 0x2000, 0x2000, CRC(169a8f3f) SHA1(182c7c9b9849ebb57b3ff7c0b629f2f8e2efa9ba) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "rnr_a11.vid", 0x0000, 0x2000, CRC(afdaba5e) SHA1(27c090cb1c3767c997daeedbe1ba24786f9e78f1) ) ROM_LOAD( "rnr_a12.vid", 0x2000, 0x2000, CRC(054cafeb) SHA1(4c3cd850b347217af3dd5c9bb84bcff7b30689bd) ) ROM_LOAD( "rnr_a9.vid", 0x4000, 0x2000, CRC(9d2166b2) SHA1(42d2b05360e58b1b2b3ad06c98eb46d9da2b1c21) ) ROM_LOAD( "rnr_a10.vid", 0x6000, 0x2000, CRC(aff6e22f) SHA1(476d67821519feddc9f9c8537b46e6eede790035) ) + ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "rnr_h12.vid", 0x0000, 0x2000, CRC(e2114539) SHA1(0ea19ae4d7c2da14f23c81abb8e2c931785b2715) ) + ROM_LOAD( "rnr_h11.vid", 0x2000, 0x2000, CRC(169a8f3f) SHA1(182c7c9b9849ebb57b3ff7c0b629f2f8e2efa9ba) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "a17_prom.bin", 0x0000, 0x0020, CRC(22ad2c3e) SHA1(1c2198b286c75aa9e78d000432795b1ce86ad6b9) ) ROM_LOAD( "b16_prom.bin", 0x0020, 0x0100, CRC(750a9677) SHA1(7a5b4aed5f87180850657b8852bb3f3138d58b5b) ) @@ -291,16 +290,16 @@ ROM_START( rocnropk ) ROM_LOAD( "rnr_7a.snd", 0x0000, 0x1000, CRC(75d2c4e2) SHA1(b701019b4e7b06b268be660ce7958b5367318c27) ) ROM_LOAD( "rnr_8a.snd", 0x1000, 0x1000, CRC(ca4325ae) SHA1(34ac035c0c2ed6bcafde1491d976bb9e9d2a2a7d) ) - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "rnr_h12.vid", 0x0000, 0x2000, CRC(e2114539) SHA1(0ea19ae4d7c2da14f23c81abb8e2c931785b2715) ) - ROM_LOAD( "rnr_h11.vid", 0x2000, 0x2000, CRC(169a8f3f) SHA1(182c7c9b9849ebb57b3ff7c0b629f2f8e2efa9ba) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "rnr_a11.vid", 0x0000, 0x2000, CRC(afdaba5e) SHA1(27c090cb1c3767c997daeedbe1ba24786f9e78f1) ) ROM_LOAD( "rnr_a12.vid", 0x2000, 0x2000, CRC(054cafeb) SHA1(4c3cd850b347217af3dd5c9bb84bcff7b30689bd) ) ROM_LOAD( "rnr_a9.vid", 0x4000, 0x2000, CRC(9d2166b2) SHA1(42d2b05360e58b1b2b3ad06c98eb46d9da2b1c21) ) ROM_LOAD( "rnr_a10.vid", 0x6000, 0x2000, CRC(aff6e22f) SHA1(476d67821519feddc9f9c8537b46e6eede790035) ) + ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "rnr_h12.vid", 0x0000, 0x2000, CRC(e2114539) SHA1(0ea19ae4d7c2da14f23c81abb8e2c931785b2715) ) + ROM_LOAD( "rnr_h11.vid", 0x2000, 0x2000, CRC(169a8f3f) SHA1(182c7c9b9849ebb57b3ff7c0b629f2f8e2efa9ba) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "a17_prom.bin", 0x0000, 0x0020, CRC(22ad2c3e) SHA1(1c2198b286c75aa9e78d000432795b1ce86ad6b9) ) ROM_LOAD( "b16_prom.bin", 0x0020, 0x0100, CRC(750a9677) SHA1(7a5b4aed5f87180850657b8852bb3f3138d58b5b) ) diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c index f95d41279d9..d1ff432f41d 100644 --- a/src/mame/drivers/strnskil.c +++ b/src/mame/drivers/strnskil.c @@ -18,27 +18,18 @@ Notes: #include "deprecat.h" #include "sound/sn76496.h" -static UINT8 *strnskil_sharedram; - /****************************************************************************/ -extern WRITE8_HANDLER( strnskil_videoram_w ); -extern WRITE8_HANDLER( strnskil_scroll_x_w ); -extern WRITE8_HANDLER( strnskil_scrl_ctrl_w ); +WRITE8_HANDLER( strnskil_videoram_w ); +WRITE8_HANDLER( strnskil_scrl_ctrl_w ); -extern PALETTE_INIT( strnskil ); -extern VIDEO_START( strnskil ); -extern VIDEO_UPDATE( strnskil ); +PALETTE_INIT( strnskil ); +VIDEO_START( strnskil ); +VIDEO_UPDATE( strnskil ); + +extern UINT8 *strnskil_xscroll; -static WRITE8_HANDLER( strnskil_sharedram_w ) -{ - strnskil_sharedram[offset] = data; -} -static READ8_HANDLER( strnskil_sharedram_r ) -{ - return strnskil_sharedram[offset]; -} static READ8_HANDLER( strnskil_d800_r ) { @@ -100,7 +91,7 @@ static ADDRESS_MAP_START( strnskil_readmem1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x9fff) AM_READ(MRA8_ROM) AM_RANGE(0xc000, 0xc7ff) AM_READ(MRA8_RAM) - AM_RANGE(0xc800, 0xcfff) AM_READ(strnskil_sharedram_r) + AM_RANGE(0xc800, 0xcfff) AM_READ(MRA8_RAM) AM_SHARE(1) AM_RANGE(0xd000, 0xd7ff) AM_READ(MRA8_RAM) /* videoram */ AM_RANGE(0xd800, 0xd800) AM_READ(strnskil_d800_r) @@ -115,24 +106,24 @@ static ADDRESS_MAP_START( strnskil_writemem1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x9fff) AM_WRITE(MWA8_ROM) AM_RANGE(0xc000, 0xc7ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0xc800, 0xcfff) AM_WRITE(strnskil_sharedram_w) + AM_RANGE(0xc800, 0xcfff) AM_WRITE(MWA8_RAM) AM_SHARE(1) AM_RANGE(0xd000, 0xd7ff) AM_WRITE(strnskil_videoram_w) AM_BASE(&videoram) AM_RANGE(0xd808, 0xd808) AM_WRITE(strnskil_scrl_ctrl_w) AM_RANGE(0xd809, 0xd809) AM_WRITE(MWA8_NOP) /* coin counter? */ - AM_RANGE(0xd80a, 0xd80b) AM_WRITE(strnskil_scroll_x_w) + AM_RANGE(0xd80a, 0xd80b) AM_WRITE(MWA8_RAM) AM_BASE(&strnskil_xscroll) ADDRESS_MAP_END static ADDRESS_MAP_START( strnskil_readmem2, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_READ(MRA8_ROM) AM_RANGE(0xc000, 0xc7ff) AM_READ(MRA8_RAM) - AM_RANGE(0xc800, 0xcfff) AM_READ(MRA8_RAM) + AM_RANGE(0xc800, 0xcfff) AM_READ(MRA8_RAM) AM_SHARE(1) ADDRESS_MAP_END static ADDRESS_MAP_START( strnskil_writemem2, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_WRITE(MWA8_ROM) AM_RANGE(0xc000, 0xc7ff) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xc800, 0xcfff) AM_WRITE(MWA8_RAM) AM_BASE(&strnskil_sharedram) + AM_RANGE(0xc800, 0xcfff) AM_WRITE(MWA8_RAM) AM_SHARE(1) AM_RANGE(0xd801, 0xd801) AM_WRITE(SN76496_0_w) AM_RANGE(0xd802, 0xd802) AM_WRITE(SN76496_1_w) @@ -362,8 +353,7 @@ static MACHINE_DRIVER_START( strnskil ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(strnskil) - MDRV_PALETTE_LENGTH(256) - MDRV_COLORTABLE_LENGTH(1024) + MDRV_PALETTE_LENGTH(1024) MDRV_PALETTE_INIT(strnskil) MDRV_VIDEO_START(strnskil) diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c index 797b35dc73b..1b2142415ba 100644 --- a/src/mame/drivers/trackfld.c +++ b/src/mame/drivers/trackfld.c @@ -25,28 +25,28 @@ MAIN BOARD: #include "sound/msm5205.h" -extern void konami1_decode(void); -extern UINT8 konami1_decodebyte( UINT8 opcode, UINT16 address ); +void konami1_decode(void); +UINT8 konami1_decodebyte( UINT8 opcode, UINT16 address ); extern UINT8 *trackfld_scroll; extern UINT8 *trackfld_scroll2; -extern WRITE8_HANDLER( trackfld_videoram_w ); -extern WRITE8_HANDLER( trackfld_colorram_w ); -extern WRITE8_HANDLER( trackfld_flipscreen_w ); -extern WRITE8_HANDLER( atlantol_gfxbank_w ); +WRITE8_HANDLER( trackfld_videoram_w ); +WRITE8_HANDLER( trackfld_colorram_w ); +WRITE8_HANDLER( trackfld_flipscreen_w ); +WRITE8_HANDLER( atlantol_gfxbank_w ); -extern PALETTE_INIT( trackfld ); -extern VIDEO_START( trackfld ); -extern VIDEO_UPDATE( trackfld ); +PALETTE_INIT( trackfld ); +VIDEO_START( trackfld ); +VIDEO_UPDATE( trackfld ); -extern WRITE8_HANDLER( konami_sh_irqtrigger_w ); -extern READ8_HANDLER( trackfld_sh_timer_r ); -extern READ8_HANDLER( trackfld_speech_r ); -extern WRITE8_HANDLER( trackfld_sound_w ); -extern READ8_HANDLER( hyprolyb_speech_r ); -extern WRITE8_HANDLER( hyprolyb_ADPCM_data_w ); +WRITE8_HANDLER( konami_sh_irqtrigger_w ); +READ8_HANDLER( trackfld_sh_timer_r ); +READ8_HANDLER( trackfld_speech_r ); +WRITE8_HANDLER( trackfld_sound_w ); +READ8_HANDLER( hyprolyb_speech_r ); +WRITE8_HANDLER( hyprolyb_ADPCM_data_w ); /* Track'n'Field has 1k of battery backed RAM which can be erased by setting a dipswitch @@ -839,8 +839,8 @@ static const gfx_layout spritelayout = }; static GFXDECODE_START( trackfld ) - GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 16 ) - GFXDECODE_ENTRY( REGION_GFX2, 0, spritelayout, 16*16, 16 ) + GFXDECODE_ENTRY( REGION_GFX1, 0, spritelayout, 0, 16 ) + GFXDECODE_ENTRY( REGION_GFX2, 0, charlayout, 16*16, 16 ) GFXDECODE_END @@ -880,8 +880,7 @@ static MACHINE_DRIVER_START( trackfld ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(trackfld) - MDRV_PALETTE_LENGTH(32) - MDRV_COLORTABLE_LENGTH(16*16+16*16) + MDRV_PALETTE_LENGTH(16*16+16*16) MDRV_PALETTE_INIT(trackfld) MDRV_VIDEO_START(trackfld) @@ -925,8 +924,7 @@ static MACHINE_DRIVER_START( hyprolyb ) MDRV_SCREEN_SIZE(32*8, 32*8) MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MDRV_GFXDECODE(trackfld) - MDRV_PALETTE_LENGTH(32) - MDRV_COLORTABLE_LENGTH(16*16+16*16) + MDRV_PALETTE_LENGTH(16*16+16*16) MDRV_PALETTE_INIT(trackfld) MDRV_VIDEO_START(trackfld) @@ -997,17 +995,17 @@ ROM_START( trackfld ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "c2_d13.bin", 0x0000, 0x2000, CRC(95bf79b6) SHA1(ea9135acd7ad162c19c5cdde356e69792d61b675) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h16_e12.bin", 0x0000, 0x2000, CRC(50075768) SHA1(dfff92c0f59dd3d8d3d6256944bfd48792cef6a9) ) - ROM_LOAD( "h15_e11.bin", 0x2000, 0x2000, CRC(dda9e29f) SHA1(0f41cde82bb60c3f1591ee14dc3cff4642bbddc1) ) - ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "c11_d06.bin", 0x0000, 0x2000, CRC(82e2185a) SHA1(1da9ea20e7af0b49c62fb39834a7ec686491af04) ) ROM_LOAD( "c12_d07.bin", 0x2000, 0x2000, CRC(800ff1f1) SHA1(33d73b18903e3e6bfb30f1a06db4b8105d4040d8) ) ROM_LOAD( "c13_d08.bin", 0x4000, 0x2000, CRC(d9faf183) SHA1(4448b6242790783d37acf50704d597af5878c2ab) ) ROM_LOAD( "c14_d09.bin", 0x6000, 0x2000, CRC(5886c802) SHA1(884a12a8f63600da4f23b29be6dbaacef37add20) ) + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "h16_e12.bin", 0x0000, 0x2000, CRC(50075768) SHA1(dfff92c0f59dd3d8d3d6256944bfd48792cef6a9) ) + ROM_LOAD( "h15_e11.bin", 0x2000, 0x2000, CRC(dda9e29f) SHA1(0f41cde82bb60c3f1591ee14dc3cff4642bbddc1) ) + ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1028,17 +1026,17 @@ ROM_START( trackflc ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "c2_d13.bin", 0x0000, 0x2000, CRC(95bf79b6) SHA1(ea9135acd7ad162c19c5cdde356e69792d61b675) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h16_e12.bin", 0x0000, 0x2000, CRC(50075768) SHA1(dfff92c0f59dd3d8d3d6256944bfd48792cef6a9) ) - ROM_LOAD( "h15_e11.bin", 0x2000, 0x2000, CRC(dda9e29f) SHA1(0f41cde82bb60c3f1591ee14dc3cff4642bbddc1) ) - ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "c11_d06.bin", 0x0000, 0x2000, CRC(82e2185a) SHA1(1da9ea20e7af0b49c62fb39834a7ec686491af04) ) ROM_LOAD( "c12_d07.bin", 0x2000, 0x2000, CRC(800ff1f1) SHA1(33d73b18903e3e6bfb30f1a06db4b8105d4040d8) ) ROM_LOAD( "c13_d08.bin", 0x4000, 0x2000, CRC(d9faf183) SHA1(4448b6242790783d37acf50704d597af5878c2ab) ) ROM_LOAD( "c14_d09.bin", 0x6000, 0x2000, CRC(5886c802) SHA1(884a12a8f63600da4f23b29be6dbaacef37add20) ) + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "h16_e12.bin", 0x0000, 0x2000, CRC(50075768) SHA1(dfff92c0f59dd3d8d3d6256944bfd48792cef6a9) ) + ROM_LOAD( "h15_e11.bin", 0x2000, 0x2000, CRC(dda9e29f) SHA1(0f41cde82bb60c3f1591ee14dc3cff4642bbddc1) ) + ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1059,17 +1057,17 @@ ROM_START( hyprolym ) /* GX361 */ ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "c2_d13.bin", 0x0000, 0x2000, CRC(95bf79b6) SHA1(ea9135acd7ad162c19c5cdde356e69792d61b675) ) /* 361-d13.c03 */ - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "361-d12.h16", 0x0000, 0x2000, CRC(768bb63d) SHA1(effc46615c389245e5a4aac18292e1d764ff0e46) ) - ROM_LOAD( "361-d11.h15", 0x2000, 0x2000, CRC(3af0e2a8) SHA1(450f35fd7e45ecc88ee80bf57499b2e9f06f6487) ) - ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) /* 361-d10.h14 */ - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "c11_d06.bin", 0x0000, 0x2000, CRC(82e2185a) SHA1(1da9ea20e7af0b49c62fb39834a7ec686491af04) ) /* 361-d06.c11 */ ROM_LOAD( "c12_d07.bin", 0x2000, 0x2000, CRC(800ff1f1) SHA1(33d73b18903e3e6bfb30f1a06db4b8105d4040d8) ) /* 361-d07.c12 */ ROM_LOAD( "c13_d08.bin", 0x4000, 0x2000, CRC(d9faf183) SHA1(4448b6242790783d37acf50704d597af5878c2ab) ) /* 361-d08.c13 */ ROM_LOAD( "c14_d09.bin", 0x6000, 0x2000, CRC(5886c802) SHA1(884a12a8f63600da4f23b29be6dbaacef37add20) ) /* 361-d09.c14 */ + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "361-d12.h16", 0x0000, 0x2000, CRC(768bb63d) SHA1(effc46615c389245e5a4aac18292e1d764ff0e46) ) + ROM_LOAD( "361-d11.h15", 0x2000, 0x2000, CRC(3af0e2a8) SHA1(450f35fd7e45ecc88ee80bf57499b2e9f06f6487) ) + ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) /* 361-d10.h14 */ + ROM_REGION( 0x0220, REGION_PROMS, 0 ) /* Prom names = 361-b16.f01 / 361-b17.b16 / 361-b18.e15 */ ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1098,17 +1096,17 @@ ROM_START( hyprolyb ) ROM_LOAD( "2764.3", 0xc000, 0x2000, CRC(c3ec42e1) SHA1(048a95726c4f031552e629c3788952c1bc5e7251) ) ROM_LOAD( "2764.4", 0xe000, 0x2000, CRC(76998389) SHA1(499189b0e20296af88712199b93b958655083608) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "361-d12.h16", 0x0000, 0x2000, CRC(768bb63d) SHA1(effc46615c389245e5a4aac18292e1d764ff0e46) ) - ROM_LOAD( "361-d11.h15", 0x2000, 0x2000, CRC(3af0e2a8) SHA1(450f35fd7e45ecc88ee80bf57499b2e9f06f6487) ) - ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "c11_d06.bin", 0x0000, 0x2000, CRC(82e2185a) SHA1(1da9ea20e7af0b49c62fb39834a7ec686491af04) ) ROM_LOAD( "c12_d07.bin", 0x2000, 0x2000, CRC(800ff1f1) SHA1(33d73b18903e3e6bfb30f1a06db4b8105d4040d8) ) ROM_LOAD( "c13_d08.bin", 0x4000, 0x2000, CRC(d9faf183) SHA1(4448b6242790783d37acf50704d597af5878c2ab) ) ROM_LOAD( "c14_d09.bin", 0x6000, 0x2000, CRC(5886c802) SHA1(884a12a8f63600da4f23b29be6dbaacef37add20) ) + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "361-d12.h16", 0x0000, 0x2000, CRC(768bb63d) SHA1(effc46615c389245e5a4aac18292e1d764ff0e46) ) + ROM_LOAD( "361-d11.h15", 0x2000, 0x2000, CRC(3af0e2a8) SHA1(450f35fd7e45ecc88ee80bf57499b2e9f06f6487) ) + ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1130,13 +1128,13 @@ ROM_START( atlantol ) ROM_LOAD( "atl36", 0x00000, 0x10000, CRC(0bae8489) SHA1(fbaeac99733f9c46b0b8d9a601c57df4004e2044) ) ROM_CONTINUE( 0x00000, 0x10000 ) - ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "atl40", 0x00000, 0x20000, CRC(c915f53a) SHA1(5983fa68f8a494fe0c71e8dae79b45eee178bbcd) ) - - ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x40000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "atl38", 0x00000, 0x20000, CRC(dbbcbcda) SHA1(df84fd73425bac2dcde0b650369ed1ff105f729f) ) ROM_LOAD( "atl39", 0x20000, 0x20000, CRC(d08f067f) SHA1(077446bf3269dba2881e745434f1581f3a901d99) ) + ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "atl40", 0x00000, 0x20000, CRC(c915f53a) SHA1(5983fa68f8a494fe0c71e8dae79b45eee178bbcd) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1152,17 +1150,17 @@ ROM_START( mastkin ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "mk1", 0x0000, 0x2000, CRC(95bf79b6) SHA1(ea9135acd7ad162c19c5cdde356e69792d61b675) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mk12", 0x0000, 0x2000, CRC(8b1a19cf) SHA1(9f75f69828eeaeb2d0dcf20fb80425546124b21e) ) - ROM_LOAD( "mk11", 0x2000, 0x2000, CRC(1a56d24d) SHA1(e64b8a9bdbcf6d2d583ded0750d5f48721785459) ) - ROM_LOAD( "mk10", 0x4000, 0x2000, CRC(e7d05634) SHA1(e7532749fe9b955ba221517807888b34a7754db7) ) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "mk6", 0x0000, 0x2000, CRC(18fbe047) SHA1(d2c6aeb1dfd9751f4db386944d144e293001b497) ) ROM_LOAD( "mk7", 0x2000, 0x2000, CRC(47dee791) SHA1(9c2d5c2ef1e2e8f329160a1c536119b078803347) ) ROM_LOAD( "mk8", 0x4000, 0x2000, CRC(9c091ead) SHA1(fce50c9d260f20873289921926bd632d6d49ef15) ) ROM_LOAD( "mk9", 0x6000, 0x2000, CRC(5c8ed3fe) SHA1(a878fcd547aad5388fef9fe2825c1122444c216d) ) + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "mk12", 0x0000, 0x2000, CRC(8b1a19cf) SHA1(9f75f69828eeaeb2d0dcf20fb80425546124b21e) ) + ROM_LOAD( "mk11", 0x2000, 0x2000, CRC(1a56d24d) SHA1(e64b8a9bdbcf6d2d583ded0750d5f48721785459) ) + ROM_LOAD( "mk10", 0x4000, 0x2000, CRC(e7d05634) SHA1(e7532749fe9b955ba221517807888b34a7754db7) ) + ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "prom.1", 0x0000, 0x0020, NO_DUMP ) /* palette */ ROM_LOAD( "prom.3", 0x0020, 0x0100, NO_DUMP ) /* sprite lookup table */ @@ -1197,15 +1195,15 @@ ROM_START( wizzquiz ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "zandz.2c", 0x0000, 0x2000, CRC(3daca93a) SHA1(743c2b787aeb2c893ea476efc95d92e33b9bd159) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "rom.11c", 0x0000, 0x2000, CRC(87d060d4) SHA1(22da2dfaf71d78a4789ca34c27571733ab65ea30) ) + ROM_LOAD( "rom.14c", 0x2000, 0x2000, CRC(5bff1607) SHA1(20c4b74c93511f9cafd6e3f2d048baad3a3a8aa4) ) + + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "rom.16h", 0x0000, 0x2000, CRC(e6728bda) SHA1(8bd029af5136b0ed6c0087989c69f0b1c23305fb) ) ROM_LOAD( "rom.15h", 0x2000, 0x2000, CRC(9c067ef4) SHA1(2a66beee4fa76d40ca18637c0061b196d3873df3) ) ROM_LOAD( "rom.14h", 0x4000, 0x2000, CRC(3bbad920) SHA1(f5c491f37aa6855181c62fe6bb2975c7d011cc72) ) - ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) - ROM_LOAD( "rom.11c", 0x0000, 0x2000, CRC(87d060d4) SHA1(22da2dfaf71d78a4789ca34c27571733ab65ea30) ) - ROM_LOAD( "rom.14c", 0x2000, 0x2000, CRC(5bff1607) SHA1(20c4b74c93511f9cafd6e3f2d048baad3a3a8aa4) ) - ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1240,15 +1238,15 @@ ROM_START( wizzquza ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) ROM_LOAD( "02c.bin", 0x0000, 0x2000, CRC(3daca93a) SHA1(743c2b787aeb2c893ea476efc95d92e33b9bd159) ) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "11c.bin", 0x0000, 0x2000, CRC(87d060d4) SHA1(22da2dfaf71d78a4789ca34c27571733ab65ea30) ) + ROM_LOAD( "14c.bin", 0x2000, 0x2000, CRC(5bff1607) SHA1(20c4b74c93511f9cafd6e3f2d048baad3a3a8aa4) ) + + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "16h.bin", 0x0000, 0x2000, CRC(e6728bda) SHA1(8bd029af5136b0ed6c0087989c69f0b1c23305fb) ) ROM_LOAD( "15h.bin", 0x2000, 0x2000, CRC(9c067ef4) SHA1(2a66beee4fa76d40ca18637c0061b196d3873df3) ) ROM_LOAD( "14h.bin", 0x4000, 0x2000, CRC(3bbad920) SHA1(f5c491f37aa6855181c62fe6bb2975c7d011cc72) ) - ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) - ROM_LOAD( "11c.bin", 0x0000, 0x2000, CRC(87d060d4) SHA1(22da2dfaf71d78a4789ca34c27571733ab65ea30) ) - ROM_LOAD( "14c.bin", 0x2000, 0x2000, CRC(5bff1607) SHA1(20c4b74c93511f9cafd6e3f2d048baad3a3a8aa4) ) - ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */ @@ -1270,15 +1268,7 @@ ROM_START( reaktor ) ROM_LOAD( "2c.bin", 0x0000, 0x2000, CRC(105a8beb) SHA1(4bd9a0076fece8dc9a830e76a60fbcefe08940f7) ) ROM_CONTINUE(0x0000,0x2000) - ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "16h.bin", 0x0000, 0x2000, CRC(cb062c3b) SHA1(4a1c1a662dec26cb49310de596e1e1416d101d5d) ) - ROM_CONTINUE(0x0000,0x2000) - ROM_LOAD( "15h.bin", 0x2000, 0x2000, CRC(df83e659) SHA1(435523f3747c5aaf0a2d3a826766cb9b9ebb821e) ) - ROM_CONTINUE(0x2000,0x2000) - ROM_LOAD( "14h.bin", 0x4000, 0x2000, CRC(5ca53215) SHA1(650338a95465b61d9388bede716053523855eeee) ) - ROM_CONTINUE(0x4000,0x2000) - - ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "11c.bin", 0x0000, 0x2000, CRC(d24553fa) SHA1(ad4f2dd6c7236f33841bc59ce150a212fbe871cd) ) ROM_CONTINUE(0x0000,0x2000) ROM_LOAD( "14c.bin", 0x4000, 0x2000, CRC(4d0ab831) SHA1(2009b263fff3fd512a055fef23e667e76af1c584) ) @@ -1288,6 +1278,14 @@ ROM_START( reaktor ) ROM_LOAD( "15c.bin", 0x6000, 0x2000, CRC(bf1e608d) SHA1(ad5f16c091439358bbece9bc50e5979d44e85980) ) ROM_CONTINUE(0x6000,0x2000) + ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "16h.bin", 0x0000, 0x2000, CRC(cb062c3b) SHA1(4a1c1a662dec26cb49310de596e1e1416d101d5d) ) + ROM_CONTINUE(0x0000,0x2000) + ROM_LOAD( "15h.bin", 0x2000, 0x2000, CRC(df83e659) SHA1(435523f3747c5aaf0a2d3a826766cb9b9ebb821e) ) + ROM_CONTINUE(0x2000,0x2000) + ROM_LOAD( "14h.bin", 0x4000, 0x2000, CRC(5ca53215) SHA1(650338a95465b61d9388bede716053523855eeee) ) + ROM_CONTINUE(0x4000,0x2000) + /* Proms, and speech rom (unused?) are unchanged from the original */ ROM_REGION( 0x0220, REGION_PROMS, 0 ) ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */ @@ -1314,15 +1312,11 @@ static DRIVER_INIT( atlantol ) /* not encrypted opcodes */ for (A = 0;A < 0x6000;A++) - { decrypt[A] = rom[A]; - } /* "konami1" encrypted opcodes */ for (A = 0x6000;A < size;A++) - { decrypt[A] = konami1_decodebyte(rom[A],A); - } memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x1000, 0x1000, 0, 0, MWA8_NOP ); } @@ -1355,26 +1349,22 @@ static DRIVER_INIT( wizzquiz ) /* decrypt program rom */ for( i = 0; i < 0x2000; i++ ) - { ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7); - } ROM = memory_region(REGION_USER1); /* decrypt questions roms */ for( i = 0; i < 0x40000; i++ ) - { ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7); - } } -GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld, ROT0, "Konami", "Track & Field", 0 ) -GAME( 1983, trackflc, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", 0 ) -GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami", "Hyper Olympic", 0 ) -GAME( 1983, hyprolyb, trackfld, hyprolyb, trackfld, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg)", GAME_IMPERFECT_SOUND ) -GAME( 1996, atlantol, trackfld, hyprolyb, atlantol, atlantol, ROT0, "bootleg", "Atlant Olimpic", 0 ) -GAME( 1988, mastkin, 0, mastkin, mastkin, mastkin, ROT0, "Du Tech", "The Masters of Kin", GAME_WRONG_COLORS ) -GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, wizzquiz, ROT0, "Konami", "Wizz Quiz (Konami version)", 0 ) -GAME( 1985, wizzquza, wizzquiz, wizzquiz, wizzquiz, wizzquiz, ROT0, "Zilec - Zenitone", "Wizz Quiz (version 4)", 0 ) -GAME( 1987, reaktor, 0, reaktor, reaktor, 0, ROT90, "Zilec", "Reaktor (Track & Field Conversion)", 0 ) +GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld, ROT0, "Konami", "Track & Field", 0 ) +GAME( 1983, trackflc, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", 0 ) +GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami", "Hyper Olympic", 0 ) +GAME( 1983, hyprolyb, trackfld, hyprolyb, trackfld, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg)", GAME_IMPERFECT_SOUND ) +GAME( 1996, atlantol, trackfld, hyprolyb, atlantol, atlantol, ROT0, "bootleg", "Atlant Olimpic", 0 ) +GAME( 1988, mastkin, 0, mastkin, mastkin, mastkin, ROT0, "Du Tech", "The Masters of Kin", GAME_WRONG_COLORS ) +GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, wizzquiz, ROT0, "Konami", "Wizz Quiz (Konami version)", 0 ) +GAME( 1985, wizzquza, wizzquiz, wizzquiz, wizzquiz, wizzquiz, ROT0, "Zilec - Zenitone", "Wizz Quiz (version 4)", 0 ) +GAME( 1987, reaktor, 0, reaktor, reaktor, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", 0 ) diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c index c5653f45c60..f893934809f 100644 --- a/src/mame/video/markham.c +++ b/src/mame/video/markham.c @@ -10,7 +10,8 @@ Video hardware driver by Uki #include "driver.h" -static UINT8 markham_xscroll[2]; + +UINT8 *markham_xscroll; static tilemap *bg_tilemap; @@ -18,28 +19,28 @@ PALETTE_INIT( markham ) { int i; - for (i = 0;i < machine->drv->total_colors;i++) - { - int r = color_prom[0]; - int g = color_prom[machine->drv->total_colors]; - int b = color_prom[2*machine->drv->total_colors]; + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x100); - palette_set_color_rgb(machine,i,pal4bit(r),pal4bit(g),pal4bit(b)); - color_prom++; + /* create a lookup table for the palette */ + for (i = 0; i < 0x100; i++) + { + int r = pal4bit(color_prom[i + 0x000]); + int g = pal4bit(color_prom[i + 0x100]); + int b = pal4bit(color_prom[i + 0x200]); + + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } - color_prom += 2*machine->drv->total_colors; - /* color_prom now points to the beginning of the lookup table */ + color_prom += 0x300; /* sprites lookup table */ - for (i=0; i<512; i++) - *(colortable++) = *(color_prom++); - - /* bg lookup table */ - for (i=0; i<512; i++) - *(colortable++) = *(color_prom++); - + for (i = 0; i < 0x400; i++) + { + UINT8 ctabentry = color_prom[i]; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } WRITE8_HANDLER( markham_videoram_w ) @@ -48,11 +49,6 @@ WRITE8_HANDLER( markham_videoram_w ) tilemap_mark_tile_dirty(bg_tilemap, offset / 2); } -WRITE8_HANDLER( markham_scroll_x_w ) -{ - markham_xscroll[offset] = data; -} - WRITE8_HANDLER( markham_flipscreen_w ) { if (flip_screen != (data & 0x01)) @@ -117,7 +113,8 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re col, fx,fy, px,py, - cliprect,TRANSPARENCY_COLOR,0); + cliprect,TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[1], col, 0)); } } diff --git a/src/mame/video/megazone.c b/src/mame/video/megazone.c index db3aa5c9ffa..9dad322ef12 100644 --- a/src/mame/video/megazone.c +++ b/src/mame/video/megazone.c @@ -7,6 +7,7 @@ ***************************************************************************/ #include "driver.h" +#include "video/resnet.h" UINT8 *megazone_scrollx; UINT8 *megazone_scrolly; @@ -43,44 +44,62 @@ Changes by Martin M. (pfloyd@gmx.net) 14.10.2001: ***************************************************************************/ PALETTE_INIT( megazone ) { + static const int resistances_rg[3] = { 1000, 470, 220 }; + static const int resistances_b [2] = { 470, 220 }; + double rweights[3], gweights[3], bweights[2]; int i; - #define TOTAL_COLORS(gfxn) (machine->gfx[gfxn]->total_colors * machine->gfx[gfxn]->color_granularity) - #define COLOR(gfxn,offs) (colortable[machine->drv->gfxdecodeinfo[gfxn].color_codes_start + offs]) + /* compute the color output resistor weights */ + compute_resistor_weights(0, 255, -1.0, + 3, &resistances_rg[0], rweights, 1000, 0, + 3, &resistances_rg[0], gweights, 1000, 0, + 2, &resistances_b[0], bweights, 1000, 0); - for (i = 0;i < machine->drv->total_colors;i++) + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x20); + + /* create a lookup table for the palette */ + for (i = 0; i < 0x20; i++) { - int bit0,bit1,bit2,r,g,b; + int bit0, bit1, bit2; + int r, g, b; /* red component */ - bit0 = (*color_prom >> 0) & 0x01; - bit1 = (*color_prom >> 1) & 0x01; - bit2 = (*color_prom >> 2) & 0x01; - r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - /* green component */ - bit0 = (*color_prom >> 3) & 0x01; - bit1 = (*color_prom >> 4) & 0x01; - bit2 = (*color_prom >> 5) & 0x01; - g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - /* blue component */ - bit0 = 0; - bit1 = (*color_prom >> 6) & 0x01; - bit2 = (*color_prom >> 7) & 0x01; - b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 0) & 0x01; + bit1 = (color_prom[i] >> 1) & 0x01; + bit2 = (color_prom[i] >> 2) & 0x01; + r = combine_3_weights(rweights, bit0, bit1, bit2); - palette_set_color(machine,i,MAKE_RGB(r,g,b)); - color_prom++; + /* green component */ + bit0 = (color_prom[i] >> 3) & 0x01; + bit1 = (color_prom[i] >> 4) & 0x01; + bit2 = (color_prom[i] >> 5) & 0x01; + g = combine_3_weights(gweights, bit0, bit1, bit2); + + /* blue component */ + bit0 = (color_prom[i] >> 6) & 0x01; + bit1 = (color_prom[i] >> 7) & 0x01; + b = combine_2_weights(bweights, bit0, bit1); + + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } /* color_prom now points to the beginning of the lookup table */ + color_prom += 0x20; /* sprites */ - for (i = 0;i < TOTAL_COLORS(1);i++) - COLOR(1,i) = *(color_prom++) & 0x0f; + for (i = 0; i < 0x100; i++) + { + UINT8 ctabentry = color_prom[i] & 0x0f; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } /* characters */ - for (i = 0;i < TOTAL_COLORS(0);i++) - COLOR(0,i) = (*(color_prom++) & 0x0f) + 0x10; + for (i = 0x100; i < 0x200; i++) + { + UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } WRITE8_HANDLER( megazone_flipscreen_w ) @@ -116,7 +135,7 @@ VIDEO_UPDATE( megazone ) flipy = !flipy; } - drawgfx(tmpbitmap,machine->gfx[0], + drawgfx(tmpbitmap,machine->gfx[1], ((int)videoram[offs]) + ((colorram[offs] & (1<<7) ? 256 : 0) ), (colorram[offs] & 0x0f) + 0x10, flipx,flipy, @@ -149,23 +168,27 @@ VIDEO_UPDATE( megazone ) { for (offs = spriteram_size-4; offs >= 0;offs -= 4) { - int sx,sy,flipx,flipy; + int sx = spriteram[offs + 3]; + int sy = 255-((spriteram[offs + 1]+16)&0xff); + int color = spriteram[offs + 0] & 0x0f; + int flipx = ~spriteram[offs + 0] & 0x40; + int flipy = spriteram[offs + 0] & 0x80; + if (flipscreen) + { + sx = sx - 11; + sy = sy + 2; + } + else + sx = sx + 32; - sx = spriteram[offs + 3]; - if (flipscreen) sx-=11; else sx+=4*8; // Sprite y-position correction depending on screen flip - sy = 255-((spriteram[offs + 1]+16)&0xff); - if (flipscreen) sy+=2; // Sprite x-position correction depending on screen flip - - flipx = ~spriteram[offs+0] & 0x40; - flipy = spriteram[offs+0] & 0x80; - - drawgfx(bitmap,machine->gfx[1], + drawgfx(bitmap,machine->gfx[0], spriteram[offs + 2], - spriteram[offs + 0] & 0x0f, + color, flipx,flipy, sx,sy, - cliprect,TRANSPARENCY_COLOR,0); + cliprect,TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[0], color, 0)); } } @@ -193,7 +216,7 @@ VIDEO_UPDATE( megazone ) - drawgfx(bitmap,machine->gfx[0], + drawgfx(bitmap,machine->gfx[1], ((int)megazone_videoram2[offs]) + ((megazone_colorram2[offs] & (1<<7) ? 256 : 0) ), (megazone_colorram2[offs] & 0x0f) + 0x10, flipx,flipy, diff --git a/src/mame/video/pandoras.c b/src/mame/video/pandoras.c index a45633d82aa..2f92d71e431 100644 --- a/src/mame/video/pandoras.c +++ b/src/mame/video/pandoras.c @@ -1,8 +1,8 @@ #include "driver.h" +#include "video/resnet.h" static int flipscreen; static tilemap *layer0; -extern UINT8 *pandoras_sharedram; /*********************************************************************** @@ -24,45 +24,62 @@ extern UINT8 *pandoras_sharedram; ***************************************************************************/ PALETTE_INIT( pandoras ) { + static const int resistances_rg[3] = { 1000, 470, 220 }; + static const int resistances_b [2] = { 470, 220 }; + double rweights[3], gweights[3], bweights[2]; int i; - #define TOTAL_COLORS(gfxn) (machine->gfx[gfxn]->total_colors * machine->gfx[gfxn]->color_granularity) - #define COLOR(gfxn,offs) (colortable[machine->drv->gfxdecodeinfo[gfxn].color_codes_start + offs]) - for (i = 0; i < machine->drv->total_colors; i++) + /* compute the color output resistor weights */ + compute_resistor_weights(0, 255, -1.0, + 3, &resistances_rg[0], rweights, 1000, 0, + 3, &resistances_rg[0], gweights, 1000, 0, + 2, &resistances_b[0], bweights, 1000, 0); + + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x20); + + /* create a lookup table for the palette */ + for (i = 0; i < 0x20; i++) { - int bit0, bit1, bit2, r, g, b; + int bit0, bit1, bit2; + int r, g, b; /* red component */ - bit0 = (*color_prom >> 0) & 0x01; - bit1 = (*color_prom >> 1) & 0x01; - bit2 = (*color_prom >> 2) & 0x01; - r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 0) & 0x01; + bit1 = (color_prom[i] >> 1) & 0x01; + bit2 = (color_prom[i] >> 2) & 0x01; + r = combine_3_weights(rweights, bit0, bit1, bit2); /* green component */ - bit0 = (*color_prom >> 3) & 0x01; - bit1 = (*color_prom >> 4) & 0x01; - bit2 = (*color_prom >> 5) & 0x01; - g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 3) & 0x01; + bit1 = (color_prom[i] >> 4) & 0x01; + bit2 = (color_prom[i] >> 5) & 0x01; + g = combine_3_weights(gweights, bit0, bit1, bit2); /* blue component */ - bit0 = 0; - bit1 = (*color_prom >> 6) & 0x01; - bit2 = (*color_prom >> 7) & 0x01; - b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 6) & 0x01; + bit1 = (color_prom[i] >> 7) & 0x01; + b = combine_2_weights(bweights, bit0, bit1); - palette_set_color(machine,i,MAKE_RGB(r,g,b)); - color_prom++; + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } /* color_prom now points to the beginning of the lookup table */ + color_prom += 0x20; /* sprites */ - for (i = 0;i < TOTAL_COLORS(1);i++) - COLOR(1,i) = *(color_prom++) & 0x0f; + for (i = 0; i < 0x100; i++) + { + UINT8 ctabentry = color_prom[i] & 0x0f; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } /* characters */ - for (i = 0;i < TOTAL_COLORS(0);i++) - COLOR(0,i) = (*(color_prom++) & 0x0f) + 0x10; + for (i = 0x100; i < 0x200; i++) + { + UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } /*************************************************************************** @@ -75,7 +92,7 @@ static TILE_GET_INFO( get_tile_info0 ) { UINT8 attr = colorram[tile_index]; SET_TILE_INFO( - 0, + 1, videoram[tile_index] + ((attr & 0x10) << 4), attr & 0x0f, TILE_FLIPYX((attr & 0xc0) >> 6)); @@ -99,16 +116,6 @@ VIDEO_START( pandoras ) ***************************************************************************/ -READ8_HANDLER( pandoras_vram_r ) -{ - return videoram[offset]; -} - -READ8_HANDLER( pandoras_cram_r ) -{ - return colorram[offset]; -} - WRITE8_HANDLER( pandoras_vram_w ) { tilemap_mark_tile_dirty(layer0,offset); @@ -146,22 +153,24 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re { int sx = sr[offs + 1]; int sy = 240 - sr[offs]; + int color = sr[offs + 3] & 0x0f; int nflipx = sr[offs + 3] & 0x40; int nflipy = sr[offs + 3] & 0x80; - drawgfx(bitmap,machine->gfx[1], + drawgfx(bitmap,machine->gfx[0], sr[offs + 2], - sr[offs + 3] & 0x0f, + color, !nflipx,!nflipy, sx,sy, - cliprect,TRANSPARENCY_COLOR,0); + cliprect,TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[0], color, 0)); } } VIDEO_UPDATE( pandoras ) { tilemap_draw( bitmap,cliprect, layer0, 1 ,0); - draw_sprites( machine, bitmap,cliprect, &pandoras_sharedram[0x800] ); + draw_sprites( machine, bitmap,cliprect, &spriteram[0x800] ); tilemap_draw( bitmap,cliprect, layer0, 0 ,0); return 0; } diff --git a/src/mame/video/rocnrope.c b/src/mame/video/rocnrope.c index f2f3d374d31..d263171ba43 100644 --- a/src/mame/video/rocnrope.c +++ b/src/mame/video/rocnrope.c @@ -7,6 +7,7 @@ ***************************************************************************/ #include "driver.h" +#include "video/resnet.h" static tilemap *bg_tilemap; @@ -30,44 +31,55 @@ static tilemap *bg_tilemap; ***************************************************************************/ PALETTE_INIT( rocnrope ) { + static const int resistances_rg[3] = { 1000, 470, 220 }; + static const int resistances_b [2] = { 470, 220 }; + double rweights[3], gweights[3], bweights[2]; int i; - #define TOTAL_COLORS(gfxn) (machine->gfx[gfxn]->total_colors * machine->gfx[gfxn]->color_granularity) - #define COLOR(gfxn,offs) (colortable[machine->drv->gfxdecodeinfo[gfxn].color_codes_start + offs]) + /* compute the color output resistor weights */ + compute_resistor_weights(0, 255, -1.0, + 3, &resistances_rg[0], rweights, 1000, 0, + 3, &resistances_rg[0], gweights, 1000, 0, + 2, &resistances_b[0], bweights, 1000, 0); - for (i = 0;i < machine->drv->total_colors;i++) + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x20); + + /* create a lookup table for the palette */ + for (i = 0; i < 0x20; i++) { - int bit0,bit1,bit2,r,g,b; + int bit0, bit1, bit2; + int r, g, b; /* red component */ - bit0 = (*color_prom >> 0) & 0x01; - bit1 = (*color_prom >> 1) & 0x01; - bit2 = (*color_prom >> 2) & 0x01; - r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - /* green component */ - bit0 = (*color_prom >> 3) & 0x01; - bit1 = (*color_prom >> 4) & 0x01; - bit2 = (*color_prom >> 5) & 0x01; - g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - /* blue component */ - bit0 = 0; - bit1 = (*color_prom >> 6) & 0x01; - bit2 = (*color_prom >> 7) & 0x01; - b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 0) & 0x01; + bit1 = (color_prom[i] >> 1) & 0x01; + bit2 = (color_prom[i] >> 2) & 0x01; + r = combine_3_weights(rweights, bit0, bit1, bit2); - palette_set_color(machine,i,MAKE_RGB(r,g,b)); - color_prom++; + /* green component */ + bit0 = (color_prom[i] >> 3) & 0x01; + bit1 = (color_prom[i] >> 4) & 0x01; + bit2 = (color_prom[i] >> 5) & 0x01; + g = combine_3_weights(gweights, bit0, bit1, bit2); + + /* blue component */ + bit0 = (color_prom[i] >> 6) & 0x01; + bit1 = (color_prom[i] >> 7) & 0x01; + b = combine_2_weights(bweights, bit0, bit1); + + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } /* color_prom now points to the beginning of the lookup table */ + color_prom += 0x20; - /* sprites */ - for (i = 0;i < TOTAL_COLORS(1);i++) - COLOR(1,i) = *(color_prom++) & 0x0f; - - /* characters */ - for (i = 0;i < TOTAL_COLORS(0);i++) - COLOR(0,i) = *(color_prom++) & 0x0f; + /* sprites and characters */ + for (i = 0; i < 0x200; i++) + { + UINT8 ctabentry = color_prom[i] & 0x0f; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } WRITE8_HANDLER( rocnrope_videoram_w ) @@ -98,13 +110,12 @@ static TILE_GET_INFO( get_bg_tile_info ) int color = attr & 0x0f; int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0); - SET_TILE_INFO(0, code, color, flags); + SET_TILE_INFO(1, code, color, flags); } VIDEO_START( rocnrope ) { - bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, - 8, 8, 32, 32); + bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); } static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect ) @@ -113,12 +124,15 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re for (offs = spriteram_size - 2;offs >= 0;offs -= 2) { - drawgfx(bitmap,machine->gfx[1], + int color = spriteram_2[offs] & 0x0f; + + drawgfx(bitmap,machine->gfx[0], spriteram[offs + 1], - spriteram_2[offs] & 0x0f, + color, spriteram_2[offs] & 0x40,~spriteram_2[offs] & 0x80, 240-spriteram[offs],spriteram_2[offs + 1], - cliprect,TRANSPARENCY_COLOR,0); + cliprect,TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[0], color, 0)); } } diff --git a/src/mame/video/strnskil.c b/src/mame/video/strnskil.c index 23b0fcbae13..c8ceee1f08a 100644 --- a/src/mame/video/strnskil.c +++ b/src/mame/video/strnskil.c @@ -10,50 +10,48 @@ Video hardware driver by Uki #include "driver.h" + +UINT8 *strnskil_xscroll; static UINT8 strnskil_scrl_ctrl; -static UINT8 strnskil_xscroll[2]; static tilemap *bg_tilemap; + PALETTE_INIT( strnskil ) { int i; - for (i = 0;i < machine->drv->total_colors;i++) - { - int r = color_prom[0]; - int g = color_prom[machine->drv->total_colors]; - int b = color_prom[2*machine->drv->total_colors]; + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x100); - palette_set_color_rgb(machine,i,pal4bit(r),pal4bit(g),pal4bit(b)); - color_prom++; + /* create a lookup table for the palette */ + for (i = 0; i < 0x100; i++) + { + int r = pal4bit(color_prom[i + 0x000]); + int g = pal4bit(color_prom[i + 0x100]); + int b = pal4bit(color_prom[i + 0x200]); + + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } - color_prom += 2*machine->drv->total_colors; - /* color_prom now points to the beginning of the lookup table */ + color_prom += 0x300; /* sprites lookup table */ - for (i=0; i<512; i++) - *(colortable++) = *(color_prom++); - - /* bg lookup table */ - for (i=0; i<512; i++) - *(colortable++) = *(color_prom++); - + for (i = 0; i < 0x400; i++) + { + UINT8 ctabentry = color_prom[i]; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } + WRITE8_HANDLER( strnskil_videoram_w ) { videoram[offset] = data; tilemap_mark_tile_dirty(bg_tilemap, offset / 2); } -WRITE8_HANDLER( strnskil_scroll_x_w ) -{ - strnskil_xscroll[offset] = data; -} - WRITE8_HANDLER( strnskil_scrl_ctrl_w ) { strnskil_scrl_ctrl = data >> 5; @@ -118,7 +116,8 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re flipx, flipy, px, py, cliprect, - TRANSPARENCY_COLOR, 0); + TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, 0)); } } diff --git a/src/mame/video/trackfld.c b/src/mame/video/trackfld.c index 1cfe6843c7d..3da26f20fdf 100644 --- a/src/mame/video/trackfld.c +++ b/src/mame/video/trackfld.c @@ -7,6 +7,7 @@ ***************************************************************************/ #include "driver.h" +#include "video/resnet.h" UINT8 *trackfld_scroll; UINT8 *trackfld_scroll2; @@ -34,47 +35,62 @@ static int bg_bank = 0, sprite_bank1 = 0, sprite_bank2 = 0; ***************************************************************************/ PALETTE_INIT( trackfld ) { + static const int resistances_rg[3] = { 1000, 470, 220 }; + static const int resistances_b [2] = { 470, 220 }; + double rweights[3], gweights[3], bweights[2]; int i; - #define TOTAL_COLORS(gfxn) (machine->gfx[gfxn]->total_colors * machine->gfx[gfxn]->color_granularity) - #define COLOR(gfxn,offs) (colortable[machine->drv->gfxdecodeinfo[gfxn].color_codes_start + offs]) + /* compute the color output resistor weights */ + compute_resistor_weights(0, 255, -1.0, + 3, &resistances_rg[0], rweights, 1000, 0, + 3, &resistances_rg[0], gweights, 1000, 0, + 2, &resistances_b[0], bweights, 1000, 0); - for (i = 0;i < machine->drv->total_colors;i++) + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x20); + + /* create a lookup table for the palette */ + for (i = 0; i < 0x20; i++) { - int bit0,bit1,bit2,r,g,b; - + int bit0, bit1, bit2; + int r, g, b; /* red component */ - bit0 = (*color_prom >> 0) & 0x01; - bit1 = (*color_prom >> 1) & 0x01; - bit2 = (*color_prom >> 2) & 0x01; - r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 0) & 0x01; + bit1 = (color_prom[i] >> 1) & 0x01; + bit2 = (color_prom[i] >> 2) & 0x01; + r = combine_3_weights(rweights, bit0, bit1, bit2); + /* green component */ - bit0 = (*color_prom >> 3) & 0x01; - bit1 = (*color_prom >> 4) & 0x01; - bit2 = (*color_prom >> 5) & 0x01; - g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 3) & 0x01; + bit1 = (color_prom[i] >> 4) & 0x01; + bit2 = (color_prom[i] >> 5) & 0x01; + g = combine_3_weights(gweights, bit0, bit1, bit2); + /* blue component */ - bit0 = 0; - bit1 = (*color_prom >> 6) & 0x01; - bit2 = (*color_prom >> 7) & 0x01; - b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; + bit0 = (color_prom[i] >> 6) & 0x01; + bit1 = (color_prom[i] >> 7) & 0x01; + b = combine_2_weights(bweights, bit0, bit1); - palette_set_color(machine,i,MAKE_RGB(r,g,b)); - - color_prom++; + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); } /* color_prom now points to the beginning of the lookup table */ - + color_prom += 0x20; /* sprites */ - for (i = 0;i < TOTAL_COLORS(1);i++) - COLOR(1,i) = *(color_prom++) & 0x0f; + for (i = 0; i < 0x100; i++) + { + UINT8 ctabentry = color_prom[i] & 0x0f; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } /* characters */ - for (i = 0;i < TOTAL_COLORS(0);i++) - COLOR(0,i) = (*(color_prom++) & 0x0f) + 0x10; + for (i = 0x100; i < 0x200; i++) + { + UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10; + colortable_entry_set_value(machine->colortable, i, ctabentry); + } } WRITE8_HANDLER( trackfld_videoram_w ) @@ -161,7 +177,7 @@ static TILE_GET_INFO( get_bg_tile_info ) if( bg_bank ) code |= 0x400; - SET_TILE_INFO(0, code, color, flags); + SET_TILE_INFO(1, code, color, flags); } VIDEO_START( trackfld ) @@ -196,20 +212,22 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re /* proving that this is a hardware related "feature" */ sy += 1; - drawgfx(bitmap, machine->gfx[1], + drawgfx(bitmap, machine->gfx[0], code + sprite_bank1 + sprite_bank2, color, flipx, flipy, sx, sy, cliprect, - TRANSPARENCY_COLOR, 0); + TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[0], color, 0)); /* redraw with wraparound */ - drawgfx(bitmap,machine->gfx[1], + drawgfx(bitmap,machine->gfx[0], code + sprite_bank1 + sprite_bank2, color, flipx, flipy, sx - 256, sy, cliprect, - TRANSPARENCY_COLOR, 0); + TRANSPARENCY_PENS, + colortable_get_transpen_mask(machine->colortable, machine->gfx[0], color, 0)); } }