@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREIE SEKT.  G) *Gȩ GȽG GȌ*jj >G}J,}Λd ddddd |\DOS SYSAUTORUN SYS}B}}CDOS SYS} C C*(> C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSLADEN NUR MIT MEM.SAV MOEGLICH.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VJ8 B V  @  /DE `E:D1:DUP.SYSPROGRAMM-SPEICHERUNG FEHLERHAFT!DOS DENNOC&}H LADEN? >J/N B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝL 3u } 3E:}DISKETTEN BETRIEBSSYSTEM II VERS. COPYRIGHT 1985 ATARI CORP.A. DISK-INHALT I. FORMATIERENB. ZUM STECKMOD*}UL J. DISK KOPIEREN C. DATEI KOPIEREN K. BINAER SAVED. LOESCHE DATEI L. BINAER LOADE. NAMEN AENDERN M. START BEI ADR+}.F. DATEI SICHERN N. MEM.SAV ANLEGENG. DAT. FREIGEBEN O. DAT. KOPIERENH. DOS SCHREIBEN P. FORMATIEREN ӛL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }DOS 2.0s EINLEGEN -> Y, x -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!FALSCHE WAHLBITTE .}WAEHLEN, -> MENUE! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%INHALT [SUCHBEGRIFF,AUSGABEGER.]?[# 0 0 &|D3" 1L!KEINE DISKDATEIN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0JЛ 1 ;#L" ;#L! BL1->J ZUM LOESCHEN... LOESCHE DAT.NAME2}KOPIE-VON, AUF?DAS KANN ICH NICHT139 FREIE SEKT. KOPIERE---D1:SCHIEBEN.SRCl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!KEINE 'WILD CARD6}S' IM ZIEL-DATEINAMEN 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!FORMATFEHLER!WELCHE DATEI LADEN? ) 0 ?}0#B 1L!SICHERN DAT.-NAME?) 0 0$B 1L!FREIGEBEN DAT.-NAME?DUP DISK-ORIGINAL,ZIEL STAT?PROGRAMM-SPEICHER BE@}NUTZEN? (J/N)ACHTUNG: MEM.SAV WIRD DANN INAKTIV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)BEIDE DISKETTEN EINLEGEN, Ԯ^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` ZU WENIG RAM! ORIGINAL EINLEGEN, ZIEL DISKETTE EINLEGEN, E}`  `8 rL1`-* 1P* 1 y0J`hhL!UEBERTRAGE DATEI:...?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Jj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DOS.SYS ALS ZIEL VERBOJ}TEN! 0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-DAT.NL}AME,START,ENDE(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`BITTE NUR 1 ZEICHEN ,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} ZU LANG! B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 160ɛ+,' 20*.. өr2 1``2EINGABE ZU LANGUNGUELTIGE HQ}EXADEZ. PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1D1 - D8 ANGEBENuR} XADEZ. PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1D1 - D8 ANGEBENu 0100 ; CRC GENERATOR / CHECKER 0105 ; AS IN THE WD 2791 FDC 0110 ; RESET CRC REGISTER TO T}$FFFF 0115 ; CALL FOR EACH BYTE (IN A) 0120 ;0000 0125 *= $B0 0130 ;00BU}0 0135 CRCTMP *= *+1 TEMPORARY CRC REGISTER00B1 0140 CRCL *= *+1 CRC SHIFT REGISTER (LV}OW)00B2 0145 CRCH *= *+1 CRC SHIFT REGISTER (HIGH) 0150 ;00B3 0155 *= $600W} 0160 ;0600 85B0 0165 CRCGEN STA CRCTMP SAVE INPUT BYTE0602 A208 0170 LDX #8 LOOP CX}OUNTER0604 A5B0 0175 CRCGE1 LDA CRCTMP GET NEXT BIT0606 45B2 0180 EOR CRCH MODUL0 ADD WITH CRC BY}IT 150608 0A 0185 ASL A RESULT TO CARRY0609 900C 0190 BCC CRCGE2060B A5B1 0195 Z}LDA CRCL INVERT CRC BIT 4060D 4910 0200 EOR #$10060F 85B1 0205 STA CRCL0611 A5B2 0210 [} LDA CRCH INVERT CRC BIT 110613 4908 0215 EOR #$080615 85B2 0220 STA CRCH0617 26B1 0225 CRC\}GE2 ROL CRCL SHIFT CRC REGISTER0619 26B2 0230 ROL CRCH061B 06B0 0235 ASL CRCTMP SHIFT TE]}MP REGISTER061D CA 0240 DEX061E D0E4 0245 BNE CRCGE1 LOOP AGAIN0620 60 0250 RTSTE{ E II&&`X061E D0E4 0245 BNE CRCGE1 LOOP AGAIN0620 60 0250 RTSTE '0000 0100 .OPT NOEJECT 0105 ; 0110 ;****************************** 0115 :`} 0120 ; FORMATTER CARTRIDGE SOFTWARE 0125 ; 0130 ; (C) 1984 BERNHARD ENGL 0a}135 ; 0140 ;****************************** 0145 ;E456 0150 CIOV = $E4560342 0155b} ICCMD = $3420344 0160 ICBAL = $3440345 0165 ICBAH = $3450348 0170 ICBLL = $3480349 c} 0175 ICBLH = $349034A 0180 ICAX1 = $34A034B 0185 ICAX2 = $34B00F3 0190 INBUFF = d} $F300F2 0195 CIX = $F200D4 0200 FRO = $D4D800 0205 AFP = $D800D9D2 0210 FPe}I = $D9D2D9AA 0215 IFP = $D9AADDB6 0220 FMOVE = $DDB6DB28 0225 FDIV = $DB28D500f} 0230 FCTRL = $D500D501 0235 FDATA = $D501D400 0240 DMACTL = $D400D40E 0245 NMIEN g} = $D40ED40A 0250 WSYNC = $D40A02FC 0255 CH = $2FC02C5 0260 COLOR1 = $2C50052 h} 0265 LMARGN = $520053 0270 RMARGN = $530580 0275 LBUFF = $580D8E6 0280 FASC = $D8E6Di}20A 0285 RNDGEN = $D20A000A 0290 DOSVEC = $A 0295 ;0000 0300 *= $B0 j} 0305 ;00B0 0310 PRTPNT *= *+2 PRINT POINTER00B2 0315 TEMP *= *+100B3 0320 TEMP1 k} *= *+100B4 0325 CONPNT *= *+2 PNT FOR CONTROL FILE00B6 0330 CONEND *= *+2 CONTROL FILl}E END00B8 0335 SECTOR *= *+1 SECTOR ID00B9 0340 TRACK *= *+1 TRACK NO00BA 0345m} CRCL *= *+1 CRC SHIFT REGISTER (LOW)00BB 0350 CRCH *= *+1 CRC SHIFT REGISTER (HIGH)00BC n} 0355 CLOCK *= *+1 CLOCK PATTERN00BD 0360 DATA *= *+1 DATA PATTERN00BE 0365 FORo}PNT *= *+2 FORMAT POINTER00C0 0370 FOREND *= *+2 FORMAT END00C2 0375 COUNT *= *+100p}C3 0380 COUNT2 *= *+100C4 0385 NUM *= *+1 LOCAL FOR BINNUM00C5 0390 STAT *= *+100q}C6 0395 ZEROUT *= *+20 ZERO PAGE WRITER 0400 ;00DA 0405 *= $3400 04r}10 ; 0415 ;-------------------------------------------- 0420 ; 0425 ; MAIN MENU s} 0430 ;3400 A2FF 0435 MAIN LDX #$FF SET STACK POINTER3402 9A 0440 TXS3403 A90F 0445 Lt}DA #$F RESET HARDWARE3405 8D00D5 0450 STA FCTRL3408 A901 0455 LDA #1 SET NEW SREEN MARu}GINS340A A226 0460 LDX #38340C 8552 0465 STA LMARGN340E 8653 0470 STA RMARGN3410 A203 047v}5 LDX #3 SET COLORS3412 BD2E35 0480 MAIN1 LDA COLTAB,X3415 9DC502 0485 STA COLOR1,X3418 CA w} 0490 DEX3419 10F7 0495 BPL MAIN1341B A200 0500 MAIN2 LDX #0 DISPLAY MENU341D 205834 0505 x} JSR PRTSTR3420 20A034 0510 JSR INPUT GET BUFFER3423 AD0940 0515 LDA INBUF GET CHAR34y}26 38 0520 SEC ACCEPT ONLY 1-63427 E931 0525 SBC #$313429 9004 0530 BCC MAIN3z}342B C906 0535 CMP #6342D 9008 0540 BCC MAIN4342F A201 0545 MAIN3 LDX #1 BEEP3431 205834{} 0550 JSR PRTSTR3434 4C1B34 0555 JMP MAIN23437 AE0A40 0560 MAIN4 LDX INBUF+1 ACCEPT ONLY SINGLE CHR|}343A E09B 0565 CPX #$9B343C D01F 0570 BNE MAIN3343E 0A 0575 ASL A CALC BRANCH TA}}BLE INDEX343F AA 0580 TAX3440 BD4A34 0585 LDA BRTAB+1,X3443 48 0590 PHA3444 BD4934 0595 ~} LDA BRTAB,X3447 48 0600 PHA3448 60 0605 RTS BRANCH TO ROUTINE 0610 };3449 2539 0615 BRTAB .WORD CREATE-1344B 433A 0620 .WORD COMPIL-1344D 923D 0625 .WORD RANDOM-1344}F 1B3F 0630 .WORD FORMTR-13451 733E 0635 .WORD RPMCHK-13453 5434 0640 .WORD EXIT-1 } 0645 ;3455 6C0A00 0650 EXIT JMP (DOSVEC) 0655 ; 0660 ;-----------------------------------------}--- 0665 ; 0670 ; PRINT STRING X 0675 ;3458 86B2 0680 PRTSTR STX TEMP345A A932 068}5 LDA #MESTAB&$FF SET POINTER345C A235 0690 LDX #MESTAB/256345E 85B0 0695 STA PRTPNT3460 86B1} 0700 STX PRTPNT+13462 C6B2 0705 PRTST1 DEC TEMP STRING COUNT3464 1012 0710 BPL PRTST4 } SCAN FOR NEXT3466 A000 0715 PRTST2 LDY #0 GET CHAR3468 B1B0 0720 LDA (PRTPNT),Y346A D001 0725 } BNE PRTST3346C 60 0730 RTS ZERO IS STRING END346D 208E34 0735 PRTST3 JSR PRTCHR CHAR }TO SCREEN3470 A2B0 0740 LDX #PRTPNT ADVANCE POINTER3472 209934 0745 JSR INCPNT3475 4C6634 0750 } JMP PRTST23478 A000 0755 PRTST4 LDY #0 SCAN FOR STRING END347A B1B0 0760 LDA (PRTPNT),Y347C F00}8 0765 BEQ PRTST5 FOUND347E A2B0 0770 LDX #PRTPNT INC POINTER3480 209934 0775 JSR IN}CPNT3483 4C7834 0780 JMP PRTST43486 A2B0 0785 PRTST5 LDX #PRTPNT INC POINTER3488 209934 0790 JSR I}NCPNT348B 4C6234 0795 JMP PRTST1 0800 ; 0805 ; PRINT CHARACTER A 0810 ;348E AA } 0815 PRTCHR TAX SAVE CHR348F AD4703 0820 LDA ICBAL+3 USE PUT VECTOR3492 48 0825 }PHA3493 AD4603 0830 LDA ICBAL+23496 48 0835 PHA3497 8A 0840 TXA GET CHR3498 }60 0845 RTS 0850 ; 0855 ; INCREMENT POINTER X 0860 ;3499 F600 0865 INCPNT } INC 0,X349B D002 0870 BNE INCPN1349D F601 0875 INC 1,X349F 60 0880 INCPN1 RTS 0885 ;} 0890 ; KEYBOARD INPUT TO INBUF 0895 ;34A0 A909 0900 INPUT LDA #INBUF&$FF SET BUFFER ADDRESS3}4A2 A240 0905 LDX #INBUF/25634A4 8D4403 0910 STA ICBAL34A7 8E4503 0915 STX ICBAH34AA A980 0920} LDA #$80 BUFFER LENGTH34AC A200 0925 LDX #034AE 8D4803 0930 STA ICBLL34B1 8E4903 0935 } STX ICBLH34B4 A905 0940 LDA #5 GET RECORD34B6 8D4203 0945 STA ICCMD34B9 2056E4 0950 } JSR CIOV34BC 3007 0955 BMI BREAK34BE 60 0960 RTS 0965 ; 0970 ; DISPLAY E}RROR X AND BREAK 0975 ;34BF 205834 0980 ERROR JSR PRTSTR34C2 20A034 0985 JSR INPUT WAIT FOR RE}TURN 0990 ; 0995 ; CLOSE FILE, RETURN TO MENU 1000 ;34C5 20CB34 1005 BREAK JSR CLOSE3}4C8 4C0034 1010 JMP MAIN 1015 ; 1020 ; CLOSE DISK FILE 1025 ;34CB A210 1030 CL}OSE LDX #$1034CD A90C 1035 LDA #$C34CF 9D4203 1040 STA ICCMD,X34D2 4C56E4 1045 JMP CIOV } 1050 ; 1055 ; OPEN DISK FILE #1 1060 ; INPUT : A=4 1065 ; OUTPUT: A=8 1}070 ; FILESPEC IN INBUF 1075 ;34D5 48 1080 OPEN PHA MAKE SURE FILE CLOSED34D6 20CB34 1085 } JSR CLOSE34D9 68 1090 PLA34DA A210 1095 LDX #$1034DC 9D4A03 1100 STA ICAX1,X34DF A90}9 1105 LDA #INBUF&$FF FILESPEC ADDRESS34E1 9D4403 1110 STA ICBAL,X 25634E4 A940 1115 LDA} #INBUF/25634E6 9D4503 1120 STA ICBAH,X34E9 A903 1125 LDA #334EB 9D4203 1130 STA ICCMD,X34EE 20}56E4 1135 JSR CIOV34F1 1004 1140 BPL OPEN1 OPEN SUCCESFUL34F3 A202 1145 LDX #2 } CAN'T OPEN FILE34F5 D0C8 1150 BNE ERROR ALWAYS34F7 60 1155 OPEN1 RTS 1160 ; } 1165 ; PUT BYTE A TO DISK FILE 1170 ;34F8 48 1175 PUTBYT PHA34F9 A210 1180 LDX #$1034FB A90B } 1185 LDA #$B34FD 9D4203 1190 STA ICCMD,X3500 A900 1195 LDA #03502 9D4803 1200 STA ICBLL},X3505 9D4903 1205 STA ICBLH,X3508 68 1210 PLA3509 2056E4 1215 JSR CIOV350C 10E9 1220 } BPL OPEN1 OK350E A203 1225 LDX #3 DISK WRITE ERROR3510 D0AD 1230 BNE ERROR A}LWAYS 1235 ; 1240 ; GET BYTE FROM DISK FILE 1245 ; EQ IF EOF 1250 ;3512 A210} 1255 GETBYT LDX #$103514 A907 1260 LDA #73516 9D4203 1265 STA ICCMD,X3519 A900 1270 LDA #0}351B 9D4803 1275 STA ICBLL,X351E 9D4903 1280 STA ICBLH,X3521 2056E4 1285 JSR CIOV3524 10D1 1290} BPL OPEN1 OK3526 C088 1295 CPY #$88 EOF ?3528 F0CD 1300 BEQ OPEN1 OK352}A A204 1305 LDX #4 DISK READ ERROR352C D091 1310 BNE ERROR ALWAYS 1315 ; } 1320 ; COLOR TABLE 1325 ;352E B0 1330 COLTAB .BYTE $B0,$B6,$B0,$B0352F B63530 B03531 B0 } 1335 ; 1340 ; MESSAGE TABLE 1345 ;3532 7D 1350 MESTAB .BYTE $7D,$9B3533 9B3534 A0 1}355 .BYTE " FORMATTER CARTRIDGE SOFTWARE "3535 A03536 A03537 A03538 A03539 C6353A CF353B D2353C CD35}3D C1353E D4353F D43540 C53541 D23542 A03543 C33544 C13545 D23546 D43547 D23548 C93549 C4354A C7354B C5354C A0}354D D3354E CF354F C63550 D43551 D73552 C13553 D23554 C53555 A03556 A03557 A03558 A03559 A0355A A0 1360 } .BYTE " (C) 1984 Bernhard Engl "355B A0355C A0355D A0355E A0355F A03560 A03561 A03562 A83563 C33}564 A93565 A03566 B13567 B93568 B83569 B4356A A0356B C2356C E5356D F2356E EE356F E83570 E13571 F23572 E43573 A}03574 C53575 EE3576 E73577 EC3578 A03579 A0357A A0357B A0357C A0357D A0357E A0357F A03580 9B 1365 .B}YTE $9B3581 20 1370 .BYTE " 1 Create Control File ",$9B3582 203583 203584 203585 203586 203587 203}588 A03589 B1358A A0358B A0358C C3358D F2358E E5358F E13590 F43591 E53592 A03593 A03594 C33595 EF3596 EE3597 F}43598 F23599 EF359A EC359B A0359C C6359D E9359E EC359F E535A0 A035A1 9B35A2 20 1375 .BYTE " 2 Co}mpile Control File ",$9B35A3 2035A4 2035A5 2035A6 2035A7 2035A8 2035A9 A035AA B235AB A035AC A035AD C335AE EF35AF} ED35B0 F035B1 E935B2 EC35B3 E535B4 A035B5 C335B6 EF35B7 EE35B8 F435B9 F235BA EF35BB EC35BC A035BD C635BE E93}5BF EC35C0 E535C1 A035C2 9B35C3 20 1380 .BYTE " 3 Create Rnd Data File ",$9B35C4 2035C5 2035C6 2035}C7 2035C8 2035C9 2035CA A035CB B335CC A035CD A035CE C335CF F235D0 E535D1 E135D2 F435D3 E535D4 A035D5 D235D6 EE}35D7 E435D8 A035D9 C435DA E135DB F435DC E135DD A035DE C635DF E935E0 EC35E1 E535E2 A035E3 9B35E4 20 1385 } .BYTE " 4 Format Track ",$9B35E5 2035E6 2035E7 2035E8 2035E9 2035EA 2035EB A035EC B435ED A035EE }A035EF C635F0 EF35F1 F235F2 ED35F3 E135F4 F435F5 A035F6 D435F7 F235F8 E135F9 E335FA EB35FB A035FC A035FD A035}FE A035FF A03600 A03601 A03602 A03603 A03604 9B3605 20 1390 .BYTE " 5 RPM Check ",$9B360}6 203607 203608 203609 20360A 20360B 20360C A0360D B5360E A0360F A03610 D23611 D03612 CD3613 A03614 C33615 E8}3616 E53617 E33618 EB3619 A0361A A0361B A0361C A0361D A0361E A0361F A03620 A03621 A03622 A03623 A03624 A03625 }9B3626 20 1395 .BYTE " 6 Exit to DOS ",$9B,$9B3627 203628 203629 20362A 20362B 20362C 2036}2D A0362E B6362F A03630 A03631 C53632 F83633 E93634 F43635 A03636 F43637 EF3638 A03639 C4363A CF363B D3363C A0}363D A0363E A0363F A03640 A03641 A03642 A03643 A03644 A03645 A03646 9B3647 9B3648 A0 1400 .BYTE " } Enter Selection ",$9B,03649 A0364A A0364B A0364C A0364D A0364E A0364F A03650 A03651 A03652 A03653 C5365}4 EE3655 F43656 E53657 F23658 A03659 A0365A D3365B E5365C EC365D E5365E E3365F F43660 E93661 EF3662 EE3663 A0}3664 A03665 A03666 A03667 A03668 A03669 A0366A A0366B A0366C A0366D A0366E 9B366F 003670 FD 1405 .BYT}E $FD,03671 003672 A0 1410 .BYTE " Can't OPEN File ",$FD,03673 C33674 E13675 EE3676 A73677 F43678 A03679} CF367A D0367B C5367C CE367D A0367E C6367F E93680 EC3681 E53682 A03683 FD3684 003685 A0 1415 .BYTE " }Disk Write Error ",$FD,03686 C43687 E93688 F33689 EB368A A0368B D7368C F2368D E9368D F4368F E53690 A03691 C53692} F23693 F23694 EF3695 F23696 A03697 FD3698 003699 A0 1420 .BYTE " Disk Read Error ",$FD,0369A C4369B E9}369C F3369D EB369E A0369F D236A0 E536A1 E136A2 E436A3 A036A4 C536A5 F236A6 F236A7 EF36A8 F236A9 A036AA FD36AB }0036AC 7D 1425 .BYTE $7D,$9B," CREATE CONTROL FILE ",$9B,$9B,036AD 9B36AE A036AF A036B0 A0}36B1 A036B2 A036B3 A036B4 A036B5 A036B6 C336B7 D236B8 C536B9 C136BA D436BB C536BC A036BD A036BE C336BF CF36C0 }CE36C1 D436C2 D236C3 CF36C4 CC36C5 A036C6 A036C7 C636C8 C936C9 CC36CA C536CB A036CC A036CD A036CE A036CF A036}D0 A036D1 A036D2 A036D3 A036D4 9B36D5 9B36D6 0036D7 A0 1430 .BYTE " Enter Filespec ",$9B,036D8 C536D9 EE}36DA F436DB E536DC F236DD A036DE C636DF E936E0 EC36E1 E536E2 F336E3 F036E4 E536E5 E336E6 A036E7 9B36E8 0036E9} 9B 1435 .BYTE $9B," Enter Sector Control Block ",$9B,$9B,036EA A036EB C536EC EE36ED F436EE E536EF F236F0 }A036F1 D336F2 E536F3 E336F4 F436F5 EF36F6 F236F7 A036F8 C336F9 EF36FA EE36FB F436FC F236FD EF36FE EC36FF A037}00 C23701 EC3702 EF3703 E33704 EB3705 A03706 9B3707 9B3708 003709 9B 1440 .BYTE $9B," Enter Sector ID St}ring ",$9B,0370A A0370B C5370C EE370D F4370E E5370F F23710 A03711 D33712 E53713 E33714 F43715 EF3716 F23717 A0}3718 C93719 C4371A A0371B D3371C F4371D F2371E E9371F EE3720 E73721 A03722 9B3723 003724 9B 1445 .BYT}E $9B,03725 003726 7D 1450 .BYTE $7D,$9B," COMPILE CONTROL FILE ",$9B,$9B,03727 9B3728 A03729 }A0372A A0372B A0372C A0372D A0372E A0372F A03730 C33731 CF3732 CD3733 D03734 C93735 CC3736 C53737 A03738 A037}39 C3373A CF373B CE373C D4373D D2373E CF373F CC3740 A03741 A03742 C63743 C93744 CC3745 C53746 A03747 A03748 A0}3749 A0374A A0374B A0374C A0374D A0374E 9B374F 9B3750 003751 A0 1455 .BYTE " Enter Control Filespec ",$9}B,03752 C53753 EE3754 F43755 E53756 F23757 A03758 C33759 EF375A EE375B F4375C F2375D EF375E EC375F A03760 C63}761 E93762 EC3763 E53764 F33765 F03766 E53767 E33768 A03769 9B376A 00376B A0 1460 .BYTE " Enter Data Fi}lespec ",$9B,0376C C5376D EE376E F4376F E53770 F23771 A03772 C43773 E13774 F43775 E13776 A03777 C63778 E93779 E}C377A E5377B F3377C F0377D E5377E E3377F A03780 9B3781 003782 A0 1465 .BYTE " Enter Trackno 00-41 ",$9B,}03783 C53784 EE3785 F43786 E53787 F23788 A03789 D4378A F2378B E1378C E3378D EB378E EE378F EF3790 A03791 B0379}2 B03793 AD3794 B43795 B13796 A03797 9B3798 003799 9B 1470 .BYTE $9B, Bad Data File ",$FD,0379A A0379B }A0379C C2379D E1379E E4379F A037A0 C437A1 E137A2 F437A3 E137A4 A037A5 C637A6 E937A7 EC37A8 E537A9 A037AA FD37}AB 0037AC 9B 1475 .BYTE $9B," Syntax Error ",$FD,037AD A037AE D337AF F937B0 EE37B1 F437B2 E137B3 F837B4 }A037B5 C537B6 F237B7 F237B8 EF37B9 F237BA A037BB FD37BC 0037BD 9B 1480 .BYTE $9B, "Data CRC Fixup Y/N? "},$9B,037BE A037BF C437C0 E137C1 F437C2 E137C3 A037C4 C337C5 D237C6 C337C7 A037C8 C637C9 E937CA F837CB F537CC F}037CD A037CE D937CF AF37D0 CE37D1 BF37D2 A037D3 9B37D4 0037D5 A0 1485 .BYTE " Enter Format Filespec ",$9}B37D6 C537D7 EE37D8 F437D9 E537DA F237DB A037DC C637DD EF37DE F237DF ED37E0 E137E1 F437E2 A037E3 C637E4 E937E}5 EC37E6 E537E7 F337E8 F037E9 E537EA E337EB A037EC 9B37ED 0037EE 9B 1490 .BYTE $9B," Out of Data Error "},$FD,037EF A037F0 CF37F1 F537F2 F437F3 A037F4 EF37F5 E637F6 A037F7 C437F8 E137F9 F437FA E137FB A037FC C537FD F}237FE F237FF EF3800 F23801 A03802 FD3803 003804 7D 1495 .BYTE $7D,$9B," CREATE RANDOM DATA FILE } ",$9B,$9B,03805 9B3806 A03807 A03808 A03809 A0380A A0380B A0380C C3380D D2380E C5380F C13810 D43811 C53812 A}03813 A03814 D23815 C13816 CE3817 C43818 CF3819 CD381A A0381B A0381C C4381D C1381E D4381F C13820 A03821 A0382}2 C63823 C93824 CC3825 C53826 A03827 A03828 A03829 A0382A A0382B A0382C 9B382D 9B382E 00382F A0 1500 } .BYTE " Enter No of Blocks ",$9B,03830 C53831 EE3832 F43833 E53834 F23835 A03836 CE3837 EF3838 A03839 EF383A E63}83B A0383C C2383D EC383E EF383F E33840 EB3841 F33842 A03843 9B3844 003845 A0 1505 .BYTE " Prefer $08 (Y}/N) ",$9B,03846 D03847 F23848 E53849 E6384A E5384B F2384C A0384D A4384E B0384F B83850 A03851 A83852 D93853 AF3}854 CE3855 A93856 A03857 9B3858 003859 7D 1510 .BYTE $7D,$9B," RPM CHECK ",$9B,0}385A 9B385B A0385C A0385D A0385E A0385F A03860 A03861 A03862 A03863 A03864 A03865 A03866 A03867 A03868 A03869 }D2386A D0386B CD386C A0386D A0386E C3386F C83870 C53871 C33872 CB3873 A03874 A03875 A03876 A03877 A03878 A038}79 A0387A A0387B A0387C A0387D A0387E A0387F A03880 A03881 9B3882 003883 7D 1515 .BYTE $7D,$9B," } FORMAT TRACK ",$9B,03884 9B3885 A03886 A03887 A03888 A03889 A0388A A0388B A0388C A0388D A0388E A}0388F A03890 A03891 C63892 CF3893 D23894 CD3895 C13896 D43897 A03898 A03899 D4389A D2389B C1389C C3389D CB389}E A0389F A039A0 A039A1 A039A2 A039A3 A039A4 A039A5 A039A6 A039A7 A039A8 A039A9 A039AA A039AB 9B39AC 0038AD A0 } 1520 .BYTE " Insert Disk in F-Drive, hit RETURN ",$9B,038AE C938AF EE38B0 F338B1 E538B2 F238B3 F438B4 A03}8B5 C438B6 E938B7 F338B8 EB38B9 A038BA E938BB EE38BC A038BD C638BE AD38BF C438C0 F238C1 E938C2 F638C3 E538C4 A}C38C5 A038C6 E838C7 E938C8 F438C9 A038CA D238CB C538CC D438CD D538CE D238CF CE38D0 A038D1 9B38D2 0038D3 A0 } 1525 .BYTE "Enter Index Delay ",$9B,038D4 C538D5 ED38D6 F438D7 E538D8 F238D9 A038DA C938DB EE38DC E438DD E}538DE F838DF A038E0 C438E1 E538E2 EC38E3 E138E4 F938E5 A038E6 9B38E7 0038E8 58 1530 SPEED .BYTE "XXX.X UPM"},038E9 5838EA 5838EB 2E38EC 5838ED 2038EE A038EF D538F0 D038F1 CD38F2 0038F3 9B 1535 .BYTE $9B,$9B," S}pace Bar to Exit ",$9B,$1C,$1C,$1C,038F4 9B38F5 A038F6 D338F7 F038F8 E138F9 E338FA E538FB A038FC C238FD E138FE F2}38FF A03900 F43901 EF3902 A03903 C53904 F83905 E93906 F43907 A03908 9B3909 1C390A 1C390B 1C390C 00390D 9B 1}540 .BYTE $9B, " Type Y to Restart ",$9B,0390E A0390F D43910 F93911 F03912 E53913 A03914 D93915 A03916 F439}17 EF3918 A03919 D2391A E5391B F3391C F4391D E1391E F2391F F43920 A03921 9B3922 003923 9B 1545 .BYTE }$9B,$1C,03924 1C3925 00 1550 ; 1555 ;--------------------- 1560 ; 1565 ; CR}EATE CONTROL FILE 1570 ;3962 A205 1575 CREATE LDX #5 OUTPUT STRING3928 205834 1580 JSR PRT}STR392B A206 1585 LDX #6 ASK FOR FILESPEC392D 205834 1590 JSR PRTSTR3930 20A034 1595 J}SR INPUT3933 A908 1600 LDA #8 OPEN FILE FOR OUTPUT3935 20D534 1605 JSR OPEN3938 A207 1610 } LDX #7 ASL FOR CONTROL BLOCK393A 205834 1615 JSR PRTSTR393D 20E739 1620 JSR RESCON3940 20A}034 1625 CREAT1 JSR INPUT GET LINE3943 AD0940 1630 LDA INBUF BLOCK COMPLETE ?3946 C99B 1635 } CMP #$9B3948 F01A 1640 BEQ CREAT4394A A000 1645 LDY #0 MOVE LINE TO CONTROL BUFFER394C B90}940 1650 CREAT2 LDA INBUF,Y394F 91B4 1655 STA (CONPNT),Y3951 C99B 1660 CMP #$9B3953 F003 1665 } BEQ CREAT3 EOL3955 C8 1670 INY3956 10F4 1675 BPL CREAT2 ALWAYS3958 98 1680 CREAT3} TYA ADVANCE POINTER3959 38 1685 SEC395A 65B4 1690 ADC CONPNT395C 85B4 1695 }STA CONPNT395E 90E0 1700 BCC CREAT13960 E6B5 1705 INC CONPNT+13962 D0DC 1710 BNE CREAT1 } ALWAYS3964 A208 1715 CREAT4 LDX #8 ASK FOR SECTOR STRING3966 205834 1720 JSR PRTSTR3969 20A034 1725 } JSR INPUT GET IT396C A209 1730 LDX #9 CR/LF396E 205834 1735 JSR PRTSTR3971 20F }039 1740 JSR SETEND SET END ADDRESS3974 A964 1745 LDA #100 RESET LINE3976 A200 1750  } LDX #03978 85B0 1755 STA PRTPNT USE PRINTER POINTER397A 86B1 1760 STX PRTPNT+1397C A900 176 }5 CREAT5 LDA #0 CREATE FILE397E 85B2 1770 STA TEMP RESET SECTOR POINTER INDEX3980 A4B2 1775  }CREAT6 LDY TEMP LAST SECTOR PROCESSED ?3982 B90940 1780 LDA INBUF,Y3985 C99B 1785 CMP #$9B3987 }D006 1790 BNE CREAT7 NO3989 20CB34 1795 JSR CLOSE CLOSE FILE398C 4C0034 1800 JMP MAI}N398F 38 1805 CREAT7 SEC CALC SECTOR NO3990 E940 1810 SBC #$403992 85B8 1815 STA SEC}TOR3994 20E739 1820 JSR RESCON3997 20293A 1825 CREAT8 JSR LINNUM GENERATE LINENNO399A A000 1830 L}DY #0 SAVE FIRST STATEMENT CHR399C B1B4 1835 LDA (CONPNT),Y399E 48 1840 PHA399F A000 184}5 CREAT9 LDY #0 GENERATE ONE LINE39A1 B1B4 1850 LDA (CONPNT),Y39A3 C99B 1855 CMP #$9B39A5 F}00B 1860 BEQ CREA10 EOL39A7 20033A 1865 JSR GENBYT39AA A2B4 1870 LDX #CONPNT39AC 209934 }1875 JSR INCPNT39AF 4C9F39 1880 JMP CREAT939B2 68 1885 CREA10 PLA HEADER STATEMENT ?39B3} C948 1890 CMP #$4839B5 D00F 1895 BNE CREA11 NO39B7 A920 1900 LDA #$2039B9 20033A 1905} JSR GENBYT39BC A5B8 1910 LDA SECTOR OUTPUT SECTOR NO39BE A200 1915 LDX #039C0 200B3A 19}20 JSR INTASC39C3 20153A 1925 JSR GENNUM39C6 A99B 1930 CREA11 LDA #$9B EOL39C8 20033A 1935 } JSR GENBYT39CB A2B4 1940 LDX #CONPNT ADVANCE PNT39CD 209934 1945 JSR INCPNT39D0 20F939 1950 } JSR CMPCON39D3 90C2 1955 BCC CREAT8 NEXT LINE39D5 20293A 1960 JSR LINNUM NEW LINE39D8 A}93B 1965 LDA #$3B39DA 20033A 1970 JSR GENBYT39DD A99B 1975 LDA #$9B39DF 20033A 1980 JS}R GENBYT39E2 E6B2 1985 INC TEMP39E4 4C8039 1990 JMP CREAT6 1995 ; 2000 ; CONPNT=C}ONBUF 2005 ;39E7 A989 2010 RESCON LDA #CONBUF&$FF39E9 A240 2015 LDX #CONBUF/25639EB 85B4 2020 } STA CONPNT39ED 86B5 2025 STX CONPNT+139EF 60 2030 RTS 2035 ; 2040 ; CO}NEND=CONPNT 2045 ;39F0 A5B4 2050 SETEND LDA CONPNT39F2 A6B5 2055 LDX CONPNT+139F4 85B6 2060 } STA CONEND39F6 86B7 2065 STX CONEND+139F8 60 2070 RTS 2075 ; 2080 ; COMP }ARE CONPNT AGAINST CONEND 2085 ;39F9 A5B4 2090 CMPCON LDA CONPNT39FB 38 2095 SEC39FC E5B6 210!}0 SBC CONEND39FE A5B5 2105 LDA CONPNT+13A00 E5B7 2110 SBC CONEND+13A02 60 2115 RTS"} 2120 ; 2125 ; BYTE A TO DISK AND SCREEN 2130 ;3A03 48 2135 GENBYT PHA3A04 208E34 #}2140 JSR PRTCHR3A07 68 2145 PLA3A08 4CF834 2150 JMP PUTBYT 2155 ; 2160 $}; CONVERT A,X TO ASCII 2165 ;3A0B 85D4 2170 INTASC STA FR0 INTEGER TO FLOAT3A0D 86D5 2175 %} STX FR0+13A0F 20AAD9 2180 JSR IFP3A12 4CE6D8 2185 JMP FASC 2190 ; 2195 ; ASCII NUM&}BER TO DISK AND SCREEN 2200 ;3A15 A200 2205 GENNUM LDX #03A17 86B3 2210 GENNU1 STX TEMP1 SAVE INDE'}X3A19 BD8005 2215 LDA LBUFF,X3A1C 48 2220 PHA SAVE CHAR3A1D 297F 2225 AND #$7F(}3A1F 20033A 2230 JSR GENBYT TO DISK AND SCREEN3A22 A6B3 2235 LDX TEMP1 NEXT INDEX3A24 E8 )} 2240 INX3A25 68 2245 PLA3A26 10EF 2250 BPL GENNU1 ANOTHER CHAR3A28 60 2255 *} RTS 2260 ; 2265 ; GENERATE LINE NUMBER 2270 ;3A29 A5B0 2275 LINNUM LDA PRTPNT3A2B +}A6B1 2280 LDX PRTPNT+13A2D 200B3A 2285 JSR INTASC TO ASCII3A30 20153A 2290 JSR GENNUM ,} OUTPUT3A33 A920 2295 LDA #$20 SPACE3A35 20033A 2300 JSR GENBYT3A38 A5B0 2305 LDA PRTP-}NT INC LINENO BY 53A3A 18 2310 CLC3A3B 6905 2315 ADC #53A3D 85B0 2320 STA PRTPNT3A3.}F 9002 2325 BCC LINNU13A41 E6B1 2330 INC PRTPNT+13A43 60 2335 LINNU1 RTS 2340 ; /} 2345 ;--------------------- 2350 ; 2355 ; COMPILE FORMAT FILE 2360 ;3A44 A20A 230}65 COMPIL LDX #10 OUTPUT HEADLINE3A46 205834 2370 JSR PRTSTR3A49 A20B 2375 LDX #11 ASK1} FOR CONTROL FILESPEC3A4B 205834 2380 JSR PRTSTR3A4E 20A034 2385 JSR INPUT3A51 A904 2390 LDA #4 2} OPEN FILE3A53 20D534 2395 JSR OPEN3A56 20E739 2400 JSR RESCON READ CONTROL FILE3A59 2012353} 2405 COMPI1 JSR GETBYT3A5C F00C 2410 BEQ COMPI2 EOF3A5E A000 2415 LDY #03A60 91B4 2420 4} STA (CONPNT),Y3A62 A2B4 2425 LDX #CONPNT INC POINTER3A64 209934 2430 JSR INCPNT3A67 4C593A 2435 5} JMP COMPI13A6A 20F039 2440 COMPI2 JSR SETEND SAVE END3A6D 20E739 2445 JSR RESCON3A70 20CB34 2450 6} JSR CLOSE3A73 A20C 2455 LDX #12 ASK FOR DATA FILESPEC3A75 205834 2460 JSR PRTSTR3A78 20A07}34 2465 JSR INPUT3A7B A904 2470 LDA #43A7D 20D534 2475 JSR OPEN OPEN DATA FILE3A80 A906 8} 2480 LDA #6 IGNORE HEADER3A82 85B2 2485 STA TEMP3A84 201235 2490 COMPI3 JSR GETBYT3A87 D0059} 2495 BNE COMPI4 NO EOF3A89 A20E 2500 LDX #14 BAD DATA FILE3A8B 4CBF34 2505 JMP :}ERROR3A8E C6B2 2510 COMPI4 DEC TEMP3A90 D0F2 2515 BNE COMPI33A92 A20D 2520 COMPI5 LDX #13 ASK FOR;} TRACK3A94 205834 2525 JSR PRTSTR3A97 20AE3B 2530 JSR NINPUT GET NUMBER3A9A E000 2535 CPX <}#03A9C F008 2540 BEQ COMPI7 FROM 0 TO 2553A9E A201 2545 COMPI6 LDX #1 BEEP3AA0 205834 2550 =} JSR PRTSTR3AA3 4C923A 2555 JMP COMPI53AA6 C92A 2560 COMPI7 CMP #423AA8 B0F4 2565 BCS COMPI6 >} TOO BIG3AAA 85B9 2570 STA TRACK3AAC A209 2575 LDX #9 CR/LF3AAE 205834 2580 JSR PR?}TSTR3AB1 20093C 2585 JSR SETFOR INIT POINTER3AB4 20123C 2590 COMPI8 JSR CONBYT SCAN FOR COMMAND3AB7 C@}920 2595 CMP #$203AB9 F0F9 2600 BEQ COMPI8 IGNORE SPACE3ABB C930 2605 CMP #$303ABD 900A}4 2610 BCC COMPI93ABF C93A 2615 CMP #$3A3AC1 90F1 2620 BCC COMPI8 IGNORE LINENO3AC3 C9B}3B 2625 COMPI9 CMP #$3B3AC5 D006 2630 BNE COMP103AC7 202C3C 2635 JSR LINEND SKIP COMMENT3ACA 4CC}B43A 2640 JMP COMPI83ACD 85B2 2645 COMP10 STA TEMP SAVE FIRST CHAR3ACF 20123C 2650 JSR CONBYT D} GET SECOND CHAR3AD2 A8 2655 TAY3AD3 A215 2660 LDX #21 SCAN COMMAND TABLE3AD5 98 266E}5 COMP11 TYA3AD6 CA 2670 DEX3AD7 DD833B 2675 CMP COMTAB+1,X3ADA D007 2680 BNE COMP123ADC AF}5B2 2685 LDA TEMP3ADE DD823B 2690 CMP COMTAB,X3AE1 F00B 2695 BEQ COMP14 COMMAND FOUND3AEG}3 CA 2700 COMP12 DEX3AE4 10EF 2705 BPL COMP113AE6 202C3C 2710 COMP13 JSR LINEND SYNTAX ERROR3AE9 A20H}F 2715 LDX #153AEB 4CBF34 2720 JMP ERROR3AEE 20733B 2725 COMP14 JSR COMP22 EXECUTE COMMAND3AF1 20I}2C3C 2730 JSR LINEND SKIP TO LINEND3AF4 4CB43A 2735 JMP COMP18 NEXT COMMAND3AF7 A210 2740 COMJ}P15 LDX #16 ASK FOR CRC FIX3AF9 205834 2745 JSR PRTSTR3AFC 20A034 2750 JSR INPUT3AFF 20343C 2755K} JSR SETFND SAVE FORMAT TABLE END3B02 AD0940 2760 LDA INBUF3B05 C959 2765 CMP #$593B07 D04L}0 2770 BNE COMP20 NO CRC FIX3B09 20093C 2775 JSR SETFOR INIT POINTER3B0C 203D3C 2780 COMP16 M}JSR ASSBYT GET DATA/CLOCK3B0F A5BC 2785 LDA CLOCK TEST FOR DAM3B11 C9C7 2790 CMP #$C73B13N} D02F 2795 BNE COMP19 NOT DAM3B15 A5BD 2800 LDA DATA3B17 29FC 2805 AND #$FC3B19 C9F8 O} 2810 CMP #$F83B1B D027 2815 BNE COMP19 NOT DAM3B1D A5BE 2820 LDA FORPNT SAVE POINTP}ER3B1F 48 2825 PHA3B20 A5BF 2830 LDA FORPNT+13B22 48 2835 PHA3B23 20513C 2840 JQ}SR RESCRC3B26 A981 2845 LDA #129 CRC FOR 129 DATA/CLOCKS3B28 85C2 2850 STA COUNT3B2A 203D3C 28R}55 COMP17 JSR ASSBYT3B2D A5BD 2860 LDA DATA3B2F 20583C 2865 JSR CRCGEN CALC CRC3B32 20F53B 2870 S} JSR ADVFOR ADVANCE POINTER3B35 B007 2875 BCS COMP18 END3B37 C6C2 2880 DEC COUNT3B39T} D0EF 2885 BNE COMP17 NEXT BYTE3B3B 20793C 2890 JSR STOCRC STORE CRC BYTES3B3E 68 2895 COU}MP18 PLA RESTORE POINTER3B3F 85BF 2900 STA FORPNT+13B41 68 2905 PLA3B42 85BE 2910 V} STA FORPNT3B44 20F53B 2915 COMP19 JSR ADVFOR TO NEXT DATA/CLOCK3B47 90C3 2920 BCC COMP163B49 20CB34W} 2925 COMP20 JSR CLOSE CLOSE DATA FILE3B4C A211 2930 LDX #173B4E 205834 2935 JSR PRTSTR ASKX} FOR FORM FILESPEC3B51 20A034 2940 JSR INPUT3B54 A908 2945 LDA #8 OPEN FOR OUTPUT3B56 20D534 2Y}950 JSR OPEN3B59 20093C 2955 JSR SETFOR3B5C A5B9 2960 LDA TRACK WRITE TRACK NO3B5E 20F834Z} 2965 JSR PUTBYT3B61 A000 2970 COMP21 LDY #0 WRITE FORM FILE3B63 B1BE 2975 LDA (FORPNT),Y3B[}65 20F834 2980 JSR PUTBYT3B68 20FA3B 2985 JSR INCFOR3B6B 90F4 2990 BCC COMP213B6D 20CB34 2995 \} JSR CLOSE3B70 4C0034 3000 JMP MAIN3B73 A9FF 3005 COMP22 LDA #$FF INIT CLOCK PATTERN3B75 85BC 30]}10 STA CLOCK3B77 BD993B 3015 LDA COMBTB+1,X3B7A 48 3020 PHA3B7B BD983B 3025 LDA COMBTB^},X3B7E 48 3030 PHA3B7F 4C893C 3035 JMP SKIPCE SKIP COMMAND AND BRANCH 3040 ;3B82 52 _} 3045 COMTAB .BYTE "RECRDAIDIXGA"3B83 453B84 433B85 523B86 443B87 413B88 49 3B89 443B8A 493B8B 583B8C 473B8D 4`}13B8E 42 3050 .BYTE "BLBYNIHETR"3B8F 4C3B90 423B91 593B92 4E3B93 493B94 483B95 453B96 543B97 52 a} 3055 ;3B98 503C 3060 COMBTB .WORD RESCRC-13B9A 783C 3065 .WORD STOCRC-13B9C 983C 3070 .WORD DAb}M-13B9E AD3C 3075 .WORD IDAM-13BA0 A73C 3080 .WORD IXAM-13BA2 B13C 3085 .WORD GAP-13BA4 C03c}C 3090 .WORD BLOCK-13BA6 ED3C 3095 .WORD BYTE-13BA8 F83C 3100 .WORD NIBBLE-13BAA 093D 3105d} .WORD HEADER-13BAC 273D 3110 .WORD GTRACK-1 3115 ; 3120 ; GET INTEGER A,X FROM KEe}YBOARD 3125 ;3BAE 20A034 3130 NINPUT JSR INPUT3BB1 A909 3135 LDA #INBUF&$FF3BB3 A240 3140 f} LDX #INBUF/2563BB5 85F3 3145 STA INBUF3BB7 86F4 3150 STX INBUF+13BB9 A900 3155 LDX #03BBB g}85F2 3160 STA CIX3BBD 2000D8 3165 JSR AFP ASCII TO FLOAT3BC0 B00A 3170 BCS NINPU1 q}}b%DOS SYSb*)DUP SYSb SCRCGENWDTXTb^CRCGENWDCOMb_FORMATERTXTb,FORMATERCOMbFREADME TXTbKDOKU TXT BAD3BC2 20D2D9 3175 JSR FPI CONVERT TO INTEGER3BC5 B005 3180 BCS NINPU1 BAD3BC7 A5D4 r}3185 LDA FRO3BC9 A6D5 3190 LDX FRO+13BCB 60 3195 RTS3BCC A9FF 3200 NINPU1 LDA #$FF s} ERROR EXIT3BCE AA 3205 TAX3BCF 60 3210 RTS 3215 ; 3220 ; PUT CLOCK/DATA Pt}ATTERN TO FORM AREA 3225 ; CALC CRC, ADVANCE POINTER 3230 ;3BD0 85BD 3235 PUTPAT STA DATA u} CALC CRC3BD2 20583C 3240 JSR CRCGEN3BD5 A208 3245 LDX #83BD7 06BC 3250 PUTPA1 ASL CLOCK3BD9 26B2 v}3255 ROL TEMP3BDB 26B3 3260 ROL TEMP13BDD 06BD 3265 ASL DATA3BDF 26B2 3270 ROL TEMPw}3BE1 26B3 3275 ROL TEMP13BE3 CA 3280 DEX3BE4 D01F 3285 BNE PUTPA13BE6 A000 3290 x}LDX #03BE8 A5B3 3295 LDA TEMP13BEA 91BE 3300 STA (FORPNT),Y3BEC C8 3305 INY3BED A5B2 33y}10 LDA TEMP3BEF 91BE 3315 STA (FORPNT),Y3BF1 A9FF 3320 LDA #$FF NORMAL CLOCK PATTERN3Bz}F3 85BC 3325 STA CLOCK 3330 ; 3335 ; ADVANCE PORPNT BY 2, CY=0 IF FORPNTT4l 25Ʋ` 4 4Lf-}4 4Lx4 4Lb4GHFH`` @DEHIB V0` X4 4 4L4 BLVH 4hJ D@EB V.}`H BHIh VЭBHI VܢБ}ҠŠŠé/}젠 堠堛 堛 堛 0}렠 ͠렠 Ӡ1}Π}Š̠Š㠛2}렛Ġ砛}Š̠Š3}㠛㠛àٯο4}㠛}Š͠Š򠤰ٯΩ}5}͠ˠ}Ԡˠƭ嬠Π6}XXX.X ٠ X4 X4 4 4 X4 9 4 @ɛ @ɛ7}8eܢ X4 4 X4 9d @ɛ 4L48@ 9 ):Hɛ : 4L9hH : : : : 4 9 8}):; : :L9@``8嶥`H 4hL4Ԇ LآH) :h` : : :i` X4 X4 49} 4 9 5 4LY: 9 9 4 X4 4 4 5L4Ʋ X4 ; X4L:*􅹢 X4 < < 0:; ,