;===============================================================è; 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 ” M�nè;===============================================================è;€tÁ gÜbaØvaÍabÙs...èRecord dw 0 ; ÉcorÐcoætèInÑx db 0 ;…nÑx‚ ±x�by‘…°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èM�n:é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 :=†ex�by‘, A := fÛgèM�nWÅÙ:éoË a ; cÁck�nd-of-fiÙ fÛg…°Aéjnz M�nEndè;écall TypeCRLF;‚ypˆ˜bÛnk ݱémvi b,64 ; Ô 64‚im� (coæ�® B)èM�n4:émov a,c ; pâ Ó“ by‘…°A,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; C :=†ex�by‘, A := fÛgéDJNZ M�n4 ;�nÐÔ.è;écall SÄwRecorÐ;‡Äw‚Á ÉcorÐnumber,écall TypeCRLF; ..ŽÐtÁ fiÏ�ݱ.è;émvi b,64 ;‡Š up foÈ2nÐݱ.èM�n5:émov a,c ; gŠ Ó“ by‘,écall Oâpâ ; ..wÍ‘…t.écall GŠcÃÈ; fÛg gЏ¹�¦‚Á 128tÀcalléDJNZ M�n5 ;�nÐÔ.è;écall TypeCRLF;�nÐtÁ 2nÐݱ,élhld Recordé®x héshld Record ; RecorÐ:= RecorÐ+ 1éjmp M�nWÅÙ ;�nÐwÅÙ.è;èM�nEnd:écall GoToNormaØ; Étu΂erm®aØ”†ormal,éÉt ; back‚ pÌÜg, Ô warm‡“Ê.è;---------------------------------------------------------------è; GŠcÃr: Étu΂Á†ex�by‘ 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è