mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
icatel: Fix address map (nw)
Note that this causes the LCD to display nothing, but the previous behavior definitely wasn't correct.
This commit is contained in:
parent
18f663e49b
commit
e809998076
@ -56,16 +56,12 @@ private:
|
||||
uint8_t cn8_extension_r();
|
||||
void cn8_extension_w(uint8_t data);
|
||||
|
||||
uint8_t modem_r();
|
||||
void modem_w(uint8_t data);
|
||||
uint8_t modem_r(offs_t offset);
|
||||
void modem_w(offs_t offset, uint8_t data);
|
||||
|
||||
uint8_t ci8_r();
|
||||
void ci8_w(uint8_t data);
|
||||
|
||||
void ci12_w(uint8_t data);
|
||||
uint8_t ci15_r();
|
||||
void ci15_w(uint8_t data);
|
||||
|
||||
uint8_t ci16_r();
|
||||
void ci16_w(uint8_t data);
|
||||
|
||||
void icatel_palette(palette_device &palette) const;
|
||||
@ -88,13 +84,14 @@ void icatel_state::i80c31_prg(address_map &map)
|
||||
void icatel_state::i80c31_io(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3FFF).ram();
|
||||
map(0x8000, 0x8002).ram(); /* HACK! */
|
||||
map(0x8040, 0x8041).mirror(0x3F1E).w(m_lcdc, FUNC(hd44780_device::write)); // not sure yet. CI12 (73LS273)
|
||||
map(0x8060, 0x8060).mirror(0x3F1F).rw(FUNC(icatel_state::ci8_r), FUNC(icatel_state::ci8_w));
|
||||
map(0x8080, 0x8080).mirror(0x3F1F).rw(FUNC(icatel_state::ci16_r), FUNC(icatel_state::ci16_w)); // card reader (?)
|
||||
map(0x80C0, 0x80C0).mirror(0x3F1F).rw(FUNC(icatel_state::ci15_r), FUNC(icatel_state::ci15_w)); // 74LS244 (tristate buffer)
|
||||
map(0x8000, 0x8001).mirror(0x3F3C).w(m_lcdc, FUNC(hd44780_device::write));
|
||||
map(0x8002, 0x8003).mirror(0x3F3C).r(m_lcdc, FUNC(hd44780_device::read));
|
||||
map(0x8040, 0x8040).mirror(0x3F1F).w(FUNC(icatel_state::ci12_w)); // 74LS273
|
||||
map(0x8060, 0x8060).mirror(0x3F1F).w(FUNC(icatel_state::ci8_w));
|
||||
map(0x8080, 0x8080).mirror(0x3F1F).w(FUNC(icatel_state::ci16_w)); // card reader (?)
|
||||
map(0x80C0, 0x80C0).mirror(0x3F1F).r(FUNC(icatel_state::ci15_r)); // 74LS244 (tristate buffer)
|
||||
map(0xC000, 0xCFFF).rw(FUNC(icatel_state::cn8_extension_r), FUNC(icatel_state::cn8_extension_w));
|
||||
map(0xE000, 0xEFFF).rw(FUNC(icatel_state::modem_r), FUNC(icatel_state::modem_w));
|
||||
map(0xE000, 0xE0FF).mirror(0xF00).rw(FUNC(icatel_state::modem_r), FUNC(icatel_state::modem_w));
|
||||
}
|
||||
|
||||
void icatel_state::i80c31_data(address_map &map)
|
||||
@ -156,28 +153,21 @@ void icatel_state::cn8_extension_w(uint8_t data)
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
uint8_t icatel_state::modem_r()
|
||||
uint8_t icatel_state::modem_r(offs_t offset)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
logerror("read: modem\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void icatel_state::modem_w(uint8_t data)
|
||||
void icatel_state::modem_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
logerror("write: modem [%02x]\n", data);
|
||||
logerror("write: modem %02x:[%02x]\n", offset, data);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
uint8_t icatel_state::ci8_r()
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
logerror("read: ci8\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void icatel_state::ci8_w(uint8_t data)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
@ -186,6 +176,14 @@ void icatel_state::ci8_w(uint8_t data)
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
void icatel_state::ci12_w(uint8_t data)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
logerror("write: ci12 [%02x]\n", data);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
uint8_t icatel_state::ci15_r()
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
@ -194,22 +192,8 @@ uint8_t icatel_state::ci15_r()
|
||||
return (1 << 3) | (1 << 0);
|
||||
}
|
||||
|
||||
void icatel_state::ci15_w(uint8_t data)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
logerror("write: ci15 [%02x]\n", data);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
uint8_t icatel_state::ci16_r()
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
// seems to be the card reader.
|
||||
logerror("read: ci16\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void icatel_state::ci16_w(uint8_t data)
|
||||
{
|
||||
/* TODO: Implement-me! */
|
||||
|
Loading…
Reference in New Issue
Block a user