mirror of
https://github.com/holub/mame
synced 2025-05-14 18:08:13 +03:00
(MESS) to8/to8d: Fixed support for 256K RAM; should hopefully fix MT#5160. (nw)
This commit is contained in:
parent
984fe9b663
commit
c6f2743b2c
@ -4110,7 +4110,15 @@ MACHINE_START_MEMBER( thomson_state, to8 )
|
||||
m_thom_cart_bank = 0;
|
||||
m_thom_vram = ram;
|
||||
membank( THOM_CART_BANK )->configure_entries( 0, 8, mem + 0x10000, 0x4000 );
|
||||
membank( THOM_CART_BANK )->configure_entries( 8, 32, ram, 0x4000 );
|
||||
if ( m_ram->size() == 256*1024 )
|
||||
{
|
||||
membank( THOM_CART_BANK )->configure_entries( 8, 16, ram, 0x4000 );
|
||||
membank( THOM_CART_BANK )->configure_entries( 8+16, 16, ram, 0x4000 );
|
||||
}
|
||||
else
|
||||
{
|
||||
membank( THOM_CART_BANK )->configure_entries( 8, 32, ram, 0x4000 );
|
||||
}
|
||||
membank( THOM_VRAM_BANK )->configure_entries( 0, 2, ram, 0x2000 );
|
||||
membank( TO8_SYS_LO )->configure_entry( 0, ram + 0x6000);
|
||||
membank( TO8_SYS_HI )->configure_entry( 0, ram + 0x4000);
|
||||
|
@ -1192,7 +1192,7 @@ WRITE8_MEMBER( thomson_state::to8_sys_hi_w )
|
||||
|
||||
WRITE8_MEMBER( thomson_state::to8_data_lo_w )
|
||||
{
|
||||
UINT8* dst = m_thom_vram + offset + 0x4000 * m_to8_data_vpage + 0x2000;
|
||||
UINT8* dst = m_thom_vram + ( ( offset + 0x4000 * m_to8_data_vpage + 0x2000 ) & m_ram->mask() );
|
||||
assert( offset < 0x2000 );
|
||||
if ( *dst == data )
|
||||
return;
|
||||
@ -1207,7 +1207,7 @@ WRITE8_MEMBER( thomson_state::to8_data_lo_w )
|
||||
|
||||
WRITE8_MEMBER( thomson_state::to8_data_hi_w )
|
||||
{
|
||||
UINT8* dst = m_thom_vram + offset + 0x4000 * m_to8_data_vpage;
|
||||
UINT8* dst = m_thom_vram + ( ( offset + 0x4000 * m_to8_data_vpage ) & m_ram->mask() );
|
||||
assert( offset < 0x2000 );
|
||||
if ( *dst == data )
|
||||
return;
|
||||
@ -1223,7 +1223,7 @@ WRITE8_MEMBER( thomson_state::to8_data_hi_w )
|
||||
/* write to video memory page through cartridge addresses space */
|
||||
WRITE8_MEMBER( thomson_state::to8_vcart_w )
|
||||
{
|
||||
UINT8* dst = m_thom_vram + offset + 0x4000 * m_to8_cart_vpage;
|
||||
UINT8* dst = m_thom_vram + ( ( offset + 0x4000 * m_to8_cart_vpage ) & m_ram->mask() );
|
||||
assert( offset < 0x4000 );
|
||||
if ( *dst == data )
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user