mirror of
https://github.com/holub/mame
synced 2025-05-10 08:12:13 +03:00
updated info from "bonus" material for the PCB I bought to decap/dump the MB8841 CPU
This commit is contained in:
parent
14f225e1d3
commit
12b53262fc
@ -1,6 +1,17 @@
|
||||
/***************************************************************************
|
||||
|
||||
Sun Electronics Kangaroo hardware
|
||||
Sun Electronics hardware:
|
||||
|
||||
TVG-1-CPU-B
|
||||
2 x Z80
|
||||
AY-3-9810
|
||||
8-way DipSwitch
|
||||
Service Switch
|
||||
Program ROMS (both Main & Sound)
|
||||
MB8841 (at least for Kangaroo)
|
||||
TVG-1-VIDEO-B
|
||||
10MHz OSC
|
||||
Graphic ROMS
|
||||
|
||||
driver by Ville Laitinen
|
||||
|
||||
@ -69,6 +80,65 @@
|
||||
(CPU#0) standard IM 1 interrupt mode (rst #38 every vblank)
|
||||
(CPU#1) same here
|
||||
|
||||
|
||||
Kangaroo Memory Map
|
||||
HEX R/W D7 D6 D5 D4 D3 D2 D2 D0 function
|
||||
|
||||
------------ Game Microprocessor Memory Space (Z80 - IC15) --------------
|
||||
|
||||
0000-5FFF R D D D D D D D D Z80 24K Program ROM
|
||||
|
||||
E000-E3FF R/W D D D D D D D D 1K Working RAM
|
||||
|
||||
E400-E400 R D D D D D D D D Option Switch (DSW0 8 way dipswitch)
|
||||
|
||||
E800 W D D D D D D D D Low Byte\ Start Address of Data in Pictures ROM for DMA
|
||||
E801 W D D D D D D D D High Byte/
|
||||
E802 W D D D D D D D D Low Byte\ Start Address in Bit Map RAM (where picture is to be written) During DMA
|
||||
E803 W D D D D D D D D High Byte/
|
||||
E804 W D D D D D D D D Low Byte\ Picture Size for DMA and DMA Start
|
||||
E805 W D D D D D D D D High Byte/
|
||||
E806 W D D D D D D D D Vertical Start Address in Bit Map
|
||||
E807 W D D D D D D D D Horizontal Start Address in Bit Map
|
||||
E808 W D D Bank Select Latch
|
||||
E809 W D D D D D D A & B Bit Map Control Latch (A=playfield, B=motion)
|
||||
E80A W D D D D D D Color Shading Latch
|
||||
|
||||
EC00 W D D D D D D D D Sound DATA to Sound Microprocessor
|
||||
EC00 R D Utility Coin Switch
|
||||
EC00 R D 1 Player Start
|
||||
EC00 R D 2 Player Start
|
||||
EC00 R D Left Coin Input
|
||||
EC00 R D Right Coin Input
|
||||
|
||||
ED00 W D Coin Counter 1
|
||||
ED00 W D Coin Counter 2 (European games)
|
||||
ED00 R D Player 1 Right
|
||||
ED00 R D Player 1 Left
|
||||
ED00 R D Player 1 Up
|
||||
ED00 R D Player 1 Down
|
||||
ED00 R D Player 1 Punch
|
||||
|
||||
EE00 R D Player 2 Right
|
||||
EE00 R D Player 2 Left
|
||||
EE00 R D Player 2 Up
|
||||
EE00 R D Player 2 Down
|
||||
EE00 R D Player 2 Punch
|
||||
|
||||
EFxx-EFxx W D D D D Output to Custom MB8841 Microcomputer
|
||||
EFxx-EFxx R D D D D Input from Custom MB8841 Microcomputer
|
||||
|
||||
------------ Sound Microprocessor Memory Space (Z80 - IC34) --------------
|
||||
|
||||
0000-0FFF R D D D D D D D D Z80 4K Program ROM
|
||||
|
||||
4000-43FF R/W D D D D D D D D 1K Working RAM
|
||||
|
||||
6000 R D D D D D D D D Read DATA from Game Microprocessor
|
||||
|
||||
7000 W D D D D D D D D Write to Sound Chip (GI-AY-3-9810 - IC50)
|
||||
8000 W D D D D D D D D Read from Sound Chip
|
||||
|
||||
****************************************************************************
|
||||
|
||||
In test mode, to test sound press 1 and 2 player start simultaneously.
|
||||
@ -78,8 +148,8 @@
|
||||
resetting
|
||||
|
||||
TODO:
|
||||
- There is a custom microcontroller on the original Kangaroo board which is
|
||||
not emulated. This MIGHT cause some problems, but we don't know of any.
|
||||
- There is a custom MB8841 microcontroller on the original Kangaroo board which
|
||||
is not emulated. This MIGHT cause some problems, but we don't know of any.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -145,7 +215,7 @@ static MACHINE_RESET( kangaroo )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
/* I have no idea what the security chip is nor whether it really does,
|
||||
/* The security chip is a MB8841 with 2K internal rom. Currently it's unknown what it really does,
|
||||
this just seems to do the trick -V-
|
||||
*/
|
||||
|
||||
@ -436,28 +506,28 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( kangaroo )
|
||||
ROM_REGION( 0x14000, "main", 0 )
|
||||
ROM_LOAD( "tvg_75.0", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) )
|
||||
ROM_LOAD( "tvg_76.1", 0x1000, 0x1000, CRC(5978d37a) SHA1(684c1092de4a0927a03752903c86c3bbe99e868a) )
|
||||
ROM_LOAD( "tvg_77.2", 0x2000, 0x1000, CRC(522d1097) SHA1(09fe627a46d32df2e098d9fad7757f9d61bef41f) )
|
||||
ROM_LOAD( "tvg_78.3", 0x3000, 0x1000, CRC(063da970) SHA1(582ff21dd46c651f07a4846e0f8a7544a5891988) )
|
||||
ROM_LOAD( "tvg_79.4", 0x4000, 0x1000, CRC(9e5cf8ca) SHA1(015387f038c5670f88c9b22453d074bd9b2a129d) )
|
||||
ROM_LOAD( "tvg_80.5", 0x5000, 0x1000, CRC(2fc18049) SHA1(31fcac8eb660739a1672346136a1581a5ef20325) )
|
||||
ROM_REGION( 0x14000, "main", 0 ) /* On TVG-1-CPU-B board */
|
||||
ROM_LOAD( "tvg_75.0", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) /* IC7 */
|
||||
ROM_LOAD( "tvg_76.1", 0x1000, 0x1000, CRC(5978d37a) SHA1(684c1092de4a0927a03752903c86c3bbe99e868a) ) /* IC8 */
|
||||
ROM_LOAD( "tvg_77.2", 0x2000, 0x1000, CRC(522d1097) SHA1(09fe627a46d32df2e098d9fad7757f9d61bef41f) ) /* IC9 */
|
||||
ROM_LOAD( "tvg_78.3", 0x3000, 0x1000, CRC(063da970) SHA1(582ff21dd46c651f07a4846e0f8a7544a5891988) ) /* IC10 */
|
||||
ROM_LOAD( "tvg_79.4", 0x4000, 0x1000, CRC(9e5cf8ca) SHA1(015387f038c5670f88c9b22453d074bd9b2a129d) ) /* IC16 */
|
||||
ROM_LOAD( "tvg_80.5", 0x5000, 0x1000, CRC(2fc18049) SHA1(31fcac8eb660739a1672346136a1581a5ef20325) ) /* IC17 */
|
||||
|
||||
ROM_REGION( 0x10000, "audio", 0 )
|
||||
ROM_LOAD( "tvg_81.8", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) )
|
||||
ROM_REGION( 0x10000, "audio", 0 ) /* On TVG-1-CPU-B board */
|
||||
ROM_LOAD( "tvg_81.8", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) ) /* IC24 */
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) /* code for the 8841 custom MCU */
|
||||
ROM_LOAD( "8841.rom", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) /* internal ROM from the 8841 custom MCU */
|
||||
ROM_LOAD( "mb8841.ic29", 0x0000, 0x0800, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x0800, "user1", 0 ) /* data for the 8841 custom MCU */
|
||||
ROM_LOAD( "tvg_82.12", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) )
|
||||
ROM_LOAD( "tvg_82.12", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) ) /* IC28 */
|
||||
|
||||
ROM_REGION( 0x4000, "gfx1", 0 )
|
||||
ROM_LOAD( "tvg_83.v0", 0x0000, 0x1000, CRC(c0446ca6) SHA1(fca6ba565051337c0198c93b7b8477632e0dd0b6) )
|
||||
ROM_LOAD( "tvg_85.v2", 0x1000, 0x1000, CRC(72c52695) SHA1(87f4715fbb7d509bd9cc4e71e2afb0d475bbac13) )
|
||||
ROM_LOAD( "tvg_84.v1", 0x2000, 0x1000, CRC(e4cb26c2) SHA1(5016db9d48fdcfb757618659d063b90862eb0e90) )
|
||||
ROM_LOAD( "tvg_86.v3", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) )
|
||||
ROM_REGION( 0x4000, "gfx1", 0 ) /* On TVG-1-VIDEO-B board */
|
||||
ROM_LOAD( "tvg_83.v0", 0x0000, 0x1000, CRC(c0446ca6) SHA1(fca6ba565051337c0198c93b7b8477632e0dd0b6) ) /* IC76 */
|
||||
ROM_LOAD( "tvg_85.v2", 0x1000, 0x1000, CRC(72c52695) SHA1(87f4715fbb7d509bd9cc4e71e2afb0d475bbac13) ) /* IC77 */
|
||||
ROM_LOAD( "tvg_84.v1", 0x2000, 0x1000, CRC(e4cb26c2) SHA1(5016db9d48fdcfb757618659d063b90862eb0e90) ) /* IC52 */
|
||||
ROM_LOAD( "tvg_86.v3", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) /* IC53 */
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -473,8 +543,8 @@ ROM_START( kangaroa )
|
||||
ROM_REGION( 0x10000, "audio", 0 )
|
||||
ROM_LOAD( "136008-107.ic24", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) )
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) /* code for the 8841 custom MCU */
|
||||
ROM_LOAD( "8841.rom", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) /* internal ROM from the 8841 custom MCU */
|
||||
ROM_LOAD( "mb8841.ic29", 0x0000, 0x0800, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x0800, "user1", 0 ) /* data for the 8841 custom MCU */
|
||||
ROM_LOAD( "136008-112.ic28", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) )
|
||||
|
Loading…
Reference in New Issue
Block a user