Replaced most of the OSPort tests with %ifdef
This commit is contained in:
@@ -16,23 +16,6 @@
|
||||
;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
|
||||
EXTSYM GUIOn,HalfTrans
|
||||
EXTSYM ClearScreen
|
||||
EXTSYM Mode7HiRes,mosenng,mosszng,intrlng,mode7hr ;,VESAAddr
|
||||
EXTSYM GUICPC, newgfx16b
|
||||
EXTSYM vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3
|
||||
EXTSYM granadd
|
||||
EXTSYM SpecialLine
|
||||
EXTSYM vidbufferofsb
|
||||
;EXTSYM Super2xSaI
|
||||
EXTSYM HalfTransB,HalfTransC
|
||||
|
||||
|
||||
%include "video/2xsaimmx.inc"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SECTION .text
|
||||
|
||||
@@ -60,6 +43,7 @@ NEWSYM ResetTripleBuf
|
||||
mov byte[CVidStartAd],0
|
||||
ret
|
||||
|
||||
%ifdef __MSDOS__
|
||||
GUITripleBuffer:
|
||||
cmp byte[TriplebufTech],0
|
||||
je near .tech2
|
||||
@@ -238,6 +222,7 @@ PreTripleBuffer:
|
||||
.failed
|
||||
mov byte[Triplebufen],0
|
||||
ret
|
||||
%endif
|
||||
|
||||
VidModeSize dd 0,0,320*240,320*240*2,640*480,640*480*2,512*384,512*384*2
|
||||
dd 0,320*480,320*480*2
|
||||
@@ -252,6 +237,7 @@ NEWSYM LastLineStart, dd 0
|
||||
NEWSYM FlipWait, db 0
|
||||
NEWSYM TriplebufTech, db 0
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM DosDrawScreen
|
||||
cmp byte[curblank],40h
|
||||
je .nocopy
|
||||
@@ -336,13 +322,13 @@ ScreenShowGUI:
|
||||
cmp byte[cvidmode],0
|
||||
je near copymodex
|
||||
jmp copymodeq
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
;*******************************************************
|
||||
; CopyModeX Copies buffer into unchained 320x240
|
||||
;*******************************************************
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM copymodex
|
||||
cmp byte[curblank],40h
|
||||
jne .startcopy
|
||||
@@ -829,6 +815,7 @@ copyvesa2320x480x8ng:
|
||||
;*******************************************************
|
||||
; Copy VESA2 640x480x8b Copies buffer to 640x480x8bVBE2
|
||||
;*******************************************************
|
||||
%endif
|
||||
|
||||
ALIGN32
|
||||
NEWSYM EagleHold, dd 0
|
||||
@@ -839,6 +826,7 @@ vesavaland dd 0,0
|
||||
mmxvalanda dd 11111111110000001111111111000000b,11111111110000001111111111000000b
|
||||
mmxvalandb dd 00000000000111110000000000011111b,00000000000111110000000000011111b
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM copyvesa2640x480x8bgui
|
||||
mov byte[CurrentGUIOn],1
|
||||
cmp byte[smallscreenon],1
|
||||
@@ -2016,6 +2004,7 @@ NEWSYM palresvalngb, dd 0,0
|
||||
%macro copyb320x240 0
|
||||
mov [es:edi+2],dx
|
||||
%endmacro
|
||||
%endif
|
||||
|
||||
ALIGN32
|
||||
NEWSYM rescompareng, dd 0
|
||||
@@ -2026,6 +2015,8 @@ NEWSYM lineleft, dd 0
|
||||
NEWSYM lineleft2, dd 0
|
||||
bankpos dd 0
|
||||
|
||||
|
||||
%ifdef __MSDOS__
|
||||
;*******************************************************
|
||||
; Copy VESA2 320x480x16b Copies buffer to 320x480x16bVB2
|
||||
;*******************************************************
|
||||
@@ -2180,7 +2171,7 @@ NEWSYM copyvesa2320x480x16bgui
|
||||
jnz .loopabhq
|
||||
pop es
|
||||
ret
|
||||
|
||||
%endif
|
||||
|
||||
NEWSYM ConvertToAFormat
|
||||
cmp byte[GUIOn],1
|
||||
@@ -2264,6 +2255,7 @@ NEWSYM UnConvertToAFormat
|
||||
jnz .crgbloop
|
||||
ret
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM copyvesa2320x480x16b
|
||||
cmp byte[curblank],40h
|
||||
jne .startcopy
|
||||
@@ -5393,12 +5385,12 @@ NEWSYM copyvesa12640x480x16b
|
||||
jnz near .loopac
|
||||
pop es
|
||||
ret
|
||||
|
||||
%endif
|
||||
;*******************************************************
|
||||
; Clear Screen
|
||||
;*******************************************************
|
||||
|
||||
NEWSYM DOSClearScreen
|
||||
%ifdef __MSDOS__
|
||||
cmp byte[cvidmode],1
|
||||
je near cscopymodeq
|
||||
cmp byte[cvidmode],2
|
||||
@@ -5421,6 +5413,7 @@ NEWSYM DOSClearScreen
|
||||
je near cscopyvesa2320x480x16b
|
||||
cmp byte[cvidmode],0
|
||||
je near cscopymodex
|
||||
%endif
|
||||
ret
|
||||
|
||||
%macro TripleBufferClear 0
|
||||
@@ -5434,6 +5427,7 @@ NEWSYM DOSClearScreen
|
||||
%%noclear
|
||||
%endmacro
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM cscopymodeq
|
||||
push es
|
||||
mov ax,[selcA000]
|
||||
@@ -5579,21 +5573,24 @@ NEWSYM cscopyvesa2512x384x16b
|
||||
jnz .loopb
|
||||
pop es
|
||||
ret
|
||||
|
||||
%endif
|
||||
|
||||
NEWSYM GetScreen
|
||||
cmp byte[OSPort],1
|
||||
jbe .getscreen
|
||||
ret
|
||||
.getscreen
|
||||
%ifdef __MSDOS__
|
||||
; cmp byte[OSPort],1
|
||||
; jbe .getscreen
|
||||
; ret
|
||||
;.getscreen
|
||||
cmp byte[cvidmode],3
|
||||
je near getcopyvesa2320x240x16b
|
||||
cmp byte[cvidmode],5
|
||||
; je near getcopyvesa2640x480x16b
|
||||
cmp byte[cvidmode],7
|
||||
; je near getcopyvesa2512x384x16b
|
||||
%endif
|
||||
ret
|
||||
|
||||
%ifdef __MSDOS__
|
||||
NEWSYM getcopyvesa2320x240x16b
|
||||
push es
|
||||
mov ax,[vesa2selec]
|
||||
@@ -5691,13 +5688,4 @@ NEWSYM cscopyvesa12640x480x16b
|
||||
jnz near .loopa
|
||||
pop es
|
||||
ret
|
||||
|
||||
NEWSYM Clear2xSaIBuffer
|
||||
mov ebx,[vidbufferofsb]
|
||||
add ebx,288*2
|
||||
mov ecx,144*239
|
||||
.nextb
|
||||
mov dword[ebx],0FFFFFFFFh
|
||||
add ebx,4
|
||||
loop .nextb
|
||||
ret
|
||||
%endif
|
||||
@@ -53,6 +53,17 @@ EXTSYM ClearScreenSkip,debugdisble,cmovietimeint
|
||||
EXTSYM ChatNick
|
||||
EXTSYM StringLength
|
||||
EXTSYM chatstrLt
|
||||
EXTSYM GUIOn,HalfTrans
|
||||
EXTSYM ClearScreen
|
||||
EXTSYM Mode7HiRes,mosenng,mosszng,intrlng,mode7hr ;,VESAAddr
|
||||
EXTSYM GUICPC, newgfx16b
|
||||
EXTSYM vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3
|
||||
EXTSYM granadd
|
||||
EXTSYM SpecialLine
|
||||
EXTSYM vidbufferofsb
|
||||
;EXTSYM Super2xSaI
|
||||
EXTSYM HalfTransB,HalfTransC
|
||||
|
||||
|
||||
NEWSYM ProcVidAsmStart
|
||||
|
||||
@@ -82,8 +93,10 @@ NEWSYM TempDebugV, dw 0 ; Temporary Debugging variable
|
||||
%MACRO CopyFPU 0
|
||||
%ENDMACRO
|
||||
|
||||
%include "video/2xsaimmx.inc"
|
||||
%include "video/copyvid.inc"
|
||||
|
||||
SECTION .text
|
||||
NEWSYM FPUZero
|
||||
mov [.Zero],eax
|
||||
mov [.Zero+4],eax
|
||||
@@ -1551,7 +1564,9 @@ NEWSYM saveselect
|
||||
jne .nong16b
|
||||
cmp byte[cbitmode],0
|
||||
je .nong16b
|
||||
%ifdef __MSDOS__
|
||||
call GetScreen
|
||||
%endif
|
||||
.nong16b
|
||||
cmp dword[MessageOn],0
|
||||
je .nochangem
|
||||
@@ -1567,8 +1582,9 @@ NEWSYM saveselect
|
||||
cmp byte[soundon],0
|
||||
je .nosound
|
||||
mov byte[csounddisable],1
|
||||
cmp byte[OSPort],1
|
||||
ja .nosound
|
||||
;cmp byte[OSPort],1
|
||||
;ja .nosound
|
||||
%ifdef __MSDOS__
|
||||
push es
|
||||
mov es,[sbselec]
|
||||
mov edi,[sbpmofs]
|
||||
@@ -1579,6 +1595,7 @@ NEWSYM saveselect
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
pop es
|
||||
%endif
|
||||
.nosound
|
||||
cmp byte[cbitmode],1
|
||||
je near .16b
|
||||
@@ -1771,8 +1788,9 @@ NEWSYM saveselect
|
||||
.esc
|
||||
mov byte[pressed+1],0
|
||||
mov byte[pressed+28],0
|
||||
cmp byte[OSPort],1
|
||||
jbe .notpr28b
|
||||
;cmp byte[OSPort],1
|
||||
;jbe .notpr28b
|
||||
%ifndef __MSDOS__
|
||||
cmp byte[pressed+1],1
|
||||
jne .notpr1b
|
||||
mov byte[pressed+1],2
|
||||
@@ -1780,6 +1798,7 @@ NEWSYM saveselect
|
||||
cmp byte[pressed+28],1
|
||||
jne .notpr28b
|
||||
mov byte[pressed+28],2
|
||||
%endif
|
||||
.notpr28b
|
||||
mov word[t1cc],0
|
||||
mov byte[csounddisable],0
|
||||
@@ -2086,8 +2105,9 @@ NEWSYM saveselect
|
||||
mov ebx,[statefileloc]
|
||||
mov byte[fnamest+ebx],al
|
||||
.esc16b
|
||||
cmp byte[OSPort],1
|
||||
jbe .notprwin
|
||||
;cmp byte[OSPort],1
|
||||
;jbe .notprwin
|
||||
%ifndef __MSDOS__
|
||||
cmp byte[pressed+1],1
|
||||
jne .notpr1
|
||||
mov byte[pressed+1],2
|
||||
@@ -2097,6 +2117,7 @@ NEWSYM saveselect
|
||||
mov byte[pressed+28],2
|
||||
.notpr28
|
||||
jmp .prwin
|
||||
%endif
|
||||
.notprwin
|
||||
mov byte[pressed+1],0
|
||||
mov byte[pressed+28],0
|
||||
@@ -2173,8 +2194,9 @@ NEWSYM testpressed8b
|
||||
inc bl
|
||||
mov byte[pressed+77],2
|
||||
.noright
|
||||
cmp byte[OSPort],3
|
||||
jne near .nowin32
|
||||
;cmp byte[OSPort],3
|
||||
;jne near .nowin32
|
||||
%ifndef __MSDOS__
|
||||
%ifdef __LINUX__
|
||||
test byte[pressed+05Ch],1
|
||||
%else
|
||||
@@ -2205,7 +2227,8 @@ NEWSYM testpressed8b
|
||||
mov byte[pressed+0CDh],2
|
||||
%endif
|
||||
.noright2
|
||||
.nowin32
|
||||
;.nowin32
|
||||
%endif
|
||||
ret
|
||||
|
||||
;*******************************************************
|
||||
@@ -3301,11 +3324,13 @@ NEWSYM ChatType
|
||||
pushad
|
||||
mov dl,'L'
|
||||
; call NetAddChar
|
||||
cmp byte[OSPort],2
|
||||
jb .dos
|
||||
;cmp byte[OSPort],2
|
||||
;jb .dos
|
||||
%ifndef __MSDOS__
|
||||
cmp dword[chatstrL+1],'/ME '
|
||||
je .action
|
||||
.dos
|
||||
%endif
|
||||
;.dos
|
||||
mov esi,ChatNick
|
||||
call WritetochatBuffer
|
||||
mov esi,chatstrL
|
||||
@@ -3508,9 +3533,11 @@ NEWSYM vidpaste
|
||||
jne .novsync
|
||||
cmp byte[curblank],0h
|
||||
jne .novsync
|
||||
cmp byte[OSPort],1
|
||||
ja .novsync
|
||||
; cmp byte[OSPort],1
|
||||
; ja .novsync
|
||||
%ifdef __MSDOS__
|
||||
call waitvsync
|
||||
%endif
|
||||
.novsync
|
||||
cmp byte[cbitmode],1
|
||||
je .nopal
|
||||
@@ -3622,6 +3649,17 @@ NEWSYM vidpaste
|
||||
.SSRedCo dw 0
|
||||
|
||||
|
||||
NEWSYM Clear2xSaIBuffer
|
||||
mov ebx,[vidbufferofsb]
|
||||
add ebx,288*2
|
||||
mov ecx,144*239
|
||||
.nextb
|
||||
mov dword[ebx],0FFFFFFFFh
|
||||
add ebx,4
|
||||
loop .nextb
|
||||
ret
|
||||
|
||||
|
||||
NEWSYM lastfps, db 0 ; stores the last fps encountered
|
||||
NEWSYM lastfps2, db 0 ; stores the last fps encountered
|
||||
NEWSYM curfps2, db 0 ; current video refresh fps
|
||||
|
||||
Reference in New Issue
Block a user