ORG $5BA0 * * TRACK MAKER V1.0 - WRITTEN 08/30/86 BY -DC- * SHOOTING STAR 20 MEG BBS/AE - 206/838-7686 * * FIRST SET UP DOS FILE MANAGER * NOTE: FILE MANAGER IS ASSUMED TO BE * AT LOCATION $B5BB * LDA #$00 STA $22 STA $2000 STA $C010 JSR $FC58 ;CLEARS SCREEN JMP START ROUTE LDA #$0B STA $B5BB LDA #$FE STA $B5BF LDA #$9D STA $B5BC JSR $3DC ;GET DOS M. LOCATION JSR $3D6 ;JUMP TO DOS MANAGER PHP PLA RTS DATA ASC " Track Maker V1.0 / Written by -DC-" HEX 8D REV "6867-838/602 - gem 02 ratS gnitoohS llaC" ASC "----------------------------------------" HEX 8D8D ASC "Format how many tracks? (use arrow keys)" HEX 8D ASC "(max = $28) $00" HEX 80 DAT HEX 8D ASC "Format which drive? (1/2) :" HEX 80 DAT1 HEX 8D ASC "Enter slot #" HEX 80 START LDX #$00 HERE2 LDA DATA,X CMP #$80 BEQ NEXT INX JSR $FDED ;PRINTS OUT DATA JMP HERE2 NEXT LDA #$03 ;LOADS ACCUMULATOR WITH 3 STA $22 ;AND STORES IN ZERO PAGE TO LOCK-OUT TOP LDX #$00 AR LDA $C000 CMP #$80 BMI AR CMP #$9B BEQ BEGIN1 LDY #$00 STY $C010 CMP #$88 ;IS THE INPUT A '<-'? BEQ BACK ;YES. DECREMENT TRACK VALUE CMP #$8D ;IS THE INPUT A ? BEQ DONE ;YES. JUMP TO END OF TRACK INPUT INX RUN LDA #$88 JSR $FDED JSR $FDED TXA JSR $FDDA ;DISPLAY THE HEX VALUE FOR TRACK JMP AR BEGIN1 JMP $5BA0 BACK DEX JMP RUN DONE LDA $2000 CMP #$AB BEQ SUB CMP #$AA BEQ BUTT1 CPX #$29 ;IS THE TRACK MORE THAN 40? BPL AR ;YES. GO BACK TO INPUT TXA STA $BEFE ;AND STORES DATA FOR TRACK STA $B3EF LDA #$A0 STA $AEB5 JMP JUMP ;GOTO SLOT # INPUT FIRST SUB JMP SUB1 BUTT1 JMP BUTT J1 LDX #$00 ;INPUT DRIVE # ROCK LDA DAT,X CMP #$80 BEQ JJ INX JSR $FDED JMP ROCK JJ JSR $FD0C ;GET DRIVE # INPUT CMP #$9B BEQ BEGIN2 AND #$0F CMP #$00 BMI JJ JSR $FDDA STA $B5C0 ;STORE DRIVE # INTO FILE MANAGER JMP SUBER BEGIN2 JMP $5BA0 JUMP LDX #$00 JUG LDA DAT1,X CMP #$80 BEQ J INX JSR $FDED JMP JUG J JSR $FD0C ;GET SLOT # INPUT CMP #$9B BEQ BEGIN3 AND #$0F JSR $FDDA STA $B5C1 ;STORE SLOT # IN DOS FILE MANAGER JMP J1 ;GOTO DRIVE # INPUT BEGIN3 JMP $5BA0 ACDC LDX #$00 J3 LDA DATA1,X CMP #$80 BEQ AB INX JSR $FDED ;PRINTS OUT DATA JMP J3 AB LDA $C000 ;GETS A KEYSTROKE CMP #$80 BMI AB CMP #$9B BEQ BEGIN4 LDA #$00 STA $C010 JSR ROUTE ;PERFORMS RWTS #1 JMP HERE3 ;SKIPS OVER PROCEEDING DATA BEGIN4 JMP $5BA0 DATA2 HEX 8D8D ASC " You should now have a new disk with" HEX 8D ASC " the new formatted tracks that you" HEX 8D ASC " told the program to initialize." HEX 8D8D8D asc " -DC-" HEX 8D8D8D8D ASC "(Type 'CALL23456' to run again)" HEX 8D8D80 * HERE3 JSR $FC58 ;CLEAR SCREEN LDX #$00 HERE4 LDA DATA2,X INX CMP #$80 ;DID IT PRINT IT ALL? BEQ END ;YES. GO TO END (LINE #73) JSR $FDED JMP HERE4 END JMP $3D0 ;AND IT'S DONE! (I HOPE) DATA1 HEX 8D8D8D ASC "[INSERT DISK INTO DRIVE AND HIT A KEY]" HEX 80 SUBER LDX #$00 SUBER1 LDA SUBD,X INX CMP #$80 BEQ MARK JSR $FDED JMP SUBER1 MARK LDA #$AB STA $2000 LDX #$FE TXA JSR $FDDA JSR AR SUB1 STX $B5BF LDA #$AA STA $2000 YEAH LDX #$00 YEAH1 LDA SUBA,X CMP #$80 BEQ YEAH2 INX JSR $FDED JMP YEAH1 YEAH2 LDX #$9D TXA JSR $FDDA JSR AR BUTT STX $B5BC LDA #$00 STA $2000 JMP ACDC SUBD HEX 8D8D ASC "Format which volume?" HEX 8D ASC "(use arrow keys) $" HEX 80 SUBA HEX 8D8D ASC "Start of DOS image?" HEX 8D ASC "(use arrow keys) $" HEX 80