TD`€5R[En 6/Altos Series 5 CP/M version 2.20 (from orig 5 1/4" DSQD disk) 4÷O!Øù"pzÓ !oí³:nöˆÓþÛæ� :(9*p "pzþ 8ÒÛË÷Ó>2nÃá##åûíM#Hóv*~}Ó |Ó Ãîyÿ…χlCG Àåå}Ãà™à¥à«à±àë"Cãë{2Öí!"Eã9"ã1Aã¯2àí2Þí!tíåyþ)ÐK!Gà_^#V*CãëéîÈâ�áÎâîîÔâíâóâøâááþâ~ìƒìEìœì¥ì«ìÈì×ìàìæìììõìþìí íí,åíí&í-íAíGíMíìSíãã›í!ÊàÍåàþÊÉ!Õàôà!áàôà!ÜàÍåàÃBdos Err On : $Bad Sector$Select$File R/O$åÍÉá:BãÆA2ÆàºàÍÓáÁÍÓá!ã~6·Àà îÍûàÍáØõOÍ�áñÉþ Èþ Èþ ÈþÈþ É:ã·ÂEáÍîæÈÍ îþÂBáÍ îþʯÉ2ã>É: ã·ÂbáÅÍ#áÁÅÍ îÁÅ: ã·ÄîÁy! ãþÈ4þ Ð5~·ÈyþÂyá5Éþ À6ÉyÍáÒ�áõ^ÍHáñö@Oyþ ÂHá ÍHá: ãæ–áÉͬá Í îà î#ÍHáÍÉá: ã! ã¾Ð ÍHáùá ÍHá ÃHá þ$ÈÅOÍ�áÁÃÓá: ã2 ã*CãN#åÅåÍûàæáÁþ ÊÁâþ Ê·Ã\ÛÃXÛ ©RIGHT (C) 1979, DIGITAL RESEARCH %ÿØ_ÃÅÍŒØÁÉ> Í’Ø> Ã’Ø> Ã’ØÅ͘Øá~·È#åÍŒØáìØ Ã_ÃÍ2îß<ÉÃÃØ¯2íßÍßÃËØÃÃØÃÃØÃÃØÍßÃߨÃÍ·ÉÃôØÍßÃùØÃôØÃÃØÃÿ ÃÍÙ‡‡‡‡!ïß¶2É:ïß2ÉþaØþ{Ðæ_É:«ß·Ê–Ù:ïß·>ĽØ¬ßÍËØÊ–Ù:»ß=2Ì߬ßÍùØÂ–ÙØ!€€ÍBÜ!ºß6#5¬ßÍÚØÊ–Ù:ï߷ĽØ!ØyͬØÍÂÙʧÙÍÝÙÂÛÍÝÙÍÙ ØÍÍ)Ù!ØF#x·ÊºÙ~Í0ÙwëÙw!Ø"ˆØÉ Í·ÈÍ·ÉÀÃ!«ß~·È6¯Í½Ø¬ßÍïØ:ïßýØ(Û!à¾ÂÁÏÿÁâþÂâx·Êïá: ã2 ãÃpâþÂ&âx·Êïá~+éâþÂ7âÅåÍÉá¯2 ãÃñáþÂHâå! ã>–wáÃïáþÂ_âá: ã! ã¾Òáá5ͤáÃNâþÂkâͱááÃááþ¦âÅͱáÁáåÅx·ÊŠâ#NÅåÍááÁÃxâå: ã·Êñá! ã–2 ãͤá! ã5™âÃñá#wÅåOÍááÁ~þx½âþʹÚïááp ÃHáÍáÃãÍîÃãy<Êàâ<Êîà îÍî·Ê‘íÍ îÃã:Ãã!qÉëMDÃÓáÍ #á2EãÉ>Ããº! à^#Vëé Èw#ÃPã:BãOÍî|µÈ^#V#"³í##"µí##"·í##ë"Ðí!¹íÍOã*»íë!ÁíÍOã*Æí|!Ýí6ÿ·Ê�ã6>ÿ·ÉÍî¯*µíw#w*·íw#wÉÍ'îûãÍ*î·È! àÃJã*êíÍêä"åí"ìí!åíN#F*·í^#V*µí~#foy“xšÒúãå*Áí{•_zœWá+Ãäãå*ÁíÚkÏÛ#ÂýÙÉ͘Ø*ŠØ~þ Ê"Ú·Ê"ÚåÍŒØá#ÃÚ>?ÍŒØÍ˜ØÍÝÙÂÛ·Èþ Ú ÚÈþ=Èþ_Èþ.Èþ:Èþ;Èþ<Èþ>ÈÉ·Èþ ÀÃOÚ…oÐ$É>!ÍßÍYÚåå¯2ðß*ˆØëÍOÚë"ŠØëá·Ê‰ÚÞ@Gþ:Ê�Ú:ïßwÖÚx2ðßpÍ0ÚʹÚ#þ*©Ú6?ëÚw˜ÚÍ0ÚÊÀÚïÚ#6 ¹Úþ.ÂéÚÍ0ÚÊéÚ#þ*ÂÙÚ6?ÃÛÚwÂÈÚÍ0ÚÊðÚÃßÚ#6 ÂéÚ#6ÂòÚë"ˆØá #~þ? Û ÂÛx·ÉDIR ERA TYPESAVEREN USER}!ÛyþÐÎß¾ÂOÛ#Â<Ûþ ÂTÛyÉ#ÂOÛ Ã3Û¯2Ø1«ßÅyæ_ÍÙ͸Ø2«ßÁyæ2ïßͽØ:ط˜Û1«ß͘ØÍÐÙÆAÍŒØ>>ÍŒØÍ9Ù€ÍØÙÍÐÙ2ïßÍ^ÚÄ Ú:ðß·Â¥ÞÍ.Û!ÁÛ_~#foéwÜÝ]Ý­ÝÞŽÞ¥Þ!óv"Ø!ØéßÛçØREAD ERRORðÛçØNO FILEÍ^Ú:ðß·Â'äy•xœÚäëá#ÃúãáÅÕåë*ÎíDMÍîÑ*µís#rÑ*·ís#rÁy“OxšG*ÐíëÍ0îMDÃ!î!ÃíN:ãí· ÂEäG>–O:âí Ê\ä·ÃSä€É*Cã :Ýí·Êqän&É ^#VëÉÍ>äOÍ^ä"åíÉ*åí}´É:Ãí*åí)=Â�ä"çí:ÄíO:ãí¡µo"åíÉ*Cã É*Cãë!ÉÍ®ä~2ãíë~2áíͦä:Åí¦2âíÉÍ®ä:ÕíþÂÞä¯O:ãí�wë:áíwÉ È|·g}oÃëä€*¹í¯†# ÂýäÉ È)ÃåÅ:BãO!ÍåÁyµox´gÉ*­í:BãOÍêä}æÉ!­íN#FÍ å"­í*Èí#ë*³ís#rÉÍ^å ~Ð!àÃJãÍåÈ! àÃJã*¹í:éí…oÐ$É*Cã~ÉÍiå6ÉÍiåö€wÉ*êíë*³í{–#zžÉÍåØr+sÉ{•ozœgÉÿ*ìíë*ÌíÍ•åÐÅÍ÷ä*½íë*ìíÁ ÊÄå¾ÈÍåÐÍ,åÉwÉÍœåÍàå͸ãÃÚåÍàåͲã!±íÃãå!¹íN#FÃ$î*¹íë*±í€ÃOã!êí~#¾À<É!ÿ— Ú!Îß ~þ Ê3Ü#Ö0þ Ò ÚWxæà Úx€Ú Ú€Ú Ú‚Ú ÚG ÂÜÉ~þ  Ú# Â3ÜxÉ~#ÂBÜÉ!€�ÍYÚ~ɯ2Íß:ðß·È=!ïß¾ÈýØ:ðß·È=!ïß¾È:ïßýØÍ^ÚÍTÜ!Îß~þ Â�Ü 6?#ˆÜÕÍéØÌêÛÊÝ:îßæ`O> ÍKÜÚÝÑ{ÕæõÂÌÜ͘ØÅÍÐÙÁÆAÍ’Ø>:Í’ØÃÔÜÍ¢Ø>:Í’ØÍ¢ØxÍKÜæþ ÂùÜñõþÂ÷Ü> ÍKÜæþ ÊÝ> Í’Øxþ ÒÝþ ÂÙÜÍ¢ØÃÙÜñÍÂÙÂÝÍäØÃ˜ÜÑÆßÍ^Úþ ÂBÝRÝͧØÍ9Ù!Ø5‚Û#~þY‚Û#"ˆØÍTÜÍßÍïØ<ÌêÛÆßALL (Y/N)?Í^Ú ÚÍTÜÍÐØÊ§Ý͘Ø!ñß6ÿ!ñß~þ€Ú‡ÝåÍþØá ݯw4!€ÍYÚ~þʆßÍŒØÍÂÙ†ßÃtÝ=ʆßÍÙÛÍfÜà ÚÍøÛõÍ^Ú ÚÍTÜÍßÕÍïØÑÍ ÙÊûݯ2íßño&)|µÊñÝ+å!€åÍØÙÍßÍÙÑáÂûÝÃÔÝÍßÍÚØ<ÂÞÞͧ %ÿ"êíÉ*Èíë*êí#"êíÍ•åÒæÃþå:êíæ‡ æ2éí·ÀÅÍÃãÍÔåÁÞåyæ<_WyæOx‡‡‡‡‡±OxæG*¿í ~ÂVæÉÕÍ5ææþÁ±ÂdæwÉÍ^åÅÑ ÈÕ:Ýí·ÊˆæÅåNÃŽæ ÅN#Fåy°Ê�æ*Æí}‘|˜Ô\æá#ÁÃuæ*ÆíÍêä#DM*¿í6# x±Â±æ*Êíë*¿ís#rÍ¡ã*³í6#6ÍþåÿÍæÍõåÈÍ^å>ð¦ÂÒæ:Aã¾Âöæ#~Ö$Âöæ=2EãÍkæÍŒåÃÒæ:ÔíÃãÅõ:Åí/Gy Oñ ‘æÁÉ>ÿ2Ôí!Øíq*Cã"ÙíÍþåÍ¡ãÍæÍõåÊ”ç*ÙíëþåÊJçÕÍåÑÒ”çÍ^å:ØíOy·Êƒçþ?Ê|çxþ Ê|çþ Êsç–æÂ-çÃ|çÅNÍçÁÂ-ç# ÃSç:êíæ2Eã!Ôí~ЯwÉÍþå>ÿÃãÍTå ÍçÍõåÈÍDåÍ^å6åÍkæÍÆåÍ-çäçPYy°ÊÑç ÕÅÍ5æÒìçÁÑ*Æí{•zœÒôçÅÕBKÍ5æÒìçÑÁÃÀç<ÍdæáÑÉy°ÂÀç!ÉéµÿØÍÕÙÆßNO SPACEÍ^Ú Ú:ðßõÍTÜÍéØÂyÞ!ÍßÝßÍBÜ*ˆØëÍOÚþ=Ê?Þþ_ÂsÞë#"ˆØÍ^ÚÂsÞñG!ðß~·ÊYÞ¸pÂsÞp¯2ÍßÍéØÊmÞÍßÍÙÆßÍêÛÆßÍfÜà Ú‚ÞͧØÃ†ßFILE EXISTSÍøÛþÒ Ú_:Îßþ Ê ÚÍÙÉßÍõÙ:Îßþ ÂÄÞ:ð߷ʉß=2ïßÍ)ÙͽØÃ‰ßÖßþ  ÚÕÍTÜÑ!ƒßÍ@ÜÍÐØÊkß!åëÍØÙÍßÍùØÂßá€Ø}“|šÒqßÜáÞá=ÂqßÍfÜÍ^Ú!ðßå~2Íß>Í`Úá~2Ý߯2íß\!Íß!ÍBÜ!Ø~·Ê>ßþ Ê>ß#Ã0ß�~·ÊOß#ÃCßx2€Í˜ØÍÕÙÍÙÍ1«ßÍ)ÙͽØÃ‚ÛÍfÜà ÚzßͧØÃ†ßBAD LOADCOMÍfÜÍ^Ú:ÎßÖ !ðß¶Â ÚÂÛ $$$ SUB$ £ÿ Õ*Cã ëÍ^åÁÍOãÍÃãÃÆåÍTå Íç*Cã~wÍõåÈÍDå ÍèÍ-çÃ'è ÍçÍõåÈ ÍèÍ-çÃ@èÍçÍõåÈͦä~õåÍ^åë*Cã ÕÍOãÍxåÑ! N!Fáñwy¾xÊ‹è>Ú‹è>€*CãwÉ~#¶+Àw#w+ɯ2Eã2êí2ëíÍåÀÍi忀ÀÍçÍõåÈÍ^å ë*Cã :Ýí·Êèè~·ÂÛèw·Âáè~¾ÂéÃýèÍ”èëÍ”èë¾Âé#¾Âé # ÂÍèìÿ ë ¾Úéw ë ~>ÿ2ÒíÃè!Eã5ÉÍTå*Cãå!¬í"CãÍçÍõåá"CãÈë!¯w# ÂFé! wÍŒåÍýçÃxå¯2ÒíÍ¢èÍõåÈ*Cã ~<æwʃéG:Åí !Òí¦ÊŽéìé 4~æʶéÍçÍõå¬é:Óí<ʶéÍ$éÍõåʶéïéÍZèÍ»ä¯ÃãÍãÃxå>2Õí>ÿ2ÓíÍ»ä:ãí!áí¾Úæéþ€ÂûéÍZé¯2ãí:Eã·ÂûéÍwäÍ„äÊûéÍŠäÍÑãͲãÃÒäÃã>ç2Õí>2ÓíÍTå*CãÍGåÍ»ä:ãíþ€ÒãÍwäÍ„äÂnêÍ>ä2×í·Ê;êO Í^äDM;ç}´ÂHê>Ãã"åíë*Cã :Ýí·:×íÊdêÍdåsÃlêO s#r:Eã·ÀÅÍŠä:Õí==»êÁÅy==»êå*¹íWw#òŒêÍàå*çí"åíÅÍÑãÁ͸ã*åí:ÄíG¥¸#šêá"åíÍÚåÍÑãÁÅ͸ãÁ:ãí!áí¾ÚÒêw4!ØõÍiåæwñþÂë:ÕíþÂëÍÒäÍZé!Eã~·Âþê=2ãí6ÃÒä¯2ÕíÅ*Cãë!!~æõ~#~æO~æGñ#n,-.‹ë! w! y–ÂGë!x–æÊëÅÕÍ¢èÑÁ.:Eã<Ê„ë! q!pÍQè:Eã<ÂëÁÅ. Ê„ëÍ$é.:Eã<Ê„ëÁ¯ÃãåÍiå6ÀáÁ}2EãÃxåÿÍëÌÁéÉÍëÌêÉëN! ~æ€�O>ˆG~æ€G!~‡‡‡‡õ€Gõá}áµæÉ Íç*Cã!år#r#rÍõåÊ ìÍ^åÍ¥ëáå_y–#xž#{žÚC“P00€ß=2ïßÍ)ÙͽØÃ‰ßÖßþ  ÚÕÍTÜÑ!ƒßÍ@ÜÍÐØÊkß!åëÍØÙÍßÍùØÂßá€Ø}“|šÒqßÃáÞá=ÂqßÍfÜÍ^Ú!ðßå~2Íß>Í`Úá~2Ý߯2íß\!Íß!ÍBÜ!Ø~·Ê>ßþ3»ÿìs+p+qÍ-çÃäëáÉ*Cã Í¥ë!!q#p#wÉ*¯í:BãOÍêäåëÍYãáÌGã}Ø*¯íMDÍ å"¯íãæ:Öí!Bã¾ÈwÃ!ì>ÿ2Þí*Cã~æ=2ÖíþÒuì:Bã2ßí~2àíæàwÍEì:Aã*Cã¶wÉ>"Ãã!"­í"¯í¯2Bã!€"±íÍÚåÃ!ìÍråÍQìÃQèÍQìâèë~þ?ÊÂìͦä~þ?ÄråÍQìÍçÃéå*Ùí"CãÍQìÍ-çÃéåÍQìÍœçÃçÍQìüéÍQìÃþéÍråÍQìÃ$éÍQìÍèÃç*³¯íÃ)í:BãÃãë"±íÃÚå*¿íÃ)í*­íÃ)íÍQìÍ;èÃç*»í"EãÉ:ÖíþÿÂ;í:AãÃãæ2AãÉÍQìÓëÍQìÜëÍQìÃÒë*Cã}/_|/*¯í¤W}£_*­íë"¯í}£o|¢g"­íÉ:Þí·Ê‘í*Cã6:àí·Ê‘íw:ßí2ÖíÍEì*ãù*Eã}DÉÍQì>2ÕíÍëÌêÉå€'õ±e Ê>ß#Ã0ß�~·ÊOß#ÃCßx2€Í˜ØÍÕÙÍÙÍ1«ßÍ)ÙͽØÃ‚ÛÍfÜà ÚzßͧØÃ†ßBAD LOADCOMÍfÜÍ^Ú:ÎßÖ !ðß¶Â ÚÂÛ $$$ SUB'ÿÃà™à¥à«à±àë"Cãë{2Öí!"Eã9"ã1Aã¯2àí2Þí!tíåyþ)ÐK!Gà_^#V*CãëéîÈâ�áÎâîîÔâíâóâøâááþâ~ìƒìEìœì¥ì«ìÈì×ìàìæìììõìþìí íí,åíí&í-íAíGíMíìSíãã›í!ÊàÍåàþÊÉ!Õàôà!áàôà!ÜàÍåàÃBdos Err On : $Bad Sector$Select$File R/O$åÍÉá:BãÆA2ÆàºàÍÓáÁÍÓá!ã~6·Àà 1îÍûàÍáØõOÍ�áñÉþ Èþ Èþ ÈþÈþ É:ã·ÂEáÍîæÈÍ îþÂ0÷IÃbîÃî>Éà îÃ2ïÉÃîÃîÃWïÃSïÃlïÄïòïÃÊï>É>É÷ï ïÍàóvCBIOSxx COM ÿBïôð1د22!^î|íGÛ GæçöÓ x!Øí°Ó  Íà îîÍà*ðî"Cî"ï=îÍàþÿ(ˆÕÍà=îÍàÑ· !€ëç!;ñ€í°!àîží°Ãž!îí°Ãî 64K Altos Loader 2.25f$ CBIOSxx.COM not found on cold boot disk.$>Ó/Û/æ þ ôyÓ.ÉõÛ2Qï>ÿ2RïñûíMÿ!+ñÉý*)ðݤ!ñÍ1ðÍ@ðÍlïÉý*)ðý~=(¯Ë8ËíC+ð2-ðÉý*)ði`ýN·íB}ý^(Ë<Ë÷ ".ðý¦g.Ë<Ë"/ðÉíC'ðÉë|µ( n&Éý*)ðýn Éý*)ðÝ!�ñÝVÝ^*+ð·íR ÝVÝ^*-ð·íR(‘ñ!+ðí°Í1ðÍRðÍ ÝÝÿBáÍ îþʯÉ2ã>É: ã·ÂbáÅÍ#áÁÅÍ îÁÅ: ã·ÄîÁy! ãþÈ4þ Ð5~·ÈyþÂyá5Éþ À6ÉyÍáÒ�áõ^ÍHáñö@Oyþ ÂHá ÍHá: ãæ–áÉͬá Í îà î#ÍHáÍÉá: ã! ã¾Ð ÍHáùá ÍHá ÃHá þ$ÈÅOÍ�áÁÃÓá: ã2 ã*CãN#åÅåÍûàæáÁþ ÊÁâþ ÊÁâþÂâx·Êïá: ã2 ãÃpâþÂ&âx·Êïá~+éâþÂ7âÅåÍÉá¯2 ãÃÕñáþÂHâå! ã>–wáÃïáþÂ_âá: ã! ã¾Òáá5ͤáÃNâþÂkâͱááÃááþ¦âÅͱáÁáåÅx·ÊŠâ#NÅåÍááÁÃxâå: ã·Êñá! ã–2 ãͤá! ã5™âÃñá#wÅåOÍááÁ~þx½âþʹÚïááp ÃHáÍáÃãÍîÃãy<Êàâ<Êîà îÍî·Ê‘íÍ îÃã:Ãã!qÉëMDÃÓáÍ#á2EãÉ>Ãã#�ÿmðÍ…ðÍŒð·À*/ðýNÝVÝ^ í['ð€í°¯É#ññýF>°Óý~ 2äðɯýw:äðö ÍÍðæÈ>Éý~ÓÝ~ýwÓ:äðöÍÍðæÈ>ÉÝ~ýw2ãðGÛæ¿°ÓÉÝ~ýwÉÝVÝ^ýfýn+íSëð"íð>2åðý~Ó!æðí³:ãðöˆÍÍðæ�GÛæ °È!åð5 Û>ÉõÛ8úñ!Rï6Ó¯¾(ý:QïÉÃ(Šy…Ï¿‡ñ‡ñZñ;*ñññ#ñP ñ+ñ�ñxñò]òG  7^ñxñ     $³±À@�ò7 ½gsSUBMIT COM XSUB COMED COM4ASM COM@DDT COM& PIP COM: LOAD COM STAT COM) DUMP COMDISKSTATCOM DISKDEF LIB1MFORMAT COM CBIOS64 COMCPMSETUPCOMDUMP ASM!COPY COM¨åå-BOOTCOPYCOMðåå¨åå¨åå¨åå¨åå ¨åå¨åå *¨åå¨åå¨åå¨åå¨åå>Ãß copyright(c) 1977, digital research $Error On Line $SUBNo 'SUB' File Present$Disk Write Error$Command Buffer Overflow$Command Too Long$Parameter Error$Invalid Control Character$Directory Full$Cannot Close, Read/Only?$!9"ð!“ùÍÌÍŠÍþ͇É!Ýp+q*Üë ÍŠÉ!àp+q*ßëÍ�2ÞÉ!âp+q*áëÍ�2ÞÉ!äp+q*ãëÍŠÉ!æp+q*åëÍ�É!èp+q*çëÍ�É!êp+q*éëÍ�2ÞÉ!ïs+p+q+ÑÁp+qÕ:ï=2ïþÿʦ*ëå*íÁ w*ë#"ë*í#"íÃÉ!óp+q(Í÷+Í÷¶Í÷*òDMÍ÷*ðùÉ�ÅôÍp*€&ô 6:ÅeÍp\Í:ÞþÿÂ=¨åå µͧ!t6€É>!t¾Ò%\Í=þÊ >É!t6:t<2t=O!€ ~2uþ Âb:¸<2¸O>9¹Òb!¸60+~9¹Òb!·60+4:uÖaþÒt:uæ_2u:uÉ»ÍMþʉSͧÉ!v6!"v!|6:|Ò€!x6Í 2}ÖÆÿŸõ:}Ö ÆÿŸÁH¡Òk:}þ Êh:}þ$Â6Í 2}þ$Âæ*}MÍÄÃ3:}Ö02}O> ¹Òþ�ͧÃ3!z6Í­:}þÊ"!}5Í�ÒÃÍ­ÃÍ�Ò3*yMÍÄÃ"Ãh:}þ^ÂaÍ Öa2}O>¹ÒV�ͧÃ^:}É>É*z&ô ~þ ÂÃ!z4íÉ!{q*v#"vÿÍ™ÒÞdͧ*vv :{w:x<2xO>}¹Òý|ͧÉ»¨åå &êÅ Í-!Û6»Í]:Þþÿ·ͧÍz2~þÊe:~2€O!� 6*~&‚ 6$>!~¾Ò_Íz*~&€ w!~5ÃBÍxûÍ:ÞþÿÂyÆͧÉ*v+"vv ~ÉÃÃÃÍÉÉÉ_{•ozœgÉ 001 $$$$ SUB€åå¨åå¨åå ¼ÃW Extended Submit Vers 2.0Xsub Already Present$Requires CP/M Version 2.0 or later$Å:þÂy*###۾ƒ# ÊyÃk ÍÁÉ Íþ Ò— 4ÍÁÉ!~=ÖÁÅ�WÕ!x±Êµ ~#èÑÁåbx±Ê× {æÂÊã~#ão}oÒÓ„ùÑ.éxsubbÉ!np+q*mëÍ2_É!pp+q*oëà ÉÃ]xsub*"-!/"*"+!"á"¼éÃÉ1Þ MÍ*!€"ºÍ�!"*¼é (xsub active)$áå|þÿÒ*yþ Ê¥þÂ*ë"ºëÃ*7Í*É*ºëÍ*ÉÅÕÍxÑÁÍ*õÍ�ñÉÍ‹<ÉÕÍ›Ñ Ê Õ:%·Ê*=26Í‹!7^#6 #6 #6$ 8Í*á7¾Úæ~O #w# Âé!6:6=¨åå íß2%·Â Í‹É*-"Ã*$$$ SUBqÕ:(=2(þÿÊN *$å*&Á w*$#"$*&#"&Ã' É!"N*´MÍ^Í7 !)6:¬!)¾Ú¾ *Në*²DM͆ ·ÍÃ2*þÊ­ :*þÊ— ”ͯ *N"Pë*²6:¬2)÷ €*N"N!)€ €$@€BA$! A� ‚"!$"„"€åå¨åå ¨åå¨åå ±¨ååÅÃÀ COPYRIGHT (C) 1979, DIGITAL RESEARCH DISK OR DIRECTORY FULL$FILE EXISTS, ERASE IT$NEW FILE$** FILE IS READ/ONLY **$"SYSTEM" FILE NOT ACCESSIBLE$BAK$$$BAK$$$-(Y/N)?$NO MEMORY$BREAK "$" AT $1mMÍò"m Í×+ë!8s~1m!f6²¨ååîÍ *MÍË ºÍú *!MÍË Íï 1m! 6!6! 6ÍÆ: 2EÍÕÒbͽ!e:d¾Ê\:æðõ:eæÁH±2Í Ãî HÍÕÒ†ͽ:e2!:d2e:!2dûÃî :!þI¬!Š: –ÖŸõ:ÖÖŸÁH¡2 Ò®ÍX:h2iÍÒ�:!þÊ�:!ÖÖŸõ:!ÖÖŸÁH±õ:!ÖÖŸÁH±Ò,!"! 6#~þÂÍï ÍFÃ)Í·ÍX:!þÂÍï ÍXÃ):i!h¾Ò)Í9 ÃÃe:!þÂÊ:h2jO>¹ÒF ÍL>!"ÍŸõ:i!j–ŸÁH¡Ò¼*"+M ~þ ʼͲ!f6!h6!"! 6ÍF!f6:h2k!i¾Ò :i2k:j2h:k!h¾Ò¶Í9 æ:h2j!!6:j2hÃe:!þ >"ÍúµÂáÃõͲ*"M ~2!OÍË :!þ Â*+"¨ååY!!6Ãe*!MÍ› /Ò$^ÍL:!Æ@OÍL:!þ Â2Í‘Ãe:þÂb:!þ ÚL:h<2hÃb:!þ Âb:hæO>‘!h†wÍÙ:!þ ÂpÍX:!þ Â…!!6  ÍLÊ!!6ûô:!þʛ͑:! ¦Ò©Íï Ãî OÍüÒ¸û:!þR†!”6ÍGÍÒá>!”¾ÒÛÃ×ÍÃÈ!!6 :”ÖÖŸ2Ò.t– -Âý•Í? Ã>!”¾ÚÍÃ!6!“6sÍ, !”6€:xþÿÂB!6OÃõÍU2!þÊSÍÙÃB!G6:Òƒ!6:G¾Òƒ*G&¶ ~2!:G<2GÍÙÃ_Ãî QÍüÒ›=Íe Í Ãî Íb:!þ-®ÍÆ! 6:!þ#¿͇ÍÆÃüÍ;ÒÜÍJ:!þ:ÂÙ!!6LÍvÃü:!þ:ÂüÍÆÍJÍv: þÂü*#"ÍŽ¨åå TÒ! 6:!þBÂ)! >–w!"&*o"(ÍRÃî :!þCÂ:ÍeÍRÃî :!þDÂKÍeÍXÃî :!þKÂ\Í·ÍXÃî :!þLÂjÍ^Ãî :!þPšÍŽÒ‡! 6ÍÚÍF×Í¢Ò—ÍïÍ:ÇÃî :!þT¨ÍFÃî :!þU¾: ÖÖŸ2Ãî :!þVÂüÍŽÒî"$ÍíDMÍ©/ÍË *oDMÍ©Íï Ãù: ÖÖŸ2Ãî :!þ Â(:ÖÖŸõ:ÖÖŸÁH¡Ò%Í^ÍbÍFÃî : ÖÖŸõÍŽÁH±Òë :!þAÂy! 6*""&*o"(ÍRÍŽÒaÍnÍ¢ÒnÍÄÃa! 6ÍRÃè :!þF”ÍüÍ¢Ò‘Í ÄÃè :!þJ ÍüÍ$:2Í$Í¢Ò Í :=2:<2!¾ÒÝ*&Ÿ ~2!ÍÙü*""I*M*ëÍo/ÒöÃ×!:–"¨åå ¯uÍú"&! 6ÍR*I""ëÃè :!ÖMÖŸõ:ÖÖŸÁH¡Ò| ! 6ÿ>ÍúµÂF Í›Íeõ: <2 O! ÁHqyþ Êd ÃF : 2! 6å*ëá#s#rÃè :!þNÂÝ ÍüÍ¢ÒÚ *ëÍo/Ò× ÍÄ Ò¦ ÃõÍáͶÍn! 6!"&ÍRÍè! 6o$ÍíÚÔ Ã×ÃŽ Ç Ãè :!þSÂ0 ÍüÍ$Í¢Ò- Í :2"Íúë+s#r!:¾Ò* *&Ÿ ~2!:<2ÍÙà Ãë Ãè :!þWÂ> ÍvÃè :!þX³ ÍZÍŽÒ\ ÍE•Íe ð :7/Òƒ ÍE!76•Íe •Í• :xþÿƒ Í- Í·*&"K(KÍíÚ° *KM NÍ”*K"KÒŒ Ãè :!þZÂÝ ÍŽÒÍ Íó þÂÍ ÃõÍ¢ÒÚ Í:ÃÍ Ãè :!þÊè ÃâÃî ÃâÃ'ûvÍÉ!gqø*ÍíµÆÿŸ22*,ë**"0M õ~Ö ÆÿŸÁH¡Ò3*0"*Ãý*+"*+">ÍãµÆÿŸ23:2/Òk!36,*Ííë+s#rÃx:3Òx*0"*Ãö: þ“**"&*"+"(á*$#"&**#"(É*"#""É*$#"$É*"+""É*$+"$É*#"É!4qM*"å*$å: þÂ*(yÚñ"$ááÉDMáÑ}‘|˜ÒC#~þ  å*#"áÃö*&DMáÑy“xšÒCþ Â1å*+"áõ:4Ò?ñw+ÃñÃÕ³â"$á""ÉÉÍÊÉÍÊÉÍ·ÍRÉ: þ—*$"("ÍíÒˆ!"&Ô"Íí"&ÃÃ*""&$mÍíÍýÚ¸*o"(ÃÃ*ë*$"(É$"ÍíÚÓÃíÍÚOÍ26þÂæÍ›É*"M :6wÍ¢:6þ ÂÍÂÉt:fÒ É*g&ëÍÉ!lq:lþ Ú$ !h4:lþ Â1 !h6*lMÍü É:hþÂB ÉÍ  Í Í !h55É!mq:mÖ ÖŸõ:hæO>‘ÁH¡2nyÒ} !m6 !o6:n!o¾Úš *mMÍ !o4‚ É!pq:pþ Úª >É:pÖ ÖŸõ:pÖ ÖŸÁH±õ:pÖ ÖŸÁH±É!qq*qMÍ› Úç ^ÍW :qÆ@2q*qMÍW É ÍË  ÍË É!sp+q*rë ÍÉ!up+qÍï *tDMÍú É!wp+q*vë ÍÉ!zp+q*yëÍ2xÉ!|p+q*{ëÍ2xÉ!~p+q*}ëÍ2xÉ!€p+q*ëÍÉ!‚p+q*�ëÍÉ!„p+q*ƒëÍÉ!†p+q*…ëÍ2xÉ!ˆp+q*‡ëÍÉ!‰6€‰Í É ÍÒÛ Í>É>ÉÍÉ! q* &ëÍÉ!p+q*ÃÄÉ!7q:Ò*7MÍ’É:7Éo$ÍíÚ+Í›Éͪ*$M ~28OÍm:8þ ÂIÍÂÉÃÉ͇Í¢Òu$oÍíqÍýÚoÍ›ÃrÍÃPÉ! 6!"&*$"(ÍRÍŽÒ”ÍMÍ¢Ò¡ÍÔ($ÍíÒµ! 6ÍRÉ͇ÍvÉͶÍÚ2!þÊÕ*!MÍmÃÀÍËÉ$"ÍíµÂéÃí*"M :!wÍ¢:!þ ÂÍÂÉÍe2!ÖÖŸõ:!Ö ÖŸõ: /ÁH¡ÁH±/ÉÍÒQ:!þ Â@!!6 ÍR!!6 :!þÂKÃâÍRÃ$É*&Ÿ :!w:<2þdÚnÃíÉ!:s+q*$";!>6:>/;oõÍíŸÁH¡Òç*;#"(";:92=*=&Ÿ å*(M Ñ–ÖŸ!:õ:=–ÖŸ2>/ÁH¡Òä:=<2=*(#"(æÀ:>Òø*(+"(ÍR:>É!6ÏëÍÉ:7Ò •Íe ÍÉ!p+q*DMÍ Íï Í É=Í? )Í É!p+q.å*DMFá -ÂL É*9"`!"b!h6!j6!|6.!=\ -Âx !e:d¾Ê¥ *eMÍç \ÍR :xþÿÊ¥ @Í *dMÍç \Í, :xþÿÂ× \Í• :xþÿÂË Í- VÍ Íï Ãù :eÒë _Í Íï Ãù :fÒù wÍ ”Í: =Íe !e:d¾Ê*eMÍç =Íe —Í: =Íe =Í• !]6:xþÿÂ>Í- !"É!76!¡6!µ6!66É*dMÍç ¶Í÷ ÉÍÓ*dMÍç !6:8!¾ÚÏ*`ë*;DMÍ÷ \Íu 2xþÊ»>!x¾Ò¨Í- *`ë*;6:82ÃÅ€*`"`:<2ÂwÍÓÉ!"`É9`ÍíÚéÍh*`ë*;~2þÊ*`#"`¤Í$:2É*ëÍo/ÒÃ×É*!MÍyõ:”<2”=O!s ÁHqÉ*ë*DMÍÉÍ·! 6: þÂe!"*""?Ãk*&"?*?+M ~2AÖ ÖŸõ:hÖÆÿŸÁH¡Ò�Íï *&"?(?ÍíÚÙ:Aþ ½Í8*#"ÍÄ Ò½Ã×*?M ~2AOÍË *?"?Ò•É!"É*"É*"ÉÍáÍÚÍ^: 2B! 6ÍÚÍF:B2 o(ÍíµÖŸõ>&ÍúµÖŸÁH±Ò6Í›Ã9ÍèÉ!C6>!C¾ÚaÍÄ ÒRÃõ>úÍ:C<2CÂ?É! 6!"É͇Í¢Ò�q"ÍíÚŠÍ›Ã�ÍÄÃqÉ!!6 ÍÙ!!6 ÍÙÉ!6*!MÍa2D*!MÍ’2!:D/!¶+wÉ!6Íe2!Í¢É!Eq!E:!–ÖŸõ:ŠÖÖŸÁH¡õ:ÖÖŸÁH¡É!Fq€:É*eMÍç !bÍÓ+ë!s{þÿÂ!ÉÍf!6:!¾Úb*bë*^DMÍ÷ =Í… þÊNÍ- €*b"b:<2Â)ÍfÉ!"bÉ!q9bÍíÚ€Í*bë*^:w*b#"bÉ!q:6þ€Ú¶ÍZ•Í… þʱÍ- !66*6&¶ :w:6<26É!J6*b}æþÊê:J<2JÍmÃÐÍ=Í? :xþÿÂþÍ- šÍ: Í;*dMÍç .=\ -Â=ͨ Í;�Í: *eMÍç =ͨ É.M= -ÂCÉ!q:þÊYÉ*MÍË É!q:ÖaŸ/õ>z!–Ÿ/ÁH¡É!q*MÍaÒŽ:æ_É:É!q:Ò¥*MÍyÉ:É!p+q!'"!6>ÍúµÊ*ë*ͪ{2*ë*ͪ"*ë! ͪë":ÖÆÿŸ!¶Ò! ~Kÿ*FMÍÕÒ8Íï *FMÍü   ÍÍó OÍy2FÍï :FþYÊ5Ã>É>É:!Ö02HO> ‘Ÿ/É!"Í;Òu*)))å*)Á å*H&Á "ÍÆÃPÉÍíÒ˜! 6Ííë+s#ré! 6Íí"ÉDM!>õ)ë—)ë�‘o|˜gÒà ñ=±É^#Vë) ÂÍÉ^#Vë|·g}o Â×É_{•ozœgÉi`N#F‘o˜gÉo&•oœgÉ_{–_z#žWëÉ H Â=ÂÉ+ LIB X$$$$$$$LIB.‹6:Æ0OÍË Ã ÍË ÃºÉ!p+q:/Ò(É*DMÍ©:ÍË  ÍË : ÒI ÍË ÃN*ÍË É*DMÍÉ:þÊaÉÍOÉ>!¾ÒºÍÄ ÒxÃ×!: ¾Ú¦> ÍúµÊ¡* +" >ÍãµÂ¡Ã×! 6: <2 =O! NÍ’É: ÒÉÍó OÍ’É: Ò! 6:hÖÖŸ!¦Òo$ÍíÚúÍÃýÍOÃ*ÍË Í¸ ! 6 ÍË !h6!Š: –ÖŸ2 Ò3* &‹ 6 : <2 =O!‹ NÍ’É*dMÍç €Í÷ É:”þ€ÚsÍGsÍu þÊn>É!”6:”<2”=O!€ NÍ’É!ÿÿ"É>ÍúµÖŸÉ!"ÉÍŽ/Ò´*+">É>É!": þÂß*#"*""*!".+",Ãñ*$"**o".!",!36:3Ò{. 8¨åå¨åå¨ååd•11*"Íà COPYRIGHT(C) 1978, DIGITAL RESEARCH M ð ð !Ãà á ÃÊ Ã4êÃÞü ÃÃ/ÃLÃ9ASMPRNHEX 1 agÐ`!4¾Èw_ÍÉ#~þ ʸ ÞAÉ:4É~ÍÞ~#þ ¼ > ÍÞÉ\ þ?Ê» w#ÂÒ É! ͼ Ã? ÍþÿÀ!¹ͼ ÃÍþ êÿÀ!)ͼ ÃÃÍþÿÀ!Ðͼ Ã:5Í¡ É:6þÈþÉ:6Í¡ É:7Í¡ É:\þ Ê» Í24!dÍ® 25Í® 27Í® 26!8ÍÍ Í( ʃ !YååÍÍ Í1 ÑÍ ÑÍ :7þÊž !zååÍÍ Í8 ÑÍ ÑÍ Ã!"›¯2D2X2#Í! 8Íé É!ãͼ Ãz¼À{½ÉÅÕå*›ÍÄ ÂÍ! !"›!�Åå8ÍáÁ·€Â €€w# Âþ Âç ÃþÒ+6# Â�*›å#"›á~áÑÁÉ!úͼ ÃÅG:6þÊQþxÂJÍÞÃQÕåÍSáÑÁÉ*�ë!Ÿwë#"�ë!ÍÄ ÀÍ1 !"�!ŸY~þÈÅÕ€€~# Â…ÑÕåÍáÑÁ·Â¡ÈÃz!ͼ ÃwÅÕåÍ´áÑÁÉ*Ÿ ë!¡ wë#"Ÿ ë!ÍÄ ÀÍ8 !"Ÿ !¡ zÃzÅÕå_ÍáÑÁÉOÍ4: þ È:6þÈyÍÞÉåÿ?¸þ'  vÃ:P@<° ö!ÓÁÉ Ç˜Þ PP27�Ö (¨îÍ *éÅ"ùëã  NZZ NCC POPEP M ÿ¯x�»ÊÄ_åÕÅåBH!œÑ‰¾#¶ ¦ÁÑá{ÉÁÑáÚÀKÈCȯ<É:‰ÂþJÈÄþCÈÀþRÉ:ˆþÒ þÊòþ !‹6 s!оÂm#¾È Âø ɯ<É:ˆO=_ÕþÒZ!µF!©V#fjQ̓ÂEÑ!º^#Vo&)~#FÉÑÍÇÀÅÍÛxÁÀ·°Gy¿Éѯ<ÉàÃÃnÃ8në!’~þڢͅ6~44O!� s#rÉõ!‘~þ Ú¿6Í…^4ñ!mw!wpÉ!’~·ÂÞÍ…!É55N!� N#fiÉÍÏëÍÏÉo&)^#fkd:„! ·ÊG~Íë#x=Ã2„> Íë> Íë! >x6 #=Â'ÉG! ~þ ÀpÉÍ( ÊO*�}´ÊO>Í4Ã?:7þÊw:#·Ä¸*Ð"!͸*Ÿ }´Êw>ͪÃgÍ( ʆÍ1 YÍú :7þÊ—Í8 zÍú !<ͼ ÃCP/M ASSEMBLER - VER 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES END OF ASSEMBLY ÅG:7þxʘÕõ!#~·Ê„þÚl͸Ä*Ðë*!O {½Â�z¼ÊŠ͸*Ð"!!#^4!$ñwÑÁÉõæͯñõæͯñ‚WÉÆ�'Î@'ê>:ͪ!#^¯Ww*!{Íš|Íš}Íš¯Íš{·Êè!$~#ÍšÂ߯’Íš> ͪ> ͪɵ鉒™Ÿ«¿ÆÐÙàìø…Íìz·Â'{þØÍ…>ɯ•o>œgÉÍìë"k!m6ů{_zW5áÈ>Î)D…*k•OxœGÅÒd ã!m?ÃFDM!¯xGyOÚ‚°ÈÃë)ëÃsÍìÍnÃÍ5ëÃÍ5ÃÍ·Ê)=âÍ·Êõ¯|g}oñ=îÍìÃÍìëÍ-ÃÂÍÏÍ-ÃÍÏ#ÃÓÍìz¤g{¥oÃÍìz´g{µoÃÍìz¬g{­oÓ:…þÀ:‰þ Èþ;Èþ,Èþ!ɯ2‘2’=2l!"ÉÍÂ]!‘~·ÊH5_!m~ÍôÃ0:’þÄ…: þ À*�"ÉÉ: þ Â:…þ‰:ˆ·Ì…þÔ…!‰^#=Ê…VëÃqþ”*†ÃqͦÂ1þÒ&þ O:lµ·Ì…>ÿ2ly÷ÂÅ:‘·ÊÞ_!w~¸ÚÞ!‘s!m~ÍôÁùÁyþ Â!‘~·Êü=w_!m~þ ÊÿÍ…¯qÃ@Ã2ÃÀÍõþ Ê0þ Ê0:„þxÒ0_<2„! ñwÉñÉÍI2 2„> 2 Í>2„ɯ2ˆ2 É!ˆ~þ@Ú_6Í^4#: wÉ~þ$À¯wÉ: Ö0þ æÉÍqÀ: ÖAþæÉ: ÖAþæÉÍ‹ÀÍqÉ: þaØþ{Ðæ_2 ÉÍ 2 Ã-Éþ ÈþÈþ!ɯ2…ÍI: þ Êôþ;Êáþ*Âí: þ ÂíÍ­Í·ÊúÃáö þ ÂúÍ­ÃÇÍ‹Ê>Ã9ÍqÊ>Ã9: þ'Â!¯2 >Ã9þ Â7:Ï·Ä! 6 >2„>2…: 2 ·ÄQÍ­:…þÈþÄž! :…þÂlÍjÊ<Í–ÈÃ<þÂÍjÊ<Í|Â<: þOÊŠþQÂ�>ÖþH >2 ¯2 û: þB­>ôþD> ¸!ˆ52 !"†!ˆN#~#þAÒÒÖ0ÃÔÖ7åÅO! ¾Ô~*†ë!·Ê÷Òñë)ëÃè "†Áá ÂÆºù�ÃͰ>ÿ2lÃyþÊþÂPÍÍLÃnÍRæ>UÌÍX:l·Ì…¯2lÍ“ÍÃ*å>EÍáÉ ÿ¯2ÏÍCÍÍ!"ë "Ð"Ò"í Í:…þʼþÂÝ:‰þ*Â1Í Â|ÃRþÂ|ͦÊ0ÍFÍIÂþÍL:Ï·Ä× Ã ÍRþ Íã ÃR*ë }´ÄÝ *Ö"ë Í:…þ¿:‰þ:¿üþÂ×X!C^#fké[©ÀÞ@‡�§ÎÍ Í:…þÂŒ:ˆ=ÊŒG!‰ʆÅF#åÍH áÁÃvÍÛÍc*É|·ÄÑ EÍH Íùbͺþ,Ê^Ã1Í Í¦ ÍÑë*Ò"Ò"ÐÃ1Í ÍÑåEÍH áDÍH Íùͺþ,ÊÃÃ1Í Í¦ : þ Â1ÍÑ: þ Âú"í > 2 ͨ8É: þ Êþ'Â<Í­þ'ÀÃ<õ>VÃ$õ>OÃ$ÅåÍáÁñÉõ:…þÄžñÉàÃ\ÞØÃëÃ`ÃrÃ�Ö€¥![€¯w#w#Âb!"ÖÉ!ˆF¯#†Âvæ2[ÉG*Ö##~æð°wÉ*Ö##~æ<É*Ö}´ÉÍq!ˆ~þÚ¬6![^![^#fk"Ö͘ÈÍŽ!ˆ¾ÂáG#ë*Ö###¾Âá#ÂÕÉ*Ö^#Vëû!ˆ^*Ë"Öë*Í §:…þÂ|:‰þ Â|ËÃÑÍã ÃÑÍ Ê|*ÒåÍÑ"ÒÍ Í© !6=á"ÒÃ1Í ÍÑ: þ Â1}Ú1Í:…þÂn:‰þ>BÌÊ‹ÃSþÂSͦÂSþÂSxþÂSÃÑÍã Ã1ÍÑ: þ Â1"Ò"ÐÍ Í¦ Ã1Í Ê|ÍRþÄÝ >ÍOÍÑåÍ áÍU!"ë Ã1Íã ÍÃ1Öþ!Ò|_!ë^#fké $8AP`ix�ˆ�ž¥ÍH ÍñÍüÍÍñÍüñÍòþ8Ê1æĽ yæ0°Ã®ÍH ÍñÍò°GÍÍç°Ã®Íò°ÍG ÍÍ ñÍH Í ñÍòæ(Ľ yæ°Ã®ÍH ÍñÍç°Ã®Íò°Ã®ÍòæĽ yæ0°Ã®Íò°Ã®ÍH Í ñÍG Í ÍùÃ1:…þÄÑ :‰þ,Èþ;Èþ ÄÑ ÉÅÍÍc*ÉÁÉÍÑ|·ÄÇ }ÉÍÝþÔÇ æÉÍçæ8OÉÍòæ){•zœëÒA"Ë*Öë![N![ N#Fr+sëq#pˆþÚ/>G=#w#wÂ3¯#w#wÉ!JÍÃSYMBOL TABLE OVERFLOW æðG*Ö##~æ°wÉ*Ö##~æÉÍŽ*Ö_###ÉåÍÑs#rÉÍ^#VëÉÃ`ÃÃÄÔæ‚®½ 4 ½ÝïWm ()*+,-/ABCDEHLMDBDIDSDWEIIFINORSPACIADCADDADIANAANDANICMACMCCMPCPIDAADADDCRDCXENDEQUHLTINRINXJMPLDALXIMODMOVMVINOPNOTORAORGORIOUTPOPPSWRALRARRETRLCRRCRSTSBBSBISETSHLSHRSTASTCSUBSUIXORXRAXRICALLENDMLDAXLHLDPCHLPUSHSHLDSPHLSTAXXCHGXTHLENDIFMACROTITLE  PF FPóû!Û (Έ€Æ  2æ/ ‡N÷ÿĽ yæ0°ÃG ÍÝÃG ÍÑÃt õÅ:…þÂ):‰þ,Ê.>CÍÁñÉÍ :…þÂ|:‰þ ÂJÍüþ;ÂrÍ Í:…þÂR:‰þ ʼþÊ‹þ!ʼÃRþ!ʼþÊ‹>SÍÃR{•ozœgÉ!Ï~4·Ê§Íͦ !6 ! Í*Ëë*ÔÍ„å*Íë*ÔÍ„\áÍiëÍ© !Ö·Êäw#ÃËH USE FACTOR !Í*í "ÐÃz¼À{½É*Ð"ÒìÉ*ë "ÖÍIÉÍ È!"ë :Ï·Â1 ÍRõæÄÝ ñöÍO*ÒÍUÉÍRæÌ× ÍXë*ÒÍóÄ× ÉG:Ï·xÊl ÅÍ: þ *ÒÌ© :ï þÁÒl xÍ– *Ð#"ÐÉåEÍH áDÃH Æ0þ:ØÆÉÍ~ !ï ^4! wÉõæ͆ ñæÆ *Òë!ï å6zÕÍ– Ñ{Í– á4ÉõÅ>RÍÁñÉõå>VÍáñÉõ>DÃæ õ>PÃæ õ>LÃæ õ>NÍñÉ �Í“ Ú !€"Í >-ÍÇ Í¶ ÍÝ þ ÊþÖAÚ« þÒ« _!7^#Vëé~« « Æ« \pÚ « « —Z « « « « œ z à ¿ « « ç « « åÕů2[\Í¢ÁÑáÉÍ“ Ò« Í� =« Íf " Í ÃþÍ“ Ò« Í� Ê»Íf " =Ê»Íf "=« ¯Ã½> 2ÍÃþÍ� ÊåÍf ÚÕ"]æ=ÊåÍf =« Ãð*]}æðo¿"_Í Í Âþ*]"aÍ. ÍÅ ~Í #ÍE Ú}æÂ"]*aëÍÅ Í6 *]}“Â#|’Â#*]ÍE ÚþÃóÍ� þ« Íf åÍf åÍf ÑÁÉ{‘z˜ÉÍA|·Â« ÍWÚþ}ÃdÍ Í� Íf åÍf åÍf DMÑáóÊ¡Ú�"¹æ=Ê¡Ͳ=Ê¡YPͲ1¯ÑÁñáù*¹å*·ûÉõÅ!O~4·ÊÍ#~#F#»ÂÍxºÂÍ~#s#r#w>ÿÁñÉÍ� þ« Íf åÍf ÑåÍ Í. ÍŠᯕo>œgÍ.¼Ã=COPYRIGHT (C) 1980, DIGITAL RESEARCH DDT VERS 2.2$1ÅÅ0 ÍÁ!~=�WÕ!x±Êe ~#ÃXÑÁåbx±Ê‡ {æÂzã~#ão}oÒƒ„ÃiÑ.éÍ2_É!fp+q*eëÍ2_ÉÍ2_É!hp+q*gëÍÉ!jp+q*iëÍÉ!lp+q*këÍÉ!np+q*mëÍ2_É!pp+q*oëÃÃOÃ$*sëÍõyÍ�ñÉþ Èþ Èþ,Èþ ÈþÊ$É Í ÍÉÍŒþ ÊÍÊ9!z6 # ÂL!zwÍŒÍÊj# ÊÃX:zþ ÉÖ0þ ØÆùþØÃ͘=ÂëN#FyÉÍ}ÂÉæ8Éæ0Éë*zë{¾Â¯#z¾È+++ Â¥ ÉÕz¾ÂÊ#½ÑÉ#ÂÊøÿÑ · ÉÅÍ9Ê!`Í Â yÁÉÅÍ9Ê!rÍ·& Ãþ¯2|2\ÍÝ  !]w# Ê« ÍÝ þ.Ê& þ  Ê0 6 #Ã& þ.ÂK !eÍÝ þ ÊK w# Ê« Ã: ÊU 6 #ÃK 6ÃþÍAÍWÚþ w#Ã] !e~æþHÀ#~æþEÀ#~æþXÉë*‡}“|šëÉÍ� Ð"‡Éå!Í� áÉÍ� !ʬ =« Íf åÍkþÿÊ« Íj Êá áå\Í¢á·ÂF €€w# ÂÓ Í‹ ÃÀ Ít þÊ« Þ:Âá WáåÍ& _Í& õÍ& ÁO {·Â `i"¹ÃF Í& Í& w# Í& õÍ‹ ñ« Ãá ÅåÕÍt ÍY æðõÍt ÍY Á°GÑ‚WxáÁÉ Í¢!o ~·ÊZ ÍÇ #ÃN Í *‡Í. ÍÅ *¹Í. Ãþ NEXT PCÍ� =« Íf Í åÍ. ÍÅ á~åÍ ÍŠͶ ÍÝ áþ Ê» þ.ÊþåÍ“ =« Íf |·Â« }áw#Ä ¯ÃÅ >ÿ2LÍ� !ÊÞ =« Íf }´Ê« +"MÍD Ã…ÍÝ þ Âõ ÍD Ãþ !³ ¾Ê #ªÂ yÁÉÍñþÊÉÍñþÊþÀ=É!z{w# Â%þ Âw!PÍ Â yÍ“ÉÍõÍ}ñöÀÉ*w#"ÉÍŒþ Ê@þ.Ê@Í<Ê!¦EÍ·Â~ÃP !ÎÍ·Â’ÍPÍŒÃQ!æͷªÍPÍ}ÍQxÃQ!êÍ·ÂÆÍÛÍ“G@ÍÛ±°ÃQ! Í·ÂÜ yÍ“G€Ã¾!Í·Âô ÍÛÍ“±ÃQ!Í·ÂÍÛÍ“öÍQÍŒÃQ!.Í·Â6yþÚ#ÆGÍÍ™°ÍQæÏþÀà!2Í·ÂQÍŒþÒÍ“öÇÃQ!>Í·Âq ÂeÁÃgÅÍÍ™±ÃQ:zþJÂ�ÍEöËþC–ÍEöÍQyÍQxÃQþRÂÍöÀÃQ*Õë* {•zœÒ·*ùÉÑ~#" É<æþÚÈÆþÚÏÆÆAOÃGæðÆ�'Î@'OÍxæÆ�'Î@'OÃNÍ#Âõ † Âû ë ÍÝ þ « ÅÍ Í ÍŠͶ Í� ·Êþ=« Íf ÁxþÒY |·Â« }þÒ« Íã gA>þÍS ¤Ag}ÍS ´ÃþÈÃS Âi |·Â« }!´wÃþåÍ Ñs#rÃþåÕÅ:[æÊ” _!€~þʦ ![4·Ã§ \Í¢·Â¦ 2[à 7ÁÑáÉÍ >?ÍÇ Ãþ eÍ¢!g"cÉ> åÕÅ_Í¢ÁÑáÉþÈþaØæ_Éå!f~·> Êô 5*c~#"cÍÔ áÉþ Ò Æ0ÃÇ Æ7ÃÇ õæÍö ñæÃö > ÍÇ > ÃÇ ÅÕå Í¢æáÑÁÉë|Í }à þÒ@ þ ÒÇ >.ÃÇ ë*_}“o|šëÉþ Èþ,Èþ ÉÖ0þ ØÆùþØÃ« ë^#V#ëÉë!ÍY ))))µoÍÝ ÍP Âq ëÉs#r#å!V4áÉÍÝ !V6#þ ÊÕ þ,® >€2Vñ Ím Í… þ ÊÕ ÍÝ Ím Í… þ ÊÕ ÍÝ Ím Í… þ « Vþ�Ê« ·Éå!à XN!³~ëáÉÍã Êþ Ãö æ^Ãzæ8É͇O!B NÍ#NÍ ÍÃÍæþ¾SÍPÃÍ.* |ÍÕ}ÍÕ ÍÍÉ!9":·Êq!ÿÿ"<Âq<2* ×ÍžÂ@!~·Êƒ5Ê@* Í¡Í. ÍÍÍ;Í£W!E¾Êý# ¡ ¾Êé# ¬¾ÊÎ# ·æÀþ@Ê´þ€Ê¥zæÇÖÊ–=Ê�=Ê|zæÀÊJzæÊ?ÖÊ4ÖÊ)ÖÊzæ zæO=!9 ÍóÍþŸ!6ÍóÃq!2ÍóÍÍÕÃqCÍÍ ÃÙJÍÍ ÃÙRÍÍ Ãq!zæÊ zæ=ÊnþÚaÖ‡‡O ÍóÍ$ÃqÍóÍ$,ÍÃÙ!ÍóÍ;,ÍÃô!Ù!ÍóÍ;Ãqzæ8O!î ÍóÃÅ!êÍóÍ;,Ízæ;Ãqy‡‡O!Î ÍóÍ£õÍ£Wñ_Í•Ãqy‡‡O!¦ Íóͣ͒Ãqy‡‡ œÉÖ!¾ _^ÿ!»ÉÍ ^#VëÉ~ÍÇ xþÒ+ Íó Íö Éõ>=ÍÇ ñÂ= !´~Í ÉÍ Í. É!³ Í ÅåÍ áÁ#xþ Òf þÚL ÍÅ ÃL ÍÅ Í…õÕÅÍ“ Ò† *¹" !6ÿÍï +"_*¹~Í #ÍE Ú¯ õÍÅ ñ³Ê« ^#VëÍ. ï ~Í ÁÑñÉCZMEIABDHSPöôüúþ!"MÉó"·á+"¹õ!9ñ1·åõÅÕ*¹~þÿõå!O~6·Ê=G#^#V#~xÃó áñÊ(#"¹ë!¨N#FÍWÚ(ÍÈ *Jë>‚·7Ã…û*M|µÊN+"MÍ ÂN:L·ÂHÍ…Ã…ÍD Ã…ÍÈ >*ÍÇ *¹Í“ Òb" Í. *·"]Ãþ !/~ #¾#Ê�ÂtZÉ*¹F#åÍn!Is!œ^#Vëé¸à¸à¾ò&&##&ÍÎÂ)ÍÙÃ):¨»À:©ºÉÁá^#V#åÅÃÄ*µ^#VÉÍÎÊíÁÅ>Ã+ÑÕÃ)xþÿÂü¯Ã-æ8_IO!b ÍóÃq!vÍózÍ’ÃqÍ.?Í*ù!9"Í8"͉ÍZ*" Ã+*ùÉ'/7?vÉãéëóùûÆÎÓÖÛÞæîöþ"*2:ÃÍEI SPHLDI XCHGPCHLXTHLRET HLT CMC STC CMA DAA RAR RAL RRC RLC NOP CPI ORI XRI ANI SBI IN SUI OUT ACI ADI CALLJMP LDA STA LHLDSHLDMOV ADD ADC SUB SBB ANA XRA ORA CMP INR DCR MVI LXI STAXINX DAD LDAXDCX RST PSW POP PUSHNZZ NCC POPEP M B C D E H L M A B D H SP PSW ??= M!EâêÃÏ Ã¶ ÃÝ ÃÇ Ã Ã- Ã� Ãf à Éã"JãÃ*"¨!¢"!"¯2O!" "]"‡"¹!1·å!å++"·åå"M>Ã28!†"9:]þ Êþ!åí 1¯ ™|åÿÃ)*·ëÍÄÂ)þÃ)ÑÕÃ)ÍÙÁÅ>Ã+ÑÕÑÕ><7áÉÿÃÇÂÿÍÇÄÿÉÇÇÿéÇÇÆÏç"ÇÀ÷ÓÍ9Í.ÍþÂYÉÃÛÉ�ͯ É* MÍ^žáÍý2¶áÅUÍ :áæ2á:âæ2â¢ÍêØͳØÍã:_þÿ³¥ͯ !ø6! �@!’!BH @@A‚BH B! "ˆBHI$$’BI$BI „$„’ ’HI f ‚D$��„‘H��„„D$$ H „ B’!$D$ˆ"$’B$�’DA!AB�’I$„�’H B$�’I $’H’I$‘�H$‰! $’I u$’I$„$�’’A !Aªªªªªª @’$’I$‰"!$’H$I$’I ’"! $�‘A$ˆ€’ � H„H��„AA"I @BB‘ „$�„’A"¨ååÔ¯¡$�$$I$’’$H!!! ‰’BH" !I B  �ˆˆ$$���!BD!€ $!�’BI D@‰"€!$�I$$H‰�"!�ˆ‚I‰$I$„’I$�ˆUUU$’�$A$�� /€åå¨åå¨åå¨åå¨åå @ÃÎÉÉ(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE) COPYRIGHT (C) 1979, DIGITAL RESEARCH, PIP VERS 1.5$$$ SUB =.:,<> _[]INPIRDPTRUR1UR2RDROUTLPTUL1PRNLSTPTPUP1UP2PUNTTYCRTUC1CONNULEOFDISK READ ERROR$DISK WRITE ERROR$VERIFY ERROR$NOT A CHARACTER SINK$READER STOPPING $NOT A CHARACTER SOURCE$¨åå ABORTED$BAD PARAMETER$INVALID USER NUMBER$RECORD TOO LONG$INVALID DIGIT$END OF FILE, CTL-Z?$CHECKSUM ERROR$CORRECT ERROR, TYPE RETURN OR CTL-Z$INVALID FORMAT$HEX$$$$NO DIRECTORY SPACE$NO FILE$COM$START NOT FOUND$QUIT NOT FOUND$CANNOT CLOSE DESTINATION FILE$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$$$$$$$NOT FOUND$COPYING -$REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.$UNRECOGNIZED DESTINATION$CANNOT WRITE$INVALID PIP FORMAT$CANNOT READ$INVALID SEPARATOR$1ò€Å€ÌÍ :ÌÖÖŸ2¥ÍLë> Í„ÒýMÍ9ÍÍ ` Ä Ï :�2É!‚q:‚þ Ê" *‚MÍÐ Ãn :cþÂ4 *‚MÍÐ Ãn :ó2ƒ!c:ƒ¾ÚQ !c:ƒ–2ƒÃ: !ƒ:c–w>!ƒ¾Òn !ƒ5 ÍÐ ÃY :‚þ Â{ !ó6É!„q:„ÖÖŸ!l¦wÒ™  Í Ã¢ :„Æ0OÍ É!…q:…æøOÍ| :…æOÍ| É!†6:]ÖÖŸ2l:o†'2o:nÎ'2n:mÎ'2m*mMÍ£ *nMÍ£ *oMÍ£ :]þÂ:Í  Í Ã Í É*¡}æ2‰€ÿÍD"‡ÍÈ *‡Ê å*‰ëÍ *‰&"¡É!Šq:UÒY:Šþ ÂYÉ:¦Ò©:Šþ Ê©:_2‹þʘ:‹þ€!‹6<:ô<2ô!‹¾Ú˜!ô6 Í >!]¾Ò¤; !¦6:QÒÌ:ŠÖÖŸõ:£ÖÖŸÁH¡ÒÌÍÉ:Šþ ÂÙ!ô6*ŠMÍ :Šþ Âí!¦6É!Œq:ŒÖaŸ/õ>z!Œ–2ÀÍ2ü1òÍ@:À2Á!o6+6+6!¦6#6!ó6#6þ:¥ÒG*ÍÍo Í.!N6ÿ:ÌþÂ^*üMÍ^Í!K6!6!¤6+6'Í :©þÂ�Ã$:©þÂÃ:”=2KÍ Í :©þʤÍ\:õÒ·\ÍîÍxÃÀ'ÍîͲÃÛ:©ÖÆÿŸ!õ¶ÒÖÍ\Í¢Í Í :©þÂ͈ÍÆ'Å!Í ÍßͲÃÛ:©þÂ$Í:¨þ ÊÃ$͈ͲÃÛ!N6ÿ'Í :©ÖŸ!õ¶ÒCwͯ !6:©þÂ^Í¢Íc!¨6ÿÃ{:¨ÖŸ/õ>!¨–Ÿ/ÁH±Ò{�ͯ :¨<2£þŠÍÏÍ :©ÖÆÿŸõ:¨Ö=ÆÿŸÁH±Ò®�ͯ !§6:§Ò¾:À2ÁÍ !6:©ÖÖŸõ:õ/ÁH¡Òí͈;!¨6ÿÃ:©ÖÆÿŸõ> !¨–Ÿ/õ>ÆŸ/ÁH¡Ò:Œæ_2Œ:ŒÉ!�q:�ÖAŸ/õ>Z!�–Ÿ/ÁH¡Ò8:�ö 2�:�É:¤=O>¹Úm:W!Q¶õÍ} ÁH¡ÒmÍþÂd>É×Í9>É!�6:2Ž*¤M!E ^#Vëéý�ÍŽÚ—ÍO *�ë*~2�*�#"�ÃmÍó2�ÃmÍ– 2�Ãm!6ÃàÃm!6ÃàÃm!6 ÃàÃmÍæ2�ÃmÃÃÃÃÃÃÃÃéͯ Ãm!6Ã2Ãm!6Ã2Ãm!6Ã2Ãm!�6Í2�Ãmˆ­¶¿ÊÕàðóöùüÿ'2:Ž2:TÒ’:£2Ž!£6*�MÍE:Ž2£:�ÒÜ:Ò²:§<2§ÖÖŸ2�ý:�Ö ÖŸ2�:�ÒÜÍ} ÒÜÍþÂÖ>Éͯ :iÒë:�æ2�:dÒú*�MÍîÉ:[Ò ž–ŸÁH¡ÁH±Ò°ͯ :^!¶w:¨<2¤:¨þÂ0ÍÏÃ}:¨þÂ@ÍEÃ}:¨ÖŸ!¦ÒS!W6:£þ Âz!]6:cþÂm!c6:_þÂz!_6ÍlÍÍ :©ÖÆÿŸõ:¨Ö,ÆÿŸõ:¨Ö ÆÿŸÁH¡ÁH±Ò°¼ͯ :¨Ö ÆÿŸ2§ó:£þÂÎÍEÍÏ:£þÂÛÍ1:¥2ÌÃûv!òq!òå*8éÉ!ûå*6é: É>úͦ>úͦÉÍÉÍÉ!«q:«æ_ÍÉ Í ÍÉ!­p+qÍ.*¬ë ÍÉ ÍÉ ÍÉ!¯q*¯&ëÍÉ!±p+q*°ëÍ2®É!³p+q*²ëÍ2®É!µp+q*´ëÍ2®ÉÍ2®É!·p+q*¶ëÍÉ!¹p+q*¸ëÍÉ!»p+q*ºëÍÉ!½p+q*¼ëÍ2®É!¿p+q*¾ëÖ*�MÍÉ:�É>!ú¾Ò(:ú=2úþÂ%> É>É>!ø¾ÒF!ø5+N!Í ~2‘!÷4ÉÍ<2‘þÂT>É>!b¾Ò}*bMÍ­Òz:b2÷!b6:ù<2øé>!`¾Ò¥*`MÍ­Òž!`6!ú6> É:‘Éé:‘ÉÃ(É!’q:ù!’†wO!Í ~2“þÂÙ*’&Í :‘w>É!‘:“¾Âê!ù4Ãï!ù6>É:N<2N!̾Ú> É*N&Í NÍîÉÍò2¨þ ÂÃÉ!–p+q!õ6!©6+6 !ª6:ªþ ÒS:ªþ ÂM!¨6ÍgÃ8Í:N2M*¨MÍ8ÒpÍÁ!©6É!”6!—6>!—¾Ú•*—&P 6!—4Âz!ö6!ø6#6#6!ª6*¨MÍ8ÚÚ:ªþÚ¾É:¨þ*ÂÎ͇ÃÑÍgÍò2¨ê:¨þ:¿:”þÊëÉ:ªþÂ,Í¡ÖA<2”O>rÍÉ!Ãp+q*ÂëÍÉÿ ÍÉ!Äq*Ä&ë ÍÉ*ÀMÍ É*ÁMÍ É!Æp+q*Åë!ÍÉ!Èp+q*Çë"ÍÉ!Êp+q*Éë$ÍÉ!Ë6€Ë ÍÉ ÍÉ!kp+q*jëÍÉ> Ó>ÓÛÚª Þ ÛæÉ!qp+qÍ/ *pDMÍ9:Í Í:M2r:N!r¾Úø !Ì:r¾Òñ *r&Í NÍ!r4ÂÐ !Ì6:Í”:®þÿÊ :ͳÍ.ÃÉ!ws+p+q+ÑÁp+qÕ:w=2wþÿÊN *så*uÁ w*s#"s*u#"uÃ' É!"�*MÍ^Í7 !x6:û!x¾Ú¾ *�ë*DM͆ ÍÃ2yþÊ­ :yþÊ— ”ͯ *�"Ÿë*6:û2x÷ €*�"�!x4Âd !"�Í/ É!¡Íj}=2|þÿÂÛ É!"¡*KMÍ^'Í_ !z6:|!z¾Ú1 *¡ ö¹ÒÉÍ*¨MÍ8Ò):¨þ[Âͱ!N5!©6Éñ:ªþÊ5É!¡6ÿ#6>!¢¾Ú°! 6: <2 O>‘Ÿ/õ: !¡†O!T å* MÍ¡á–ÖŸÁH¡Ò~ÃK: þ¡!©6Íòþ[–ͱ!N5:¢2¨É:¡Æ2¡!¢4Â=É:¨þ[¼ͱÃ4:ªþÂÈÉ!ª6:¨þ.ÂÍò2¨OÍ8Ú:ªþ ÚìÉ:¨þ*Âü ͇ÃÿÍgÃÕ:¨þ[ ͱ!N5!©6:”þÂ%:ü<2”*•6 *• 6ÉÃ¥É!šq!›6> !›¾Úd*›&I :š¾Â]>É!›4ÂA>É:ª<2ªO*• :¨w:¨þ?†!õ6É!œq!¨6?!œ:ª¾Ò ÍgÃ�É!�q*�&ë*•~É!ö6:À2ÁÍò2¨:¨Ö ÖŸõ:¨Ö]ÖŸÁH±Úº:¨ÖA2žO>¹Ò:¨þ ÂúÍò2¨Ãͯ lÊ "}*}DM͆ 'ÍÓþÊ ¤ͯ €*¡"¡!z4Âó :eÒÉ !"¡€Í† !z6:|!z¾ÚÀ 'Í? ÖÖŸ2*H#"H!{6:{Ö€Ÿ!¦Ò¢ *{&€ :{¡åÍ4Ê Á –ÖŸ2!{4Ãm €*¡"¡:Ú¹ µͯ !z4ÂI 'ÍÓ2!"¡É!€q:€þ Úô !ó4>!S¾Òô :S!ó¾Òô É:2�*£M!Ý ^#Vëéÿ¡ÍŽÚ ÍÈ *¡Ê :€w*¡#"¡Ã Ã= Ã= Ã= Ã= Ã= Âͯ à *€MÍæÃ !6€Ãq à !6ÀÃq à !6€Ãq à *€&ëÍà !6à à !6 à à !60à à *€&ëÍà !6ÃÏ Ã !6ÃÏ Ã !6ÃÏ Ã *€&ëÍà . 1 4 7 : = F P [ f q  Š •   ® ¹ ‘÷:¨ÖSÖŸõ:¨ÖQÖŸÁH±ÒI:N<2ŸÍò2¨ÖÖŸõ:¨Ö ÖŸÁH±Ú@Ã"Íò2¨Ã�Íò2¨Ö02ŸO> ¹Òc!Ÿ6Ã�Íò2¨Ö02™O> ¹Ú�*Ÿ&ÍOå*™&Á ë!ŸsÃc*ž&P :Ÿw:žþ·>!Ÿ¾Ò±ͯ :Ÿ2ÁÃÂÍò2¨É:¨þ_ÂÎ!¨6=É!£6>'!£¾ÚéÍE!£4ÂÔÉ!©p+q*¨å0Í É!­r+s+p+q*¬~þ$Ê7*¬>¦*ªõ>¦ÁH¹Ê&>É*ª#"ª*¬#"¬Ã>ÉÍ 2¨:ÒR�ŸÍŽŸÉ:¨ÖÖŸÉ!¯6!œ6Í=2µþ:Ê™!œ6:µþ“HÍ9ÍþÂŽ>É!œ6Í-Ãe!µ6Í»2´þÂÇÍ=2´þʺÍ-é:¯ÒÄ>É>ÉÍÄ"·Í»2¶:´ÖÆÿŸ!¯¦Òð!´5Í»2³ÃÓͬ!µ†þÊ\ͨååwÍ-:¯Ò>É>É!±p+q:¯Ò,!¯6*°DMÍ9É:®Ò<!®6ÍÉ:¯ÒzÍ 2²þÂW!®6ÃD*œ&L :²w:œ<2œþOÚv*Í:²É>ÉÍ=2¹Ö0O> ¹Ú’:¹Ö0É:¹ÖAO>¹Ò¤:Í:¹ÖAÆ ÉÍ}‡‡‡‡õÍ}ÁH±Éͬ!µ†wÉÍ»O`iÍdåÍ»áÍVÉÍ[2ºO>¹Ú2:ºÖÖŸ!X¦Ú!»6:œ!»¾Ú:»=O!L NÍE!»4Âü ÍE ÍE:ºþÂ/ÉÃÚÍ.*œ&L 6$LÍ9kÍ9Í.ÍþÂXÉÃÚÉ�ͯ É*KMÍ^ž0Íý20Å¤Í :0æ20:1æ21¢Íê'ͳ'Íã:®þÿ²¥ͯ !G6!"¡É!ÿÿ"ŸÍ7 *MÍ^ÍnÍ/ :a/õ:ÁH¡Òì!®6ÿ:®þÿÂú¸ͯ !&6$Ã@ COPYRIGHT (C) 1978, DIGITAL RESEARCH ERROR: $, LOAD ADDRESS $DISK READ$INVERTED LOAD ADDRESS$DISK WRITE$LOAD ADDRESS $ERROR ADDRESS $BYTES READ:$INVALID HEX DIGIT$CHECK SUM ERROR $FIRST ADDRESS $LAST ADDRESS $BYTES READ $RECORDS WRITTEN $HEXCANNOT OPEN SOURCE$COMNO MORE DIRECTORY SPACE$CANNOT CLOSE FILE$*çùÉ!9"ç!e ù!" !" \Å!éÍ"÷ÅòÍ"éÍŠ: þÿƒûÍdÅeÍ"\ÍÏ\Íÿ\ÍŠ: þÿ²ÍdÃÉÍä\Í�: þÿÂÉ)ÍdÍàÍ;É! q* &ëÍfÉ ÍÐ ÍÐÉ! q> ! ¾Ò: ÆAÖ OÉÀÍý2*ý"�É>!b¾Ò!Äͯ >!`¾Ò0Ôͯ É!¼q:¼ÒE:24ÃJ!46*¡}æþÊa!44ÍEÃJÍÍÈ *KMÍ^'Í�:®þÿ‚ãͯ ¤Íê!36'Ín:®þÿÊé:0Òã:fÚÕÍ9ÍOÍîþYÊÒ#Í9Í.3Íê'ͳÉÍ.:0æ20'Í 'ͳ'Å7Í 6Íê'ÍöÉ!ÿÍj>ÿÍA+ë!ûsÉ!Ê"@ÿÍ“Ú1!€"ÿÃ<*ýë*ÿ"ÿÍÉÊÍ“åÍnÊ "ÿáÍDÍn"ý"ÿÍÉ:¤ÖÆÿŸ!Q¦2½Ò‚Í:X!W¶Ò“ÍÚäÍ:Ú¤*¨MÍEÓ:½Ò±ÍÍ@ÉÍ@:O2MÍc;!¾6#6>!¿¾Ú)*¿&P ~þÊ":¿ÖÖŸõ:¿ÖÖŸÁH±õ:¿ÖÖŸÁH8ÍÐÃ: Æ0OÍÐÉ! q: æøOÍë: æOÍëÉ! p+q* |OÍ* }OÍÉ! p+q* ë ÍfÉ! p+qÍà* DMÍBÉ! p+q)ÍR* DMÍB1ÍB* DMÍ+Í;É! p+q* ëÍi2 É! p+q* ëÍi2 É! p+q* ëÍi2 ÉÍi2 É!" p+q*! ëÍfÉ!$ p+q*# ëÍiÉ!& p+q*% ëÍiÉ!( p+q*' ëÍi2 É!* p+q*) ëÍfÉ!/ s+p+q+ÑÁp+qÕ:/ =2/ þÿÊX*+ å*- Á w*+ #"+ *- #"- Ã1É* #" ÿÍ–Úr*   ~É!" ÿ! ͸ÚÚ×€* " ÒxÃÚéÍß20 þº€Å*   DM€Í"Ã×:0 þÊÈAÍd*   6!ÿ" Ç!" : É!"6 "8 ": }2< !"4 "= ! ¤±õ:¿ÖÖŸÁH±õ:¿ÖÖŸÁH±Ú"!¾6!¿4ÂÉ:¾Ò_ÍÍjÚYÍO ÍjÒM*Ÿ"¡ÃS*ÿ"¡ÍÈ Ã3Í@ÃbÍl*¾MÍ1ÉÿÿŸÍ“µÆÿŸÉ!"À"ÄÍ7 *MÍ^€Í† \Í”!"Â:®ÖÿÆÿŸÀÂõÍŽŸÁH¡ÒÄ*Â#"ÂͧÃ�Í/ :®þÿÂå>ÄÍ›µÂá9ͯ Í.É*Â#"À:®æ‡‡‡‡‡_!€å'Í !'6!36'ÅÍ :1/!a¶ÒE*Ä#"Ä>ÍzµÂ?CÍ9ÍIͲÃ�ÉÍ.!Æ6> !ƾڇ*Æ&' ~2Çþ Ê€:Æþ Ây.Í*ÇMÍ!Æ4ÂQÉ>!”¾Ò›:”=2á:ü2É:öÒ¬Í\>!”¾Ò¿:”=2KÃÅ:ü2KÉ!À:Á¾ÊÑÉ!:K¾ÂÞÍ\ÉÍ:¨þ ÊíÍ\É!Ép+q͈ÍßÅ*È ’6ÍYþ:Ê Ã!2 6Í=21 þ á:1 : Írë+s#rÍ=õÍ=_ÁHÍL"4 " >6 ͪµÂS* "6 Í=23 :1 =21 þÿÊvÍ=OÍý* #" ÃY8  Í�Ò‰* +"8 Í.!2 †þÊž¨ÍRÍ€Ã* "4 4 = Í�ÒÂÍý* #" ç¹ÍR*6 DMÍ+ÈÍR*8 DMÍ+×ÍR*: DMÍ+æÍR*< MÍÍàÉ!? q=  Í�ÒKÍdÿ*= ë! ͸Òp!@ 6>!@ ¾ÚX*= }O!< å*@ &€ Ñw*= #"= !@ 4Â)!< 4\ÍïþÊmaÍdÃ* }O!< :? wÉlÍR*4 DMÍ+{ÍR* DMÍ+ŠÍRÍæ 4 Í�Òß*4 }æþ¿Íæ= 4 Í�< NÍ*4 #"4  ÍÐÃ¥ÍàÍ;ÉÍà*4 DMÍ+:ÍÐ ÍÐÉÍY2â½²DM!Í ÍÆÉÍ :©ÖÖŸõ:¨Ö=ÖŸÁH¡Ú-Í\:N2OÉë_ë…oŒgÉ_{¥oz¤gÉ^#Vë)å))Á É_{µoz´gÉ^#Vë) ÂdÉ^#Vë|·g}o ÂnÉ_{•ozœgÉO{‘oz˜gÉi`N#F‘o˜gÉo&•oœgÉ H ©=¨É'€åå •SÏÁA Ö0O> ¹Ú:A Ö0É:A ÖAO>¹Ò&–ÍRÍ€:A ÖAÆ ÉÍü‡‡‡‡õÍüÁH±ÉÍ.2B !2 †w:B É!D s+q*C &Í�:D ÍÉÃÃÃÍÉÉÉë_ë…oŒgÉ_{µoz´gÉ^#Vë) Â�É_{•ozœgÉi`N#F‘o˜gÉo&•oœgÉ_{–_z#žWëÉ€åå ÿ*Ã3 Copyright (c) 1979, Digital Research??ÿCON:RDR:PUN:LST:DEV:VAL:USR:DSK:TTY:CRT:BAT:UC1:TTY:PTR:UR1:UR2:TTY:PTP:UP1:UP2:TTY:CRT:LPT:UL1:R/OR/WSYSDIRR/O R/W SYS DIR ** Aborted **Active User :Active Files: Drive Characteristics65536: 128 Byte Record CapacityKilobyte Drive CapacËity32 Byte Directory EntriesChecked Directory EntriesRecords/ ExtentRecords/ BlockSectors/ TrackReserved Tracks is Temp R/O Disk: d:=R/OSet Indicator: d:filename.typ $R/O $R/W $SYS $DIRDisk S¨ååOtatus : DSK: d:DSK:User Status : USR:Iobyte Assign: =Bad DelimiterInvalid AssignmentBad Delimiter: Bytes Remaining On R/, Space: Invalid File Indicator** Too Many Files **File Not Found Size Recs Bytes Ext Acc65536 set to R/O Invalid Disk AssignmentWrong CP/M Version (Requires 2.0)!9"2!TùÍíþ ÒOÍÒË!]6:\ÖÖŸõ:]Ö ÖŸÁH¡ÒrÍ3 Ë:\þÊ€ÍË͇ /Ò‹ͺ *2ùÉ!"q*"&ëÍLÉ Í� Í�É Í�É!$p+q*#~þÊÑ*#NÍ�*##"#÷É!&p+qÍ *%DMͱÉ ÍOÉ ÍOÉ!(q*(&ë¨ååøÍLÉ!*p+q*)ëÍO2'É!,p+q*+ëÍO2'ÉÍO2'ÉÍOÉ!.p+q*-ëÍLÉÍRÉÍRÉÍLÉÍRÉ\ÍLÉÍR"Éÿ ÍOÉ!/q*/&ë ÍLÉ!1p+q*0ë#ÍLÉÍ~*##N!ͽ€Íž"TÉ!Vq*VMÍöͳÉ!Xp+q!WÍÃë* >WåÍr#MáͲÉ!_p+q!`6>!`¾Ú6*`&ë*^å*`&Y ѾÊ/>É!`4 >É*]&€ ~þ ÂO!]4Ã9!a6:aþÒæ*]&€ ~2bO>¹Òz*bMÍëà Íë>!b–Ÿ/õ~Ö,ÖŸÁH±õ~Ö:ÖŸÁH±õ~Ö*ÖŸÁH±õ~Ö.ÖŸÁH±õ~Ö>ÖŸÁH±õ~Ö<ÖŸÁH±õ~Ö=ÖŸÁH±Òß*]&€ 6Ãã!]4ÃT!]4É!cq*a&Y :cw!a4¨åå É!gr+s+p+q!h6>fÍêµÊr*dë*fÍ!is*dëÍ�"dPY! Íë"f>ÍÓµÆÿŸ!h¦#õ~“ÖŸÁH¡ÒaÍ«Ão!h6:iÆ0OÍ�ÃÉ!mr+s+p+q*lTåÍZëás#r*lëÍâÚ¶*lëÍâë+s#r*jN#F+q#pÃŒÉ!nq!"o"q}2uo&"s* ësÍÝÚ:nÒñ*sDMÍÛ2u:uÚqoÍs*s"sÒÎ*oɹÍÒÉÇÍÒÍŠO ÍÕÍÒ!v6>!v¾ÚQ*v&w 6`i+4Â6Ï)ÍA*Í:'þÿÊ“:'懇‡‡‡O!Ï) ~2vþåÊ�:væO!w 6Í,Ã]!v6>!v¾ÚÂ*v&w ~Ò»*vM Í!v4˜ÉãÍÒÍ8ÆAOÍ�:Í�èͱ*##N!ͽ"—* N#F*—ëÍ "™¨åå ‹�>ÍÓµÖŸ!—õÍøµÆÿŸÁH¡Ò% ÿÍÒÃ- *™DMÍÀ ͱÍ·DMÍÀ  ͱ* N#FÍÀ 9ͱ * ^#Vë))DMÍÀ Tͱ* ~�ÍêµÊ *�}Ò *ŸMÍÌÍÃ!�ÍÃë+s#r#4Ãè É!¢s+p+q!¤6!¦66:¢!¦¾Ú„ !¥6!£6>!£¾Úr *¤&ë* å*£&Y ѾÊi !¥6!¤4+4ÂA :¥Ò} :¦É!¦4Â- >É!ª6Í99Í 2§þ¨ :ªÖÆÿŸÉ!ª4:§þ :2©!¨6+6>!§¾Ú :§‡‡O!9 DMÍi ­ͱ:©æ‡‡!¨†O!Y DMÍi :¨Æ2¨w wà *¼) >¦*¼) wÃÏáó.å*¼)DM\á -Â+!\6Íuìͱ:Ì)‡‡O!™ DMͱ*À)#"À)ÙÉ*¾)))))Ï)"¼)É:mþ Âw>É.Yn -Â:YÖSÖŸõ:ZÖ ÖŸÁH¡Ò§!6>þÉ©Í 2Ì)þ½ŽÍÒ>É!Í)6> !Í)¾Ú*Í)&ë*¼)>¦2Î)þ Ê÷:Í)þ Âð.Í�*Î)MÍ�:Í)<2Í)ÂÅÉÍ9Í9:Yþ=Â/Í9õÍþÒ&Í© ÍcÃ,ùÍÒÃHÍ© 9Í þÂEÍÃÃHͺ ÉÃÃÃÍÉÉÉi`N#F�oˆgÉë_ë…oŒgÉë_ë¥o¤gÉDM!>õ)ë—)ë�‘o|˜gÒ˜ ñ=†ÉDM!>)ë)ëÒ­ =Â¥É~ ³É^#Vë) ½É^#Vë|·g}o ÂÇÉ_{•ozœgÉi`N#F‘o˜gÉo&•oœgÉ_{–_z#žWë*:©æþ2©Í !§4 ÃF :§þ® ²ÍÒÈÍÒúÍÒÍÒ)ÍÒ!§6>!§¾Ú« Í :§‡‡O!9 DMÍi 8ͱ!¨6> !¨¾Ú¤ Ã… :¨Æ2¨Òk ä  Í�:§‡‡‡‡!¨†O!Y DMÍi Ãw !§4ÂC ÃF :§þ¿ Í>ÉÃF :§þÂÍ ÍÝ ÃF :§=2§‡‡‡‡2¨Í9:Yþ=Êï ;ÍÒ>ÉÍ9*¨&Y DMÍ =2¨þÿ IÍÒ>É!©6ü:§=2§þÿÊ8 :©2©:¨‡‡2¨Ã :©!¦!¨¶2Í9:Yþ ÂT >É:Yþ,Êe \ÍÒ>ÉÃŒ É!¬p+q*«~þ:ʉ *«NÍ�*«#"«Ão :Í�É!®p+q!'"±!°6>±ÍêµÊü *­ë*±Í{2¯*­ëÍ�"­PY! Íë"±>ÍÓµÖŸ!°¶+õ~“ÆÿŸÁH±Òù !°6:¯Æ0OÍ�à kÍ�TÉ?Àåå€Í ÉÍQ" Í8ÆAOÍ�jͱÉÍ·DMÍ� ÉmÍÒÍ Í ÉÍZ"³Íl"µ!·6>³ÍêµÊ¥ *³}Ò† *·MÍÌÍ �ͱ*µ}Òx OÍ�Ã} WÍ�„ͱÍ !³ÍÃë+s#r!µÍÃë+s#r#4ÃD Í É:\þʹ :\=OÍÌÉͳÍ© !6!Ì)6ÿÍlÒä :Ì)þÂÚ É:Ì)=2Ì)Ãð :]þ Âð Í& É!"¸}2\!h6?!j6?\Í:'þÿÊC:'懇‡‡‡Æ€o&"º)!Ë)6!"¾):Ë)/¸¾)õÍÝŸÁH¡Ò˜Í]!Æ)6> !Æ)¾ÚŽ*Æ)&ë*º)å*Æ)&ë*¼)Á ¾Êy!Æ)6 Ä:Æ)Ö ÖŸ2Ë):Æ)<2Æ)ÂM*¾)#"¾)Ã/:Ë)Ò©*¾)+"¾)Ã`*¸"¾)#"¸Í]!¸ÍøŸ*¼)ë!õÍøŸ/ÁH±Òí¥ÍÒ!"¾)!"¸Í]*¾)º) å*¾)ëás#r!ƨåå)6> !Æ)¾Ú.*Æ)&ë*º)å*Æ)&ë*¼)Á w:Æ)<2Æ)Â*¾)º) >w#6*¾)º) w#6*¾)º!) w#6*¾)º%) w#6*¾)º) N#F*¾)ź) Áq#p*¾)º%) å*º) ~ÑÍe å*º) å* ~á¦o&€ÍžÁ å*¾)º%) Áq#p!Ç)6* >ÿÍõÒÒ!Ç)6!Æ)6>!Æ)¾Ú=Ãñ:Ç)!Æ)†wÒ×Ã=*Æ)&ë*º)~2È):Ç)þÂ*Æ)& ë*º):È)¶2È):È)þÊ:*¾)º!) å*¾)º) ëÁÍsÃãÍ,à >¸ÍêµÂXºÍÒÃ\:Ì)þÿ“>!¸ÍõÒd!"À)>!À)ÍõÒd!"À)!"Ä)*¸++ë!Ä)ÍøÚa*Ä)¼) ^#Vë"¾)Í]*¼)"º)*Ä)º) ^#Vë"¾)Í]!Æ)6> !Æ)¾ÚT*Æ)&ë*º)~2É)å*Æ)&ë*¼)~2Ê)OѹÒ;*Ä)º) ^#Vë" ¨åå„Â)*Ä)¼) å*Ä)º) ãN#Fáq#p*Ä)¼) å*Â)ëás#r*À)#"À)!Æ)6 ÃJ:Ê)!É)¾ÒJ!Æ)6 :Æ)<2Æ)ÂÆ*Ä)"Ä)ÒˆÃq:ÒtÉÍÒÃwÍ Ðͱ!"À)¸À)ÍÝÒ�*À)º) ^#Vë"¾)Í]Í .å*¼)DM\á -°!\6:Òé\Í£:þÊÛæͱÃæ*}DM'ÍÍ«*¾)º%) N#F'ÍÍ«*¾)º!) N#F'ÍkÍ�Í«*¾)º) N#FèÍÍ«RÍ�/Í� *¼) ~ÒIOÍ�ÃNWÍ�Í«Í8ÆAOÍ�:Í� *¼) ~2È)Òt(Í�ÍÀ:È)Òƒ)Í�*À)#"À)ÃÍ& Ã\!"À)¸À)ÍÝÒ\ÍäÒ°ÍÉ*À)"¾)Í]Í ÍÀ*Ì)M! ^#Vëé *¼) >€¶*¼) wà *¼) >¦*¼) wà *¼) >€¶*¼) ¨åå¨åå¨åå¨åå¨åå¨åå¢!9"1WÍÁþÿÂóÍœÃQ>€2!åÍ¢áÚQG}æÂDÍrÍYÚQ|Í�}Í�#> ÍexÍ�Ã#Ír*ùÉåÕÅ ÍÁÑáÉåÕÅ_ÍÁÑáÉ> Íe> ÍeÉæþ Ò‰Æ0ËÆ7ÍeÉõÍ}ñÍ}É ÍÉ:þ€Â³Íηʳ7É_<2!€~·É¯2|\ÍÉåÕÅ\ÍÁÑáÉFILE DUMP VERSION 1.4$ NO INPUT FILE PRESENT ON DISK$ê!õÅÕåYÍáÑÁñÉþ Èþ Èþ,Èþ ÈþÊ<É Í ÍÉÍ þ Ê*Í$ÊA!‹6 # ÂT!‹wÍ Í$Êr# Ê*Ã`:‹þ ÉÖ0þ ØÆùþØÃ*ÍAÊ*!‹ ~þ ʰÍxkb))))_ëyþ‘BK{ÉÍ…Â*É!6Ã6Ã!"Éæ8Éæ0Éë*‹ë{¾Âç#z¾È+++ ÂÝ ÉÕ‹¾Â#Âõ ¨åå¨åå |¨åå¨åå¨åå¨ååõÅÕåísU1UÁ Í Í|*·( +V+^ë#^#Vë+V+^ë+V+^ë"^#Vë"ã^#V##~<2 ë"ß*ã####"á: O:ݹÊ�Ío:Ý<2ÝÃW:ÝÆA2ç*á:ÝO N>ÿ¹È*ß ^#Vë^#VÕýáý"åÍeÉ!è^#V{²Êðë"åë#~2¡#> 2¢2£~þ(2£>,2¢#åÍÑáà –Íý*åýËfÊê²Ãí¥ Í*åý*åÝ!Êý~_ý~W>Í ý~_>Ý!ÛÍ ý~_>Ý!åÍ  ÊÍý*åÝ!ý~_ý~W>Í Ý!ý~_ý~W>Í  ûÍý*åý~ý¶ý¶ý¶ÊçÝ!_ý~"_ý~#W>Í ý~$_>Ý!kÍ ý~%_>Ý!vÍ !�ý~!ÍN 7Íý*å„ Íý*å™ýË F ¤ Íý*å¯ýË N · ; ÍÉí{UáÑÁñÉ –ͨååÊßý ¿ÍÉ2Þ =(ÝpÝ#à >!ËËËËíB0 = ðËË{/_z/W}ö0Ýwz³ÈÝ+!Þ5 ÐÉõÍX#ñæÆ0þ:úcÆwÉ!èN#Fy°(ë*å·íB ë:ç##wÉë###Ãh+ë*åës#r#:çwÉ Drive(s) $ Floppy $ Harddisk $ offline $xxxxx cylinders, xx heads, xx sectors per track $  2xxxxx Temporary errors, xxxxx Permanent errors $  E Last error address: Cylinder xxxxx, Head xx, Sector xx, Status xx$  O Type was $Permanent $Temporary $/ Write$/ Read$ $ ALTOS DISK STATUS v1.00 $ ¨ååü$Àåå ë¨ååŒtors endm ; disks macro nd ;; define nd disks ndisks set nd ;;for later reference dpbase equ $ ;base of disk parameter blocks ;; generate the nd elements dsknxt set 0 rept nd dskhdr %dsknxt dsknxt set dsknxt+1 endm endm ; dpbhdr macro dn dpb&dn equ $ ;disk parm block endm ; ddb macro data,comment ;; define a db statement db data comment endm ; ddw macro data,comment ;; define a dw statement dw data comment endm ; gcd macro m,n ;; greatest common divisor of m,n ;; U; CP/M 2.0 disk re-definition library ; ; Copyright (c) 1979 ; Digital Research ; Box 579 ; Pacific Grove, CA ; 93950 ; ; CP/M logical disk drives are defined using the ; macros given below, where the sequence of calls ; is: ; ; disks n ; diskdef parameter-list-0 ; diskdef parameter-list-1 ; ... ; diskdef parameter-list-n ; endef ; ; where n is the number of logical disk drives attached ; to the CP/M system, and parameter-list-i defines the ; characteristics of the ith drive (i=0,1,...,Öproduces value gcdn as result ;; (used in sector translate table generation) gcdm set m ;;variable for m gcdn set n ;;variable for n gcdr set 0 ;;variable for r rept 65535 gcdx set gcdm/gcdn gcdr set gcdm - gcdx*gcdn if gcdr = 0 exitm endif gcdm set gcdn gcdn set gcdr endm endm ; diskdef macro dn,fsc,lsc,skf,bls,dks,dir,cks,ofs,k16 ;; generate the set statements for later tables if nul lsc ;; current disk dn same as previous fsc dpb&dn equ dpb&fsc ;equivalent parameters als&dn eq¿n-1) ; ; each parameter-list-i takes the form ; dn,fsc,lsc,[skf],bls,dks,dir,cks,ofs,[0] ; where ; dn is the disk number 0,1,...,n-1 ; fsc is the first sector number (usually 0 or 1) ; lsc is the last sector number on a track ; skf is optional "skew factor" for sector translate ; bls is the data block size (1024,2048,...,16384) ; dks is the disk size in bls increments (word) ; dir is the number of directory elements (word) ; cks is the number of dir elements to checksum ; ofs is the number of ¹u als&fsc ;same allocation vector size css&dn equ css&fsc ;same checksum vector size xlt&dn equ xlt&fsc ;same translate table else secmax set lsc-(fsc) ;;sectors 0...secmax sectors set secmax+1;;number of sectors als&dn set (dks)/8 ;;size of allocation vector if ((dks) mod 8) ne 0 als&dn set als&dn+1 endif css&dn set (cks)/4 ;;number of checksum elements ;; generate the block shift value blkval set bls/128 ;;number of sectors/block blkshf set 0 ;;counts right 0's in blkval blkmsk set 0 ;;fitracks to skip (word) ; [0] is an optional 0 which forces 16K/directory entry ; ; for convenience, the form ; dn,dm ; defines disk dn as having the same characteristics as ; a previously defined disk dm. ; ; a standard four drive CP/M system is defined by ; disks 4 ; diskdef 0,1,26,6,1024,243,64,64,2 ; dsk set 0 ; rept 3 ; dsk set dsk+1 ; diskdef %dsk,0 ; endm ; endef ; ; the value of "begdat" at the end of assembly defines the ; beginning of the uninitialize ram area above the bio lls with 1's from right rept 16 ;;once for each bit position if blkval=1 exitm endif ;; otherwise, high order 1 not found yet blkshf set blkshf+1 blkmsk set (blkmsk shl 1) or 1 blkval set blkval/2 endm ;; generate the extent mask byte blkval set bls/1024 ;;number of kilobytes/block extmsk set 0 ;;fill from right with 1's rept 16 if blkval=1 exitm endif ;; otherwise more to shift extmsk set (extmsk shl 1) or 1 blkval set blkval/2 endm ;; may be double byte allocation if (dks)ßs, ; while the value of "enddat" defines the next location ; following the end of the data area. the size of this ; area is given by the value of "datsiz" at the end of the ; assembly. note that the allocation vector will be quite ; large if a large disk size is defined with a small block ; size. ; dskhdr macro dn ;; define a single disk header list dpe&dn: dw xlt&dn,0000h ;translate table dw 0000h,0000h ;scratch area dw dirbuf,dpb&dn ;dir buff,parm block dw csv&dn,alv&dn ;check, alloc vec õ à > 256 extmsk set (extmsk shr 1) endif ;; may be optional [0] in last position if not nul k16 extmsk set k16 endif ;; now generate directory reservation bit vector dirrem set dir ;;# remaining to process dirbks set bls/32 ;;number of entries per block dirblk set 0 ;;fill with 1's on each loop rept 16 if dirrem=0 exitm endif ;; not complete, iterate once again ;; shift right and add 1 high order bit dirblk set (dirblk shr 1) or 8000h if dirrem > dirbks dirrem set dirrem-dirbks el ¨åå ,se dirrem set 0 endif endm dpbhdr dn ;;generate equ $ ddw %sectors,<;sec per track> ddb %blkshf,<;block shift> ddb %blkmsk,<;block mask> ddb %extmsk,<;extnt mask> ddw %(dks)-1,<;disk size-1> ddw %(dir)-1,<;directory max> ddb %dirblk shr 8,<;alloc0> ddb %dirblk and 0ffh,<;alloc1> ddw %(cks)/4,<;check size> ddw %ofs,<;offset> ;; generate the translate table, if requested if nul skf xlt&dn equ 0 ;no xlate table else if skf = 0 xlt&dn equ 0 ;no xlate table else ;; genera ¨åå ¢te the translate table nxtsec set 0 ;;next sector to fill nxtbas set 0 ;;moves by one on overflow gcd %sectors,skf ;; gcdn = gcd(sectors,skew) neltst set sectors/gcdn ;; neltst is number of elements to generate ;; before we overlap previous elements nelts set neltst ;;counter xlt&dn equ $ ;translate table rept sectors ;;once for each sector if sectors < 256 ddb %nxtsec+(fsc) else ddw %nxtsec+(fsc) endif nxtsec set nxtsec+(skf) if nxtsec >= sectors nxtsec set nxtsec-sectors endif ¨åå   nelts set nelts-1 if nelts = 0 nxtbas set nxtbas+1 nxtsec set nxtbas nelts set neltst endif endm endif ;;end of nul fac test endif ;;end of nul bls test endm ; defds macro lab,space lab: ds space endm ; lds macro lb,dn,val defds lb&dn,%val&dn endm ; endef macro ;; generate the necessary ram data areas begdat equ $ dirbuf: ds 128 ;directory access buffer dsknxt set 0 rept ndisks ;;once for each disk lds alv,%dsknxt,als lds csv,%dsknxt,css dsknxt set dsknxt+1 endm e }ã5ó1ÁíW2&!^|íGͪí^û`ÍàÍÍþaÊ' þbÊ'Ãÿ¡ ALTOS 5 1/4 INCH FLOPPY FORMAT FACILITY Insert diskette to be formatted in available drive Remove system disk if necessary$ Enter drive letter to continue A/B? $ $ ÍÉ Í·ÊÍö ÉÍóËWʲ>2 ÍÈÍ“Ûæ€ÂI›ÍÛ_>͆>2 Û¤æ¿ÓÍ“ͧÍ,>2 Ûö@ÓÍ“ͧÍ,Í“:þOÊâ<2ÓÍÃF Cylinder $!ÁõÍàÙ!#~2 ÙÍàÙ: þÊÑ#~2 ÙùÙ>NÍî ÂÖÉGþðÈÍîÃàw#ÂîÉPN öü2Nð EcUnddat equ $ datsiz equ $-begdat ;; db 0 at this point forces hex record endm ; Àåå b ið õþ÷N õûåå÷PNðð !8í³ÃGÃ(ŠyÁ'…Ïχͪ: öðÓvædÂYÉbÍÃâ ERROR DETECTED ON WRITE....ABORT$2í2îÝ!ï =ÊžÝpÝ#Ã’ >!ËËËËíBÒ´ =¦ËË{/_z/W}ö0Ýwz³ÊÖÝ+!í5¡!îïÕå_ÍáÑ5ÂÜÉxöÓͪ>HÓvÂýͪ>ÓvÉͪ>ÓvæÂÉ&ÍÃâ SEEK ERROR......PROGRAM ABORTED$RÍÃâ DRIVE NOT READY... Make sure diskette is inserted properly $d))• “É>ÃÓÛûíMÛæªÉ»ÍÃâ HOME ERROR..........PROGRAM ABORTED$>ÓvÍÍþyÊPÍÍ:& ¨åå ¹“�íGÍó>ÓÓÛæ¿ÓÍ“à Would you like to format another diskette? Y/N $ System disk in drive A Enter to continue....$ €åå ¨åå ¨åå 3ß3ÃdîëîÃãîÃèîÃíîÃòîÃíîÃèîà ðÃÄïÃ>ðÃ_ðÃ�ðÃÅðÃóðÃúîÃ’ð~©ï—ïcö!$ó>v2hîûÍó÷:Oæ(¯2Lì*šì"©î! î"šì>Ã2!î"2!à"ÃØå*©î"šìáÉ1€Û GæçöÓ x!Øí°Ó ªGyþxÐÕ!Ûî ^#VëÑéÿ !{ïö!ïÕ^#VÕÝáá^#VëéÝN¯íyíxæÈ>ÿÉÍï·(úÝN íxæÉ>ÝNíyíxæ þ >À=ÉÅÍ,ï·Á(øyÝN íyÉ>ÝNíyíxæ >ÿȯÉÅÍMï·Á(øyÝN íyÝN¯íy<íyÉ{ïï}ïƒï�ï,ï>ïMï]ïïï,ï>ï/.õåÛ ËG(Û#2Áï!ÃïõåÛË( Û2Àï!Âï6ÿáñûíMÿÿ:²÷¹8>!³÷ N¹84!·÷ N#FÅÝáÝFÝNÅýáýËF(ý"~òÝ"zòÝfÝnýËN ¨åå  vÀåÍ#ðá·È!Éý*~òý~æðþ Í#ðÍ>ðÉýfýnåÝáÝfÝn7ðÅéÝf ÝnéÝ*zòÝfÝn ëý*~òýNÍ¥ðíS€ò}2‚òÉý*~òi`ýN·íB}ý^(Ë<Ë÷ "ƒòý¦g.Ë<Ë"„òÉíC|òÉë|µ( n&Éý*~òýn É>!ËËËËíB0 = ðËË{/_z/WÉý*~òýËV( ÍwñÍVò!"¿÷ÉÍ’ñ·( ÍøñÍVò·ÀÍ’ñ¯Íò¯Éy2†òý*~òýËV(ÍwñÍkòÌÍ’ñ·(Íøñ:†òþ(ÍVò·ÀÍ’ñ>ÍòÝË Æ:†òþ(¯É!ó÷Ý!Í÷Ý^·íBåÝáÝË F( ÅÕåÍkòáÑÁ èÉ*~òÝtÝuÝåáë!€òí°¯Ýw ÉÝ!¿÷ÍYñ*|òÝtÝuÛ æÝwÉ:Ð÷Ý!ã÷ÝVÝ^*~ò·íR(Ý = í<ÉÝVÝ^*€ò·íR ëÝVÝ^*‚ò·íR ݯÝåáã÷íRÈåÓ÷Ýåáí°ÝåÑ!ëÁí¸Ý!ã÷ÉÝ!ã÷ÝË F ¨åå n Cÿz(ÍkòÃYñ*„òýNÝVÝ^ í[|ò·(ë€í°ÉÝåýfýnåÝáÍJòÝá ÍJò ÍJòýfýn^#VëéÍaòÍ&òéÝfÝnåýáÉÍaòÍ&òÝË †ÐÿÝ~ý¾(·(ýFÝp>°Óý~ 2ËóÉÛæ¿ÓýËޝýwýw:Ëóö ͵óæ>ÀýËίÉý~Óݾ>ÈÝ~ýwÓ:Ëóö͵óæÈ>ÉÝ~ýw2ÌóGÛæ¿°ÓÉÝ~ýwÉÍ”óíSÕó"×óͪòÍÈò!ÐóÍ¢ó:ÌóöˆÍµóGÛæ Oxæ�±È¯Í„ó!Îó5 Û6!Íó5 ÍEÍ”óíSãó"åóͪòÍÈò!ÞóÍ¢ó:Ìóö¨ÍµóGæ½È>Í„ó!Îó5 á6!Íó5 Ó Í{ö>ÐÓÛÉ ÃFöÍö>2Îó>2ÍóÉý~ÓÛ æ?ݶÓ í³ÉõÛ8úñ!Âï6Ó¯¾(ý:ÀïÉÃ(Šy…Ï¿‡Ã(Šy…Ïχý~ݾÈÓ ÝwÉýËޝý ² ¢@åå rwýw> ;õæƒþ‚>ÀýËίÓ"Ó"Éýfýn}Ó!|Ó!ÝË N(ÝV Ý^ ÝVÝ^{Ó"zÓ"¯íRÈýrýs>;õæƒþ‚>È<ÉÝË N(Ý~Ý~ýwý¶Ó ÉÝË N(Ý~Ý~ýwÓ!É>2Úõ>2àõ!ãõ"áõÍö íSéõ"ëõ>2Úõ>2àõ!ñõ"áõÍöë "÷õíSùõÛ#æ�þ€>À>2Ùõ>2Øõ ÍúóÍôÍYôÍtôÛ æ?ݶÓ íKßõ*áõí³:Úõ;õGæßþ‚>Èxæ@(¯Ó ÍYôÝË N ÅÍAõÁÝË N »:Úõþ>(<Íö!Ùõ5 ±6!Øõ5 � ÃFöýf ýn Ûõí°%Þõ <ýVº ¯Ýõ <ýVº ¯íKÛõíCÛõÍ’õ·ø ÔÝåá ë!Ûõí°ÝË ÎɯGOÝV͵õÝV͵õÝV͵õÝV͵õx· =ÉyÉ~º( °G#ÉOÛ#Gæ�þ€xÀy!Ãï6Ó#¯¾(ý:ÁïÉÃh Šy¥!χÃh Šy¥!ÏÏ P*ØùÍ24Í¢g ͧÍ,23�Í,27Ã;íS9í[9 Íß Í> 2., Í:.þ0Ú\þ8Ò\É ÍÃ0 ALTOS COMPUTER SYSTEMS BOOT SETUP PROGRAM, VERSION 2.25F $ Select baud rate from following list for console #1 $ 0 DON'T CHANGE CONSOLE BAUD RATE 1 110 BAUD 2 300 BAUD 3 600 BAUD 4 1200 BAUD 5 2400 BAUD 6 4800 BAUD 7 9600 BAUD Specify baud rate: $ Select baud rate from following list for console #2 and #3 $#3 & #4 (Note: These consoles not supp ž½�‡ýNÝVÝ^ýfýn+ÉýË †ýË Ž·(ýË Îýp!ý~ýw"ý~ýw#ý~ýw$ý~ýw%ý4Àý4É>ýË Æýfýn·íRýtýuý4Àý4ɯ÷qöÍ÷‘÷uïÇîáö…öíóúóôYôtôˆô¥ôqö³ö«ösø™ …öq÷qöÙöóø™4³ö�÷õö‡ò¤òÈòéòóóIóáö3÷÷P õö#÷ ó÷‘÷úCúáöY÷ P 3÷a÷ó÷‘÷Zú†úó÷ ÷sùsù6ó÷ ÷�ú�ú$°°À,D  ÿà·÷÷Y÷«öÙö¿÷ Aû Û æùöÓ ¯22 Èorted by CP/M) $ INVALID ENTRY, RETRY....$ 00y Íd Í:fþ0ÊlÚaþ8Òa2kÃm ÍÃ;õ:5ö25ñÃm Select printer baud rate from following list 0 CENTRONICS TYPE PRINTER (PARALLEL PORT) 1 110 BAUD 2 300 BAUD 3 600 BAUD 4 1200 BAUD 5 2400 BAUD 6 4800 BAUD 7 9600 BAUD Specify baud rate: $ 0 Í· Í:¹æß2ì2áÖAv áͽÍÀÍÃ€ÍÆÍÉþʾ¨ ÍÃ# :ûþCÂÕ*ü>½ÂÕ>¼ÊÌà ÍÃ# DISK IN ?: IS UNRECOGNIZABLE ù!^î|íG !¿øí³!ø í³Ï�7^ƒ ÅøÍà!€å###### ÍZøÍZøá~æ(å!{ïN#F#^q#Vp!{ïs#rá V#^#íQíYɲ÷Û/æþ(þ(þ(!´ø í°Ã-ù!¡øí°Ã-ù!«ø í°Ã-ù!¦øí°Ã-ùÿÿÿÿÿ÷«öÿ÷«öÙöÏ`7þƒ Altos CP/M 2.20S0$Hard disk drive #1 not available for CP/M$Bad sector table full. Re-assemble XIOS$ûÛ/æþ Éý!…öýFýNýåÍÜïýá}´Êú¯2‚òGOíC€òýåÍ_ðó÷Í�ðÍÅðýá·Âúí[ø€Í¥ðBKíCCúýåÍ_ðÍÅðýá·ÂúýV ý^ !sù·íRË<ËË<Ë:ø÷<½0s!ó÷í°>2Eú!øÍú·():Eú=2Eú ïíKCúíCCúýåÍ_ðÍÅðýá· 4> 2Eú!ó÷ÏÛ/þ(ÉýFýNÅýáýr ýs !ëø , RESTART OPERATION...$ PLACE DISK WITH BOOT TO BE UPDATED IN AN AVAILABLE DRIVE. REMOVE SYSTEM DISK IF NECESSARY. REPLY WITH DRIVE LETTER WHEN READY TO PROCEED: $ I/O ERROR, RESTART OPERATION.... $:ú_!€^#Vë"*ø":3!þÍìÍÌ>2ÍÀ! "!Ø"íK! "ÍÃíK!€ "ÍÆÍɷ¬!5 ×*ÍÂ#^#VëÍÂ+V+^ëÍ ^#VíS*ÍÂ:5w#:6w#####:7åÍìá##:kåÍìá>2! "!Ø"íK! "ÍÃíK!€ "ÍÆÍ̷¬!5 ÕÃÎ ÍÃ#í[·íRØÉ CP/M LOADER ON ?: IS UNRECOGNIZABLE, REPLACE.. ÿMC4Ã<ù¯õ~ñ¶# öÉ!ÚøÍ*ú!ùÍ*úýˆýV ý^ ¼~þ$ÈOõÅÕåýåÍíîýááÑÁñ#çÞ ù .. $ ö< Íg ÍÍ!4NͽÍ CP/M BOOT SECTOR SUCCESSFULLY UPDATED $ REPLACE SYSTEM DISK IN DRIVE A: HIT WHEN READY$ÃÛÃ¥èëîñô÷úýÃÀÃÃÃÆÃÉÃÌÃÏÃÒÃÕÃØ¥*6~#ÂãÉþ0Èå!æ_Ñ~#~É�4 G4GG x 4; FILE DUMP PROGRAM, READS AN INPUT FILE AND PRINTS IN HEX ; ; COPYRIGHT (C) 1975, 1976, 1977, 1978 ; DIGITAL RESEARCH ; BOX 579, PACIFIC GROVE ; CALIFORNIA, 93950 ; ORG 100H BDOS EQU 0005H ;DOS ENTRY POINT CONS EQU 1 ;READ CONSOLE TYPEF EQU 2 ;TYPE FUNCTION PRINTF EQU 9 ;BUFFER PRINT ENTRY BRKF EQU 11 ;BREAK KEY FUNCTION (TRUE IF CHAR READY) OPENF EQU 15 ;FILE OPEN READF EQU 20 ;READ FUNCTION ; FCB EQU 5CH ;FILE CONTROL BLOCK ADDRESS BUFF EQU 80H ;INPUT DISK BUFFER ADDRESS ; ; NON GRAPH  cIC CHARACTERS CR EQU 0DH ;CARRIAGE RETURN LF EQU 0AH ;LINE FEED ; ; FILE CONTROL BLOCK DEFINITIONS FCBDN EQU FCB+0 ;DISK NAME FCBFN EQU FCB+1 ;FILE NAME FCBFT EQU FCB+9 ;DISK FILE TYPE (3 CHARACTERS) FCBRL EQU FCB+12 ;FILE'S CURRENT REEL NUMBER FCBRC EQU FCB+15 ;FILE'S RECORD COUNT (0 TO 128) FCBCR EQU FCB+32 ;CURRENT (NEXT) RECORD NUMBER (0 TO 127) FCBLN EQU FCB+33 ;FCB LENGTH ; ; SET UP STACK LXI H,0 DAD SP ; ENTRY STACK POINTER IN HL FROM THE CCP SHLD OLDSP ; SET SP TO LOCAL STACK AR  ÏEA (RESTORED AT FINIS) LXI SP,STKTOP ; READ AND PRINT SUCCESSIVE BUFFERS CALL SETUP ;SET UP INPUT FILE CPI 255 ;255 IF FILE NOT PRESENT JNZ OPENOK ;SKIP IF OPEN IS OK ; ; FILE NOT THERE, GIVE ERROR MESSAGE AND RETURN LXI D,OPNMSG CALL ERR JMP FINIS ;TO RETURN ; OPENOK: ;OPEN OPERATION OK, SET BUFFER INDEX TO END MVI A,80H STA IBP ;SET BUFFER POINTER TO 80H ; HL CONTAINS NEXT ADDRESS TO PRINT LXI H,0 ;START WITH 0000 ; GLOOP: PUSH H ;SAVE LINE POSITION CALL GNB POP H ;RECALL   Ë LINE POSITION JC FINIS ;CARRY SET BY GNB IF END FILE MOV B,A ; PRINT HEX VALUES ; CHECK FOR LINE FOLD MOV A,L ANI 0FH ;CHECK LOW 4 BITS JNZ NONUM ; PRINT LINE NUMBER CALL CRLF ; ; CHECK FOR BREAK KEY CALL BREAK ; ACCUM LSB = 1 IF CHARACTER READY RRC ;INTO CARRY JC FINIS ;DON'T PRINT ANY MORE ; MOV A,H CALL PHEX MOV A,L CALL PHEX NONUM: INX H ;TO NEXT LINE NUMBER MVI A,' ' CALL PCHAR MOV A,B CALL PHEX JMP GLOOP ; FINIS: ; END OF DUMP, RETURN TO CCP ; (NOTE ¿ ¬@åå ç -THAT A JMP TO 0000H REBOOTS) CALL CRLF LHLD OLDSP SPHL ; STACK POINTER CONTAINS CCP'S STACK LOCATION RET ;TO THE CCP ; ; ; SUBROUTINES ; BREAK: ;CHECK BREAK KEY (ACTUALLY ANY KEY WILL DO) PUSH H! PUSH D! PUSH B; ENVIRONMENT SAVED MVI C,BRKF CALL BDOS POP B! POP D! POP H; ENVIRONMENT RESTORED RET ; PCHAR: ;PRINT A CHARACTER PUSH H! PUSH D! PUSH B; SAVED MVI C,TYPEF MOV E,A CALL BDOS POP B! POP D! POP H; RESTORED RET ; CRLF: MVI A,CR CALL PCHAR MVI A,LF CALL PC ¨åå ™HAR RET ; ; PNIB: ;PRINT NIBBLE IN REG A ANI 0FH ;LOW 4 BITS CPI 10 JNC P10 ; LESS THAN OR EQUAL TO 9 ADI '0' JMP PRN ; ; GREATER OR EQUAL TO 10 P10: ADI 'A' - 10 PRN: CALL PCHAR RET ; PHEX: ;PRINT HEX CHAR IN REG A PUSH PSW RRC RRC RRC RRC CALL PNIB ;PRINT NIBBLE POP PSW CALL PNIB RET ; ERR: ;PRINT ERROR MESSAGE ; D,E ADDRESSES MESSAGE ENDING WITH "$" MVI C,PRINTF ;PRINT BUFFER FUNCTION CALL BDOS RET ; ; GNB: ;GET NEXT BYTE LDA IBP CPI 80H JNZ G0 ¨åå + ; READ ANOTHER BUFFER ; ; CALL DISKR ORA A ;ZERO VALUE IF READ OK JZ G0 ;FOR ANOTHER BYTE ; END OF DATA, RETURN WITH CARRY SET FOR EOF STC RET ; G0: ;READ THE BYTE AT BUFF+REG A MOV E,A ;LS BYTE OF BUFFER INDEX MVI D,0 ;DOUBLE PRECISION INDEX TO DE INR A ;INDEX=INDEX+1 STA IBP ;BACK TO MEMORY ; POINTER IS INCREMENTED ; SAVE THE CURRENT FILE ADDRESS LXI H,BUFF DAD D ; ABSOLUTE CHARACTER ADDRESS IS IN HL MOV A,M ; BYTE IS IN THE ACCUMULATOR ORA A ;RESET CARRY BIT RET ; ¨åå RSETUP: ;SET UP FILE ; OPEN THE FILE FOR INPUT XRA A ;ZERO TO ACCUM STA FCBCR ;CLEAR CURRENT RECORD ; LXI D,FCB MVI C,OPENF CALL BDOS ; 255 IN ACCUM IF OPEN ERROR RET ; DISKR: ;READ DISK FILE RECORD PUSH H! PUSH D! PUSH B LXI D,FCB MVI C,READF CALL BDOS POP B! POP D! POP H RET ; ; FIXED MESSAGE AREA SIGNON: DB 'FILE DUMP VERSION 1.4$' OPNMSG: DB CR,LF,'NO INPUT FILE PRESENT ON DISK$' ; VARIABLE AREA IBP: DS 2 ;INPUT BUFFER POINTER OLDSP: DS 2 ;ENTRY SP VALUE FROM CCP ; ¨åå žÍB ; STACK AREA DS 64 ;RESERVE 32 LEVEL STACK STKTOP: ; END ÿOPENF CALL BDOS ; 255 IN ACCUM IF OPEN ERROR RET ; DISKR: ;READ DISK FILE RECORD PUSH H! PUSH D! PUSH B LXI D,FCB MVI C,READF CALL BDOS POP B! POP D! POP H RET ; ; FIXED MESSAGE AREA SIGNON: DB 'FILE DUMP VERSION 1.4$' OPNMSG: DB CR�,LF,'NO INPUT FILE PRESENT ON DISK$' ; VARIABLE AREA IBP: DS 2 ;INPUT BUFFER POINTER OLDSP: DS 2 ;ENTRY SP VALUE FROM CCP ; p  ÏEA (RESTORED AT FINIS) LXI SP,STKTOP ; READ AND PRINT SUCCESSIVE BUFFERS CALL SETUP ;SET UP INPUT FILE CPI 255 ;255 IF FILE NOT PRESENT JNZ OPENOK ;SKIP IF OPEN IS OK ; ; FILE NOT THERE, GIVE ERROR MESSAGE AND RETURN LXI D,OPNMSG CALL ERR JMP FINIS ;TO RETURN ; OPENOK: ;OPEN OPERATION OK, SET BUFFER INDEX TO END MVI A,80H STA IBP ;SET BUFFER POINTER TO 80H ; HL CONTAINS NEXT ADDRESS TO PRINT LXI H,0 ;START WITH 0000 ; GLOOP: PUSH H ;SAVE LINE POSITION CALL GNB POP H ;RECALL  Ë LINE POSITION JC FINIS ;CARRY SET BY GNB IF END FILE MOV B,A ; PRINT HEX VALUES ; CHECK FOR LINE FOLD MOV A,L ANI 0FH ;CHECK LOW 4 BITS JNZ NONUM ; PRINT LINE NUMBER CALL CRLF ; ; CHECK FOR BREAK KEY CALL BREAK ; ACCUM LSB = 1 IF CHARACTER READY RRC ;INTO CARRY JC FINIS ;DON'T PRINT ANY MORE ; MOV A,H CALL PHEX MOV A,L CALL PHEX NONUM: INX H ;TO NEXT LINE NUMBER MVI A,' ' CALL PCHAR MOV A,B CALL PHEX JMP GLOOP ; FINIS: ; END OF DUMP, RETURN TO CCP ; (NOTE ¿ ¬@åå -THAT A JMP TO 0000H REBOOTS) CALL CRLF LHLD OLDSP SPHL ; STACK POINTER CONTAINS CCP'S STACK LOCATION RET ;TO THE CCP ; ; ; SUBROUTINES ; BREAK: ;CHECK BREAK KEY (ACTUALLY ANY KEY WILL DO) PUSH H! PUSH D! PUSH B; ENVIRONMENT SAVED MVI C,BRKF CALL BDOS POP B! POP D! POP H; ENVIRONMENT RESTORED RET ; PCHAR: ;PRINT A CHARACTER PUSH H! PUSH D! PUSH B; SAVED MVI C,TYPEF MOV E,A CALL BDOS POP B! POP D! POP H; RESTORED RET ; CRLF: MVI A,CR CALL PCHAR MVI A,LF CALL PC '1 Íͤç Altos 5-1/4 inch disk copy program V1.0 Insert diskette to be read from in drive A Insert diskette to be written to in drive B Type return$Íþ ÷Í¿:¡OÍÂ: OÍÅ*¢MDÍÈÍËþ(Íé*¢€ "¢: <2 þ% ÐÍ¿!"¢>2 :¡OÍÂ: OÍÅ*¢MDÍÈÍÎþ(Í*¢€ "¢: <2 þ% Î:¡<2¡þ (>2 ÍÎ!"¢ð!"¢>2¡<2  ÍÍæßþYÊÍ Do you want to repeat, (Y/N) $ÃÝçêíðóöùüÿÃÂÃÅÃÈÃËÃÎÃÑÃÔÃ×ÃÚ§*6í°É öÍÍ I/O erro  ™HAR RET ; ; PNIB: ;PRINT NIBBLE IN REG A ANI 0FH ;LOW 4 BITS CPI 10 JNC P10 ; LESS THAN OR EQUAL TO 9 ADI '0' JMP PRN ; ; GREATER OR EQUAL TO 10 P10: ADI 'A' - 10 PRN: CALL PCHAR RET ; PHEX: ;PRINT HEX CHAR IN REG A PUSH PSW RRC RRC RRC RRC CALL PNIB ;PRINT NIBBLE POP PSW CALL PNIB RET ; ERR: ;PRINT ERROR MESSAGE ; D,E ADDRESSES MESSAGE ENDING WITH "$" MVI C,PRINTF ;PRINT BUFFER FUNCTION CALL BDOS RET ; ; GNB: ;GET NEXT BYTE LDA IBP CPI 80H JNZ G0 $ÛPr on read, try another disk$ )ÍÍ I/O error on write, try another disk$ÿME FCBFN EQU FCB+1 ;FILE NAME FCBFT EQU FCB+9 ;DISK FILE TYPE (3 CHARACTERS) FCBRL EQU FCB+12 ;FILE'S CURRENT REEL NUMBER FCBRC EQU FCB+15 ;FILE'S RECORD COUNT (0 TO 128) FCBCR EQU FCB+32 ;CURRENT (NEXT) RECORD NUMBER (0 TO 127) FCBLN EQU FCB+33 ;FC�B LENGTH ; ; SET UP STACK LXI H,0 DAD SP ; ENTRY STACK POINTER IN HL FROM THE CCP SHLD OLDSP ; SET SP TO LOCAL STACK AR X + ; READ ANOTHER BUFFER ; ; CALL DISKR ORA A ;ZERO VALUE IF READ OK JZ G0 ;FOR ANOTHER BYTE ; END OF DATA, RETURN WITH CARRY SET FOR EOF STC RET ; G0: ;READ THE BYTE AT BUFF+REG A MOV E,A ;LS BYTE OF BUFFER INDEX MVI D,0 ;DOUBLE PRECISION INDEX TO DE INR A ;INDEX=INDEX+1 STA IBP ;BACK TO MEMORY ; POINTER IS INCREMENTED ; SAVE THE CURRENT FILE ADDRESS LXI H,BUFF DAD D ; ABSOLUTE CHARACTER ADDRESS IS IN HL MOV A,M ; BYTE IS IN THE ACCUMULATOR ORA A ;RESET CARRY BIT RET ; ¨åå RSETUP: ;SET UP FILE ; OPEN THE FILE FOR INPUT XRA A ;ZERO TO ACCUM STA FCBCR ;CLEAR CURRENT RECORD ; LXI D,FCB MVI C,OPENF CALL BDOS ; 255 IN ACCUM IF OPEN ERROR RET ; DISKR: ;READ DISK FILE RECORD PUSH H! PUSH D! PUSH B LXI D,FCB MVI C,READF CALL BDOS POP B! POP D! POP H RET ; ; FIXED MESSAGE AREA SIGNON: DB 'FILE DUMP VERSION 1.4$' OPNMSG: DB CR,LF,'NO INPUT FILE PRESENT ON DISK$' ; VARIABLE AREA IBP: DS 2 ;INPUT BUFFER POINTER OLDSP: DS 2 ;ENTRY SP VALUE FROM CCP ; ¨åå ÛÍÒ ÍÍþ ÷e Altos 5-1/4 inch boot copy program V1.0 Insert diskette to be read from in drive A: and type CR$1Íí:ÏOÍð:ÎOÍó*ÐMDÍöÍùþ(Í*Ѐ "Ð:Î<2Îþ% Ð:Ï<2Ïþ(>2ε ØÍ; Insert diskette to be written to in drive A: and type CR$Íþ ÷>2Ï<2Î!"Ð1Íí:ÏOÍð:ÎOÍó*ÐMDÍöÍüþ(ÍJ*Ѐ "Ð:Î<2Îþ% Î:Ï<2Ïþ(>2γ!"Ð>2Ï<2ÎÍü ­ÍÍæßþYÊÍ Do you want to repeat, (Y/N) $à ÃÕÃØÃÛÃÞÃáÃäÃçÃêÃíÃðÃóÃöÃùÃüà ¨åå À‡€ÿÃÃÃÕ*6í°É $ÍÍ I/O error on read, try another disk$ WÍÍ I/O error on write, try another disk$Àåå ¨åå ¨åå Ï ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå  ¨åå ¨åå Ñ ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå F ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå  ¨åå ¨åå J¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ݨåå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå èåå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå T¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå 3¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¤¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå º¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå -¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå !¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¶¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¨¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ?¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå €¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ž¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå  ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ’¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå Œ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå {¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ì¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ò¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå e¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå i¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå þ¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå à¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå w¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå _¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå Ȩåå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå Ö¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå A¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå M¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå Ú¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå Ĩåå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå S¨åå¨åå¨åå¨åå¨åå¨åå¨åå ¨åå¨åå ­ ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå : ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå ¨åå  ¨åå ¨åå !$!¨åå!¨åå!¨åå!¨åå!¨åå!¨åå!¨åå! ¨åå!¨åå !³!¨åå!¨åå!¨åå!¨åå!¨åå!¨åå!¨åå! ¨åå!¨åå "¿"¨åå"¨åå"¨åå"¨åå"¨åå"¨åå"¨åå" ¨åå"¨åå "("¨åå"¨åå"¨åå"¨åå"¨åå"¨åå"¨åå" ¨åå"¨åå #6#¨åå#¨åå#¨åå#¨åå#¨åå#¨åå#¨åå# ¨åå#¨åå #¡#¨åå#¨åå#¨åå#¨åå#¨åå#¨åå#¨åå# ¨åå#¨åå $‰$¨åå$¨åå$¨åå$¨åå$¨åå$¨åå$¨åå$ ¨åå$¨åå $$¨åå$¨åå$¨åå$¨åå$¨åå$¨åå$¨åå$ ¨åå$¨åå %%¨åå%¨åå%¨åå%¨åå%¨åå%¨åå%¨åå% ¨åå%¨åå %—%¨åå%¨åå%¨åå%¨åå%¨åå%¨åå%¨åå% ¨åå%¨åå &›&¨åå&¨åå&¨åå&¨åå&¨åå&¨åå&¨åå& ¨åå&¨åå & &¨åå&¨åå&¨åå&¨åå&¨åå&¨åå&¨åå& ¨åå&¨åå ''¨åå'¨åå'¨åå'¨åå'¨åå'¨åå'¨åå' ¨åå'¨åå '…'¨åå'¨åå'¨åå'¨åå'¨åå'¨åå'¨åå' ¨åå'¨åå (å(¨åå(¨åå(¨åå(¨åå(¨åå(¨åå(¨åå( ¨åå(¨åå (r(¨åå(¨åå(¨åå(¨åå(¨åå(¨åå(¨åå( ¨åå(¨åå )l)¨åå)¨åå)¨åå)¨åå)¨åå)¨åå)¨åå) ¨åå)¨åå )û)¨åå)¨åå)¨åå)¨åå)¨åå)¨åå)¨åå) ¨åå)¨åå *÷*¨åå*¨åå*¨åå*¨åå*¨åå*¨åå*¨åå* ¨åå*¨åå *`*¨åå*¨åå*¨åå*¨åå*¨åå*¨åå*¨åå* ¨åå*¨åå +~+¨åå+¨åå+¨åå+¨åå+¨åå+¨åå+¨åå+ ¨åå+¨åå +é+¨åå+¨åå+¨åå+¨åå+¨åå+¨åå+¨åå+ ¨åå+¨åå ,Á,¨åå,¨åå,¨åå,¨åå,¨åå,¨åå,¨åå, ¨åå,¨åå ,V,¨åå,¨åå,¨åå,¨åå,¨åå,¨åå,¨åå, ¨åå,¨åå -H-¨åå-¨åå-¨åå-¨åå-¨åå-¨åå-¨åå- ¨åå-¨åå -ß-¨åå-¨åå-¨åå-¨åå-¨åå-¨åå-¨åå- ¨åå-¨åå .Ó.¨åå.¨åå.¨åå.¨åå.¨åå.¨åå.¨åå. ¨åå.¨åå .D.¨åå.¨åå.¨åå.¨åå.¨åå.¨åå.¨åå. ¨åå.¨åå /Z/¨åå/¨åå/¨åå/¨åå/¨åå/¨åå/¨åå/ ¨åå/¨åå /Í/¨åå/¨åå/¨åå/¨åå/¨åå/¨åå/¨åå/ ¨åå/¨åå 0ª0¨åå0¨åå0¨åå0¨åå0¨åå0¨åå0¨åå0 ¨åå0¨åå 0=0¨åå0¨åå0¨åå0¨åå0¨åå0¨åå0¨åå0 ¨åå0¨åå 1#1¨åå1¨åå1¨åå1¨åå1¨åå1¨åå1¨åå1 ¨åå1¨åå 1´1¨åå1¨åå1¨åå1¨åå1¨åå1¨åå1¨åå1 ¨åå1¨åå 2¸2¨åå2¨åå2¨åå2¨åå2¨åå2¨åå2¨åå2 ¨åå2¨åå 2/2¨åå2¨åå2¨åå2¨åå2¨åå2¨åå2¨åå2 ¨åå2¨åå 313¨åå3¨åå3¨åå3¨åå3¨åå3¨åå3¨åå3 ¨åå3¨åå 3¦3¨åå3¨åå3¨åå3¨åå3¨åå3¨åå3¨åå3 ¨åå3¨åå 4Ž4¨åå4¨åå4¨åå4¨åå4¨åå4¨åå4¨åå4 ¨åå4¨åå 44¨åå4¨åå4¨åå4¨åå4¨åå4¨åå4¨åå4 ¨åå4¨åå 55¨åå5¨åå5¨åå5¨åå5¨åå5¨åå5¨åå5 ¨åå5¨åå 5�5¨åå5¨åå5¨åå5¨åå5¨åå5¨åå5¨åå5 ¨åå5¨åå 6œ6¨åå6¨åå6¨åå6¨åå6¨åå6¨åå6¨åå6 ¨åå6¨åå 6 6¨åå6¨åå6¨åå6¨åå6¨åå6¨åå6¨åå6 ¨åå6¨åå 77¨åå7¨åå7¨åå7¨åå7¨åå7¨åå7¨åå7 ¨åå7¨åå 7‚7¨åå7¨åå7¨åå7¨åå7¨åå7¨åå7¨åå7 ¨åå7¨åå 8â8¨åå8¨åå8¨åå8¨åå8¨åå8¨åå8¨åå8 ¨åå8¨åå 8u8¨åå8¨åå8¨åå8¨åå8¨åå8¨åå8¨åå8 ¨åå8¨åå 9k9¨åå9¨åå9¨åå9¨åå9¨åå9¨åå9¨åå9 ¨åå9¨åå 9ü9¨åå9¨åå9¨åå9¨åå9¨åå9¨åå9¨åå9 ¨åå9¨åå :ð:¨åå:¨åå:¨åå:¨åå:¨åå:¨åå:¨åå: ¨åå:¨åå :g:¨åå:¨åå:¨åå:¨åå:¨åå:¨åå:¨åå: ¨åå:¨åå ;y;¨åå;¨åå;¨åå;¨åå;¨åå;¨åå;¨åå; ¨åå;¨åå ;î;¨åå;¨åå;¨åå;¨åå;¨åå;¨åå;¨åå; ¨åå;¨åå <Æ<¨åå<¨åå<¨åå<¨åå<¨åå<¨åå<¨åå< ¨åå<¨åå <Q<¨åå<¨åå<¨åå<¨åå<¨åå<¨åå<¨åå< ¨åå<¨åå =O=¨åå=¨åå=¨åå=¨åå=¨åå=¨åå=¨åå= ¨åå=¨åå =Ø=¨åå=¨åå=¨åå=¨åå=¨åå=¨åå=¨åå= ¨åå=¨åå >Ô>¨åå>¨åå>¨åå>¨åå>¨åå>¨åå>¨åå> ¨åå>¨åå >C>¨åå>¨åå>¨åå>¨åå>¨åå>¨åå>¨åå> ¨åå>¨åå ?]?¨åå?¨åå?¨åå?¨åå?¨åå?¨åå?¨åå? ¨åå?¨åå ?Ê?¨åå?¨åå?¨åå?¨åå?¨åå?¨åå?¨åå? ¨åå?¨åå @‘@¨åå@¨åå@¨åå@¨åå@¨åå@¨åå@¨åå@ ¨åå@¨åå @@¨åå@¨åå@¨åå@¨åå@¨åå@¨åå@¨åå@ ¨åå@¨åå AA¨ååA¨ååA¨ååA¨ååA¨ååA¨ååA¨ååA ¨ååA¨åå A�A¨ååA¨ååA¨ååA¨ååA¨ååA¨ååA¨ååA ¨ååA¨åå BƒB¨ååB¨ååB¨ååB¨ååB¨ååB¨ååB¨ååB ¨ååB¨åå BB¨ååB¨ååB¨ååB¨ååB¨ååB¨ååB¨ååB ¨ååB¨åå C C¨ååC¨ååC¨ååC¨ååC¨ååC¨ååC¨ååC ¨ååC¨åå C�C¨ååC¨ååC¨ååC¨ååC¨ååC¨ååC¨ååC ¨ååC¨åå DµD¨ååD¨ååD¨ååD¨ååD¨ååD¨ååD¨ååD ¨ååD¨åå D"D¨ååD¨ååD¨ååD¨ååD¨ååD¨ååD¨ååD ¨ååD¨åå E