diff options
author | Robbbert <robbbert@users.noreply.github.com> | 2014-01-09 14:47:57 +0000 |
---|---|---|
committer | Robbbert <robbbert@users.noreply.github.com> | 2014-01-09 14:47:57 +0000 |
commit | 79520f54f1845805eb445ab286de53480992b930 (patch) | |
tree | 672eafa20fd074ef9d2f1013ab468ff8e833755b | |
parent | ec42f059af0f94c5af8158bd35c9a3a22b75ef83 (diff) |
(MESS) sv8000 : fixed screen size in gunfight game.
-rw-r--r-- | src/mess/drivers/sv8000.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/mess/drivers/sv8000.c b/src/mess/drivers/sv8000.c index 1aedae56f9c..335b833efab 100644 --- a/src/mess/drivers/sv8000.c +++ b/src/mess/drivers/sv8000.c @@ -330,10 +330,10 @@ printf("ay_porta_w: %02X\n", data); logerror("ay_port_a_w: %02X\n", data); // Lacking schematics, these are all wild guesses - m_ag = ( data & 0x18 ); - m_gm2 = ( data & 0x10 ); - m_gm1 = ( data & 0x40 ); - m_gm0 = ( data & 0x08 ); + m_ag = BIT(data, 4); + m_gm2 = BIT(data, 6); + m_gm1 = BIT(data, 3); + m_gm0 = BIT(data, 3); m_s68047p->ag_w( m_ag ? ASSERT_LINE : CLEAR_LINE ); m_s68047p->gm2_w( m_gm2 ? ASSERT_LINE : CLEAR_LINE ); @@ -364,8 +364,10 @@ READ8_MEMBER( sv8000_state::mc6847_videoram_r ) { if (offset == ~0) return 0xff; - if ( m_ag ) { - if ( m_gm1 ) { + if ( m_ag ) + { + if ( m_gm2 ) + { // 256 x 192 / 6KB offset = ( ( offset & 0x1fc0 ) >> 1 ) | ( offset & 0x1f ); return m_videoram[offset % 0xc00]; @@ -376,8 +378,10 @@ READ8_MEMBER( sv8000_state::mc6847_videoram_r ) return m_videoram[offset % 0xc00]; } } + // Standard text UINT8 data = m_videoram[offset % 0xc00]; + if (!data) data = 0x20; //bodge m_s68047p->inv_w( ( data & 0x80 ) ? ASSERT_LINE : CLEAR_LINE ); |