home *** CD-ROM | disk | FTP | other *** search
- ; LABELS FOR KERNAL ROUTINES
- ;
- * = $080F
- SETLFS = $FFBA
- SETNAM = $FFBD
- OPEN = $FFC0
- CHKIN = $FFC6
- CHRIN = $FFCF
- CHKOUT = $FFC9
- CHROUT = $FFD2
- CLRCH = $FFCC
- CLOSE = $FFC3
- CLALL = $FFE7
- LINPRT = $BDCD
- PLOT = $FFF0
- ;
- ; PROGRAM CONSTANTS
- ;
- CPMDIR = $4000
- NFILES = $C3
- TOTLK = $BE
- CURTK = $BF
- DEV = $08
- Z1 = $FB
- Z2 = $FC
- Z3 = $FD
- Z4 = $FE
- Z5 = $02
- Z6 = $C4
- CYAN = $9F
- DOT = $2E
- CR = $0D
- CLR = $93
- SP = $20
- ;
- JMP TOP
- ;
- INIT .BYTE 'I0'
- DATA .BYTE '#'
- READ .BYTE 'U1:2 0 3 '
- TITLE .BYTE 31,18,' CP/M 2.2 DIRECTORY ',146
- .BYTE 13,151,'U# NAME .TYP KB U# NAME .TYP KB',159
- TOTAL .BYTE 'FILES, USING '
- KUSED .BYTE 'K OF 134K CAPACITY',13
- ;
- TOP JSR ERRCHN
- JSR DATCHN
- ;
- LDA #$30
- STA Z1
- LDA #<CPMDIR
- STA Z3
- LDA #>CPMDIR
- STA Z4
- ;
- GETDIR LDX #$0F
- JSR CHKOUT
- LDX #00
- RWHEAD LDA READ,X
- JSR CHROUT
- INX
- CPX #09
- BNE RWHEAD
- LDA Z1
- JSR CHROUT
- JSR CLRCH
- ;
- LDX #01
- JSR CHKIN
- LDY #00
- GETL1 JSR CHRIN ;READ DATA
- STA (Z3),Y
- INY
- CPY #00
- BNE GETL1
- INC Z4
- INC Z1
- LDA #$38
- CMP Z1
- BNE GETDIR
- ;
- LDA #01
- JSR CLOSE
- LDA #$0F
- JSR CLOSE
- JSR CLALL
- ;
- LDA #CLR ;SCREEN SETUP
- JSR CHROUT
- LDX #00
- STX $D020
- STX $D021
- STX NFILES
- STX TOTLK
- STX CURTK
- TLP1 LDA TITLE,X
- JSR CHROUT
- INX
- CPX #$56
- BNE TLP1
- ;
- LDA #<CPMDIR
- STA Z3
- LDA #>CPMDIR
- STA Z4
- LDA #00
- STA Z1
- LDA #04
- STA Z2
- PRINT LDY #00
- INC Z1
- LDA (Z3),Y
- STA Z5
- CMP #$E5
- BEQ NEXT
- JSR CURSOR
- LDX Z5
- LDA #00
- JSR LINPRT
- LDA #SP
- JSR CHROUT
- JSR CHROUT
- PRL1 LDA (Z3),Y
- JSR CHROUT
- INY
- CPY #09
- BNE PRL1
- LDA #DOT
- JSR CHROUT
- INC NFILES
- PRL2 LDA (Z3),Y
- JSR CHROUT
- INY
- CPY #$0C
- BNE PRL2
- ;
- LDY #$10
- NKLOOP LDA (Z3),Y
- CMP #00
- BEQ PRNTK
- INC CURTK
- INC TOTLK
- INY
- CPY #$20
- BNE NKLOOP
- PRNTK LDX CURTK
- LDA #SP
- CPX #$0A
- BCS ONESP
- JSR CHROUT
- ONESP JSR CHROUT
- CLC
- LDA #00
- STA CURTK
- JSR LINPRT
- LDA #'K
- JSR CHROUT
- OU , #$40
- CMP Z1
- BEQ ENDIT
- CLC
- LDA Z3
- ADC #$20
- STA Z3
- LDA Z4
- ADC #00
- STA Z4
- LDA Z5
- CMP #$E5
- BEQ BACK
- LDA Z1
- AND #01
- BNE BACK
- LDA #CR
- JSR CHROUT
- BACK JMP PRINT
- ;
- ERRCHN LDA #$0F
- LDX #DEV
- LDY #$0F
- JSR SETLFS
- LDA #02
- LDX #<INIT
- LDY #>INIT
- JSR SETNAM
- JSR OPEN
- RTS
- ;
- DATCHN LDA #01
- LDX #DEV
- LDY #02
- JSR SETLFS
- LDA #01
- LDX #<DATA
- LDY #>DATA
- JSR SETNAM
- JSR OPEN
- RTS
- ;
- ENDIT LDA #CR
- JSR CHROUT
- LDA #00
- LDX NFILES
- JSR LINPRT
- LDA #SP
- JSR CHROUT
- TOTL1 LDA TOTAL,X
- JSR CHROUT
- INX
- CPX #$0D
- BNE TOTL1
- LDX TOTLK
- LDA #00
- JSR LINPRT
- LDX #00
- KUDL1 LDA KUSED,X
- JSR CHROUT
- INX
- CPX #$13
- BNE KUDL1
- RTS
- ;
- CURSOR LDX Z2
- LDY #00
- LDA #01
- AND NFILES
- BNE CR1
- CR2 CLC
- JSR PLOT
- LDY #00
- RTS
- CR1 LDY #$15
- INC Z2
- JMP CR2
- .END
-