mirror of
https://github.com/holub/mame
synced 2025-04-26 02:07:14 +03:00
pntnpuzl: fix display
This commit is contained in:
parent
4f4dddd044
commit
b0656a3201
@ -182,6 +182,7 @@ void trident_vga_device::device_start()
|
||||
m_vblank_timer = timer_alloc(FUNC(vga_device::vblank_timer_cb), this);
|
||||
vga.svga_intf.seq_regcount = 0x0f;
|
||||
vga.svga_intf.crtc_regcount = 0x60;
|
||||
svga.ignore_chain4 = true;
|
||||
memset(&tri, 0, sizeof(tri));
|
||||
}
|
||||
|
||||
@ -621,6 +622,7 @@ void trident_vga_device::trident_crtc_reg_write(uint8_t index, uint8_t data)
|
||||
case 0x1e: // Module Testing Register
|
||||
tri.cr1e = data;
|
||||
vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffeffff) | ((data & 0x20)<<11);
|
||||
trident_define_video_mode();
|
||||
break;
|
||||
case 0x1f:
|
||||
tri.cr1f = data; // "Software Programming Register" written to by the BIOS
|
||||
|
@ -711,7 +711,7 @@ void svga_device::svga_vh_rgb8(bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
// line_length = vga.crtc.offset << 4;
|
||||
// }
|
||||
|
||||
uint8_t start_shift = (!(vga.sequencer.data[4] & 0x08)) ? 2 : 0;
|
||||
uint8_t start_shift = (!(vga.sequencer.data[4] & 0x08) || svga.ignore_chain4) ? 2 : 0;
|
||||
for (int addr = VGA_START_ADDRESS << start_shift, line=0; line<LINES; line+=height, addr+=offset(), curr_addr+=offset())
|
||||
{
|
||||
for (int yi = 0;yi < height; yi++)
|
||||
|
@ -273,6 +273,7 @@ protected:
|
||||
uint8_t rgb24_en;
|
||||
uint8_t rgb32_en;
|
||||
uint8_t id;
|
||||
bool ignore_chain4;
|
||||
} svga;
|
||||
};
|
||||
|
||||
|
@ -392,7 +392,7 @@ void pntnpuzl_state::pntnpuzl(machine_config &config)
|
||||
|
||||
TVGA9000_VGA(config, m_svga, 0);
|
||||
m_svga->set_screen(m_screen);
|
||||
m_svga->set_vram_size(0x200000);
|
||||
m_svga->set_vram_size(0x100000);
|
||||
|
||||
// TODO: runs in external clock mode, needs setter to pc_vga. ~70 Hz is best guess
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
|
Loading…
Reference in New Issue
Block a user