@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}D2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4u  ,!`    ,!` + hhh hh    m  i mV}ͭiΠ˩mi   m iˍ̍˙, L˭̭W}ͭα˪͑ˊm˭i̢M, ȘݦL8˭̢M, ː ȘݦLX} L˭̭ͭΠ˪͑ˊ8ͭ8 ͥ 8 ˭ 8 ˥ 8ͥY}0DLNmiʭ . .8  L0=8..mZ}iLLR"ʽʽ. ʽ. L m˭i̥˅m˥̅i̢MːsȘݦLL [}˙, ˅ͥ̅8ͥͅ΅΢M, ͐ȘݦLL ͑L,  L`muVWFIELDFLENNREBUFSIZRLENBUFTEMPBLANKRECNFCNANKEYKEYKCNKEYSTARJUNLAS ]} @ ^} $$SUPERSORT REV 3.0 DEMO PROGRAMD. YOCUM, 11/19/81(77THIS PROGRAM ALLOWS THE USER TO DEF _}INE THE NUMBER2>>OF FIELDS, FIELD SIZE AND NUMBER OF RECORDS FOR SORTING.<11YOU THEN SPECIFY WHICH FIELDS TO SORT BY... `}F11SUPERSORT DOES THE REST. ALL FIELDS ARE THEP,,SAME SIZE IN THIS EXAMPLE, THIS IS NOTZ%%REQUIRED BY SUPERSORT, HOW a}EVER.d@@**********************************************************nMAJOR VARIABLES:x@@BUF$ ... MAIN SORT BUFFER b}. ALL RECORDS ARE STORED HERE.//TEMP$ ... TEMP. INPUT STRING FOR FIELDS99BLANK$ ... FILLED WITH BLANKS. USED TO PA c}D FIELDS.55KEY() ... HOLDS NUMBERS OF FIELDS TO SORT BY...FIELDS ... NUMBER OF FIELDS PER RECORD.,,FLENG ... d} NUMBER OF CHARS PER FIELD.##NREC ... NUMBER OF RECORDS11RLENG ... NUMBER OF CHARACTERS PER RECORD44NKEYS e}... NUMBER OF SORT KEYS IN ARRAY KEY()&&BUFSIZE ... TOTAL LENGTH OF BUF$55KEYSTART... STARTING LOCATION IN BUF$ OF A f}KEY.;;C ... POINTER TO START OF NEXT FIELD ON OUTPUT.::LAST ... ADDRESS OF START OF LAST RECORD IN BUF$.@ g}@**********************************************************@@***************************************************** h}*****//INPUT FIELD NUMBER, SIZE AND RECORD COUNT"@@**********************************************************,6 i}55 >:A%," Ԡ֠Ϡ͠@   J## HOW MANY FIELDS PER RECORDT^&& HOW MANY CHARACT j}ERS PER FIELDhr 6-$|"" HOW MANY RECORDS TO INPUT@@**************************************** k}******************>>COMPUTE SIZE REQUIRED FOR BUF$ INCLUDING 2 BLANK RECORDS##DIMENSION STRINGS ACCORDINGLY@@**** l}******************************************************6-+%@,$;,;,;,9,..BLANK$ m}IS FILLED WITH BLANKS FOR PADDING 6. -@67,.  33STICK A BLANK RECORD AT THE BEGI n}NNING OF BUF$&0 Ap:D **************************N INPUT DATA FOR EACH RECORDX ***************** o}*********bl-@v -@##  INPUT RECORD  FIELD 67B:,%@,. p}00PAD WITH BLANKS IF THIS FIELD IS TOO SHORT0 B:, 067B:,%@,.7@<&B:,,   q}--STICK A BLANK RECORD AT THE END OF BUF$ Ap @@*************************************************** r}******* 44INPUT THE PRECEDENCE OF THE FIELDS FOR SORTING*@@**********************************************************4 s}>   H&& SORT BY WHICH FIELD (1-)R-@\f"' A 0p 68,-z" t}A .(. #IF THOSE FIELDS MATCH, WHICH SHOULD%% I SORT BY NEXT (0 WHEN DONE) ""NKEYS NOW HAS NUMBER O u}F KEYS6-&@""****************************SET UP SUPERSORT""**************************** v}A6RECORD LENGTH A NUMBER OF KEYS-@++COMPUTE BEGINNING CHAR # OF KEY F w}IELD$6-+8,&@,$.)A%)STARTING CHAR FOR KEY8POKE ENDING CHAR# OF KEYB)A%% x})ENDING CHAR FOR KEYL V**************************************`DISPLAY UNSORTED RECORDSj********************* y}*****************t   ~ UNSORTED RECORDS A PRINT FORMATTER55COMPUTE STARTING ADDRESS OF LAST z} RECORD IN BUF$33THIS SHOULD IMMEDIATELY PRECEED THE USR CALL.6-C:,%B:,&@$************** {}********CALL SUPERSORT!**********************6-?:At4 R(j)1680 ;1690 Q3 CLC1700 LDA I1710 ADC RLENG}1720 STA I1730 STA AZ1740 LDA I+11750 ADC #01760 STA I+1 i <- i+11770 STA AZ+11780 ;1790 LDX #01800 L2A LDY K}EYST,X1810 L3 LDA (AZ),Y K(i) < K ?1820 CMP TREC,Y1830 BCC Q3 yes1840 BNE Q4 no1850 INY1860 TYA1870 CMP KEYEND,X}1880 BNE L3 don't know1890 INX next key1900 CPX NKEYS1910 BNE L2A1920 ;1930 Q4 SEC1940 LDA J1950 SBC RLENG1960} STA J1970 STA AZ1980 LDA J+11990 SBC #02000 STA J+12010 STA AZ+1 j <- j-12020 ;2030 LDX #02040 L3A LDY KEYST,}X2050 L4 LDA TREC,Y2060 CMP (AZ),Y K < K(j) ?2070 BCC Q4 yes2080 BNE Q5 no2090 INY2100 TYA2110 CMP KEYEND,X2120} BNE L4 don't know2130 INX next key2140 CPX NKEYS2150 BNE L3A2160 ;2170 Q5 LDA I+12180 CMP J+1 j <= i ?2190 BCC }L4A no2200 BNE L5 yes2210 LDA I2220 CMP J2230 BCS L5 yes2240 L4A JMP Q6 no2250 ;2260 L5 LDA L2270 STA AZ2280 L}DA L+12290 STA AZ+12300 LDA J2310 STA BZ2320 LDA J+12330 STA BZ+12340 LDY #02350 L6 LDA (AZ),Y2360 TAX2370 L}DA (BZ),Y2380 STA (AZ),Y2390 TXA2400 STA (BZ),Y2410 INY2420 CPY RLENG2430 BNE L6 R(l) <-> R(j)2440 ;2450 Q7 SEC}2460 LDA J2470 SBC L2480 STA BZ2490 LDA J+12500 SBC L+12510 STA BZ+12520 SEC2530 LDA BZ2540 SBC MSCALE2550} STA BZ2560 LDA BZ+12570 SBC MSCALE+12580 STA BZ+1 B <- j-l-(M+1)2590 ;2600 SEC2610 LDA R2620 SBC J2630 STA A}Z2640 LDA R+12650 SBC J+12660 STA AZ+12670 SEC2680 LDA AZ2690 SBC MSCALE2700 STA AZ2710 LDA AZ+12720 SBC MS}CALE+12730 STA AZ+1 A <- r-j-(M+1)2740 ;2750 SEC A>=B ?2760 LDA AZ2770 SBC BZ2780 LDA AZ+12790 SBC BZ+12800 BM}I L8 no2810 ;2820 LDA BZ+1 B>M ? (B>=M+1 ?)2830 BPL L6B yes2840 L6A JMP L11 no2850 ;2860 L6B LDX SP2870 CLC2880 L}DA J2890 ADC RLENG2900 STA STACK1,X2910 LDA J+12920 ADC #02930 INX2940 STA STACK1,X2950 DEX2960 LDA R2970 S}TA STACK2,X2980 INX2990 LDA R+13000 STA STACK2,X3010 INX3020 STX SP STACK <= j+1,r3030 ;3040 L7 SEC3050 LDA J3}060 SBC RLENG3070 STA R3080 LDA J+13090 SBC #03100 STA R+1 r <- j-13110 JMP Q23120 ;3130 L8 LDA AZ+1 A>M ? (A>=M}+1 ?)3140 BMI L10 no3150 ;3160 LDX SP yes3170 LDA L3180 STA STACK1,X3190 INX3200 LDA L+13210 STA STACK1,X3220} DEX3230 SEC3240 LDA J3250 SBC RLENG3260 STA STACK2,X3270 LDA J+13280 SBC #03290 INX3300 STA STACK2,X3310 }INX3320 STX SP STACK <= l,j-13330 ;3340 L9 CLC3350 LDA J3360 ADC RLENG3370 STA L3380 LDA J+13390 ADC #03400 S}TA L+13410 JMP Q2 l <- j+13420 ;3430 L10 LDA BZ+1 B>M ? (B>=M+1 ?)3440 BPL L7 yes3450 JMP Q8 no3460 ;3470 L11 LDA A}Z+1 A>M ? (A>=M+1 ?)3480 BPL L9 yes3490 ;3500 Q8 LDX SP3510 BEQ Q9 STACK EMPTY ?3520 DEX3530 LDA STACK1,X3540 STA} L+13550 DEX3560 LDA STACK1,X3570 STA L3580 INX3590 LDA STACK2,X3600 STA R+13610 DEX3620 LDA STACK2,X3630 S}TA R3640 STX SP l,r <= STACK3650 JMP Q23660 ;3670 Q9 CLC3680 LDA ST3690 ADC RLENG3700 STA AZ3710 LDA ST+13720 } ADC #03730 STA AZ+1 j <- 13740 ;3750 L12 LDA AZ3760 STA TZ3770 ADC RLENG3780 STA AZ3790 LDA AZ+13800 STA TZ+1 }t <- j3810 ADC #03820 STA AZ+1 j <- j+13830 ;3840 LDX #03850 L12A LDY KEYST,X3860 L13 LDA (TZ),Y3870 CMP (AZ),Y K(}j-1)>K(j) ?3880 BCC L21 no3890 BNE L14 yes3900 INY don't know3910 TYA3920 CMP KEYEND,X3930 BNE L133940 INX next} key3950 CPX NKEYS3960 BNE L12A3970 JMP L21 no3980 ;3990 L14 LDY #04000 L15 LDA (AZ),Y4010 STA TREC,Y4020 INY40}30 CPY RLENG4040 BNE L15 R <- R(j)4050 ;4060 LDA AZ4070 STA BZ4080 LDA AZ+14090 STA BZ+1 i <- j4100 ;4110 L16 S}EC4120 LDA BZ4130 STA TZ4140 SBC RLENG4150 STA BZ4160 LDA BZ+14170 STA TZ+1 t <- i4180 SBC #04190 STA BZ+1 i }<- i-14200 ;4210 LDX #04220 L16A LDY KEYST,X4230 L17 LDA TREC,Y4240 CMP (BZ),Y K(i) <= K ?4250 BCC L17A no4260 BNE} L19 yes4270 INY4280 TYA4290 CMP KEYEND,X4300 BNE L17 don't know4310 INX next key4320 CPX NKEYS4330 BNE L16A43}40 JMP L19 yes4350 ;4360 L17A LDY #04370 L18 LDA (BZ),Y4380 STA (TZ),Y4390 INY4400 CPY RLENG4410 BNE L18 R(t) <- }R(i)4420 JMP L164430 ;4440 L19 LDY #04450 L20 LDA TREC,Y4460 STA (TZ),Y4470 INY4480 CPY RLENG4490 BNE L20 K(t) <}- K4500 ;4510 L21 LDA AZ+1 j < N ?4520 CMP N+14530 BCC L21A yes4540 BNE L22 no4550 LDA AZ don't know4560 CMP N45}70 BCS L22 no4580 L21A JMP L12 yes4590 ;4600 L22 RTS4610 TREC *=*+$1004620 .END -fits under basic...must use w/ autorW  ,!`    ,!` + hhh hh    m  i m}ͭiΠ˩mi   m iˍ̍˙, L˭̭}ͭα˪͑ˊm˭i̢M, ȘݦL8˭̢M, ː ȘݦL} L˭̭ͭΠ˪͑ˊ8ͭ8 ͥ 8 ˭ 8 ˥ 8ͥ}0DLNmiʭ . .8  L0=8..m}iLLR"ʽʽ. ʽ. L m˭i̥˅m˥̅i̢MːsȘݦLL }˙, ˅ͥ̅8ͥͅ΅΢M, ͐ȘݦLL ͑L,  L`mu  m iˍ̍˙, L˭̭ͭα˪͑ˊm˭i̢M,} ȘݦL8˭̢M, ː ȘݦL L˭̭ͭΠ˪͑ˊ}8ͭ8 ͥ 8 ˭ 8 ˥ 8ͥ0DLNmiʭ . .8}  L0=8..miLLR"ʽʽ. ʽ.} L m˭i̥˅m˥̅i̢MːsȘݦLL ˙, ˅ͥ̅8ͥͅ΅΢M, ͐}ݦLL ͑L,  L`}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} iˍ̍˙, L˭̭ͭα˪͑ˊm˭i̢M,B'DOS SYSB*+DUP SYSBUAUTORUN SYSB'\DEMO BASB=SUPER3 ASMBSUPSORT3OBJB-MEM SAV