- Color table removal
- Uses resnet.c where schematics was conclusive
This commit is contained in:
parent
12d4c9438d
commit
304b3ffe43
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -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) )
|
||||
|
@ -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)
|
||||
|
@ -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 )
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user