summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit79520f54f1845805eb445ab286de53480992b930 (patch)
tree672eafa20fd074ef9d2f1013ab468ff8e833755b
parentec42f059af0f94c5af8158bd35c9a3a22b75ef83 (diff)
(MESS) sv8000 : fixed screen size in gunfight game.
-rw-r--r--src/mess/drivers/sv8000.c16
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 );