Ported the (S)VGA linear read latch fix from PCem.
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
* This is intended to be used by another SVGA driver,
|
* This is intended to be used by another SVGA driver,
|
||||||
* and not as a card in it's own right.
|
* and not as a card in it's own right.
|
||||||
*
|
*
|
||||||
* Version: @(#)vid_svga.c 1.0.39 2019/12/03
|
* Version: @(#)vid_svga.c 1.0.40 2019/12/28
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
@@ -1119,15 +1119,6 @@ svga_read_common(uint32_t addr, uint8_t linear, void *p)
|
|||||||
addr &= svga->decode_mask;
|
addr &= svga->decode_mask;
|
||||||
|
|
||||||
/* standard VGA latched access */
|
/* standard VGA latched access */
|
||||||
if (linear) {
|
|
||||||
if (addr >= svga->vram_max)
|
|
||||||
return 0xff;
|
|
||||||
|
|
||||||
addr &= svga->vram_mask;
|
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
svga->latch.b[i] = svga->vram[addr | i];
|
|
||||||
} else {
|
|
||||||
if (latch_addr >= svga->vram_max) {
|
if (latch_addr >= svga->vram_max) {
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
svga->latch.b[i] = 0xff;
|
svga->latch.b[i] = 0xff;
|
||||||
@@ -1142,7 +1133,6 @@ svga_read_common(uint32_t addr, uint8_t linear, void *p)
|
|||||||
return 0xff;
|
return 0xff;
|
||||||
|
|
||||||
addr &= svga->vram_mask;
|
addr &= svga->vram_mask;
|
||||||
}
|
|
||||||
|
|
||||||
if (svga->readmode) {
|
if (svga->readmode) {
|
||||||
temp = 0xff;
|
temp = 0xff;
|
||||||
|
|||||||
Reference in New Issue
Block a user