mirror of
https://github.com/holub/mame
synced 2025-06-06 12:53:46 +03:00
slapfght.cpp: MT07198 (nw)
This commit is contained in:
parent
2c637cbbf4
commit
dc9804f2ec
@ -10,7 +10,7 @@
|
|||||||
Alcon / Slap Fight
|
Alcon / Slap Fight
|
||||||
Guardian / Get Star
|
Guardian / Get Star
|
||||||
Performan
|
Performan
|
||||||
Tiger Heli
|
Tiger-Heli
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- proper MCU emulation (mame/machine/slapfght.cpp)
|
- proper MCU emulation (mame/machine/slapfght.cpp)
|
||||||
@ -36,7 +36,7 @@ $f000-$f7ff READ:SF_S16 WRITE:Character RAM
|
|||||||
$f800-$ffff READ:Unknown H/W WRITE:Attribute RAM
|
$f800-$ffff READ:Unknown H/W WRITE:Attribute RAM
|
||||||
|
|
||||||
$c800-$cfff Appears to be RAM BUT 1st 0x10 bytes are swapped with
|
$c800-$cfff Appears to be RAM BUT 1st 0x10 bytes are swapped with
|
||||||
the sound CPU and visversa for READ OPERATIONS
|
the sound CPU and vice versa for READ OPERATIONS
|
||||||
|
|
||||||
|
|
||||||
Write I/O MAP
|
Write I/O MAP
|
||||||
@ -63,7 +63,7 @@ $0f
|
|||||||
Read I/O Map
|
Read I/O Map
|
||||||
------------
|
------------
|
||||||
|
|
||||||
$00 Status regsiter - cycle 0xc7, 0x55, 0x00 (Thanks to Dave Spicer for the info)
|
$00 Status register - cycle 0xc7, 0x55, 0x00 (Thanks to Dave Spicer for the info)
|
||||||
|
|
||||||
|
|
||||||
Known Info
|
Known Info
|
||||||
@ -210,7 +210,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
|||||||
- US version, licensed to Kitkorp - name "Guardian".
|
- US version, licensed to Kitkorp - name "Guardian".
|
||||||
- MCU dumped and emulated.
|
- MCU dumped and emulated.
|
||||||
- Difficulty determines the number of energy bars you get.
|
- Difficulty determines the number of energy bars you get.
|
||||||
- Each hit removes 1 enegy bar.
|
- Each hit removes 1 energy bar.
|
||||||
- According to the manual, default difficulty shall be set to "Hard".
|
- According to the manual, default difficulty shall be set to "Hard".
|
||||||
- You can only get ONE extra life.
|
- You can only get ONE extra life.
|
||||||
- I don't know if it's an ingame bug, but you always have to enter
|
- I don't know if it's an ingame bug, but you always have to enter
|
||||||
@ -236,7 +236,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
|||||||
- Bootleg based on 'getstarj'
|
- Bootleg based on 'getstarj'
|
||||||
- MCU reads/writes are patched, but this hasn't been done in the "test mode".
|
- MCU reads/writes are patched, but this hasn't been done in the "test mode".
|
||||||
- The game seems to have its own protection (check code at 0x0569 and 0x0ac6).
|
- The game seems to have its own protection (check code at 0x0569 and 0x0ac6).
|
||||||
- Patches are coded diffrently than in 'getstarb1' and code isn't always perfect
|
- Patches are coded differently than in 'getstarb1' and code isn't always perfect
|
||||||
(lazy coding ?) which causes LOTS of ingames bugs or strange behaviours :
|
(lazy coding ?) which causes LOTS of ingames bugs or strange behaviours :
|
||||||
* patched command 0x20 : NO continue play
|
* patched command 0x20 : NO continue play
|
||||||
* patched command 0x21 : as soon as a player loses all his lives,
|
* patched command 0x21 : as soon as a player loses all his lives,
|
||||||
@ -250,7 +250,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
|||||||
(thus the need of a specific INPUT_PORTS definition for this game)
|
(thus the need of a specific INPUT_PORTS definition for this game)
|
||||||
* patched command 0x2a : player flag (which determines if player 1 or
|
* patched command 0x2a : player flag (which determines if player 1 or
|
||||||
player 2 is playing) is NOT updated, causing the following things :
|
player 2 is playing) is NOT updated, causing the following things :
|
||||||
. current player score will ALWAYS be dusplayed under player 1
|
. current player score will ALWAYS be displayed under player 1
|
||||||
. when cabinet is set to "Cocktail", player 2 uses player 1 inputs
|
. when cabinet is set to "Cocktail", player 2 uses player 1 inputs
|
||||||
* patched command 0x38 : laser position does NOT change according to
|
* patched command 0x38 : laser position does NOT change according to
|
||||||
player position (it ALWATS starts from the middle of the screen)
|
player position (it ALWATS starts from the middle of the screen)
|
||||||
@ -789,7 +789,7 @@ void slapfght_state::init_getstarb1()
|
|||||||
init_banks();
|
init_banks();
|
||||||
|
|
||||||
/* requires this or it gets stuck with 'rom test' on screen */
|
/* requires this or it gets stuck with 'rom test' on screen */
|
||||||
/* it is possible the program roms are slighly corrupt like the gfx roms, or
|
/* it is possible the program roms are slightly corrupt like the gfx roms, or
|
||||||
that the bootleg simply shouldn't execute the code due to the modified roms */
|
that the bootleg simply shouldn't execute the code due to the modified roms */
|
||||||
/* TODO: find & fix the cause of the following happening. */
|
/* TODO: find & fix the cause of the following happening. */
|
||||||
uint8_t *ROM = memregion("maincpu")->base();
|
uint8_t *ROM = memregion("maincpu")->base();
|
||||||
@ -1181,19 +1181,19 @@ ROM_END
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Tiger Heli
|
Tiger-Heli
|
||||||
1985 Taito Corporation
|
1985 Taito Corporation
|
||||||
|
|
||||||
The Tiger Heli PCB is almost exactly the same PCB as Slap Fight/Alcon but a few chips
|
The Tiger-Heli PCB is almost exactly the same PCB as Slap Fight/Alcon but a few chips
|
||||||
have different placings and there's more EPROM locations on one of the boards
|
have different placings and there's more EPROM locations on one of the boards
|
||||||
(although they're not populated).
|
(although they're not populated).
|
||||||
Also, Tiger Heli has a 22-way edge connector, while Alcon/Slap Fight is JAMMA.
|
Also, Tiger-Heli has a 22-way edge connector, while Alcon/Slap Fight is JAMMA.
|
||||||
|
|
||||||
|
|
||||||
PCB Layouts - Top Board
|
PCB Layouts - Top Board
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Tiger Heli - M6100111A
|
Tiger-Heli - M6100111A
|
||||||
850011401
|
850011401
|
||||||
|
|
||||||
GX-511-A MADE IN JAPAN
|
GX-511-A MADE IN JAPAN
|
||||||
@ -1636,7 +1636,7 @@ ROM_END
|
|||||||
|
|
||||||
This set comes from a different type of board with unique Taito ID code of "A76"
|
This set comes from a different type of board with unique Taito ID code of "A76"
|
||||||
PCBs are labeled GX-006-A & GX-006-B It has a 22pin edge connector and closely
|
PCBs are labeled GX-006-A & GX-006-B It has a 22pin edge connector and closely
|
||||||
resembles the Tigher Heli PCB (shown above) with rom placement and components.
|
resembles the Tiger-Heli PCB (shown above) with rom placement and components.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1813,7 +1813,7 @@ ROM_END
|
|||||||
Guardian
|
Guardian
|
||||||
1986 Taito Corporation
|
1986 Taito Corporation
|
||||||
|
|
||||||
The Guardian PCB is exactly the same PCB as Tiger Heli, including the
|
The Guardian PCB is exactly the same PCB as Tiger-Heli, including the
|
||||||
edge connector pinout.
|
edge connector pinout.
|
||||||
|
|
||||||
PCB Layout
|
PCB Layout
|
||||||
@ -2049,12 +2049,12 @@ ROM_END
|
|||||||
GAME( 1985, perfrman, 0, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, perfrman, 0, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East USA", "Performan (US)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East USA", "Performan (US)", MACHINE_SUPPORTS_SAVE )
|
||||||
|
|
||||||
GAME( 1985, tigerh, 0, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito America Corp.", "Tiger Heli (US)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, tigerh, 0, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito America Corp.", "Tiger-Heli (US)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, tigerhj, tigerh, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito", "Tiger Heli (Japan)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, tigerhj, tigerh, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito", "Tiger-Heli (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, tigerhb1, tigerh, tigerhb1, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, tigerhb1, tigerh, tigerhb1, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger-Heli (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, tigerhb2, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, tigerhb2, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger-Heli (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, tigerhb3, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 3)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1985, tigerhb3, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger-Heli (bootleg set 3)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1985, tigerhb4, tigerh, tigerhb4, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 4)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // MCU not hooked up
|
GAME( 1985, tigerhb4, tigerh, tigerhb4, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger-Heli (bootleg set 4)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // MCU not hooked up
|
||||||
|
|
||||||
GAME( 1986, alcon, 0, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
GAME( 1986, alcon, 0, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||||
GAME( 1986, slapfigh, alcon, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (A77 set, 8606M PCB)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
GAME( 1986, slapfigh, alcon, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (A77 set, 8606M PCB)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(TAITO68705_MCU, taito68705_mcu_device, "taito68705", "Taito MC68705 MCU Interface")
|
DEFINE_DEVICE_TYPE(TAITO68705_MCU, taito68705_mcu_device, "taito68705", "Taito MC68705 MCU Interface")
|
||||||
DEFINE_DEVICE_TYPE(TAITO68705_MCU_TIGER, taito68705_mcu_tiger_device, "taito68705tiger", "Taito MC68705 MCU Interface (Tiger Heli)")
|
DEFINE_DEVICE_TYPE(TAITO68705_MCU_TIGER, taito68705_mcu_tiger_device, "taito68705tiger", "Taito MC68705 MCU Interface (Tiger-Heli)")
|
||||||
DEFINE_DEVICE_TYPE(ARKANOID_68705P3, arkanoid_68705p3_device, "arkanoid68705p3", "Arkanoid MC68705P3 Interface")
|
DEFINE_DEVICE_TYPE(ARKANOID_68705P3, arkanoid_68705p3_device, "arkanoid68705p3", "Arkanoid MC68705P3 Interface")
|
||||||
DEFINE_DEVICE_TYPE(ARKANOID_68705P5, arkanoid_68705p5_device, "arkanoid68705p5", "Arkanoid MC68705P5 Interface")
|
DEFINE_DEVICE_TYPE(ARKANOID_68705P5, arkanoid_68705p5_device, "arkanoid68705p5", "Arkanoid MC68705P5 Interface")
|
||||||
|
|
||||||
@ -254,7 +254,7 @@ void taito68705_mcu_device::mcu_portb_w(offs_t offset, u8 data, u8 mem_mask)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* The Tiger Heli interface has some extensions, handle them here */
|
/* The Tiger-Heli interface has some extensions, handle them here */
|
||||||
|
|
||||||
taito68705_mcu_tiger_device::taito68705_mcu_tiger_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
taito68705_mcu_tiger_device::taito68705_mcu_tiger_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: taito68705_mcu_device(mconfig, TAITO68705_MCU_TIGER, tag, owner, clock)
|
: taito68705_mcu_device(mconfig, TAITO68705_MCU_TIGER, tag, owner, clock)
|
||||||
@ -263,7 +263,7 @@ taito68705_mcu_tiger_device::taito68705_mcu_tiger_device(const machine_config &m
|
|||||||
|
|
||||||
u8 taito68705_mcu_tiger_device::mcu_portc_r()
|
u8 taito68705_mcu_tiger_device::mcu_portc_r()
|
||||||
{
|
{
|
||||||
// Tiger Heli has these status bits inverted MCU-side
|
// Tiger-Heli has these status bits inverted MCU-side
|
||||||
return taito68705_mcu_device::mcu_portc_r() ^ 0x03;
|
return taito68705_mcu_device::mcu_portc_r() ^ 0x03;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user