(MESS) c64: Fixed StarDOS cartridge. (nw)

This commit is contained in:
Curt Coder 2012-10-26 22:26:47 +00:00
parent a9b74bf2a3
commit 8ee23744b5
2 changed files with 12 additions and 1 deletions

View file

@ -191,5 +191,15 @@ void c64_stardos_cartridge_device::c64_cd_w(address_space &space, offs_t offset,
int c64_stardos_cartridge_device::c64_game_r(offs_t offset, int sphi2, int ba, int rw, int hiram)
{
return !(ba & rw & ((offset & 0xe000) == 0xe000) & hiram);
return !(sphi2 && ba & rw & ((offset & 0xe000) == 0xe000) & hiram);
}
//-------------------------------------------------
// c64_exrom_r - EXROM read
//-------------------------------------------------
int c64_stardos_cartridge_device::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw, int hiram)
{
return (BIT(offset, 13)) ? 1 : m_exrom;
}

View file

@ -46,6 +46,7 @@ protected:
virtual UINT8 c64_cd_r(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
virtual void c64_cd_w(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw, int hiram);
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw, int hiram);
private:
inline void charge_io1_capacitor();