Main Index +--------------------------------------------------------------------------------------------------------- | | RapidLok6 Memory Index | +--------------------------------------------------------------------------------------------------------- | | Zeropage: | | $00-$05 1541: Command code for buffer 0-5 | $06-$11 1541: Track and sector for buffer 0-5 | $12-$13 1541: Disk ID, drive 0 | $15 Default offset to start of file data in [$0400] buffer | $16-$17 1541: Header block: ID | $1D Synchronization value (Track-to-Track / Track 36) | $22 1541: Current track for drive 0 | $23 ID of sector to find & read | $24-$26 Temp variables for decryptions | $29-$2A Data byte read from $6B data sector | $30-$31 Buffer pointer for file transfer | $38-$39 1541: Constants 7/8, ID mark for start of data/block block | $3A 1541: Parity for data buffer | $3E 1541: Active drive ($FF, if not active) | $77-$78 Start track & sector ID of file to find & read (encrypted) | $79 Number of parameters to copy in $0587 routine (negative, usually $FD=-3) | $7A Offset pointer for file transfer parameters | $7B File transfer of very first data sector starts in buffer [$7B*$100] | $85 Loop variable for Key decryption | $9D 1541: Pointer: Next byte in buffer 0-5 [0300-0700] | $B5-$B6 "M-W" body; Number of bytes left to be transferred to C64-client | $B7 "M-W" body; File transfer complete / additional shadow files there? | $B8-$BA "M-W" body, dummy | $BB "M-W" body; Control byte for head recalibration onto Track | $BC "M-W" body, dummy | $BD "M-W" body; Value =6 when used for locating DOS reference sector | $BE-$BF "M-W" body; Tries to find $6B data sector & Track 36 Key decryption loop variables | $C0-$C1 "M-W" body, dummy | $C2 "M-W" body; Start/working/end Track of file to read & transfer | $C3-$C4 "M-W" body, dummy | $C5 "M-W" body; Number of tries to find short extra sector on Track (usually $18) | $C6 "M-W" body; Number of tries for head repositioning onto Track (usually 9) | $C7-$C9 "M-W" body; Keys for RapidLok routine decryption [$039C-$07FF] | $D4 Max errors before loader dies (initial value 4) | $D5 Temp storage for $6B data sector parity calculation (& Track 36 decryption) | $D6-$D7 Start track & sector ID of file to find & read | $E7 Number of tries to find $6B data sectors (usually 9) | | Extended Zeropage: | | $0150 Synchronization value (Track-to-Track) / Track 36 Key Sector length | $0151 1st file to be loaded from disk: [$0151]=0, else summary of "Header block ID" | $0152-$01D1 Track 36 Key Sector | $0290 1541: Directory sector | $0294 1541: Current buffer-index | $02A9 ??? | $038A-$038B ??? (not used?, RL6 code area) | $038C-$03FF C64-client: Exit routines + general loading loop | $071F-$0722 Number of steps for Step motor movement | $0723-$0724 ??? (not used?, RL6 code area) | | VIA 1 (Serial Bus): | | $1800 Data Port B (ATN, CLOCK, DATA, Device #) | $1805 Timer 1 High-Byte (Timeout Errors) | | VIA 2 (Motor and Head Control): | | $1C00 Data Port B (SYNC, Motors, Bit Rates, LED) | $1C01 Data Port A (Data to/from head) | $1C05 Timer 1 High-Byte (IRQ Timer) | $1C07 Timer 1-Latch High-Byte (IRQ Timer) | $1C0C Peripheral Control Register | +---------------------------------------------------------------------------------------------------------