[!!!!îîîîîïî` ÓÌ!"üßýùxuxxxxx{!>!*=*ATYEB*OOOOOOOOSTARLET COM'dc 3.1ZBasiASTARLET.COM8911 for easy reference."2 of the":PRINT TAB(2);"NEC PC-8401A User's Guide.":GOSUB 14e in the program;":PRINT TAB(2);"this section is devoted to positioning the cursor and";T-10C PC-8401A User's Guide.":GOSUB 14e in the program;":PRINT TAB(2);"this section is devoted to positioning the cursor and";T-10@ic 3.1ZBasic 3.1ZBasic.1ZBasic 3.1ZBasic 3Basic 3.1ZBasic 3.1ZBasic 3.1ZBasic 3.1ZBasic 3.1ZBas1"v!"|!'"'2E%2  q0` 8 *+>2C.S1"t+[ R8 ͻ{! ͐=!͊ͦ>"|<( (L:/2>2 Not Enough Memory Bounds Error Break in|}*|2#|( +ͦ#n͊!"> !#""F 6T]*#z {6#*&|Z* |ZR^|RZ!z#z#|g}o|g}o|g}o{G){G<C_o! >)8+/O|ei2"ɯe!+|Ϳ+ͼ {GͿDM!˺z>=# #B% = |(}l?0#F8G Nq#!|> ( w#^!V^R8<(0w###{ 0= 6!+ͽ[s#rww(, ", "#(w(4,((S6l #~0? >j03)))o#~O(X(H(+ 8  8 0))))o~ #!N&(-(+(+T0 0 )T]))_R~ > #͵ͯn p"!ͩ͹ !#"ASS0+p#>2>2} <2 H ѷ((0 (G(B($( >w# z("?(?x>> >+7w{yGN#F+z()8 8 B^#Vccͼ }0DGͼ yͿͿ0tÊZ͊> > > ! ͼ 6 5 8y406> >  (:&&!~<(8~ݖO! !~Fp0D݆X ~wX yɷG> > }=2&":}22}u$r$y$3$ž'>'~ Û'>'nÛ'}( !=(++n&!VB( ++(+++N+^ s#r!c(" z !z~O#F`@2 o >:w+6 { zO yƐ'@'w+6 p)0>))) p#0tFO y( (#(>!wOG#N~(#n& 66#w+ {}! 6!~6 ~G#~. ͆ M!{GVwj#q 6#s#r++ y<=(#V+^~ʤ=ʤO#1y  ~("8<8 GF# ( i& ͣT]+64G!Nwi,a8{0_wɯRgo+ɯR!Rgo ++R! ##DMnf utx( `i4~# 4fo|gz{   ͱ̀ͱ:1͓">2 >2 U +U +U +U +R!Nz #= 8:*F ~(F~O8##~ # :? :> 0!S RDM*:_0 7*tR"6 +x !"> = ! *t[R= 8e"*"%:O ڱ[tRڱ"KBDM8(!*> #"> s= #*RDM*> +"> S= ܠ 8S*:0_8!R86" !R(<8::DM(0bk_8S!N2T]_0SͥS'd !l ^#V#!~G#~##N#T] #ͼ^#V#ͤ'#/ƀw w##ͼ^#V# ! B9!9  +6! P! : ͤ ͤͤ  ͎ͤ !!  ,!ͱCͱC͘͠!~#~ր0W R)T]))8͋ͼͤ2!~66w#!~w!~##ր<Ҥ?(G6#~w!~Ҥ =2( .  (+(- >!6#~ր/>?w##~ ä͈͓ jj"ͬ͌S̈́ (ƀ2!~6͈@ 8ͱ,͋% 0̀ͬ ͂Ͳ S͓2ͼ!"!>:>ʀ2͈ ʤͱ!~6!"C: :q0 ?!+ͯ!"!>?j*CP:T͌jo&(%PT̈́Ó#XP@Eh@ThCd vbr`3ͼ͓̀j͈ ͓̈́ͬü'((EE#S`(tq5&bIwW$piYWIfj2̈́jͱ]̈́ìPpyc&yHa12cQD XFhuR ͓#i1GYS Ar2XehUC`%RT!~26 <ͱ 8ͬj̈́ͱ͂ <T ?ͱ 8 >2͂ ͱ 8 ?͂::2ͼ!l"!"2`ͱͼT>2@%`"@T:0`ͼ!":(1ͩ:8`"j͓̈́ PjͱͼC|2R"C̈́j̀ͱ`%*C|(#<"C0 "`T%`ͼT:( ͼ̀ͬ̈́̈́ͱj[:(ͱeͱ%jͱM̈́TV: :jͱ6̈́TS@`!"!">2͈͓ͼT` Br`!' 4 BP``p V2@!b#R%P'VCMh&GͽB-́:-͒2-͈*Cͱ"ͬ  ͆ ͋ *gCͬ ͤz( z/W{/_6#6!>P8#N#F#-'w:!w#6##6!ͣ͊> !!~> (>-#~րOg g(oo +>0S##y<< 0' >.y<( >0 y8A/(/# >6E#6+y(6-D#6/4 0:#w#6>0o >.0:?~oͻ ! +6!F#~-(+ u$ u* u. # 4u~ 4v u ~ow:(~ ~on 6-͟:w#>w##6P͓!N#!~#G(o5ͤ0 ͞( 56 F#͞(͞ !n~ 60.~(o~+:(6 (6-̀~(ò~(o*͂n ~ ̀î 2!yÊError. ~EN#~ (, s+q}hsͤ8~.(#(# >0ow#7A? }2O_!"0####"y2\".*>} .*> (}2>}?*͙2D"F*͙2_DM*[Vx CF͢x ?DM**̓̓̓3: ?S"͔;>(3:3>**^VG^V,,?DM*C*DMR *PYC")շB>#"R>+22iz {>82i2"#"Ss<"vBKx Kx͢ !Rx"v!B"\ R>>+>#R{z}|!!|ݾ8}ݾ0zݾ8{ݾ0>20>2}<2{2R*> *:0(:C͗>Cͧ<>22220͍͚kbYP?S"]T>)>)?"S{ƀ2m}ƀ2f2-4-R>#2_2ƀ͚( BDM(/":͍R)"TSBS+ x >DJPV\bgmsx~!:{2{! w+{ w++s"!w>3g#w++++6/4 0:#wz i!x :} :| r cz i*z !~ ! >IR0mW^#'f'!>2 ^+V,ͩ ͩ >'n(6T]"3!ͩ & "3!&!u+t,ͩ 6 #ͩ ~!w)~"w*w%6&w(w$w!w"w#&ͩ >ͩ >#~+: ~## ͵!. #͵!!~#8 .(#~q#!(_ͩ ͩ |<#|> +C<C"|+\"*N F{! ( > !> !&lT\3}(!2!!!!~ #!s# ,͆#~"![s#r~"!͈6#s#"(, ͆#4͆#, +͆#"(4͆#+, 6#s#͆#ž' 4[ ~#&& C[ N #~  > && d:*&*6#wEp(#͆# =+͆#(3(0 (:E%[ Z&w#$ͼ&$&$Ͳ&'>* | ,u%t&>$͎&:F$G!>$'~Ď&,ͻ 6 !T!" $.".$#$'!r!ͬ#Þ'S ͻ 6.u,[ ͉!!z>y${2$}2*&=8 u$>'Þ'!s<=(" T]@ ".$>.2*&!~2$w>2>?$Þ'> ͬ#Þ':( >}x>$ž'>1*% :*% :*% :F$*% *U$1% :% "$:% " >( >c 1s* r+" :% "$:%DM“$Z&“$w# x !OZ&}*%|*%Z&oZ&g!}eC>$͙%`iC>$Ù%C>$n*F)N(͢%`i#O%L%\% L%f%c%n"F!N$!=&^%V&>!jR 0 = BK!`i>$(Þ'f%~&&=Ou$ݾ" |ݾ!'Ϳ ¬#t!q"'|ei)0>2-&>>>'&( 'n 2S&'v  '' 66>:*&$&(>'v y<w$ Ϳ '4! 4"~&('Fʧ&'v(><&Ϳ '!!>>'!>>'!>2E%!>>w'w$w!w"'"'N$n+f,'~4&2E%:*&2F% 6#0 6#-|o2g'}!' 8> ( G#~0 6{'!N({'>(!_(!U({'F#4~ ont. or top? ͬ#*E%}ç':23'͹ !"E%!'͊2 _SCNo End of File Disk FullFile Not Found File Not Open Bad File NameBad File Number Write Only Read OnlyPositionDisk Error in File #00[?2lV)(g Press any key -> GEnie's Laptops Roundtable presents& Programming the Starlet NEC PC-8401A EInformation, screen displays, and print outs to assist in programming5the Starlet, with special emphasis on BASIC-E coding.IIncludes modules to print out SOROC cursor positioning table, a character@table, and an ASCII graphic display with base number conversion. Startling Starlet Selections 1) ASCII Graphically4) SOROC & VT-100 Sequences2) ASCII Character Table5) Base Number Conversions3) Cursor Positioning6) Exit program?5Which CHR$(nnn) would you like displayed? [33 to 251]Enter 0 to exit:  This is CHR$() as requested. Hex =  Oct = Binary = ) ASCII Character String Table: 128 - 193  ###=) ASCII Character String Table: 194 - 251  ###= ###= SOROC Cursor Positioning Codes EWhether programming the Starlet with BASIC-E, also seen as EBASIC, or?the North Star based ZBAS, or MOUSE, or with ZBasic from ZedcorBwith which this program was written, it is necessary to use VT-100Eand the SOROC escape sequence codes for even the simplest operations.KBoth VT-100 and SOROC coding is discussed further elsewhere in the program;5this section is devoted to positioning the cursor and provides the means>to print out a copy of the coding, as found on page 232 of theNEC PC-8401A User's Guide. Right here!EClearly, it is best to set up a simpler method during initialization.;As a minimum starting point, we can define the cursor call:ESC$=CHR$(27):CUR$=ESC$+=Thereafter, CUR$;-3 would serve our needs.GBut we can do much better than that when calculated position is needed.@In BUSINESS.INT, for instance, the Row could be calculated thus:PRINT CUR$;CHR$(32+I-7);J to print Menu choices.FIn LOTTO.INT, it was the column position that needed to be calculated;so we used PRINT CUR$;%;CHR$(58+((I-1)*10))IAnd in the advanced course, we learned that DEF FN could be used as well!*With CUR$ defined, we can also initialize:'DEF FNCR$(X)=CUR$+CHR$(31+R)+CHR$(31+C)FThen, as needed, FNCR$(X) does the job after defining R and C, perhapsby use of FOR - NEXT loops.EEnough on that; now to print out the needed codes for easy reference.&With printer set, are you ready? [y/n]YPosition CHR$Locate cursor: PRINT CHR$(27);=;CHR$(Row);CHR$(Column)!Turn on printer: PRINT CHR$(27);@!Turn off printer: PRINT CHR$(27);AClear screen: PRINT CHR$(27);*Normal video: PRINT CHR$(27);(Reverse video: PRINT CHR$(27);)#Turn on SOROC mode: PRINT CHR$(27);[?2l&Return to VT-100 mode: PRINT CHR$(27);VRecommended initialization:ESC$=CHR$(27):SCR$=ESC$+[?2l :VT$=ESC$+V :RV$=ESC$+) NV$=ESC$+( :CLR$=ESC$+*/PRINT SCR$ REM Activate SOROC escape sequences PRINT ESC$;g%;CLR$ REM Erase F-keys, clear screen" SOROC and VT-100 Escape SequencesG Appendix D of the NEC PC-8401A User's Guide, including pp. 224-234, is@devoted to definitions of the escape sequences needed to performHthis or that function on the Starlet. These pages are essential for anyJserious programming of the Starlet, whether it be in BASIC-E, MOUSE, ZBAS,Hor the more advanced ZBasic interactive compiler. Just to configure theKlatter requires entering of Hex codes to make effective use of SOROC codes.HSince the most effective programming can be done using the SOROC coding,Iprogram initialization should jump right into SOROC mode. It is not goodMpractice to count on users to select SOROC mode with their Function key, evenBthough your program guide may so specify. Best to do it for them!The Cursor Positioning, module of this program includes a print outGof recommended initialization sequences, the most important of which is&the jump to SOROC with PRINT CHR$(27);[?2L which does no harm if your!Starlet is already in SOROC mode.GWith that done, such simple but vital matters as screen clearing, usingIreverse video, and cursor positioning may be accomplished. InitializationIshould include definition of jump to VT-100 mode as that is necessary forKfor some functions. Program ending should include screen clearing and thenthe jump to VT-100 before END.IIt is important to note that BASIC-E [or EBASIC] does not support LPRINT;Lyou cannot get around that lack by using PRINT #1 in any form. However, youMCAN make effective use of the SOROC sequences to turn the printer on and off.IIn this mode, all PRINT statements are echoed to the printer. This may beFseen in the program PLOTSINE.INT adapted specifically for the Starlet.DFinally, before leaving you to your own programming pleasures, don'tIoverlook the very effective line erase sequence, ESC T, used to such good%good effect in the SLOTS.INT program. Lotza fun programming ...the Laptops way ....^Dave^. Base Number Converter 5Select ecimal, ex, ctal, or inary input: DHOBNumber: &H&O&XDecimal= Hex , Octal , and Binary Hex = Decimal , Octal , and Binary Octal = Decimal , Hex , and Binary Binary = Decimal , Hex , and Octal Another number? [y/n] Y# Programmed and Compiled in ZBasic For GEnie's Laptops RoundtableCopyright 1987David Dunn Thomas!͟ ͻ !rn !rͻ !e(ͻ !rn !rͻ !j(ͻ !rn !rͻ !l(ͻ !rn !rͻ !n(ͻ !rn !r͹ !r͹ !p(͹ 3>!>!3!r͹ !r(͹ !r͹ ͏ ͻ !rn !r͋ |>U>"p*pM *pM ͋ + \"!!3!r͹ !(͹ !r͹ !$!3!(͹ ! "!!3!r͹ !(͹ !r͹ !P! ͮ ! "!!(͹ !!)͹ !!M)͹ !!)͹ =\"!!3!r͹ !)͹ !r͹ ! !)͹ !-! *͹ ! !(*͹ !-!A*͹ ! !\*͹ !-!r*͹ !(! 3!r͹ !*͹ !r͹ !͟ ͻ ͮ >!reC͂??@ByIKhNë?\"!!3!*͹ !1!*͹ ͯ!nͩ*n! |@?*n("!!3!r͹ !*͹ *n6>ͮ !*͹ !! 3!*͹ *n ͻ ͮ ! ͮ !! 3!*͹ *n' ͻ ͮ ! ͮ !! 3!*͹ *n ͻ ͮ ! ͮ =?\"!!3!r͹ !+͹ !r͹ !"l@!! lͮ HA!"jA! j 5A*l*j"p!0+͹ !3+*pF*p͟ ͻ ͮ @!P!- ͮ @=\"!!3!r͹ !8+͹ !r͹ !"lÉA!! lͮ A!"jÞA! j A*l*j"p!b+͹ !e+*pF*p͟ ͻ ͮ ÒA!P!- ͮ yA!"lA!l B!j+͹ !m+*lF*l͟ ͻ ͮ A=?\"!!r͹ !r+͹ !r͹ !!+͹ !!+͹ !!,͹ !!\,͹ !!,͹ !!,͹ !$-͹ !!8-͹ !!w-͹ =\"!!-͹ ! !-͹ !!-͹ !!0.͹ !!F.͹ !"͟ ͻ ͮ !V.͹ !"͟ ͻ ͮ !Z.͹ !"͟ ͻ ͮ !\.͹ !"͟ ͻ ͮ ! !h.͹ !!k.͹ !"͟ ͻ ͮ !.͹ !"͟ ͻ ͮ !!.͹ !! 3!.͹ =\"!!.͹ !!8/͹ !!t/͹ !"͟ ͻ ͮ !/͹ !"͟ ͻ ͮ !!/͹ !"͟ ͻ ͮ !/͹ !"͟ ͻ ͮ !/͹ !!/͹ !!0͹ !!E0͹ !"͟ ͻ ͮ !^0͹ !"͟ ͻ ͮ !`0͹ !!x0͹ !!0͹ !"͟ ͻ ͮ !0͹ !"͟ ͻ ͮ !0͹ =\"!!0͹ !!71͹ !!b1͹ !!1͹ !!1͹ !!1͹ !!32͹ >!r!Z2* |{E~E~E?!"lÓE!l ڴEr$! ͮ !\2͹ ! ͮ ̈́$ÇEr$!P!- ͮ ̈́$!"lE!l OF!"jE!P!jͮ LF*l*j"pr$! *pM ͋ R ͮ *p͸! ͮ *p͟ ͻ ͮ ! ͮ ̈́$EEr$̈́$r$̈́$r$! !k2͹ !"͟ ͻ ͮ !2͹ !"͟ ͻ ͮ !2͹ ̈́$r$̈́$r$! !2͹ !"͟ ͻ ͮ !2͹ !"͟ ͻ ͮ ̈́$r$! !2͹ !"͟ ͻ ͮ !2͹ !"͟ ͻ ͮ ̈́$r$̈́$r$! !2͹ !"͟ ͻ ͮ ! 3͹ !"͟ ͻ ͮ ̈́$r$̈́$r$! ! 3͹ !"͟ ͻ ͮ !+3͹ !"͟ ͻ ͮ ̈́$r$! !-3͹ !"͟ ͻ ͮ !L3͹ !"͟ ͻ ͮ ̈́$r$̈́$r$! !N3͹ !"͟ ͻ ͮ !r3͹ !"͟ ͻ ͮ ̈́$r$! !w3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ ̈́$r$̈́$r$! !3͹ ̈́$r$! !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ ̈́$r$! !3͹ !"͟ ͻ ͮ !3͹ !"͟ ͻ ͮ !4͹ !"͟ ͻ ͮ ! 4͹ !"͟ ͻ ͮ ̈́$r$! !4͹ ̈́$r$! !>4͹ !"͟ ͻ ͮ !J4͹ !"͟ ͻ ͮ !L4͹ ̈́$r$! ͟ ͻ ͮ ̈́$?\"!!3!r͹ !r4͹ !r͹ !!4͹ !!4͹ !!5͹ !!g5͹ !!5͹ !!5͹ !!G6͹ !!6͹ !!6͹ !!(7͹ =\"!!k7͹ !"͟ ͻ ͮ !p7͹ !"͟ ͻ ͮ !7͹ !!7͹ !!7͹ !"͟ ͻ ͮ !8͹ !"͟ ͻ ͮ !$8͹ !!@8͹ !!b8͹ !!8͹ !!8͹ !!>9͹ !!9͹ =\"!!9͹ !!9͹ !!@:͹ !!:͹ !!:͹ !!;͹ !!d;͹ !!;͹ !;͹ !!;͹ !!<͹ =?\"!!3!r͹ ! <͹ !r͹ !!3!%<͹ >!ra !Un !U![<* |"L!"SmL!U!]<* |:L!"SmL!U!_<* |RL!"SmL!U!a<* |jL!"SmLK!2!3!c<͵!>ͽ!>eC"ͻ !'n !'eC"%!o<ͻ !>ͻ !n !eC"!r<ͻ !>ͻ !n !eC"p!P! ͮ *S͂ M MWMMM!!u<͹ *<͸!}<͹ *< ͻ ͮ !<͹ *<' ͻ ͮ !<͹ *< ͻ ͮ 2N!!<͹ !>͹ !<͹ *%A ͻ ͮ !<͹ *%' ͻ ͮ !<͹ *% ͻ ͮ 2N!!<͹ !>͹ !<͹ *͸!<͹ * ͻ ͮ !<͹ * ͻ ͮ 2N!!<͹ !>͹ !<͹ *p͸!<͹ *p ͻ ͮ !=͹ *p' ͻ ͮ !!=͹ >!ra !rn !r!*=* |eNKhN?\"!!3!r͹ !,=͹ !r͹ !!P=͹ !!! 3!o=͹ !!~=͹ !"\"!r͹ *=* |eNKhN?\"!!3!r͹ !,=͹