head	1.2;
access;
symbols;
locks; strict;
comment	@;; @;


1.2
date	2007.12.09.15.04.27;	author dilbert57;	state dead;
branches;
next	1.1;
commitid	b14475c03f74567;

1.1
date	2004.04.12.11.07.41;	author dilbert57;	state Exp;
branches;
next	;


desc
@@


1.2
log
@cleaning out old directory structure
@
text
@*
* RAM Disk Download program
*
UARTCS EQU $E000
UARTDA EQU $E001
FLEX EQU $CD03
*
MAXTRK EQU 48
MAXSEC EQU 16
*
BUFFER EQU $9000
PAGE9 EQU $FFF9
*
 ORG $1000
START JMP START1
*
* data
*
TRACK RMB 1
*
START1 
 LDX #DLMSG
 JSR PSTRNG
*
 CLR TRACK
LOOP1 LDA TRACK
 ADDA #16
 STA PAGE9
 LDX #BUFFER
LOOP2 JSR BYTE
 BCS ERRXIT
 LEAX 1,X
 CPX #BUFFER+$1000
 BNE LOOP2
*
* advance track
*
 INC TRACK
 LDA TRACK
 CMPA #MAXTRK
 BNE LOOP1
* 
* RAM DISK LOADED
* RUN FLEX
*
 LDX #LDMSG
 JSR PSTRNG
*
* re-instate page
*
RESTOR LDA $09
 STA PAGE9
 JMP FLEX
*
* ERROR EXIT
*
ERRXIT LDX #ERRMSG
 JSR PSTRNG
 JMP RESTOR
*
* Read 2 ascii hex characters
*
BYTE JSR INHEX
 BCS NOTBYT
 LSLA
 LSLA
 LSLA
 LSLA
 STA 0,X
 JSR INHEX
 BCS NOTBYT
 ADDA 0,X
 STA 0,X
 ANDCC #$FE
NOTBYT RTS
*
* Input ASCII hex character in A
*
INHEX JSR INCH
 CMPA #$20 ; Filter out control characters
 BLO INHEX
 CMPA #$30 ; numeric hex between ascii 0 and 9
 BLO NOTHEX
 CMPA #$39
 BHI ALPHA
 SUBA #$30
 RTS
*
ALPHA CMPA #$41 ; ASCII A
 BLO NOTHEX
 CMPA #$46 ; ASCII F
 BHI LOWER
 SUBA #$41-10
 ANDCC #$FE  ; Clear carry
 RTS
*
LOWER CMPA #$61 ; ASCII a
 BLO NOTHEX
 CMPA #$66 ; ASCII f
 BHI NOTHEX
 SUBA #$61-10
 ANDCC #$FE  ; Clear carry
 RTS
*
NOTHEX CLRA
 ORCC #$01  ;  Set carry
 RTS
*
* INCH8
*
INCH LDA UARTCS
 BITA #$01
 BEQ INCH
 LDA UARTDA
 RTS
*
* OUTCH
*
OUTCH PSHS A
OUTCH1 LDA UARTCS
 BITA #$02
 BEQ OUTCH1
 PULS A
 STA UARTDA
 RTS
*
* Print String
*
PSTR1 BSR OUTCH
PSTRNG LDA ,X+
 CMPA #$04
 BNE PSTR1
 RTS
*
*
* messages
*
LDMSG FCC "RAM DISK LOADED"
 FCB $0D,$0A
 FCB 4
DLMSG FCB $0D,$0A
 FCC "DOWNLOAD RAM DISK"
 FCB $0D,$0A
 FCB 4
ERRMSG FCB $0D,$0A
 FCC "BAD HEX ERROR"
 FCB $0D,$0A
 FCB 4
*
 END
@


1.1
log
@Flex9 using RAM disk
@
text
@@

