- Color table removal

- Uses resnet.c where schematics was conclusive
This commit is contained in:
Zsolt Vasvari 2008-02-06 10:16:03 +00:00
parent 12d4c9438d
commit 304b3ffe43
12 changed files with 416 additions and 414 deletions

View File

@ -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)

View File

@ -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 */

View File

@ -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 */

View File

@ -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) )

View File

@ -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)

View File

@ -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 )

View File

@ -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));
}
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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));
}
}

View File

@ -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));
}
}

View File

@ -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));
}
}