mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
chessking: assume 0x7f is cartridge rom bank
This commit is contained in:
parent
2511ea04d2
commit
a165ca3b88
@ -18,13 +18,14 @@ Main:
|
||||
- NEC D70108HG-10 V20, 9.600MHz XTAL
|
||||
- 64KB ROM (2*SRM20256), 256KB ROM (custom label)
|
||||
- unknown 80 pin QFP, label CCH01 ET-MATE F3X0 713, assume custom I/O chip
|
||||
- 1-bit sound
|
||||
- cartridge slot
|
||||
|
||||
LCD module:
|
||||
- PCB label: P102-2, DATA VISION
|
||||
- 2*Hitachi HD66204F, Hitachi HD66205F
|
||||
- unknown 80 pin QFP, label 16160 S2RB 94.10
|
||||
- 160*160 LCD screen
|
||||
- 2bpp 160*160 LCD screen
|
||||
|
||||
*/
|
||||
|
||||
@ -73,7 +74,7 @@ private:
|
||||
void irq_clear_w(uint8_t data);
|
||||
void unk_5f_w(uint8_t data);
|
||||
void unk_6f_w(uint8_t data);
|
||||
void unk_7f_w(uint8_t data);
|
||||
void cart_bank_w(uint8_t data);
|
||||
void beeper_freq_low_w(uint8_t data);
|
||||
void beeper_freq_high_w(uint8_t data);
|
||||
void beeper_enable_w(uint8_t data);
|
||||
@ -135,11 +136,13 @@ uint32_t chessking_state::screen_update(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
void chessking_state::unk_1f_w(uint8_t data)
|
||||
{
|
||||
// writes at start-up only
|
||||
logerror("%s: 1f write %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
void chessking_state::unk_2f_w(uint8_t data)
|
||||
{
|
||||
// writes at start-up only
|
||||
logerror("%s: 2f write %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
@ -152,6 +155,7 @@ uint8_t chessking_state::unk_3f_r()
|
||||
|
||||
void chessking_state::unk_3f_w(uint8_t data)
|
||||
{
|
||||
// writes frequently, at the same times as 7f/8f/9f/af writes, note address is also read
|
||||
//logerror("%s: 3f write %02x\n", machine().describe_context(), data);
|
||||
m_3f_data = data;
|
||||
}
|
||||
@ -164,6 +168,7 @@ void chessking_state::irq_clear_w(uint8_t data)
|
||||
|
||||
void chessking_state::unk_5f_w(uint8_t data)
|
||||
{
|
||||
// writes at start-up only
|
||||
logerror("%s: 5f write %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
@ -172,10 +177,10 @@ void chessking_state::unk_6f_w(uint8_t data)
|
||||
logerror("%s: 6f write %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
void chessking_state::unk_7f_w(uint8_t data)
|
||||
void chessking_state::cart_bank_w(uint8_t data)
|
||||
{
|
||||
// writes values from 0x07 to 0x00 before menu appears, also writes 0x00 / 0x01 when audio is playing
|
||||
logerror("%s: 7f write %02x\n", machine().describe_context(), data);
|
||||
// writes values from 0x07 to 0x00 before checking cartridge
|
||||
//logerror("%s: 7f write %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
|
||||
@ -225,20 +230,16 @@ void chessking_state::chesskng_map(address_map &map)
|
||||
void chessking_state::chesskng_io(address_map &map)
|
||||
{
|
||||
map(0x0f, 0x0f).portr("BUTTONS");
|
||||
map(0x3f, 0x3f).r(FUNC(chessking_state::unk_3f_r));
|
||||
|
||||
map(0x1f, 0x1f).w(FUNC(chessking_state::unk_1f_w)); // start-up only
|
||||
map(0x2f, 0x2f).w(FUNC(chessking_state::unk_2f_w)); // start-up only
|
||||
map(0x3f, 0x3f).w(FUNC(chessking_state::unk_3f_w)); // frequently, at the same times as 7f/8f/9f/af writes, note address is also read
|
||||
map(0x4f, 0x4f).w(FUNC(chessking_state::irq_clear_w)); // irq clear?
|
||||
map(0x5f, 0x5f).w(FUNC(chessking_state::unk_5f_w)); // start-up only
|
||||
map(0x6f, 0x6f).w(FUNC(chessking_state::unk_6f_w)); // less frequently than below
|
||||
|
||||
// are these all sound related? they all occur when sounds might be expected
|
||||
map(0x7f, 0x7f).w(FUNC(chessking_state::unk_7f_w)); // frequently written at a similar time to the audio
|
||||
map(0x8f, 0x8f).w(FUNC(chessking_state::beeper_freq_low_w)); // beeper freq low?
|
||||
map(0x9f, 0x9f).w(FUNC(chessking_state::beeper_freq_high_w)); // beeper freq high?
|
||||
map(0xaf, 0xaf).w(FUNC(chessking_state::beeper_enable_w)); // beeper enable?
|
||||
map(0x1f, 0x1f).w(FUNC(chessking_state::unk_1f_w));
|
||||
map(0x2f, 0x2f).w(FUNC(chessking_state::unk_2f_w));
|
||||
map(0x3f, 0x3f).rw(FUNC(chessking_state::unk_3f_r), FUNC(chessking_state::unk_3f_w));
|
||||
map(0x4f, 0x4f).w(FUNC(chessking_state::irq_clear_w));
|
||||
map(0x5f, 0x5f).w(FUNC(chessking_state::unk_5f_w));
|
||||
map(0x6f, 0x6f).w(FUNC(chessking_state::unk_6f_w));
|
||||
map(0x7f, 0x7f).w(FUNC(chessking_state::cart_bank_w));
|
||||
map(0x8f, 0x8f).w(FUNC(chessking_state::beeper_freq_low_w));
|
||||
map(0x9f, 0x9f).w(FUNC(chessking_state::beeper_freq_high_w));
|
||||
map(0xaf, 0xaf).w(FUNC(chessking_state::beeper_enable_w));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user