ÿäad‘"Sorted Directory 0.1 15-May-1981"ÿai’, @�,è:TOPðPC� bn® AóZbsLIMDIRð,'bx† CODE(2)7b‚† ARRAY(2)JbŒ† DIR$(LIMDIR)Xb–† BUF(@)|b�DIRFORM$ð"\ \.\ \## ### "†bô� @˜bX:�ÛGOSUB 3000¡b„¡ Pµbˆ …"Drive";DRIVEÛbœ MASK$ðÿ–(DRIVE)ò"????????"ò"???"æb° � Xõb DISPLAYðc � ¼c ‘ : ‘"Sorting..."#c ‘ÿ–();.c( � „9c2‘ÿ–()ccx �   :�Û display sorted directory‘c :�Û GOSUB 4200 ' dump directory to disc—cÜ�Åc � --- display sorted directory in columnsácª Kðò(MAXDIRó)ý : Lððc´ ‚ Ið Î K d¾ ‚ JðI Î MAXDIR Ñ K#dÈ D$ðDIR$(J) : � -dÒ ƒ J5dÜ ‘>dæ ƒ IEdð ‘KdúŽpd� --- display directory entry d$¾d ‘ Ù DIRFORM$;ÿƒ(D$,,),ÿƒ(D$, ,),ÿ•(ÿƒ(D$, ,)), ÿ•(ÿƒ(D$,,));ÄdŽädX� --- create directory maskìdbIð el ‚ Jð Î (ÿ’(MASK$)ò)ý$ev V1ðÿ•(ÿƒ(MASK$,I,))Ye€ ‹ Iðÿ’(MASK$) Ï V2ð :¢ V2ðÿ•(ÿƒ(MASK$,Iò,))meŠ VV!ðôV2òV1£e” ‹ VV!ñðÿ Ï ARRAY(J)ðVV! :¢ ARRAY(J)ðVV!ó‘¯ež IðIò¸e¨ ƒ J¾e²Žáe¼� --- read in entire directory!fÆ FUNCð:PARAMð:CPMð:BASEð:Vð:Ið:Jð:Kð:D$ð"":RESULTðXfÐ FUNCð : BUFADRð€ :�Û TOP+20 ' Set DMA addressˆfÚ CPMðÜ(CODE()) : ¶ CPM(FUNC,BUFADR,RESULT)·fä FUNCð :�Û Search directory for firstêfî CPMðÜ(CODE( )) : ¶ CPM(FUNC,ARRAY(),RESULT)ûfø ‚ Ið Î çg ‹ RESULTñ ø RESULTï Ï p9g  BASEðBUFADRò ôRESULTEg D$ð""Vg  ‚ Jð Î rg* D$ðD$òÿ–(ÿ—(BASEòJ))|g4 ƒ J´g> ‹ DISPLAYð Ï ‘"."; :¢ � h : ‹ I ü  ð  Ï ‘ÅgH DIR$(I)ðD$ógR FUNCð :�Û Search directory for next'h\ CPMðÜ(CODE( )) : ¶ CPM(FUNC,ARRAY(),RESULT)0hf ƒ I@hp MAXDIRðIóFhzŽmh„� --- sort directory by shell sort¡hŽ˜ ÓCOMP(X,Y)ðÿƒ(DIR$(X),, )ñðÿƒ(DIR$(Y),, )±h˜ GAPðMAXDIRÒh¢ GAPðGAPý : ‹ GAP ñð Ï òêh¬ ‚ JðGAPò Î MAXDIRi¶ ‚ IðJóGAP Î  Ñ óGAP%iÀ ‹ ÓCOMP(I,IòGAP) Ï ÞAiÊ ¥ DIR$(I),DIR$(IòGAP)NiÔ ƒ IWiÞ ƒ Jbiè ‰ ¢hiòŽ‹i@� --- install CPM call routine°iJ ADRð:Ið:Vð:CPMADRð:CPMVALðÃiT VPðÜ(CODE())Îi^ Œ ®ßih ‚ Ið Î 'öir ‡ V:‹ Vðó Ï ¤)j| ‹ Vïð ÷ Vñðÿ Ï ™ ADR,V : ADRðADRò : ‰ šHj† ‹ Vðé Ï ADRðÜ(CODE())hj� ‹ Vðê Ï ADRðÜ(CODE( ))qjš ƒ Ixj¤ �¶j®„ 1001,197,6,0,78,235,22,0,94,205,5,0,225,119,35,54,0,201èj¸„ 1002,197,6,0,78,205,5,0,225,119,35,54,0,201ñj„ -1 kÌ ‹ VPñïÜ(CODE()) Ï �kÖŽ,kà� --- read back memory