Added a new video mode to the DOS port.
This commit is contained in:
@@ -262,27 +262,29 @@ ScreenShow:
|
||||
cmp byte[cvidmode],0
|
||||
je near copymodeq224
|
||||
cmp byte[cvidmode],1
|
||||
je near copymodeq240
|
||||
cmp byte[cvidmode],2
|
||||
je near copymodeq
|
||||
.debug
|
||||
cmp byte[cvidmode],2
|
||||
je near copymodex
|
||||
cmp byte[cvidmode],3
|
||||
je near copyvesa12640x480x16b
|
||||
je near copymodex
|
||||
cmp byte[cvidmode],4
|
||||
je near copyvesa2320x240x8b
|
||||
je near copyvesa12640x480x16b
|
||||
cmp byte[cvidmode],5
|
||||
je near copyvesa2320x240x16b
|
||||
je near copyvesa2320x240x8b
|
||||
cmp byte[cvidmode],6
|
||||
je near copyvesa2320x480x8b
|
||||
je near copyvesa2320x240x16b
|
||||
cmp byte[cvidmode],7
|
||||
je near copyvesa2320x480x8b
|
||||
cmp byte[cvidmode],8
|
||||
je near copyvesa2320x480x16b
|
||||
cmp byte[cvidmode],8
|
||||
cmp byte[cvidmode],9
|
||||
je near copyvesa2512x384x8b
|
||||
cmp byte[cvidmode],9
|
||||
je near copyvesa2512x384x16b
|
||||
cmp byte[cvidmode],10
|
||||
je near copyvesa2640x480x8b
|
||||
je near copyvesa2512x384x16b
|
||||
cmp byte[cvidmode],11
|
||||
je near copyvesa2640x480x8b
|
||||
cmp byte[cvidmode],12
|
||||
je near copyvesa2640x480x16b
|
||||
cmp byte[curblank],40h
|
||||
je .startcopy
|
||||
@@ -304,26 +306,28 @@ ScreenShowGUI:
|
||||
cmp byte[cvidmode],0
|
||||
je near copymodeq224
|
||||
cmp byte[cvidmode],1
|
||||
je near copymodeq
|
||||
je near copymodeq240
|
||||
cmp byte[cvidmode],2
|
||||
je near copymodex
|
||||
je near copymodeq
|
||||
cmp byte[cvidmode],3
|
||||
je near copyvesa12640x480x16bgui
|
||||
je near copymodex
|
||||
cmp byte[cvidmode],4
|
||||
je near copyvesa2320x240x8b
|
||||
je near copyvesa12640x480x16bgui
|
||||
cmp byte[cvidmode],5
|
||||
je near copyvesa2320x240x16bgui
|
||||
je near copyvesa2320x240x8b
|
||||
cmp byte[cvidmode],6
|
||||
je near copyvesa2320x480x8bgui
|
||||
je near copyvesa2320x240x16bgui
|
||||
cmp byte[cvidmode],7
|
||||
je near copyvesa2320x480x16bgui
|
||||
je near copyvesa2320x480x8bgui
|
||||
cmp byte[cvidmode],8
|
||||
je near copyvesa2512x384x8b
|
||||
je near copyvesa2320x480x16bgui
|
||||
cmp byte[cvidmode],9
|
||||
je near copyvesa2512x384x16bgui
|
||||
je near copyvesa2512x384x8b
|
||||
cmp byte[cvidmode],10
|
||||
je near copyvesa2640x480x8bgui
|
||||
je near copyvesa2512x384x16bgui
|
||||
cmp byte[cvidmode],11
|
||||
je near copyvesa2640x480x8bgui
|
||||
cmp byte[cvidmode],12
|
||||
je near copyvesa2640x480x16bgui
|
||||
jmp copymodeq
|
||||
%endif
|
||||
@@ -575,6 +579,46 @@ NEWSYM copymodeq224
|
||||
pop es
|
||||
ret
|
||||
|
||||
;*******************************************************
|
||||
; CopyModeQ240 Copies buffer into chained 256x240
|
||||
;*******************************************************
|
||||
|
||||
NEWSYM copymodeq240
|
||||
cmp byte[curblank],40h
|
||||
jne .startcopy
|
||||
ret
|
||||
.startcopy
|
||||
push es
|
||||
mov es,[selcA000]
|
||||
mov esi,[vidbuffer]
|
||||
mov edi,256
|
||||
cmp word[resolutn],224
|
||||
jne .res239
|
||||
add edi,8*256
|
||||
.res239
|
||||
add esi,16+256+32
|
||||
mov edx,[resolutn]
|
||||
sub edx,2
|
||||
cmp byte[FPUCopy],2
|
||||
je near .loopb
|
||||
.loopa
|
||||
mov ecx,64
|
||||
rep movsd
|
||||
add esi,32
|
||||
dec edx
|
||||
jnz .loopa
|
||||
jmp .done
|
||||
.loopb
|
||||
mov ecx,16
|
||||
MMXStuff
|
||||
add esi,32
|
||||
dec edx
|
||||
jnz .loopb
|
||||
emms
|
||||
.done
|
||||
pop es
|
||||
ret
|
||||
|
||||
;*******************************************************
|
||||
; Copy VESA2 320x240x8b Copies buffer to 320x240x8bVBE2
|
||||
;*******************************************************
|
||||
@@ -5434,28 +5478,30 @@ NEWSYM copyvesa12640x480x16b
|
||||
NEWSYM DOSClearScreen
|
||||
%ifdef __MSDOS__
|
||||
cmp byte[cvidmode],0
|
||||
je near copymodeq224
|
||||
je near cscopymodeq
|
||||
cmp byte[cvidmode],1
|
||||
je near cscopymodeq
|
||||
cmp byte[cvidmode],2
|
||||
je near cscopymodex
|
||||
je near cscopymodeq
|
||||
cmp byte[cvidmode],3
|
||||
je near cscopyvesa12640x480x16b
|
||||
je near cscopymodex
|
||||
cmp byte[cvidmode],4
|
||||
je near cscopyvesa2320x240x8b
|
||||
je near cscopyvesa12640x480x16b
|
||||
cmp byte[cvidmode],5
|
||||
je near cscopyvesa2320x240x16b
|
||||
je near cscopyvesa2320x240x8b
|
||||
cmp byte[cvidmode],6
|
||||
je near cscopyvesa2320x480x8b
|
||||
je near cscopyvesa2320x240x16b
|
||||
cmp byte[cvidmode],7
|
||||
je near cscopyvesa2320x480x16b
|
||||
je near cscopyvesa2320x480x8b
|
||||
cmp byte[cvidmode],8
|
||||
je near cscopyvesa2512x384x8b
|
||||
je near cscopyvesa2320x480x16b
|
||||
cmp byte[cvidmode],9
|
||||
je near cscopyvesa2512x384x16b
|
||||
je near cscopyvesa2512x384x8b
|
||||
cmp byte[cvidmode],10
|
||||
je near cscopyvesa2640x480x8b
|
||||
je near cscopyvesa2512x384x16b
|
||||
cmp byte[cvidmode],11
|
||||
je near cscopyvesa2640x480x8b
|
||||
cmp byte[cvidmode],12
|
||||
je near cscopyvesa2640x480x16b
|
||||
%endif
|
||||
ret
|
||||
@@ -5625,11 +5671,11 @@ NEWSYM GetScreen
|
||||
; jbe .getscreen
|
||||
; ret
|
||||
;.getscreen
|
||||
cmp byte[cvidmode],5
|
||||
cmp byte[cvidmode],6
|
||||
je near getcopyvesa2320x240x16b
|
||||
cmp byte[cvidmode],11
|
||||
cmp byte[cvidmode],12
|
||||
; je near getcopyvesa2640x480x16b
|
||||
cmp byte[cvidmode],9
|
||||
cmp byte[cvidmode],10
|
||||
; je near getcopyvesa2512x384x16b
|
||||
%endif
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user