home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpm
/
tdossigi
/
empty.mac
< prev
next >
Wrap
Text File
|
1986-07-05
|
1KB
|
79 lines
; EMPTY.MAC by ESKAY - v1.00 of 05/30/85
;
; this program finds all empty user areas on the current
; drive and displays them. turbodos only.
;
cr equ 0dh
lf equ 0ah
;
cseg
;
.z80
.request syslib
;
start: ld sp,stack
call print##
cr,lf
'EMPTY v1.10 by ESKAY shows free user areas:',cr,lf,0
ld de,fcb
call f$open##
..lp: ld de,fcb
call f$read##
jp nz,done
ld ix,80h
ld hl,usrs
ld a,(ix+0)
call zeru
ld a,(ix+20h)
call zeru
ld a,(ix+40h)
call zeru
ld a,(ix+60h)
call zeru
jr ..lp
;
done: ld b,32
ld c,16 ; 16 to a line max.
..dl: ld a,(hl)
cp 0ffh
call nz,du
inc hl
djnz ..dl
call print##
cr,lf,lf,0
rst 0
;
du: push af
cp 10
jr nc,..dus
ld a,' '
call cout##
..dus: pop af
call pafdc##
ld a,' '
call cout##
dec c
jp z,crlf##
ret
;
zeru: cp 0e5h
ret z
ld e,a
ld d,0
push hl
add hl,de
ld (hl),0ffh
pop hl
ret
;
dseg
;
fcb: db 0,'$ DIR',0,0,0,0
ds 22
;
usrs: db 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
db 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
ds 100
stack equ $
end