home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
nasm20b
/
nasm_src
/
header
/
os.h65
< prev
next >
Wrap
Text File
|
1993-01-19
|
2KB
|
97 lines
.if .not .def _OS_
_OS_ = 1
.if .not .def _SYSTEM_
.include #system
.endif
.if .not .def _MACROS_
.include #macros
.endif
;; -------------------------------------------------------------
;; Use this macro to install a handler into the
;; device table.
;; Call it with:
;; IHATABS deviceID,table,overwriteflag[,select]
;; Afterwards CARRY SET will signal failure!
;; -------------------------------------------------------------
.macro IHATABS
@3 .= @p1+@p2
.if %0=4
@3 .= %4
.endif
@moad %1,[@3 & @p1] / @p1 ;; load dev ID
jsr fhatabs ;; find hatabs
.if %3
bne error
.else
bcs error
.endif
sta hatabs,y
@dmoke_y %2,hatabs+1,[ @3 & @p1] / @p1
.if %3
.byte $A9 ; make it a lda #..
error sec
.else
clc
error
.endif
.endm
.macro SELECT_DRIVE
@3 .= @p1
.if %0 = 2
@3 .= %2
.endif
@moke %1,dunit,[@3 & @p1]
.endm
.macro READSECTOR
@3 .= @p1 ! @p2 ! @p3
.if %0 = 4
@3 .= %4
.endif
.if .not [@3 & @special]
poke dcomnd,'R
.endif
@dmoke %1,daux1,[@3 & @p1]
@dmoke %2,dbytlo,[@3 & @p2] / @p2
@dmoke %3,dbuflo,[@3 & @p3] / @p3
jsr dskinv
.endm
.macro WRITESECTOR
@3 .= @p1 ! @p2 ! @p3
.if %0 = 4
@3 .= %4
.endif
.if .not [@3 & @special]
poke dcomnd,'P
.endif
@dmoke %1,daux1,[@3 & @p1]
@dmoke %2,dbytlo,[@3 & @p2] / @p2
@dmoke %3,dbuflo,[@3 & @p3] / @p3
jsr dskinv
.endm
SIOREAD = 'R
SIOWRITE = 'P
.macro SETUP_SIO
@3 .= @p1 ! @p2 ! @p3 ! @p4
.if %0 = 5
@3 .= %5
.endif
@moke %1,dunit, [@3 & @p1]
@moke %2,dcomnd,[@3 & @p2] / @p2
@dmoke %3,daux1, [@3 & @p3] / @p3
@dmoke %4,dbuflo,[@3 & @p4] / @p4
.endm
.endif