summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/sunplus_gcm394.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/sunplus_gcm394.cpp')
-rw-r--r--src/mame/drivers/sunplus_gcm394.cpp78
1 files changed, 39 insertions, 39 deletions
diff --git a/src/mame/drivers/sunplus_gcm394.cpp b/src/mame/drivers/sunplus_gcm394.cpp
index dc8fd552520..e66df242f9d 100644
--- a/src/mame/drivers/sunplus_gcm394.cpp
+++ b/src/mame/drivers/sunplus_gcm394.cpp
@@ -5,7 +5,7 @@
Compared to vii.cpp this is clearly newer, has extra opcodes, different internal map etc. also scaling and higher resolutions based on Spongebob
- note, these SoC types always have a 128Kwords internal ROM, which the JAKKS games appear to use for basic bootstrap purposes.
+ note, these SoC types always have a 128Kwords internal ROM, which the JAKKS games appear to use for basic bootstrap purposes.
GPAC800 / GCM394 (SpongeBob Bikini Bottom 500 Test Mode also calls this GPAC800, even if the mappings appear different to the NAND version below - different CS base, maybe just depends on boot mode?)
Smart Fit Park
@@ -31,14 +31,14 @@
these are all unsp 2.0 type, as they use the extended ocpodes
- NAND types:
+ NAND types:
- Toy Story Mania H27U518S2C dumped as HY27US08121A (512+16) x 32 x 4096
- Beam Box GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
- Golden Tee GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
- Cars 2 GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
+ Toy Story Mania H27U518S2C dumped as HY27US08121A (512+16) x 32 x 4096
+ Beam Box GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
+ Golden Tee GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
+ Cars 2 GPR27P512A dumped as HY27US08121A (512+16) x 32 x 4096
- V.Baby HY27UF081G2A (2048+64) x 64 x 1024
+ V.Baby HY27UF081G2A (2048+64) x 64 x 1024
*/
@@ -211,17 +211,17 @@ WRITE16_MEMBER(gcm394_game_state::cs4_w) { logerror("cs4_w %06x %04x\n", offset,
/*
- map info (NAND type)
+ map info (NAND type)
- map(0x000000, 0x006fff) internal RAM
- map(0x007000, 0x007fff) internal peripherals
- map(0x008000, 0x00ffff) internal ROM (lower 32kwords) - can also be configured to mirror CS0 308000 area with external pin for boot from external ROM
- map(0x010000, 0x027fff) internal ROM (upper 96kwords) - can't be switched
- map(0x028000, 0x02ffff) reserved
+ map(0x000000, 0x006fff) internal RAM
+ map(0x007000, 0x007fff) internal peripherals
+ map(0x008000, 0x00ffff) internal ROM (lower 32kwords) - can also be configured to mirror CS0 308000 area with external pin for boot from external ROM
+ map(0x010000, 0x027fff) internal ROM (upper 96kwords) - can't be switched
+ map(0x028000, 0x02ffff) reserved
- map(0x030000, 0x0.....) view into external spaces (CS0 area starts here. followed by CS1 area, CS2 area etc.)
-
- map(0x200000, 0x3fffff) continued view into external spaces, but this area is banked with m_membankswitch_7810 (valid bank values 0x00-0x3f)
+ map(0x030000, 0x0.....) view into external spaces (CS0 area starts here. followed by CS1 area, CS2 area etc.)
+
+ map(0x200000, 0x3fffff) continued view into external spaces, but this area is banked with m_membankswitch_7810 (valid bank values 0x00-0x3f)
*/
@@ -349,12 +349,12 @@ protected:
/*
virtual DECLARE_READ16_MEMBER(porta_r) override
{
- return machine().rand();
+ return machine().rand();
}
virtual DECLARE_READ16_MEMBER(portb_r) override
{
- return machine().rand();
+ return machine().rand();
}
virtual DECLARE_WRITE16_MEMBER(porta_w) override
@@ -467,7 +467,7 @@ READ16_MEMBER(jak_s500_game_state::porta_r)
//address_space& mem = m_maincpu->space(AS_PROGRAM);
//if (mem.read_word(0x22b408) == 0x4846)
- // mem.write_word(0x22b408, 0x4840); // jak_s500 force service mode
+ // mem.write_word(0x22b408, 0x4840); // jak_s500 force service mode
return data;
}
@@ -634,14 +634,14 @@ WRITE16_MEMBER(wrlshunt_game_state::porta_w)
// HACK
address_space& mem = m_maincpu->space(AS_PROGRAM);
- if (mem.read_word(0x5b354) == 0xafd0) // wrlshubt - skip check (EEPROM?)
+ if (mem.read_word(0x5b354) == 0xafd0) // wrlshubt - skip check (EEPROM?)
mem.write_word(0x5b354, 0xB403);
}
void generalplus_gpac800_game_state::generalplus_gpac800(machine_config &config)
{
- GPAC800(config, m_maincpu, 96000000/2, m_screen);
+ GPAC800(config, m_maincpu, 96000000/2, m_screen);
m_maincpu->porta_in().set(FUNC(generalplus_gpac800_game_state::porta_r));
m_maincpu->portb_in().set(FUNC(generalplus_gpac800_game_state::portb_r));
m_maincpu->portc_in().set(FUNC(generalplus_gpac800_game_state::portc_r));
@@ -716,32 +716,32 @@ void gcm394_game_state::cs_callback(uint16_t cs0, uint16_t cs1, uint16_t cs2, ui
int end_address;
int size; // cs region sizes in kwords
-
- size = (((cs0 & 0xff00) >> 8) + 1) * 0x10000;
+
+ size = (((cs0 & 0xff00) >> 8) + 1) * 0x10000;
end_address = start_address + (size - 1);
logerror("installing cs0 handler start_address %08x end_address %08x\n", start_address, end_address);
m_memory->get_program()->install_readwrite_handler( start_address, end_address, read16_delegate(*this, FUNC(gcm394_game_state::cs0_r)), write16_delegate(*this, FUNC(gcm394_game_state::cs0_w)));
start_address += size;
- size = (((cs1 & 0xff00) >> 8) + 1) * 0x10000;
+ size = (((cs1 & 0xff00) >> 8) + 1) * 0x10000;
end_address = start_address + (size - 1);
logerror("installing cs1 handler start_address %08x end_address %08x\n", start_address, end_address);
m_memory->get_program()->install_readwrite_handler( start_address, end_address, read16_delegate(*this, FUNC(gcm394_game_state::cs1_r)), write16_delegate(*this, FUNC(gcm394_game_state::cs1_w)));
start_address += size;
- size = (((cs2 & 0xff00) >> 8) + 1) * 0x10000;
+ size = (((cs2 & 0xff00) >> 8) + 1) * 0x10000;
end_address = start_address + (size - 1);
logerror("installing cs2 handler start_address %08x end_address %08x\n", start_address, end_address);
m_memory->get_program()->install_readwrite_handler( start_address, end_address, read16_delegate(*this, FUNC(gcm394_game_state::cs2_r)), write16_delegate(*this, FUNC(gcm394_game_state::cs2_w)));
start_address += size;
- size = (((cs3 & 0xff00) >> 8) + 1) * 0x10000;
+ size = (((cs3 & 0xff00) >> 8) + 1) * 0x10000;
end_address = start_address + (size - 1);
logerror("installing cs3 handler start_address %08x end_address %08x\n", start_address, end_address);
m_memory->get_program()->install_readwrite_handler( start_address, end_address, read16_delegate(*this, FUNC(gcm394_game_state::cs3_r)), write16_delegate(*this, FUNC(gcm394_game_state::cs3_w)));
start_address += size;
- size = (((cs4 & 0xff00) >> 8) + 1) * 0x10000;
+ size = (((cs4 & 0xff00) >> 8) + 1) * 0x10000;
end_address = start_address + (size - 1);
logerror("installing cs4 handler start_address %08x end_address %08x\n", start_address, end_address);
m_memory->get_program()->install_readwrite_handler( start_address, end_address, read16_delegate(*this, FUNC(gcm394_game_state::cs4_r)), write16_delegate(*this, FUNC(gcm394_game_state::cs4_w)));
@@ -751,7 +751,7 @@ void gcm394_game_state::cs_callback(uint16_t cs0, uint16_t cs1, uint16_t cs2, ui
void generalplus_gpspispi_game_state::generalplus_gpspispi(machine_config &config)
{
- GP_SPISPI(config, m_maincpu, 96000000/2, m_screen);
+ GP_SPISPI(config, m_maincpu, 96000000/2, m_screen);
m_maincpu->porta_in().set(FUNC(generalplus_gpspispi_game_state::porta_r));
m_maincpu->portb_in().set(FUNC(generalplus_gpspispi_game_state::portb_r));
m_maincpu->portc_in().set(FUNC(generalplus_gpspispi_game_state::portc_r));
@@ -789,7 +789,7 @@ DEVICE_IMAGE_LOAD_MEMBER(generalplus_gpspispi_bkrankp_game_state::cart_load)
void generalplus_gpspispi_bkrankp_game_state::generalplus_gpspispi_bkrankp(machine_config &config)
{
- generalplus_gpspispi_game_state::generalplus_gpspispi(config);
+ generalplus_gpspispi_game_state::generalplus_gpspispi(config);
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "bkrankp_cart");
m_cart->set_width(GENERIC_ROM16_WIDTH);
@@ -1349,7 +1349,7 @@ ROM_START(wrlshunt)
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
ROM_REGION(0x8000000, "maincpu", ROMREGION_ERASE00)
- ROM_LOAD16_WORD_SWAP("wireless.bin", 0x0000, 0x8000000, CRC(a6ecc20e) SHA1(3645f23ba2bb218e92d4560a8ae29dddbaabf796))
+ ROM_LOAD16_WORD_SWAP("wireless.bin", 0x0000, 0x8000000, CRC(a6ecc20e) SHA1(3645f23ba2bb218e92d4560a8ae29dddbaabf796))
ROM_END
/*
@@ -1696,17 +1696,17 @@ void generalplus_gpspispi_game_state::init_spi()
/* Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
- 00000000 50 47 70 73 73 69 69 70 70 73 44 00 44 3F 44 00 PGpssiipps
- 00000010 -- -- -- -- -- bb -- -- -- -- -- -- -- -- -- --
- ^^ copy dest, just like with nand type
+ 00000000 50 47 70 73 73 69 69 70 70 73 44 00 44 3F 44 00 PGpssiipps
+ 00000010 -- -- -- -- -- bb -- -- -- -- -- -- -- -- -- --
+ ^^ copy dest, just like with nand type
- bb = where to copy first block
+ bb = where to copy first block
- The header is GPspispi (byteswapped) then some params
- one of the params appears to be for the initial code copy operation done
- by the bootstrap
+ The header is GPspispi (byteswapped) then some params
+ one of the params appears to be for the initial code copy operation done
+ by the bootstrap
*/
-
+
// probably more bytes are used
int dest = spirom[0x15] << 8;
@@ -1736,4 +1736,4 @@ void generalplus_gpspispi_game_state::init_spi()
}
-CONS(200?, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state , init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+CONS(200?, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state , init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)