ASCII EQUKKAYPRO KEY ;VT52 AQMBVT52 COMS:VT52 DQCiVT52VI AQMzE]BDOS EQU;Symbolic Definitions for some ASCII characters ; BELL EQU 07H ;ASCII BEL (Control-G) TAB EQU 09H ;ASCII Tab (Control-I) LF EQU 0AH ;ASCII Line Feed (CTRL-J) FF EQU 0CH ;ASCII Form Feed (CTRL-L) CR EQU 0DH ;ASCII Carriage Return (CTRL-M) XON EQU 11H ;The the ASCII character used for XON XOFF EQU 13H ;The the ASCII character used for XOFF ESC EQU 1BH ;ASCII ESCape SUBT EQU 1AH ;ASCII SUB (CTRL-Z) DEL EQU 7FH ;ASCII DELete (rubout) BS EQU 08H ;ASCII BackSpace space EQU 20h ;ascii space ----------------------------------------- | | | | | | UP | DOWN | LEFT | RIGHT | | REPLACE | SECT | APPEND | SPECINS | | | | | | ----------------------------------------- ----------------------------------------- | | | | | | PAGE | FNDNXT | DEL W | GOLD | | COMMAND | FIND | UND W | | | | | | | ----------------------------------------- | | | | | | ADVANCE | BACKUP | DEL C | DEL L | | BOTTOM | TOP | UND C | UND L | | | | | | ----------------------------------------- | | | | | | WORD | EOL | CUT | | | CHNGCASE| DEL EOL | PASTE | | | | | | ENTER | ------------------------------- SUBS | | | | | | LINE | SELECT | | | OPEN LINE | RESET | | | | | | ----------------------------------------- v8VT52.AZM_  !"$#%&('*)+,-./0132457689:;=<?>@ABDCFEGHIJKLoMNOPQRSUTVWXZY[\]^FC?xpHݻC | >hȱ{rQ/m>?<1GD=3Z_-)i`q3@ۊ.c6x^Q)"T߇Qt۶d9D @vD=۟ H{?kQ@CԈYbadIO?JcASz{ᆠkԠ v[zn.{aqpCЃjaMFl+/lׇL&ڽssÈmmq `F|LӚpj˘ ׉W ETjfpjgyƊø/#fpjoC'l^9s6U?'3ՄÖ-==U+-k^ )mqf)r ka6rka Ǐ$}9ia0PI[-0spND&;0~b+;ȱW?Dh:z|1b;+Ķr˘z:DžxUq IKOmj^^'6mFl+7NqyA/TMT޽<زţg[L"ɳ |˜x\csl+7N2"2س-c˸]ˈL*ճ]oi9'BOufz}P}@VOeu"[϶ŵ:-VA/ Dό^v-VA2Jݾ9 L_zž]ƪ]ln aoBN?U%g'aAM*ݹ1'd;yίp<8$a`U^ǷIvb;x%J X,A샭+ /ծrK{T<"SAQq?htFuTgzastm̬!}S=Se N`tdX|Pe.ݵO;}1+|_[<[]غcݵOVǝgBui RyUzlc*\^tqUy;iy3vbU`jrUil]zƲbw0V}|Pe]c-~u?p*?h]c-N񓝢3ևSRֈMIyNh^G^\r?_|?lNuJݾM 雒0vѼ2~r?hy#%PMlZz]a0Vdt6N S:|@ꛐ: L .z_ᅠnIbL\׻/z_iA`NT_z_nAIzg|鰄sA/fqg'A/=IzgUp:,+|P OJr>{~b>c+X>𳭋X8 ;B{Rqui^yFTA*ZĸbNTQӠiN=Iz+X1Fwx"KhgO׉e}I҃>++GDzNKhgO׉eRRq< cźbN/>ȟR㟆ƙW׉3/ͅJE+4ԠƸG]<?DMÇluoo$/VIdJR*xÄ<ꔺ}/ 9׻/W^'l[\X b: ODk b:}/shj&W ˷%=0.s<8$Eʞ϶-'6gŶl3`|UVMmjrUAw_P7i~u1Fl+7N2? уVs4y;4QA4)aJ!}Su}B&A˘ᱮh^fAH{ފ0u8+X/cFoz_nAHzsz~"yfyn(@k\!j雒c>ȟRr40μyeux46}wJ ~Pk*lD溳ĵ:Ѽ2A/fA{ϊyn4蹒cxĖwz_n}V4̣y}PJ Ǐ不v}2ft찪JA kxlcϵ}PJ F不v}2ft}|P-"-D gJ4׼;5N/kx'[μ"ϱPA k3_%+NkVs}$=,g+]5ȳ n:2z_(?~Pk*5RUcZD \r O>I+;;+~e+{.(@WKJlWkVlgkޗ[=I|خlOvyUA/r |Rq?5AM} j:”YѼ2:FD^zq~:<$DB؃?!ʻ 3/\GOṢɜaMs탨i:M#}A4)aJY\3YuY\@SCꔺ}zӐAoN'|茕Acuyey3IV+=.D<-rXU}PqM1ORZ5Bz*ۉc5o@k\!}Sz>(\'6\A 7RZKOmSuJ5Ԑ)=tǶʪ)烚\Ur6셭_wM 9z_nAMf;+ٚ|?2:j\m^'vUFvVJE+$b}yުN׉;v$P-;+D8rK۾:Y^'ʋ5~bWetPz~P-;+D<ȟN)-o'=.wl+vÞy;˸JE+.=}@}P-́Dw?KP'=Y{e4yN%"}3}qe~P E>=P?} 79)Ozb]1cÍ&=JE+45oz_e~P E>=P?}S”:}P+-~Z#F5=ONӯJTZ<-=JݾӯT~5 '=|UVdٲynr *}=UV]TY~PejvWI%iy.ٳbAU.]\h_Ko|=w~5g"Gs1yTYr>@.T䱝uX<[ ON4#oau]u>%|Abz_ᅠhקAfA L7Jz8hrUg}@ Lթd"wV׉5~yeA)IzF[+gkD<%"ƕ{HߔDƼm\hrUg}P-B7>G*UA4|z_nAMf)J5C>RZ^bh`3V}Pe lMPyqR}/L5T!q+ /l'όc; {}1cl';y}!~ۙmXUy}vi^\wlg^'ȳyn^ixvd;ycX/c ƙ14T~?֌Uuj Dw;}PeuJAռk[w?J~?([WU*^郌ѫʪ+WEY񓝢yeux46PwZTFOml>.l1זKsyźt8|Pe 郶%|_[.Y϶2_>am. DwSc}PsgzҼ5tƼ>vjxvśuxt:afcR>v@g])n6Y4Tv@[2˘ O޶ez})n2fבWVW +m˘JK ɫHAm˘ \G^Y+HQ.c+ /l'Hm˘ \G^Y+N mIm̌Y4TQ mRF1ᕕ%Ыubk6Niw5kW[tqgC҃G5;AڧWg?sBtWSЫQ!kn zuR}PeՔAM*95tƼ>vjxvuW}Іu\.A,#=1_Ѽ>2fu>h:~Pe.cTȳ-;pv>U~?Ç֩ew],.l˘A>øשVz6A]c-AƬ\}m:c-YzyU䪊yn[lg^}:>| ;%L!x&˶#s?="؊+0b]^'_>C4" AKzu[O,2:\W=AzF[+Pq7g*Q]=yU+mV2}P=uC5j WO [wl?}́S-wO%iи}M{C>hDz@$|s>| ;%L3z:[!sl+`\s+kgkNί7:MIC]#vl0b[qJ0)W'۩ikĮ@m+nGJ\'NIz؉=nwl׉׵&3MTl'OfaU'i2!6+3~2ucju#,Ѽ2:|uvf \=ۙmX3::~Ӈ;ɎiØc]l~~KmAvLdcr[2mAvLғm?ȎL"Mjcr/=mAvLZIjq}^Iғm?Ȏ%2nmAvLIg ;$rr?Q~^$˘سX˘ n̋>|@f[\ya[U'vsT 醠-6uxd;`-=+󩂟nz0Kuƶd;`eMTnc[׽|=sc|tCЃ閖[z6ux 醠-mzjO9w)A+ܬ?v!tKꠍmd;`A;vj'-\G?P%ȣ3V {yeu33:% 醠-[z6ux~tCЃm눩̹N9yα>wWtd;`2K+=mN7=&Iuƶnz0%+yD Th^s4d;`2K{ꠍmd;`2KZzĆV^y;4 ck@q -x$z`$Ē> Oc-V9}tCЃ[ml 醠-Xc]u'yα> D$ia 5 } > L .Ny.B.dd;rw!O.{?v"'߅}rl']w!ޅ ۩]}@Єx$e~@>=Puc"7҃ˬ4i\Ճ?v̴xLclL{-N/J[Z=@N/+lLx߽ i2%^i$}4io^i i2%^^i i2%Ƽq i2%vJ'N/WZ={}4iJlL+?v̴xWA i2Q^iK|4ixsuN/VO2d;MfZ<+mi`&3-+mikl i2^iK:AdKҖV7ЯAz-mid;y^iK[Z=d;yI^iK[Z=Id;ydҖz|J[AA+miK'N^^iK[Z={}{-miSNWҖVN^J[)d;-3?vҖz?| ;%LmeEsyaʱ^y ;\ 5Ǻ+}ȳaD djakaD &jak555"2F`ROؼ' S:ԨaC019@}s4-)\ߧ&dM\})ՄxV̑k~:M[zbhTT[\hrUmMtxV#Ÿ55sdDl{'dM8lg1Qc&!}Ġ # ۩g;+̑( -gUO(xV̑kj7)%o7 9rTkak<+5?nJrHÇ'˞45sDͷ\lw!EHߔ&Ƴb\F܂!tIz6AGA.kDh+ln}emL=˘W+6A؃P7=.4" AKOr _moL=4Nx\NѼ2ZĸkVlDm4?TN}V4sA#"+=ڸuEsaZ OM'6s؅bz_z]*eͅF܂!5m4s׻/O$=;cawlEu5yA/Ի'Wz|yeuT+r0.I"[A/Ԉ'dRyz|˜؊e]5 lMq?p4"J?|D2>=d;-3?vҖz?| ;%LmeEsyaʱ^y ;\ 5Ǻ+}ȳaD djakaD &jak555"2!9"1@@!!3ͳ͚\BEKaypro VT52 emulator V1.2 as of 7/1/85 by Ray Rizzuto >@G^*|ʑʔ+"|”>:B͐.kU*2 G~xw# ¦N#~#y³=7 $͚!QͳiB *F*@:@+=2@_F{`#: #>2 #: #>2 x,"@7?7_....KsB:g{.>2.>2{Zx! =„!i"g>.!"g_:G>2x{O*g : >2: {?H: @2E X = exit S = setup B = send break @ = send null ^\ = send the command character ? = this menu @R˯B{:2O>G! N#FC>:BXSE Enter baud rate desired: A - no change J - 1800 baud B - 50 baud K - 2000 baud C - 75 baud L - 2400 baud D - 110 baud M - 3600 baud E - 134.5 baud N - 4800 baud F - 150 baud O - 7200 baud G - 300 baud P - 9600 baud H - 600 baud Q - 19200 Baud I - 1200 baud ? ˯ʮAڮRҮOsBE A22:2>G{~_# b/Z $6<Hl @DABDC?p?q?r?s?t?u?v?w?x?yPR?M?nABDC0123456789-, .B~_# b/Z $6<Hl @DABDC?AA?r?s?t?u?v?w?x?yPR?M?nABDC0123456789-, .B~_# b/Z $6<Hl @DABDC?AA?r?s?t?u?v?w?x?yPR?M?nABDC0123456789-, .9B>`+B:@<4B2@*@w,"@6B>06BBMD?B0QByͯC2MB>2NB&D˿yO:MBJDy ڌBҰBñB–BQBy B 4DAC>D B`ںB:NB&Dw#}P2E+2E&D}oP2E}Oo2E&D2MB!?B"IB:MB2MB*IBq#"IByDy@mD>2MB!DO>G ~2>B:MBG:>B:?B@ܒD>2MB!DO>G N#F`iD]CuCNCACDOEUECCCCDDDDDDDDDDDDDE:@B1ʤE2E3qE4[E&D!0:AB PEPo:@B  E2E=*E~2PB BE:OBwEEw"KB˿>2NB>2NB&D͌EgE!;D2E&D͌EʃE;!;D2E}o!;RDMx&DT]{O_RDMxET]+6 2E&DT]{O_RzEBKT]#6 2E~#OsBEvVT52.DOCQ   !#"$o%'&)(*+,-.0/123457698<:=;>?@ABCDEFHGIJKLMPONOjt5:ݸJWͰPq(f_ :Jp.YT{nZ:BثrDv1loGl' hCF:WH\ hgj%*\݆ 敿-cҮ3,Ԋ{5: hZT<>,JP+ߴY[/$~ez[Icw,cw=(}+U|9x}#@S "Iݤ y~cyN7^Z{ܯvXbG'yObW{މ))ˊAv\z`;xL/|xmO?Ap"Iݤ yyN75qy^fX5: j?Anp? ]LoC; }N7tFaN_: >i6Xދ_ 9@AO&ty%+6V^R7kt/FacɶϮٌm𤙆 't֗NT^}N}2/5:xNgm? ,i|g:_wx)/Wfvzj/|l/&8AqGBL{b~N`3mo~}nśvz'hb>8+VO<~DN 'uBjx,qW~EqxjuKxӶ'ێtϼ{5:xezΥ.. uϣv 2N7Nryvt~.>l;ao[K=^: ~9ul|D)}'Nγqq6'#RO's>@l`=*}JةwE{7gz<[5:xno)6eCgI3~ ie_6tW x_/8racy^]?x^Zˊj $isWv~{y.=ێtzktyn;twoڶf=+1h}uU=;oK+np 'u5:xF1bʃ i~7}*xLýqjױR$-5:Z=T<"6bVsxيw~- nv| "I].>WrlNГy\-AOjrR21%oI{6c!Ss>w#wh" PjuKxӶ'ێtϼ{5:xezΥ.vJVT52VI.AZMU  "!$#&%'(*)+-,./0214356879:;=<?>A@BCEDFGoHIJKMNLOQPSTRr_}ܙl!!c Ty$rLڽ_090&aR$_ ;//d uM-|I>/,[J c~w;_fr.>!B4S>E{rWFW6:M׻:NԨhG3$LW6ӱ*c]S^5}3!B8 eI| *ګjz)^Jh[K"k ^0Yַ;kؠSj]M5٧g j|Q،yξ3Y/Hh_;3``0_/zBzBLcgh$L>5/I~KǯA後So26Lc}:MnPS/u5tOLT e&ϱ65/Iv{~f_ eS}z}\ jw3d5A7L٧ j>cT_fo'\0N52 *XjDe ,5m[?u`.NTg_EAvѕ38~h7{QzBf#TߪuF}*ƪT#zB5/If_sy9|k8t3jUb\˳ jU*g39LcD &ߩF`h J}jl]lbg;F=ɹ61OysyEi̅Al=OO-B &7~ J}sjl]-t]F?Z9wwqYnL6V;W1Y?j!+;vNTWQ;W)`n$mP흝YjDB?NԉڹMi~h7S{'!_cɹ F4 ũT#Z]흝\O5;syEj;5/Ivz66RLeF0bfV1fr.uܵ;;J5ɹ DT#cXF֕jZCWw2y;{19d{E'z6T#m44ܐbw.`Ġ֮9TL;M_ޕJ5jN!&~; eSJ31wr $LeO5\@(NOJjL&syE 5;5/Ivz66RLeF0bfV1fr.uܵ;;J5ɹ DT#cTһ1R`>61OyP}r<=x2y;{19d{E'z6T#m44ܐ5;0xNbZSF09S0(NӕjDO-BL2v6˘fLdE;aL|25/If_ eS}z}˳OjvΨ//3y.u]vMw»|;Qr5m1TL^| O?_0YGv3&P}ig_γg_!_cofyؠ^<=WNۇɹ領ڃxڠ^<9BL}Qz~'~h7SB5/I+u'|gLQLL ԉ8-*ՈD,&t!_cofyؠ^<=WNۇ?jAy91t)`r.aN1ξBjZ_wڠڼqYO)`>61OysyEjąA}i=OO-BLn ԛU ]QDϧjN!&6%F\ֿ{ UnL=^QL^wڠڼڹMit{'װAwvf;1ju}vwSZd5@y1˘!B8 бAy {^n\O5 ^<މL} &2M@s{'o|\0߿dfL݉z}y8D'a~y:61OaOtUar.٧qaPFQSK?~h7`2)+ƪN`L/c7$L~3/C2)ξ x=t>LQ} ڼzݔV{0Lɹ;Qɹ領ڃr?j 0zcTLet1xNf_ eS}z}vN&闱1߿dfbz;C|lL'X~;Q%]og ԁ0N52_ &2Nx'4y!_c 0&ݾUC領ڃɹ)ɹ|g5}h 0~Zx{Ϊ9V}6:w3j*c.5x2R!B8 sy،>)3y_09s}R 's;AyyqLel4(;~)nz &wW]1Y^w3{WL-_fUbo)j4otdRW$Ohw-/(Gc&οC| p&c:WQO;FuUL;T#. ?EkvLc; An|a:WQ=EAj6&]t1xN  0Y|g Aghξ/6}5S?_fco8D'arCSh638ꫂT#x}~s->Ո\^ѿcPsz;QgiԿ[iɔ]!_cr5mRh%b\w+y2Y|g0&Hv1xNda_ ۠ģ̇iԿj&2vzӠXUL%8XmP8X,U^zA76(%鮄 ȇ KV^]k\L&˸ Ka}=ܠġz}09wicՏt)]L*vg^ͅC| p&K` 7iLw3SP!\ jU?ҥtA0u;^ !B8 si; ͫoj!}4O4LHRGuVa 53kLL TT9S=J&D8D'ar.^|"dlP!S:09>&'Oh&]*))k`Z{C| p&g{J٠f{JUg6&2ݧdd @QFٙһ:'T#r]F0WC| p&czDg_:m&6~T'ĭ>T.uv{ sbJ5R[J";>BZٙLΥӊl8D'ar.l Cr6]F0L} sbJ5RF(5Z]CRsb:Z'Z7wQfLkѴC| p&czDg_:m&LQ91td-Wc;;ɹ7w9`ruh8D'aizR`;f_fzL;mPCٗL*5B!B8 sy9Nar.g?mPPPC\SCWLQ} ͫΉMiCWwڠHGFCW\AlRڟSx2Aw+P۠'-c\~}2߿A=tN ]nLQ}'syE[6f[ .(j 5ĵ?5BT#< ԝ:'\|VaG֕j+lP+=tN \=dRWRl&xC| p&czDg_:m&ݾɹɹ}29gLcDb5j*&T#c\TUSF09L^iξVnij**v2yO˘N52̅AN&rUd>61OyCWwڠ,i%:LQ} ͫ=ٯAYm44CWwڠVz ם%:L/&`o)}i{D]}Le_Lׇ z%FC39W۠Vws9dw29:LWC| p&6;KZdr.c/ jjuϫ(KFeVΦ0߿A=tMi~h7v1xNmlNhtF͵N׿Э.u]QC39gnP5 QS:d뾚QR삄t0Y;m?ӠڼqY'4:Z'Zc>Z)] 2OhKar.~}]QCL~3Wjm,Ufb6!B8 sy9Nar.g?mPPPC\SCBDOS EQU 0005H ;Call BDOS ;BDOS calls ; ;Function Name Function Input Parameters Output Parameter ;============= ======== ================ ================ ; (ALL Function Numbers are passed in Register C) CONIN EQU 01H ;Read Console NONE ASCII Char in A CONOUT EQU 02H ;Write Console ASCII Char in E NONE AUXIN EQU 03H ;Auxiliary input RDRIN EQU 03H ;Read Reader NONE ASCII Char in A AUXOUT EQU 04H ;Auxiliary output PUNOUT EQU 04H ;Write Punch ASCII Char in E NONE LSTOUT EQU 05H ;Write List ASCII Char in E NONE DCONIO EQU 06H ;Direct Con I/O ASCII Char in E I/O Status in A ; if E=0FEH, ; Input if E=0FFH AUXIST EQU 07H ;Get AUXIN: status A=FF is character ; ready, A=0 if none GTIOB EQU 07H ;Get I/O status NONE I/O Status in A AUXOST EQU 08H ;Get AUXOUT: status A=FF if ready, A=0 ; if not ready PTIOB EQU 08H ;Put I/O status I/O Status in E NONE PRSTR EQU 09H ;Print String String-Address NONE ; in DE (term=$) RDSTR EQU 0AH ;Read Buffer Buffer-Address Read Buffer filled ; in DE ; Read Buffer Byte Function ; 1 Maximum Buffer Length ; 2 Current Buffer Length (returned value) ; 3-n Data (returned values) ; CONSTA EQU 0BH ;Console Stat NONE LSB(A)=1 if char ready INBDOS EQU 0DH ;Init BDOS NONE NONE LOGDSK EQU 0EH ;LOG-In disk Value in E NONE ; A=0,B=1,... OPENF EQU 0FH ;Open File FCB-Addr in DE Byte Addr.of FCB, ; or 0FFH if not CLOSF EQU 10H ;Close File FCB-Addr in DE Byte Addr.of FCB, ; or 0FFH if not SFIRST EQU 11H ;Search File FCB-Addr in DE Byte Addr.of FCB(0-3), ; or 0FFH if not SNEXT EQU 12H ;Search next FCB-Addr in DE Byte Addr.of next FCB, ; or 0FFH if not DELF EQU 13H ;Delete File FCB-Addr in DE Byte Addr.of FCB(0-3), ; or 0FFH if not READF EQU 14H ;Read Record FCB-Addr in DE 0=successful read ; 1=read past EOF ; 2=reading random data WRITEF EQU 15H ;Write Record FCB-Addr in DE 0=successful write ; 1=ERROR extending ; 2=End of disk data ; 255=No more DIR space MAKEF EQU 16H RENAM EQU 17H RDLOG EQU 18H ;Ret. Log Code NONE Login Vector in HL RDDRV EQU 19H ;Read Drive # NONE # of logged in drive in ; (A=0,B=1,C=2....) SETDMA EQU 1AH ;Set DMA Addr. Addr. of 128 NONE ; byte buffer in DE GETALV EQU 1BH ;Get All.Vect. NONE All.Vect in HL WRTPRT EQU 1CH ;Write prot dsk NONE NONE GETROV EQU 1DH ;Get R/O Vect. NONE HL= R/O Vect. value SETFAT EQU 1EH ;Set File Attr. FCB-Addr.in DE Dir. code in A GTDPAR EQU 1FH ;Get DSK par. NONE HL=DPB Address USRCOD EQU 20H ;Get/Set Usr.Cd E=0FFH (get) A=current code (get) ; E-code (set) A=no value (set) RRAND EQU 21H ;Read Random FCB-Addr in DE A=Return code WRAND EQU 22H ;Write Random FCB-Addr in DE 1=read'g unwritten data ; 2=(not used) ; 3=can't close curr. ext ; 4=seek to unwr. ext. ; 5=dir overflow(write) ; 6=seek past End of DSK CFLSZ EQU 23H ;Comp File Sz. FCB Addr.in DE Rand.Rec.field set to ; File size SETRAR EQU 24H ;Set Rand. Rec. FCB-Addr.in DE Rand.Rec.field set