[comp.sys.apple] ProDOS Catalog into memory

SEWALL@UCONNVM.BITNET (05/26/87)

All right, already.  I believe Chris's question was how to get the DOS
3.3 CATALOG into memory (I sent that out earlier).  Judging from the
comments, I gather there's some interest in getting the ProDOS directory
into memory too.  The toughie is getting the volume directory.

In the interest of completeness, and also to provide a handy catalog
utility, what follows is a ProDOS Applesoft program that reads and
displays or prints the volume directory and all the sub-directories
on a ProDOS volume.  You can cannabilize this for other purposes
naturally.

Note: I encrypted the program with the EXECUTIONER because several of
the lines run longer than 80 columns (some of the Applesoft that's been
sent on the net lately had wrapped lines which didn't EXEC well).  Trust
me; if you EXEC this file under BASIC.SYSTEM, you'll get a BAS program
named FULLCAT.
-------------------------Cut Here-------------------------------
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 2A AD 06 00 07 C6 D5 CC CC C3 C1 D4 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
.?nGIE?EC_Mcg?qok?qohIkCB?gqoAhkO_Bcg?qohGkHg?qohGkKs?cgp?ooh??zG
?nGIE?EC_Mcg?qok?qohIkCB?gqoAhkO_Bcg?qohGkHg?qohGkKs?cgp?ooh??zG
.AS?CNcOf?gshG?QGA]?VkCOrAxyLkEOp?ooyjLCO?qo?_uGgF?la?gsx?oswKhPp
AS?CNcOf?gshG?QGA]?VkCOrAxyLkEOp?ooyjLCO?qo?_uGgF?la?gsx?oswKhPp
.BqwC?voyQq_HaE_MgNS_a@_HgHD?OhGqF?la?gsx?pwrKhNpBqwCjVCO?vxyOjwo
BqwC?voyQq_HaE_MgNS_a@_HgHD?OhGqF?la?gsx?pwrKhNpBqwCjVCO?vxyOjwo
.Cyq_iHHDI_G@_R_wAolBiNKTgLM_gNM?oGG{C?jw@oyqI_HHaD_Gg@R_?soliBNK
Cyq_iHHDI_G@_R_wAolBiNKTgLM_gNM?oGG{C?jw@oyqI_HHaD_Gg@R_?soliBNK
.iTLMI_NMK?tG`E?CIaGnav_vihcdI_hrI_xngtq_irbqiddm?_~_AazVaCyVmCOV
iTLMI_NMK?tG`E?CIaGnav_vihcdI_hrI_xngtq_irbqiddm?_~_AazVaCyVmCOV
.kCHp??hH`O?CIaDmisdqI_o`isgmi`ldI_neI_chiqdbisnqax_san_bi`s`iknf
kCHp??hH`O?CIaDmisdqI_o`isgmi`ldI_neI_chiqdbisnqax_san_bi`s`iknf
.?y_aIzOE?c?zGHY?[lbggOEcKhOooCpqAo?`GHc?[liggOEcKkbggOEc?hkpNhPN
?y_aIzOE?c?zGHY?[lbggOEcKhOooCpqAo?`GHc?[liggOEcKkbggOEc?hkpNhPN
.?anayCOEMcOObEcG?anaG?iH`m?j?proC?SH`w?y_CczIaOQiDEH_WayYCOEAcyO
?anayCOEMcOObEcG?anaG?iH`m?j?proC?SH`w?y_CczIaOQiDEH_WayYCOEAcyO
.bEcOqggO_EckqbgO_EchoHphK?\HPA?CIa@kiog`iadsihb`ak_kihrsihmfA_gZ
bEcOqggO_EckqbgO_EchoHphK?\HPA?CIa@kiog`iadsihb`ak_kihrsihmfA_gZ
.gX\_gnq__Mh_?~_aIz@MAcy@kKOpEyl@bMcOGaMayM@MKcOabmaCj@KO?o?ACIE?
gX\_gnq__Mh_?~_aIz@MAcy@kKOpEyl@bMcOGaMayM@MKcOabmaCj@KO?o?ACIE?
.QCaKihrsI_snI_oqihmsgdq~A_gXInZM_\h_Aaz@_Mc?@xIGE?l@bMcOGaXayM@M
QCaKihrsI_snI_oqihmsgdq~A_gXInZM_\h_Aaz@_Mc?@xIGE?l@bMcOGaXayM@M
.KcOabxaCjOEO@pyy_CczIaOQ?bpaFyyf?gxh?zawGoMaIyVCoOvxG?AIQI?KkUOo
KcOabxaCjOEO@pyy_CczIaOQ?bpaFyyf?gxh?zawGoMaIyVCoOvxG?AIQI?KkUOo
.G?KIPK?o?pooAo?rCIU?PyyyqggK?tckgVChEylOlECyofgp?qhyWyCcAzaO_Qbo
G?KIPK?o?pooAo?rCIU?PyyyqggK?tckgVChEylOlECyofgp?qhyWyCcAzaO_Qbo
.Aa?xCI_?P??UKIgBjKUOjKUGApyCaBgKbUhOAoyHIgKUKhOoC?_IpqBo?qoo@o?v
Aa?xCI_?P??UKIgBjKUOjKUGApyCaBgKbUhOAoyHIgKUKhOoC?_IpqBo?qoo@o?v
.KIsBYl@KyLCBIgKUKhNosCot?oooK?FIq{BO_BcggKUhyOOEBc?q?IEC[lhggOBc
KIsBYl@KyLCBIgKUKhNosCot?oooK?FIq{BO_BcggKUhyOOEBc?q?IEC[lhggOBc
.IgKU?hkpNhPN?anayCOBAcgKbUhOgOBcIgKUKhGa?na??DJOEClCaBgKbUhOKoCp
IgKU?hkpNhPN?anayCOBAcgKbUhOgOBcIgKUKhGa?na??DJOEClCaBgKbUhOKoCp
.?ppoG?UJ@YC@kDOpo@ptFyliIgCMAcgKaUkHIgKU?hhk_DkpKhOaB_aCgCMcIgKU
?ppoG?UJ@YC@kDOpo@ptFyliIgCMAcgKaUkHIgKU?hhk_DkpKhOaB_aCgCMcIgKU
.GkHggKUhNhOiIgCMAcgKaUkHIgKU?hhkApkDoHphJyDO?pooG?\J@cCAaD?z?JmC
GkHggKUhNhOiIgCMAcgKaUkHIgKU?hhkApkDoHphJyDO?pooG?\J@cCAaD?z?JmC
.gOEcyOOBAcgKbUhGgCMcIgKUGkHggKUh@h?D?JwCOopo?oo?QPJAICKUyOKUoHp?
gOEcyOOBAcgKbUhGgCMcIgKUGkHggKUh@h?D?JwCOopo?oo?QPJAICKUyOKUoHp?
.QuJKGCHggKUhwOHggKUhoGpyWlHggKUhyPCBIgKUKhCp?otoC?{J`UCpK?WJpOFy
QuJKGCHggKUhwOHggKUhoGpyWlHggKUhyPCBIgKUKhCp?otoC?{J`UCpK?WJpOFy
._CczIaNOgDM_AazO_EczAakSiCHQBa?_KJYFkHOoK?gJpcFyCyy?r{JmEFyC?cza
_CczIaNOgDM_AazO_EczAakSiCHQBa?_KJYFkHOoK?gJpcFyCyy?r{JmEFyC?cza
.iQD@_C_aIzOE?c?PKKwFWCKp@cyqI_QDg@C_iM@LaD?E?KAGQyaCghq|?_azgOEc
iQD@_C_aIzOE?c?PKKwFWCKp@cyqI_QDg@C_iM@LaD?E?KAGQyaCghq|?_azgOEc
.CyyyQq_RiGNVI_ETgKK_iO@SiGM@gLD_gNE_iCHQiDBSiNQXG?gK@KGC_KqcFyyg
CyyyQq_RiGNVI_ETgKK_iO@SiGM@gLD_gNE_iCHQiDBSiNQXG?gK@KGC_KqcFyyg
.GgKqAckV_ChyOq__iQD@aC_SiHSK`D?N?KUGWCKr@cyyqggK?rckgVChCyq_I_QD
GgKqAckV_ChyOq__iQD@aC_SiHSK`D?N?KUGWCKr@cyyqggK?rckgVChCyq_I_QD
.g@C_iAK@gMJ_iKHM`D?f?K_GWCKsAcgH@hyqiQD@aC_EiHKD`R?{?KiGWlKsAcgH
g@C_iAK@gMJ_iKHM`D?f?K_GWCKsAcgH@hyqiQD@aC_EiHKD`R?{?KiGWlKsAcgH
.KhOaLaCj?qpqBo?z?KnGYlCBIgKUMhNLlCCyIaSnan_li`mxI_chiqdbisnqihdr
KhOaLaCj?qpqBo?z?KnGYlCBIgKUMhNLlCCyIaSnan_li`mxI_chiqdbisnqihdr
.I_hmI_sgghr_ichqidbsinqx@ayj?qppAo?B?LsG[lig_KscGgHh?kpw?krhqOaC
I_hmI_sgghr_ichqidbsinqx@ayj?qppAo?B?LsG[lig_KscGgHh?kpw?krhqOaC
.gHQayCCMAcgKaUkCaBgK_Uhh{Oig_KscGgHh?kqk?pthIyCBIgKUMhOCaBgKbUhG
gHQayCCMAcgKaUkCaBgK_Uhh{Oig_KscGgHh?kqk?pthIyCBIgKUMhOCaBgKbUhG
.Ap?|?L}GmHOHoGpyZlHNjLECQyaSgnn_il`max_eihkdar_ham_sighrI_chiqdb
Ap?|?L}GmHOHoGpyZlHNjLECQyaSgnn_il`max_eihkdar_ham_sighrI_chiqdb
.isnq_xayOjqp?ro?QFL?CGjq?owoC?bL`GGC_KtcCyq_iQD@aC_AiKNBaJ_BiNTM
isnq_xayOjqp?ro?QFL?CGjq?owoC?bL`GGC_KtcCyq_iQD@aC_AiKNBaJ_BiNTM
.`S?wGLQGWyCcAzaBiKNR_D_aIzOEBc?AGL[GmHOHoHp?qaLeEGl@mKLHrNoCOoso
`S?wGLQGWyCcAzaBiKNR_D_aIzOEBc?AGL[GmHOHoHp?qaLeEGl@mKLHrNoCOoso
.?ooyYqRNgQS_iQDBiNQCbR?|GLoGZ@IOMo@HFyygGgKsAcgIAhkV_ChyOA?BGMyG
?ooyYqRNgQS_iQDBiNQCbR?|GLoGZ@IOMo@HFyygGgKsAcgIAhkV_ChyOA?BGMyG
.Op?YCMwJQq_EiD@SiTQDaR_SaN_@gCCyG??MpAJq?__pAm_@iKOGi@ADiSHBg@K_
Op?YCMwJQq_EiD@SiTQDaR_SaN_@gCCyG??MpAJq?__pAm_@iKOGi@ADiSHBg@K_
.iKHRiSHMaF_NiOSHgNM?RDMKCJq_?_qmI_RDi@QBaG_EgNQ_a@_EiHKDiM@L_Dk_
iKHRiSHMaF_NiOSHgNM?RDMKCJq_?_qmI_RDi@QBaG_EgNQ_a@_EiHKDiM@L_Dk_
.iRGNiVHMaF_@gKK_iL@SiBGDaR_HaM_BiTQQiDMSI_SQgDD?RlMUCJq_?_rmI_@A
iRGNiVHMaF_@gKK_iL@SiBGDaR_HaM_BiTQQiDMSI_SQgDD?RlMUCJq_?_rmI_@A
.iHKHgSX_gSN_iRDSI_BTiQQDgMS_iOQDiEHWK?eMp_Jq?__sAm_@iAHKiHSXI_SN
iHKHgSX_gSN_iRDSI_BTiQQDgMS_iOQDiEHWK?eMp_Jq?__sAm_@iAHKiHSXI_SN
.I_ROiDBHgEX_iBTQiQDMaS_Oi@SGiM@LaD_SaN_Bi@S@iKNFK?wMQ_NLwOHyWyCc
I_ROiDBHgEX_iBTQiQDMaS_Oi@SGiM@LaD_SaN_Bi@S@iKNFK?wMQ_NLwOHyWyCc
.AzaEgQDa??KNQiNL{ORgkLJq@hylkLOosCp?@YNsJNIOAoyJzOHH_L?aCN}NmGOI
AzaEgQDa??KNQiNL{ORgkLJq@hylkLOosCp?@YNsJNIOAoyJzOHH_L?aCN}NmGOI
.G?ONqGNUzOGG`LylqigK?scg_Ghk?qkpBthPqigK?scg_Uhk?qkpBthC?sovAo?u
G?ONqGNUzOGG`LylqigK?scg_Ghk?qkpBthPqigK?scg_Uhk?qkpBthC?sovAo?u
.KNQNbScO_KscGgGhGyKsAcgGMhOK?scg_Uhy_KscGgUhwOScC?JNq[NGzOGH`Lyl
KNQNbScO_KscGgGhGyKsAcgGMhOK?scg_Uhy_KscGgUhwOScC?JNq[NGzOGH`Lyl
.nGNOKoCs?osoC?^NqeNIzOIG@pylmINJoCso?po?RhNoCNjs?oroK?ANQGRLyOCB
nGNOKoCs?osoC?^NqeNIzOIG@pylmINJoCso?po?RhNoCNjs?oroK?ANQGRLyOCB
.IgKUKhHpEyyC?czaiEQDBa?UCNQRnLORJgLJ?qhyZlLOLoCpK?lNQ[RIoOoykJOg
IgKUKhHpEyyC?czaiEQDBa?UCNQRnLORJgLJ?qhyZlLOLoCpK?lNQ[RIoOoykJOg
.gCBggKUhoHphwHL?ptNeJRGO_I?XCOoRmUOGwGLyYlCMAcgKaUkGMhPC_McggKUk
gCBggKUhoHphwHL?ptNeJRGO_I?XCOoRmUOGwGLyYlCMAcgKaUkGMhPC_McggKUk
.bUhC?tovAo?JCOyRbScOgCMcIgKUGkGhIyCMAcgKaUkGMhOC_McggKUk_UhygCMc
bUhC?tovAo?JCOyRbScOgCMcIgKUGkGhIyCMAcgKaUkGMhOC_McggKUk_UhygCMc
.IgKUGkUhwOScG?_OqCRGzOGH`LylnGNOKoCt?osoG?sOqMRIzOIG@pylmINJoCto
IgKUGkUhwOScG?_OqCRGzOGH`LylnGNOKoCt?osoG?sOqMRIzOIG@pylmINJoCto
.?po?b}OWCRjt?oro????od??
?po?b}OWCRjt?oro????od??

BSAVE FULLCAT,A$1000,L$087F
E00G