Main Index Routine Index Memory Index Previous Page Next Page Routine $0625: File transfer: [$B5-$B6] bytes starting at ($30),Y. CF:=1 if whole file transfer complete. JSR from $0374, $05D2: 0625: A9 D0 LDA #$D0 0627: 85 01 STA $01 ; set Job #1 to execute ($0400) 0629: 8D 05 1C STA $1C05 ; set/refresh timeout for Job #1 062C: 58 CLI Jump from $066B, $0673: 062D: B1 30 LDA ($30),Y ; byte to transfer 062F: AA TAX 0630: 4A LSR A 0631: 4A LSR A 0632: 4A LSR A 0633: 4A LSR A 0634: 48 PHA 0635: A9 02 LDA #$02 0637: 8D 00 18 STA $1800 063A: 8A TXA 063B: AE 00 18 LDX $1800 Jump from $0641: 063E: EC 00 18 CPX $1800 0641: F0 FB BEQ $063E 0643: 29 0F AND #$0F Jump from $0648: 0645: EC 00 18 CPX $1800 0648: D0 FB BNE $0645 064A: 8D 00 18 STA $1800 064D: 0A ASL A 064E: 29 0A AND #$0A 0650: 8D 00 18 STA $1800 0653: 68 PLA 0654: 8D 00 18 STA $1800 0657: 0A ASL A 0658: 29 0A AND #$0A 065A: 8D 00 18 STA $1800 065D: A9 0A LDA #$0A 065F: C6 B5 DEC $B5 ; decrease lo-number of bytes to be transferred 0661: 8D 00 18 STA $1800 0664: D0 04 BNE $066A 0666: C6 B6 DEC $B6 ; decrease hi-number of bytes to be transferred 0668: F0 2B BEQ $0695 ; file transfer complete (CF:=1, RTS) Jump from $0664: 066A: C8 INY ; increase file offset 066B: D0 C0 BNE $062D 066D: A9 03 LDA #$03 ; transfer only [$03xx] and [$04xx] 066F: C5 31 CMP $31 ; buffer [$03xx] already transferred? 0671: 85 31 STA $31 ; update buffer pointer 0673: D0 B8 BNE $062D ; branch if [$03xx] was not transferred yet 0675: 18 CLC ; CF:=0: buffers [$03xx] and [$04xx] transferred, but not end of file yet 0676: 78 SEI 0677: 60 RTS Previous Page / Next Page