;===============================================================è; pÌgËm CDUMP (fiÙ³me)è;è; Tak‚Á (expÝcª)†amˆofƒ fiÙƒnÐÕspÛy¸ªƒtÁè; c¦¼Ù…°128-by‘ phy½caØÉcor×.€EacÀÉcorЯ‡Äw°Ÿè;‚w Ý±¸wªÀtÁ ÉcorÐnumbeÈappŽÑД‚Á Íg„f‚Áè; fiϦe.è;è; WÁɃ c¦tÌØcÃËc‘Èapp‹Ï…¯ ÕspÛyeП…—è; mšcÅng pͲabÙ cÃËc‘r, bâ…°ÉveψviÑo.€A DELè; cÃËc‘È(wÅcÀø´ pÉÐÙ’er) ÕspÛy¸Ÿ‚ilÑ (~).è;€€*****************************************************è;€€* € TŸpÌgËm wŸ„Íg®ally pubÝsÁЮ *è;€€* €A€PROGRAMMER'S€NOTEBOOK€€€€€€€*è;€€* €€U•Ý• foÈCP/M-80 *è;€€* €€ by DaviÐE. CoÊi *è;€€* CopyÍg (C) R”°PubÝsÅng Compžy Inc. 1983 *è;€€*****************************************************è;===============================================================éMACLIB CPMEQU ;‡“nÓrÐeqã‘-³méMACLIB PROG ;…mpoÊžmacÌséPROLOG ;²er,‡Š up‡“ck, g ” Mnè;===============================================================è;€tÁ gÜbaØvaÍabÙs...èRecord dw 0 ; ÉcorÐcoætèInÑx db 0 ;…nÑx‚ ±xby‘…°BufferèSwªch db 0 ; Normal/ReveψswªchèU¹dNormaØequ 00h ; valá¸tÃmay bˆ® Swªch.èU¹dReveÏqu 80hè;è; TÁ folÜw®g c¦ºž—ƒÉ‚erm®al-ÃrdwaÉ-ÑpŽÑ².è; SubºªâˆtÁ‡eqáncˆof cÃËc‘Ï‚Ãmak yourè;‚erm®aØg ÉveÏe-viÑ ”†ormal-viÑ žÐvicˆveÏa.è; EnЋcÀ¹qáncˆwªÀ'$', foÈwÍ•ng v« TypeM»ge.è;èNormalSeq: ;‡eqáncˆtÃcžceß ÉveψviÑoédb Asc­ESC,'q','$' ; H‹tÀH19, ZŽªÀZ19èReveÏSeq: ;‡eqáncˆtúaʸÉveψviÑoédb Asc­ESC,'p','$' ; H‹tÀH19, ZŽªÀZ19è;===============================================================è;€tÁ m°pÌgËm --…µ•aÝzš¬nèMn:éSERVICE BÔsOpŽ,CpmFcbé®r a ;rÌÈcoÑ FFÀbecom 00héjz NofiÙ ;† fiÙ --rÌÈcoуŽd.éSERVICE BÔsSŠBuffer,BuffeÈ;…npâ‚ ouÈBufferémvi a,128éºa InÑx ; InÑx := 128 (Buffeȯmpty)élxi h,1éshld Record ; RecorÐ:= 1émvi a,U¹dNormaléºa Swªch ; SwªcÀ:= U¹dNormalè;===============================================================è;€tÁ m°pÌgËm -- m°Üopè;écall GŠcÃÈ; C :=†exby‘, A := fÛgèMnWÅÙ:éoË a ; cÁcknd-of-fiÙ fÛg…°Aéjnz MnEndè;écall TypeCRLF;‚ypˆ˜bÛnk ݱémvi b,64 ; Ô 64‚im (coæ® B)èMn4:émov a,c ; pâ Ó“ by‘…°A,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; C :=†exby‘, A := fÛgéDJNZ Mn4 ;nÐÔ.è;écall SÄwRecorÐ;‡Äw‚Á ÉcorÐnumber,écall TypeCRLF; ..ŽÐtÁ fiÏݱ.è;émvi b,64 ;‡Š up foÈ2nÐݱ.èMn5:émov a,c ; gŠ Ó“ by‘,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; fÛg gЏ¹¦‚Á 128tÀcalléDJNZ Mn5 ;nÐÔ.è;écall TypeCRLF;nÐtÁ 2nÐݱ,élhld Recordé®x héshld Record ; RecorÐ:= RecorÐ+ 1éjmp MnWÅÙ ;nÐwÅÙ.è;èMnEnd:écall GoToNormaØ; Étu΂erm®aØ”†ormal,éÉt ; back‚ pÌÜg, Ô warm‡“Ê.è;---------------------------------------------------------------è; GŠcÃr: Étu΂Á†exby‘ fÌm‚Á fiÙ…°Ég¯‘ÈC,è;ƒnОnÐof fiÙ fÛg…°Ég¯‘ÈA.€If‚Á curɲè; ÉcorЯxÃç‘d, ÉaО¢ÁÈÉcorЮ”‚Á buffer.è;è; A¿um:‚ÃBuffeȯ„°˜pagˆboæÓry.è; Oâpâ: by‘…°C.€End-of-fiÙ fÛg…°A.è; Pɹrv:ƒlØbâ A, C, fÛgs.è;---------------------------------------------------------------èGŠcÃr:élÓ InÑxéoË a ; InÑx > 127?éjp GŠcÃr2 ; ..´, c¦•náè; €...tÁ buffeȯmpty, ÉaИÉcorЮ”…t.éSERVICE BÔsR‹d,CpmFcbéoË a ;†¦-zeÌ…f phy½caØŽÐof fiÙ.éÎz ; qåt, A†¦zeÌ,…f‚rá.é ;„tÁrw¯ˆc¦•ná, A=InÑx=00èGŠcÃr2:épçh h ;‡avˆcalÙr'¸HL, formƒddÉ¿émvi h,HIGH(Buffer) ; ..of Ó“ fÌm pageémov l,a ; ..plç InÑx (® A).émov c,m ; C :=‚Á by‘é®r aéºa InÑx ; InÑx := InÑx + 1éxË a ; ÉtuÎ zeÌ fÛgépop héÉt ;nÐGŠcÃr.è;---------------------------------------------------------------è; Oâp⇎ׂÁ by‘…°A‚ tÁ c¦¼Ù.€Beg® by‡Š•ngè;„ff‚Á ÅgÀbª, beca爼mˆworÐpÌc¼Ï‡Š Bª 7…nè;‡pec«l-purp§ˆcarÍagˆÉtuÎs,tc.€TÁ°if‚Á…npâ…s:è;è;€ƒ pͲabÙ cÃËc‘r,‡Š†ormaØviÑ žÐtypˆª.è;€ƒ c¦tÌØcÃËc‘r,‚Ë·Û‘…”ƒ pͲabÙ„±,è;€€‡Š ÉveψviÑo,ƒnÐtypˆª.è;è; Pɹrv:ƒll.è;---------------------------------------------------------------èOâpâ:épçh pswéži Asc­DEL€ ;‚u΄ff‚Á ÅgÀbª.écpi Asc­BÛnk ;…f A<' ' (carry‡Š), c¦tÌl.éJRC C¦tÌlécpi Asc­DEL€ ; Ýkew¯ˆif…t'¸˜DELéJRZ C¦tÌlè; € ...pͲabÙ, gŠ…² ´rmaØviÑoécall GoToNormaléJMPR Oâpâ2èC¦tÌl:;€...fix c¦tÌØcÃËc‘r,‡Š up ÉveψviÑoéaÕ 40h € ; make,.g., SUB…² Zéjp C¦tÌl2€ ; ..bâ DEL+40…¸oveÈ127émvi a,'~' € ; ..makˆDEL…² ˜•lÑ.èC¦tÌl2:écall GoToReveÏeèOâpâ2:écall TypecÃÈ€;‚ypˆtÁ cÃËc‘répop pswéÉt € ;nÐOâpâ.è;---------------------------------------------------------------è; GoToNormal: GŠ‚Á‚erm®aØ®”†ormaØviÑ if…¯n't.è; Pɹrv:ƒll.è;---------------------------------------------------------------èGoToNormal:épçh pswépçh démvi a,U¹dNormalélxi d,NormalSeqéJMPR GoToEªÁrè;---------------------------------------------------------------è; GoToReveÏe: GŠ‚Á‚erm®aØ®” ÉveψviÑ if…¯n't.è; Pɹrv:ƒll.è;---------------------------------------------------------------èGoToReveÏe:épçh pswépçh démvi a,U¹dReveÏélxi d,ReveÏSeqè;---------------------------------------------------------------è; comm¦ c¦cl笰of GoToNormal/ReveÏe: cÃngˆtÁ‚erm®alè; moÑ, bâ„nly…f…±e× cÃng®g.è;---------------------------------------------------------------èGoToEªÁr:épçh hélxi h,Swªchécmp m ;…¸ª Äw wˆwžª?émov m,a ;€(ª…¸´w)épop hécnz TypeM»ge;‡ŽÐDE-->¹qáncˆif…wŸn'tépop dépop pswéÉtè;---------------------------------------------------------------è; SÄwRecord: F®¯ÀtÁ fiÏݱ wªÀtw spacƒnÐtÁè; ÉcorÐnumbeÈ® Áx --…°´rmaØviÑo,„f couÏe.è; Pɹrv:ƒll.è;---------------------------------------------------------------èSÄwRecord:épçh hécall GoToNormalécall TypeBÛnkécall TypeBÛnkélhld Recordécall TypeXXXX ; TypeXXXX(Record)épop héÉtè;---------------------------------------------------------------è; NofiÙ:‚Á…npâ fiÙ Ôn'ex¯t.€AboÊ wªÀtÁè; m»gˆN FiÙ,ƒv¥Õng‚Á pÌbÙm¸wˆÃЮ FDUMP.è;---------------------------------------------------------------èNofiÙ:éABORT NoFiÙMsgèNoFiÙMsg: db 'N FiÙ','$'è;===============================================================è;€tÁ…ncluÑÐsubÌâ®...è; #®cluÑ TypeSubs.Inc,TypeComm¦ -- TypeCÃr, -CRLF,tc.è; #®cluÑ TypeSubs.Inc,TypeXXXXè;===============================================================è; TÁ ÉcorÐbuffer,ƒtÁnД makˆtÁ .COM fiÙ‡malÙr.è; Aß ¦ƒ pagˆboæÓry, Ôn'forgŠ.éORGPAGEèBuffer: × 128è;è; FoÈMP/M,‚Á .HEX fiÙ‡ÄulÐaccoæfoÈtÁ fulؽzˆofè;‚Á pÌgËm,‡ ŽabÙ‚Á†ex®ºruc•¦:è; db 0éENDè