Main Index Routine Index Memory Index
Previous Page Next Page


Routine $0400:   Exit routine (memory clean-up & init 1541)

This routine has two purposes. It gets called from various locations when a timer runs out or an error occurs: it passes execution to the $07D5 clean up which modifies the $0400 JMP into a dummy BIT command and setting a Job to execute the modified $0400 exit routine (finishing the clean up).

Jump from $041B, $0420, $D0-Execute Job #1 from $058A, $0627, $0752: 0400: 4C D5 07 JMP $07D5 ; $07D5 is RapidLok's clean-up routine (reset memory and 1541) /////////////////////////// $D0-Execute Job #1 from $07F6: 0400: 2C D5 07 BIT $07D5 ; JMP changed to dummy BIT at $07FA (end of RapidLok's clean-up routine) /////////////////////////// 0403: A9 C6 LDA #$C6 0405: 8D 00 1C STA $1C00 ; $C6=11000110b: Bit rate "10 = 285714 Bit/s", Drive LED on, Drive Motor on 0408: 46 01 LSR $01 040A: E6 3E INC $3E 040C: 20 05 D0 JSR $D005 ; 1541 ROM: Perform [I] - Initalise command 040F: A2 45 LDX #$45 0411: 9A TXS 0412: 4C C5 EB JMP $EBC5 ; 1541 ROM: Power-up RESET routine Previous Page / Next Page