mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
i8275: Fix underline-related row blanking; clean up a few more drivers (nw)
This commit is contained in:
parent
5c6ba408bc
commit
377d5326af
@ -329,7 +329,8 @@ void i8275_device::device_timer(emu_timer &timer, device_timer_id id, int param,
|
||||
if ((m_status & ST_VE) && m_scanline < m_vrtc_scanline)
|
||||
{
|
||||
int line_counter = OFFSET_LINE_COUNTER ? ((lc - 1) % SCANLINES_PER_ROW) : lc;
|
||||
bool end_of_row = (UNDERLINE >= 8) && ((lc == 0) || (lc == SCANLINES_PER_ROW - 1));
|
||||
bool end_of_row = false;
|
||||
bool blank_row = (UNDERLINE >= 8) && ((lc == 0) || (lc == SCANLINES_PER_ROW - 1));
|
||||
int fifo_idx = 0;
|
||||
m_hlgt = (m_stored_attr & FAC_H) ? 1 : 0;
|
||||
m_vsp = (m_stored_attr & FAC_B) ? 1 : 0;
|
||||
@ -443,7 +444,7 @@ void i8275_device::device_timer(emu_timer &timer, device_timer_id id, int param,
|
||||
}
|
||||
}
|
||||
|
||||
if (end_of_row || m_end_of_screen)
|
||||
if (blank_row || end_of_row || m_end_of_screen)
|
||||
{
|
||||
vsp = 1;
|
||||
}
|
||||
|
@ -179,8 +179,6 @@ I8275_DRAW_CHARACTER_MEMBER(apogee_state::display_pixels)
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
const uint8_t *charmap = m_charmap + (gpa & 1) * 0x400;
|
||||
uint8_t pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if(linecount == 8)
|
||||
pixels = 0;
|
||||
if (vsp) {
|
||||
pixels = 0;
|
||||
}
|
||||
|
@ -525,7 +525,7 @@ I8275_DRAW_CHARACTER_MEMBER(imds2_state::crtc_display_pixels)
|
||||
if (lten) {
|
||||
pixels = ~0;
|
||||
} else if (vsp != 0 || (linecount & 8) != 0) {
|
||||
pixels = 0;
|
||||
pixels = 0; // VSP is gated with LC3
|
||||
} else {
|
||||
// See [2], pg 58 for the very peculiar way of generating character images
|
||||
// Here each half-pixel is translated into a full pixel
|
||||
|
@ -171,8 +171,6 @@ I8275_DRAW_CHARACTER_MEMBER(mikrosha_state::display_pixels)
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
const uint8_t *charmap = m_charmap + (m_mikrosha_font_page & 1) * 0x400;
|
||||
uint8_t pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if(linecount == 8)
|
||||
pixels = 0;
|
||||
if (vsp) {
|
||||
pixels = 0;
|
||||
}
|
||||
|
@ -266,9 +266,6 @@ I8275_DRAW_CHARACTER_MEMBER(unior_state::display_pixels)
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
uint8_t gfx = m_p_chargen[(linecount & 7) | (charcode << 3)];
|
||||
|
||||
if(linecount == 8)
|
||||
gfx = 0;
|
||||
|
||||
if (vsp)
|
||||
gfx = 0;
|
||||
|
||||
|
@ -202,8 +202,6 @@ I8275_DRAW_CHARACTER_MEMBER(radio86_state::display_pixels)
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
const uint8_t *charmap = m_charmap;
|
||||
uint8_t pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if(linecount == 8)
|
||||
pixels = 0;
|
||||
if (vsp) {
|
||||
pixels = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user