]> 4ch.mooo.com Git - 16.git/commitdiff
well, we could avoid some crashiness by saving/restoring CPU registers
authorJonathan Campbell <jonathan@castus.tv>
Fri, 6 May 2016 01:15:22 +0000 (18:15 -0700)
committerJonathan Campbell <jonathan@castus.tv>
Fri, 6 May 2016 01:15:22 +0000 (18:15 -0700)
in modexClearRegion.

pcx2vrl
pcxsscut
src/lib/modex16.c
vrl2vrs
vrsdump

diff --git a/pcx2vrl b/pcx2vrl
index bd947e55158b82b4f9d900234745aca806cde60e..06179c758ee3353a54ef7bc76b2422c342d53dd7 100755 (executable)
Binary files a/pcx2vrl and b/pcx2vrl differ
index 1deec74dc0487422bfdb03acb381df671e83a049..2ce56d285d26ddb8a30e5f7bf2839df2bde1fa75 100755 (executable)
Binary files a/pcxsscut and b/pcxsscut differ
index ee7f156c0558ebc66cca31e31493d7f06e9224b1..6a5b27994f5549b8c1e80e141fab486627389662 100755 (executable)
@@ -324,6 +324,14 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte  color) {
     }\r
 \r
     __asm {\r
+           PUSHF\r
+           PUSH ES\r
+           PUSH AX\r
+           PUSH BX\r
+           PUSH CX\r
+           PUSH DX\r
+           PUSH SI\r
+           PUSH DI\r
                MOV AX, SCREEN_SEG      ; go to the VGA memory\r
                MOV ES, AX\r
                MOV DI, poffset  ; go to the first pixel\r
@@ -357,6 +365,14 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte  color) {
                ADD DI, nextRow  ; go to the next row\r
                DEC h\r
                JNZ SCAN_START\r
+           POP DI\r
+           POP SI\r
+           POP DX\r
+           POP CX\r
+           POP BX\r
+           POP AX\r
+           POP ES\r
+           POPF\r
     }\r
 }\r
 \r
diff --git a/vrl2vrs b/vrl2vrs
index b67956b7baa37941b88ad79da1a2ff49c0c435a0..cee2d1d5ec2093825ded51e0e6c9b8b836e38ee9 100755 (executable)
Binary files a/vrl2vrs and b/vrl2vrs differ
diff --git a/vrsdump b/vrsdump
index dbaba30e42b8639969d3bdd4433243eb338adcbe..a75a903a84ae3d98973e3aecab4a6c08fce8a764 100755 (executable)
Binary files a/vrsdump and b/vrsdump differ