$DB62/56162: Write last block Jump from $DB20: DB62: A6 82 LDX $82 ; channel number DB64: B5 B5 LDA $B5,X ; record number lo DB66: 15 BB ORA $BB,X ; record number hi DB68: D0 0C BNE $DB76 ; not zero? DB6A: 20 E8 D4 JSR $D4E8 ; set buffer pointer DB6D: C9 02 CMP #$02 DB6F: D0 05 BNE $DB76 ; not 2 DB71: A9 0D LDA #$0D ; CR DB73: 20 F1 CF JSR $CFF1 ; in buffer Jump from $DB68, $DB6F: DB76: 20 E8 D4 JSR $D4E8 ; set buffer pointer DB79: C9 02 CMP #$02 ; now equal to 2? DB7B: D0 0F BNE $DB8C ; no DB7D: 20 1E CF JSR $CF1E ; change buffer DB80: A6 82 LDX $82 ; channel number DB82: B5 B5 LDA $B5,X ; record number lo DB84: D0 02 BNE $DB88 DB86: D6 BB DEC $BB,X ; decrement block number hi Jump from $DB84: DB88: D6 B5 DEC $B5,X ; and block number lo DB8A: A9 00 LDA #$00 Jump from $DB7B: DB8C: 38 SEC DB8D: E9 01 SBC #$01 ; set pointer DB8F: 48 PHA DB90: A9 00 LDA #$00 DB92: 20 C8 D4 JSR $D4C8 ; buffer pointer to zero DB95: 20 F1 CF JSR $CFF1 ; write zero in buffer DB98: 68 PLA ; second byte = pointer to end DB99: 20 F1 CF JSR $CFF1 ; write in buffer DB9C: 20 C7 D0 JSR $D0C7 ; write block to disk DB9F: 20 99 D5 JSR $D599 ; and verify DBA2: 4C 1E CF JMP $CF1E ; change buffer Previous Page / Next Page |