' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 ˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- ( >  Ϡ-@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B  ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L HΝ *`HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z#e original. If they are not identical, then Diversi-COPY beeps and gives a 'Compare Error'. Comparison mode works with 1-drive, 2-drives, formatting and mass production. At the end of a mass production session, we recommend that you compare your originaer 'C' will appear in the lower right corner of the screen. To leave comparison mode, hit 'C' again (the letter 'C' will disappear). While in comparison mode, Diversi-COPY does not write duplicates. Instead it compares an already written duplicate to th12 - Verify error / compressed data NOTE: To copy 40-track disks, hit '*' from the main menu (requires 40-track drives). *** Comparing Disks *** Diversi-Copy can compare 2 disks to see if they are identical. To enter comparison mode, hit 'C'. The lettdrive or motor speed error 2 - Write protected 3 - No address mark (D5 AA 96) 4 - Volume mismatch 5 - Wrong track 6 - Bad address data 7 - No data mark (D5 AA AD) 8 - Data checksum error 9 - No DE trailer 10 - No AA trailer 11 - Verify error / wrong byte 64K Apple II+ with an extra 128K card is just a little short of the 200K needed, but will work for almost all originals if a few sectors are unused. *** Error Numbers *** For the technically oriented, here is a list of possible disk errors: 1 - Empty already have a //e with a 64K extended 80-column card, then buy a 128K card from Titan, Legend, Omega, Prometheus or Abacus. The Abacus 128K card is the most versatile for the hobbyist (313 524-2444), but the other companies are larger and better known. A 192K 'Neptune' extended 80-column card may also be used. If you're buying a new computer for mass production, we suggest that you get a //e without an 80-column card. Then buy the 192K 'Neptune' extended 80-column card from Titan (313 662-8542). If you y full disks, however, you'll need to add extra memory to your computer. You need a total of about 200K to copy any disk. Diversi-COPY automatically recognizes the 64K extended 80-column card in the Apple //e, and all 16K and 128K cards in any slot. Thehe keyboard. While Diversi-COPY is writing to drive #2, put a new disk in drive #1, and vice-versa. *** Extra Memory *** You can mass-produce newly formatted disks on any computer, since Diversi-COPY will compress the unused sectors. To handle completelLOT : ";RSLOT/ 6"REMOTE DISK DRIVE: ";RDRIVE5 <X F"HIT ANY KEY TO COPY....":A$i P769,SLOT16x Z770,DRIVE d771,RSLOT16 n772,RDRIVE xI034 768,I "WRITING TRACK ",I 784   H"p (4);"BLOAD APL2DUMP"$:P"THIS PROGRAM COPIES A DISK IN NIBBLE"q#"FORMAT TO A REMOTE SERVER"w%("ENTER SLOT NUMS (0-7) AND DRIVES (1-2)"23"SOURCE DISK SLOT : ";SLOT4"SOURCE DISK DRIVE: ";DRIVE 5"REMOTE DISK S  e$v# \ۦuv $ W (Lb-逐@ HHLLF:L8gh}~`Ƀ` Sբ$Lʊ:>Ș;k/=:   S;:LT 4 40K14 LT= BC D..=D5֤4 J :3 g ɠɤ ɓՊ x= NU   &B&C= NU4ݴ  $C082OHHHHLNU@IPAAAAAAAAA       H*       *`",H,Ѕh)`n 9bn\ 9b 9b ɍR$, 9bLHhІHh,0Ɉ ʎ$ɠ $` L0-M bPH7 -M bhL808` LЍLLN\ɠɊɎۭ\N8鰐- ),0 8n0 mmL0R7\ɍRL,p0׭\L/-M b$$ `\8tsiiiiL#i$i%&iڍabbiabbi'bbb4bibbb5biiI8PQ c?BC ,ЍPW`XYZ[7\A]O^i_t`abc`'"$;5K!2,:# ,,`<>'=7?<='=L<>'=7?L).`).0.`>@ h'A=?<=`LMNO7PAQORiStTUV ``#`حJJJJLԩLLhhߚHH`Hh`#P()$ "$ \ŭ^ɭ]NU@IPAAAAAAAAAN ! RN "FILER","BRUN FILER"H N "BOOT TRACER","RUN BOOT TRACER"l N "LOCKY6 BACKUP","BRUN LOCKY6" N"MINI-ASSEMBLER","BRUN MINI-ASSEMBLER ($5400)" N "LISA ASSEMBLER", "BRUN LISA V2.5"254): $C082OHHHHL0( v:IN$(A);":";::" ";::PG$(A):0 w24< }D$(4)M D$;CD$(A):S Nj N LIST OF PROGRAMSp *N /N "NIBBLE DISK SERIAL COPY", "RUN NIBDUMP" 4N "DISK TEST","RUN DISK TEST" >N "SPEEDLOAD DOS","EXEC SPL" HN "OLD DOS" ,"EXEC DOS"IN$(I);": ";PG$(I): M19E P:"X: EXIT PROGRAM":"#: BOOT DISK"` Z23:"ENTER CHOICE- ";p dA$:A(A$) eA$"X"ė: fA$"#"ĺA$:(4);"PR#6" iA$ nI1NUM:A$IN$(I)AI:I10000 s tI1000ĺ"";:90 u1:A3:A15ĢA12:2H(4);"BLOAD APL2CLIENT"-47033,1557NUM9WIN$(NUM),PG$(NUM),CD$(NUM)nI1NUM:IN$(I):# 1,2,3,4,5,6,7,8,9(I1NUM:PG$(I),CD$(I):-:216:"SOFTWARE"<16:"--------":F4KI1NUM:I15ĢI12:20 L     KPTR /BUFFER TRKPTR+1 #$00 LOOP5 (TRKPTR),Y SENDBYTE  LOOP5 TRKPTR+1 TRKPTR+1 #$2A ALL DONE? LOOP5 NOT YET   ol, set the recording level to 0dB"N:"Would you like a tone to test the"v"recording level (Y/N)- ";:A$:A$35,17:10:EPAGE:35,24A$"Y"412010:"Hit any key to continue":T0NE:"A test sequence will now be recorded."!Start tape & hit ";Z$' 2040= READ/WRITE TESTQ35,17::35,24pA$"Read/Write Test":9700z5:1"Connect your recorder to the computer""and insert a blank tape.""For recorders without automatic level"#"contry for menu ";:A$:1000<` 14:"ERROR Reading Disk Title"kj :"Do you wish to retry (Y/N)- ";:A$:A$}t A$"Y"1000~ (VFY1)2000,3000  VERIFY TAPE BACKUP 35,17::35,24 A$"Verify Tape Backup":9700 5:1:VFY1 "DDRESS 162,0:63,15132(I6): END ADDRESSiRE:(222)255ĢI8:"ERROR Reading ";T$(I):ERR1wVFY223021:23:"Writing"23:16:"Track $ ,Sector $";500TK(TRK):ST(SCT)(ERR0)100017:"Hit any keELINE:"Disk title is"%47:"->";:>L(8192):I1LQH((8192I));::rRTK0:LT35:ST15:LS15:CDWT\(8193)52(8194)48LT40aERR0fI15(LT40)p21:23:"Loading"z23:15:ELINE:19:T$(I)60,0:61,39: START A:35,24+A$"Retrieve Tape Backup":9700;5:1:VFY0l"Insert disk, start tape & hit ";Z$21:23:"Loading"23:21:"Disk Title" 60,0:61,32: START ADDRESS62,255:63,32: END ADDRESS RE:(222)2552400*5::"Track $ ,Sector $";!x500B60,0:61,39: START ADDRESSs62,0:63,15132(I6): END ADDRESS 21:23:"Dumping"23:15:ELINE:19:T$(I)WRTK(TRK):ST(SCT)1000 RETRIEVE TAPE BACKUP35,17:8192I,((A$,I,1)):760,0:61,32: START ADDRESSX62,255:63,32: END ADDRESSy(TK0:LT35:ST15:LS15:CDRD2(A$,2)"40"LT40<21:23:"Dumping"F23:21:"Disk Title"PWRZI15(LT40)d21:23:"Reading"n23:16O TAPE35,17::35,24=A$"Backup Disk to Tape":9700G5:1x"Enter title of disk (40.... if 40 track)";~"->";A$5:ELINE:"Insert disk, start tape & hit ";Z$L(A$):L2L7:A$"UNNAMED"8192,L:I1L sk":L"7) Exit Archiver"OV:"---------------------------------------";Y[9500tj9:27:"ENTER CHOICE"t11:31:"< >"~11:32:A$:A$A((A$)):A1A7ĺ"":1140A1200,2000,3000,4000,5000,6000,7000 SAVE DISK T:TRK,TK:SCT,ST:863:1002:% :@ A$"Tape Archiver 2.0"J 9700Q 4q "1) Backup Disk to Tape": "2) Retrieve Tape Backup": $"3) Verify Tape Backup": ."4) Read/Write Test": 8"5) Set Drive/Baud Rate":B"6) Format Di    H*       *` AND SENDBYTE RSLOT SLOT # SENDBYTE RDRIVE DRIVE # SENDBYTE TRACK THE TRACK # SENDBYTE #$00 DUMMY SECTOR NUMBER SENDBYTE "#TRKWRITE NIBBLE TRACK COMMAND SENDBYTE ; #; NOW SEND THE TRACK DOWN THE LINE ; #BUFFER TRLOOP4 (TRKPTR),Y STORE IN MEMORY TRKPTR BUMP POINTER LOOPD TRKPTR+1 TRKPTR+1 #$2A HAVE WE GOT THE TRACK? LOOPD NO, CONTINUE DRVOFF,X ; $; SEND A NIBBLE TRACK WRITE COMMAND ; TO THE REMOTE SERVER ; #$03 FIRST BYTE IN COMMLOOP1 NO, NOT YET LOOP3 DRVRD,X LOOP3 #$FF STILL AUTOSYNC? !LOOP3 YES, WAIT FOR DATA BYTE !LOOP4 ELSE START STORING DATA ; (; ONCE ALIGNED, BEGIN COPYING THE TRACK ; TO MEMORY ; +LOOPD DRVRD,X WAIT FOR NEXT DATA BYTE LOOPD &PING AT THE BEGINNING !; OF A SECTOR ADDRESS FIELD OR A ; SECTOR DATA FIELD ; &LOOP1 DRVRD,X WAIT FOR NEXT BYTE LOOP1 #$FF AUTOSYNC? #LOOP1 NO, DON'T START IN MIDDLE &LOOP2 DRVRD,X WAIT FOR NEXT BYTE LOOP2 #$FF TWO AUTOSYNCS? 00 "PREG FIX P REG SO DOS IS HAPPY ; "; PREPARE TO DUMP TRACK TO MEMORY ; #RPLSLT GET SLOT*16 (PTR),Y  DRVON,X KEEP DRIVE ON DRVRDM,X INSURE READ MODE #BUFFER POINT AT DATA TRKPTR /BUFFER TRKPTR+1 #$00 ; !; START DUMIN RWTS LIST (PTR),Y DRIVE RPLDRV (PTR),Y SLOT RPLSLT (PTR),Y #RPLCNL NULL OPERATION #RPLCMD AND STORE IN LIST (PTR),Y #$00 ANY VOLUME WILL DO #RPLVOL (PTR),Y LOCRPL RELOAD PTR TO PARMS RWTS CALL RWTS #$LTRK $04 TRACK NUMBER RPLCMD $0C COMMAND CODE RPLCNL $00 NULL COMMAND *TRKWRITE $05 APL2SERIAL TRACK WRITE CMD ; ; ; 'DUMP LOCRPL LOCATE RWTS PARMLIST PTR AND SAVE POINTER PTR+1 TRACK GET TRACK TO READ #RPLTRK STORE I/O SELECTS ; DRVOFF $C088 TURN DRIVE OFF DRVON $C089 TURN DRIVE ON !DRVRD $C08C READ DATA LATCH DRVRDM $C08E SET READ MODE ; ; RWTS PARMLIST DEFINITIONS ; RPLSLT $01 SLOT*16 RPLDRV $02 DRIVE # RPLVOL $03 VOLUME RPR DRIVE $A02 DRIVE NUMBER RSLOT $A03 REMOTE SLOT RDRIVE $A04 REMOTE DRIVE "BUFFER $1000 TRACK IMAGE AREA 0LOCRPL $3E3 LOCATE RWTS PARMLIST SUBROUTINE RWTS $3D9 RWTS SUBROUTINE %SENDBYTE $9B03 SEND BYTE DOWN PORT ; ; DISKARREN TOOMEY ; ;  $A10  $A10 ; ; ; ; ZERO PAGE STUFF ; ; PTR $00 WORK POINTER "TRKPTR $06 BASE OF TRK BUFFER 'PREG $48 MONITOR STATUS REGISTER ; ; OTHER ADDRESSES ; TRACK $A00 TRACK TO READ SLOT $A01 SLOT NUMBE ); PROGRAM TO LOAD A TRACK IN NIBBLE FORM $; AND THEN END IT VIA A SERIAL LINE !; TO A REMOTE APL2SERIAL SERVER. ; $; MOST OF THE CODE IS BORROWED FROM $; THE DUMP PROGRAM IN BENEATH APPLE &; DOS, BY DON WORTH. MODIFIED TO WORK #; WITH APL2SERIAL BY W L 0000000000000000000000000000000000000000000000000000 ?????? !?"#$%&'(?????)*+?,-./012??345678?9:;<=>? 000000000000@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?????????????????????????????????? ?????????????? J%H$HH ( (<)=<ɠi@ *( ( ( hh$h [L?H$ [hLɛ,ɠH hɛ`x(`Ԡ̠ŠӠŮԠ٠ŠӠŮŠĮԠŠϠٮӠݠϠԠή۠ݠӠݠϠԮ0($ p,&"Hh0ii)?bghn f bcL5v 0vbɪ`e$dp<P3$d0~U eP`$ Lu   u8u`a``,I ɛ` `}^_`ii慦xxw`dH { hvteg$dnʕPvcb#"ighf ` eaLĐfP eaa@PLMĀ 䁰vbi$dpPgЎL$dp!P : O W s (  0   u# 0 t# LBL  `x`x{{)z}05|0s{0`}01z0"|!s`<&=  <<`ɰɺ ǰi )`8` 0 $֍`  ʅ#"tuT 1 J  4tt 4 $ O     t# 0m h( 1 ^   4uu 4`LH  LF ɰɳIɰɳILLF @$< LH &ɽ  a  a?LL`ª`LQLYLXLeLee    6.0   -   ! 1199 2 0@P`p@4HpDLH@H H L ???VLr ??ڄ,ԬT,ԬT,ԬT,Tޗi6^&ofB& %of$V ժުժުժުժު<=<' .< <=B?><=??qL `"L"" (` Oz `ɶ`(           E  LOOP5 PTR+1 PTR+1 #$2A ALL DONE? LOOP5 NOT YET        EXECUTION MONITORLINE 1 10 100 1000 10000 COUNT :۩ : \ d,  $ʹ J  4ɀA, UP 0 i c RPPPe . @@   Wۥ $ kLЅ,,`i0ihh`APPLESOFTVE # SENDBYTE TRACK THE TRACK # SENDBYTE #$00 DUMMY SECTOR NUMBER SENDBYTE "#TRKWRITE NIBBLE TRACK COMMAND SENDBYTE ; #; NOW SEND THE TRACK DOWN THE LINE ; #BUFFER PTR /BUFFER PTR+1 #$00 LOOP5 (PTR),Y SENDBYT POINTER LOOPD PTR+1 PTR+1 #$2A HAVE WE GOT THE TRACK? LOOPD NO, CONTINUE DRVOFF,X ; $; SEND A NIBBLE TRACK WRITE COMMAND ; TO THE REMOTE SERVER ; #$03 FIRST BYTE IN COMMAND SENDBYTE RSLOT SLOT # SENDBYTE RDRIVE DRI3 #$FF STILL AUTOSYNC? !LOOP3 YES, WAIT FOR DATA BYTE !LOOP4 ELSE START STORING DATA ; (; ONCE ALIGNED, BEGIN COPYING THE TRACK ; TO MEMORY ; +LOOPD DRVRD,X WAIT FOR NEXT DATA BYTE LOOPD #LOOP4 (PTR),Y STORE IN MEMORY PTR BUMPELD OR A ; SECTOR DATA FIELD ; &LOOP1 DRVRD,X WAIT FOR NEXT BYTE LOOP1 #$FF AUTOSYNC? #LOOP1 NO, DON'T START IN MIDDLE &LOOP2 DRVRD,X WAIT FOR NEXT BYTE LOOP2 #$FF TWO AUTOSYNCS? LOOP1 NO, NOT YET LOOP3 DRVRD,X LOOPREPARE TO DUMP TRACK TO MEMORY ; #RPLSLT GET SLOT*16 (RWTSPTR),Y  DRVON,X KEEP DRIVE ON DRVRDM,X INSURE READ MODE #BUFFER POINT AT DATA PTR /BUFFER PTR+1 #$00 ; !; START DUMPING AT THE BEGINNING !; OF A SECTOR ADDRESS FIIVE #RPLDRV (RWTSPTR),Y #RPLCNL NULL OPERATION #RPLCMD AND STORE IN LIST (RWTSPTR),Y #$00 ANY VOLUME WILL DO #RPLVOL (RWTSPTR),Y LOCRPL RELOAD PTR TO PARMS RWTS CALL RWTS #$00 "PREG FIX P REG SO DOS IS HAPPY ; "; P COMMAND *TRKWRITE $05 APL2SERIAL TRACK WRITE CMD ; ; ; 'DUMP LOCRPL LOCATE RWTS PARMLIST RWTSPTR AND SAVE POINTER RWTSPTR+1 TRACK GET TRACK TO READ #RPLTRK STORE IN RWTS LIST (RWTSPTR),Y SLOT #RPLSLT (RWTSPTR),Y DR XT BIT  <3 LOOP 8 TIMES CHAR #$FF INVERT THE CHARACTER  AND RETURN IT ; ; ; ; ; GETCHAR: GET A KEYBOARD CHAR GETCHAR GETB2 #$80  ; ; "; CONNECT SERIAL LINE AS KEYBOARD SERKYBD #GETCHAR $38 /GETCHAR $39 $3EA B2 #$07 LOOP 8 TIMES (^1 PB2 FIRST FIND A RISING EDGE <1 ^2 PB2 <2 IT'S THE START BIT DELAY SKIP START BIT AND DELAY HALF OF DATA BIT ^3 PB2 GET BIT'S VALUE  CHAR AND SAVE IN CHAR DELAY NOW SKIP TO NERIAL CLIENT GETCODE #$00 ^1 GETB2 $9B00,X  <1 ; ; 78 CYCLE DELAY, INCLUDING ; JSR/RTS INTO THE ROUTINE ; DELAY RTS2 RTS2 RTS RTS2 RTS RTS ; ; !; GETB2: GET A BYTE AT 9600 FROM ; PUSHBUTTON 2 INPUT ; GET(; SMALL BOOTSTRAP CLIENT FOR APL2SERIAL ; ; COPYRIGHT 1998 WARREN TOOMEY ; wkt@cs.adfa.edu.au ; -; See http://minnie.cs.adfa.edu.au/Apl2serial ; ;  $300  $300 ; %PB2 $C063 PUSH BUTTON 2 INPUT CHAR $FF ; ; !; GETCODE: GET APL2SE  VE ON !DRVRD $C08C READ DATA LATCH DRVRDM $C08E SET READ MODE ; ; RWTS PARMLIST DEFINITIONS ; RPLSLT $01 SLOT*16 RPLDRV $02 DRIVE # RPLVOL $03 VOLUME RPLTRK $04 TRACK NUMBER RPLCMD $0C COMMAND CODE RPLCNL $00 NULL GETBYTE (BUF),Y  <4 A=00 NOERR AND RETURN  ETURN ; WRITE #$00 "^3 (BUF),Y SEND EACH BYTE SENDBYTE IN THE BUFFER  <3 NULL ; !READ GETBYTE GET ID AS PER #$03 NULL ABOVE ERR1 GETBYTE GET RESULT #$00 BAD RESULT ERR2 YES #$00 OK, GET BUFFER ^4 NO ERROR IF THRU HERE ^2 #ERROR (IOB),Y SAVE RESULT  AND RETURN ; 'NULL GETBYTE GET BACK AN ID BYTE #$03 DOS 3.3? ERR1 NOPE, GENERAL ERR GETBYTE GET RESULT #$00 AN ERROR? ERR2 YES, SAVE IT NOERR NO ERROR, R (IOB),Y SEND SECTOR SENDBYTE #CMD (IOB),Y SEND COMMAND  SENDBYTE  #READCMD READ #WRITECMD WRITE #FRMATCMD NULL #NULLCMD NULL %ERR1 #DRVERR SET GENERIC ERROR ERR2 AND CARRY FLAG >2 "NOERR REAL ONE ; (^1 #BUFLO SET UP THE BUFFER PTR (IOB),Y BUF  (IOB),Y BUF+1 #$03 SEND DOS3.3 ID SENDBYTE #SLOT (IOB),Y SEND SLOT SENDBYTE  (IOB),Y SEND DRV SENDBYTE   (IOB),Y SEND TRACK SENDBYTE  <1 ANNOFF NOW DO STOP BIT DELAY84 DELAY24 CHAR RELOAD X-REG  AND RETURN ; ; ; THE REAL RWTS AT $B7B7 TO JSR ; MYRWTS ; ; MYRWTS IOB IOB+1 #SLOT (IOB),Y #$60 SLOT 6? >1 NO, WE HANDLE IT RWTS2 ELSE USE -REG #$07 LOOP 8 TIMES ANNON TURN START BIT ON DELAY84 DELAY FOR 106 CYCLES DELAY24 ^1 CHECK NEXT BIT >2 ANNON WAS 0, TURN PORT ON >3 '^2 ANNOFF WAS 1, TURN PORT OFF >3 (^3 DELAY84 DELAY FOR 106 CYCLES AND RETURN IT ; ; AN 84 CYCLE DELAY, INCLUDING ; THE JSR/RTS INTO THE ROUTINE ; DELAY84 RTS RTS RTS RTS RTS DELAY24 RTS RTS ; ; #; SENDBYTE: SEND THE BYTE IN A-REG !; VIA ANNUNCIATOR 0 AT 9600 BAUD ; SENDBYTECHAR SAVE X THE START BIT DELAY84 SKIP START BIT AND DELAY84 HALF OF DATA BIT ^3 PB2 GET BITS VALUE  CHAR AND SAVE IN CHAR DELAY84 NOW SKIP TO NEXT BIT  <3 LOOP 8 TIMES  GET X-REG BACK  CHAR #$FF INVERT THE CHAR  MYRWTS ALWAYS AT $9B00 "JUMP2 SENDBYTE FOR APLL2DUMP ; ; ; GETBYTE: GET A BYTE FROM PB2 ; AT 9600 BPS, RETURN IN A-REG ; GETBYTE SAVE X-REG  #$07 LOOP 8 TIMES (^1 PB2 FIRST FIND A RISING EDGE <1 ^2 PB2 <2 ITSSTANTS ; SLOT $01 DISK $02 TRK $04 SCT $05 BUFLO $08 CMD $0C ERROR $0D ; NULLCMD $00 READCMD $01 WRITECMD $02 FRMATCMD $04 ; PROTERR $10 VOLERR $20 DRVERR $40 READERR $80 ; ; "JUMP /minnie.cs.adfa.edu.au/Apl2serial ;  $9B00  $800 ; ANNOFF $C058 ANN0 OFF ANNON $C059 ANN0 ON %PB2 $C063 PUSH BUTTON 2 INPUT ; !RWTS2 $BD04 2ND ENTRY POINT ; BUF $3E IOB $48 LASTBIT $FE CHAR $FF ; ; CONC '; APL2SERIAL 9600 CLIENT V1.9 OCT 1998 %; BY Warren Toomey wkt@cs.adfa.edu.au ; $; SIMULATE 9600BPS SERIAL PORT WITH #; PUSH-BUTTON 2 AND ANNUNCIATOR 0. (; SIMULATE 14 FLOPPY DISKS WITH REMOTE (; DISK SERVER CONNECTED BY SERIAL PORT. ; -; See http:/         ɻ Lݩ: ɻ L ީ: ɮ L ɍ 詍 h`HHH$) %&$) hhh` hhhhhh` `LLޅȹLr!-Ȣyȹ Lr`%yȹ01Lr` @ 嵐 SYM TABLE FULLLȥȩ`H phi쥵퐯8ƵȱȥȥL,ݠ쥕i Lz`HH pݥ ȥȩhh` `H LISA 2.5 I Ģ L۩ ` t`HH0;*  hh` 륒 ॑LYܥHH  hh`0 : AG`8`쥕^:&#L, DUPLICATE LABELL,i LܠŴLބ暤梤`ꅝȱŝȱŝ`ꅝȱŝȱŝ" % LA`,0`ɠ,Ƀ,L,`櫥 ݩ`` ` 1ܠ} Ģ 섘 ti9Ģ3 1ܹ` $P L[L L[_ȱ"' <۱, L[# $P LM/ $P LM $P ڥ LM  L[ L[  ) L[ 1ܩ t ***** END OF ASSEMBLY ` 륙ƚƙ`hhh Lp6  LET W/O LABELL[Р ڠȥ L[C.L ۥL[ UNMATCHED IF/EL/FIL[ ٥ݩL[Х NESTED IF'S NOT ALLOWEDL L[ $p L ۥ `8eH hȱL[+ȱꅝȱŝ L L[8ȱ * &ɻ"A) ȱA) L6 L[, FLOATING POINT NOT YET IMPLIMENTEDL[  L[ L[2مvu  ȱꅝȱŝ Lة L[HHH $pLҥ, ڄƻƺL eeee L[ $pLҥ L[ L[ȥ쥚  Lȩ < L[4ȩ <ۤIƜƛI L[? < L[?@ < " $pLҥ ڥ ڱ, L[ $pLҥ ڱ, L[:ȱ"' <۱, $pLҥ ڱ, L[  L[ L[ PAUSE ENCOUNTEREDL[" $pLҥ L[_ $pLұ,- Lq1QQ $pLTҥLҥ L[h L $pLҥ ڥ L[ LEH $phLҥ'h8鿪 LPm- ,MMNn.h8鿪 ڥ L[e%$EEFf&" $pLҥ ڥ ڱ, L[ȱ#/, $pLҥ L[ $pLҥ L[' ȱ L["ȱ L[0 ȱ A)ȱ ܰLA) L[i) IIl h $pLҥ ڥ L[h8鿪 La!AAh8鿪 UNDEFINED SYMBOLL[Х ڥ L[y9YYh" $pLTҥLҥ L[8H ڥ9$phLh ڥ ڥ L[}=]]^~>$phLTh ڥ L[u5UUVv6h8Ԫ L[Jj* h8鿪 ڥ L[Р`pHȱ +҅+҅l;Ӯ<;h>Lҩ $pA UNDEFINED SYMBOL-MUST BE ZPAGE.L[Є $PȥK ڥ7 ADDRESSING MODE REQUIRES ZPAGE VARIABLE.L[Х L[Ф8鿪# $p" ED SYMBOLL[8噅嚅ƚƙ&( BRANCH OUT OF RANGEL[Х0 L[а0pP ɼ+8鲪Hȱ@ȱA8)h L[ɾ.ɽȱ@ HLѩ@HLȱ@0HLȩPHLȱA8)  $pLҥ LLLQLLLLݩ멀vم􅢅򅡠 Lp ۠8e륙ȱ0 ;*Ӡ ؐLɲ LwLɖL8閪 L[ XʈHh(`@ 8x8逪a $p UNDEFIN         Yl  . $ ; &?1?=A>?I i`HH11`쩻듧ƙɾ5Ö+]̵h5`4ɺл1>@@A`41`>BD`8>6>) `LL u ?l:L4 uLCL@ 'A=?<) < `JJJ>Ie=?<=`K i! Ȉ2 ,`H h*:` `: V:8 J8L Lӭpd`HVTQ PS 6" (!#%L" PJ TuVTvP` P&Q&R&S8RTSURSP`/T P 8/`HJ) )h)i( ((`ɇ@ 0`$($$!fi#bZH&bTDThDt(ntJrtttrDh2"&&rr&HDD h,h-<:B/ Y`EL\lY@5)I:< ?L<EhH 0l( Lh:h; LehHh:h;/ V; THH::;:-H,H E@A  J 0,*i H/.  `0 .: VȘ L `8/;e:` T0 "T3  T3  T; "D3 D"D3 D"D3 "D3 &1!YMJؤ#]#)i#$S#$S[[i$$)|mi)S4*J G(i.&E0%.Q&&` , iH h-`/'-'0 (`HJ) 'h)i& &&`0i)0 00`J G&(JJJJ)`:; H:J jɢ )Jb y.)/) JJJ Ȉ` H:  J/Ȑh,--&hEhEL=,HH hőhŒhLhL#LHH hőhŒ i`L,L ` **ERROR AT LINE :  C)ONTINUE OR A)BORT? )AL`L`;" ) ILHh+HH hehe `-HH 8h呅h咅 `*$HH hh Э `/$HH hh Э `|HH hhL&HH h%h%ĩL^HH !I%L'L"L = |** DAMAGE ** ILLEGAL CHARACTER IN OPERAND`ȱ-L[ y怒 8呅咅L 勒LȱꅑȱLȱ L8ȱLH i h`hLȱ 5A8L𤓈 |STY ABS,X NOT ALLOWEDLL7F 2LL7񤓈 |ABS,Y IS NOT ALLOWED.LL7 L7L o o,Lȱ'" o,L Lȱꅝȱŝȱŝ oL`$L< >A[L*L ` L8eȱ`% $pL񥙅LeeLJȱ ?,ȱ# o Lu/ o Lu'" Lu o o LuLLL )LȱLLL5 FORWARD REFERENCE.L |EQU W/O LABELLLLLLLLLLLLL6L2 L L |UNMATCHED IF/EL/FI` |NESTED IF'S NOT ALLOWEDL L $p |UNDEF SYMBOLL陋 o oL ɾ* oLLԐذȱ o o oLLȱ 5 oLKL oL  LL\ L $PQL& $P5eeeeL5 $P L |ILLEGAL ;*^  :L iLt1  ȥL |DUPLICATE LABELL L陵 L :a^& |LOCAL LABELS MAY NOT BE EQUATEDL $P L |UNDEF. SYMBOL/ILLEGAL ADDRESSL陵 ɖ b@l  . $ ; &?1?=A>?I i`HH11`IJ듧ƙɾ5Ė+]̵h5`4ɺл1>@@A`41`>BD`8>6>) `LL u ?l:L``L@ 'A=?<) < `JJJ>Ie=?<=`K i! Ȉ2 ,`H h*:` `YE <ӭpd`HVTQ PS 6" (!#%L" X`I`ɍ,,L8L,H ΰɐHJ) )h)i( ((`ɇ@ 0`$($$!fi#bZH&bTDThDt(ntJrtttrDh2"&&rr&HDDȅEhH 0l( Lh:h;l Le / XZ]_, :ILl `Ȇ׍숈l E@A  J 0,*i H/.  `0 .: VȘ L `8/;e:` T0 "T3  T3  T; "D3 D"D3 D"D3 "D3 &1!YMJؤ#]#)i#$S#$S[[i$$)|mi)S4{`.&E0%.Q&&`` }D`@D`D`D`AD`ɀ@D`||}L{LJJ)`:; H:J jɢ )Jb y.)/) JJJ Ȉ` H:  J/Ȑh,--&eʵ``` f f` &L L fLC`8i`uu  ee`` ` 0` ` ` 5I` 5Iй` f f`L ?5=ɥD 5 5 D4ɻɍЀL\ɠ` }Ɏ$ ``LXWVhY `XWYHV(` Jhh LH) JQ JJJH`HJ`hh ?l8e` %GQ/[҅n3pJ?>ʊ:>Ș;k/=:   S;:L 4 40K14 L= BC D..=D5֤4 J :3 g ɠɤ ɓՊ x= 4   &B&C= 44ݴ 4ݺ ɤ4&D`L# ȱ0` 4 `u` 7$ 8`0 &&` { %Ppĥ uv` 2e   %F8 2 8Hh&&&&& 0hhI`LLLHxܥyݥPQLuƵPxLhQεyϱΠ L 4) ؘ 甠` uHɃLh` ☪ T`  甠`ѥ΅ ΅ҥυө 甠0ХҠ ӕ "L 4i` F`ٚ .L 4 `$$L$Ն$L,L 8!$ L赟0L0ܤ } L赟L0ܤ } L ` ` [ S oP YVPL6 O 5OPL Ι_LfP0Q@PPxA@QPa`qp`HP8εxh`Ʌ۰եڅʥۅ , ` :L΄<Ȅ>=?`ʕ>?>`8M˕   , ` L:L``F`$ ܪȱ 婠Lܤ`Ś25 a0 穠LJKH۰hЅѠȱ0@ȱHШhh0JL JLKMMLILLILLLLy 2L,PQ܅x݅yL آ8ЕNЕKʵ˕ە LkLMNܕ`LΥΥLMLʥMː ʥ˰JυKL  8MϕڥL 4΅` ȑ` l΅υLD L4 xPiڄeΕPeϕxPȵxڰL# N ONi)OO i@ &N&O ϕLz JKLυML LMJυKL qL ȩ` 6 6P`JLKMLxL L6 L[` Oڵw۴Nv L`xw8OPL# (` 40!(L 4LdF`  %L"wL{ TL~&&&ڥې څΈ` l 4Ȑ,` 40L 4Ȑ-` 4(L(n ㊨ rLa ?&0ΰ` Δ䮥G 0 #gMghghPcQ)Wqqqqhhq`uuuQ줰䮲륥Q9O/Q) WjB`O~5'Q 䯭䮡ޜݜݞGg` ` `嶡䡯z~" `P O䯭䮡𥴳\@`` ~3`Gg壡yi壡yi` @Gh X{gggggg'(dgxkg~9g'7(*7ϠGX͠LϠ٠SGϠDĠHSĠNSĠTĠ 5EMҠL Šō?FِLϚΠ κ f ٢  ٦Τ ȹɀI ȄȹH h3 oLB oTMɅ"3J[NSJIfmzq# [$NYP;#o6#"#!0 9@0Ӷ:Pyإ<[(N>W']5Kgvq ʤ  Y YoܹݾЇ`TP@xL` Ιϙ_oܙݙᙯ` ??<<<<<<<0UUUUUUUUWΤ PڵxۥΑȥL`hh$ F`` %ֈ`ʤZA^ܙ ݙ0  m7;܄iȢٚ . y$IqܤݐLM͠1FLJܹ/ݾLuc ܪȱ L[ĨP?xO_ڹo  l`w0P`fLPεϵxϱHȱ΅hΈ` J  畠P` Y $0`  畠$0 8 P# o ΅ڥυ e epݕ` 4LL$ `  rPՆϦ ` ΅υȩ ` Ӡȱ0I@iHeШiH˰hhЈЈ͑Ј̑ЈЈ0JKЬ@iHe eѕxh$0 xx ԅբ H 0  敠$ ( x$0  xx 0$FԨֹ)U h)װ H ֐ι LhޤȄ h󰩠ɩch cɰ$0 $` d'ʅ˅LM&ȱϰqȥȥ`FLʥM˥J̥Kͩ`Lkȱ0@hJHȱШhЄ0)ȆȘHJI@hL`ȩ)?Jжi?oiO iȱ) zȵх 8 05X~")XȔ) v*Ȇ0LJɢ  Ȉ ϴX)HЄ ȹ)eHe0 ̥͐Eʑ˥ʥ˰ਈ$ u~q  u  mʥ` ȹ0 L uߙ`` $0LL*iS 0wh(VP`΅h(OM L6 T&ϐ eڅeۅ &L~ 畠(LoU [΅ڥυ   o ` l3 3` 4J G 4&(JJJJ) 甠` F٩ $ 婠 Ȣ ii)ɰLPx+L 4P xL# 48` PxL PeHxeH˰iکeۅȱhڙ`ꠀЕ x ت3 Q3ؕxQεy NvNδPPPL#Q8yڅ`Sε{ϵQڵyxȔPMuHOL L3L`) #L $  `  v mL;ʅ˅LM  mdžة * * *     % 0LH΢QPHΪ0h$0 )?i h](Њ q L H ϐ { lhHHH hHL? hυυ Ljݥ ,L mݰ % LߩƉ 慝 憨80 ў*%L L ު `  }LޢٹHH ޥLLޥШh^^h_H r륡HHHHHl^h#d j݄hJhhhhhhE` LJ }d.U"i L=8,LLTҐL {ݩ),(,,ѸLLԠhhL ߅` ȱLL  ߅ ei` 꺽  ' 8 uvL׊i , {$8$0`LԦƹƸ$HH `ީ 8ϐ*IEʼna Lݦ,{iweLi^ e^hٲаg jH hV_F*ƹƸٲаH $P )0 Z ۆ $1$P 膸 ": ,i = {LrH0h J c ,Lqۥ 3 LۥL Ȫ*ȱ_ȱ{ȱȅ| L+ܥLSؠߠL:`?EXTRA IGNORED ?REENTER  \I`$ !i)$ )L(ʊ$ L W 檠^ \ LD۩ ,? ɠ )H h`0{|uvLh$L :ۥyz` @ `" ީ; =L Z , ,խLc ZL,զ}~, ߅hL* ,h`PQ/ Q^ԥP &^ &^ePP^eQQP&QPe PQ L ߅ ޥHH {h* mh r ȥ`L'hpoj iLڠ 㥌 婝 5ȱȱ` = $)94,;D {$0 4 Lک?`gh<=ij>?`v(Le lL5٩ ӥHHvHuHH >L ٥vQ 8egh ֐` eӚɰ ,ZLLhhB;uhvhh ٘e`:,  "hhh` { ɫ ޥ L>L( HɰɫЉơ$v# \ۦuv $ W (Lb-逐@ HHLLF:L8gh}~`Ƀ` Sբ$Lׅ ׅLԱJHȱJh`LNפ0`L,׈L20`LF׈LL ׅJF8ȹe8ИL`Lø{{ttmnghab\\WWRRMNIIEEAA=>::673401..+,))&'$%"# !H ֥ h ߦ>  E֥ E & > ` E  E  H ֥ hL  ֥ -L L -EF# =Pi  ֤Lְ ׅ! ׅ  / ) ) "&6 B /`TLՆ8M˕  Tբ , Tզ`  . $ ; E.. 4L& >`Lk 34 Lh856!;<79)F:&8J9j*0v 婭   +<; LhLk'cg=%;!,<+k,w(gG gG]$ t < N8i| (|`ܠLդ4ɪ 4<`<  $ H h .Ю#` L}Э%J u ӊH Өh dѮ#` L Q ;Ү#` Q Ү#`#2 Ӎ'( H() 91 eȱm)h`JJ`#JȱJLh `#  <(eΨ=)eϰ%Hh>?iJK̅  #& ')*& "'JJ) ""% m% ʥ0)J!m%! `JJJJS)фPIȄR%*QTU'T8ePT UeRU QJJJ`JJJJS)фPIȄR%*QTU'T8ePT UeRU QJJJ` ӥ',"&,i8i#H&ii&hif&i'`'i,&i,.&iPII&&if&H !"hH8 H!S hIiHSQUhPTh !"IiR"fS8PQ% 8TeRTUU&E%0Q&&kS TePTUeQPفŴxaI10 &WSP& )`" !H)&JJ&&h' &' &' f&') &'#i%Ѕ0J$)` .ХQ&%0Q&&`$0JI0`'0% I`0 I0ܩ(ߠQ)'%01&*%0Q)&E%0*Q&&QeS)j00                     +HH hehe `-HH 8h呅h咅 ` i; |SYMBOL WAS NOT PREVIOUSLY DEFINED IN AN EPZ STATEMENT.`LȢ L|H ᅒh`ȩ1 0&&L8&&L`L8eȱL 褓 BLOAD "'  ,A$ >fm`@>fm`$RA[L6!3%7 L |ILLEGAL OPERAND IN ADDRESS FIELD` yL Lȱ 5A8) ILɻ |VALUE > $FF` L LL\ LL0 : AG`8`&&&&`#Z[ 쥐`  y BLOAD TEMP. @ Lm L y]  BSAVE TEMP.,A$ ,L$HH hh8` i`LЭLЭ'( o 1 o 2 L 쭀 Э` **END OF PASS `@ `󅯩L8e |MISSING 'END'LȱL!;*à L! &eheh`I0  eI0`HHH hhh`HHHLhhh`Yh" $pLTҥLҥ ALLL|LL뭀 ` 2H7 hLh ɰ, fhh` d' { 0`:0`` G [ i LQ ``HHH  fL~) B 2 4 " fƩ/ f b L| Lꥇ fL L fL bhhh`H&H&( )? (`@#05餆`޼άݍ``L麥` G [ iLQ f L` G [ i LQ`Hȱh` G [ i LQ G JLQHH8M ACUM  ADDR  IMMD  INDJ  INDX  INDY  IDXX  IDXY ;: ;: IDXY 0D1 IXY5 #$CE IXY6 IXY1 ;: LwLuLgL,LBL LrLLfLKLLL[Li鄅H ɓ)I(Lɛ  L H(h)h` IAIA `$N 2.5D -- 64K L/B@fm BLOAD ,A$ ZL BAD FILENAME ` LHH 8 hhL8@> BSAVE ,A$ Z ,L$ ` 88 1 1 L L!;: ACCh aɻ e 1`8 a L;fj a Ld ة-Vʩ/V X LAZER SYSTEM'S INTERACTIVE SYMBOLIC ASSEMBLER (C) 1981 LAZER SYSTEMS VERSIODREQUORGOBJEPZSTRDCMASCICLENDLSTNLSHEXBYTHBYPAUDFSDCIPAGINVBLKDBYTTLSBCLET.IF.EL.FI= PHSDPH.DAGENNOGUSRLȱ0M*;L00 H :hL : Lh:L a aL )H hemmH BCCBCSBPLBNEBEQBVSBVCBSBBNMBM1BNZBIZBIMBIPBICBNCBRABTRBFLBRKBKSCLVCLCCLDCLIDEXDEYINXINYNOPPHAPLAPHPPLPRTSRTIRSBRTNSECSEISEDTAXTAYTSXTXATXSTYAADDCPRDCRINRSUBLDDPOPPPDSTDSTPLDRSTOSETADCANDORABITCMPCPXCPYDECEORINCJMPJSRLDALDXLDYSTASTXSTYXORLSRRORROLASLA  `iiL9L9 ,ɠ,ɃL/ H k s`` `H h` h , ` s  8  `ei 8  `H hH zh ]`BGEBLTBMIhh```````HH (eihh` 8 `    ᭈ s  L8 8` BAD # ` > ` ,z#0     Р@вР @̲Юà  ̲Рȃ  Ϡ à2ֲ ٶ" ɭҠ @̹à ̠ ԠҠԠҮʠ2ҲˠԠӠ Ӯ͠Ҡ?̲Ԡ ̲Ԡ ̮͠ @̹Ԯà ͮŠ:!ͮŮ2 ͮŮANOҾSGINABUSFRSCRNPDPOSQRNLOEXCOSITAATPEELESTRVAASCHRLEFTRIGHTMIDNEXT WITHOUT FOSYNTARETURN WITHOUT GOSUOUT OF DATILLEGAL QUANTITOVERFLOOUT OF MEMORUNDEF'D STATEMENBAD SUBSCRIPREDIM'D ARRADIVISION BY ZERILLEGALPLOHLIVLIHGRHGHCOLORHPLODRAXDRAHTAHOMROTSCALESHLOATRACNOTRACNORMAINVERSFLASCOLORPOVTAHIMEMLOMEMONERRESUMRECALSTORSPEEDLEGOTRUIRESTORŦGOSURETURRESTOOWAILOASAVDEPOKPRINCONLISCLEAGENETABTFSPCTHEANOSTE00oeܔٱ0ۏ$1@hnW &tlnrvNjUaE=H jmكدzڕؤi֟H֐# A :dFZyy{{h}PTFNddENFONEXDATINPUDEDIREAGTEXPRINCAL                LOAD BOOT TRACER4L(16255):L(16255)](4);"BLOAD BOOT TRACER.OBJ,A$D000"m(L(16254)2(4);"BRUN BTLOADER2,A$2C7""UN CMPRSS.OBJ"2N "LOCKY6 BACKUP","BRUN LOCKY6"WN "EPSON DUMP","RUN EPSON DUMP"|N "RAMDRIVE","BRUN RAMDRIVE5" N "PRINT SPOOLER","BRUN CATSPOOLER"N "HOUDINI","RUN HOUDINI"N"MINI-ASSEMBLER","BRUN MINI-ASSEMBLER ($5400)"254):BLER","BRUN MINI-ASSEMBLER ($5400)"254): $C082OHHHHLNU@IPAAAAAAAAA "ARCHIVER","RUN ARCHIVER 2.0"N "BOOT TRACER","RUN BOOT TRACER"N "CMPRSS","BRN N LIST OF PROGRAMS"*ND4N "DISK TEST","RUN DISK TEST"f>N "SPEEDLOAD DOS","EXEC SPL"HN "OLD DOS" ,"EXEC DOS" RN "FILER","BRUN FILER"N "BOOT TRACER","RUN BOOT TRACER"N "LOCKY6 BACKUP","BRUN LOCKY6"#N"MINI-ASSEM5,1:816,208:817,2:818,169:819,0:820,141:821,0: 822,3:823,104:824,205:825,0:826,224:827,240:828,3:829,173:830,128: 831,192:832,96: 769 *"BLOAD INTBASIC,A$D000" 4 --WRITE PROTECT THE CARD >A(16254): $C082 HNU@IPAAAAAAAAAN5,0:796,208:797,208:798,19:799,74:800,141:801,0:802,208:803,205: 804,0:805,208:806,208:807,10:808,173:809,129:810,192:811,173:812,129:4 813,192:814,169:81 ! RN "FILER","BRUN FILER"H N "BOOT TRACER","RUN BOOT TRACER"l N "LOCKY6 BACKUP","BRUN LOCKY6" N"MINI-ASSEMBLER","BRUN MINI-ASSEMBLER ($5400)" N "LISA ASSEMBLER", "BRUN LISA V2.5"254): $C082OHHHHL0( v:IN$(A);":";::" ";::PG$(A):0 w24< }D$(4)M D$;CD$(A):S Nj N LIST OF PROGRAMSp *N /N "NIBBLE DISK SERIAL COPY", "RUN NIBDUMP" 4N "DISK TEST","RUN DISK TEST" >N "SPEEDLOAD DOS","EXEC SPL" HN "OLD DOS" ,"EXEC DOS"IN$(I);": ";PG$(I): M19E P:"X: EXIT PROGRAM":"#: BOOT DISK"` Z23:"ENTER CHOICE- ";p dA$:A(A$) eA$"X"ė: fA$"#"ĺA$:(4);"PR#6" iA$ nI1NUM:A$IN$(I)AI:I10000 s tI1000ĺ"";:90 u1:A3:A15ĢA12:2H(4);"BLOAD APL2CLIENT"-47033,1557NUM9WIN$(NUM),PG$(NUM),CD$(NUM)nI1NUM:IN$(I):# 1,2,3,4,5,6,7,8,9(I1NUM:PG$(I),CD$(I):-:216:"SOFTWARE"<16:"--------":F4KI1NUM:I15ĢI12:20 L      `b4b@@?2 T@QSTVeF[ȫoC+0`ee*  !"#$%&'()*+,-./0123456789:;<=>?LL`ª`LQLYLXLeLҬ, ,,`, ,,` l LH h@h @ L,,L Li,`&&nY%,ԍi"ofB:ehce&eofB&ofBofofoofB& ofB&&hL*L:Lk@@(*`0a  T`?`gh<=ij>?`v(Le lL5٩ ӥHHvHuHH >L ٥vQ 8egh ֐` eӚɰ ,ZLLhhB;uhvhh ٘e`:,  "hhh` { ɫ ޥ L>L( HɰɫЉơe$v# \ۦuv $ W (Lb-逐@ HHLLF:L8gh}~`Ƀ` Sբ$L ) \ۥ$! ک$ȱȱж \L枱`8Єτ ,0 \ ,0 \ \۩ И F eihh eHiHvHuH j gݥ %ׅ^_L ީ  g ޥHHH XإvyzW4ȱuȱv Нƹ`ghȥQћ Pћ `֨gȑggiihij ֩*stopijklmn IآURhhHHz`gihi` ,  ,Є hhPQPQD X ȱȱQP- $_^ ijL<Ԡȱ^Șe^^_iȑ^^_Ң3 j )` )`ʠ$hh eL$p "tpM?E0<=Ѕυ 8ɀA N4O0Ťș98:I8xІșh0hhpo`M$L Z۽`H \h ֩P :ۤv  ڢ .ՆF v YLئij YՄ ֐D_i^aeii`jij圪8iae^_^`_a8stopiejȄ ӥPQmnij e֥gh^ DIRECTYPE MISMATCSTRING TOO LONFORMULA TOO COMPLECAN'T CONTINUUNDEF'D FUNCTIO ERROR IN BREAKɁ! i` Ӆmn8囅^圪#8^Ɨ8^ƕƗƕ` i65^^.`p(o"H H - i  tݻ = 4ݴɈ&`$  R 줟 OL:򩕅Ȧ k -  -  Ƨ -  Ʀп k - Ȣ  m ƧjIj m   , 3L ) L \ o $pL񥮅  OɈxɕxɍt 'L H Uh 9 OɈ3ɕ3ɍ/ 늑9L֠ U @   -  kŶŷEЅ8```) @$cPH Zh`$c@ j@H j0h8`8Hh`HJ) h)i ` HJJJJ h) ɺi%`QT`ɰǰɺ) 8``:; O O LIЩ   ﹋ Ƽг`Ƚ淤,Ƚ湤ڐ佈򅶩م ,,Ѷ  LƷѐƶL尿,`$ aޢ L` TU)iޅ'`ޤaL @)Ż )Jt?Y?t )p )#)C$; j j $  $ 0P ` `ĹJ 6e i    2*"  $P 0 u АL T ` `$P&  x ;ɠ`$0)'dQ eR @ vUfifTb& WYYWޤ` H#hh| | hhL넔tݻ0 R L L2*"   LА `L T $P 0  u`ȄJJJJlRlR LL8`|&| ||i t `` J\ `  `)` XSJ) d L )#)<p ` `LGԪ22  ` `H )L ) 5|)H6 )I| 驱 j y 頀 馕 | 驑 o y 頴  j饔ŕ o ```tL驃 驃H, h `` l LH h@h @ L,,L Li `  H 0Ch  he  <ɀ7 **%] @  Ђ )  <  ``` i 8 eȥi`` 饾Lz ¦Lz ƦLz ʦLzjjjj ^$PL$@ O {$P   ; oLG`PlP   <)  8Hȱh&*i  e ] thht 0 ? 0 i  ii d  6 ɳL2*"ݐܐې ڐ $P  xih h`L  4 /272 "NOERR NO ERROR IF THRU HERE ^2 #ERROR (IOB),Y SAVE RESULT  AND RETURN ; 'NULUF+1 #$03 SEND DOS3.3 ID SENDBYTE #SLOT (IOB),Y SEND SLOT SENDBYTE  (IOB),Y SEND DRV SENDBYTE   (IOB),Y SEND TRACK SENDBYTE  (IOB),Y SEND SECTOR SENDBYTE #CMD (IOB),Y SEND COMMAND  SENDBYTE TURN ;  ; ; THE REAL RWTS AT $B7B7 TO JSR ; MYRWTS ; ; MYRWTS IOB IOB+1 #SLOT (IOB),Y #$60 SLOT 6? >1 NO, WE HANDLE IT RWTS2 ELSE USE REAL ONE ; (^1 #BUFLO SET UP THE BUFFER PTR (IOB),Y BUF  (IOB),Y B CHECK NEXT BIT >2 ANNON WAS 0, TURN PORT ON >3 '^2 ANNOFF WAS 1, TURN PORT OFF >3 (^3 DELAY84 DELAY FOR 106 CYCLES     <1 ANNOFF NOW DO STOP BIT DELAY84 DELAY24 CHAR RELOAD X-REG  AND RES RTS RTS RTS DELAY24 RTS RTS ; ; #; SENDBYTE: SEND THE BYTE IN A-REG !; VIA ANNUNCIATOR 0 AT 9600 BAUD ; SENDBYTECHAR SAVE X-REG #$07 LOOP 8 TIMES ANNON TURN START BIT ON DELAY84 DELAY FOR 106 CYCLES DELAY24 ^1 E  CHAR AND SAVE IN CHAR DELAY84 NOW SKIP TO NEXT BIT  <3 LOOP 8 TIMES  GET X-REG BACK  CHAR #$FF INVERT THE CHAR  AND RETURN IT ; ; AN 84 CYCLE DELAY, INCLUDING ; THE JSR/RTS INTO THE ROUTINE ; DELAY84 RTS RTMYRWTS ALWAYS AT $9B00 ; ; GETBYTE SAVE X-REG  #$07 LOOP 8 TIMES (^1 PB2 FIRST FIND A RISING EDGE <1 ^2 PB2 <2 ITS THE START BIT DELAY84 SKIP START BIT AND DELAY84 HALF OF DATA BIT ^3 PB2 GET BITS VALUANTS ; SLOT $01 DISK $02 TRK $04 SCT $05 BUFLO $08 CMD $0C ERROR $0D ; NULLCMD $00 READCMD $01 WRITECMD $02 FRMATCMD $04 ; PROTERR $10 VOLERR $20 DRVERR $40 READERR $80 ; ; "JUMP MINNIE.CS.ADFA.OZ.AUAPL2SERIAL ;  $9B00  $800 ; ANNOFF $C058 ANN0 OFF ANNON $C059 ANN0 ON %PB2 $C063 PUSH BUTTON 2 INPUT ; !RWTS2 $BD04 2ND ENTRY POINT ; BUF $3E IOB $48 LASTBIT $FE CHAR $FF ; ; CONST '; APL2SERIAL 9600 CLIENT V1.9 OCT 1998 $; BY WARREN TOOMEY WKT@CS.ADFA.O.AU ; $; SIMULATE 9600BPS SERIAL PORT WITH #; PUSH-BUTTON 2 AND ANNUNCIATOR 0. (; SIMULATE 14 FLOPPY DISKS WITH REMOTE (; DISK SERVER CONNECTED BY SERIAL PORT. ; ,; SEE HTTP://   C 89Lc0c 0 0c f 0I ` B B B B B B``* `      "` ``ȑ H` ` ȱ`݌  ꝍ݌Hh t t t J ݌  ݌ވ݌ 꽎Cɔ꽌ɒ꽌 8*% 㽈` R /BUFFER PTR+1 #$00 LOOP5 (PTR),Y SENDBYTE  LOOP5 PTR+1 PTR+1 #$2A ALL DONE? LOOP5 NOT YET   jOMMAND SENDBYTE #$60 SLOT 6 SENDBYTE #$01 DRIVE 1 SENDBYTE TRACK THE TRACK # SENDBYTE #$00 DUMMY SECTOR NUMBER SENDBYTE "#TRKWRITE NIBBLE TRACK COMMAND SENDBYTE ; #; NOW SEND THE TRACK DOWN THE LINE ; #BUFFER PTBYTE LOOPD #LOOP4 (PTR),Y STORE IN MEMORY PTR BUMP POINTER LOOPD PTR+1 PTR+1 #$2A HAVE WE GOT THE TRACK? LOOPD NO, CONTINUE DRVOFF,X ; $; SEND A NIBBLE TRACK WRITE COMMAND ; TO THE REMOTE SERVER ; #$03 FIRST BYTE IN CWO AUTOSYNCS? LOOP1 NO, NOT YET LOOP3 DRVRD,X LOOP3 #$FF STILL AUTOSYNC? !LOOP3 YES, WAIT FOR DATA BYTE !LOOP4 ELSE START STORING DATA ; (; ONCE ALIGNED, BEGIN COPYING THE TRACK ; TO MEMORY ; +LOOPD DRVRD,X WAIT FOR NEXT DATA ; !; START DUMPING AT THE BEGINNING !; OF A SECTOR ADDRESS FIELD OR A ; SECTOR DATA FIELD ; &LOOP1 DRVRD,X WAIT FOR NEXT BYTE LOOP1 #$FF AUTOSYNC? #LOOP1 NO, DON'T START IN MIDDLE &LOOP2 DRVRD,X WAIT FOR NEXT BYTE LOOP2 #$FF TRWTS CALL RWTS #$00 "PREG FIX P REG SO DOS IS HAPPY ; "; PREPARE TO DUMP TRACK TO MEMORY ; #RPLSLT GET SLOT*16 (PTR),Y  DRVON,X KEEP DRIVE ON DRVRDM,X INSURE READ MODE #BUFFER POINT AT DATA PTR /BUFFER PTR+1 #$00 PTR AND SAVE POINTER PTR+1 TRACK GET TRACK TO READ #RPLTRK STORE IN RWTS LIST (PTR),Y #RPLCNL NULL OPERATION #RPLCMD AND STORE IN LIST (PTR),Y #$00 ANY VOLUME WILL DO #RPLVOL (PTR),Y LOCRPL RELOAD PTR TO PARMS  RWTS PARMLIST DEFINITIONS ; RPLSLT $01 SLOT*16 RPLVOL $03 VOLUME RPLTRK $04 TRACK NUMBER RPLCMD $0C COMMAND CODE RPLCNL $00 NULL COMMAND *TRKWRITE $05 APL2SERIAL TRACK WRITE CMD ; ; ; 'DUMP LOCRPL LOCATE RWTS PARMLIST LlL@Hc0c - -c f -hI` ? ? ? ? ? ?`Y - ȱH? @H @ȱH @ȱH @ȱH @ HH @h3# @8 H`  > @  ͠ >  TS PARMLIST SUBROUTINE RWTS $3D9 RWTS SUBROUTINE %SENDBYTE $9B03 SEND BYTE DOWN PORT ; ; DISK I/O SELECTS ; DRVOFF $C088 TURN DRIVE OFF DRVON $C089 TURN DRIVE ON !DRVRD $C08C READ DATA LATCH DRVRDM $C08E SET READ MODE ; ;ARREN TOOMEY ; ;  $900  $900 ; ; ; ; ZERO PAGE STUFF ; ; PTR $00 WORK POINTER TRACK $02 TRACK # TO READ 'PREG $48 MONITOR STATUS REGISTER ; ; OTHER ADDRESSES ; "BUFFER $1000 TRACK IMAGE AREA 0LOCRPL $3E3 LOCATE RW ); PROGRAM TO LOAD A TRACK IN NIBBLE FORM $; AND THEN END IT VIA A SERIAL LINE !; TO A REMOTE APL2SERIAL SERVER. ; $; MOST OF THE CODE IS BORROWED FROM $; THE DUMP PROGRAM IN BENEATH APPLE &; DOS, BY DON WORTH. MODIFIED TO WORK #; WITH APL2SERIAL BY W  RDRIVE $304 "BUFFER $1000 TRACK IMAGE AREA 0LOCRPL $3E3 LOCATE RWTS PARMLIST SUBROUTINE RWTS $3D9 RWTS SUBROUTINE %SENDBYTE $9B03 SEND BYTE DOWN PORT ; ; DISK I/O SELECTS ; DRVOFF $C088 TURN DRIVE OFF DRVON $C089 TURN DRIARREN TOOMEY ; ;  $310  $310 ; ; ; ; ZERO PAGE STUFF ; ; PTR $00 WORK POINTER RWTSPTR $06 RWTS IOB PTR 'PREG $48 MONITOR STATUS REGISTER ; ; OTHER ADDRESSES ; TRACK $300 SLOT $301 DRIVE $302 RSLOT $303 L ); PROGRAM TO LOAD A TRACK IN NIBBLE FORM $; AND THEN END IT VIA A SERIAL LINE !; TO A REMOTE APL2SERIAL SERVER. ; $; MOST OF THE CODE IS BORROWED FROM $; THE DUMP PROGRAM IN BENEATH APPLE &; DOS, BY DON WORTH. MODIFIED TO WORK #; WITH APL2SERIAL BY W       L% (4);"BLOAD APL2CLIENT,A$9B00"447033,155J(4);"RUN HELLO",L^` 08`ŵȭ˵B̵CBõBĵCൠBõĵµ µ,­µ ˵̵ 2õĵ 2ĵµ µLꢍ񷬿ɵBʵCBȱB +ɵBʵCBȱBɵʵ `I뷩詷 Ġ̮ͬƍ̠àōŹİǍΠύ HA>VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`  ̠àŹ°İǍĠӮ͍Πύ` iw`LxLx`'`(` l l ol h1 l o ol h2 Lm l x x` h **END OF PASS `@ `󅯩Ll8e |wMISSING 'END'L`ȱL!m;*à L!m n &eheh`I0  jeI0`HHH hhh`HHHLkhhh`L/` #f Fe Nc`` a b`ELlLmL|wLkLk x` t2jH7j hLih ɰ, fjhh` d' { 0`:0`` Gi [i i ii i i i iLQi ``HHH h fjL~j) B 2 4 " fjƩ/ fj b L|j Lj fjLj Lj fLj bhhh`H&H&( )? i(`@#i05i`޼άݍ``Li` Gi [i i iiLQi fj iLi` Gi [i i ii i i iLQi`Hȱh` Gi [i i ii i i i iLQi Gi JLQiHH8L[  "LIST P5.L" ; TRUE 1 FALSE 0 HAS64K FALSE ; ; HAS64K  $D000   $7800  ;  $800 ;: ;: P5LwjLuiLgkL,kLBjL kLrjLiLfjLKjLiLiL[iLiiH h ɓ)I(Lhɛ  iLh hH(h)h` IAIA `$N 2.5D -- 48K L/`B@fm a g h BLOAD a h,A$ ZgLg h BAD FILENAME ` LHH 8b ghhL8b@> a g h BSAVE a h,A$ Zg h,L$ g h ` 8b8 1b 1b L L!` < h afɻ h e 1b`8 h af h L;fffjf af h Lhd ة``-`Vʩ/V X h LAZER SYSTEM'S INTERACTIVE SYMBOLIC ASSEMBLER (C) 1981 LAZER SYSTEMS VERSIODREQUORGOBJEPZSTRDCMASCICLENDLSTNLSHEXBYTHBYPAUDFSDCIPAGINVBLKDBYTTLSBCLET.IF.EL.FI= PHSDPH.DAGENNOGUSRLfȱ0M*;Lf00 H :hLe h : h Lfh:Le af afLe h)H hemcmcH hBCCBCSBPLBNEBEQBVSBVCBSBBNMBM1BNZBIZBIMBIPBICBNCBRABTRBFLBRKBKSCLVCLCCLDCLIDEXDEYINXINYNOPPHAPLAPHPPLPRTSRTIRSBRTNSECSEISEDTAXTAYTSXTXATXSTYAADDCPRDCRINRSUBLDDPOPPPDSTDSTPLDRSTOSETADCANDORABITCMPCPXCPYDECEORINCJMPJSRLDALDXLDYSTASTXSTYXORLSRRORROLASLA a  b`iiL9cL9c a,ɠ,ɃL/` Hf ke sc`` a b`H b ah` bh a, a b` b sc a b 8b b h`ei 8b b h`H bhH zch ]b`cBGEBLTBMIhh```````HH (beihh` 8b a b` b a b b h b a sc b hL8b h h8` hBAD # ` a > b` b a,AR? h a)YLnf` aH !` h OPEN a hhH h WRITE,  h h INS (b ke scLSa h CLOSEhLa !` a h  `a)_ hLa   a ` (b#e 1bLa`HH O`6LnfL/`L,`L;`LLkeL8bLHfLaXc>LQ _` b hpt^! h h a>fm̍م3vua)_ݞ`4)_ݯ`* h WHAT? L;`BLLSAIDLANMWF ROEAP`` `L;`led]z tg`ggbcbk`ca``aaa,L gL h CLE                    !!! ! ! ! ! !!!!!!Lz{|ߦ X0 Ǡpd Le L|LĠͮŮİĠͮŮİ L`ӠĠͮŬ۠éЮӠH h` # 3مv$0    LF $0 LF /Ě%   ȾȄ V   Lo ` f ȹɠɍ $0`$0 $0 g L ``L lii`#`\  # H h   LF  $ 0  ȹ  ȹ   L\   ?qH  h  oL ŠҺӺ͠ϠƭάŭԠ̠Ϡ XL   `Ƞ =L 0 JFL JL FJ| f } g 膈Ąp008倅,0$Ƃ`Ƅ `i i w it ةL  I L ````                    ) ImLuHh+HH thehe `-HH t8h呅h咅 `*$HH thh  `/$HH thh  `|HH thhLv&HH th%h%ĩLv^HH t!I%Lu'Lu"Lu h= |w** DAMAGE ** ILLEGAL CHARACTER IN OPERAND`ȱ-L[u yo 8呅咅Lv oLvȱꅑȱLvȱ Lu8ȱLvH iw h`hLvȱ 5mA8;     `c0c  c f I`Lp |wSTY ABS,X NOT ALLOWEDLoL7qF t2LpL7q |wABS,Y IS NOT ALLOWED.LoL7q tL7qLp t ow ow,Loȱ'" t ow,Lo tLtȱꅝȱŝȱŝ owLt`$Lu< >A[Lu*Lu s` rL`8eȱ`% k$pLqLoeeLoJȱ ?,ȱ# ow kLus/ ow kLus'" tLus ow ow kLusLoLoLo )LoȱLpLpLp5 tFORWARD REFERENCE.Lo |wEQU W/O LABELLoLoLoLoLoLtLtLoLtLoLoLo6L2s sLo rLo |wUNMATCHED IF/EL/FI` |wNESTED IF'S NOT ALLOWEDL` rLo t$p |wUNDEF SYMBOLLo ow owLo ɾ* owLoLtԐذȱ t ow ow owLoLsȱ 5m owLKqLo t owLo  tLoL\m mLo k$PQLo& k$P5eeeeLo5 t$P Lo |wILLEGAL ;*^ l :Lp iwLtp1  kȥLo |wDUPLICATE LABELLo Lo lLo :a^& |wLOCAL LABELS MAY NOT BE EQUATEDLo k$P lLo |wUNDEF. SYMBOL/ILLEGAL ADDRESSLo l ɖ n+HH nhehe `-HH n8h呅h咅 ` iw; |wSYMBOL WAS NOT PREVIOUSLY DEFINED IN AN EPZ STATEMENT.`LnȢ hL|oH hᅒh`ȩ1 0&&Lo8&&Lo`Lo8eȱLp ` ` h h BLOAD "' h h,A$` ` ` h`>fm`@>fm`$RA[L6o!3%7 hLn |wILLEGAL OPERAND IN ADDRESS FIELD` yoLn oLnȱ 5mA8) ImLɻ |wVALUE > $FF` lLl nLlL\m mLlLl0 : AG`8`&&&&`#Zm[m l`  yn h BLOAD TEMP. @ Lmn rL` yn]  h BSAVE TEMP.,A$ ` ` h,L$HH `hh8LL LL LL s<= s `( s sȊ`? jI*LqZ ȹLi L~ LHmhm`ی     sH( LhihiHHʈL L& sL09`I`cL|LBLX LL s sY)8jE*` LL LL 1 sL L L2L2!L,`<`I`WL {L  sL `L L s$` s%L"` s bȥ` LT 7  bL Pi`" LR biȥi bL]  L ^ L  L1 syy8 jYYE0`8LB  L8` $L   . ` $L5 e2ILeD s8 8咅 sL`LȄ` 7 L  T LL  L HH  bȥhhLTȱ;  $    ƆƤ$( 5Ƀз`Ӯ sLe@ s   iɺi襒  `&*͝撈`PI` Pyy` P8`    Lɠ ɍ `HH  hh`H@ LP Lh`HhL 0 s`U s sL `b s# s"% s! s L"z $0    `  脊 seHehLhihiHHL ɍɠ   L3膥L,hihi sȱ6_2`?2`hh  Șel $0 L`   V9  ɠ ŧ  򩬅ݱe拥HH#L ΠĠL I sʎi`SLjLr $`   L ȥee`hh脊$0 L sȊ`hhȍ ɠɩ膥`ź , L  TLhh s eil L  T    $0 `M ` ƠL bȥ`LL ~ sDž89 ` `HH hh`hhƤ" G gɩȱLȹVɿ L7  L7lʮұ  s ɍ  `n o sɍ`L s s sƗʱ` ɜɤɰ3ɺɺ)8͝!HH hheL$ 8唅啅`ei ,0LRL s L{   L ` ̢L LL  啅`&& ee楖`&&&8咪哐攈`șȄ``Ȉ`Ȋ`Ȉ ` Ȋ `HL h LH h 捥L ` LTȱɭƤ%H  h%L"ō88ȱ``  ɍ ɠ    ɨ  ɠ$Ʀ$H h$LoԠŠԠĠΩ`8农`Ɯ 8唅ɺ oiȹxɿ Lɾɼ L  L8  iL ŠŠŠΠٯΩſ̤Hɍ Œ  h`i`Hȱhȱ0e择l$0   ɠLo٠``ŮL ` `` L L   xiW  ɺ h  L(,   J Ġ L5, &   7L"+`+     P 2  7L, i 7 3  7L,    d d h ӠĠ   Ӡή  P`<, &  K F   .   .      . /   /  . L*L+ `*   ? ҾϠ٬̭þҾϠ̬  ٠ӿ w   J w    7L+     L5, w    7L+  7L+   . % |%   . % |%  L5, * 7     N  `)  7L*   J Ԡ 7LN* LX*  ˬӠΠ U O   J L* O`* w     ]   N 7L+     w /     7L* O  L*    w  ?   '     ?   '  `E(   Ԡ h S Š p S`8)    /  J Lw)   Š   w  7L)  ٯΠ  \!L) `f)      w   `) x  L( A  d hL'   /   7L0( AL>( O     S`'   ? ͠Ԡ x S   ϠԠ  S    Š  S   Š  S   ? x  '  x   ?   '   7L'    O  /  . L&`&        #    /  f    7Lx' /  .L'    7L' /  .  /    .   L' O  LA'`%'   U   /   /  g  /  N 7  d    ]  -   f  -   o  9   x  -     -     9    -   `%   F   . ] B F  T F`&        7L&  /  .L' /                 '     0     9     B     K    T`$ 9  7L%  d h   9    ,L% ! " ! ! " " '"  Ӡή U P`x%  9 . X `%ӨҠ   S  Ӡή U P`(#   .        ,#`/$  .  F  .  .  .    . 3$`\$   f  `$`$                                   `8"   N 7L.$  d h        7L# ΠL$    7L# !L$    7L# !L$ "  7L$   7L# κL# ź ˠ   S Š`! ˠɯϠ` " Š`#"                                                           7L@!    7L&! d d hL=!   ~ ]   ]LC! ~   7L O A`  U    7L!   L!    7L!   L!  d h O  7L_!`X! ŭĠ`! ŠԠ`! ք֭ͲLɍ `` w F w  w   `  `; ? `F     7Ly d d h P`Q   f /  .`z   U    7L    7L d d hL      ]   ]LC!       # , 5 > G P Y b k t }    \[Z QY\[Z8`l6 _Ȍb_Ͳ] ) (        % - 5 = E M U ] e m u }               h`l s0LLL 0`-8`; U ] e m u }                ٠ I( ;`; ; Š <) ;`< ; ˠ <) ;`/< ; ˠ <) ;`K<     `i<  .        m< /    . 3$   7   ] F L<   `~<     .   L:   S   Ӡ  f 4       S   Ӡ   Ӡή U O`-:   '     L;`;    ;   ;   ? `; 9      7L;`; ; ?  7L: ŮL,: ϠӠ`9   (       <) h  . p  . ] B F   . % |% h p $     8  f /  7       7L:        L: O L9   O O `;8  (    5       46 7L9    6 5 )7 7L9 )'     ?8 7L9 5L\9L9      7L9    /   /  . L9 5 5      /   L9    L78   7L&8    L78     Lu7`%7     7L8     ?8            N 7L8 ]   ]LS8 L9     7L8    L9      7L8       ?8  f    f   f  `$`6       7Lj7      ` 6 $        7L:8 3    7L7     7L7    L7 6 6     #    f      7L8    J ſ     J `5            N 7Lo6  L<6    7L6 L6    `06   ? ϠՠԠǠٯΩ \!  `6 `   7L6 x L6 h p`6  . &   0 F o K F % |% )`4  7LN5 4  7LK5 j) 7LK5 4LT5 O 4`&5   *5`U5   *5`g5   *5`y5 `   ,L5 3 Y5 k5 }5`5<ܩĿ`5 `   7L5 )  *`5  p   h 0 3 3  *    1  7L4 2 h   7L4 o   7 7L4 m0  * 3 ;0 0  * 3 L4 L4  * 3 0  * 3  7L54 / 3 )`3  #    f    N`4  . & h  . p  p h p  7L2`2 & &   0 F x  .   . o K F      . % |% '    ]   7  `3       `$`3 i 7 3  Z    N  ``3 ` 7L3  `3 j) 7L4 3     8      0      7L=2 LB2    @  1  . - .  ]   F   . % |%`1   x x p  7 7L2 \/   0 8 x  `$ 0  p  . 8  p    . x    x p     .   .   .   F   .   .   F x  F h  F  ,#  F    7  h`0 ,  7L2       `$  ' .      . % 9    7L1 |% ]  7  X  z  ]      /  . L0 F   p`/ x  o   7 o  `$   h`70 \/ 0    . 8    . /`i0 m  i* hl 芑    ɛ``0 x  0 (  0  . @  1  . - H 7 7LL/   8  LQ/  7L.`. 8     8    ] - H 7 N g 7L\/ 8   7L/ .L/ .  7L\/`X/   X   `$    7  X     7 `- H  7 8 - @   N ] F`-     ˠ        . % |% L\. Ӡή U P`%. 0  ( 0 @     7L. ).LQ/    7L.   @ O L.  P  7L.   @ O  % @, 9    7Lq- |%   J   w '   N    7L`- ӠLk-  "+Lv-  7L,`,  ]  7L-     L-L- O ]   `}- 0 P 2  7L- L-   8     H kUNDEFINED SYMBOLL[x L[xy9YYh" k$pLTzLz L[x8H ꂥ9$phLzh{ L[x}=]]^~>$phLTzh{ L[xu5UUVv6h8Ԫ{ L[xJj* h8鿪| L[x`pHȱ +z+zl{;}{|||<{;zh>Lz k$pA kUNDEFINED SYMBOL-MUST BE ZPAGE.L[x k$PȥK 7 kADDRESSING MODE REQUIRES ZPAGE VARIABLE.L[x L[x8鿪#{ k$p" ED SYMBOLL[x8噅嚅ƚƙ&( kBRANCH OUT OF RANGEL[x0 L[x0pP ɼ+8鲪zHȱ@ȱA8)h L[xɾ.ɽȱ@ HLy@HLyȱ@0HLyȩPHLyȱA8)  k$pLz *ILxLLQLLLL멀vم􅢅򅡠 Lpx 8e륙ȱ0 ;*Ӡ ؐL}ɲ LwyLzɖLx8閪x L[x XʈHh(`@ 8x8逪ay k$p kUNDEFINhEhELv=,HH thőhŒhLvhLv#LvHH thőhŒ iw`Lv,L ` x h **ERROR AT LINE h: h h h h h h h C)ONTINUE OR A)BORT? h)AL``L``;"  7L1F`FԠԠ  D `1E MB   ` C 5E      7LQF OL7F     7LqF O B CLF    7LF O ALF    7LF O  DLF    7LF O  DLF           N 7LF  `  7LE O     7L*E O   ``D  D   D ٠  D Š  D ˠ  D ˠ  D ٠  D ٠  D ŠǠ  D Ŭî   ;    /    ? / S LD   ?    ? ԠΠĠӠ   ? ԠԠ h S    Š p S`C     ? `  7LD LD `D `   0 /    /  . LB  (   `IB ŠҠé̠ԠŬî Π٠̠`4C  (         ŠҠΠ    é̠Ԡ H .  L`A  `   ,LHB 1: ; < 3< O< = > ? A A`B    ӱ  $ <" %   .    7LB           h  x        p         Z   L@   .   .   F   . 3$   .   .   . 3$     7LqA O LA   7LA 4LA   B  .   . 3$`?   ? h  '  h   ? p  '  p`A  6  Ӡ  ź  u  /     L@   נŠ        7LA & h  . p  . &   0 F o K F      . X  |% '   N      /    u  /  . 3    / < L ? L>       `$  4   2  7L[? L`?      8  /  . Lh?       `$`>  ŠǠ <) h p     `$   Šˠנ$ f 4     .  8=    / < L+> 3 3  * <  8=    / < L]>      / * 3 / 8= $   $  / < L> L~>  Lq>`=  ٠ I( =    / * / 8= / 7L> 3 .   .    .        ,#`<    7LU=   L`=  x   .    .  . ]  F`4= )    7L=   ? ԠӬӠή U O`=  ٠ I( =  * x    L+xt8`xrirsL护t` `uɖLɲLɿLƋ԰LذLjLL&'# `L !;hh SOPERAND NOT ALLOWEDL8`R)r%@)hh SILLEGAL SWEET-16 OPERANDLLL`r`s / SILLEGAL OPERAND.L ђ SILLEGAL ADDRESSING MODE.LH `;* + SILLEGAL BLANK IN OPERAND FIELDhLhH uh   t  `txtr=a)r : SBAD LOCAL LABELL^Lj @ SBAD CHARACTER IN LABELL @=#  :Ź: LL  : ` ` @V.=E SILLEGAL MNEMONIC.LD/ ( SLABEL NOT ALLOWED HERELE5 LL=LuLL7i( SMEMORY FULL`e` h h^ h h **ERROR: h h h h h` Q h8``  ` h L Q h  `*; Ȍ `^< h  TC SADR OUTC (PNTR),Y #',' P2DBY PRLN P300 ; ;: ; HBY PSP1L 0E6 PSP1L2  P2HBY0 :  GDR2 AFND PSP2L USYM ; PSP2L SADR+$1 OUTC (PNTR),Y #',' P2HBY0 PRLN P300 ; ; BYT ; PSP1L2 0 ɻ hL: h ɻ hL : h ɮ hL ɍ h h h h h`HHH$`) %`&`$`) xhhh` h h hhhhhhh` x`LLPAUSE ENCOUNTEREDL[" $pLҥ L[_ $pLADR+$1 OU嵐 kSYM TABLE FULLL`ȥȩ`H phi쥵퐯8ƵȱȥȥL,쥕i Lz`HH p ȥȩhh` ``H h LISA 2.5 h h I ` hĢ h L h ` h t`HH0;*  ` ` hhh` k `LYHH ` h `hh`0 : AG`8`쥕^:&#L, kDUPLICATE LABELL,i LŴL暤梤`ꅝȱŝȱŝ`ꅝȱŝȱŝ" % LA`,0`ɠ,Ƀ,L`,`櫥` `` ` 1} ` hĢ h h h섘 h ti9Ģ3 1` $P L[xLz L[x_ȱ"' <, L[x# $P LM/ $P LM $P LM  L[x L[x  ) L[x 1 h t h ***** END OF ASSEMBLY ` kƚƙ`hhh kLpx6  kLET W/O LABELL[x k ꂠȥ L[xC.L L[x kUNMATCHED IF/EL/FIL[x ܁ݩL[x kNESTED IF'S NOT ALLOWEDL` L[x $p Lz  ܁`8eH hȱL[x+ȱꅝȱŝ L L[x8ȱ * &ɻ"A) ȱA) L6 L[x, kFLOATING POINT NOT YET IMPLIMENTEDL[x  L[x L[x2مvu x h ȱꅝȱŝ hLӀ h h L[xHHH $pLz, ƻƺL eeee L[x $pLz L[x L[xȥ쥚  Lȩ < L[x4ȩ <IƜƛI L[x? < L[x?@ < " $pLz , L[x $pLz , L[x:ȱ"' <, $pLz , L[x  L[x L[x kPAUSE ENCOUNTEREDL[x" $pLz L[x_ $pLz,-} L}q1QQ k$pLTzLz L[xh L k$pLz L[x LE}H $phLz'h8鿪} LP}m- ,MMNn.h8鿪} L[xe%$EEFf&" $pLz , L[xȱ#/, k$pLz L[x k$pLz L[x' ȱ L[x"ȱ L[x0 ȱ A)ȱ L|A) L[xi) IIl h k$pLz L[xh8鿪| L}a!AAh8鿪: SBAD LOCAL LABELLЍ^Lj Jڰ SBAD CHARACTER IN LABELLй Jڙ=#  ܐ:Ź: LLј  : `  JڰV.=E SILLEGAL MNEMONIC.LйD/ ( SLABEL NOT ALLOWED HERELЩ0LLGLLLNݬi( SMEMORY FULL`e` ^ **ERROR: ` Q 8``   L Q  `*; Ȍ `^<  !!""" " " " " """""""""                I 0 IFCNT P300 ; IFERR3 ERRR  'UNMATCHED IF/EL/FI'  00 P300 ; P3EL PRLN DELIF IFCNT IFERR3 #0 IFCNT P300 ; P3IF : IFCNT GOODIF ERRR  'NESTED IF''S NOT ALLOWED'  00 WARMST ; GOODIF : TSTIF `ȱvȱHHŴ嵐fv 8㥶ȱřȱ嚰,深셹셸Lȱřȱ嚰L셒셑Lqhhh8`Lehhh` L[ PAUSE ENCOUNTEREDL[" $pLҥ L[_ $pLIFERR3 # hBSAVE ASM.CODE,A$6000,L$36B0,D2 eзL`H>L<Lꕱ ;+7-3,/)+ɻ'*#/|&^=# H H쥕4#Lϕ8셑ȱ셒Li Lhhh`L'`( :,6)2(.+*-&;" */|^& =#8``HHHJ eeffff㥨hhh`HHH&&&8呪咐樈㥨hhh`ȹ `  Fȱ" LLГLߓ L8`Ӄ͊`8`K͊X͊b͊t͊͊͊hhhhLv vȹv , 8`0 : AG`8`A[ a{)8``ȹ , ȹ ,ȹ ' # SILLEGAL IMMEDIATE HEX DATAhhL8`ȹ # SILLEGAL IMMEDIATE ASCII DATALLDLL 8``L ݐ ` 1  8`hh SCOMMENT NOT ALLOWED HERELL ,'ȹ , SNOT ENOUGH DIGITS.hhL   SILLEGAL HEX DIGIT.hhL8` SILLEGAL OPERAND / INSTRUCTION TYPEhhL'" SILLEGAL STRING, (ȹ f(`L`8``L f,ȹL,'" fȹ,пL? LO hh SMISSING OPERANDL# fL/ fL'" L f,ȹL 0 ȹLhh SEXTRA STUFF IN OPERAND FIELDL8`Cȹ';ȩyLr"ȹ $ȹ"ȩyLr;y hL`8`yȹ @  SLABEL TOO LONG`+- f`*/&|^=#), ;`8`  08 ِ7ݰ3 f`  8` f `8` f`,)`Lȹ)X$Y+hh SONLY "X" OR "Y" ALLOWEDLLLy* ȩyLr$yȹ ,Lr`><ȹ hLAȹLr!-Ȣyȹ hLr`%yȹ01Lr` @S'ȹ OL IN OPERAND FIELDL f`L f`){,%hh SMISSING ",X)", "),Y", OR ")"Lȹ)X!hh SONLY "(,X)" ALLOWEDLȹ)hh SMISSING ")"LLȹ , `8`ȹ)Yhh SONLY (),Y ALLOWEDLȹ  ȹRrLՋɾ.ȹ ,"hh SILLEGAL SWEET-16 REGISTERLLȩ ,L"ȹ,` fL ;L8` f`L#L/L(L# hLV @L*L$L'L"L!L%L<>Lhh SILLEGAL SYMBAR? )YLn` H ! OPEN hH WRITE,  INS ( k sLS CLOSEhL !  `a)_ L   ` (#e 1L`HH O00 LnL/L,LLLkL8LHL>LQ ` pt^! >fm̍م3vua)_ݞ4)_ݯ* WHAT? L;BLLSAIDLANMWF ROEAP L;led]z t,L L CLEGENFLG ; 08 LOCC+$01 CODE+$01 LSAV+$01 ;: 00 LOCC CODE LSAV CDSP LNUM+$01 #!40 LINCNT ;: 01 LNUM PRTR ;: 00 #' ' STRLP TTL,Y  #$20 STRLP ; ; #$0 P301 ;: P3P3 PRLN ;: P3h`L ީ'(ȱvȱHHŴ嵐fv 8㥶ȱřȱ嚰,深셹셸L3ȱřȱ嚰L3ޱ셒셑Lޥhhh8`L|hhh`Lr!-Ȣyȹ Lr`%yȹ01Lr` @ RUNINT Fȱ" FOUND AT LINE # eзL`H>L<Lޱ ;+7-3,/)+ɻ'*#/|&^=# H H쥕4#L8셑ȱ셒Li Lhh͊ :,6)2(.+*-&;" */|^& =#8``HHHJ eeffff㥨hhh`HHH&&&8呪咐樈㥨hhh` ȹ  a)ߝ `LLLL L8`Ӄ&͊`8`U͊b͊l͊~͊͊hhhhLЅv vȹv , 8`0:a{)AG`8`A[ a{)8``ȹ ,ڐ ȹ ,ڐȹ ' # SILLEGAL IMMEDIATE HEX DATAhhL8`ȹ # SILLEGAL IMMEDIATE ASCII DATALLխDLL 8` ݐ ` 1  8`hh SCOMMENT NOT ALLOWED HERELLٹ ,ڐ'ȹ ,ڰ SNOT ENOUGH DIGITS.hhL   SILLEGAL HEX DIGIT.hhL8` SILLEGAL OPERAND / INSTRUCTION TYPEhhLй'" SILLEGAL STRING, (ȹ f(`L`8``L f֐,ȹL,ع'" f֐ȹ,пL? LOع hh SMISSING OPERANDL# fֹL/ fL'" L fֹ,ȹL 0 ȹLhh SEXTRA STUFF IN OPERAND FIELDL8`Cȹ';ȩyLr"ȹ $ȹ"ȩyLr;y L`8`yȹ Jڙ ܐ SLABEL TOO LONG`+- fְ`*/&|^=#), ;`8`  08 ِ7ݰ3 f`  8` f `8` fְ`,)`Lȹ)X$Y+hh SONLY "X" OR "Y" ALLOWEDLЙLՙLթy* ȩyLr$yȹ ,ڰLr`><ȹ LAȹLr!-Ȣyȹ Lr`%yȹ01Lr` JڰS'ȹ OL IN OPERAND FIELDLЩ fְ`L fְ`){,%hh SMISSING ",X)", "),Y", OR ")"Lȹ)X!hh SONLY "(,X)" ALLOWEDLЙȹ)hh SMISSING ")"LЩLȹ , `8`ȹ)Yhh SONLY (),Y ALLOWEDLЙȹ ԩ ȹRrLӭɾ.ȹ ,ڰ"hh SILLEGAL SWEET-16 REGISTERLLȩ ,ڰL"ȹ,` fֈLչ ;Lԩ8` fְ`Lչ#L/L(L# L` JڐL*L$L'L"L!L%L<>Lhh SILLEGAL SYMB  L+ӥxt8`xrirsLҤt` uɖLɲLɿL԰LذLjLL&'# `L׹ !;hh SOPERAND NOT ALLOWEDLЩ8`R)r%@)hh SILLEGAL SWEET-16 OPERANDLЩLLҭrs Ґ /Ӱ SILLEGAL OPERAND.L ڰ SILLEGAL ADDRESSING MODE.LИH ;* + SILLEGAL BLANK IN OPERAND FIELDhLЩhH uh   t  `txtr=a)r