Removed some DOS only code from other ports.

This commit is contained in:
jbo_85
2006-02-15 00:27:53 +00:00
parent ad5d82cc0c
commit 0b6a01e206
17 changed files with 882 additions and 914 deletions

View File

@@ -74,8 +74,7 @@ VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\
WINOBJ=${WINDIR}/copyvwin.o ${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o @GL_DRAW@\ WINOBJ=${WINDIR}/copyvwin.o ${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o @GL_DRAW@\
${WINDIR}/sw_draw.o ${WINDIR}/zfilew.o ${WINDIR}/sw_draw.o ${WINDIR}/zfilew.o
WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/vesa2.o\ WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/vesa2.o
${DOSDIR}/initvid.o ${DOSDIR}/sw.o ${DOSDIR}/gppro.o ${DOSDIR}/vesa12.o
ZIPOBJ=${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o ZIPOBJ=${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o
@@ -196,11 +195,7 @@ ${CPUDIR}/tablec.o: ${CPUDIR}/tablec.asm macros.mac ${CPUDIR}/65816dc.inc\
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc
${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac ${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac
${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac
${DOSDIR}/initvid.o: ${DOSDIR}/initvid.asm macros.mac ${DOSDIR}/vga.inc
${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac
${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac
${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac
${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac ${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac
${EFFECTSDIR}/burn.o: ${EFFECTSDIR}/burn.c ${EFFECTSDIR}/burn.o: ${EFFECTSDIR}/burn.c
@@ -271,7 +266,7 @@ ${VIDEODIR}/sw_draw.o: ${VIDEODIR}/sw_draw.asm macros.mac
${WINDIR}/copyvwin.o: ${WINDIR}/copyvwin.asm macros.mac ${WINDIR}/copyvwin.o: ${WINDIR}/copyvwin.asm macros.mac
${WINDIR}/gl_draw.o: ${WINDIR}/gl_draw.c gblhdr.h ${WINDIR}/gl_draw.o: ${WINDIR}/gl_draw.c gblhdr.h
${WINDIR}/sdlintrf.o: ${WINDIR}/sdlintrf.asm macros.mac ${WINDIR}/sdlintrf.o: ${WINDIR}/sdlintrf.asm macros.mac
${WINDIR}/sdllink.o: ${WINDIR}/sdllink.c gblhdr.h ${WINDIR}/sw_draw.h\ ${WINDIR}/sdllink.o: ${WINDIR}/sdllink.c asm_call.h gblhdr.h ${WINDIR}/sw_draw.h\
${WINDIR}/gl_draw.h ${WINDIR}/gl_draw.h
${WINDIR}/sw_draw.o: ${WINDIR}/sw_draw.c gblhdr.h ${WINDIR}/sw_draw.o: ${WINDIR}/sw_draw.c gblhdr.h
${WINDIR}/zfilew.o: ${WINDIR}/zfilew.c ${WINDIR}/zfilew.o: ${WINDIR}/zfilew.c

View File

@@ -75,10 +75,6 @@ dossrc = Split('''
dos/debug.asm dos/debug.asm
dos/joy.asm dos/joy.asm
dos/vesa2.asm dos/vesa2.asm
dos/initvid.asm
dos/sw.asm
dos/gppro.asm
dos/vesa12.asm
''') ''')
effectssrc = Split(''' effectssrc = Split('''
effects/burn.c effects/burn.c

View File

@@ -35,7 +35,7 @@ EXTSYM tableadc,SA1UpdateDPage,Makemode7Table,nextmenupopup,MovieProcessing
EXTSYM DosExit,InitDir,InitDrive,createnewcfg,sfxramdata,deinitvideo EXTSYM DosExit,InitDir,InitDrive,createnewcfg,sfxramdata,deinitvideo
EXTSYM SFXEnable,wramdata,cycpbl,cycpblt,irqon,spcon EXTSYM SFXEnable,wramdata,cycpbl,cycpblt,irqon,spcon
EXTSYM multchange,romispal,scrndis,sprlefttot,sprleftpr,processsprites EXTSYM multchange,romispal,scrndis,sprlefttot,sprleftpr,processsprites
EXTSYM cachesprites,NextLineStart,FlipWait,LastLineStart,opcjmptab,CheatOn EXTSYM cachesprites,opcjmptab,CheatOn
EXTSYM INTEnab,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1,ReadInputDevice EXTSYM INTEnab,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1,ReadInputDevice
EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi
EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen
@@ -58,7 +58,7 @@ EXTSYM ResetDuringMovie,EMUPauseKey,INCRFrameKey,MovieWaiting,NoInputRead
EXTSYM AllocatedRewindStates,PauseFrameMode,RestorePauseFrame,BackupPauseFrame EXTSYM AllocatedRewindStates,PauseFrameMode,RestorePauseFrame,BackupPauseFrame
%ifdef __MSDOS__ %ifdef __MSDOS__
EXTSYM dssel,Game60hzcall EXTSYM dssel,Game60hzcall,NextLineStart,FlipWait,LastLineStart
%endif %endif
SECTION .data SECTION .data
@@ -763,6 +763,7 @@ NEWSYM exitloop
ALIGN16 ALIGN16
%macro FlipCheck 0 %macro FlipCheck 0
%ifdef __MSDOS__
cmp byte[FlipWait],0 cmp byte[FlipWait],0
je %%noflip je %%noflip
push edx push edx
@@ -787,6 +788,7 @@ ALIGN16
pop eax pop eax
pop edx pop edx
%%noflip %%noflip
%endif
%endmacro %endmacro
NEWSYM execute NEWSYM execute

View File

@@ -38,7 +38,7 @@ EXTSYM DSPDisable,SBInt,PICMaskP,SBIrq,SBHandler,InitSB,handler8h
EXTSYM handler9h,init60hz,Interror,init18_2hz,DeInitSPC,GUIinit36_4hz EXTSYM handler9h,init60hz,Interror,init18_2hz,DeInitSPC,GUIinit36_4hz
EXTSYM GUIoldhand9s,GUIoldhand9o,GUIoldhand8s,GUIoldhand8o,GUIhandler9h EXTSYM GUIoldhand9s,GUIoldhand9o,GUIoldhand8s,GUIoldhand8o,GUIhandler9h
EXTSYM GUIhandler8h,GUIinit18_2hz,dosmakepal,doschangepal,dosinitvideo EXTSYM GUIhandler8h,GUIinit18_2hz,dosmakepal,doschangepal,dosinitvideo
EXTSYM dosinitvideo2,DosDrawScreen,cvidmode,vidbuffer,GUICPC,DosDrawScreenB EXTSYM DosDrawScreen,cvidmode,vidbuffer,GUICPC,DosDrawScreenB
EXTSYM DOSClearScreen,DosUpdateDevices,DOSJoyRead,pl1contrl,pl2contrl,pl3contrl EXTSYM DOSClearScreen,DosUpdateDevices,DOSJoyRead,pl1contrl,pl2contrl,pl3contrl
EXTSYM pl4contrl,pl5contrl EXTSYM pl4contrl,pl5contrl
EXTSYM GrayscaleMode EXTSYM GrayscaleMode
@@ -871,8 +871,6 @@ NEWSYM saveselectpal
; ** init video mode functions ** ; ** init video mode functions **
NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs
jmp dosinitvideo jmp dosinitvideo
NEWSYM initvideo2 ; ModeQ scanline re-init (Keep blank on non-dos ports)
jmp dosinitvideo2
NEWSYM deinitvideo NEWSYM deinitvideo
mov al,[previdmode] mov al,[previdmode]
mov ah,0 mov ah,0

View File

@@ -22,23 +22,13 @@
%include "macros.mac" %include "macros.mac"
EXTSYM InitVesa2,cbitmode,cvidmode,makepal,scanlines,selcA000,vesa2_bits EXTSYM InitVesa2,cbitmode,cvidmode,dosmakepal,scanlines,selcA000,vesa2_bits
EXTSYM vesa2_x,vesa2_y,vesa2selec,InitVesa12,videotroub EXTSYM vesa2_x,vesa2_y,vesa2selec,InitVesa12,videotroub,cscopymodeq,cscopymodex
EXTSYM res640,res480
%ifdef __MSDOS__
EXTSYM cscopymodeq,cscopymodex
%endif
SECTION .bss
NEWSYM clearfilter, resw 1
NEWSYM res640, resb 1
NEWSYM res480, resb 1
SECTION .text SECTION .text
NEWSYM initvideo2
NEWSYM dosinitvideo2
cmp byte[cvidmode],2 cmp byte[cvidmode],2
jne .nomodeq jne .nomodeq
jmp dosinitvideo.initmodeq256 jmp dosinitvideo.initmodeq256
@@ -103,11 +93,9 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodeq224 .initmodeq224
%ifdef __MSDOS__
SetVGAMode .Mode256x224c SetVGAMode .Mode256x224c
call cscopymodeq call cscopymodeq
%endif call dosmakepal
call makepal
ret ret
;******************************************************* ;*******************************************************
@@ -115,11 +103,9 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodeq240 .initmodeq240
%ifdef __MSDOS__
SetVGAMode .Mode256x240c SetVGAMode .Mode256x240c
call cscopymodeq call cscopymodeq
%endif call dosmakepal
call makepal
ret ret
;******************************************************* ;*******************************************************
@@ -127,7 +113,6 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodeq256 .initmodeq256
%ifdef __MSDOS__
cmp byte[scanlines],1 cmp byte[scanlines],1
je near .scanlines je near .scanlines
SetVGAMode .Mode256x256c SetVGAMode .Mode256x256c
@@ -137,8 +122,7 @@ NEWSYM dosinitvideo
jmp .done jmp .done
.done .done
call cscopymodeq call cscopymodeq
%endif call dosmakepal
call makepal
ret ret
@@ -147,11 +131,9 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodex224 .initmodex224
%ifdef __MSDOS__
SetVGAMode .Mode320x224 SetVGAMode .Mode320x224
call cscopymodex call cscopymodex
%endif call dosmakepal
call makepal
ret ret
;******************************************************* ;*******************************************************
@@ -159,11 +141,9 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodex240 .initmodex240
%ifdef __MSDOS__
SetVGAMode .Mode320x240 SetVGAMode .Mode320x240
call cscopymodex call cscopymodex
%endif call dosmakepal
call makepal
ret ret
;******************************************************* ;*******************************************************
@@ -171,7 +151,6 @@ NEWSYM dosinitvideo
;******************************************************* ;*******************************************************
.initmodex256 .initmodex256
%ifdef __MSDOS__
cmp byte[scanlines],1 cmp byte[scanlines],1
je near .scanlines2 je near .scanlines2
SetVGAMode .Mode320x256 SetVGAMode .Mode320x256
@@ -181,8 +160,7 @@ NEWSYM dosinitvideo
jmp .done2 jmp .done2
.done2 .done2
call cscopymodex call cscopymodex
%endif call dosmakepal
call makepal
ret ret
@@ -200,7 +178,7 @@ NEWSYM dosinitvideo
jne .notrouble jne .notrouble
ret ret
.notrouble .notrouble
call makepal call dosmakepal
; clear screen (320*240 bytes) ; clear screen (320*240 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]
@@ -258,7 +236,7 @@ NEWSYM dosinitvideo
jne .notrouble3 jne .notrouble3
ret ret
.notrouble3 .notrouble3
call makepal call dosmakepal
; clear screen (640*480 bytes) ; clear screen (640*480 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]
@@ -318,7 +296,7 @@ NEWSYM dosinitvideo
jne .notrouble11 jne .notrouble11
ret ret
.notrouble11 .notrouble11
call makepal call dosmakepal
; clear screen (800*600 bytes) ; clear screen (800*600 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]
@@ -377,7 +355,7 @@ NEWSYM dosinitvideo
jne .notrouble5 jne .notrouble5
ret ret
.notrouble5 .notrouble5
call makepal call dosmakepal
; clear screen (320*480 bytes) ; clear screen (320*480 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]
@@ -436,7 +414,7 @@ NEWSYM dosinitvideo
jne .notrouble7 jne .notrouble7
ret ret
.notrouble7 .notrouble7
call makepal call dosmakepal
; clear screen (512*384 bytes) ; clear screen (512*384 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]
@@ -494,7 +472,7 @@ NEWSYM dosinitvideo
jne .notrouble9 jne .notrouble9
ret ret
.notrouble9 .notrouble9
call makepal call dosmakepal
; clear screen (640*400 bytes) ; clear screen (640*400 bytes)
push es push es
mov ax,[vesa2selec] mov ax,[vesa2selec]

View File

@@ -22,11 +22,15 @@
%include "macros.mac" %include "macros.mac"
EXTSYM WhichSW,_SW1,_SW2,_readSideWinder,_SWCount,_SW3,_SW4,delay,pl1contrl EXTSYM WhichSW,delay,pl1contrl
EXTSYM pl2contrl,pl1p209,pl2p209,pl3p209,pl4p209,pl3contrl,pl4contrl,pressed EXTSYM pl2contrl,pl1p209,pl2p209,pl3p209,pl4p209,pl3contrl,pl4contrl,pressed
EXTSYM read_gpp,pl5contrl,pl5p209,CalibXmin,CalibYmin,CalibXmax,CalibYmax EXTSYM pl5contrl,pl5p209,CalibXmin,CalibYmin,CalibXmax,CalibYmax
EXTSYM CalibXmin209,CalibYmin209,CalibXmax209,CalibYmax209 EXTSYM CalibXmin209,CalibYmin209,CalibXmax209,CalibYmax209
%ifdef __MSDOS__
EXTSYM read_gpp,_readSideWinder,_SW1,_SW2,_SW3,_SW4,_SWCount
%endif
SECTION .data SECTION .data
NEWSYM JoyAltrn2, db 2 NEWSYM JoyAltrn2, db 2
SECTION .bss SECTION .bss
@@ -188,6 +192,7 @@ NEWSYM GetCoords3
sti sti
ret ret
%ifdef __MSDOS__
NEWSYM DosUpdateDevices NEWSYM DosUpdateDevices
mov byte[PPad],0 mov byte[PPad],0
mov byte[JoyQuant],0 mov byte[JoyQuant],0
@@ -494,10 +499,6 @@ NEWSYM DosUpdateDevices
.none2 .none2
ret ret
SECTION .data
NEWSYM JoyReadControl, db 0
SECTION .text
JoyRead209: JoyRead209:
cmp byte[JoyAltrn],1 cmp byte[JoyAltrn],1
jne near .noanalog jne near .noanalog
@@ -907,7 +908,7 @@ GamePadPro2:
.error .error
ret ret
NEWSYM SideWinder SideWinder:
mov al,[NumSWs] mov al,[NumSWs]
mov [_SWCount],al mov [_SWCount],al
mov dx,201h mov dx,201h
@@ -1089,7 +1090,7 @@ GamePadPro2209:
.error .error
ret ret
NEWSYM SideWinder209 SideWinder209:
mov al,[NumSWs209] mov al,[NumSWs209]
mov [_SWCount],al mov [_SWCount],al
mov dx,209h mov dx,209h
@@ -1223,7 +1224,7 @@ NEWSYM SideWinder209
%%nobutton %%nobutton
%endmacro %endmacro
NEWSYM GetParallelPlayer1 GetParallelPlayer1:
mov dx, 0378h mov dx, 0378h
mov byte[pressed+180h],0 mov byte[pressed+180h],0
mov byte[pressed+181h],0 mov byte[pressed+181h],0
@@ -1251,7 +1252,7 @@ NEWSYM GetParallelPlayer1
PPortHelp 0F9h, 40h, 18Bh PPortHelp 0F9h, 40h, 18Bh
ret ret
NEWSYM GetParallelPlayer2 GetParallelPlayer2:
mov dx, 0378h mov dx, 0378h
mov byte[pressed+190h],0 mov byte[pressed+190h],0
mov byte[pressed+191h],0 mov byte[pressed+191h],0
@@ -1279,7 +1280,7 @@ NEWSYM GetParallelPlayer2
PPortHelp 0F9h, 20h, 19Bh PPortHelp 0F9h, 20h, 19Bh
ret ret
NEWSYM GetParallelPlayer3 GetParallelPlayer3:
mov dx, 0378h mov dx, 0378h
mov byte[pressed+1A0h],0 mov byte[pressed+1A0h],0
mov byte[pressed+1A1h],0 mov byte[pressed+1A1h],0
@@ -1307,7 +1308,7 @@ NEWSYM GetParallelPlayer3
PPortHelp 0F9h, 10h, 1ABh PPortHelp 0F9h, 10h, 1ABh
ret ret
NEWSYM GetParallelPlayer4 GetParallelPlayer4:
mov dx, 0378h mov dx, 0378h
mov byte[pressed+1B0h],0 mov byte[pressed+1B0h],0
mov byte[pressed+1B1h],0 mov byte[pressed+1B1h],0
@@ -1335,7 +1336,7 @@ NEWSYM GetParallelPlayer4
PPortHelp 0F9h, 08h, 1BBh PPortHelp 0F9h, 08h, 1BBh
ret ret
NEWSYM GetParallelPlayer5 GetParallelPlayer5:
mov dx, 0378h mov dx, 0378h
mov byte[pressed+1c0h],0 mov byte[pressed+1c0h],0
mov byte[pressed+1c1h],0 mov byte[pressed+1c1h],0
@@ -1674,3 +1675,4 @@ NEWSYM SetInputDevice209
.nopp5 .nopp5
.exit .exit
ret ret
%endif

View File

@@ -37,25 +37,25 @@ NEWSYM granadd, resd 1
SECTION .text SECTION .text
NEWSYM VESA12EXITTODOS NEWSYM VESA12EXITTODOS
mov ax,0003h mov ax,0003h
int 10h int 10h
push edx push edx
mov edx,.exitfromvesa12 mov edx,.exitfromvesa12
mov ah,9 mov ah,9
int 21h int 21h
pop edx pop edx
mov ah,9 mov ah,9
int 21h int 21h
mov edx,.return mov edx,.return
mov ah,9 mov ah,9
int 21h int 21h
mov dl,[InitDrive] mov dl,[InitDrive]
mov ebx,InitDir mov ebx,InitDir
call Change_Dir call Change_Dir
mov byte[videotroub],1 mov byte[videotroub],1
jmp DosExit jmp DosExit
SECTION .data SECTION .data
@@ -64,153 +64,152 @@ SECTION .data
SECTION .text SECTION .text
;******************************************************* ;*******************************************************
; Set up Vesa 2 ; Set up Vesa 2
;******************************************************* ;*******************************************************
NEWSYM InitVesa12 NEWSYM InitVesa12
;-------------------------------------------------; ;-------------------------------------------------;
; First - allocate some bytes in DOS memory for ; ; First - allocate some bytes in DOS memory for ;
; communication with VBE ; ; communication with VBE ;
;-------------------------------------------------; ;-------------------------------------------------;
mov eax,0100h mov eax,0100h
mov ebx,512/16 ; 512 bytes mov ebx,512/16 ; 512 bytes
int 31h ; Function 31h,100h - Allocate DOS memory (512 bytes) int 31h ; Function 31h,100h - Allocate DOS memory (512 bytes)
jnc .gotmem jnc .gotmem
mov edx,.nomemmessage mov edx,.nomemmessage
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.gotmem .gotmem
mov fs,dx ; FS now points to the DOS buffer mov fs,dx ; FS now points to the DOS buffer
;--------------------------------------------------; ;--------------------------------------------------;
; Now, get information about the video card into ; ; Now, get information about the video card into ;
; a data structure ; ; a data structure ;
;--------------------------------------------------; ;--------------------------------------------------;
mov edi,RMREGS mov edi,RMREGS
mov dword[fs:0],'VBE1' ; Request VBE 2.0 info mov dword[fs:0],'VBE1' ; Request VBE 2.0 info
mov dword[RMREGS.eax],4f00h mov dword[RMREGS.eax],4f00h
mov word[RMREGS.es],ax ; Real mode segment of DOS mov [RMREGS.es],ax ; Real mode segment of DOS buffer
; buffer mov dword[RMREGS.edi],0
mov dword[RMREGS.edi],0
push es push es
push ds push ds
pop es pop es
mov eax,300h mov eax,300h
mov ebx,10h mov ebx,10h
xor ecx,ecx xor ecx,ecx
int 31h ; Simulate real mode interrupt int 31h ; Simulate real mode interrupt
pop es pop es
jnc .int1ok jnc .int1ok
mov edx,.noint1message mov edx,.noint1message
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.int1ok ; Real mode int successful!!! .int1ok ; Real mode int successful!!!
mov eax,[RMREGS.eax] mov eax,[RMREGS.eax]
cmp al,4fh ; Check vbe interrupt went OK cmp al,4fh ; Check vbe interrupt went OK
jz .vbedetected jz .vbedetected
mov edx,.novbemessage mov edx,.novbemessage
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.vbedetected .vbedetected
cmp dword[fs:0000],'VESA' cmp dword[fs:0000],'VESA'
jz .vesadetected ; Check for presence of vesa jz .vesadetected ; Check for presence of vesa
mov edx,.novesamessage mov edx,.novesamessage
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.vesadetected .vesadetected
cmp word[fs:0004],102h cmp word[fs:0004],102h
jae .vesa12detected ; Check we've got VESA 1.2 or greater jae .vesa12detected ; Check we've got VESA 1.2 or greater
mov edx,.novesa2message mov edx,.novesa2message
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
;-----------------------------------------------------; ;-----------------------------------------------------;
; OK - vesa 2.0 or greater has been detected. Copy ; ; OK - vesa 2.0 or greater has been detected. Copy ;
; mode information into VESAmodelist ; ; mode information into VESAmodelist ;
;-----------------------------------------------------; ;-----------------------------------------------------;
.vesa12detected .vesa12detected
mov ax,[fs:12h] ; Get no. of 64k blocks mov ax,[fs:12h] ; Get no. of 64k blocks
mov [noblocks],ax mov [noblocks],ax
mov ax, 2 mov ax, 2
mov bx,[fs:10h] mov bx,[fs:10h]
int 31h int 31h
jnc .wegottheselector jnc .wegottheselector
mov edx, .oopsnoselector mov edx, .oopsnoselector
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.wegottheselector .wegottheselector
mov gs,ax mov gs,ax
xor eax,eax xor eax,eax
mov ebp,VESAmodelist mov ebp,VESAmodelist
mov ecx,512 mov ecx,512
mov ax,[fs:0eh] mov ax,[fs:0eh]
.loopcopymodes .loopcopymodes
mov bx,[gs:eax] mov bx,[gs:eax]
mov [ebp],bx mov [ebp],bx
cmp bx,0ffffh cmp bx,0ffffh
jz .copiedmodes jz .copiedmodes
add ebp,2 add ebp,2
add eax,2 add eax,2
dec ecx dec ecx
jz .outofmodelistspace jz .outofmodelistspace
jmp .loopcopymodes jmp .loopcopymodes
.outofmodelistspace .outofmodelistspace
mov edx,.outofmodelistspacemessage mov edx,.outofmodelistspacemessage
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
;----------------------------------------------; ;----------------------------------------------;
; OK - Scan the mode list to find a matching ; ; OK - Scan the mode list to find a matching ;
; mode for vesa2_x, vesa2_y and vesa2_depth ; ; mode for vesa2_x, vesa2_y and vesa2_depth ;
;----------------------------------------------; ;----------------------------------------------;
.copiedmodes .copiedmodes
mov ebp,VESAmodelist mov ebp,VESAmodelist
xor ecx,ecx xor ecx,ecx
.loopcheckmodes .loopcheckmodes
mov cx, [ebp] mov cx, [ebp]
cmp cx, 0ffffh cmp cx, 0ffffh
jnz .notendoflist jnz .notendoflist
mov edx,.endoflist mov edx,.endoflist
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.notendoflist .notendoflist
mov edi, RMREGS mov edi, RMREGS
mov dword[RMREGS.eax],4f01h mov dword[RMREGS.eax],4f01h
mov dword[RMREGS.ebx],0 mov dword[RMREGS.ebx],0
mov [RMREGS.ecx],ecx mov [RMREGS.ecx],ecx
mov dword[RMREGS.edi],0 mov dword[RMREGS.edi],0
push es push es
push ds push ds
pop es pop es
mov eax,300h mov eax,300h
mov ebx,10h mov ebx,10h
xor ecx,ecx xor ecx,ecx
int 31h ; Simulate real mode interrupt int 31h ; Simulate real mode interrupt
pop es pop es
jnc .modecheckok jnc .modecheckok
mov edx,.modecheckfail mov edx,.modecheckfail
jmp VESA12EXITTODOS jmp VESA12EXITTODOS
.modecheckok .modecheckok
add ebp,2 add ebp,2
test word[fs:0000h],1b test word[fs:0000h],1b
jz near .loopcheckmodes ; If mode is not available jz near .loopcheckmodes ; If mode is not available
; ;
; xor eax,eax ; xor eax,eax
@@ -233,15 +232,15 @@ NEWSYM InitVesa12
; mov dl,10 ; mov dl,10
; int 21h ; int 21h
mov eax,[vesa2_x] mov eax,[vesa2_x]
cmp [fs:12h],ax ; Check that the height matches cmp [fs:12h],ax ; Check that the height matches
jnz near .loopcheckmodes jnz near .loopcheckmodes
mov eax,[vesa2_y] mov eax,[vesa2_y]
cmp [fs:14h],ax ; Check that the width matches cmp [fs:14h],ax ; Check that the width matches
jnz near .loopcheckmodes jnz near .loopcheckmodes
mov al,[vesa2_bits] mov al,[vesa2_bits]
cmp [fs:19h],al ; Check bits/pixel for match cmp [fs:19h],al ; Check bits/pixel for match
jnz near .loopcheckmodes jnz near .loopcheckmodes
; mov ah,07h ; mov ah,07h
; int 21h ; int 21h
@@ -257,23 +256,23 @@ NEWSYM InitVesa12
; 1 = Window is writeable ; 1 = Window is writeable
; D3-D7 = Reserved ; D3-D7 = Reserved
mov byte[.whichwin],0 mov byte[.whichwin],0
mov al,[fs:2] ; Get window A attributes mov al,[fs:2] ; Get window A attributes
and al,0100b and al,0100b
cmp al,0100b cmp al,0100b
je .foundwin ; Mode supported je .foundwin ; Mode supported
mov al,[fs:3] ; Get window B attributes mov al,[fs:3] ; Get window B attributes
and al,0100b and al,0100b
cmp al,0100b cmp al,0100b
jne .foundwin ; Mode not supported jne .foundwin ; Mode not supported
mov byte[.whichwin],1 mov byte[.whichwin],1
.foundwin .foundwin
; Success - a match has been found!! ; Success - a match has been found!!
sub ebp,2 sub ebp,2
mov ax,[ebp] mov ax,[ebp]
mov [vesamode],ax ; Store vesa 1.2 mode number mov [vesamode],ax ; Store vesa 1.2 mode number
; and eax,0FFFFh ; and eax,0FFFFh
; push eax ; push eax
; mov ax,0003h ; mov ax,0003h
@@ -282,229 +281,227 @@ NEWSYM InitVesa12
; call printnum ; call printnum
; jmp DosExit ; jmp DosExit
mov ax,[fs:10h] mov ax,[fs:10h]
mov byte[vesa2red10],0 mov byte[vesa2red10],0
mov byte[vesa2_rposng],11 mov byte[vesa2_rposng],11
mov byte[vesa2_gposng],6 mov byte[vesa2_gposng],6
mov byte[vesa2_bposng],0 mov byte[vesa2_bposng],0
mov dword[vesa2_clbitng],1111011111011110b mov dword[vesa2_clbitng],1111011111011110b
mov dword[vesa2_clbitng2],11110111110111101111011111011110b mov dword[vesa2_clbitng2],11110111110111101111011111011110b
mov dword[vesa2_clbitng2+4],11110111110111101111011111011110b mov dword[vesa2_clbitng2+4],11110111110111101111011111011110b
mov dword[vesa2_clbitng3],0111101111101111b mov dword[vesa2_clbitng3],0111101111101111b
mov [bytesperscanline],ax ; Store bytes per scan line mov [bytesperscanline],ax ; Store bytes per scan line
cmp byte[fs:20h],10 cmp byte[fs:20h],10
jne .nored10 jne .nored10
mov byte[fs:20h],11 mov byte[fs:20h],11
mov byte[vesa2red10],1 mov byte[vesa2red10],1
mov byte[vesa2_rposng],10 mov byte[vesa2_rposng],10
mov byte[vesa2_gposng],5 mov byte[vesa2_gposng],5
mov dword[vesa2_clbitng],0111101111011110b mov dword[vesa2_clbitng],0111101111011110b
mov dword[vesa2_clbitng2],01111011110111100111101111011110b mov dword[vesa2_clbitng2],01111011110111100111101111011110b
mov dword[vesa2_clbitng2+4],01111011110111100111101111011110b mov dword[vesa2_clbitng2+4],01111011110111100111101111011110b
mov dword[vesa2_clbitng3],0011110111101111b mov dword[vesa2_clbitng3],0011110111101111b
.nored10 .nored10
; fix up bit lengths ; fix up bit lengths
mov al,16 mov al,16
sub al,[fs:20h] sub al,[fs:20h]
mov ah,[fs:22h] mov ah,[fs:22h]
sub ah,[fs:20h] sub ah,[fs:20h]
mov bl,[fs:24h] mov bl,[fs:24h]
sub bl,[fs:20h] sub bl,[fs:20h]
mov bh,al mov bh,al
cmp bh,ah cmp bh,ah
jb .scheck1 jb .scheck1
mov bh,ah mov bh,ah
.scheck1 .scheck1
cmp bh,bl cmp bh,bl
jb .scheck2 jb .scheck2
mov bh,bl mov bh,bl
.scheck2 .scheck2
mov byte[fs:19h],5 mov byte[fs:19h],5
mov al,16 mov al,16
sub al,[fs:22h] sub al,[fs:22h]
mov ah,[fs:20h] mov ah,[fs:20h]
sub ah,[fs:22h] sub ah,[fs:22h]
mov bl,[fs:24h] mov bl,[fs:24h]
sub bl,[fs:22h] sub bl,[fs:22h]
mov bh,al mov bh,al
cmp bh,ah cmp bh,ah
jb .scheck1b jb .scheck1b
mov bh,ah mov bh,ah
.scheck1b .scheck1b
cmp bh,bl cmp bh,bl
jb .scheck2b jb .scheck2b
mov bh,bl mov bh,bl
.scheck2b .scheck2b
mov [fs:21h],bh mov [fs:21h],bh
mov al,16 mov al,16
sub al,[fs:24h] sub al,[fs:24h]
mov ah,[fs:20h] mov ah,[fs:20h]
sub ah,[fs:24h] sub ah,[fs:24h]
mov bl,[fs:22h] mov bl,[fs:22h]
sub bl,[fs:24h] sub bl,[fs:24h]
mov bh,al mov bh,al
cmp bh,ah cmp bh,ah
jb .scheck1c jb .scheck1c
mov bh,ah mov bh,ah
.scheck1c .scheck1c
cmp bh,bl cmp bh,bl
jb .scheck2c jb .scheck2c
mov bh,bl mov bh,bl
.scheck2c .scheck2c
mov [fs:23h],bh mov [fs:23h],bh
mov word[vesa2_clbit],0 mov word[vesa2_clbit],0
cmp byte[fs:20h],10 cmp byte[fs:20h],10
jne .nottopbit jne .nottopbit
mov word[vesa2_usbit],8000h mov word[vesa2_usbit],8000h
.nottopbit .nottopbit
; Process Red Stuff ; Process Red Stuff
mov al,[fs:20h] ; bit sizes = [fs:19h,21h,23h] mov al,[fs:20h] ; bit sizes = [fs:19h,21h,23h]
mov cl,al mov cl,al
mov bx,1 mov bx,1
shl bx,cl shl bx,cl
cmp byte[fs:19h],6 cmp byte[fs:19h],6
jne .no6bit jne .no6bit
mov [vesa2_usbit],bx mov [vesa2_usbit],bx
inc al inc al
.no6bit .no6bit
or [vesa2_clbit],bx or [vesa2_clbit],bx
mov [vesa2_rpos],al mov [vesa2_rpos],al
dec al dec al
mov cl,al mov cl,al
mov bx,001Fh mov bx,001Fh
cmp cl,0FFh cmp cl,0FFh
je .shrr je .shrr
shl bx,cl shl bx,cl
jmp .shlr jmp .shlr
.shrr .shrr
shr bx,1 shr bx,1
.shlr .shlr
mov [vesa2_rfull],bx mov [vesa2_rfull],bx
add al,5 add al,5
mov bx,1 mov bx,1
mov cl,al mov cl,al
shl bx,cl shl bx,cl
mov [vesa2_rtrcl],bx mov [vesa2_rtrcl],bx
xor bx,0FFFFh xor bx,0FFFFh
mov [vesa2_rtrcla],bx mov [vesa2_rtrcla],bx
; Process Green Stuff ; Process Green Stuff
mov al,[fs:22h] mov al,[fs:22h]
mov cl,al mov cl,al
mov bx,1 mov bx,1
shl bx,cl shl bx,cl
cmp byte[fs:21h],6 cmp byte[fs:21h],6
jne .no6bitb jne .no6bitb
mov [vesa2_usbit],bx mov [vesa2_usbit],bx
inc al inc al
.no6bitb .no6bitb
or [vesa2_clbit],bx or [vesa2_clbit],bx
mov [vesa2_gpos],al mov [vesa2_gpos],al
dec al dec al
mov cl,al mov cl,al
mov bx,001Fh mov bx,001Fh
cmp cl,0FFh cmp cl,0FFh
je .shrg je .shrg
shl bx,cl shl bx,cl
jmp .shlg jmp .shlg
.shrg .shrg
shr bx,1 shr bx,1
.shlg .shlg
mov [vesa2_gfull],bx mov [vesa2_gfull],bx
add al,5 add al,5
mov bx,1 mov bx,1
mov cl,al mov cl,al
shl bx,cl shl bx,cl
mov [vesa2_gtrcl],bx mov [vesa2_gtrcl],bx
xor bx,0FFFFh xor bx,0FFFFh
mov [vesa2_gtrcla],bx mov [vesa2_gtrcla],bx
; Process Blue Stuff ; Process Blue Stuff
mov al,[fs:24h] mov al,[fs:24h]
mov cl,al mov cl,al
mov bx,1 mov bx,1
shl bx,cl shl bx,cl
cmp byte[fs:23h],6 cmp byte[fs:23h],6
jne .no6bitc jne .no6bitc
mov [vesa2_usbit],bx mov [vesa2_usbit],bx
inc al inc al
.no6bitc .no6bitc
or [vesa2_clbit],bx or [vesa2_clbit],bx
mov [vesa2_bpos],al mov [vesa2_bpos],al
dec al dec al
mov cl,al mov cl,al
mov bx,001Fh mov bx,001Fh
cmp cl,0FFh cmp cl,0FFh
je .shrb je .shrb
shl bx,cl shl bx,cl
jmp .shlb jmp .shlb
.shrb .shrb
shr bx,1 shr bx,1
.shlb .shlb
mov [vesa2_bfull],bx mov [vesa2_bfull],bx
add al,5 add al,5
mov bx,1 mov bx,1
mov cl,al mov cl,al
shl bx,cl shl bx,cl
mov [vesa2_btrcl],bx mov [vesa2_btrcl],bx
xor bx,0FFFFh xor bx,0FFFFh
mov [vesa2_btrcla],bx mov [vesa2_btrcla],bx
xor word[vesa2_clbit],0FFFFh xor word[vesa2_clbit],0FFFFh
mov ax,[fs:4] mov ax,[fs:4]
mov [granularity],ax mov [granularity],ax
xor edx,edx xor edx,edx
mov ax,64 mov ax,64
mov bx,[granularity] mov bx,[granularity]
div bx div bx
mov [granadd],ax mov [granadd],ax
call genfulladdtab call genfulladdtab
xor eax,eax xor eax,eax
xor ebx,ebx xor ebx,ebx
xor ecx,ecx xor ecx,ecx
xor edx,edx xor edx,edx
mov ax,4f02h mov ax,4f02h
mov bx,[vesamode] mov bx,[vesamode]
int 10h ; Set the vesa mode int 10h ; Set the vesa mode
cmp ax,004fh cmp ax,004fh
jz .modesetok jz .modesetok
mov edx,.unableset mov edx,.unableset
jmp VESA12EXITTODOS ; Failure!!! jmp VESA12EXITTODOS ; Failure!!!
.modesetok .modesetok
;******************************* EXTRA BIT **************************** ;******************************* EXTRA BIT ****************************
ret ret
; Check logical scanline length ; Check logical scanline length
mov eax,4f06h mov eax,4f06h
mov ebx,1 mov ebx,1
int 10h int 10h
cmp cx,[vesa2_x] cmp cx,[vesa2_x]
je .correctwidth je .correctwidth
mov eax,4f06h ; VBE Set/Get logical scan line mov eax,4f06h ; VBE Set/Get logical scan line length
; length mov ebx,0 ; Set scan line length in pixels
mov ebx,0 ; Set scan line length in mov ecx, [vesa2_x] ; Desired screen width
; pixels int 10h
mov ecx, [vesa2_x] ; Desired screen width cmp ax,04fh
int 10h jz .correctwidth
cmp ax,04fh mov edx, .unablescan
jz .correctwidth jmp VESA12EXITTODOS ; Failure!!!
mov edx, .unablescan
jmp VESA12EXITTODOS ; Failure!!!
.correctwidth .correctwidth
ret ret
SECTION .data SECTION .data
.nomemmessage db ': Unable to locate DOS memory.$' .nomemmessage db ': Unable to locate DOS memory.$'

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,6 @@
; by kode54, stainless ; by kode54, stainless
%ifdef __MSDOS__
%macro SetVGAMode 1 %macro SetVGAMode 1
mov byte[cbitmode],0 mov byte[cbitmode],0
@@ -152,5 +151,3 @@ SECTION .data
SECTION .text SECTION .text
%endif

View File

@@ -79,9 +79,9 @@ EXTSYM statesaver,loadstate2,vidbuffer,ASCII2Font,hirestiledat,showallext
EXTSYM scanlines,statefileloc,pl1selk,pl2selk,fnamest,sprlefttot,spritetablea EXTSYM scanlines,statefileloc,pl1selk,pl2selk,fnamest,sprlefttot,spritetablea
EXTSYM fnames,CHIPBATT,sfxramdata,setaramdata,SETAEnable,cgram,srama,tempco0 EXTSYM fnames,CHIPBATT,sfxramdata,setaramdata,SETAEnable,cgram,srama,tempco0
EXTSYM prevbright,maxbr,prevpal,coladdr,coladdg,coladdb,scaddtype,ScreenScale EXTSYM prevbright,maxbr,prevpal,coladdr,coladdg,coladdb,scaddtype,ScreenScale
EXTSYM initvideo2,initvideo,pressed,UpdateDevices,memtabler8 EXTSYM initvideo,pressed,UpdateDevices,memtabler8
EXTSYM memtablew8,writeon,pl1contrl,pl2contrl,JoyRead,SetInputDevice,delay EXTSYM memtablew8,writeon,pl1contrl,pl2contrl,JoyRead,SetInputDevice,delay
EXTSYM SetInputDevice209,FPSOn,RevStereo,WDSPReg0C,WDSPReg1C,pl12s34,resolutn EXTSYM FPSOn,RevStereo,WDSPReg0C,WDSPReg1C,pl12s34,resolutn
EXTSYM InitDrive,InitDir,createnewcfg,Makemode7Table,vidbufferofsb,ZipSupport EXTSYM InitDrive,InitDir,createnewcfg,Makemode7Table,vidbufferofsb,ZipSupport
EXTSYM wramdata,bgfixer,cfgnewgfx,videotroub,Open_File,Read_File EXTSYM wramdata,bgfixer,cfgnewgfx,videotroub,Open_File,Read_File
EXTSYM Close_File,Write_File,Create_File,File_Seek,File_Seek_End,Get_Date EXTSYM Close_File,Write_File,Create_File,File_Seek,File_Seek_End,Get_Date
@@ -149,7 +149,7 @@ EXTSYM numlockptr
%elifdef __WIN32__ %elifdef __WIN32__
EXTSYM initDirectDraw,reInitSound EXTSYM initDirectDraw,reInitSound
%elifdef __MSDOS__ %elifdef __MSDOS__
EXTSYM dssel EXTSYM dssel,SetInputDevice209,initvideo2
%endif %endif
%include "gui/guitools.inc" %include "gui/guitools.inc"
@@ -477,16 +477,18 @@ GUIQuickLoadUpdate:
.off .off
mov dword[GUIPrevMenuData.onoff+15],'OFF ' mov dword[GUIPrevMenuData.onoff+15],'OFF '
.on .on
mov esi,prevloadfnamel
%ifdef __MSDOS__ %ifdef __MSDOS__
mov esi,prevloadnames mov esi,prevloadnames
%else
mov esi,prevloadfnamel
%endif %endif
mov edi,GUIPrevMenuData+3 mov edi,GUIPrevMenuData+3
mov edx,10 mov edx,10
.mainloop .mainloop
mov ecx,25
%ifdef __MSDOS__ %ifdef __MSDOS__
mov ecx,16 mov ecx,16
%else
mov ecx,25
%endif %endif
push edi push edi
push esi push esi
@@ -525,9 +527,10 @@ GUIQuickLoadUpdate:
.fin .fin
pop esi pop esi
pop edi pop edi
add esi,512 ;16
%ifdef __MSDOS__ %ifdef __MSDOS__
sub esi,512-16 add esi,16
%else
add esi,512 ;16
%endif %endif
add edi,32 add edi,32
dec edx dec edx

View File

@@ -238,6 +238,7 @@ CalibrateDev1:
mov [JoyMaxY],eax mov [JoyMaxY],eax
mov [CalibYmax],eax mov [CalibYmax],eax
ret ret
%ifdef __MSDOS__
.port209 .port209
cmp bl,1 cmp bl,1
jbe .nojoy209 jbe .nojoy209
@@ -305,6 +306,7 @@ CalibrateDev1:
mov [JoyMaxY209],eax mov [JoyMaxY209],eax
mov [CalibYmax209],eax mov [CalibYmax209],eax
ret ret
%endif
SECTION .bss SECTION .bss
.joyblx resd 1 .joyblx resd 1
.joybly resd 1 .joybly resd 1
@@ -333,6 +335,7 @@ SetDevice:
call SetInputDevice call SetInputDevice
call UpdateDevices call UpdateDevices
jmp .procmtap jmp .procmtap
%ifdef __MSDOS__
.port209 .port209
mov dword[CalibXmin209],0 mov dword[CalibXmin209],0
mov ecx,[DevicePtr+eax*4] mov ecx,[DevicePtr+eax*4]
@@ -344,6 +347,7 @@ SetDevice:
mov bh,[cplayernum] mov bh,[cplayernum]
call SetInputDevice209 call SetInputDevice209
call UpdateDevices call UpdateDevices
%endif
.procmtap .procmtap
mov byte[MultiTap],1 mov byte[MultiTap],1
cmp byte[SFXEnable],1 cmp byte[SFXEnable],1

View File

@@ -813,8 +813,8 @@ ProcessMouseButtons:
GUIProcVideo: GUIProcVideo:
mov al,[GUIcurrentvideocursloc]
%ifdef __MSDOS__ %ifdef __MSDOS__
mov al,[GUIcurrentvideocursloc]
cmp al,3 cmp al,3
je .yes16b je .yes16b
cmp al,5 cmp al,5
@@ -825,8 +825,8 @@ GUIProcVideo:
je .yes16b je .yes16b
cmp al,8 cmp al,8
jne .no16b jne .no16b
%endif
.yes16b .yes16b
%endif
; mov byte[newengen],0 ; mov byte[newengen],0
; mov byte[cfgnewgfx],0 ; mov byte[cfgnewgfx],0
; jmp .skipno16b ; jmp .skipno16b
@@ -1300,8 +1300,8 @@ GUIWinClicked:
%%done %%done
mov al,%3 mov al,%3
mov %4,al mov %4,al
call ClearScreen
%ifdef __MSDOS__ %ifdef __MSDOS__
call ClearScreen
cmp byte[En2xSaI],0 cmp byte[En2xSaI],0
jne %%nomodeq jne %%nomodeq
cmp byte[cvidmode],2 cmp byte[cvidmode],2
@@ -1315,8 +1315,8 @@ GUIWinClicked:
call initvideo2 call initvideo2
mov byte[cbitmode],0 mov byte[cbitmode],0
call GUISetPal call GUISetPal
%endif
%%nomodex %%nomodex
%endif
ret ret
%%noclick %%noclick
%endmacro %endmacro
@@ -2062,8 +2062,8 @@ DisplayGUIChoseSaveClick:
mov ebx,[keycontrolval] mov ebx,[keycontrolval]
mov byte[ebx],1 mov byte[ebx],1
pop ebx pop ebx
%endif
%%notwin32 %%notwin32
%endif
ret ret
%%cancelkey %%cancelkey
xor ebx,ebx xor ebx,ebx

View File

@@ -433,8 +433,8 @@ GUIOutputStringwinl:
cmp al,'%' cmp al,'%'
jne .noperc jne .noperc
call ConvertPercValue call ConvertPercValue
%endif
.noperc .noperc
%endif
or al,al or al,al
jz .nomore jz .nomore
mov al,[ASCII2Font+eax] mov al,[ASCII2Font+eax]
@@ -459,6 +459,7 @@ GUIOutputStringwinl:
.nomore .nomore
ret ret
%ifndef __MSDOS__
ConvertPercValue: ConvertPercValue:
mov al,[edi+2] mov al,[edi+2]
cmp al,'a' cmp al,'a'
@@ -511,6 +512,7 @@ ConvertPercValue:
xor eax,eax xor eax,eax
mov al,[edi] mov al,[edi]
ret ret
%endif
OutputUnder: OutputUnder:
cmp edx,-8 cmp edx,-8

View File

@@ -698,9 +698,6 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs
ret ret
NEWSYM initvideo2 ; ModeQ scanline re-init (Keep blank on non-dos ports)
ret
NEWSYM deinitvideo NEWSYM deinitvideo
ret ret

View File

@@ -161,8 +161,7 @@ CPUOBJ=${CPUDIR}/dma${OE} ${CPUDIR}/dsp${OE} ${CPUDIR}/dspproc${OE}\
${CPUDIR}/stable${OE} ${CPUDIR}/table${OE} ${CPUDIR}/tableb${OE}\ ${CPUDIR}/stable${OE} ${CPUDIR}/table${OE} ${CPUDIR}/tableb${OE}\
${CPUDIR}/tablec${OE} ${CPUDIR}/tablec${OE}
DOSOBJORIG=${DOSDIR}/debug${OE} ${DOSDIR}/joy${OE} ${DOSDIR}/vesa2${OE}\ DOSOBJORIG=${DOSDIR}/debug${OE} ${DOSDIR}/joy${OE} ${DOSDIR}/vesa2${OE}
${DOSDIR}/initvid${OE} ${DOSDIR}/sw${OE} ${DOSDIR}/gppro${OE} ${DOSDIR}/vesa12${OE}
EFFECTSOBJ=${EFFECTSDIR}/burn${OE} ${EFFECTSDIR}/water${OE} ${EFFECTSDIR}/smoke${OE} EFFECTSOBJ=${EFFECTSDIR}/burn${OE} ${EFFECTSDIR}/water${OE} ${EFFECTSDIR}/smoke${OE}
@@ -199,7 +198,8 @@ ZIPOBJ=${ZIPDIR}/unzip${OE} ${ZIPDIR}/zpng${OE}
OBJSORIG=${CHIPSOBJ} ${CPUOBJ} ${GUIOBJ} ${VIDEOBJ} ${MAINOBJ} ${ZIPOBJ} ${EFFECTSOBJ} ${JMAOBJ} OBJSORIG=${CHIPSOBJ} ${CPUOBJ} ${GUIOBJ} ${VIDEOBJ} ${MAINOBJ} ${ZIPOBJ} ${EFFECTSOBJ} ${JMAOBJ}
ifeq (${OS},__MSDOS__) ifeq (${OS},__MSDOS__)
DOSOBJ=${DOSOBJORIG} ${DOSDIR}/dosintrf${OE} ${DOSDIR}/sound${OE} ${DOSDIR}/zfile${OE} DOSOBJ=${DOSOBJORIG} ${DOSDIR}/dosintrf${OE} ${DOSDIR}/gppro${OE} ${DOSDIR}/initvid${OE}\
${DOSDIR}/sound${OE} ${DOSDIR}/sw${OE} ${DOSDIR}/vesa12${OE} ${DOSDIR}/zfile${OE}
OBJS=${OBJSORIG} ${DOSOBJ} OBJS=${OBJSORIG} ${DOSOBJ}
DELETEOBJS=${OBJSORIG} ${DOSOBJ} DELETEOBJS=${OBJSORIG} ${DOSOBJ}
endif endif

View File

@@ -1542,6 +1542,10 @@ NEWSYM copyvesa2640x400x16b
;******************************************************* ;*******************************************************
%endif %endif
SECTION .bss
NEWSYM res640, resb 1
NEWSYM res480, resb 1
SECTION .data SECTION .data
NEWSYM EagleHold, dd 0 NEWSYM EagleHold, dd 0

View File

@@ -25,7 +25,7 @@
EXTSYM BGMA,V8Mode,antienab,cacheud,cbitmode,ccud,cfield,cgram,coladdb,coladdg EXTSYM BGMA,V8Mode,antienab,cacheud,cbitmode,ccud,cfield,cgram,coladdb,coladdg
EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI
EXTSYM gammalevel,hirestiledat,ignor512,latchx,latchy,maxbr,ForceNewGfxOff EXTSYM gammalevel,hirestiledat,ignor512,latchx,latchy,maxbr,ForceNewGfxOff
EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,res640,resolutn EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,resolutn
EXTSYM romispal,scaddtype,scanlines,selcA000,snesmouse,t1cc,vcache4b,vesa2_bpos EXTSYM romispal,scaddtype,scanlines,selcA000,snesmouse,t1cc,vcache4b,vesa2_bpos
EXTSYM spritetablea,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec EXTSYM spritetablea,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec
EXTSYM vidbuffer,vram,KeyStateSelct,soundon,Open_File,Read_File EXTSYM vidbuffer,vram,KeyStateSelct,soundon,Open_File,Read_File