Fix up sections variables are created in, major code cleanup, remove protection removal. Completed! :D
This commit is contained in:
@@ -49,12 +49,6 @@ EXTSYM cycpbl,debugbuf,soundon,spcA,spcNZ,spcP,spcPCRam
|
||||
EXTSYM spcRam,spcRamDP,spcS,spcX,spcY
|
||||
EXTSYM CurPtrVal,SPC7110Enable
|
||||
|
||||
NEWSYM DebugAsmStart
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; debstop at regsw.asm 2118/2119
|
||||
|
||||
|
||||
@@ -94,48 +88,6 @@ NEWSYM startdebugger
|
||||
EXTSYM oamram
|
||||
mov edx,oamram
|
||||
mov ecx,544
|
||||
; mov ecx,2048*4
|
||||
; mov edx,[C4Ram]
|
||||
; mov ecx,32768
|
||||
; mov edx,[romdata]
|
||||
; add edx,65536*13h
|
||||
; mov ecx,2EFh
|
||||
; mov edx,SDD1Array
|
||||
; mov ecx,[SDD1Entry]
|
||||
; mov edx,[romdata]
|
||||
; add edx,32768*40
|
||||
; mov edx,cnetplaybuf
|
||||
; mov ecx,512
|
||||
; mov edx,[sfxramdata]
|
||||
; add edx,65536
|
||||
; mov edx,fxtrace
|
||||
; mov ecx,65536
|
||||
; mov edx,[wramdata]
|
||||
; mov ecx,544
|
||||
; mov edx,oamram
|
||||
; mov ecx,256
|
||||
; mov edx,DSPFuncUsed
|
||||
|
||||
; mov edx,fulladdtab
|
||||
; mov ecx,65536*2
|
||||
|
||||
; mov ecx,17*4
|
||||
; mov edx,_ViewerZ
|
||||
; mov ecx,512
|
||||
; mov edx,cgram
|
||||
; mov ecx,256*4
|
||||
; mov edx,fxtrace
|
||||
;NEWSYM DecompArray, times 65536 db 0
|
||||
;NEWSYM DecompAPtr, dd 0
|
||||
; mov edx,DecompArray
|
||||
; mov ecx,[DecompAPtr]
|
||||
; shl ecx,3
|
||||
; mov edx,[romdata]
|
||||
; add edx,3E5CCEh
|
||||
; mov ecx,0022h
|
||||
; mov edx,[romdata]
|
||||
; add edx,1024*4096
|
||||
; mov ecx,65536
|
||||
|
||||
or ecx,ecx
|
||||
jz .nofilecontents
|
||||
@@ -174,10 +126,10 @@ NEWSYM startdebugger
|
||||
|
||||
jmp DosExit
|
||||
|
||||
SECTION .data
|
||||
.fname2 db 9,'vram.dat',0
|
||||
.fname3 db 9,'vram2.dat',0
|
||||
|
||||
SECTION .data
|
||||
; global variables
|
||||
NEWSYM debugh, dw 0 ; debug head
|
||||
NEWSYM debugt, dw 0 ; debug tail
|
||||
@@ -261,7 +213,9 @@ NEWSYM loadtempstuff
|
||||
mov [timinl2],al
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
.spcfname db 'temp.spc',0
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; Debug Loop
|
||||
@@ -445,8 +399,11 @@ NEWSYM debugdump
|
||||
call Write_File
|
||||
call Close_File
|
||||
jmp debugloopb
|
||||
|
||||
SECTION .data
|
||||
.fname db 'SPCRAM.DMP',0
|
||||
.fname2 db 'DSP.DMP',0
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; Debug save/load states
|
||||
@@ -1416,7 +1373,9 @@ NEWSYM traceops
|
||||
mov [xpc],si
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
.message1 db 'Tracing. Press ESC to stop.'
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; SPCBreakOps Breaks at Breakpoint @ SPC
|
||||
@@ -1511,7 +1470,9 @@ NEWSYM SPCbreakops
|
||||
mov [xpc],si
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
.message1 db 'Locating Breakpoint ... Press ESC to stop.'
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; BreakatSign Breaks whenever debstop = 1
|
||||
@@ -1614,7 +1575,9 @@ NEWSYM breakatsign
|
||||
pop es
|
||||
jmp debugloopa
|
||||
|
||||
SECTION .data
|
||||
.message1 db 'Waiting for Signal .... Press ESC to stop.'
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; BreakatSign&Log Breaks whenever debstop = 1
|
||||
@@ -1790,6 +1753,7 @@ NEWSYM breakatsignlog
|
||||
mov bx,[.handle]
|
||||
call Close_File
|
||||
|
||||
SECTION .data
|
||||
.loggeddata times 128 db 0
|
||||
.message1 db 'Waiting for Signal .... Press ESC to stop.',0
|
||||
.handle dw 0
|
||||
@@ -1798,7 +1762,6 @@ NEWSYM breakatsignlog
|
||||
;*******************************************************
|
||||
; BreakatSignB Breaks whenever keyonsn = 1
|
||||
;*******************************************************
|
||||
SECTION .data
|
||||
NEWSYM keyonsn, db 0
|
||||
NEWSYM prbreak, db 0
|
||||
SECTION .text
|
||||
@@ -2239,7 +2202,8 @@ NEWSYM startdisplay
|
||||
jmp .loopprint
|
||||
.doneprint
|
||||
ret
|
||||
|
||||
|
||||
SECTION .data
|
||||
.debuginfo db '- @5Z@4S@3N@2E@6S@7 debugger -$'
|
||||
.D65816 db ' 65816 $'
|
||||
.mbar db '@4(@6T@4)@7race for @4(@6B@4)@7reakpoint '
|
||||
@@ -2250,7 +2214,6 @@ NEWSYM startdisplay
|
||||
; Next Opcode Writes the next opcode & regs
|
||||
;*******************************************************
|
||||
; 008000 STZ $123456,x A:0000 X:0000 Y:0000 S:01FF DB:00 D:0000 P:33 E+
|
||||
SECTION .data
|
||||
NEWSYM debugsa1, db 0
|
||||
NEWSYM skipdebugsa1, db 1
|
||||
SECTION .text
|
||||
@@ -3545,7 +3508,7 @@ SECTION .text
|
||||
pop ecx
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
SECTION .data
|
||||
.hexdat db '0123456789ABCDEF'
|
||||
SECTION .text
|
||||
|
||||
@@ -3610,7 +3573,10 @@ NEWSYM nextopcodesa1
|
||||
mov dl,0
|
||||
int 10h
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
.blah db 0
|
||||
SECTION .text
|
||||
|
||||
.outputtobuffer
|
||||
; output pb/pc
|
||||
@@ -4406,4 +4372,3 @@ NEWSYM ArgumentTable
|
||||
; F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
|
||||
db 14,01,02,03,15,16,17,18,35,64,09,65,31,66,67,00
|
||||
SECTION .text
|
||||
NEWSYM DebugAsmEnd
|
||||
|
||||
@@ -77,18 +77,8 @@ EXTSYM TCPIPAddress
|
||||
; made. GUI36hzcall should be called at 36hz after a call GUIInit and
|
||||
; before GUIDeInit.
|
||||
|
||||
|
||||
;SECTION .data
|
||||
;NEWSYM OSPort, db 0 ; 0 = DOS (C), 1 = DOS (ASM), 2 = Linux, 3 = Win95
|
||||
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM OSPort, resb 1
|
||||
|
||||
SECTION .data
|
||||
|
||||
NEWSYM dssel, dw 0
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM StartUp
|
||||
@@ -445,11 +435,6 @@ NEWSYM Get_File_Date
|
||||
%%prskip
|
||||
%endmacro
|
||||
|
||||
;SECTION .data
|
||||
;NEWSYM prval, db 0
|
||||
;NEWSYM prres, db 0
|
||||
;SECTION .text
|
||||
|
||||
NEWSYM Check_Key
|
||||
; xor al,al
|
||||
; PressConv 75,01h,75
|
||||
@@ -1609,16 +1594,6 @@ NEWSYM Check60hz
|
||||
; TCP/IP Stuff
|
||||
; ****************************
|
||||
|
||||
; TCPIPPortNum
|
||||
;NEWSYM TCPIPStatus, db 0
|
||||
;NEWSYM PacketSendSize, dd 0
|
||||
;NEWSYM PacketRecvSize, dd 0
|
||||
;NEWSYM PacketRecvPtr, dd 0
|
||||
;NEWSYM PacketSendArray, times 256 db 0
|
||||
;NEWSYM PacketRecvArray, times 256 db 0
|
||||
;NEWSYM IPAddrStr, times 20 db 0
|
||||
;NEWSYM RemoteDisconnect, db 0
|
||||
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM TCPIPStatus, resb 1
|
||||
@@ -1806,7 +1781,6 @@ NEWSYM GetHostName
|
||||
|
||||
NEWSYM hostname
|
||||
NEWSYM UDPConfig
|
||||
;NEWSYM tcperr, dd 0,0,0,0
|
||||
|
||||
SECTION .bss
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
%include "macros.mac"
|
||||
|
||||
NEWSYM GPProAsmStart
|
||||
section .data
|
||||
sample times 60 db 0
|
||||
clock_mask db 0
|
||||
@@ -154,4 +153,3 @@ GPP_ERR:
|
||||
pop ebx
|
||||
mov eax,1
|
||||
ret
|
||||
NEWSYM GPProAsmEnd
|
||||
|
||||
@@ -26,9 +26,6 @@ EXTSYM vesa2selec,InitVesa12,videotroub
|
||||
EXTSYM cscopymodeq,cscopymodex
|
||||
%endif
|
||||
|
||||
NEWSYM InitVidAsmStart
|
||||
|
||||
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM clearfilter, resw 1
|
||||
@@ -572,5 +569,3 @@ NEWSYM dosinitvideo
|
||||
mov ecx,6144
|
||||
pop es
|
||||
ret
|
||||
|
||||
NEWSYM InitVidAsmEnd
|
||||
|
||||
@@ -30,67 +30,8 @@ EXTSYM pl5contrl,pl5p209
|
||||
EXTSYM CalibXmin, CalibYmin, CalibXmax, CalibYmax, CalibXmin209
|
||||
EXTSYM CalibYmin209, CalibXmax209, CalibYmax209
|
||||
|
||||
NEWSYM JoyAsmStart
|
||||
|
||||
|
||||
SECTION .data
|
||||
|
||||
;NEWSYM joy4218, db 0
|
||||
;NEWSYM joy4219, db 0
|
||||
;NEWSYM joy4218j, db 0
|
||||
;NEWSYM joy4219j, db 0
|
||||
;NEWSYM joy421A, db 0
|
||||
;NEWSYM joy421B, db 0
|
||||
;NEWSYM joy421Aj, db 0
|
||||
;NEWSYM joy421Bj, db 0
|
||||
|
||||
;NEWSYM JoyCenterX, dd 0
|
||||
;NEWSYM JoyCenterY, dd 0
|
||||
;NEWSYM JoyMaxX, dd 0
|
||||
;NEWSYM JoyMaxY, dd 0
|
||||
;NEWSYM JoyMinX, dd 0
|
||||
;NEWSYM JoyMinY, dd 0
|
||||
;NEWSYM JoyExists, db 0
|
||||
;NEWSYM JoyX, dd 0
|
||||
;NEWSYM JoyY, dd 0
|
||||
;NEWSYM JoyCenterX2, dd 0
|
||||
;NEWSYM JoyCenterY2, dd 0
|
||||
;NEWSYM JoyMaxX2, dd 0
|
||||
;NEWSYM JoyMaxY2, dd 0
|
||||
;NEWSYM JoyMinX2, dd 0
|
||||
;NEWSYM JoyMinY2, dd 0
|
||||
;NEWSYM JoyExists2, db 0
|
||||
;NEWSYM JoyX2, dd 0
|
||||
;NEWSYM JoyY2, dd 0
|
||||
;NEWSYM JoyAltrn, db 0
|
||||
NEWSYM JoyAltrn2, db 2
|
||||
;NEWSYM JoyCenterX209, dd 0
|
||||
;NEWSYM JoyCenterY209, dd 0
|
||||
;NEWSYM JoyMaxX209, dd 0
|
||||
;NEWSYM JoyMaxY209, dd 0
|
||||
;NEWSYM JoyMinX209, dd 0
|
||||
;NEWSYM JoyMinY209, dd 0
|
||||
;NEWSYM JoyCenterX2209, dd 0
|
||||
;NEWSYM JoyCenterY2209, dd 0
|
||||
;NEWSYM JoyMaxX2209, dd 0
|
||||
;NEWSYM JoyMaxY2209, dd 0
|
||||
;NEWSYM JoyMinX2209, dd 0
|
||||
;NEWSYM JoyMinY2209, dd 0
|
||||
|
||||
;JoyQuant db 0
|
||||
;JoyBQuant db 0
|
||||
;NumSWs db 0
|
||||
;NumGRiPs db 0
|
||||
;PPad db 0 ; b0 = pp0, b1 = pp1
|
||||
|
||||
;JoyQuant209 db 0
|
||||
;JoyBQuant209 db 0
|
||||
;NumSWs209 db 0
|
||||
;NumGRiPs209 db 0
|
||||
;Buttons6 db 0
|
||||
;Buttons6209 db 0
|
||||
|
||||
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM joy4218, resb 1
|
||||
@@ -147,20 +88,6 @@ NumGRiPs209 resb 1
|
||||
Buttons6 resb 1
|
||||
Buttons6209 resb 1
|
||||
|
||||
;NEWSYM pl3selk, dd 0 ; 3SELECT = SHIFT
|
||||
;NEWSYM pl3startk, dd 0 ; 3START = ENTER
|
||||
;NEWSYM pl3upk, dd 0 ; 3UP = up
|
||||
;NEWSYM pl3downk, dd 0 ; 3DOWN = down
|
||||
;NEWSYM pl3leftk, dd 0 ; 3LEFT = left
|
||||
;NEWSYM pl3rightk, dd 0 ; 3RIGHT = right
|
||||
;NEWSYM pl3Yk, dd 0 ; 3X = INS
|
||||
;NEWSYM pl3Xk, dd 0 ; 3A = HOME
|
||||
;NEWSYM pl3Lk, dd 0 ; 3L = PAGE UP
|
||||
;NEWSYM pl3Bk, dd 0 ; 3Y = DELETE
|
||||
;NEWSYM pl3Ak, dd 0 ; 3B = END
|
||||
;NEWSYM pl3Rk, dd 0 ; 3R = PAGE DOWN
|
||||
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM GetCoords
|
||||
@@ -570,7 +497,9 @@ NEWSYM DosUpdateDevices
|
||||
.none2
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
NEWSYM JoyReadControl, db 0
|
||||
SECTION .text
|
||||
|
||||
JoyRead209:
|
||||
cmp byte[JoyAltrn],1
|
||||
@@ -1748,6 +1677,4 @@ NEWSYM SetInputDevice209
|
||||
.nopp5
|
||||
|
||||
.exit
|
||||
ret
|
||||
|
||||
NEWSYM JoyAsmEnd
|
||||
ret
|
||||
@@ -27,13 +27,6 @@ EXTSYM delay
|
||||
EXTSYM dssel
|
||||
%endif
|
||||
|
||||
NEWSYM DosModemRTNAsmStart
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM UartType, resb 1
|
||||
|
||||
@@ -457,5 +450,3 @@ NEWSYM DeInitModemC
|
||||
out dx,al
|
||||
sti
|
||||
ret
|
||||
|
||||
NEWSYM DosModemRTNAsmEnd
|
||||
|
||||
@@ -431,7 +431,7 @@ NEWSYM stopsbsound
|
||||
sti
|
||||
iretd
|
||||
|
||||
section .bss ;ALIGN=32
|
||||
section .bss
|
||||
NEWSYM sbhandexec, resd 1
|
||||
section .text
|
||||
|
||||
@@ -650,7 +650,7 @@ NEWSYM stopsbsound16
|
||||
; Sound Blaster Initialization Stuff
|
||||
;****************************************************
|
||||
|
||||
section .bss ;ALIGN=32
|
||||
section .bss
|
||||
NEWSYM memoryloc, resd 1 ; Memory offset in conventional memory
|
||||
NEWSYM memoryloc2, resd 1 ; Memory offset in conventional memory
|
||||
NEWSYM sbselec, resw 1 ; Selector of Memory location
|
||||
@@ -805,7 +805,7 @@ NEWSYM InitSB
|
||||
call SB_dsp_write
|
||||
jmp .fixsurround
|
||||
|
||||
SECTION .bss ;ALIGN=32
|
||||
SECTION .bss
|
||||
.Versionnum resw 1
|
||||
SECTION .text
|
||||
|
||||
|
||||
@@ -19,11 +19,6 @@
|
||||
|
||||
EXTSYM SidewinderFix
|
||||
|
||||
NEWSYM SWAsmStart
|
||||
|
||||
|
||||
|
||||
|
||||
%macro ParityCheckSW 1
|
||||
mov ecx,ebx
|
||||
xor cl,ch
|
||||
@@ -223,4 +218,3 @@ ModeALoop:
|
||||
dec ecx
|
||||
jnz ModeALoop
|
||||
ret
|
||||
NEWSYM SWAsmEnd
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
;Flat memory mode (Protected mode extender required! Tested with DOS32)
|
||||
;Tested with TASM 4.0+
|
||||
|
||||
|
||||
SECTION .data
|
||||
SW1 dd 0 ;SW #1's button status
|
||||
SW2 dd 0 ;SW #2's button status
|
||||
SW3 dd 0 ;SW #3's button status
|
||||
@@ -47,6 +47,7 @@ SWSetup dd 0 ;Tell the driver what polling mode to use
|
||||
|
||||
gDump times 100h db 0 ;SW Status dump buffer (space for 256 bytes, uses 200)
|
||||
bDump times 80h db 0 ;buffer to hold button data (Modes A and B, all SW)
|
||||
SECTION .text
|
||||
|
||||
;This macro calculates parity for the buttons and compares it to the SW's
|
||||
; parity bit. If they don't match, the button data is discarded.
|
||||
|
||||
@@ -28,21 +28,11 @@ EXTSYM InitDrive,gotoroot,InitDir,fulladdtab
|
||||
EXTSYM LFBpointer,noblocks,bytesperscanline,vesamode,VESAmodelist
|
||||
|
||||
|
||||
NEWSYM Vesa12AsmStart
|
||||
|
||||
|
||||
|
||||
; add 0214h video mode
|
||||
|
||||
;NEWSYM granularity, dw 0
|
||||
;NEWSYM granadd, dd 0
|
||||
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM granularity, resw 1
|
||||
NEWSYM granadd, resd 1
|
||||
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM VESA12EXITTODOS
|
||||
@@ -66,32 +56,30 @@ NEWSYM VESA12EXITTODOS
|
||||
mov byte[videotroub],1
|
||||
jmp DosExit
|
||||
|
||||
|
||||
SECTION .data
|
||||
.exitfromvesa12 db 'Unable to Initialize VESA1.2 $'
|
||||
.return db 10,13,'$'
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; Set up Vesa 2
|
||||
;*******************************************************
|
||||
|
||||
NEWSYM InitVesa12
|
||||
;-------------------------------------------------;
|
||||
; First - allocate some bytes in DOS memory for ;
|
||||
; communication with VBE ;
|
||||
;-------------------------------------------------;
|
||||
;-------------------------------------------------;
|
||||
; First - allocate some bytes in DOS memory for ;
|
||||
; communication with VBE ;
|
||||
;-------------------------------------------------;
|
||||
|
||||
mov eax,0100h
|
||||
mov ebx,512/16 ; 512 bytes
|
||||
int 31h ; Function 31h,100h - Allocate
|
||||
; DOS memory (512 bytes)
|
||||
jnc .gotmem
|
||||
mov edx,.nomemmessage
|
||||
jmp VESA12EXITTODOS
|
||||
.nomemmessage
|
||||
db ': Unable to locate DOS memory.$'
|
||||
|
||||
.gotmem
|
||||
mov fs,dx ; FS now points to the DOS
|
||||
; buffer
|
||||
mov eax,0100h
|
||||
mov ebx,512/16 ; 512 bytes
|
||||
int 31h ; Function 31h,100h - Allocate DOS memory (512 bytes)
|
||||
jnc .gotmem
|
||||
mov edx,.nomemmessage
|
||||
jmp VESA12EXITTODOS
|
||||
.gotmem
|
||||
mov fs,dx ; FS now points to the DOS buffer
|
||||
|
||||
|
||||
;--------------------------------------------------;
|
||||
@@ -118,8 +106,6 @@ NEWSYM InitVesa12
|
||||
jnc .int1ok
|
||||
mov edx,.noint1message
|
||||
jmp VESA12EXITTODOS
|
||||
.noint1message
|
||||
db ': Simulated real mode interrupt failed.$'
|
||||
|
||||
.int1ok ; Real mode int successful!!!
|
||||
mov eax,[RMREGS.eax]
|
||||
@@ -127,24 +113,19 @@ NEWSYM InitVesa12
|
||||
jz .vbedetected
|
||||
mov edx,.novbemessage
|
||||
jmp VESA12EXITTODOS
|
||||
.novbemessage
|
||||
db ': VBE not detected!!$'
|
||||
|
||||
.vbedetected
|
||||
cmp dword[fs:0000],'VESA'
|
||||
jz .vesadetected ; Check for presence of vesa
|
||||
mov edx,.novesamessage
|
||||
jmp VESA12EXITTODOS
|
||||
.novesamessage
|
||||
db ': VESA not detected!$'
|
||||
|
||||
|
||||
.vesadetected
|
||||
cmp word[fs:0004],102h
|
||||
jae .vesa12detected ; Check we've got VESA 1.2 or greater
|
||||
mov edx,.novesa2message
|
||||
jmp VESA12EXITTODOS
|
||||
.novesa2message
|
||||
db ': VESA 1.2 or greater required!$'
|
||||
|
||||
|
||||
;-----------------------------------------------------;
|
||||
@@ -162,8 +143,6 @@ NEWSYM InitVesa12
|
||||
jnc .wegottheselector
|
||||
mov edx, .oopsnoselector
|
||||
jmp VESA12EXITTODOS
|
||||
.oopsnoselector
|
||||
db ': Failed to allocate vesa display selector!$'
|
||||
|
||||
.wegottheselector
|
||||
|
||||
@@ -187,8 +166,6 @@ NEWSYM InitVesa12
|
||||
.outofmodelistspace
|
||||
mov edx,.outofmodelistspacemessage
|
||||
jmp VESA12EXITTODOS
|
||||
.outofmodelistspacemessage
|
||||
db ': Out of VESA mode list space!$'
|
||||
|
||||
;----------------------------------------------;
|
||||
; OK - Scan the mode list to find a matching ;
|
||||
@@ -208,9 +185,6 @@ NEWSYM InitVesa12
|
||||
mov edx,.endoflist
|
||||
jmp VESA12EXITTODOS
|
||||
|
||||
.endoflist db ': VESA 1.2 mode does not work on your video card/driver.$'
|
||||
.whichwin db 0
|
||||
|
||||
.notendoflist
|
||||
|
||||
mov edi, RMREGS
|
||||
@@ -230,8 +204,6 @@ NEWSYM InitVesa12
|
||||
jnc .modecheckok
|
||||
mov edx,.modecheckfail
|
||||
jmp VESA12EXITTODOS
|
||||
.modecheckfail
|
||||
db ': Real mode interrupt failure while checking vesa mode$'
|
||||
|
||||
.modecheckok
|
||||
add ebp,2
|
||||
@@ -492,11 +464,6 @@ NEWSYM InitVesa12
|
||||
div bx
|
||||
mov [granadd],ax
|
||||
|
||||
|
||||
;vesa2_rtrcl dw 0 ; red transparency clear (bit+4)
|
||||
;vesa2_rtrcla dw 0 ; red transparency (AND) clear (not(bit+4))
|
||||
;vesa2_rfull dw 0 ; red max (or (bit-1)*1Fh)
|
||||
|
||||
call genfulladdtab
|
||||
|
||||
xor eax,eax
|
||||
@@ -510,7 +477,6 @@ NEWSYM InitVesa12
|
||||
jz .modesetok
|
||||
mov edx,.unableset
|
||||
jmp VESA12EXITTODOS ; Failure!!!
|
||||
.unableset db 'Unable to initialize video mode.$'
|
||||
|
||||
.modesetok
|
||||
;******************************* EXTRA BIT ****************************
|
||||
@@ -534,34 +500,24 @@ NEWSYM InitVesa12
|
||||
jz .correctwidth
|
||||
mov edx, .unablescan
|
||||
jmp VESA12EXITTODOS ; Failure!!!
|
||||
.unablescan db 'Unable to set scan line length.$'
|
||||
|
||||
.correctwidth
|
||||
|
||||
ret
|
||||
|
||||
|
||||
;RMREGS
|
||||
;.edi dd 0
|
||||
;.esi dd 0
|
||||
;.ebp dd 0
|
||||
;.esp dd 0
|
||||
;.ebx dd 0
|
||||
;.edx dd 0
|
||||
;.ecx dd 0
|
||||
;.eax dd 0
|
||||
;.flags dw 0
|
||||
;.es dw 0
|
||||
;.ds dw 0
|
||||
;.fs dw 0
|
||||
;.gs dw 0
|
||||
;.ip dw 0
|
||||
;.cs dw 0
|
||||
;.sp dw 0
|
||||
;.ss dw 0
|
||||
;.spare times 20 dd 0
|
||||
|
||||
|
||||
SECTION .data
|
||||
.nomemmessage db ': Unable to locate DOS memory.$'
|
||||
.noint1message db ': Simulated real mode interrupt failed.$'
|
||||
.oopsnoselector db ': Failed to allocate vesa display selector!$'
|
||||
.novesa2message db ': VESA 1.2 or greater required!$'
|
||||
.novbemessage db ': VBE not detected!!$'
|
||||
.novesamessage db ': VESA not detected!$'
|
||||
.outofmodelistspacemessage db ': Out of VESA mode list space!$'
|
||||
.endoflist db ': VESA 1.2 mode does not work on your video card/driver.$'
|
||||
.whichwin db 0
|
||||
.modecheckfail db ': Real mode interrupt failure while checking vesa mode$'
|
||||
.unableset db 'Unable to initialize video mode.$'
|
||||
.unablescan db 'Unable to set scan line length.$'
|
||||
SECTION .bss
|
||||
|
||||
RMREGS
|
||||
@@ -583,5 +539,3 @@ RMREGS
|
||||
.sp resw 1
|
||||
.ss resw 1
|
||||
.spare times 20 resd 1
|
||||
|
||||
NEWSYM Vesa12AsmEnd
|
||||
|
||||
@@ -28,11 +28,7 @@ EXTSYM UnusedBit,HalfTrans,UnusedBitXor,ngrposng,nggposng,ngbposng
|
||||
|
||||
EXTSYM Init_2xSaIMMX
|
||||
|
||||
NEWSYM Vesa2AsmStart
|
||||
|
||||
|
||||
SECTION .data
|
||||
|
||||
; add 0214h video mode
|
||||
anticrash times 10 db 0
|
||||
|
||||
@@ -162,8 +158,10 @@ NEWSYM VESA2EXITTODOS
|
||||
call Change_Dir
|
||||
jmp DosExit
|
||||
|
||||
SECTION .data
|
||||
.exitfromvesa2 db 'Unable to Initialize VESA2 : ',0
|
||||
.return db 10,13,0
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; Set up Vesa 2
|
||||
@@ -182,8 +180,6 @@ NEWSYM InitVesa2
|
||||
jnc .gotmem
|
||||
mov edx,.nomemmessage
|
||||
jmp VESA2EXITTODOS
|
||||
.nomemmessage
|
||||
db 'Unable to locate DOS memory.',0
|
||||
|
||||
.gotmem
|
||||
mov fs,dx ; FS now points to the DOS
|
||||
@@ -214,8 +210,7 @@ NEWSYM InitVesa2
|
||||
jnc .int1ok
|
||||
mov edx,.noint1message
|
||||
jmp VESA2EXITTODOS
|
||||
.noint1message
|
||||
db 'Simulated real mode interrupt failed.',0
|
||||
|
||||
|
||||
.int1ok ; Real mode int successful!!!
|
||||
mov eax,[RMREGS.eax]
|
||||
@@ -223,24 +218,19 @@ NEWSYM InitVesa2
|
||||
jz .vbedetected
|
||||
mov edx,.novbemessage
|
||||
jmp VESA2EXITTODOS
|
||||
.novbemessage
|
||||
db 'VBE not detected!!',0
|
||||
|
||||
.vbedetected
|
||||
cmp dword[fs:0000],'VESA'
|
||||
jz .vesadetected ; Check for presence of vesa
|
||||
mov edx,.novesamessage
|
||||
jmp VESA2EXITTODOS
|
||||
.novesamessage
|
||||
db 'VESA not detected!',0
|
||||
|
||||
|
||||
.vesadetected
|
||||
cmp word[fs:0004],200h
|
||||
jae .vesa2detected ; Check we've got VESA 2.0 or greater
|
||||
mov edx,.novesa2message
|
||||
jmp VESA2EXITTODOS
|
||||
.novesa2message
|
||||
db 'VESA 2.0 or greater required!',0
|
||||
|
||||
|
||||
;-----------------------------------------------------;
|
||||
@@ -263,8 +253,6 @@ NEWSYM InitVesa2
|
||||
jnc .wegottheselector
|
||||
mov edx, .oopsnoselector
|
||||
jmp VESA2EXITTODOS
|
||||
.oopsnoselector
|
||||
db 'Failed to allocate vesa display selector!',0
|
||||
|
||||
.wegottheselector
|
||||
|
||||
@@ -288,8 +276,6 @@ NEWSYM InitVesa2
|
||||
.outofmodelistspace
|
||||
mov edx,.outofmodelistspacemessage
|
||||
jmp VESA2EXITTODOS
|
||||
.outofmodelistspacemessage
|
||||
db 'Out of VESA2 mode list space!',0
|
||||
|
||||
;----------------------------------------------;
|
||||
; OK - Scan the mode list to find a matching ;
|
||||
@@ -309,9 +295,6 @@ NEWSYM InitVesa2
|
||||
mov edx,.endoflist
|
||||
jmp VESA2EXITTODOS
|
||||
|
||||
.endoflist db 'This VESA2 mode does not work on your video card / driver.',0
|
||||
.whichwin db 0
|
||||
|
||||
.notendoflist
|
||||
|
||||
mov edi, RMREGS
|
||||
@@ -331,8 +314,6 @@ NEWSYM InitVesa2
|
||||
jnc .modecheckok
|
||||
mov edx,.modecheckfail
|
||||
jmp VESA2EXITTODOS
|
||||
.modecheckfail
|
||||
db 'Real mode interrupt failure while checking vesa mode',0
|
||||
|
||||
.modecheckok
|
||||
add ebp,2
|
||||
@@ -622,17 +603,12 @@ NEWSYM InitVesa2
|
||||
|
||||
xor word[vesa2_clbit],0FFFFh
|
||||
|
||||
;vesa2_rtrcl dw 0 ; red transparency clear (bit+4)
|
||||
;vesa2_rtrcla dw 0 ; red transparency (AND) clear (not(bit+4))
|
||||
;vesa2_rfull dw 0 ; red max (or (bit-1)*1Fh)
|
||||
|
||||
call genfulladdtab
|
||||
|
||||
test word[fs:0h],10000000b ; Check if linear available
|
||||
jnz .linearavailable
|
||||
mov edx,.nolframebuffer
|
||||
jmp VESA2EXITTODOS ; None available
|
||||
.nolframebuffer db 'Linear Frame Buffer not Detected.',0
|
||||
|
||||
;---------------------------------------------;
|
||||
; OK - now set the vesa 2 mode based on the ;
|
||||
@@ -655,7 +631,6 @@ NEWSYM InitVesa2
|
||||
jnc .mappedphysicalarea
|
||||
mov edx,.unablemap
|
||||
jmp VESA2EXITTODOS ; Failure!!!
|
||||
.unablemap db 'Unable to map physical area.',0
|
||||
|
||||
.mappedphysicalarea
|
||||
shl ebx,16
|
||||
@@ -676,8 +651,7 @@ NEWSYM InitVesa2
|
||||
jz .modesetok
|
||||
mov edx,.unableset
|
||||
jmp VESA2EXITTODOS ; Failure!!!
|
||||
.unableset db 'Unable to initialize video mode.',0
|
||||
|
||||
|
||||
.modesetok
|
||||
;******************************* EXTRA BIT ****************************
|
||||
|
||||
@@ -708,7 +682,6 @@ NEWSYM InitVesa2
|
||||
jz .correctwidth
|
||||
mov edx, .unablescan
|
||||
jmp VESA2EXITTODOS ; Failure!!!
|
||||
.unablescan db 'Unable to set scan line length.',0
|
||||
|
||||
.correctwidth
|
||||
|
||||
@@ -728,7 +701,6 @@ NEWSYM InitVesa2
|
||||
jnc .selectornowset
|
||||
mov edx,.unablelfb
|
||||
jmp VESA2EXITTODOS ; Failure!!!
|
||||
.unablelfb db 'Unable to set selector to LFB.',0
|
||||
|
||||
.selectornowset
|
||||
|
||||
@@ -744,7 +716,6 @@ NEWSYM InitVesa2
|
||||
jnc .ok
|
||||
mov edx,.unablesets
|
||||
jmp VESA2EXITTODOS ; Failure!!!
|
||||
.unablesets db 'Unable to set size of selector.',0
|
||||
|
||||
.ok
|
||||
lar ecx,ebx
|
||||
@@ -757,7 +728,6 @@ NEWSYM InitVesa2
|
||||
jnc .accessrightsset
|
||||
mov edx,.unablesetar
|
||||
jmp VESA2EXITTODOS
|
||||
.unablesetar db 'Unable to set selector access rights.',0
|
||||
|
||||
.accessrightsset
|
||||
mov [vesa2selec],bx
|
||||
@@ -776,6 +746,23 @@ NEWSYM InitVesa2
|
||||
|
||||
|
||||
SECTION .data
|
||||
.nomemmessage db 'Unable to locate DOS memory.',0
|
||||
.noint1message db 'Simulated real mode interrupt failed.',0
|
||||
.novbemessage db 'VBE not detected!!',0
|
||||
.novesamessage db 'VESA not detected!',0
|
||||
.novesa2message db 'VESA 2.0 or greater required!',0
|
||||
.oopsnoselector db 'Failed to allocate vesa display selector!',0
|
||||
.outofmodelistspacemessage db 'Out of VESA2 mode list space!',0
|
||||
.endoflist db 'This VESA2 mode does not work on your video card / driver.',0
|
||||
.whichwin db 0
|
||||
.modecheckfail db 'Real mode interrupt failure while checking vesa mode',0
|
||||
.nolframebuffer db 'Linear Frame Buffer not Detected.',0
|
||||
.unablemap db 'Unable to map physical area.',0
|
||||
.unableset db 'Unable to initialize video mode.',0
|
||||
.unablescan db 'Unable to set scan line length.',0
|
||||
.unablelfb db 'Unable to set selector to LFB.',0
|
||||
.unablesets db 'Unable to set size of selector.',0
|
||||
.unablesetar db 'Unable to set selector access rights.',0
|
||||
|
||||
NEWSYM LFBpointer
|
||||
dd 0
|
||||
@@ -794,29 +781,6 @@ NEWSYM vesamode
|
||||
SECTION .bss
|
||||
|
||||
NEWSYM VESAmodelist, times 512 resw 1
|
||||
|
||||
|
||||
;NEWSYM RMREGS
|
||||
;.edi dd 0
|
||||
;.esi dd 0
|
||||
;.ebp dd 0
|
||||
;.esp dd 0
|
||||
;.ebx dd 0
|
||||
;.edx dd 0
|
||||
;.ecx dd 0
|
||||
;.eax dd 0
|
||||
;
|
||||
;.flags dw 0
|
||||
;.es dw 0
|
||||
;.ds dw 0
|
||||
;.fs dw 0
|
||||
;.gs dw 0
|
||||
;.ip dw 0
|
||||
;.cs dw 0
|
||||
;.sp dw 0
|
||||
;.ss dw 0
|
||||
;.spare times 20 dd 0
|
||||
|
||||
NEWSYM RMREGS
|
||||
.edi resd 1
|
||||
.esi resd 1
|
||||
@@ -838,4 +802,3 @@ NEWSYM RMREGS
|
||||
.ss resw 1
|
||||
.spare times 20 resd 1
|
||||
;----------------------------------------------------------------------
|
||||
NEWSYM Vesa2AsmEnd
|
||||
|
||||
@@ -40,8 +40,9 @@ EXTSYM modembuffer, modemhead, modemtail
|
||||
|
||||
|
||||
|
||||
|
||||
SECTION .data
|
||||
NEWSYM ipxinited, db 0
|
||||
SECTION .text
|
||||
|
||||
NEWSYM initipx
|
||||
mov dword[modemhead],0
|
||||
@@ -65,7 +66,9 @@ NEWSYM deinitipx
|
||||
.notinitialized
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
NEWSYM PacketPointer, dd 0
|
||||
SECTION .text
|
||||
|
||||
NEWSYM PreparePacketIPX
|
||||
cmp byte[ipxinited],1
|
||||
@@ -89,7 +92,10 @@ NEWSYM ipxsendchar ; prepare packet
|
||||
pop esi
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
NEWSYM IPXSearchval, db 0
|
||||
SECTION .text
|
||||
|
||||
NEWSYM ipxlookforconnect
|
||||
cmp byte[ipxinited],0
|
||||
je .initialized
|
||||
|
||||
Reference in New Issue
Block a user