mirror of
https://github.com/holub/mame
synced 2025-05-25 23:35:26 +03:00
Way more hackering around, allows it to moan about machine ID ...
This commit is contained in:
parent
4b4d8c3fbb
commit
02e91a75b0
@ -550,7 +550,7 @@ static ADDRESS_MAP_START( jchan_sub, AS_PROGRAM, 16, jchan_state )
|
||||
AM_RANGE(0x503000, 0x503fff) AM_RAM AM_SHARE("vscroll.0") //
|
||||
AM_RANGE(0x600000, 0x60001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_SHARE("layers_0_regs") // Layers 0 Regs
|
||||
|
||||
/* background prites */
|
||||
/* background sprites */
|
||||
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(jchan_suprnova_sprite32_2_w) AM_SHARE("spriteram_2")
|
||||
AM_RANGE(0x780000, 0x78003f) AM_RAM_WRITE(jchan_suprnova_sprite32regs_2_w) AM_SHARE("sprregs_2")
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
0x10a1d4
|
||||
|
||||
...
|
||||
0x55e42
|
||||
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -57,8 +60,8 @@ static SCREEN_UPDATE_IND16(kongambl)
|
||||
bitmap.fill(0, cliprect);
|
||||
screen.machine().priority_bitmap.fill(0, cliprect);
|
||||
|
||||
// k056832_tilemap_draw(k056832, bitmap, cliprect, 3, 0, 0);
|
||||
// k056832_tilemap_draw(k056832, bitmap, cliprect, 2, 0, 0);
|
||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 3, 0, 0);
|
||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 2, 0, 0);
|
||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 1, 0, 0);
|
||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 0, 0, 0);
|
||||
return 0;
|
||||
@ -66,14 +69,19 @@ static SCREEN_UPDATE_IND16(kongambl)
|
||||
|
||||
READ32_MEMBER(kongambl_state::eeprom_r)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
return ioport("SYSTEM")->read() << 0;
|
||||
//return machine().rand();
|
||||
|
||||
if (ACCESSING_BITS_16_23)
|
||||
return ioport("EXT_PCB")->read() << 16; // ???
|
||||
|
||||
if (ACCESSING_BITS_24_31)
|
||||
return ioport("TEST")->read() << 24; // bit 0 freezes the system if 1
|
||||
return ioport("IN0")->read() << 24; // bit 0 freezes the system if 1
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
return (ioport("SYSTEM")->read());
|
||||
|
||||
if (ACCESSING_BITS_8_15)
|
||||
return ioport("IN2")->read() << 8; // ???
|
||||
|
||||
printf("%08x\n",mem_mask);
|
||||
|
||||
@ -90,7 +98,7 @@ WRITE32_MEMBER(kongambl_state::eeprom_w)
|
||||
|
||||
static READ32_HANDLER( test_r )
|
||||
{
|
||||
return space->machine().rand();
|
||||
return -1;//space->machine().rand();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(kongambl_state::kongambl_ff_w)
|
||||
@ -106,6 +114,10 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM // main program
|
||||
AM_RANGE(0x100000, 0x11ffff) AM_RAM // work RAM
|
||||
|
||||
AM_RANGE(0x200000, 0x207fff) AM_RAM // backup RAM 24F
|
||||
|
||||
AM_RANGE(0x300000, 0x307fff) AM_RAM // backup RAM 24H
|
||||
|
||||
//0x400000 0x400001 "13M" even addresses
|
||||
//0x400002,0x400003 "13J" odd addresses
|
||||
AM_RANGE(0x400000, 0x401fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_long_r)
|
||||
@ -118,7 +130,14 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
|
||||
|
||||
AM_RANGE(0x480000, 0x48003f) AM_DEVWRITE_LEGACY("k056832", k056832_long_w)
|
||||
|
||||
// AM_RANGE(0x4c0004, 0x4c0007) AM_WRITENOP // bank num for "2G"
|
||||
AM_RANGE(0x4b001c, 0x4b001f) AM_WRITENOP
|
||||
|
||||
AM_RANGE(0x4c0000, 0x4c0003) AM_WRITENOP
|
||||
AM_RANGE(0x4c0004, 0x4c0007) AM_WRITENOP // bank num for "2G"
|
||||
AM_RANGE(0x4c4000, 0x4c4003) AM_WRITENOP
|
||||
AM_RANGE(0x4c4004, 0x4c4007) AM_WRITENOP
|
||||
AM_RANGE(0x4c801c, 0x4c801f) AM_WRITENOP
|
||||
AM_RANGE(0x4cc01c, 0x4cc01f) AM_WRITENOP
|
||||
|
||||
AM_RANGE(0x4cc000, 0x4cc003) AM_READ_LEGACY(test_r) // ???
|
||||
AM_RANGE(0x4cc004, 0x4cc007) AM_READ_LEGACY(test_r) // ???
|
||||
@ -127,16 +146,60 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
|
||||
|
||||
AM_RANGE(0x4d0000, 0x4d0003) AM_WRITE8(kongambl_ff_w,0xff000000)
|
||||
|
||||
AM_RANGE(0x500380, 0x500383) AM_READ_LEGACY(test_r)
|
||||
AM_RANGE(0x500400, 0x500403) AM_NOP //dual port?
|
||||
AM_RANGE(0x500420, 0x500423) AM_NOP //dual port?
|
||||
AM_RANGE(0x500500, 0x500503) AM_NOP // reads sound ROM in here, polled from m68k?
|
||||
AM_RANGE(0x580000, 0x580007) AM_READ_LEGACY(test_r)
|
||||
|
||||
AM_RANGE(0x700000, 0x700003) AM_READ(eeprom_r)
|
||||
AM_RANGE(0x700004, 0x700007) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x700008, 0x70000b) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0x780000, 0x780003) AM_WRITE(eeprom_w)
|
||||
AM_RANGE(0x780004, 0x780007) AM_WRITENOP
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( kongamaud_map, AS_PROGRAM, 16, kongambl_state )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_ROM // main program (mirrored?)
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM // work RAM
|
||||
AM_RANGE(0x180000, 0x180001) AM_WRITENOP
|
||||
AM_RANGE(0x190000, 0x190001) AM_WRITENOP
|
||||
AM_RANGE(0x1a0000, 0x1a0001) AM_WRITENOP
|
||||
AM_RANGE(0x1b0000, 0x1b0001) AM_READNOP
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_READNOP
|
||||
AM_RANGE(0x200000, 0x2000ff) AM_RAM // unknown (YMZ280b? Shared with 68020?)
|
||||
AM_RANGE(0x280000, 0x2800ff) AM_RAM
|
||||
AM_RANGE(0x300000, 0x3007ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( kongambl )
|
||||
PORT_START( "SYSTEM" )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSTEM" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "TEST" )
|
||||
PORT_START( "IN0" )
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSA" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
@ -146,7 +209,7 @@ static INPUT_PORTS_START( kongambl )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) // "RESET SIGNAL"
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
@ -188,23 +251,234 @@ static INPUT_PORTS_START( kongambl )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "IN1" )
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSC" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0000, "SYSD" )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Service_Mode ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x010000, 0x000000, "SYSE" )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x010000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x020000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x020000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x040000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x040000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x080000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x080000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x100000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x100000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x200000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x200000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x400000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x400000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x800000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x800000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x01000000, 0x00000000, "SYSF" )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80000000, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "IN2" )
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSG" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "IN3" )
|
||||
PORT_DIPNAME( 0x01, 0x01, "SYSC" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0000, "SYSD" )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x010000, 0x000000, "SYSE" )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x010000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x020000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x020000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x040000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x040000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x080000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x080000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x100000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x100000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x200000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x200000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x400000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x400000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x800000, 0x000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x800000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x01000000, 0x00000000, "SYSF" )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40000000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80000000, 0x00000000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80000000, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static ADDRESS_MAP_START( kongamaud_map, AS_PROGRAM, 16, kongambl_state )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_ROM // main program (mirrored?)
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM // work RAM
|
||||
AM_RANGE(0x180000, 0x180001) AM_WRITENOP
|
||||
AM_RANGE(0x190000, 0x190001) AM_WRITENOP
|
||||
AM_RANGE(0x1a0000, 0x1a0001) AM_WRITENOP
|
||||
AM_RANGE(0x1b0000, 0x1b0001) AM_READNOP
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_READNOP
|
||||
AM_RANGE(0x200000, 0x2000ff) AM_RAM // unknown (YMZ280b? Shared with 68020?)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static void kongambl_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
|
||||
{
|
||||
}
|
||||
@ -232,20 +506,33 @@ static const k053247_interface k053247_intf =
|
||||
kongambl_sprite_callback
|
||||
};
|
||||
|
||||
static TIMER_DEVICE_CALLBACK( kongambl_vblank )
|
||||
{
|
||||
kongambl_state *state = timer.machine().driver_data<kongambl_state>();
|
||||
int scanline = param;
|
||||
|
||||
if(scanline == 256)
|
||||
device_set_input_line(state->m_maincpu, 1, HOLD_LINE); // vblank?
|
||||
|
||||
if(scanline == 0)
|
||||
device_set_input_line(state->m_maincpu, 3, HOLD_LINE); // sprite irq?
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( kongambl, kongambl_state )
|
||||
MCFG_CPU_ADD("maincpu", M68EC020, 25000000)
|
||||
MCFG_CPU_PROGRAM_MAP(kongambl_map)
|
||||
MCFG_CPU_VBLANK_INT("screen",irq1_line_hold)
|
||||
MCFG_TIMER_ADD_SCANLINE("scantimer", kongambl_vblank, "screen", 0, 1)
|
||||
|
||||
MCFG_CPU_ADD("sndcpu", M68000, 16000000)
|
||||
MCFG_CPU_PROGRAM_MAP(kongamaud_map)
|
||||
MCFG_CPU_PERIODIC_INT(irq2_line_hold, 480)
|
||||
|
||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||
MCFG_SCREEN_SIZE(64*8, 32*8+16)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
|
||||
MCFG_SCREEN_UPDATE_STATIC(kongambl)
|
||||
|
||||
@ -395,6 +682,7 @@ static DRIVER_INIT( kingtut )
|
||||
rom[0x3986c/4] = (rom[0x3986c/4] & 0xffff0000) | 0x600e; // patch ROM check
|
||||
rom[0x2bfc8/4] = (rom[0x2bfc8/4] & 0xffff0000) | 0x6612; // patch VRAM ROM checks
|
||||
rom[0x2acd0/4] = (rom[0x2acd0/4] & 0xffff) | 0x6612<<16; // patch OBJ ROM checks
|
||||
rom[0x55e40/4] = (rom[0x55e40/4] & 0xffff0000) | 0x4e71; // goes away from the POST
|
||||
}
|
||||
|
||||
GAME( 199?, kingtut, 0, kongambl, kongambl, kingtut, ROT0, "Konami", "King Tut (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
|
Loading…
Reference in New Issue
Block a user