abc80: Fixed graphics characters, hiresinv demo is now fully working. [Curt Coder]

This commit is contained in:
Curt Coder 2017-02-21 14:22:58 +02:00
parent 9fa456eaff
commit f26dcf5f17
2 changed files with 9 additions and 10 deletions

View file

@ -65,7 +65,6 @@ Notes:
TODO:
- hiresinv graphics artifacts
- proper keyboard controller emulation
- MyAB TKN80 80-column card
- GeJo 80-column card
@ -625,4 +624,4 @@ ROM_END
//**************************************************************************
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
COMP( 1978, abc80, 0, 0, abc80, abc80, driver_device, 0, "Luxor Datorer AB", "ABC 80", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_KEYBOARD )
COMP( 1978, abc80, 0, 0, abc80, abc80, driver_device, 0, "Luxor Datorer AB", "ABC 80", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_KEYBOARD )

View file

@ -101,15 +101,15 @@ void abc80_state::draw_scanline(bitmap_rgb32 &bitmap, int y)
if (l < 3) r0 = 0; else if (l < 7) r1 = 0; else r2 = 0;
int c0 = BIT(videoram_data, 0) | r0;
int c1 = BIT(videoram_data, 1) | r0;
int c2 = BIT(videoram_data, 2) | r1;
int c3 = BIT(videoram_data, 3) | r1;
int c4 = BIT(videoram_data, 4) | r2;
int c5 = BIT(videoram_data, 6) | r2;
int c0 = BIT(videoram_data, 0) || r0;
int c1 = BIT(videoram_data, 1) || r0;
int c2 = BIT(videoram_data, 2) || r1;
int c3 = BIT(videoram_data, 3) || r1;
int c4 = BIT(videoram_data, 4) || r2;
int c5 = BIT(videoram_data, 6) || r2;
if (!(c0 & c2 & c4)) data |= 0xe0;
if (!(c1 & c3 & c5)) data |= 0x1c;
if (c0 && c2 && c4) data |= 0xe0;
if (c1 && c3 && c5) data |= 0x1c;
}
else
{