mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
gimix: fix crash when using 128kB RAM or more
This commit is contained in:
parent
d6bed0e154
commit
a028db4e8c
@ -83,6 +83,8 @@ public:
|
|||||||
, m_rombank1(*this, "rombank1")
|
, m_rombank1(*this, "rombank1")
|
||||||
, m_rombank2(*this, "rombank2")
|
, m_rombank2(*this, "rombank2")
|
||||||
, m_fixedrombank(*this, "fixedrombank")
|
, m_fixedrombank(*this, "fixedrombank")
|
||||||
|
, m_lowerram(*this, "lower_ram")
|
||||||
|
, m_upperram(*this, "upper_ram")
|
||||||
, m_dma_dip(*this, "dma_s2")
|
, m_dma_dip(*this, "dma_s2")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -152,6 +154,8 @@ private:
|
|||||||
required_memory_bank m_rombank1;
|
required_memory_bank m_rombank1;
|
||||||
required_memory_bank m_rombank2;
|
required_memory_bank m_rombank2;
|
||||||
required_memory_bank m_fixedrombank;
|
required_memory_bank m_fixedrombank;
|
||||||
|
required_memory_bank m_lowerram;
|
||||||
|
memory_bank_creator m_upperram;
|
||||||
|
|
||||||
required_ioport m_dma_dip;
|
required_ioport m_dma_dip;
|
||||||
};
|
};
|
||||||
@ -494,9 +498,9 @@ void gimix_state::machine_reset()
|
|||||||
m_floppy1_ready = false;
|
m_floppy1_ready = false;
|
||||||
m_floppy2_ready = false;
|
m_floppy2_ready = false;
|
||||||
m_floppy3_ready = false;
|
m_floppy3_ready = false;
|
||||||
membank("lower_ram")->set_base(m_ram->pointer());
|
m_lowerram->set_base(m_ram->pointer());
|
||||||
if(m_ram->size() > 65536)
|
if(m_ram->size() > 65536)
|
||||||
membank("upper_ram")->set_base(m_ram->pointer()+0x10000);
|
m_upperram->set_base(m_ram->pointer()+0x10000);
|
||||||
|
|
||||||
// initialise FDC clock based on DIP Switch S2-9 (5.25"/8" drive select)
|
// initialise FDC clock based on DIP Switch S2-9 (5.25"/8" drive select)
|
||||||
if(m_dma_dip->read() & 0x00000100)
|
if(m_dma_dip->read() & 0x00000100)
|
||||||
@ -520,7 +524,7 @@ void gimix_state::machine_start()
|
|||||||
{
|
{
|
||||||
for (int bank = 0; bank < 16; bank++)
|
for (int bank = 0; bank < 16; bank++)
|
||||||
{
|
{
|
||||||
m_bank[bank]->space(AS_PROGRAM).install_readwrite_bank(0x10000,m_ram->size()-1,membank("upper_ram"));
|
m_bank[bank]->space(AS_PROGRAM).install_readwrite_bank(0x10000,m_ram->size()-1,m_upperram);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_floppy0->get_device()->set_rpm(300);
|
m_floppy0->get_device()->set_rpm(300);
|
||||||
|
Loading…
Reference in New Issue
Block a user