mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
commodore/clcd.cpp added newer, May 1985 bios, from Jeff Porter's prototype & fixed the April 1985 bios labels. [Jeff Porter, Mike Naberezny, smf]
This commit is contained in:
parent
883f063cf8
commit
6c3422c579
@ -204,10 +204,10 @@ public:
|
||||
switch (m_mmu_mode)
|
||||
{
|
||||
case MMU_MODE_KERN:
|
||||
m_bankdev[0]->set_bank(0x04 + 0x00);
|
||||
m_bankdev[0]->set_bank(0x1000 / 0x400);
|
||||
update_mmu_offset5();
|
||||
m_bankdev[2]->set_bank(0x20 + 0xc0);
|
||||
m_bankdev[3]->set_bank(0x30 + 0xc0);
|
||||
m_bankdev[2]->set_bank(0x38000 / 0x400);
|
||||
m_bankdev[3]->set_bank(0x3c000 / 0x400);
|
||||
break;
|
||||
|
||||
case MMU_MODE_APPL:
|
||||
@ -218,17 +218,17 @@ public:
|
||||
break;
|
||||
|
||||
case MMU_MODE_RAM:
|
||||
m_bankdev[0]->set_bank(0x04);
|
||||
m_bankdev[1]->set_bank(0x10);
|
||||
m_bankdev[2]->set_bank(0x20);
|
||||
m_bankdev[3]->set_bank(0x30);
|
||||
m_bankdev[0]->set_bank(0x1000 / 0x400);
|
||||
m_bankdev[1]->set_bank(0x4000 / 0x400);
|
||||
m_bankdev[2]->set_bank(0x8000 / 0x400);
|
||||
m_bankdev[3]->set_bank(0xc000 / 0x400);
|
||||
break;
|
||||
|
||||
case MMU_MODE_TEST:
|
||||
m_bankdev[0]->set_bank(0x04 + 0x200);
|
||||
m_bankdev[1]->set_bank(0x10 + 0x200);
|
||||
m_bankdev[2]->set_bank(0x20 + 0x200);
|
||||
m_bankdev[3]->set_bank(0x30 + 0x200);
|
||||
m_bankdev[0]->set_bank(0x81000 / 0x400);
|
||||
m_bankdev[1]->set_bank(0x84000 / 0x400);
|
||||
m_bankdev[2]->set_bank(0x88000 / 0x400);
|
||||
m_bankdev[3]->set_bank(0x8c000 / 0x400);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -238,7 +238,7 @@ public:
|
||||
{
|
||||
if (m_mmu_mode == MMU_MODE_APPL)
|
||||
{
|
||||
m_bankdev[0]->set_bank(0x04 + m_mmu_offset1);
|
||||
m_bankdev[0]->set_bank(((0x1000 / 0x400) + m_mmu_offset1) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,7 +246,7 @@ public:
|
||||
{
|
||||
if (m_mmu_mode == MMU_MODE_APPL)
|
||||
{
|
||||
m_bankdev[1]->set_bank((0x10 + m_mmu_offset2) & 0xff);
|
||||
m_bankdev[1]->set_bank(((0x4000 / 0x400) + m_mmu_offset2) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@ -254,7 +254,7 @@ public:
|
||||
{
|
||||
if (m_mmu_mode == MMU_MODE_APPL)
|
||||
{
|
||||
m_bankdev[2]->set_bank((0x20 + m_mmu_offset3) & 0xff);
|
||||
m_bankdev[2]->set_bank(((0x8000 / 0x400) + m_mmu_offset3) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@ -262,7 +262,7 @@ public:
|
||||
{
|
||||
if (m_mmu_mode == MMU_MODE_APPL)
|
||||
{
|
||||
m_bankdev[3]->set_bank((0x30 + m_mmu_offset4) & 0xff);
|
||||
m_bankdev[3]->set_bank(((0xc000 / 0x400) + m_mmu_offset4) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@ -270,7 +270,7 @@ public:
|
||||
{
|
||||
if (m_mmu_mode == MMU_MODE_KERN)
|
||||
{
|
||||
m_bankdev[1]->set_bank((0x10 + m_mmu_offset5) & 0xff);
|
||||
m_bankdev[1]->set_bank(((0x4000 / 0x400) + m_mmu_offset5) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@ -519,7 +519,7 @@ public:
|
||||
void power_on_reset()
|
||||
{
|
||||
if (!m_power && m_power_on)
|
||||
m_maincpu->reset();
|
||||
machine().schedule_soft_reset();
|
||||
}
|
||||
|
||||
ram_device *ram()
|
||||
@ -613,10 +613,10 @@ void clcd_state::clcd_mem(address_map &map)
|
||||
map(0xfe00, 0xfe00).mirror(0x7f).w(FUNC(clcd_state::mmu_offset3_w));
|
||||
map(0xfe80, 0xfe80).mirror(0x7f).w(FUNC(clcd_state::mmu_offset4_w));
|
||||
map(0xff00, 0xff00).mirror(0x7f).w(FUNC(clcd_state::mmu_offset5_w));
|
||||
map(0xff80, 0xff80).mirror(0x7c).w(FUNC(clcd_state::lcd_scrollx_w));
|
||||
map(0xff81, 0xff81).mirror(0x7c).w(FUNC(clcd_state::lcd_scrolly_w));
|
||||
map(0xff82, 0xff82).mirror(0x7c).w(FUNC(clcd_state::lcd_mode_w));
|
||||
map(0xff83, 0xff83).mirror(0x7c).w(FUNC(clcd_state::lcd_size_w));
|
||||
map(0xff80, 0xff80).mirror(0x0c).w(FUNC(clcd_state::lcd_scrollx_w));
|
||||
map(0xff81, 0xff81).mirror(0x0c).w(FUNC(clcd_state::lcd_scrolly_w));
|
||||
map(0xff82, 0xff82).mirror(0x0c).w(FUNC(clcd_state::lcd_mode_w));
|
||||
map(0xff83, 0xff83).mirror(0x0c).w(FUNC(clcd_state::lcd_size_w));
|
||||
}
|
||||
|
||||
/* Input ports */
|
||||
@ -794,17 +794,29 @@ void clcd_state::clcd(machine_config &config)
|
||||
|
||||
ROM_START( clcd )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
||||
ROM_LOAD( "ss-calc-13apr.u105", 0x00000, 0x8000, CRC(88a587a7) SHA1(b08f3169b7cd696bb6a9b6e6e87a077345377ac4))
|
||||
ROM_LOAD( "sept-m-13apr.u104", 0x08000, 0x8000, CRC(41028c3c) SHA1(fcab6f0bbeef178eb8e5ecf82d9c348d8f318a8f))
|
||||
ROM_LOAD( "sizapr.u103", 0x10000, 0x8000, CRC(0aa91d9f) SHA1(f0842f370607f95d0a0ec6afafb81bc063c32745))
|
||||
ROM_LOAD( "kizapr.u102", 0x18000, 0x8000, CRC(59103d52) SHA1(e49c20b237a78b54c2cb26b133d5903bb60bd8ef))
|
||||
ROM_SYSTEM_BIOS( 0, "apr85", "Bil Herd Prototype" )
|
||||
ROMX_LOAD( "ss,calc 13apr.u105", 0x000000, 0x0008000, CRC(88a587a7) SHA1(b08f3169b7cd696bb6a9b6e6e87a077345377ac4), ROM_BIOS(0))
|
||||
ROMX_LOAD( "wp,t,m 13apr.u104", 0x008000, 0x0008000, CRC(41028c3c) SHA1(fcab6f0bbeef178eb8e5ecf82d9c348d8f318a8f), ROM_BIOS(0))
|
||||
ROMX_LOAD( "s12apr.u103", 0x010000, 0x0008000, CRC(0aa91d9f) SHA1(f0842f370607f95d0a0ec6afafb81bc063c32745), ROM_BIOS(0))
|
||||
ROMX_LOAD( "k12apr.u102", 0x018000, 0x0008000, CRC(59103d52) SHA1(e49c20b237a78b54c2cb26b133d5903bb60bd8ef), ROM_BIOS(0))
|
||||
// Patch RTC register table by swapping day & month values
|
||||
ROM_FILL(0x1c216, 1, 0x09)
|
||||
ROM_FILL(0x1c217, 1, 0x07)
|
||||
ROMX_FILL(0x1c216, 1, 0x09, ROM_BIOS(0))
|
||||
ROMX_FILL(0x1c217, 1, 0x07, ROM_BIOS(0))
|
||||
|
||||
ROM_SYSTEM_BIOS( 1, "may85", "Jeff Porter prototype" )
|
||||
ROMX_LOAD( "s 3-24-85.u108", 0x000000, 0x008000, CRC(52db0ee9) SHA1(bea1e04fb88d205ebac7a1dbe2f5e98f84e7a3a7), ROM_BIOS(1) )
|
||||
ROMX_LOAD( "calc.u107", 0x008000, 0x008000, CRC(c1a09460) SHA1(5fe08cd7a075e33164edef60e18f090163bbf35c), ROM_BIOS(1) )
|
||||
ROMX_LOAD( "term,wp 5-30.u106", 0x010000, 0x008000, CRC(8dfabe3c) SHA1(da7f65edb0613ae10f702ed479b68ce17cf4ef97), ROM_BIOS(1) )
|
||||
ROMX_LOAD( "k5-28 newi_o.u105", 0x018000, 0x008000, CRC(5a8728ad) SHA1(64fd82ab51fe51758d6df9abe826a10dafdc63a5), ROM_BIOS(1) )
|
||||
|
||||
ROM_REGION( 0x800, "lcd_char_rom", 0 )
|
||||
ROM_LOAD( "lcd-char-rom.u16", 0x00000, 0x800, CRC(7b6d3867) SHA1(cb594801438849f933ddc3e64b03b56f42f59f09))
|
||||
ROM_IGNORE(0x800)
|
||||
ROMX_LOAD( "lcd-char-rom.u16", 0x000000, 0x000800, CRC(7b6d3867) SHA1(cb594801438849f933ddc3e64b03b56f42f59f09), ROM_BIOS(0) )
|
||||
ROM_IGNORE( 0x000800 )
|
||||
|
||||
ROMX_LOAD( "char rom.u16", 0x000000, 0x000800, CRC(e010c384) SHA1(0b74a1fe7083614860d3f325d920e3c0281e23d6), ROM_BIOS(1) )
|
||||
ROM_IGNORE( 0x001800 )
|
||||
|
||||
ROM_DEFAULT_BIOS("may85")
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
Loading…
Reference in New Issue
Block a user