mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
it can probably be considered working now, same credits as before (nw)
This commit is contained in:
parent
1ac35ff51c
commit
fe7e1a0441
@ -218,7 +218,7 @@ static ADDRESS_MAP_START( amiga_map, AS_PROGRAM, 16, arcadia_amiga_state )
|
|||||||
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")
|
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")
|
||||||
AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE(amiga_autoconfig_r, amiga_autoconfig_w)
|
AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE(amiga_autoconfig_r, amiga_autoconfig_w)
|
||||||
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("user1", 0) /* Kickstart BIOS */
|
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("user1", 0) /* Kickstart BIOS */
|
||||||
|
|
||||||
AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
|
AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
|
||||||
AM_RANGE(0x980000, 0x9fbfff) AM_ROM AM_REGION("user2", 0)
|
AM_RANGE(0x980000, 0x9fbfff) AM_ROM AM_REGION("user2", 0)
|
||||||
AM_RANGE(0x9fc000, 0x9ffffd) AM_RAM AM_SHARE("nvram")
|
AM_RANGE(0x9fc000, 0x9ffffd) AM_RAM AM_SHARE("nvram")
|
||||||
@ -226,7 +226,19 @@ static ADDRESS_MAP_START( amiga_map, AS_PROGRAM, 16, arcadia_amiga_state )
|
|||||||
AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user2", 0)
|
AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user2", 0)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
static ADDRESS_MAP_START( argh_map, AS_PROGRAM, 16, arcadia_amiga_state )
|
||||||
|
ADDRESS_MAP_UNMAP_HIGH
|
||||||
|
AM_RANGE(0x000000, 0x07ffff) AM_RAMBANK("bank1") AM_SHARE("chip_ram")
|
||||||
|
AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE(amiga_cia_r, amiga_cia_w)
|
||||||
|
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")
|
||||||
|
AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE(amiga_autoconfig_r, amiga_autoconfig_w)
|
||||||
|
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("user1", 0) /* Kickstart BIOS */
|
||||||
|
|
||||||
|
AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
|
||||||
|
// AM_RANGE(0x980000, 0x9fefff) AM_ROM AM_REGION("user3", 0)
|
||||||
|
AM_RANGE(0x9ff000, 0x9fffff) AM_RAM AM_SHARE("nvram")
|
||||||
|
AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user3", 0)
|
||||||
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
@ -356,6 +368,12 @@ static MACHINE_CONFIG_START( arcadia, arcadia_amiga_state )
|
|||||||
MCFG_AMIGA_FDC_ADD("fdc", AMIGA_68000_NTSC_CLOCK)
|
MCFG_AMIGA_FDC_ADD("fdc", AMIGA_68000_NTSC_CLOCK)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
static MACHINE_CONFIG_DERIVED( argh, arcadia )
|
||||||
|
|
||||||
|
/* basic machine hardware */
|
||||||
|
MCFG_CPU_MODIFY("maincpu")
|
||||||
|
MCFG_CPU_PROGRAM_MAP(argh_map)
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
@ -864,14 +882,11 @@ ROM_START( ar_dlta )
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( ar_argh )
|
ROM_START( ar_argh ) // this plugs directly into the a500 motherboard, no arcadia bios, just the a500 kickstart and game ROMs
|
||||||
ROM_REGION16_BE(0x80000, "user1", 0 )
|
ROM_REGION16_BE(0x80000, "user1", 0 )
|
||||||
ROM_LOAD16_WORD( "kick12.rom", 0x000000, 0x040000, CRC(a6ce1636) SHA1(11f9e62cf299f72184835b7b2a70a16333fc0d88) )
|
ROM_LOAD16_WORD( "kick12.rom", 0x000000, 0x040000, CRC(a6ce1636) SHA1(11f9e62cf299f72184835b7b2a70a16333fc0d88) )
|
||||||
ROM_COPY( "user1", 0x000000, 0x040000, 0x040000 )
|
ROM_COPY( "user1", 0x000000, 0x040000, 0x040000 )
|
||||||
|
|
||||||
// this plugs directly into the a500 motherboard, no arcadia bios, just the a500 kickstart and game ROMs
|
|
||||||
ROM_REGION16_BE( 0x80000, "user2", ROMREGION_ERASEFF )
|
|
||||||
|
|
||||||
ROM_REGION16_BE( 0x180000, "user3", ROMREGION_ERASEFF )
|
ROM_REGION16_BE( 0x180000, "user3", ROMREGION_ERASEFF )
|
||||||
ROM_LOAD16_BYTE( "argh-1-hi-11-28-87.u12", 0x000000, 0x10000, CRC(3b1f8075) SHA1(61aeff9f6a2dff6efe4276cb0bcbb80b495e26b6) )
|
ROM_LOAD16_BYTE( "argh-1-hi-11-28-87.u12", 0x000000, 0x10000, CRC(3b1f8075) SHA1(61aeff9f6a2dff6efe4276cb0bcbb80b495e26b6) )
|
||||||
ROM_LOAD16_BYTE( "argh-1-lo-11-28-87.u16", 0x000001, 0x10000, CRC(78b77071) SHA1(5848e30cfd08f9241f8ff9267fdcf2c87c72cdb0) )
|
ROM_LOAD16_BYTE( "argh-1-lo-11-28-87.u16", 0x000001, 0x10000, CRC(78b77071) SHA1(5848e30cfd08f9241f8ff9267fdcf2c87c72cdb0) )
|
||||||
@ -964,8 +979,10 @@ void arcadia_amiga_state::arcadia_init()
|
|||||||
|
|
||||||
/* OnePlay bios is encrypted, TenPlay is not */
|
/* OnePlay bios is encrypted, TenPlay is not */
|
||||||
biosrom = (UINT16 *)memregion("user2")->base();
|
biosrom = (UINT16 *)memregion("user2")->base();
|
||||||
if (biosrom[0] != 0x4afc)
|
|
||||||
generic_decode("user2", 6, 1, 0, 2, 3, 4, 5, 7);
|
if (biosrom)
|
||||||
|
if (biosrom[0] != 0x4afc)
|
||||||
|
generic_decode("user2", 6, 1, 0, 2, 3, 4, 5, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -990,7 +1007,7 @@ DRIVER_INIT_MEMBER(arcadia_amiga_state,sprg) { arcadia_init(); generic_decode("u
|
|||||||
DRIVER_INIT_MEMBER(arcadia_amiga_state,xeon) { arcadia_init(); generic_decode("user3", 3, 1, 2, 4, 0, 5, 6, 7); }
|
DRIVER_INIT_MEMBER(arcadia_amiga_state,xeon) { arcadia_init(); generic_decode("user3", 3, 1, 2, 4, 0, 5, 6, 7); }
|
||||||
DRIVER_INIT_MEMBER(arcadia_amiga_state,pm) { arcadia_init(); generic_decode("user3", 7, 6, 5, 4, 3, 2, 1, 0); } // no scramble
|
DRIVER_INIT_MEMBER(arcadia_amiga_state,pm) { arcadia_init(); generic_decode("user3", 7, 6, 5, 4, 3, 2, 1, 0); } // no scramble
|
||||||
DRIVER_INIT_MEMBER(arcadia_amiga_state,dlta) { arcadia_init(); generic_decode("user3", 4, 1, 7, 6, 2, 0, 3, 5); }
|
DRIVER_INIT_MEMBER(arcadia_amiga_state,dlta) { arcadia_init(); generic_decode("user3", 4, 1, 7, 6, 2, 0, 3, 5); }
|
||||||
DRIVER_INIT_MEMBER(arcadia_amiga_state,argh) { arcadia_init(); generic_decode("user3", 5, 0, 2, 4, 7, 6, 1, 3); memcpy(memregion("user2")->base(), memregion("user3")->base(), 0x80000); }
|
DRIVER_INIT_MEMBER(arcadia_amiga_state,argh) { arcadia_init(); generic_decode("user3", 5, 0, 2, 4, 7, 6, 1, 3); }
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
@ -1039,4 +1056,4 @@ GAME( 1988, ar_pm, ar_bios, arcadia, arcadia, arcadia_amiga_state, pm, ROT
|
|||||||
|
|
||||||
GAME( 1988, ar_dlta, ar_bios, arcadia, arcadia, arcadia_amiga_state, dlta, ROT0, "Arcadia Systems", "Delta Command (Arcadia)", 0 )
|
GAME( 1988, ar_dlta, ar_bios, arcadia, arcadia, arcadia_amiga_state, dlta, ROT0, "Arcadia Systems", "Delta Command (Arcadia)", 0 )
|
||||||
|
|
||||||
GAME( 1988, ar_argh, ar_bios, arcadia, arcadia, arcadia_amiga_state, argh, ROT0, "Arcadia Systems", "Aaargh (Arcadia)", 0 )
|
GAME( 1988, ar_argh, ar_bios, argh, arcadia, arcadia_amiga_state, argh, ROT0, "Arcadia Systems", "Aaargh (Arcadia)", 0 )
|
||||||
|
Loading…
Reference in New Issue
Block a user