Replaced most of the OSPort tests with %ifdef

This commit is contained in:
teuf
2001-05-07 00:00:45 +00:00
parent a258375051
commit 28f53de9b6
8 changed files with 168 additions and 118 deletions

View File

@@ -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

View File

@@ -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