home *** CD-ROM | disk | FTP | other *** search
- ; 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
-