home *** CD-ROM | disk | FTP | other *** search
- title 'Direct Disk I/O'
- name 'DIOBIOS'
-
- public home,seldsk,settrk,setsec,setdma,read,write
-
- ;------------------------------------------------
- ; define bios entry points relative to warm boot
-
- hme equ 0018H - 3
- sldsk equ 001BH - 3
- sttrk equ 001EH - 3
- stsec equ 0021H - 3
- stdma equ 0024H - 3
- rd equ 0027H - 3
- wr equ 002AH - 3
-
- ;-----------------------------------------------
-
-
- home: lxi d,hme
- jmp gobios
-
-
- seldsk: call getword
- mov a,c ;save resel flag
- lxi d,sldsk
- jmp gobios
-
- settrk: lxi d,sttrk
- jmp gobios
-
-
- setsec: lxi d,stsec
- jmp gobios
-
- setdma: lxi d,stdma
- jmp gobios
-
- read: lxi d,rd
- jmp gobios
-
- write: lxi d,wr
- jmp gobios
-
-
- gobios: call getword
- lhld 1 ;get pointer
- dad d ;add in offset
- mov e,a ;special case for select disk
- pchl ;go to it
-
-
- getword:
- push d
- mov e,m
- inx h
- mov d,m
- inx h
- xchg
- mov c,m
- inx h
- mov b,m
- xchg
- pop d
- ret
-
- end
- ╘SELECT_MASK$J