Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!sri-spam!ames!lll-tis!ptsfa!ihnp4!ihwpt!bird From: bird@ihwpt.ATT.COM (J.L.Walters) Newsgroups: comp.sys.apple Subject: DOS 3.3 Catalog to text file Message-ID: <1860@ihwpt.ATT.COM> Date: Wed, 29-Jul-87 23:32:51 EDT Article-I.D.: ihwpt.1860 Posted: Wed Jul 29 23:32:51 1987 Date-Received: Sat, 1-Aug-87 08:19:49 EDT Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 197 Keywords: EXECUTIONER A few weeks ago there were a number of requests for someone to upload a program that would catalog a disk and save the result to a text file on a disk. In answer to that the two programs LABELS and MENU were uploaded. These programs were to be modified to perform the wanted function. The following is my version. It is for DOS 3.3 only. It should be possible to modify for ProDOS (he said confidently). Recently, the same person that uploaded LABELS and MENU uploaded a similar program that was much shorter and did not use an assembly program hidden in a REM statement at line 0. It probably would be better to modify that program to save the catalog to a disk. However, I am still going to upload this file so those that are interested can see one way to get an array to a disk file. In addition, the assembly code from the REM statement has been disassembled and the commented source provided below. At the end of the source is the (untested) procedure I would use to include such a program as line 0 of an Applesoft program. Any constructive comments, etc., welcomed. Joe Walters ihnp4!ihesa!bird (312) 979-3091 ----------------- Assembly source hidden in REM 0 statement -------------- * Following is Merlin source. ARYTAB = $6B ;Start of array storage ARRAY = $5A1C ;Dummy start of array CSWLL = $AA53 ;Output vector CSWLH = $AA54 KSWLL = $AA55 ;Keyboard input vector KSWLH = $AA56 ORG $0800 * The following code lives in the REM statement at line * zero of the CATALOG TO LABELS OR FILE AppleSoft file. * The HEX data is Applesoft stuff for the REM HEX 00 ;Start of program DW NXTLNE ;Address of next Applesoft line HEX 00,00 ;This line number (zero) HEX B2 ;REM token LDA #CUMBAK STA CSWLH LDA #OUT STA KSWLH LDY #$08 LDA (ARYTAB),Y ;Find start of array storage STA AA+1 ;Set AA to it INY LDA (ARYTAB),Y STA AA+2 RTS * CSWL (Input vector) points here. When a catalog is done, * all input comes here. The file name is then stored in * the array along with returns, etc. CUMBAK AND #$7F CMP #$20 BPL AA ;B/not lower than a space, i.e. not control ORA #$40 ;Make control printable AA STA ARRAY INC AA+1 BNE OUT ;B/not crossing page boundry INC AA+2 OUT RTS ;Exit CSWL & KSWL HEX 00 ;End of Applesoft Line marker NXTLNE = * ;Forms address of line 10 *********************************************************** * If you desire to change this program then: * * 1. Load the Applesoft "CATALOG TO LABELS OR FILE" FILE * * 2. Type the following which will overwrite line zero. * Make it a single line, not two as shown. * * 0 D$ = CHR$ (4): INPUT "FILE NAME?";A$: PRINT D$"OPEN"A$: * PRINT D$"WRITE"A$: LIST 1 - : PRINT D$"CLOSE": END * * 3. Type RUN and follow along. (Name of XX is cool.) * This will save lines 10 through end as a text file. * * 4. Type NEW to clear Basic memory * * 5. BLOAD the changed "CAT TO LABELS OR FILE" (OBJ of this file) * * 6. Type "EXEC XX" which will cause lines 10 to end to be * reentered. * * 7. Type "SAVE CATALOG TO LABELS OR FILE" and you are done. * *********************************************************** ----------------- Cut here and EXEC the following ---------------------- CALL-151 E00:38 A5 FF D0 32 D8 20 8E FD AD 30 BF 8D 6A 0E 20 00 BF C7 6D 0E 0D 80 02 E18:D0 1D 20 00 BF C5 69 0E B0 15 AD 81 02 29 0F AA E8 8E 80 02 A9 2F 8D 81 E30:02 20 00 BF C6 6D 0E A2 08 B0 0E 20 00 BF C3 70 0E B0 06 A2 26 20 53 0E E48:AA 20 53 0E 4C D0 03 20 ED FD E8 BD 59 0E D0 F7 60 A0 F3 E1 F6 E5 E4 8D E60:00 C5 F2 F2 EF F2 87 8D 00 02 00 81 02 01 80 02 07 7E 0E E3 FC 01 08 00 E78:00 00 FD AE 0C 15 07 C3 C1 D4 C1 CC CF C7 00 F00:D8 A0 00 84 FF 84 E0 A9 10 85 E1 20 67 FD E0 05 90 3B A2 00 20 3A 0F 85 F18:E2 A0 FF C8 20 3A 0F 06 E2 6A 06 E2 6A 91 E0 45 FF 85 FF C0 02 90 EC 98 F30:65 E0 85 E0 90 DE E6 E1 B0 DA E8 BD 00 02 0A C9 40 F0 F7 E9 7E 90 02 0A F48:60 68 68 90 BE 4C 69 FF F00G .?|G?D?qhEgLRSihGXLSiPhzLdTihEGLUSi_GXpjLBpGGXpjLAqG_Jh~H?_OAHH?L .zXYmBpGOKBmqGG_?O@GIC?q_iCNMGfS_iSNTgBG_iSGHaR_KiHMD?_b_Ae_QgDL_ .i@ANgUDmI_KHgMD_Ao_HaR_@iRRDiLAKaX_BiNCDBk?F?GS?Qq_MgNS_iF@QiA@F ._Dm_iSGDI_QDaL_@aS_KiHMD?_o_IaJMiNVRAa_SiG@SI_SGaD_MiDWSI_KHgMD_ .gHR_?po?oLG]C?q??RHgC?q_iOTQiONRaD_NaE_OiQNFiQ@LI_HRI_SNI_OQiHMS .G_@_iCHRaJ_Bi@S@iKNFI_SNI_K@iADKaR_NaM_XiNTQG?JH@q?qI_OQiHMSgDQ_ .gNQ_gSN_iR@UaD_SgGD_iEHKaD_Mi@LDaR_SaN_@I_SDgWS_iEHK_Dm?_PH{C?q? .afHEC?HyPVy|EyEMi@LD?cgp?othC?GHaO?H{OUg?ohybCcOofgsAhyBoOoyWyCc .IaOQ?boaC?tH`Y?a?pqyOUsyOya{iOTSI_HMI_XNgTQ_iCHR_J_eI_GHaS_@I_JD ._X}aC?zH`c?qK?HH`m?}_@cyWy@cCyV?qgHwC?ju?roo@oyqI_B@iS@KgNF_gSN_ .iLDLiNQX??gIPA?qA__OAc_HaM_QgDL_iRSLgSR_iADKgNV_iBNMiS@HaM_OiQHM .iSDQI_BNiMSQiNKRI_ENaQ_DiORNaM?bCIK?Oq__i@RBgHH_?pt_A|_BiNLOiQDR .iRDCI_LNgCDk?_qv?kwr?kp_A|_RiTARiBQHgOS_gNMkC?]IPU?q?__q?vkt?pkp .?w_|?_pqI_KHiMDRI_ODaQ_HiMBG?k_q?vkv?p_|I_CNiTAKaD_RiSQHgJD?pYI_ .C?q__Oc_?|__iBGQ?c_g?pth?_j_I_BG_Qc_?gqv?h_jA__BgGQc?_gw?rh_?j__ .iBGQ?c_g?ph?@cJiC?q__Oc_A|_O?c_jI_BG_Qc_?gqv?h_jI_BG_Qc_?gtp?h_j .I_BG_Qc_?gpw?h_jI_BG_Qc_?gqv?h_jI_BG_Qc_?gvp?h?iCJs?Qq?HCJ}?Qq_A .iDKNaV_HaR_EgNQ_iHL@iFDViQHSgDQ?bNJGC?q?bsJQG?Oc{Ofg?qvh{Gfg?wph .Cyq_iTKSgQ@_iBNMaC_DgSBmC?UJq[?OMcOONcGf?gqvNhGf?guuNhGf?gqvNhGf .?grr@h?[KJe?Rq?OKJo?jBBO?rqyQq_EiHKDiM@LaD_QiDRSiQHBiSDC?_qtI_BG .i@QRI_ENaQ_Ki@ADgKR?BAKyC?ap@qy]CyyaiOQHgMS_iK@AgDK_gNQ_iVQHgSD_ .iB@Si@KNaF_SaN_CiHRJ?a?S?KC@P\yyCyyaaKnB?~_a?z?a?KM@W}@cCy\yWy@c .G?XK@W@lb@cOGaBawM@cqOabMaCBkBOr@vyqI_@KiKNVI_ETgKK_?ro_iBG@gQR_ .gHM_iM@LaD?^?Ka@Qq?z?Kk@Z@HOKp@p?otyYlM@AcgHMhOAKcCr?ro?O[KuJ@BO .kBGpIyM@AcgHNhOgIgM@AcgHAhkB_BhyWAH?QaK?C@q?QnKIE@lBrOoC?twoK?FK .`S@lb@cOGaBawM@cqOabLaCj?uroK?UK`]@VCyap@pyU@sy]K?~K`g@yIaDMiSDQ .I_CDiRBQiHOSiHNMA_gM_N_kI_NQ?_yh@aya?pr?AMLqC@\yOCa}AazC_Hc?AvL{ .C@VyjBBOApyCbHcOqggC_Hck?rqhGyYc{OgggM@c?goh?kpvAh?^CLE@OaptCyUt .CyyaiOQHiMSDaQ_QiD@C_X_gaXnM?h~a@zy}_@c?`~LOE@y@@cyyEyl@KcOabXaM .b@cOGaxasCVyOjss@o?_CLY@OUtyQyaDiWHSA_gXGnMh?~azEy}@@cyy_@cyPy?x .CLc@Wl@cqOaXMaM@KcOabxaC?uqx?xx?pCLmC@VyOjrxBo?fCLw@[yfg?shzIaOQ .?bpaEyyO?czyWyYcKz?r?shzgCHcK?qLqA@KiHMDoOq?B?MKE@@HyOBBz@BF?q?L .KMU@YyM@AcgH?hz?BgM_I@KHjMDOiKHMkDGpEylHrGpNkBCt?qo?bBMiE@yM_@cg .kHGp@hyliKHMkDOpKvCt?to?bIMsE@AHG?RMp}@j?troG?XM@GAyC?AMAQAKiHMD .yOKHjMDG@pyliKHMkDPpLvC@mHOKiHMDo@pvCyyyWAH?OJM[CAjt?vo?OpMeIABB .zOHG@qyljBBPkBGpvCyf?gshAzaO_Qbo@ayVCyapBo?c?MoAYlBBzPBGLpCyIaB@ .iS@KgNF_iQDPiTHQgDR_i@MNiSGDaQ_Ki@AD_KayOjrxBo?}?MyA[yfg?shzIaOQ .?boaCyyyPVyj?txo??XN`CAVCyatCyyagMN_iEHKgDR_iENTgMCa??xN`MAa?poy .Qya@iMNSiGDQI_CHgRJ_GgXn_Mh_?~a?aUNWEA}@@cyy_@cyWl@cqOaMMaM@KcOa .bmaCQ??lGNaAWl@cqOaXMaM@KcOabxaCOjpoC?DN`kAyofgvBhzf?gwhGz@c@zyj .?uooC?JN`uAqC?fNP?AqI_B@iS@KgNF_gSN_iEHKaD_RiSTEbE?DCNIAQVyKkNOo .Cyq_I_EHgKD_iMNSI_KNiBJDbC?iCNSAkMOr@oyo?wqoEylHzNMGMpMHrOpMbAcO .?a~asCju?to?ppN]CAq_??dOPgAdOjpo?toyOq__gFN_iNMDgQQ_gHE_iEHKaD_K .iNBJgDCniCNDgRMfaS_DiWHRaS?ACOqAPyyy_CcaiQDMi@LD?_az_Epc?aka_Epc .G?yOP{AyIaEHgKD_iDWHiRSRAm_@iOODgMC_gNQ_iNUDiQVQiHSDAm_@GnN_?~_a .Ey}@@cyy_@c?R`OEEAl@KcOab@aMb@cOGa`auCyCAca@iOODgMCa_EpcCyjv?ro? .RqOOEAyCAcaNiODMGaEpBc?CKOYAWyCcIaVQiHSDGaEpBc?NKOcAZ@HOMp@BK?aO .qmA@NcOiIgM@AcgH?hkwBh?lKOwAWy@cEyAHK?~O@ABy_CcaiBKNgRDa_Epc??VP .@KBljKNPrNoCWyCcIaKNgBJa_EpcG?BP@UByIa@MiNSGgDQ_iCHRaJ_NaQ_PiTHS .A__@GnP_?_~aEy}@@cyy_@c?_WP_EBl@KcOabPaMb@cOGapasC??__PiCBjpAo?f .?PsBOq_?O`P}CBq_A__QgDL_iFDSI_RSiQHMaF_NaE_KiDMFgSG_gMN_iKNMiFDQ .I_SGg@M_GaMaI_BGi@QRK?`P`GBqA__NaM_DiWHSG_Ep?c_|I_RSiQHM_Fk__Ac_ .A|_Ki@RSI_BGg@QkG_H_A|_BiNTMaS_NaE_BiG@Q_R?fGQQBOq__gHE__H_}G_M_ .?j_pI_SGgDM_iSNNI_L@gMX_iBG@gQRmG_H_?{|_aM_SiGDMI_NJI_TMiKDRaR_A .?c_|?_~?aOQ[CByyOappCyya?___A__FiHUDI_TRI_XNgTQ_iEHKaD_Mi@LDAa?| .GQeBOyagiM@LaD_LiTRSI_ADA_aMAa_NaQ_KiDRRI_BGi@Q@iBSDgQRh@a?kGQoB .P]yy?a__?__~I_ENaQ_Bi@S@iKNFI_NQI_DRaB_SaN_PiTHS?___@ay\K?AQ`yBy .GyEpKcOa@ay@kHOpz@MGBp?ICQCBW}AcK?bQPMBlbAcOofgwLhCj?ppp@oyqA__] ._G?GCRWBWlAcoOa~LaCVCyyyWyCcIaB@iS@KgNFaCyyyW}@cCyp?@jRaEBlANcOf .?gprLhCpCyq_I_B@iQQHi@FDI_QDiSTQaM?BCRkBWlAc{Ofg?qvhpCy?Cyq_I_DR .aB?lCRuBWlAc{Nfg?rphsCjx?xoyOq__iOQHiMS@iAKDI_BGi@Q@iBSD`Q?UKR?B .[yfg?vhzCyq_I_ADgKK_iENQI_HMiU@KgHC_iBG@iQ@BiSDQC?^RpIBj?xooC?eR .pSBq@_?nKR]BWyAc@z?}KRgB_EpcwOEpMcGABc?CKRqBRA?JKR{BOq_?o~RECCyy .PyyyGaH_iR@H_C_akMHpAa_NaQ_KiDRRAm_Og@X_i@SSiDMSiHNM@ayj?wwo??ES .@OCq?_?f?SYC[lag?qqqNhPNBpoCOjvq@oyqA__MgDV_iEHK_D?{?ScCQyaSgGD_ .iEHK_D__GaEpAc?j?SmCQyaHaR_KiNBJgDCmI_TMiKNBaJ_NaQ_EiNQFgDSmG_Tn ._E_~?_ayW}@cC?MS@wCy_@cyWl@cqOaEMaM@KcOabeaCFyKH?rqw@wyj?po?QgSA .ECyCAcaTiMKNgBJa_EpcIyKNoOpyPe?nGSKCOq_?Q}SUEClH{POqOjpp?so?qQS_ .JCHOkHHqEyyA?ca_GaAcBz?hGSiC_Epc{Ogg_EpcGkHhCyjp?opo??DTasCEBpcO .?aaykHOpCyUpCyyaB_af?gwh?z?MGT}COjxo?o?SBTVuO??xBTWuQq_QiD@CI_B@ .iS@KgNF_gSN_iLDLiNQXI_QNiTSHgMD?_PTauu@HrOp@?rwybAcObAcG?a|aCyA? ._nTkuu@HoOpoKt@p{FHpIyM@gLDcGgHhwOAcCyA?ODTuyuM@gLDc?goh{Ogg_Ack .?pxhC?gTlDua?pqyOUpqCy]yQyaQiD@CiHMFI_B@iS@KgNFaCy\?QsTIsuap@qyU .?qx?q?TXtudj?uro?vt?qVT]suKq?otsEyyCAcaBi@S@iKNFBa?wJTbuOxqp?uko .EyyCAcaO_Qbo@ayy_CcagHMb?oayOy?eJUgu[lgggM@c?goh?kphoOa_LaCa?pqy .[KHw?uwyOya`?``_iDQQgNQ_?az?a\UqvulgIgM@?cgo?hkpKhOaB_aCOyalI_TM .i@AKaD_SaN_QiD@CI_CHiQDBiSNQ_X_`?``aG?vUlvulqggM_@cg?ohkBphO?a_a .sCjt?xo?QAU{suVyOjpu@o?_NU~xOIpyOya_?___AwoM@ay{?oku?rxx@wyI?o?? .C?T? BSAVE CATALOG TO LABELS OR FILE,A$1000,L$0EA1 E00G