updated info from "bonus" material for the PCB I bought to decap/dump the MB8841 CPU

This commit is contained in:
Brian Troha 2008-08-02 17:18:47 +00:00
parent 14f225e1d3
commit 12b53262fc

View File

@ -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) )