ML }  X c0C)HCCH Mhhݩh `eCDiCD`  RyHP   * 1H0芢@) Y0.Ș` i`#(PMRR\ \b Pgi 0  % @ / ՠ`d   0DDԝLF0;; ;; Original "AUTORUN.SYS" ; file, disassembled. ;; For MegaTerm terminal emulator}. ; Comments by Itay Chamiel ; org $3800;; System equates used ;siov =$e459 ; Main routine for SIO dcb =$3}00 ; Device control block ddevic=$300 ; Serial bus I.D. dunit =$301 ; Device number dcomnd=$302 ; Comma}nd byte dstats=$303 ; Read / Write (status) dbuflo=$304 ; Data buffer pointer-lodbufhi=$305 ; Data buffer poin}ter-hidtimlo=$306 ; Timeout value dbytlo=$308 ; # of bytes to xfer-lo dbythi=$309 ; # of bytes to xfer-hi daux }1 =$30a ; Auxiliary byte #1 daux2 =$30b ; Auxiliary byte #2 ;boot850 lda #80 ; Call interface sta ddevic }lda #1 ; Unit #1 sta dunit lda #63 ; Command #63 sta dcomnd lda #64 ; Read data sta dstats lda #5 sta dti }mlo ; 5 secs for timeout sta dbufhi ; Load data into $5__ lda #0 sta dbuflo ; Load data into $_00 sta dbythi ; Get $00 }__ bytes sta daux1 ; Send a 0 as both sta daux2 ; auxiliary bytes lda #12 sta dbytlo ; Get 12 bytes - $__0C jsr si }ov ; Execute! bpl btnoerr1 rts ; Error - abort btnoerr1 ; No error ldx #11btloop lda $500,x ; Copy downlo}aded init sta dcb,x ; info as parameters dex ; to use to get main bpl btloop ; R: handler from 850 jsr s}iov bmi bterr3 jsr $506 ; Init the downloaded R: jmp (12) ; Imitate Reset and exit bterr3 rts ; Error - abor}t; org $2e2 dw boot850 ; Load in init-address; include VTINTRO.ASM ; include VT1.ASM ; Load in the rest include VT2.A}SM ; of MegaTerm include VTCHSET.ASM ; ;INTRO.ASM ; include VT1.ASM ; Load in the rest include VT2.A>;; ; A VT-100 terminal emulator ; by Itay Chamiel ;; Version 1.0 - (c)1993 };; Part of main program - VT1.ASM;;; Checklist of thingys to do - ; But I'll never do 'em!!! ;; * Make BREAK} key send a Break ; instead of using Ctrl-ESC. ; * Make send-Break not close ; IOCB #2. (R:) ; * Sel}ect-key keypad - not ; there yet due to 0 demand ; * Fix R: (dismantle at end of ; program or what!!??!!) }; * Erase Buffer-display when ; not paused (ctrl-1) ;; Additions I WILL add are: ;; * Intelligent buffer} ; org $2e0 dw init;; Zero-page equates; org $80;cntrl ds 1cntrh ds 1pos ds 1x ds 1y } ds 1prchar ds 2temp ds 1prlen ds 1prcntr ds 2prfrom ds 2;mnmnucnt ds 1mnmenux ds 1mnlnofbl ds 1}svmnucnt ds 1;ctrl1mod ds 1oldbufc ds 1mybcount ds 2savbcnt ds 1baktow ds 1nocurs ds 1invon ds 1xtraget d}s 1tmpflash ds 1g0set ds 1g1set ds 1chset ds 1iggrn ds 1useset ds 1seol ds 1newlmod ds 1numlock }ds 1wrpmode ds 1undrln ds 1blink ds 1revvid ds 1invsbl ds 1savgrn ds 4savcursx ds 1savcursy ds 1savwrap } ds 1savg0 ds 1savg1 ds 1savchs ds 1gntodo ds 1qmark ds 1cprv1 ds 1modedo ds 1ckeysmod ds 1finnum } ds 1numgot ds 1digitgot ds 1gogetdg ds 1scrltop ds 1scrlbot ds 1tx ds 1ty ds 1flashcnt ds 1newfla}sh ds 1oldflash ds 1oldctrl1 ds 1dobell ds 1doclick ds 1capslock ds 1s764 ds 1outnum ds 1outdat ds 3;nop}lcs ds 1noplcx ds 1noplcy ds 1lnofbl ds 1mnucnt ds 1menux ds 1menret ds 1invlo ds 1invhi ds 1no }doinv ds 1;numofwin ds 1topx ds 1topy ds 1botx ds 1boty ds 1;ersl ds 2ersltmp ds 2scvar1 ds!} 1scvar2 ds 2scvar3 ds 2;; Program equates;wind1 =$8800wind2 =$8c00txscrn =$9000tabs =$97b0charset=$9800dl"}ist =$9c00screen =$9fb0;minibuf=$600;; System equates;bcount =747iccom =$342icbal =$344icbah =$345icptl =$346#}icpth =$347icbll =$348icblh =$349icaux1 =$34aicaux2 =$34bciov =$e456setvbv =$e45csysvbv =$e45fxitvbv =$e462kbc$}ode =$d209irqen =$d20eirqst =$d20enmien =$d40e;; Main program; org $294a ; Overwrite Mydos's DUP;init cld ldx #%}0;chsetinit lda tmpchset,x sta charset,x lda tmpchset+$100,x sta charset+$100,x lda tmpchset+$200,x sta charset+$200,&}x lda tmpchset+$300,x sta charset+$300,x inx cpx #0 bne chsetinit; txa sta 559 lda #2 sta 712 jsr vdelay lda $79'} bne nofefe lda #$fe sta $79 sta $7anofefe lda 12 sta jrst+1 lda 13 sta jrst+2 lda #reset&255 sta 12 lda #reset/25(}6 sta 13 lda #0 taxerchset sta charset,x inx cpx #8 bne erchset ldx #0tabchdo lda xchars,x sta dlist-16,x inx c)}px #16 bne tabchdo lda #0 sta 580; jsr close2; ldx #$20 lda #3 sta iccom+$20 lda #4 sta icaux1+$20 lda #0 sta ic*}aux2+$20 lda #cfgname&255 sta icbal+$20 lda #cfgname/256 sta icbah+$20 jsr ciov cpy #128 bcc initopok jsr close2 ldx+} #0interrlp lda cfgdat,x sta savddat,x inx cpx #9 bne interrlp jmp interrinitopok ldx #$20 lda #5 sta iccom+$20 l,}da #savddat&255 sta icbal+$20 lda #savddat/256 sta icbah+$20 lda #9 sta icbll+$20 lda #0 sta icblh+$20 jsr ciov; js-}r close2 jmp norstreset lda #0 sta 559 jsr vdelay lda #regmode&255 sta trmode+1 lda #regmode/256 sta trmode+2 lda $.}79 bne jrst lda #$fe sta $79 sta $7ajrst jsr rtsplcnorst ldx #0getcfglp lda savddat,x sta cfgdat,x inx cpx #9 b/}ne getcfglp;interr lda bckgrnd and #1 sta bckgrnd asl a asl a tax ldy #0insetcol lda sccolors,x sta 709,y inx i0}ny cpy #4 bne insetcol lda autowrap sta wrpmode jsr vdelay; lda #0 sta irqen sta nmien sta dobell sta doclick sta1} flashcnt sta newflash sta oldflash ldx #vbi1/256 ldy #vbi1&255 lda #6 jsr setvbv ldx #vbi2/256 ldy #vbi2&255 lda #72} jsr setvbv lda $216 sta irqext+1 lda $217 sta irqext+2 lda #irq&255 sta $216 lda #irq/256 sta $217 lda #192 sta n3}mien sta irqen sta 16 lda #dlist/256 sta 561 sta prchar+1 lda #dlist&255 sta 560 clc adc #3 sta prchar lda #$70 s4}ta dlist sta dlist+1 lda #$30 sta dlist+2 lda #screen&255 sta cntrl lda #screen/256 sta cntrh ldx #0dodl ldy #0 ld5}a #$4f sta (prchar),y iny lda cntrl sta (prchar),y clc adc #LO[40*8] sta cntrl iny lda cntrh sta (prchar),y adc #H6}I[40*8] sta cntrh lda #$f iny sta (prchar),y iny sta (prchar),y iny sta (prchar),y iny sta (prchar),y iny sta (pr7}char),y iny sta (prchar),y iny sta (prchar),y lda prchar clc adc #10 sta prchar lda prchar+1 adc #0 sta prchar+1 8}inx cpx #25 bne dodl ldy #0 lda #65 sta (prchar),y iny lda #dlist&255 sta (prchar),y iny lda #dlist/256 sta (prcha9}r),y lda #LO[screen-320] sta dlist+4 lda #HI[screen-320] sta dlist+5 lda #LO[screen-640] sta dlist+134 lda #HI[screen-:}640] sta dlist+135 jsr clrscrn; ldy #menudta&255 ldx #menudta/256 jsr prmesg;; Open K: for I/O; ldx #$10 lda #12 ;}sta iccom+$10 jsr ciov; ldx #$10 lda #3 sta iccom+$10 lda #4 sta icaux1+$10 lda #0 sta icaux2+$10 lda #kname&255 s<}ta icbal+$10 lda #kname/256 sta icbah+$10 jsr ciov; lda #0 taxsettabs sta tabs,x inx cpx #80 bne settabs ldx #9s=}ettabs2 lda #1 sta tabs,x txa clc adc #10 tax cpx #80 bcc settabs2 lda #1 sta g1set sta savg1 sta scrltop sta ty>} sta savcursy lda #24 sta scrlbot jsr rslnsize lda #0 sta numofwin sta savbcnt sta ctrl1mod sta newlmod sta invon ?}sta capslock sta useset sta iggrn sta undrln sta blink sta revvid sta invsbl sta seol sta g0set sta savg0 sta chset@} sta savchs sta ckeysmod sta numlock sta tx sta savcursx sta mnmnucnt lda #255 sta 764 lda #15 sta x lda #5 sta yA} lda #2 sta lnsizdat+4 lda #3 sta lnsizdat+5 ldx #0prtillp lda tilmesg1,x sta prchar txa pha jsr printerm pla taB}x inc y lda tilmesg1,x sta prchar txa pha jsr printerm pla tax dec y inc x inx cpx #8 bne prtillp ldx #tilmesg2C}/256 ldy #tilmesg2&255 jsr prmesg ldx #tilmesg3/256 ldy #tilmesg3&255 jsr prmesg jsr rslnsize jsr ropen cpy #128 bccD} ropok ldx #norhw/256 ldy #norhw&255 jsr drawwin lda #34 sta 559 jsr getkey jmp doquitropok lda #34 sta 559 jsr geE}tkey jsr clrscrn jmp mnmnloopmnmenu lda mnlnofbl sta lnofbl jsr getscrnmnmnloop ldx #mnmnuxdt/256 ldy #mnmnuxdt&255F} lda mnmnucnt sta mnucnt lda mnmenux sta menux; jsr menudo2; lda menux sta mnmenux lda mnucnt sta mnmnucnt lda lnoG}fbl sta mnlnofbl lda menret cmp #255 beq mnquit asl a tax lda mntbjmp+1,x pha lda mntbjmp,x phartsplc rtsmenudtaH} db 0,0,80 db ' Terminal' db ' ' db '㩠' db '젠'mnmnuI}xdt db 2,1,12 db 10,0,22,0mnquit ldx #mnquitw/256 ldy #mnquitw&255 jsr drawwin ldx #mnquitd/256 ldy #mnquitd&255 ldaJ} #0 sta mnucnt jsr menudo2 lda menret cmp #255 beq mnodoquit cmp #0 beq mnodoquit jmp doquitmnodoquit jmp mnmenumnK}quitw db 28,4,49,8 db 'Really wanna quit?' db '' db ' Quit 'mnquitd db 1,2,18 db 30,60,3L}0,70mntbjmp dw connect-1,parameters-1norhw db 25,12,51,15 db 'No R: handler present!!' db ' Hit any key to quit ';dM}oquit lda #2 sta 82 jsr close2 jsr vdelay lda jrst+1 sta 12 lda jrst+2 sta 13 ldx #sysvbv/256 ldy #sysvbv&255 lda N}#6 jsr setvbv ldx #xitvbv/256 ldy #xitvbv&255 lda #7 jsr setvbv lda irqext+1 sta $216 lda irqext+2 sta $217 ldx #$6O}0 lda #12 sta iccom+$60 jsr ciov ldx #$60 lda #3 sta iccom+$60 lda #sname&255 sta icbal+$60 lda #sname/256 sta icbaP}h+$60 lda #12 sta icaux1+$60 lda #0 sta icaux2+$60 jsr ciov lda #0 sta 767 jmp ($a);bkpar jsr getscrn lda svmnucnQ}t sta mnucnt jmp bkpar2parameters lda #0 sta mnucnt ldx #parmnu/256 ldy #parmnu&255 jsr drawwinbkpar2 ldx #parmnudtR}a/256 ldy #parmnudta&255 jsr menudo2 lda mnucnt sta svmnucnt lda menret cmp #255 bne parprcss jmp mnmenuparprcss asS}l a tax lda partbl+1,x pha lda partbl,x pha rtsparmnu; db 22,1,39,10 db '堠' db ' Stop bits ' db 'T} Auto wrap ' db ' Keyclick ' db ' Background ' db ' Cursor size ' db ' Delete key ' db ' Save config 'parmU}nudta db 1,8,14 db 24,20,24,30,24,40,24,50 db 24,60,24,70,24,80,24,90;partbl dw setbps-1,setbts-1,setwrp-1 dw setclk-1V},setcol-1 dw setcrs-1,setdel-1,savcfg-1;; Configure terminal parameters:;setbps ; 堛 ldx #setbpsw/256 ldyW} #setbpsw&255 jsr drawwin ldx #setbpsd/256 ldy #setbpsd&255 lda baudrate sec sbc #8 sta mnucnt jsr menudo1 lda menreX}t cmp #255 beq nodobps lda mnucnt clc adc #8 cmp baudrate beq nodobps sta baudrate jsr vdelay jsr ropennodobps jmY}p bkparsetbpsw db 36,2,63,5 db ' 300 600 1200 1800 ' db ' 2400 4800 9600 19K 'setbpsd db 4,2,6 db 38,30,44,30Z},50,30,56,30 db 38,40,44,40,50,40,56,40;setbts ; ﮠ ldx #setbtsw/256 ldy #setbtsw&255 jsr drawwin [}ldx #setbtsd/256 ldy #setbtsd&255 lda stopbits clc rol a rol a sta mnucnt jsr menudo1 lda menret cmp #255 beq nodob\}ts clc ror a ror a cmp stopbits beq nodobts sta stopbits jsr vdelay jsr ropennodobts jmp bkparsetbtsw db 36,2,47,}#5م膳;A6S6M6 3Source file = 6O6B6J6 3Object file = 6L6S6T6 3List file = ^})6ۅ66+6- )6 40nA6S6M65506 40:6 40> ' 0 P0 _}10$eeL$ 480즛 40*ƆLi%۩6惥Ą兰 L$ 6 40+z"{"`}HI BzD"E V0L~$L$) 5555L%'55Ⅸ b3*&" a}1 3 4P0 ## @2 60 45 575C&" 1 3Press [RETURN] to continue6l <<< RUN/INIT VECTOb}RS >>><<< ERRORS OCCURRED >>>ADCANDASLBCCBCSBEQ BITBMIBNEBPLBRABRKBVCBVSCLCCLDCLICLVCMc}PCPXCPYIDBJDCDECDEXDEYCDSHDWBENDEORAEQUEINCLUDEINCINXINY JMP JSRLDA LDX LDYDLISTLSRLMACROd}MMENDNOPORA@ORGKPAGEPHAPHPPLAPLPROLRORRTIRTSSBCSECSEDSEISTASTXSTYGSUBTTLTAXTAYFTITLe}ETSXTXATXSTYA6` / 6 *0 *0;ʪ0=& *0Lq( / *0[&ȱf}ee0赜#{a тOꅇ`斱@L&+ (E)eeL^3 -娅g}婅ƈ i ŘV`(, -)rL) -L{) -L)L) 媅aAȱ0{Èh}#u(# - 𶱀,3 *YFX+8`Ɩ -􈱀,s)ȱ,| *Y۩, ,L)Y̦d `\ ߩFƖ i}- ŘV"   *XХȱ)О`Ɩ, *XL)ȱ{a ```x ;6j}` * -<6襉<6膖,_ * *$Z#+ *0 *'+:*g/c%_&B|w]𔦮 ![ ,`Ư8!!`!%![@ ,`! !! ,`L-!!+s}-[@ ,`!Խ!!& ,` M1 /1)$0 `U /ɱ$@ȱg5aWG)t}A7 :00&&&&L.`8`%L@\*x':0:00H& & &eeheeȱLK/u}01П&&L/ȱ800&&&L/ȥȱ'ɛ'ɛ 'SL//A"[ _a{v} 啜豀:0蕛`ɛ ȱ ``ۅ6 2兰 /1 2 2$U#LPE# ȝ#w}eeiř<# @2L>06r6 M1RƓĂ僰祐eex}JJj(jJJ8j`)т`D` H)΅h  ȱ*(ȱ*`ۆ6嫰T8eejfy}0 ƃƂ0 ٙ ,Ȱȱeī Ū`ł僰壟 20 2L1 2 2z}0 3 2# 255P0 @200 2 3#L"2`ŲP g5f5e5津ԥ ؠȱd{}5)d5 B!D5EHI VD#E BQHILVHJJJJ8 i:#h)8 i:؝#` #P#`|} 3 3#ɛP`#+3;CHIJKLMNO 2ƒ擤A6B6<6Ē` r3<6 3` r3 3}}`mz"{"Ũ 3z"{"`~"H{"mz"|"}" 8hiHI V0}"{"|"Ȍz"{"`l h~}h BHI Ȅ V䤒ȱȱBHID6E V0 Q4ȹ6eiHH`6#ȹ660}.󩛙6 :.Ɠȹ6肋 .6ȭ66ȭ66ȭ66ȩ666D6:6` BLV䄒H 4JhDEBLV}H B VݦBdHID"E VH"` P}age (C) 1984 } WORDMARK Systems# (C) 1984 #5 db ' 1 ' db ' 2 'setbtsd db 1,2,8 db 38,30,38,40;setwrp ; ldx #setwrpw/256 ldy #set}wrpw&255 jsr drawwin ldx #setwrpd/256 ldy #setwrpd&255 lda autowrap eor #1 sta mnucnt jsr menudo1 lda menret cmp #25}5 beq nodowrp eor #1 sta autowrap sta wrpmodenodowrp jmp bkparsetwrpw db 36,3,45,6 db ' Yes ' db ' No 'setwrpd} db 1,2,6 db 38,40,38,50setclk ; 堛 ldx #setclkw/256 ldy #setclkw&255 jsr drawwin ldx #setclkd/256 ld}y #setclkd&255 lda click sta mnucnt jsr menudo1 lda menret cmp #255 bne doclk jmp bkpardoclk sta click jmp bkparse}tclkw db 34,4,49,8 db ' None ' db ' Simple ' db ' Standard 'setclkd db 1,3,12 db 36,50,36,60,36,70setcol }; ldx #setcolw/256 ldy #setcolw&255 jsr drawwin lda bckgrnd sta mnucnt ldx #setcold/256 ldy #se}tcold&255 jsr menudo1 lda menret cmp #255 beq nodocolr sta bckgrnd asl a asl a tax ldy #0collp lda sccolors,x sta} 709,y inx iny cpy #4 bne collpnodocolr jmp bkparsetcolw db 36,5,47,8 db ' Black ' db ' White 'setcold db 1,2,8} db 38,60,38,70setcrs ; (_/) ldx #setcrsw/256 ldy #setcrsw&255 jsr drawwin ldx #setcrsd/256 ldy #}setcrsd&255 lda curssiz lsr a and #1 sta mnucnt jsr menudo1 lda menret cmp #255 beq nodocurs cmp #1 bne docrs1 lda} #6docrs1 sta curssiznodocurs jmp bkparsetcrsw db 38,5,49,8 db ' Block ' db ' Line 'setcrsd db 1,2,8 db 40,60,4}0,70setdel ; ldx #setdelw/256 ldy #setdelw&255 jsr drawwin ldx #setdeld/256 ldy #setdeld&255 lda delc}hr sta mnucnt jsr menudo1 lda menret cmp #255 beq nododel sta delchrnododel jmp bkparsetdelw db 36,8,51,11 db ' $7}F DEL ' db ' $08 BS ^H 'setdeld db 1,2,12 db 38,90,38,100savcfg ; ; ldx #savcfgw/256 ldy #sav}cfgw&255 jsr drawwin jsr close2; ldx #$20 lda #3 sta iccom+$20 lda #8 sta icaux1+$20 lda #0 sta icaux2+$20 lda #cf}gname&255 sta icbal+$20 lda #cfgname/256 sta icbah+$20 jsr ciov cpy #128 bcc savnr1 jmp savcfgerrsavnr1; ldx #$20 }lda #9 sta iccom+$20 lda #cfgdat&255 sta icbal+$20 lda #cfgdat/256 sta icbah+$20 lda #9 sta icbll+$20 lda #0 sta icb}lh+$20 jsr ciov cpy #128 bcc savnr2 jmp savcfgerrsavnr2; ldx #0savcfglp lda cfgdat,x sta savddat,x inx cpx #9 bn}e savcfglp; jsr ropen jmp bkparsavcfgerr tya pha and #$f0 lsr a lsr a lsr a lsr a clc adc #48 ora #128 sta sav}cfgn pla and #$f clc adc #48 ora #128 sta savcfgn+1 lda savcfgn cmp #128+58 bcc snumfx1 clc adc #7 sta savcfgnsn}umfx1 lda savcfgn+1 cmp #128+58 bcc snumfx2 clc adc #7 sta savcfgn+1snumfx2 ldx #savcfgwe1/256 ldy #savcfgwe1&255 j}sr prmesg ldx #savcfgwe2/256 ldy #savcfgwe2&255 jsr prmesg jsr ropen jsr getkey jmp bkpar;savcfgw db 37,8,54,11 db }'Saving current' db ' parameters 'savcfgwe1 db 39,9,14 db 'ɯϠ'savcfgwe2 db 39,10,14 db ''savc}fgn db '';; --- Menu Doer --- ; Needs: ; X,Y - addr of data table holding:} ; # of plcs X, # of plcs Y, ; length of blocks. (min. 1 for all); X,Y*10 of each place.. ; } ; noplcs - Number of places ; noplcx - Ditto, for X ; noplcy - Ditto, for Y } ; lnofbl - length of blocks ; mnucnt - Menu counter ; menux - Menu X counter ; m}enret - Returned value ; invlo - /Hi,lo of addr of area ; invhi - \to highlight (in menu) ;menudo1 lda #0} sta nodoinv beq menudo3menudo2 lda #1 sta nodoinvmenudo3 stx prfrom+1 sty prfrom ldy #0 lda (prfrom),y sta noplcx} iny lda (prfrom),y sta noplcy iny lda (prfrom),y lsr a sta lnofbl lda prfrom clc adc #3 sta prfrom lda prfrom+1} adc #0 sta prfrom+1 ldx noplcy lda noplcx cpx #1 beq mnomltplmnmltply clc adc noplcx dex cpx #1 bne mnmltplymnom}ltpl sta noplcs lda mnucntmnuxdo cmp noplcx bcc mnuxok sec sbc noplcx jmp mnuxdomnuxok sta menuxmxstrt lda mnucnt} asl a tay lda (prfrom),y lsr a sta x iny lda (prfrom),y tax lda dlist+4,x clc adc x sta invlo lda dlist+5,x ad}c #0 sta invhi lda nodoinv bne nodoinvl jsr doinvnodoinvl lda #0 sta nodoinvmxmloop jsr getkey cmp #43 bne mxnolt} lda mnucnt cmp #0 bne mxlt lda noplcs sta mnucnt lda noplcx sta menuxmxlt dec mnucnt dec menux lda menux cmp nopl}cx bcc mxlt1 lda noplcx sta menux dec menuxmxlt1 jsr doinv jmp mxstrtmxnolt cmp #42 bne mxnort inc mnucnt inc men}ux lda menux cmp noplcx bcc mxrt1 lda #0 sta menuxmxrt1 lda mnucnt cmp noplcs bne mxrt lda #0 sta mnucnt sta menu}xmxrt jsr doinv jmp mxstrtmxnort cmp #61 bne mxnodown lda mnucnt clc adc noplcx sta mnucnt cmp noplcs bcc mxdown} inc menux lda #0 ldx menux cpx noplcx bcs mxdwn1 lda menuxmxdwn1 sta mnucnt sta menuxmxdown jsr doinv jmp mxstrt}mxnodown cmp #45 bne mxnoup lda mnucnt sec sbc noplcx sta mnucnt cmp noplcs bcc mxup dec menux lda menux cmp #255} bne mxup1 lda noplcs sta mnucnt dec mnucnt lda noplcx sta menux dec menux jmp mxupmxup1 lda noplcs sec sbc noplcx} clc adc menux sta mnucntmxup jsr doinv jmp mxstrtmxnoup cmp #27 bne mxnoesc lda #255 sta menret rtsmxnoesc cmp} #155 bne mxnoretmxret lda mnucnt sta menret rtsmxnoret cmp #32 beq mxret jmp mxmloop;; Inverse-bar maker; invhi,}lo - addr of place; lnofbl - length of block (bytes);doinv lda invhi sta cntrh lda invlo sta cntrl ldx #0invlp ld}y #0invlp2 lda (cntrl),y eor #255 sta (cntrl),y iny cpy lnofbl bne invlp2 lda cntrl clc adc #40 sta cntrl lda cnt}rh adc #0 sta cntrh inx cpx #8 bne invlp rts;; -- Window drawer -- ;; Reads from X,Y registers addr ; }that holds a table holding... ; top-x,top-y,bot-x,bot-y,string ;winbufs dw wind1,wind2;drawwin stx prfrom+1 sty prfr}om tya pha txa pha ldy #0winvlp lda (prfrom),y sta topx,y iny cpy #4 bne winvlp;; The following copies the memor}y ; that will be erased because of ; this window, into a buffer. ; lda numofwin asl a tax lda winbufs,x sta prfr}ltpl sta noplcs lda mnucntmnuxdo cmp noplcx bcc mnuxok sec sbc noplcx jmp mnuxdomnuxok sta menuxmxstrt lda mnucnt} asl a tay lda (prfrom),y lsr a sta x iny lda (prfrom),y tax lda dlist+4,x clc adc x sta invlo lda dlist+5,x ad}c #0 sta invhi lda nodoinv bne nodoinvl jsr doinvnodoinvl lda #0 sta nodoinvmxmloop jsr getkey cmp #43 bne mxnolt}ned VTCHSET.ASMd(( Working... An(@tmpchsetx(@ db -@@&)@}"(@,& +)@!(@,+ A ((Done!!! D:CHMAKE.BAS&)@rom inx lda winbufs,x sta prfrom+1; inc boty inc boty inc botx lsr topx lsr botx; ldy #0svwndat lda topx,y sta (}prfrom),y iny cpy #4 bne svwndat lda prfrom clc adc #4 sta prfrom lda prfrom+1 adc #0 sta prfrom+1;wincpinit lda} topy asl a asl a adc topy asl a tax lda dlist+4,x clc adc topx sta cntrl lda dlist+5,x adc #0 sta cntrh lda bot}x sec sbc topx clc adc #1 sta winchng1+1 ldx #0 ldy #0wincplp lda (cntrl),y sta (prfrom),y inywinchng1 cpy #0 b}ne wincplp ldy #0 lda cntrl clc adc #40 sta cntrl lda cntrh adc #0 sta cntrh lda prfrom clc adc winchng1+1 sta pr}from lda prfrom+1 adc #0 sta prfrom+1 inx cpx #8 bne wincplp inc topy lda topy cmp boty bne wincpinit inc numofwin}; pla sta prfrom+1 pla sta prfrom ldy #0winvlp2 lda (prfrom),y sta topx,y iny cpy #4 bne winvlp2 lda prfrom clc} adc #4 sta prfrom lda prfrom+1 adc #0 sta prfrom+1 lda botx cmp #77 bcc winxokwinyno rtswinxok lda boty cmp #23} bcs winyno; lda topx sta x lda topy sta y lda #145 sta prchar jsr print inc xtplnlp lda #146 sta prchar jsr pr}int inc x lda x cmp botx bne tplnlp lda #133 sta prchar jsr print dec botx inc ywinlp lda topx sta x lda #252 s}ta prchar jsr print inc x lda #160 sta prchar jsr print inc xwlnlp ldy #0 lda (prfrom),y eor #128 sta prchar jsr }print inc prfrom lda prfrom bne wnocr inc prfrom+1wnocr inc x lda x cmp botx bne wlnlp lda #160 sta prchar jsr pr}int inc x lda #252 sta prchar jsr print inc x lda #32 sta prchar jsr print inc x lda #32 sta prchar jsr print in}c y lda y cmp boty bne winlp lda topx sta x inc botx lda #154 sta prchar jsr print inc xbotlnlp lda #146 sta prc}har jsr print inc x lda x cmp botx bne botlnlp lda #131 sta prchar jsr print inc x lda #32 sta prchar jsr print }inc x lda #32 sta prchar jsr print inc topx inc topx inc botx inc botx inc botx inc y lda topx sta xshline lda #}32 sta prchar jsr print inc x lda x cmp botx bne shline rts;getkey lda 764 cmp #255 beq getkey lda click cmp #2} beq getkey2 cmp #0 beq nodoclk lda #1 sta doclicknodoclk ldy 764 lda #255 sta 764 lda ($79),y rtsgetkey2 ldy 76}4 lda ($79),y pha lda temp pha lda #1 sta 764 ldx #$10 lda #temp&255 sta icbal+$10 lda #temp/256 sta icbah+$10 ld}a #0 sta icbll+$10 sta icblh+$10 lda #7 sta iccom+$10 jsr ciov pla sta temp pla rts; Click = 0 - None, 1 - small cl}ick,; 2 - Regular Atari clickprint lda y asl a asl a adc y asl a tax lda dlist+4,x sta cntrl lda dlist+5,x} sta cntrh lda #0 sta pos lda x lsr a rol pos adc cntrl sta cntrl lda cntrh adc #0 sta cntrh ldy #0 sty prchar+1} sty temp lda prchar cmp #128 bcc prchrdo2 sec sbc #128 pha lda #1 sta temp plaprchrdo2 cmp #96 bcs prcharok cm}p #32 bcs prchrdo1 clc adc #64 jmp prcharokprchrdo1 sec sbc #32prcharok asl a asl a rol prchar+1 asl a rol prcha}r+1 sta prchar lda prchar+1 clc adc #HI[charset] sta prchar+1 ldx poswrtchar lda (cntrl),y and postbl1,x sta (cntrl}),y lda (prchar),y and postbl2,x adc (cntrl),y ldx temp beq noinv ldx pos eor postbl2,xnoinv ldx pos sta (cntrl),y} lda cntrl clc adc #39 sta cntrl lda cntrh adc #0 sta cntrh iny cpy #8 bne wrtchar rtspostbl1 db $0fpostbl2 db $f}0,$0fscrldown dec scrltop dec scrlbot ldx scrltopscdnszlp lda lnsizdat+1,x sta lnsizdat,x inx cpx scrlbot bne scdns}zlp lda #0 sta lnsizdat,x inc scrltop inc scrlbot;; lda scrltop sta y jsr calctxln lda ersl sta scvar3 clc adc #}80 sta scvar2 lda ersl+1 sta scvar3+1 adc #0 sta scvar2+1; lda scrlbot sec sbc scrltop beq noscdntx sta scvar1; }ldx #0 ldy #0scrldntxlp lda (scvar2),y sta (scvar3),y iny cpy #80 bne scrldntxlp ldy #0 lda scvar2 clc adc #80 st}a scvar2 lda scvar2+1 adc #0 sta scvar2+1 lda scvar3 adc #80 sta scvar3 lda scvar3+1 adc #0 sta scvar3+1 inx cpx s}cvar1 bne scrldntxlpnoscdntx lda scrlbot sta y jsr calctxln ldy #0 lda #32dnerstxlp sta (ersl),y iny cpy #80 bne }dnerstxlp; jsr vdelay lda scrltop asl a asl a adc scrltop asl a adc #4 tax lda scrlbot asl a asl a adc scrlbot }asl a adc #5 sta temp lda dlist,x sta cntrl pha inx lda dlist,x sta cntrh pha dex ldy scrltop deyscrldlp lda dl}ist+10,x sta dlist,x lda dlist+11,x sta dlist+1,x txa clc adc #10 tax iny cpy scrlbot bne scrldlp jsr erslineraw }lda temp tay pla sta dlist,y dey pla sta dlist,y rts;scrlup dec scrlbot dec scrltop ldx scrlbotscupszlp lda lns}izdat-1,x sta lnsizdat,x dex cpx scrltop bne scupszlp lda #0 sta lnsizdat,x inc scrlbot inc scrltop;; lda scrlbot} sta y jsr calctxln lda ersl sta scvar2 sec sbc #80 sta scvar3 lda ersl+1 sta scvar2+1 sbc #0 sta scvar3+1; lda s}crlbot sec sbc scrltop beq scupnotx sta scvar1; ldx #0 ldy #0scuptxlp lda (scvar3),y sta (scvar2),y iny cpy #80 }bne scuptxlp ldy #0 lda scvar2 sec sbc #80 sta scvar2 lda scvar2+1 sbc #0 sta scvar2+1 lda scvar3 sbc #80 sta scva}r3 lda scvar3+1 sbc #0 sta scvar3+1 inx cpx scvar1 bne scuptxlp;scupnotx lda scrltop sta y jsr calctxln ldy #0 l}da #32uperstxlp sta (ersl),y iny cpy #80 bne uperstxlp; jsr vdelay lda scrltop asl a asl a adc scrltop asl a sec} sbc #6 sta temp lda scrlbot asl a asl a adc scrlbot asl a adc #4 tay lda dlist,y sta cntrl pha iny lda dlist,y} sta cntrh pha dey tya sec sbc #10 taxscrluplp lda dlist,x sta dlist+10,x lda dlist+1,x sta dlist+11,x txa sec} sbc #10 tax cpx temp bne scrluplp jsr erslineraw lda temp clc adc #11 tax pla sta dlist,x dex pla sta dlist,x }rts;ersline lda ersl sta y cmp #0 beq noerstx jsr calctxln ldy #0 lda #32erstxlnlp sta (ersl),y iny cpy #80 bne} erstxlnlpnoerstx lda y asl a asl a adc y asl a tay lda dlist+4,y sta cntrl lda dlist+5,y sta cntrherslineraw ld}a #0 tayers1 sta (cntrl),y iny cpy #0 bne ers1 inc cntrhers2 sta (cntrl),y iny cpy #320-256 bne ers2 rts;filli}ne lda y asl a asl a adc y asl a tax lda dlist+4,x sta cntrl lda dlist+5,x sta cntrh ldy #0 lda #255fil1 sta (c}ntrl),y iny cpy #0 bne fil1 inc cntrhfil2 sta (cntrl),y iny cpy #320-256 bne fil2 rts;clrscrn ldx #1clrscrnl s}tx ersl jsr ersline inx cpx #25 bne clrscrnl jmp rslnsizexchars db 0,85,170,0,0,0,0,0 db 170,170,170,68,68,170,170,17}0;vdelay lda $14 ; Waits for VBI, and then vdelwt ; returns to main program cmp $14 ; when that VBI is done. be}q vdelwt rts;prmesg;; Message printer!; Reads string and outputs it, byte ; by byte, to the 'print' routine. ;; Rea}ds from whatever's in X-hi, Y-lo; (registers): x,y,length,string.; jsr vdelay sty prfrom stx prfrom+1 ldy #0 lda (prfr}om),y sta x iny lda (prfrom),y sta y iny lda (prfrom),y sta prlen ldy #0 cpy prlen beq prmesgen lda prfrom clc a}dc #3 sta prfrom lda prfrom+1 adc #0 sta prfrom+1prmesglp lda (prfrom),y sta prchar tya pha jsr print inc x pla }tay iny cpy prlen bne prmesglpprmesgen rts;; Sub to open R: (uses config) ;ropen jsr close2 ; Close if already open} ;; turn DTR on; ldx #$20 lda #rname&255 sta icbal+$20 lda #rname/256 sta icbah+$20 lda #34 sta iccom+$20 lda #192} sta icaux1+$20 jsr ciov cpy #128 bcc rhok1 rtsrhok1;; set no translation; lda #38 sta iccom+$20 lda #32 sta ica}ux1+$20 jsr ciov cpy #128 bcc rhok2 rtsrhok2;; Set baud,wordsize,stopbits; lda #36 sta iccom+$20 lda #0 sta icaux}2+$20 lda baudrate clc adc stopbits sta icaux1,x jsr ciov cpy #128 bcc rhok3 rtsrhok3;; open "r:" for read/write;} lda #3 sta iccom+$20 lda #13 sta icaux1+$20 jsr ciov cpy #128 bcc rhok4 rtsrhok4;; Enable concurrent mode I/O, us}e ; BIG buffer (after my prog) ; lda #40 sta iccom+$20 lda #LO[buffer] sta icbal+$20 lda #HI[buffer] sta icbah+$}20 lda #LO[wind1-buffer] sta icbll+$20 lda #HI[wind1-buffer] sta icblh+$20 lda #13 sta icaux1+$20 lda #0 sta icaux2+$}20 jmp ciov;; Close #2;close2 ldx #$20 lda #12 sta iccom+$20 jmp ciovsname db 'S:'rname db 'R:'kname db 'K:';; }The following sends a Break!;dobreak lda #19 sta outdat lda #1 sta outnum jsr outqit jsr wait10 jsr close2; ldx #$}20 lda #34 sta iccom+$20 lda #2 sta icaux1+$20 lda #0 sta icaux2+$20 lda #rname&255 sta icbal+$20 lda #rname/256 st}a icbah+$20 jsr ciov ; Xio 34,#2,2,0,"R:" ; jsr wait10 jsr wait10 ; Wait 1/2 sec jsr wait10; ldx #$20 lda #34 s}ta iccom+$20 lda #3 sta icaux1+$20 lda #0 sta icaux2+$20 lda #rname&255 sta icbal+$20 lda #rname/256 sta icbah+$20 j}sr ciov ; Xio 34,#2,3,0,"R:" jsr ropen jsr wait10 lda #17 sta outdat lda #1 sta outnum jmp outqit;wait10 ldx #0}wt10lp jsr vdelay inx cpx #10 bne wt10lp rts;getscrn;; Close window ; lda numofwin bne gtwin rtsgtwin dec num}ofwin lda numofwin asl a tax lda winbufs,x sta prfrom lda winbufs+1,x sta prfrom+1 ldy #0gtwninlp lda (prfrom),y s}ta topx,y iny cpy #4 bne gtwninlp lda prfrom clc adc #4 sta prfrom lda prfrom+1 adc #0 sta prfrom+1;gtwninit lda} topy asl a asl a adc topy asl a tax lda dlist+4,x clc adc topx sta cntrl lda dlist+5,x adc #0 sta cntrh lda bot}x sec sbc topx clc adc #1 sta winchng2+1 ldx #0 ldy #0gtwnlp lda (prfrom),y sta (cntrl),y inywinchng2 cpy #0 bn}e gtwnlp ldy #0 lda prfrom clc adc winchng2+1 sta prfrom lda prfrom+1 adc #0 sta prfrom+1 lda cntrl clc adc #40 s}ta cntrl lda cntrh adc #0 sta cntrh inx cpx #8 bne gtwnlp inc topy lda topy cmp boty bne gtwninit rts;; Configur}ation data ;cfgname db 'D:VT.CFG',155cfgdat;; 8 bytes of configuration data ;baudrate db 8stopbits db 0parity  }db 0curssiz db 1click db 1autowrap db 1delchr db 0bckgrnd db 0;;; EOF - (c)1993 Itay Chamiel;arity t;; terminal emulator ; by Itay Chamiel ;; I N T R O demo ; (VTINTRO.ASM) } ; org tmpchset+$400;; Go right after main program;intinit ldx #0intcloop lda 708,x and #$0f sta 708,x inx }cpx #5 bne intcloop lda #6 ldx #HI[intvbi] ldy #LO[intvbi] jsr setvbv lda #$29 sta $81 lda #$4A sta $80 ldy #0int2 }55lp lda #255 sta ($80),y lda $80 clc adc #1 sta $80 lda $81 adc #0 sta $81 lda $80 cmp #LO[tmpchset+$400] bne in }t255lp lda $81 cmp #HI[tmpchset+$400] bne int255lp rts;intvbi jsr phase1 jmp sysvbv;phase1 ldx #0phs1lp1 lda 708 },x cmp #0 bne phs12 inx cpx #5 bne phs1lp1 lda #2 sta 712 lda #10 sta 710 lda #HI[initdl] sta 561 sta $d403 lda }#LO[initdl] sta 560 sta $d402 lda #HI[phase2] sta intvbi+2 lda #LO[phase2] sta intvbi+1 lda #LO[$294a+999] sta $fe l }da #HI[$294a+999] sta $ff rtsinitdl db $70,$70,$70 db $42intlms dw $294a db 2,2,2,2,2,2,2,2,2,2,2,2 db 2,2,2,2,2,2,2 },2,2,2,2,2 db $41 dw initdlphs12 ldx #0phs1lp2 lda 708,x cmp #0 beq phs1lp2v dec 708,xphs1lp2v inx cpx #5 bne ph }s1lp2 rts;phase2 ldy #0 lda ($fe),y cmp #255 bne gophs2 rtsgophs2 clc lda $fe adc #40 sta $fe lda $ff adc #0 }sta $ff lda intlms adc #40 sta intlms lda intlms+1 adc #0 sta intlms+1 rts; org $2e2 dw intinit;lda $ff adc #0 l8K8P?@     Y`  Y0 l `8QQ)ܩ@ \)J"M};; Character set for Megaterm ; By Itai Hamiel (c) 1993 ;tmpchset db 255,255,6,152,255,155,0,0 db 0,68,68,68,68,0,}68,0 db 0,170,170,0,0,0,0,0 db 0,170,238,170,238,170,0,0 db 68,102,136,68,34,204,68,0 db 0,136,34,68,136,34,0,0 db 0,68,}170,68,170,68,34,0 db 0,68,68,68,0,0,0,0 db 0,34,68,68,68,68,34,0 db 0,136,68,68,68,68,136,0 db 0,170,68,238,68,170,0,0 }db 0,68,68,238,68,68,0,0 db 0,0,0,0,0,68,68,136 db 0,0,0,238,0,0,0,0 db 0,0,0,0,0,68,68,0 db 0,34,34,68,68,136,136,0 db }0,68,170,170,170,170,68,0 db 0,68,204,68,68,68,238,0 db 0,68,170,34,68,136,238,0 db 0,204,34,204,34,34,204,0 db 0,170,170},170,102,34,34,0 db 0,238,136,204,34,34,204,0 db 0,68,136,204,170,170,68,0 db 0,238,34,68,68,136,136,0 db 0,68,170,68,170},170,68,0 db 0,68,170,170,102,34,68,0 db 0,0,68,0,0,68,0,0 db 0,0,68,0,68,68,136,0 db 0,34,68,136,68,34,0,0 db 0,0,238,0},238,0,0,0 db 0,136,68,34,68,136,0,0 db 0,68,170,34,68,0,68,0 db 0,68,238,238,170,136,102,0 db 0,68,170,170,238,170,170,0} db 0,204,170,204,170,170,238,0 db 0,102,136,136,136,136,102,0 db 0,204,170,170,170,170,204,0 db 0,238,136,238,136,136,23}8,0 db 0,238,136,238,136,136,136,0 db 0,102,136,136,170,170,102,0 db 0,170,170,238,170,170,170,0 db 0,238,68,68,68,68,238 },0 db 0,102,34,34,34,170,68,0 db 0,170,170,204,170,170,170,0 db 0,136,136,136,136,136,238,0 db 0,170,238,170,170,170,170,!}0 db 0,34,170,238,238,170,136,0 db 0,238,170,170,170,170,238,0 db 0,204,170,170,204,136,136,0 db 0,238,170,170,170,238,34"},0 db 0,204,170,204,170,170,170,0 db 0,102,136,68,34,34,204,0 db 0,238,68,68,68,68,68,0 db 0,170,170,170,170,170,238,0 d#}b 0,170,170,170,170,68,68,0 db 0,170,170,170,170,238,170,0 db 0,170,170,68,68,170,170,0 db 0,170,170,170,68,68,68,0 db 0,$}238,34,68,136,136,238,0 db 0,102,68,68,68,68,102,0 db 0,136,136,68,68,34,34,0 db 0,204,68,68,68,68,204,0 db 0,68,170,0,0,%}0,0,0 db 0,0,0,0,0,0,238,0 db 170,85,170,85,170,85,170,85 db 68,68,68,119,68,68,68,68 db 17,17,17,17,17,17,17,17 db 68,6&}8,68,204,0,0,0,0 db 68,68,68,204,68,68,68,68 db 0,0,0,204,68,68,68,68 db 0,68,68,238,238,68,68,0 db 0,68,170,170,68,0,0,0'} db 0,68,238,68,0,238,0,0 db 0,34,68,136,68,34,238,0 db 0,136,68,34,68,136,238,0 db 0,0,255,170,170,170,170,0 db 0,34,23(}8,68,238,136,0,0 db 0,68,204,68,238,68,238,0 db 0,0,0,68,68,0,0,0 db 255,0,0,0,0,0,0,0 db 0,0,255,0,0,0,0,0 db 0,0,0,119)},68,68,68,68 db 0,0,0,255,0,0,0,0 db 68,68,68,255,68,68,68,68 db 0,0,0,255,0,0,0,0 db 0,0,0,0,0,255,0,0 db 136,136,136,1*}36,136,136,136,136 db 0,0,0,255,68,68,68,68 db 68,68,68,255,0,0,0,0 db 0,0,0,0,0,0,0,255 db 68,68,68,119,0,0,0,0 db 0,0,+}238,238,238,238,0,0 db 0,14,24,48,24,24,14,0 db 0,112,24,12,24,24,112,0 db 0,24,48,0,0,0,0,0 db 0,96,146,12,0,0,0,0 db 0,},34,68,0,0,0,0,0 db 0,0,204,34,238,170,238,0 db 0,136,136,204,170,170,204,0 db 0,0,102,136,136,136,102,0 db 0,34,34,102,1-}70,170,102,0 db 0,0,68,170,238,136,102,0 db 0,102,136,238,136,136,136,0 db 0,0,102,170,170,102,34,204 db 0,136,136,204,17.}0,170,170,0 db 0,68,0,204,68,68,102,0 db 0,34,0,34,34,34,34,204 db 0,136,136,170,204,170,170,0 db 0,204,68,68,68,68,102,0/} db 0,0,170,238,170,170,170,0 db 0,0,204,170,170,170,170,0 db 0,0,68,170,170,170,68,0 db 0,0,204,170,170,204,136,136 db 0}0,0,102,170,170,102,34,34 db 0,0,102,136,136,136,136,0 db 0,0,102,136,68,34,204,0 db 0,68,238,68,68,68,102,0 db 0,0,170,11}70,170,170,238,0 db 0,0,170,170,170,68,68,0 db 0,0,170,170,170,238,170,0 db 0,0,170,170,68,170,170,0 db 0,0,170,170,170,12}02,34,204 db 0,0,238,34,68,136,238,0 db 0,102,68,136,68,68,102,0 db 68,68,68,68,68,68,68,68 db 0,204,68,34,68,68,204,0 d3}b 255,255,255,255,255,255,255,255 db 0,84,84,84,84,84,84,0;;,0 db 68,68,68,68,68,68,68,68 db 0,204,68,34,68,68,204,0 d@;; ; A VT-100 terminal emulator ; by Itay Chamiel ;; Version 1.0 - (c)1993 5};; Part of main program - VT2.ASM;;; ԭ򠠛;connect lda #1 sta oldbufc lda #0 sta bcount+6}1 sta y jsr filline jsr chklnsiz lda bckgrnd eor invon asl a asl a tax ldy #0concollp lda sccolors,x sta 709,y i7}nx iny cpy #4 bne concollp jsr vdelay jsr shctrl1 jsr shcaps ldx #HI[sts2] ldy #LO[sts2] jsr prmesg jsr shnuml ldx8} #HI[sts3] ldy #LO[sts3] jsr prmesg jsr bufcntdo ldx #HI[sts4] ldy #LO[sts4] jsr prmesg lda #1 sta flashcnt sta newf9}lash sta oldflash; ldx savbcnt beq nosavdat lda baktow cmp #2 beq bfrmn2 jmp bkfrmmnubfrmn2 dex stx savbcnt jmp b:}kmnuct1nosavdat; jsr putcrstermloop lda newflash cmp oldflash beq noflsh sta oldflash jsr putcrsnoflsh lda #0 sta;} savbcnt ldx #$20 lda #13 sta iccom+$20 jsr ciov lda #0 sta nocurs jsr bufcntdonobcnt1 lda #0 sta xtraget lda bcou<}nt sta mybcount lda bcount+1 sta mybcount+1 cmp #1 bcc nomrthn1pg lda #0 sta mybcount lda #1 sta mybcount+1 sta xtr=}agetnomrthn1pg lda mybcount bne bufget1 lda mybcount+1 bne bufget1 jmp tkcheckbufget1 lda ctrl1mod beq bufget2 jmp >}tkcheckbufget2 ldx #$20 lda #7 sta iccom+$20 lda mybcount sta icbll+$20 lda mybcount+1 sta icblh+$20 lda #LO[minibuf?}] sta icbal+$20 lda #HI[minibuf] sta icbah+$20 jsr ciov lda nocurs bne noflsh2 lda oldflash beq noflsh2 jsr putcrsn@}oflsh2 ldx #0keepget stx savbcnt lda minibuf,x jsr dovt100 lda 764 cmp #255 beq gtbufnoky lda #0 sta tmpflash inc A}savbcnt lda #1 sta baktow jsr readk dec savbcnt lda ctrl1mod beq gtbufnokybkmnuct1 jsr shctrl1 lda oldflash beq midB}lc1lp jsr putcrs;midlc1lp lda newflash cmp oldflash beq midl1 sta oldflash jsr putcrsmidl1 ldx #$20 lda #13 sta iC}ccom+$20 jsr ciov jsr bufcntdo lda oldflash sta tmpflash inc savbcnt lda #2 sta baktow jsr readk dec savbcnt lda ctD}rl1mod bne midlc1lp; lda oldflash beq midl2 jsr putcrsmidl2 jsr shctrl1gtbufnoky ldx savbcnt inxbkfrmmnu cpx mybcE}ount bne keepget lda #0 sta savbcnt lda xtraget beq noxtrget lda #1 sta nocurs dec bcount+1 jsr bufcntdo jmp nobcntF}1noxtrget lda #0 sta nocurs lda oldflash beq noflsh3 jsr putcrsnoflsh3tkcheck lda oldflash sta tmpflash lda #0 stG}a savbcnt jsr readk jmp termloop;dovt100 ; Gets byte from A and and #127 ; VT100's it!!! cmp #127 beq badH}byt cmp #0 beq badbyt cmp #32 bcs trmode jmp ctrlcodetrmode jmp regmode ; Changes during prog ;badbyt rtsputcrs I}; Cursor flasher lda ty tay dey asl a asl a adc ty asl a tax lda dlist+4,x sta cntrl lda dlist+5,x sta cntrh ldJ}a lnsizdat,y cmp #4 bcs smcurs cmp #0 bne bigcurssmcurs lda #0 sta pos lda tx lsr a rol pos adc cntrl sta cntrl K}lda cntrh adc #0 sta cntrh ldx pos ldy curssiz beq cursloop lda cntrl clc adc #39*6 sta cntrl lda cntrh adc #0 stL}a cntrhcursloop lda (cntrl),y eor postbl2,x sta (cntrl),y lda cntrl clc adc #39 sta cntrl lda cntrh adc #0 sta cntM}rh iny cpy #8 bne cursloop rtsbigcurs lda tx cmp #40 bcc bgc1 lda #39bgc1 clc adc cntrl sta cntrl lda cntrh adN}c #0 sta cntrh ldy curssiz beq bgcursloop lda cntrl clc adc #39*6 sta cntrl lda cntrh adc #0 sta cntrhbgcursloop O}lda (cntrl),y eor #255 sta (cntrl),y lda cntrl clc adc #39 sta cntrl lda cntrh adc #0 sta cntrh iny cpy #8 bne bgP}cursloop rts;graftabl db 32,6,0,0,0,0,0,7,8 db 0,0,3,5,17,26,19,15,16 db 20,21,25,1,4,24,23,124 db 9,10,11,12,13,14,25Q}5;regmode ; Display normal byte sta prchar lda #LO[regmode] sta trmode+1 lda #HI[regmode] sta trmode+2 ldy ty dey R}lda lnsizdat,y cmp #4 bcs notgrph cmp #0 bne notgrph ldx chset lda g0set,x beq notgrph lda prchar cmp #95 bcc notgrS}ph cmp #98 ; b=^I bne grnoht jmp eqcigrnoht cmp #99 ; c beq grlf cmp #101 ; e beq grlf cmp #105 ; i =^J bne grnolfT}grlf jmp ysffgrnolf cmp #100 ; d =^M bne grnocr jmp eqcmgrnocr cmp #104 ; h =ESC-E bne grnonl jsr rseol jmp retrnU}grnonl sec sbc #95 tax lda graftabl,x sta prcharnotgrph lda seol beq noseol jsr retrn jsr rseolnoseol lda tx staV} x lda ty sta y tax dex lda lnsizdat,x cmp #4 bcs nospch cmp #0 beq nospch lda #0 sta useset lda prchar cmp #96W} bne bgno96 lda #30 jmp ysspchbgno96 cmp #123 bne bgno123 lda #28 jmp ysspchbgno123 cmp #125 bne bgno125 lda #29 X}jmp ysspchbgno125 cmp #126 bne nospch lda #31ysspch sta prchar lda #1 sta usesetnospch jsr printerm lda #0 sta usY}eset inc tx ldx ty dex lda lnsizdat,x cmp #4 bcs not40 cmp #0 beq not40 lda tx cmp #40 bcc xno80 dec tx lda wrpmZ}ode beq xno80 sta seol rtsnot40 lda tx cmp #80 bne xno80 dec tx lda wrpmode beq xno80 sta seol rtsrseol lda #0[} sta seol rtsxno80 jmp rseolctrlcode cmp #27 bne noesc lda #LO[esccode] sta trmode+1 lda #HI[esccode] sta trmode+2\} rtsnoesc cmp #7 ; ^G - bell bne nobell lda #14 sta dobell rtsnobell cmp #13 ; ^M - CR bne nocreqcm lda #0 sta]} tx jmp rseolnocr cmp #10 ; ^J - LF bne nolfysff lda newlmod beq nolfcr lda #0 sta txnolfcr jsr cmovedwn jmp rse^}olnolf cmp #12 ; ^L - FF, same as lf beq ysff cmp #11 ; ^K - VT, same as lf beq ysff cmp #8 ; ^H - Backspace bne n_}obs dec tx lda tx cmp #80 bcc bsok lda #0 sta txbsok jmp rseolnobs cmp #24 ; ^X - cancel esc bne nocanyscan lda `}trmode+1 cmp #LO[regmode] bne docan lda trmode+2 cmp #HI[regmode] bne docan rtsdocan lda #0 jmp regmodenocan cmp #a}25 ; ^Y - SUB, same as CAN. beq yscan cmp #9 ; ^I - tab bne nohteqci ldx txfindtblp inx cpx #79 bcs donetab2 lda tab}bs,x bne donetab1 jmp findtblpdonetab1 stx tx jmp rseoldonetab2 ldx #79 stx tx jmp rseolnoht cmp #14 ; ^N - use g1c} bne noso lda #1 sta chset rtsnoso cmp #15 ; ^O - use g0 bne nosi lda #0 sta chsetnosi rtsretrn lda #0 sta tx d}jmp cmovedwnesccode cmp #91 ; '[' bne nobrak lda #LO[brakpro1] sta trmode+1 lda #HI[brakpro1] sta trmode+2 lda #255e} sta finnum sta numstk lda #0 sta qmark sta numgot sta digitgot sta gogetdg rtsnobrak cmp #68 ; D - down 1 line bf}ne noind jsr cmovedwn jmp fincmndnoind cmp #69 ; E - return bne nonel jsr retrn jmp fincmnd1nonel cmp #77 ; M - up lg}ine bne nori jsr cmoveup jmp fincmnd1nori cmp #61 ; = - Numlock off bne nodeckpam lda #0 sta numlock jsr shnuml jmpq}IBVT ASMBVT1 ASMB&]A65 B VTINTRO ASMBCHMAKE BASBVTCHSET ASMB4VT2 ASM!LYRICS BVVT OBJBVTNR ASM fincmndnodeckpam cmp #62 bne nodeckpnm ; > - Num on lda #1 sta numlock jsr shnuml jmp fincmndnodeckpnm cmp #55 ; 7r} - save curs+attrib bne nodecsc lda tx sta savcursx lda ty sta savcursy lda wrpmode sta savwrap lda g0set sta savg0s} lda g1set sta savg1 lda chset sta savchs lda undrln sta savgrn lda blink sta savgrn+1 lda revvid sta savgrn+2 lda t}invsbl sta savgrn+3 jmp fincmndnodecsc cmp #56 ; 8 - restore above bne nodecrc lda savcursx sta tx lda savcursy stau} ty lda savwrap sta wrpmode lda savg0 sta g0set lda savg1 sta g1set lda savchs sta chset lda savgrn sta undrln ldav} savgrn+1 sta blink lda savgrn+2 sta revvid lda savgrn+3 sta invsbl jmp fincmndnodecrc cmp #90 ; Z - id device bne nw}odecid jsr decid jmp fincmndnodecid cmp #72 ; H - set tab at this pos. bne nohts ldx tx lda #1 sta tabs,x jmp fincmnx}dnohts cmp #40 ; ( - start seq for g0 bne noparop lda #LO[parpro] sta trmode+1 lda #HI[parpro] sta trmode+2 lda #0 sy}ta gntodo rtsnoparop cmp #41 ; ) - start seq for g1 bne noparcl lda #LO[parpro] sta trmode+1 lda #HI[parpro] sta trmoz}de+2 lda #1 sta gntodo rtsnoparcl cmp #35 ; # - start for line size bne nonmbr lda #nmbrpro&255 sta trmode+1 lda #nm{}brpro/256 sta trmode+2 rtsnonmbr jmp fincmnd;nmbrpro;; Chars after ' ESC # ' ;; 3 - double-height/width, |}top ; 4 - double-height/width, bottom ; 5 - normal size ; 6 - double-width ; 7 - normal}} size ; 8 - Fill screen with E's ; cmp #56 ; 8 - see above bne nofle jmp fillenofle pha jsr ch~}klnsiz pla ldx ty stx y dex sec sbc #51 cmp #5 bcc stszokay ; 3/4/5/6/7 - see above jmp fincmndstszokay tay lda s}izes,y cmp lnsizdat,x bne nosmsz jmp fincmndnosmsz pha lda lnsizdat,x sta scvar1 pla sta lnsizdat,x tax lda szlen,}x sta szprchng+1 jsr calctxln lda #32 ldx #0szloop1 sta lnbufr,x inx cpx #80 bne szloop1 ldx #0 ldy #0szloop2 ld}a (ersl),y sta lnbufr,x iny inx lda scvar1 beq szlp2v inyszlp2v cpy #80 bne szloop2 lda invsbl pha lda blink pha} lda revvid pha lda undrln pha lda #0 sta invsbl sta blink sta revvid sta undrln sta x taxszprloop lda lnbufr,x} sta prchar jsr printerm inc x lda x taxszprchng cmp #80 bne szprloop pla sta undrln pla sta revvid pla sta blin}k pla sta invsbl jmp fincmndsizes db 2,3,0,1,0szlen db 80,40,40,40;fille ; Fill screen with E's lda #1 sta y}------------------------------------- L Y R I C S -------------------------------------CreepRadio}head-------------------------------------When you're in the floorCan look you in the eyeYou're just like an angelYour sk}in makes me cryYou float like a featherIn a beautiful worldI wish I was specialYou're so fucking specialBut I'm a creep}I'm a widowWhat the hell am I doing hereI don't belong hereI don't care if it hurtsI want to have controlI want a perf}ect bodyI want a perfect soulI want you to noticeWhen I'm not aroundSo fucking specialI wish I was specialBut I'm a cr}eepI'm a widowWhat the hell am I doing hereI don't belong hereShe ________________________________She's running to run }run run runWhatever makes you happyWhatever you wantYou're so fucking specialI wish I was specialBut I'm a creepI'm a }widowWhat the hell am I doing hereI don't belong hereI don't belong here-------------------------------------No Limit2 }Unlimited-------------------------------------Everybody say yeah!(Yeah!)No no no no no no no no no no no noThere's no l}imitNo no no no no no no no no no no noThere's no limitNo no limits we'll reach for the skyNo valley too deep no mountai}n too highNo no limits won't give up the fightWe do what we want and we do it with prideEverybody say yeah!(Yeah!)War }to the core I feel the floorWhen I almost thank you you answer moreI'm on the ass I know the lastI work real hard to colle}ct my cashTake take take a take take your timeWhen I'm going I'm going for mineOpen your ears and you will hear itI tell }you this cause there's no limitThe limit's alot cause there's much cropMicrophone shake cause we choose my rockI'm playin}g on a rope I've got no fearThe sound from my mouth is the rap you'll hearNo valley too deep no mountain too highReach the} top touch the skyThey tried to 'dis' me cause I'll stay aliveI'll make you techno when I am proudNo no no no no no no no} no no no noThere's no limitNo no no no no no no no no no no noThere's no limitNo no limits we'll reach for the skyNo v}alley too deep no mountain too highNo no limits won't give up the fightWe do what we want and we do it with prideNo no li}mits we'll reach for the skyNo valley too deep no mountain too highNo no limits won't give up the fightWe do what we want }and we do it with pride-------------------------------------All that she wantsAce of Base-------------------------------}------She leads a lonely lifeShe leads a lonely lifeWhen she woke up late in the morning lightAnd the day had just begun}She opened up her eyes and thoughtOh what a morningIt's not a day for workIf a day boy catching timeHe was lying on the }beach and having funShe's going to get youAll that she wantsIs another babyShe's gone tomorrow boyAll that she wantsIs} another babyAll that she wantsIs another babyShe's gone tomorrow boyAll that she wantsIs another baby(All that she w}ants)(All that she wants)So if you are inside and the day is rightShe's the hunter you're the foxDown till boys then talk}s to youWon't talk foreverIt is the night for passionBut the morning means goodbyeBeware of what is flashing in her eyes}She's going to get youAll that she wantsIs another babyShe's gone tomorrow boyAll that she wantsIs another babyAll th}at she wantsIs another babyShe's gone tomorrow boyAll that she wantsIs another baby-------------------------------------}Jesus JonesIdiot Stare-------------------------------------I bathe with the fireStared at the lightScreamed at the pain}fletxlp1 jsr calctxln lda #69 ; -E ldy #0fletxlp2 sta (ersl),y iny cpy #80 bne fletxlp2 inc y lda y cmp #25 bne }fletxlp1; jsr rslnsize lda #0 sta x sta y inc iggrnflelpy inc y lda y asl a asl a adc y asl a tax lda dlist+4,}x sta cntrl lda dlist+5,x sta cntrh ldx #0flelpx lda charset+37*8,x ldy #0flelp1 sta (cntrl),y iny cpy #40 bne fl}elp1 lda cntrl clc adc #40 sta cntrl lda cntrh adc #0 sta cntrh inx cpx #8 bne flelpx lda y cmp #24 bne flelpy }dec iggrn jmp fincmnd;parpro ldx gntodo cmp #65 beq dog1 cmp #66 bne dog2dog1 lda #0 sta g0set,x jmp fincmnddog2} cmp #48 beq dog3 cmp #49 beq dog3 cmp #50 bne dog4dog3 lda #1 sta g0set,xdog4 jmp fincmndqmarkdo lda #brakpro&2}55 sta trmode+1 lda #brakpro/256 sta trmode+2 rtsbrakpro1 cmp #63 ; '?' bne noqmark lda #1 sta qmark jmp qmarkdono}qmark pha jsr qmarkdo plabrakpro ; Get numbers after 'Esc [' cmp #59 bne notsmic lda finnum ldx numgot sta numstk,x} inc numgot lda #255 sta finnum lda #0 sta digitgot sta gogetdg rtsnotsmic cmp #58 bcs gotcomnd cmp #48 bcc gotco}mnd sec sbc #48 sta temp lda digitgot bne mltpl10 lda temp sta finnum inc digitgot lda #1 sta gogetdg rtsmltpl10} lda finnum asl a asl a clc adc finnum asl a clc adc temp sta finnum lda #1 sta gogetdg rtsgotcomnd sta temp ld}a gogetdg beq nogetdg lda finnum ldx numgot sta numstk,x inc numgotnogetdg lda temp ldx qmark beq doall jmp notbcd}oall cmp #72 ; H - Pos cursor bne nocuphvp ; f - ditto ldx numgot cpx #2 bcs hvpdo lda #1 sta numstk+1 cpx }#0 bne hvpdo lda #1 sta numstkhvpdo lda numstk cmp #255 bne hvp1 lda #1 sta numstkhvp1 lda numstk+1 cmp #255 bne} hvp2 lda #1 sta numstk+1hvp2 lda numstk sta ty dec ty lda ty cmp #255 bne hvp3 lda #0 sta tyhvp3 cmp #24 bcc h}vpok1 lda #23 sta tyhvpok1 inc ty dec numstk+1 lda numstk+1 sta tx cmp #255 bne hvp4 lda #0 sta txhvp4 cmp #80 }bcc hvpok3 lda #79 sta txhvpok3 jmp fincmnd1nocup cmp #102 ; f - Position beq hvp; cmp #65 ; A - Move up bne nocuu} lda numstk cmp #255 beq cuudodef cmp #0 bne cuuokcuudodef lda #1 sta numstkcuuok lda ty sec sbc numstk sta ty }ldx ty dex cpx #24 bcs cuubad jmp fincmnd1cuubad lda #1 sta ty jmp fincmnd1nocuu cmp #66 ; B - Move down bne nocu}d lda numstk cmp #255 beq cuddodef cmp #0 bne cudokcuddodef lda #1 sta numstkcudok lda numstk clc adc ty sta ty} tax dex cpx #24 bcs cudbad jmp fincmnd1cudbad lda #24 sta ty jmp fincmnd1nocud cmp #67 ; C - Move right bne nocu}f lda numstk cmp #255 beq cufdodef cmp #0 bne cufokcufdodef lda #1 sta numstkcufok lda numstk clc adc tx sta tx} cmp #80 bcs cufbad jmp fincmnd1cufbad lda #79 sta tx jmp fincmnd1nocuf cmp #68 ; D - Move left bne nocub lda nums}tk cmp #255 beq cubdodef cmp #0 bne cubokcubdodef lda #1 sta numstkcubok lda tx sec sbc numstk sta tx bcc cubbad} jmp fincmnd1cubbad lda #0 sta tx jmp fincmnd1nocub cmp #114 ; r - set scroll margins bne nodecstbm ldx numgot cpx} #2 bcs stbm1 lda #24 sta numstk+1 cpx #1 bcs stbm1 lda #1 sta numstkstbm1 lda numstk cmp #255 bne stbm2 lda #1s}tbm2 cmp #1 bcs stbm3 lda #1stbm3 cmp #24 bcc stbm4 lda #23stbm4 sta numstk; lda numstk+1 cmp #255 bne stbm5 ld}a #24stbm5 cmp #2 bcs stbm6 lda #2stbm6 cmp #25 bcc stbm7 lda #24stbm7 sta numstk+1; cmp numstk bcs stbm8 bne s}tbm8 lda #1 sta numstk lda #24 sta numstk+1stbm8 lda numstk sta scrltop lda numstk+1 sta scrlbot lda #1 sta ty st}a tx dec tx jmp fincmnd1nodecstbm cmp #75 ; K - erase in line bne noel lda numgot cmp #0 bne el1 sta numstkel1 lda} numstk cmp #3 bcc el2 lda #0 sta numstkel2 cmp #0 bne elno0 jsr ersfmcurs jmp fincmndelno0 cmp #1 bne elno1 jsr} erstocurs jmp fincmndelno1 lda ty sta y sta ersl jsr ersline jmp fincmndnoel cmp #74 bne noed ; J - erase in scree}n lda numgot cmp #0 bne ed1 sta numstked1 lda numstk cmp #3 bcc ed2 lda #0 sta numstked2 cmp #0 bne edno0 jsr e}rsfmcurs lda ty sta yed0lp inc y lda y cmp #25 beq ed0ok sta ersl jsr ersline jmp ed0lped0ok jmp fincmndedno0 c}mp #1 bne edno1 lda #1 sta yed1lp lda y cmp ty beq ed1ok sta ersl jsr ersline inc y jmp ed1lped1ok jsr erstocurs} jmp fincmndedno1 jsr clrscrn jmp fincmndnoed cmp #99 ; c - id device bne noda jsr decid jmp fincmndnoda cmp #110} ; n - device stat beq yesdsr jmp nodsryesdsr lda numgot cmp #0 bne dsr1 lda #5 sta numstkdsr1 lda numstk cmp #5 }bne dsrno5 ldx #$20 lda #11 sta iccom+$20 lda #4 sta icbll+$20 lda #0 sta icblh+$20 lda #dsrdata&255 sta icbal+$20 }lda #dsrdata/256 sta icbah+$20 jsr ciov jmp fincmnddsrdata db 27 db '[0n'dsrno5 cmp #6 beq dsrys6 jmp dsrno6dsrys6} lda #27 sta cprd lda #91 sta cprd+1 lda #0 sta cprv1 lda tycprlp1 cmp #10 bcc cprok1 sec sbc #10 inc cprv1 jmp} cprlp1cprok1 clc adc #48 sta cprd+3 lda cprv1 beq cpr1 clc adc #48cpr1 sta cprd+2 lda #59 sta cprd+4 lda #0 st}a cprv1 lda tx clc adc #1cprlp2 cmp #10 bcc cprok2 sec sbc #10 inc cprv1 jmp cprlp2cprok2 clc adc #48 sta cprd+}6 lda cprv1 beq cpr2 clc adc #48cpr2 sta cprd+5 lda #82 sta cprd+7; lda #0 sta cprv1cprdolp ldx cprv1 lda cprd,}x beq cprnodo pha ldx #$20 lda #11 sta iccom+$20 lda #0 sta icbll+$20 sta icblh+$20 pla jsr ciovcprnodo inc cprv1} lda cprv1 cmp #8 bne cprdolpdsrno6 jmp fincmndnodsr cmp #103 ; g - clear tabs bne notbc lda numgot bne tbc1 lda #}255 sta numstktbc1 lda numstk cmp #255 bne tbc2 lda #0 sta numstktbc2 lda numstk cmp #3 bne tbcno3 lda #0 taxtb}c3lp sta tabs,x inx cpx #80 bne tbc3lp jmp fincmndtbcno3 cmp #0 bne tbcno0 ldx tx sta tabs,xtbcno0 jmp fincmndno}tbc cmp #104 ; h - set mode bne nosm lda #1 sta modedo jmp domodenosm cmp #108 ; l - reset mode bne norm1 lda #0 st}a modedo jmp domodenorm1 ldx qmark beq norm2 jmp fincmndnorm2 jmp normdomode ; This part for h and l lda qmark bne} sm1 lda numgot beq moddone lda numstk cmp #20 bne moddone lda modedo sta newlmod ; Newline modemoddone jmp fincmnd}sm1 lda numgot cmp #0 beq moddone lda numstk cmp #1 ; Set arrowkeys mode bne nodecckm lda modedo sta ckeysmod jmp fi}ncmndsccolors db 14,0,0,2 db 0,14,0,12nodecckm cmp #5 ; set inverse screen bne nodecscnm lda modedo sta invon eor bc}kgrnd asl a asl a tax ldy #0colchng lda sccolors,x sta 709,y inx iny cpy #4 bne colchng jmp fincmndnodecscnm cm}p #7 ; Set auto-wrap mode bne nodecawm lda modedo sta wrpmodenodecawm jmp fincmndnorm cmp #109 ; m - set graphic rendi}tion bne nosgr lda numgot cmp #0 bne sgr1 sta undrln sta blink sta revvid sta invsbl jmp fincmndsgr1 ldy #255sgrl}p iny cpy numgot beq sgrdone lda numstk,y cmp #0 beq sgrmd0 cmp #255 bne sgrmdno0sgrmd0 lda #0 sta undrln sta bli}nk sta revvid sta invsbl jmp sgrlpsgrmdno0 cmp #4 bne sgrmdno4 lda #1 sta undrln jmp sgrlpsgrmdno4 cmp #5 bne sgr}mdno5 lda #1 sta blink jmp sgrlpsgrmdno5 cmp #7 bne sgrmdno7 lda #1 sta revvid jmp sgrlpsgrmdno7 cmp #8 bne sgrlp} lda #1 sta invsbl jmp sgrlpsgrdone jmp fincmndnosgrfincmnd1 jsr rseolfincmnd lda #regmode&255 sta trmode+1 lda #}regmode/256 sta trmode+2 rts;erstocurs lda tx sta x lda ty sta y jsr calctxln ldy y dey lda x ldx lnsizdat,x be}q smlersto lda x asl a cmp #80 bcc smlersto lda #79smlersto sta x inc x ldy #0 lda #32erstotxlp sta (ersl),y iny} cpy x bne erstotxlp; lda ty sta y tay asl a asl a adc y asl a tax lda dlist+4,x pha lda dlist+5,x pha lda tx} sta x dey ldx lnsizdat,y bne bigersto and #1 bne ertobt lda #32 sta prchar jsr print lda x dec x cmp #0 bne ert}obt pla pla rtsertobt pla sta cntrh pla sta cntrl lda x lsr a sta temp inc temp lda #0 tax tayertobtlp sta (}cntrl),y iny cpy temp bne ertobtlp lda cntrl clc adc #40 sta cntrl lda cntrh adc #0 sta cntrh lda #0 tay inx cp}x #8 bne ertobtlp rtsbigersto lda x cmp #40 bcc bigersok lda #39bigersok sta temp inc temp lda #0 tax tay jmp e}rtobtlp;ersfmcurs lda tx sta x lda ty sta y jsr calctxln ldy y dey lda lnsizdat,y bne bigtxerfm ldy x lda #32tx}erfm sta (ersl),y iny cpy #80 bne txerfm jmp nobigefmbigtxerfm lda x cmp #40 bcc bigtxefmc lda #39bigtxefmc asl a} tay lda #32bigefmlp sta (ersl),y iny cpy #80 bne bigefmlpnobigefm; lda y tay asl a asl a adc y asl a tax ld}a dlist+4,x pha lda dlist+5,x pha lda tx sta x dey ldx lnsizdat,y bne bigersfm and #1 beq erfmbt lda #32 sta prch}ar jsr print lda x inc x cmp #79 bne erfmbt pla pla rtserfmbt pla sta cntrh pla sta cntrl lda x lsr a sta tem}p tay lda #0 taxerfmbtlp sta (cntrl),y iny cpy #40 bne erfmbtlp lda cntrl clc adc #40 sta cntrl lda cntrh adc #}0 sta cntrh lda #0 ldy temp inx cpx #8 bne erfmbtlp rts;bigersfm ldy x cpy #40 bcc gofmbt ldy #39gofmbt sty te}mp lda #0 tax jmp erfmbtlp;decid ldx #$20 lda #11 sta iccom+$20 lda #7 sta icbll+$20 lda #0 sta icblh+$20 lda #d}eciddata&255 sta icbal+$20 lda #deciddata/256 sta icbah+$20 jmp ciovdeciddata db 27 db '[?1;0c';cmovedwn ; subroutin}e to move cursor lda ty ; down 1 line, scroll up if cmp scrlbot ; margin is reached. bne mdnoscrl jsr scrldown rtsm}dnoscrl cmp #24 beq mdok inc tymdok rts;cmoveup lda ty cmp scrltop bne munoscrl jsr scrlup rtsmunoscrl cmp #1 }beq muok dec tymuok rts;; Parameters for line size:;; 0 - normal-sized characters ; 1 - x2 width, single height ; 2 }- x2 double height, upper ; 3 - x2 double height, lower ;rslnsize lda #0 taxrslnloop sta lnsizdat,x inx cpx #24 bne} rslnloopinvprt rtsprinterm;; Will print character at x,y. ; (x, y are memory locations.) ; Uses prchar as char to p}rint. ; Checks all special character ; modes: graphic renditions, ; sizes, etc.. ; jsr chklnsiz js}r calctxln lda y cmp #0 beq notxprn tay dey lda lnsizdat,y beq ptxreg lda x cmp #40 bcc ptxxok lda #39ptxxok asl} a tay lda prchar sta (ersl),y iny lda #32 sta (ersl),y jmp notxprn;ptxreg ldy x lda prchar sta (ersl),y;notxpr}n lda iggrn bne pri1 lda invsbl bne invprtpri1 lda y asl a asl a adc y asl a tax lda dlist+4,x sta cntrl lda dl}ist+5,x sta cntrh lda prchar and #127 cmp #96 bcs prt1 cmp #32 bcc prt2 sec sbc #96prt2 clc adc #64prt1 sta prc}har lda #0 sta prchar+1 asl prchar asl prchar rol prchar+1 asl prchar rol prchar+1 ldx y dex lda lnsizdat,x sta te}mp ldx iggrn bne pno3 cmp #1 bne pno1 jmp psiz1pno1 cmp #2 bne pno2 jmp psiz2pno2 cmp #3 bne pno3 jmp psiz3pno3} jsr psiz0;psizok lda iggrn bne prsnorvd lda blink beq prsnobln lda #0 taxblnklp sta chartemp2,x inx cpx #8 bne} blnklpprsnobln lda undrln beq prsnouln lda #255 sta chartemp+7 sta chartemp2+7prsnouln lda revvid beq prsnorvd ldy} #0snrevdo lda chartemp,y eor #255 sta chartemp,y lda chartemp2,y eor #255 sta chartemp2,y iny cpy #8 bne snrevdop}rsnorvd lda temp cmp #4 bcs prsmch cmp #0 beq prsmch jmp prbgchprsmch lda x lsr a ldy #0 sty temp rol temp ldx t}emp clc adc cntrl sta cntrl lda cntrh adc #0 sta cntrh ldy #0prsnlp lda chartemp,y and postbl2,x sta chartemp,y l}da (cntrl),y and postbl1,x clc adc chartemp,y sta (cntrl),y lda cntrl clc adc #39 sta cntrl lda cntrh adc #0 sta c}ntrh iny cpy #8 bne prsnlp rts;psiz0 lda prchar+1 clc adc #charset/256 sta prchar+1 ldy #0ps0lp lda (prchar),y }sta chartemp,y sta chartemp2,y iny cpy #8 bne ps0lp rtspsiz1 jsr pbchsdopsz1lp lda (prchar),y sta chartemp,y sta c}hartemp2,y iny cpy #8 bne psz1lp jmp psizokpsiz2 jsr pbchsdo jmp psz23lppsiz3 jsr pbchsdo ldy #4psz23lp lda (prch}ar),y sta chartemp,x sta chartemp2,x inx sta chartemp,x sta chartemp2,x iny inx cpx #8 bne psz23lp jmp psizokpbchs}do lda #0 tax tay lda useset beq usatst lda prchar+1 clc adc #charset/256 sta prchar+1 txa rtsusatst lda prchar+}1 clc adc #224 sta prchar+1 txa rtsprbgch lda x cmp #40 bcc pxok lda #39pxok clc adc cntrl sta cntrl lda cntrh} adc #0 sta cntrh ldy #0prbiglp lda chartemp,y sta (cntrl),y lda cntrl clc adc #39 sta cntrl lda cntrh adc #0 st}a cntrh iny cpy #8 bne prbiglp rtschklnsiz ldx #0chklnslp lda lnsizdat,x cmp #4 bcc chkln1 lda #0 sta lnsizdat,x}chkln1 inx cpx #24 bne chklnslp rtsvbi1 inc flashcnt lda flashcnt cmp #30 bcc nochnflsh lda #0 sta flashcnt lda n}ewflash eor #1 sta newflashnochnflsh lda #8 sta 53279 jmp sysvbvvbi2 lda doclick beq nodoclick ldx #1 stx 53279 d }ex stx doclicknodoclick lda dobell cmp #2 bcc nodobell clc adc #$40 sta $d01a dec dobellnodobell lda oldctrl1 cmp } 767 beq noctrl1 lda kbcode sta 764noctrl1 lda 767 sta oldctrl1 jmp xitvbv;;; I need help here! --------------- ;  }This IRQ should put a #59 in ; 764 if it senses a press of ; Break.. But it just puts a #1 in ; there all the  }time, nonstop! (??) ;irq pha lda irqst and #128 cmp #0 beq inobrk; lda #59; sta 764inobrk plairqext jmp $ffff; }; - End of incoming-code processing ;; and now...; Outgoing stuff - keyboard handler ;readk lda 764 cmp #255 bne gtky} rtskretrn=128kup =129kdown =130kright=131kleft =132kexit =133kcaps =134kscaps=135kdel =136ksdel =137kbrk =13}8kzero =139kctrl1=140gtky sta s764 and #192 cmp #192 beq ctshft jmp noctshftctshft lda s764 and #63 cmp #10 bne }noprtscrn jmp prntscrnnoprtscrn lda s764 and #63 tax lda numlock beq keyapp jmp keynum;; Keypad application mode;}keyapp lda #27 sta outdat lda #79 sta outdat+1 lda #3 sta outnum; lda keytab,x cmp #48 bcc numk1 cmp #58 bcs numk}1 clc adc #64 jmp numkoknumk1 cmp #45 ; - bne numk2 lda #109 jmp numkoknumk2 cmp #44 ; , bne numk3 lda #108 jmp }numkoknumk3 cmp #46 ; . bne numk4 lda #110 jmp numkoknumk4 cmp #kretrn bne numk5 lda #77 jmp numkoknumk5 cmp #113} ; q bne numk6 lda #80 jmp numkoknumk6 cmp #119 ; w bne numk7 lda #81 jmp numkoknumk7 cmp #101 ; e bne numk8 lda }#82 jmp numkoknumk8 cmp #114 ; r bne numk9 lda #83 jmp numkoknumk9 rtsnumkok sta outdat+2 jmp outputdat rts;; N}umeric-keypad mode;keynum lda #1 sta outnum lda keytab,x cmp #48 bcc numk10 cmp #58 bcs numk10 jmp numnoknumk10 c}mp #kretrn bne numk11 lda #13 jmp numnoknumk11 cmp #113 ; q beq numk12 cmp #119 ; w beq numk12 cmp #101 ; e beq num}k12 cmp #114 ; r beq numk12 jmp numk13numk12 jmp keyappnumk13 cmp #44 ; , beq numnok cmp #45 ; - beq numnok cmp #4}6 ; . beq numnok rtsnumnok sta outdat jmp outputdat;noctshft lda s764 tax lda keytab,x cmp #128 bcc norkey jmp s}pshkey;; Basic key pressed.;; Check for caps-lock and change; char if necessary;norkey cmp #65 bcc ctk2 cmp #91 bc}s ctk1 ldx capslock beq ctk1 clc adc #32 jmp ctk2ctk1 cmp #97 bcc ctk2 cmp #123 bcs ctk2 ldx capslock beq ctk2 s}ec sbc #32ctk2;; Any alphabetical char has; inverted its caps-mode if caps-; lock is on.; cmp #0 bne oknoz rtsokno}z sta outdat lda #1 sta outnumoutputdat lda #1 sta 764 jsr getkeyoutqit ldx #$20 lda #11 sta iccom+$20 lda outnum} sta icbll+$20 lda #0 sta icblh+$20 lda #outdat&255 sta icbal+$20 lda #outdat/256 sta icbah+$20 jmp ciovspshkey cmp} #kexit bne knoexit jsr getkey lda tmpflash beq txnopc jsr putcrstxnopc lda #0 sta y jsr filline lda bckgrnd asl a } asl a tax ldy #0txclp lda sccolors,x sta 709,y inx iny cpy #4 bne txclp jsr vdelay ldx #menudta/256 ldy #menudt!}a&255 jsr prmesg pla pla jmp mnmnloopknoexit cmp #kcaps bne knocaps lda capslock eor #1 sta capslock jsr getkey j"}mp shcapsknocaps cmp #kscaps bne knoscaps lda #1 sta capslock jsr getkey jmp shcapsknoscaps cmp #kdel bne knodel l#}dx delchr lda deltab,x sta outdat lda #1 sta outnum jmp outputdatdeltab db 127,8knodel cmp #ksdel bne knosdel lda d$}elchr eor #1 tax lda deltab,x sta outdat lda #1 sta outnum jmp outputdatknosdel cmp #kretrn bne knoret lda #13 st%}a outdat lda #1 sta outnum jmp outputdatknoret cmp #kbrk bne knobrk lda #1 sta 764 jsr getkey lda tmpflash beq brk&}nof1 jsr putcrsbrknof1 jsr dobreak lda tmpflash beq brknof2 jmp putcrsbrknof2 rtsknobrk cmp #kzero bne knozero ld'}x #0 stx outdat inx stx outnum jmp outputdatknozero cmp #kctrl1 bne knoctrl1 lda #1 sta 764 jsr getkey lda ctrl1mo(}d eor #1 sta ctrl1mod jmp shctrl1knoctrl1 cmp #kup bcc knoarrow cmp #kexit bcs knoarrow sec sbc #129 clc adc #65)} sta outdat+2 lda #27 sta outdat lda #3 sta outnum lda #91 sta outdat+1 lda ckeysmod beq karrdo lda #79 sta outdat+*}1karrdo jmp outputdatknoarrow rtsprntscrn lda #1 sta 764 jsr getkey ldx #prntwin/256 ldy #prntwin&255 jsr drawwin+} jsr close2 ldx #$20 lda #3 sta iccom+$20 lda #scrnname&255 sta icbal+$20 lda #scrnname/256 sta icbah+$20 lda #8 sta,} icaux1,x lda #0 sta icaux2,x jsr ciov cpy #128 bcs prnterr; lda #1 sta yprntlp1 jsr calctxln ldy #0prntlp2 lda -}(ersl),y sta lnbufr,y iny cpy #80 bne prntlp2 lda #155 sta lnbufr,y; ldx #$20 lda #11 sta iccom+$20 lda #lnbufr&25.}5 sta icbal+$20 lda #lnbufr/256 sta icbah+$20 lda #81 sta icbll+$20 lda #0 sta icblh+$20 jsr ciov cpy #128 bcs prnt/}err; inc y lda y cmp #25 bne prntlp1; ldx #$20 lda #11 sta iccom+$20 lda #endofpg&255 sta icbal+$20 lda #endofpg/0}256 sta icbah+$20 lda #1 sta icbll+$20 lda #0 sta icblh+$20 jsr ciov cpy #128 bcs prnterr;prntend jsr ropen jmp g1}etscrnprnterr ldx #prnterr1/256 ldy #prnterr1&255 jsr prmesg ldx #prnterr2/256 ldy #prnterr2&255 jsr prmesg jsr ropen2} jsr getkey jmp getscrnscrnname db 'P:'endofpg db $0cprntwin db 31,7,49,10 db 'Printing screen' db '- Please wait -'3}prnterr1 db 33,8,15 db ''prnterr2 db 33,9,15 db ''keytab;; Ctrl and Shift off (0-63);4} db 108,106,59,kup,kdown,107,43,42 db 111,0,112,117,kretrn,105,45,61 db 118,0,99,kleft,kright,98,120 db 122,52,0,51,54,275},53,50,49,44 db 32,46,110,0,109,47,126,114,0 db 101,121,9,116,119,113,57,0,48 db 55,kdel,56,60,62,102,104,100 db kbrk,kca6}ps,103,115,97;; Shift-char (64-127); db 76,74,58,kup,kdown,75,92,94,79 db 0,80,85,kretrn,73,95,124,86,0 db 67,kleft,kri7}ght,66,88,90,36,0 db 35,38,kexit,37,34,33,91,32,93 db 78,0,77,63,0,82,0,69,89,0,84 db 87,81,40,0,41,39,ksdel,64,0,0 db 708},72,68,0,kscaps,71,83,65;; Ctrl-char (128-191); db 12,10,31,kup,kdown,11,kleft db kright,15,0,16,21,kretrn,9,kup db kdo9}wn,22,0,3,kleft,kright,2,24 db 26,0,0,0,30,kbrk,0,0,kctrl1,27; Note on this ^^^^: ; kbrk will be removed whe:}n the ; break key works (now it's C-esc) ; db kzero,29,14,0,13,28,0,18,0,5 db 25,0,20,23,17,123,0,125,96,0 db kzero,;}0,0,6,8,4,0,0,7,19,1;; End of keyboard handler ;; And now...; Status line doers ;shcaps lda capslock bne capson ldx<} #capsoffp/256 ldy #capsoffp&255 jmp prmesgcapson ldx #capsonp/256 ldy #capsonp&255 jmp prmesgshnuml lda numlock bne=} numlon ldx #numloffp/256 ldy #numloffp&255 jmp prmesgnumlon ldx #numlonp/256 ldy #numlonp&255 jmp prmesgshctrl1 lda>} ctrl1mod bne ctrl1on ldx #ctr1offp/256 ldy #ctr1offp&255 jmp prmesgctrl1on ldx #ctr1onp/256 ldy #ctr1onp&255 jmp prm?}esgbufcntdo lda bcount+1 lsr a lsr a cmp oldbufc bne bufcntok rtsbufcntok lda #142 ldx #0bufdtfl sta bufcntdt,x @}inx cpx #11 bne bufdtfl lda bcount+1 lsr a lsr a sta oldbufc cmp #0 beq bufdtok tax cpx #12 bcc notbig12 ldx #11A}notbig12 lda #155bufdtmk sta bufcntdt-1,x dex cpx #0 bne bufdtmkbufdtok ldx #bufcntpr/256 ldy #bufcntpr&255 jmp prmB}esgctr1offp db 1,0,8 db ''ctr1onp db 1,0,8 db ''capsonp db 10,0,4 db ''capsoffp db 10,0,4 db C}''sts2 db 15,0,1 db ''numlonp db 17,0,3 db ''numloffp db 17,0,3 db ''sts3 db 21,0,32 db 'àD}' db ''sts4 db 64,0,14 db 'ݠ'tilmesg1 db 'MegaTerm'tilmesg2 db 14,8,51 db 'A VT100 tE}erminal emulator' db ' by Itay Chamiel.. (c)1993'tilmesg3 db 33,10,11 db 'Version 1.0';; End of status line handlers.. F};; Calculate memory position in ; ASCII mirror ;calctxln lda y pha dec y lda y cmp #25 bcc calcokG} lda #0 sta ycalcok lda #0 sta ersl+1 lda y asl a asl a asl a asl a rol ersl+1; sta ersltmp lda ersl+1 sta erslH}tmp+1 lda ersltmp; asl a rol ersl+1 asl a rol ersl+1; adc ersltmp sta ersl lda ersl+1 adc ersltmp+1 sta ersl+1;I} lda ersl clc adc #LO[txscrn] sta ersl lda ersl+1 adc #HI[txscrn] sta ersl+1 pla sta y rts;; Mem location of placeJ} at x=0, ; y=y (passed data), is now at ; ersl (2 bytes). ;;; Allocate room for data tables ;bufcntpr K}db 53,0,11bufcntdt db 0,0,0,0,0,0,0,0,0,0,0;cprdlnsizdat=cprd+8chartemp=lnsizdat+24chartemp2=chartemp+8savddat=charteL}mp2+8numstk=savddat+8lnbufr=numstk+256buffer=lnbufr+81;; ԭ;chartemp2=chartemp+8savddat=charteYiiҥQ` FL_<ݩ 1ԩ0ԩBA1-`pppBJ)"N}A``i(ii(i`J)J)I*آMNOP㊍/ 7y"O}yz (* )* * 7D g8 bjkqd9e V g8z9GM L7* bGdMe"P} hi V g8L**/ 7΍ ;; ;yyz ^,GMz9 9)9 fCJ*I+9 7ҍԅÅąG\"Q} \Gv \GGGԍ҅10ip0Oȥi@ȥiȑȑȑȑȑ"R}ȑȑi iоAȩȩp0 }7_, 7 R VRZJ+I,[uT8U VP"S} i P EՅŅ#M$MyLH Eh愽yL"T}H EhƄݢL 7L 7 E 7- 2"/ 4LR-"/ 4 }7L3, 8,ϥ 1ЅυJ,I-΅e -H"U}-H`P Terminal 㩠젠 , 2- 1LR-L"V},,1Really wanna quit? Quit <F9- 3No R: handler present!! Hit any key tJ-I.o quit "W}R g8 7(* )* _ \b \䭱GG`  V`q8  Vl 8L-Ϣ- 2.\ "X}1υL,, p.Ho.H`' 堠 Stop bits Auto wrap Keyclick Background Cursor size Delete keJ."Y}I/y Save config (2<FPZ~..B/~//0_00. 2.z98 1iz9 z9 7 7L-$? 300 600 120"Z}0 1800 2400 4800 9600 19K &,28&(,(2(8(/( 2/<{9** 1jj{9 {9 7 7L-$/ 1 2 &&"[}(/h 2J/I0/x9I 1I9L-$- Yes No &(&2/ 2/ɭ~9 1L-~9L-"1 None Simple "\} Standard  $2$<$F0 29Ϣ0 19 fCL-$/ Black White &<&F0E 20Y}9J) 1"]}db 53,0,11bufcntdt db 0,0,0,0,0,0,0,0,0,0,0;cprdlnsizdat=cprd+8chartemp=lnsizdat+24chartemp2=chartemp+8savddat=charteL}bjkqd9e VL 1 bzd9e hi VL 1z9GM 7L-H)JJJJi0 1h)i0 11ɺi"_}11ɺi11u 71 J1I27 7 4L-%6 Saving current parameters ' ɯϠ' 򠤠Ԇ"`}ȱȱJΥiiͥe˥̐8L1Х Jȱeҽiӥ 2 4+$˅ϥ̅Х"a}̐̅ 2L1* Х̐ХJ2I3υ 2L1=!e̅ːЩ̰Ѕυ 2L1-28̅ː!Х˅ϥ"b}L28eЅ 2L1`ɛυ` L 2Ӆ҅Ii(i`HH 2"c} \Gv \GGGԍ҅10ip0Oȥi@ȥiȑȑȑȑȑ"R}ץЧhhiiM`օׅ 4惩 4惥񩅅 4愥օ 4惩 4惠I"e} 4拥惥婠 4惩 4惩 4惩 4愥J4I5Хօة 4惩 4惥񩃅 4惩 4惩 4"f}愥օ 4惥`~9Ĭy`yHHTUXYR Vhh` e "g}J&eiɀ 8Hh` i@L@58 & &J5I6i=5=5q]5i'i"h}`ƻƼ MMM漥 LڅiPߥۅiॼ8/ޢߑPiPߥiiPiץ L P"i} 7 e i e iHHʤ i ļ B7hhJ6I7`ƼƻMMM滥 Lڅ8P"j}ۅ⥼8/ޢP8PߥPץ L P 7 e 8 e iHȹH8 "k}I/y Save config (2<FPZ~..B/~//0_00. 2.z98 1iz9 z9 7 7L-$? 300 600 120"Z}恑@` 7LEUDD` 7ȱȱĈiiH 4hĈ` g8 s"m}d8e"bj V`&b j V`$bkz9m{9J V`b j V`(bdJ8I9Ne`h9i j"n}kLV bLVS:R:K:ȩ H 8 g8 "bjksd8e V 8 8 8 "bjksd8e V 7 8ȩLH"o} 7 ``ե 22ii e eօi8iC9J9I:mC9i"p}i(iץЧ`D:VT.CFG V7 HG9E fC 7 K KL5 7 KLE 7 KLh 7"q}L:ʆL: ; ; b V K L:L: bhiJ:I;"r}de V䥗 ; :R敩 Gƕ? K ; ; b V K敩 Gƕե ; K"s}И  KL : ; GL9) LLqE[ ;? ;OM`D qELCE J=LCM ELC= KLC>  KLC"y}7+LC8+LCZ LELCH LC(Z "z}`ƻƼ MMM漥 LڅiPߥۅiॼ8/ޢߑPiPߥiiPiץ L P"i}ڝONPHHHHON E惥PhhhhLCP((( LEP愥 E愥"|}ۅ⥼8/ޢP8PߥPץ L P 7 e 8 e iHȹH8 "k}h;OM温`:*0&80 湩` e e` OM渥LCHbPMOMOM"~}恑@` 7LEUDD` 7ȱȱĈiiH 4hĈ` g8 s"m}B(OMOMOMeLCLCC&OMOMOMePLCOLCD$OMOM8OMLCL"}CrjPMOMOMOMPMJAIBPMOM OMPMOMPMƽLCK5"}OMOMOM DLC DLC 7LCJWOMOMOM D愥 7LALCž 7L"}A DLC }7LCc LELCnLBOMOM% bhiRdBJBICe VLCLBM[M 8 LmB"}i0Mi0M;Mi 8 LBi0Mi0MRMMH bhih V津LCg6OMOM"}OMOMPLCLChLMJFIGFM"}7MI7M?MI?M륇LGJ&ei7M=57M=5y7Mi'i`i7M?M` G"}`ƻƼ MMM漥 LڅiPߥۅiॼ8/ޢߑPiPߥiiPiץ L P"i}IHMM`濥 IL_ʆĥi@å ҍLbH)hL`)L"}H)? LI)?LIHȩOɩǽJ0 :i@LCH-mLCH,lLCH.nLCHɀMLCHqPLCHwQLCHeRLCHrSLCH"}`LH`JHIIǽJ0:LHɀ LHqw erLzHLG, -.`LHƪJɀLHA[ i LHa {8 "}`ȩǩ 4 bǍhiȍdeLVɅ4 4 ; V79 fC 7,_ 7hhL3,Ɇ I 4LKɇ "} 4LKɈ9TJIIJIȩLHɉ9ITIȩLHɀ ȩLHɊ 4 ; w8L;`ɋ LHɌ "}4ILKɁ#Ʌ8iAʩȩǩ[ɥOLH` 4J 2 g8 bdJeJK Vj LڙONP"}ON bOdNeQhiJJIK V0愥¢ bdJehi V 7L8J 7J 7 7 4L8P: 1 Printin"}g screen- Please wait -!! lj;k+*opui-=vcbxz436521, .nm/~rey twq9078<>fhdgsaLJ"}:K\^OPUI_|VCBXZ$#&%"![ ]NM?JKILREYTWQ()'@FHDGSA    {}`"}L.L7L'L7L?L7L9L7LL7LL7JJŒ` M JJ  MM L7"}   JLIMà@ݠMegaTerm3A VT100 termina"}l emulator by Itay Chamiel.. (c)1993! Version 1.0HƄۥ &ۅܥۅݥ & &e܅ڥe݅ۥiڥih`5 "}DDDDDDfD"D"D"DJMINDD"DDD"DDDD"DDDDDDDDDDDD"}DD""DDDDDDDDD"D"""f""""D̪D"DDDDDDf"DDDDDD"DD""}D"DD"DDDfD̪̪ff̪JNIOffDDDDf"""D̪"}"̪̈"̪̪fD""DDDDDDDDDDDD"DfDDDDfDD"}7MI7M?MI?M륇LGJ&ei7M=57M=5y7Mi'i`i7M?M` G"}"DDDDDDwDDDDDDDDDDDDDDDDDDDDDw"}0p p0` "D"̪ff""ffDffJPQff"̪DDDf"""}"""̪DDDDf̪DD̪̈ff""ffD"DDDDfDDDf""}"DfDDDfDDDDDDDDD"DDTTTTTT̈ff""ffD"DDDDfDDDf" /;; terminal emulator ; by Itay Chamiel ;; (This is the file to assemble if ; you don't want the &}850 interface ; booter installed automatically.) ;; Assembling will create VTNR.OBJ.; include VTINTRO.ASM include VT1.A&}SM include VT2.ASM include VTCHSET.ASM;ally.) ;; Assembling will create VTNR.OBJ.; include VTINTRO.ASM include VT1.A$+_______ the centerTook no adviceWaited in vainI question that youThought about meThought about youThe corruption betw}een usPower liesDreams come trueI don't know if I careI can't feelI can't speakI can't thinkCaught in an idiot stare}I won't let it goHold it to meIt's mine to the endA shadow that hugs meMy black dogMy enemy friendI don't know if I c}areI can't feelI can't speakI can't thinkCaught in an idiot stare-------------------------------------on't know if I cm6$R1G0PJ(@J0N-8@.IFXUD ZE*C64#J0&-: .I (UI R!6yMY," L 8@X#=,Z3BB2J"^(*,WHDJ@T""C-R#@-R"E-$SI.% Z#!\',0I0