mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +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);
|
m_vblank_timer = timer_alloc(FUNC(vga_device::vblank_timer_cb), this);
|
||||||
vga.svga_intf.seq_regcount = 0x0f;
|
vga.svga_intf.seq_regcount = 0x0f;
|
||||||
vga.svga_intf.crtc_regcount = 0x60;
|
vga.svga_intf.crtc_regcount = 0x60;
|
||||||
|
svga.ignore_chain4 = true;
|
||||||
memset(&tri, 0, sizeof(tri));
|
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
|
case 0x1e: // Module Testing Register
|
||||||
tri.cr1e = data;
|
tri.cr1e = data;
|
||||||
vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffeffff) | ((data & 0x20)<<11);
|
vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffeffff) | ((data & 0x20)<<11);
|
||||||
|
trident_define_video_mode();
|
||||||
break;
|
break;
|
||||||
case 0x1f:
|
case 0x1f:
|
||||||
tri.cr1f = data; // "Software Programming Register" written to by the BIOS
|
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;
|
// 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 addr = VGA_START_ADDRESS << start_shift, line=0; line<LINES; line+=height, addr+=offset(), curr_addr+=offset())
|
||||||
{
|
{
|
||||||
for (int yi = 0;yi < height; yi++)
|
for (int yi = 0;yi < height; yi++)
|
||||||
|
@ -273,6 +273,7 @@ protected:
|
|||||||
uint8_t rgb24_en;
|
uint8_t rgb24_en;
|
||||||
uint8_t rgb32_en;
|
uint8_t rgb32_en;
|
||||||
uint8_t id;
|
uint8_t id;
|
||||||
|
bool ignore_chain4;
|
||||||
} svga;
|
} svga;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ void pntnpuzl_state::pntnpuzl(machine_config &config)
|
|||||||
|
|
||||||
TVGA9000_VGA(config, m_svga, 0);
|
TVGA9000_VGA(config, m_svga, 0);
|
||||||
m_svga->set_screen(m_screen);
|
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
|
// TODO: runs in external clock mode, needs setter to pc_vga. ~70 Hz is best guess
|
||||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||||
|
Loading…
Reference in New Issue
Block a user