home *** CD-ROM | disk | FTP | other *** search
- ; Static Name Aliases
-
- ;
-
- ; $S135_L EQU L
-
- ; $S137_I EQU I
-
- ; $S143_J EQU J
-
- TITLE fdrivers.for
-
- NAME fdrivers
-
-
-
- .8087
-
- FDRIVERS_TEXT SEGMENT BYTE PUBLIC 'CODE'
-
- FDRIVERS_TEXT ENDS
-
- _DATA SEGMENT WORD PUBLIC 'DATA'
-
- _DATA ENDS
-
- CONST SEGMENT WORD PUBLIC 'CONST'
-
- CONST ENDS
-
- _BSS SEGMENT WORD PUBLIC 'BSS'
-
- _BSS ENDS
-
- DGROUP GROUP CONST, _BSS, _DATA
-
- ASSUME CS: FDRIVERS_TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
-
- EXTRN __acrtused:ABS
-
- EXTRN _locator:FAR
-
- EXTRN _slocator:FAR
-
- EXTRN _vsetflush:FAR
-
- EXTRN _voutput:FAR
-
- EXTRN _vflush:FAR
-
- EXTRN _vinit:FAR
-
- EXTRN _vnewdev:FAR
-
- EXTRN T_STRING:FAR
-
- EXTRN _vgetdev:FAR
-
- EXTRN _pushdev:FAR
-
- EXTRN __FClccop:FAR
-
- EXTRN _popdev:FAR
-
- EXTRN _vexit:FAR
-
- EXTRN _clear:FAR
-
- EXTRN _color:FAR
-
- EXTRN _mapcolor:FAR
-
- EXTRN _getdepth:FAR
-
- EXTRN _getkey:FAR
-
- EXTRN _checkkey:FAR
-
- EXTRN __FCclenv:DWORD
-
- _DATA SEGMENT
-
- $SG146 DB ' '
-
- _DATA ENDS
-
- _BSS SEGMENT
-
- $S135_L DW 02H DUP (?)
-
- $S137_I DW 02H DUP (?)
-
- $S143_J DW 02H DUP (?)
-
- _BSS ENDS
-
- FDRIVERS_TEXT SEGMENT
-
- ; Line 73
-
- PUBLIC VOUTPUT
-
- VOUTPUT PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,268
-
- push di
-
- push si
-
- ; S = 6
-
- mov ax,WORD PTR __FCclenv
-
- mov dx,WORD PTR __FCclenv+2
-
- mov WORD PTR [bp-12],ax
-
- mov WORD PTR [bp-10],dx
-
- mov WORD PTR [bp-2],128
-
- les bx,DWORD PTR [bp-12]
-
- mov ax,WORD PTR es:[bx+2]
-
- mov WORD PTR [bp-6],ax
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;S
-
- lea ax,WORD PTR [bp-140]
-
- push ax
-
- mov WORD PTR [bp-8],128
-
- lea ax,WORD PTR [bp-8]
-
- mov dx,ss
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,dx
-
- call FAR PTR T_STRING
-
- lea di,WORD PTR [bp-268]
-
- mov si,ax
-
- push ss
-
- pop es
-
- mov cx,64
-
- rep movsw
-
- lea ax,WORD PTR [bp-268]
-
- push ss
-
- push ax
-
- lea ax,WORD PTR [bp-4]
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,ss
-
- call FAR PTR _voutput
-
- add sp,4
-
- ; Line 74
-
- pop si
-
- pop di
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VOUTPUT ENDP
-
- ; Line 80
-
- PUBLIC VINIT
-
- VINIT PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,268
-
- push di
-
- push si
-
- ; S = 6
-
- mov ax,WORD PTR __FCclenv
-
- mov dx,WORD PTR __FCclenv+2
-
- mov WORD PTR [bp-12],ax
-
- mov WORD PTR [bp-10],dx
-
- mov WORD PTR [bp-2],128
-
- les bx,DWORD PTR [bp-12]
-
- mov ax,WORD PTR es:[bx+2]
-
- mov WORD PTR [bp-6],ax
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;S
-
- lea ax,WORD PTR [bp-140]
-
- push ax
-
- mov WORD PTR [bp-8],128
-
- lea ax,WORD PTR [bp-8]
-
- mov dx,ss
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,dx
-
- call FAR PTR T_STRING
-
- lea di,WORD PTR [bp-268]
-
- mov si,ax
-
- push ss
-
- pop es
-
- mov cx,64
-
- rep movsw
-
- lea ax,WORD PTR [bp-268]
-
- push ss
-
- push ax
-
- lea ax,WORD PTR [bp-4]
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,ss
-
- call FAR PTR _vinit
-
- add sp,4
-
- ; Line 81
-
- pop si
-
- pop di
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VINIT ENDP
-
- ; Line 87
-
- PUBLIC VNEWDEV
-
- VNEWDEV PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,268
-
- push di
-
- push si
-
- ; S = 6
-
- mov ax,WORD PTR __FCclenv
-
- mov dx,WORD PTR __FCclenv+2
-
- mov WORD PTR [bp-12],ax
-
- mov WORD PTR [bp-10],dx
-
- mov WORD PTR [bp-2],128
-
- les bx,DWORD PTR [bp-12]
-
- mov ax,WORD PTR es:[bx+2]
-
- mov WORD PTR [bp-6],ax
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;S
-
- lea ax,WORD PTR [bp-140]
-
- push ax
-
- mov WORD PTR [bp-8],128
-
- lea ax,WORD PTR [bp-8]
-
- mov dx,ss
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,dx
-
- call FAR PTR T_STRING
-
- lea di,WORD PTR [bp-268]
-
- mov si,ax
-
- push ss
-
- pop es
-
- mov cx,64
-
- rep movsw
-
- lea ax,WORD PTR [bp-268]
-
- push ss
-
- push ax
-
- lea ax,WORD PTR [bp-4]
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,ss
-
- call FAR PTR _vnewdev
-
- add sp,4
-
- ; Line 88
-
- pop si
-
- pop di
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VNEWDEV ENDP
-
- ; Line 94
-
- PUBLIC PUSHDEV
-
- PUSHDEV PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,268
-
- push di
-
- push si
-
- ; S = 6
-
- mov ax,WORD PTR __FCclenv
-
- mov dx,WORD PTR __FCclenv+2
-
- mov WORD PTR [bp-12],ax
-
- mov WORD PTR [bp-10],dx
-
- mov WORD PTR [bp-2],128
-
- les bx,DWORD PTR [bp-12]
-
- mov ax,WORD PTR es:[bx+2]
-
- mov WORD PTR [bp-6],ax
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;S
-
- lea ax,WORD PTR [bp-140]
-
- push ax
-
- mov WORD PTR [bp-8],128
-
- lea ax,WORD PTR [bp-8]
-
- mov dx,ss
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,dx
-
- call FAR PTR T_STRING
-
- lea di,WORD PTR [bp-268]
-
- mov si,ax
-
- push ss
-
- pop es
-
- mov cx,64
-
- rep movsw
-
- lea ax,WORD PTR [bp-268]
-
- push ss
-
- push ax
-
- lea ax,WORD PTR [bp-4]
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,ss
-
- call FAR PTR _pushdev
-
- add sp,4
-
- ; Line 95
-
- pop si
-
- pop di
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- PUSHDEV ENDP
-
- ; Line 98
-
- PUBLIC POPDEV
-
- POPDEV PROC FAR
-
- push bp
-
- mov bp,sp
-
- call FAR PTR _popdev
-
- ; Line 99
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- POPDEV ENDP
-
- ; Line 103
-
- PUBLIC VGETDEV
-
- VGETDEV PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,16
-
- push si
-
- ; S = 6
-
- mov ax,WORD PTR __FCclenv
-
- mov dx,WORD PTR __FCclenv+2
-
- mov WORD PTR [bp-8],ax
-
- mov WORD PTR [bp-6],dx
-
- les bx,DWORD PTR [bp-8]
-
- mov ax,WORD PTR es:[bx+2]
-
- mov WORD PTR [bp-2],ax
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;S
-
- lea ax,WORD PTR [bp-4]
-
- mov WORD PTR __FCclenv,ax
-
- mov WORD PTR __FCclenv+2,ss
-
- call FAR PTR _vgetdev
-
- add sp,4
-
- ; Line 107
-
- les bx,DWORD PTR [bp-8]
-
- mov ax,WORD PTR es:[bx+2]
-
- cwd
-
- mov WORD PTR $S135_L,ax
-
- mov WORD PTR $S135_L+2,dx
-
- ; Line 108
-
- mov WORD PTR $S137_I,1
-
- mov WORD PTR $S137_I+2,0
-
- or dx,dx
-
- jge $JCC555
-
- jmp $EX129
-
- $JCC555:
-
- jg $L20006
-
- cmp ax,1
-
- jae $JCC565
-
- jmp $EX129
-
- $JCC565:
-
- $L20006:
-
- ; Line 109
-
- mov bx,WORD PTR $S137_I
-
- les si,DWORD PTR [bp+6] ;S
-
- mov al,es:[bx-1][si]
-
- sub ah,ah
-
- sub dx,dx
-
- or dx,ax
-
- jne $L144__DOEXI
-
- ; Line 110
-
- mov ax,bx
-
- mov dx,WORD PTR $S137_I+2
-
- mov WORD PTR $S143_J,ax
-
- mov WORD PTR $S143_J+2,dx
-
- jmp SHORT $L20004
-
- $L20003:
-
- ; Line 111
-
- mov ax,OFFSET DGROUP:$SG146
-
- push ds
-
- push ax
-
- mov ax,1
-
- push ax
-
- mov ax,WORD PTR [bp+6] ;S
-
- mov dx,WORD PTR [bp+8]
-
- add ax,WORD PTR $S143_J
-
- dec ax
-
- push dx
-
- push ax
-
- mov ax,1
-
- push ax
-
- push ax
-
- call FAR PTR __FClccop
-
- add sp,14
-
- ; Line 112
-
- add WORD PTR $S143_J,1
-
- adc WORD PTR $S143_J+2,0
-
- jo $L144__DOEXI
-
- $L20004:
-
- mov ax,WORD PTR $S135_L
-
- mov dx,WORD PTR $S135_L+2
-
- cmp WORD PTR $S143_J+2,dx
-
- jg $L144__DOEXI
-
- jl $L20003
-
- cmp WORD PTR $S143_J,ax
-
- jbe $L20003
-
- $L144__DOEXI:
-
- ; Line 114
-
- add WORD PTR $S137_I,1
-
- adc WORD PTR $S137_I+2,0
-
- jo $EX129
-
- mov ax,WORD PTR $S135_L
-
- mov dx,WORD PTR $S135_L+2
-
- cmp WORD PTR $S137_I+2,dx
-
- jg $EX129
-
- jge $JCC697
-
- jmp $L20006
-
- $JCC697:
-
- cmp WORD PTR $S137_I,ax
-
- ja $JCC706
-
- jmp $L20006
-
- $JCC706:
-
- $EX129:
-
- pop si
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VGETDEV ENDP
-
- ; Line 118
-
- PUBLIC VEXIT
-
- VEXIT PROC FAR
-
- push bp
-
- mov bp,sp
-
- call FAR PTR _vexit
-
- ; Line 119
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- VEXIT ENDP
-
- ; Line 122
-
- PUBLIC CLEAR
-
- CLEAR PROC FAR
-
- push bp
-
- mov bp,sp
-
- call FAR PTR _clear
-
- ; Line 123
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- CLEAR ENDP
-
- ; Line 126
-
- PUBLIC COLOR
-
- COLOR PROC FAR
-
- push bp
-
- mov bp,sp
-
- ; I = 6
-
- les bx,DWORD PTR [bp+6] ;I
-
- push WORD PTR es:[bx]
-
- call FAR PTR _color
-
- ; Line 127
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- COLOR ENDP
-
- ; Line 131
-
- PUBLIC MAPCOLOR
-
- MAPCOLOR PROC FAR
-
- push bp
-
- mov bp,sp
-
- ; I = 18
-
- ; R = 14
-
- ; G = 10
-
- ; B = 6
-
- les bx,DWORD PTR [bp+6] ;B
-
- push WORD PTR es:[bx]
-
- les bx,DWORD PTR [bp+10] ;G
-
- push WORD PTR es:[bx]
-
- les bx,DWORD PTR [bp+14] ;R
-
- push WORD PTR es:[bx]
-
- les bx,DWORD PTR [bp+18] ;I
-
- push WORD PTR es:[bx]
-
- call FAR PTR _mapcolor
-
- ; Line 132
-
- mov sp,bp
-
- pop bp
-
- ret 16
-
-
-
- MAPCOLOR ENDP
-
- ; Line 136
-
- PUBLIC GETDEPTH
-
- GETDEPTH PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,4
-
- ; GETDEPTH = 65532
-
- call FAR PTR _getdepth
-
- cwd
-
- mov WORD PTR [bp-4],ax
-
- mov WORD PTR [bp-2],dx
-
- ; Line 137
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- GETDEPTH ENDP
-
- ; Line 141
-
- PUBLIC GETKEY
-
- GETKEY PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,4
-
- ; GETKEY = 65532
-
- call FAR PTR _getkey
-
- cwd
-
- mov WORD PTR [bp-4],ax
-
- mov WORD PTR [bp-2],dx
-
- ; Line 142
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- GETKEY ENDP
-
- ; Line 146
-
- PUBLIC CHECKKEY
-
- CHECKKEY PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,4
-
- ; CHECKKEY = 65532
-
- call FAR PTR _checkkey
-
- cwd
-
- mov WORD PTR [bp-4],ax
-
- mov WORD PTR [bp-2],dx
-
- ; Line 147
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- CHECKKEY ENDP
-
- ; Line 151
-
- PUBLIC LOCATOR
-
- LOCATOR PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,4
-
- ; X = 10
-
- ; Y = 6
-
- ; LOCATOR = 65532
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;Y
-
- push WORD PTR [bp+12]
-
- push WORD PTR [bp+10] ;X
-
- call FAR PTR _locator
-
- add sp,8
-
- cwd
-
- mov WORD PTR [bp-4],ax
-
- mov WORD PTR [bp-2],dx
-
- ; Line 152
-
- mov sp,bp
-
- pop bp
-
- ret 8
-
-
-
- LOCATOR ENDP
-
- ; Line 156
-
- PUBLIC SLOCATOR
-
- SLOCATOR PROC FAR
-
- push bp
-
- mov bp,sp
-
- sub sp,4
-
- ; X = 10
-
- ; Y = 6
-
- ; SLOCATOR = 65532
-
- push WORD PTR [bp+8]
-
- push WORD PTR [bp+6] ;Y
-
- push WORD PTR [bp+12]
-
- push WORD PTR [bp+10] ;X
-
- call FAR PTR _slocator
-
- add sp,8
-
- cwd
-
- mov WORD PTR [bp-4],ax
-
- mov WORD PTR [bp-2],dx
-
- ; Line 157
-
- mov sp,bp
-
- pop bp
-
- ret 8
-
-
-
- SLOCATOR ENDP
-
- ; Line 160
-
- PUBLIC VSETFLUSH
-
- VSETFLUSH PROC FAR
-
- push bp
-
- mov bp,sp
-
- ; I = 6
-
- les bx,DWORD PTR [bp+6] ;I
-
- push WORD PTR es:[bx]
-
- call FAR PTR _vsetflush
-
- ; Line 161
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VSETFLUSH ENDP
-
- ; Line 164
-
- PUBLIC VSETFL
-
- VSETFL PROC FAR
-
- push bp
-
- mov bp,sp
-
- ; I = 6
-
- les bx,DWORD PTR [bp+6] ;I
-
- push WORD PTR es:[bx]
-
- call FAR PTR _vsetflush
-
- ; Line 165
-
- mov sp,bp
-
- pop bp
-
- ret 4
-
-
-
- VSETFL ENDP
-
- ; Line 168
-
- PUBLIC VFLUSH
-
- VFLUSH PROC FAR
-
- push bp
-
- mov bp,sp
-
- call FAR PTR _vflush
-
- ; Line 169
-
- mov sp,bp
-
- pop bp
-
- ret
-
-
-
- VFLUSH ENDP
-
- FDRIVERS_TEXT ENDS
-
- END
-
-