diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-07-18 09:48:56 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-07-18 09:48:56 +0000 |
commit | 9116d820f6f39c3064fa09e75b4537c81bcae316 (patch) | |
tree | 27b6e83e90a73bf754a29ed512b83bd9d97a58e9 /packages/graph/src | |
parent | 0de5adf7b33fafb9b544ace71631807c4c84258f (diff) | |
download | fpc-9116d820f6f39c3064fa09e75b4537c81bcae316.tar.gz |
* always use the read window to read from video memory (patch by
Nikolay Nikolov, mantis #16926)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15597 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/graph/src')
-rw-r--r-- | packages/graph/src/go32v2/vesa.inc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/graph/src/go32v2/vesa.inc b/packages/graph/src/go32v2/vesa.inc index 0d93c6eeb7..5f4313d7fb 100644 --- a/packages/graph/src/go32v2/vesa.inc +++ b/packages/graph/src/go32v2/vesa.inc @@ -1495,6 +1495,7 @@ end; Y := Y + YOffset; { adjust pixel for correct virtual page } { } offs := longint(y) * BytesPerLine + (x div 8); + SetReadBank(smallint(offs shr 16)); SetWriteBank(smallint(offs shr 16)); PortW[$3ce] := $0f01; { Index 01 : Enable ops on all 4 planes } @@ -1503,7 +1504,7 @@ end; Port[$3ce] := 8; { Index 08 : Bitmask register. } Port[$3cf] := $80 shr (x and $7); { Select correct bits to modify } - dummy := Mem[WinWriteSeg: word(offs)]; { Latch the data into host space. } + dummy := Mem[WinReadSeg: word(offs)]; { Latch the data into host space. } Mem[WinWriteSeg: word(offs)] := dummy; { Write the data into video memory } PortW[$3ce] := $ff08; { Enable all bit planes. } PortW[$3ce] := $0001; { Index 01 : Disable ops on all four planes. } @@ -1568,6 +1569,7 @@ end; end; Y := Y + YOffset; offs := longint(y) * BytesPerLine + (x div 8); + SetReadBank(smallint(offs shr 16)); SetWriteBank(smallint(offs shr 16)); PortW[$3ce] := $0f01; { Index 01 : Enable ops on all 4 planes } PortW[$3ce] := color shl 8; { Index 00 : Enable correct plane and write color } @@ -1575,7 +1577,7 @@ end; Port[$3ce] := 8; { Index 08 : Bitmask register. } Port[$3cf] := $80 shr (x and $7); { Select correct bits to modify } - dummy := Mem[WinWriteSeg: word(offs)]; { Latch the data into host space. } + dummy := Mem[WinReadSeg: word(offs)]; { Latch the data into host space. } Mem[WinWriteSeg: word(offs)] := dummy; { Write the data into video memory } PortW[$3ce] := $ff08; { Enable all bit planes. } PortW[$3ce] := $0001; { Index 01 : Disable ops on all four planes. } |