home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG009.ARC
/
1985APR.CAT
< prev
next >
Wrap
Text File
|
1979-12-31
|
38KB
|
1,033 lines
.op
.PO0
.HE ---- T H E C A T C H E R ---
TO : MBUG AUSTRALIA INC,
The Treasurer, 26 Alexander Cr., Ferntree Gully. 3156
I would like to - join MBUG AUSTRALIA INC [ ]
renew my subscription to M.A. [ ]
NAME :________________________________________________
ADDRESS :________________________________________________
________________________________________________
TELEPHONE :__________________ SYSTEM :_________________
HARDWARE :____________________________________________
[ ] $20 Melbourne subscription per year.
[ ] $17 Non-city subscription per year.
[ ] A$20 New Zealand subscription per year.
[ ] $10 Tape Library membership (payment only required once)
[ ] I would like a receipt, please
-------------------------------------------------------------
| |
| SERVICES PROVIDED BY MBUG AUSTRALIA INCORPORATED |
| |
|------------------------------------------------------------
| TAPE LIBRARY * P.O. BOX 45 CANTERBURY 3126 |
|-----------------------------------------------------------|
| $2.0░áPE╥ S/W TAP┼ FO╥ ON┼ MONTH¼ RETURNED NEXT MEETING.|
| $5.00 PER SIG/M VOLUME, WE SUPPLY THE DISK. |
| $4.50 PER BLANK 5" DISKETTE |
-------------------------------------------------------------
| ADVERTISEMENTS * P.O. BOX 157 NUNAWADING 3131 |
|-----------------------------------------------------------|
| $80.00 FULL PAGE $40.00 HALF PAGE $25.00 QUARTER PAGE |
| $3.00 FOR SERVICE AND RECURRENT ITEMS (LESS THAN 5 LINES) |
| FREE FOR ADVERTISEMENTS THAT ARE NOT RECURRING ITEMS |ì
-------------------------------------------------------------
| MODEM HIRE * JOHN BUXTON 435-0885 |
|-----------------------------------------------------------|
| $5.00 FIRST WEEK THEN $10.00 EACH ADDITIONAL WEEK |
| PLUS $25.00 DEPOSIT |
-------------------------------------------------------------
| BAZAAR * MICK HOLZINGER 354-6742 P.O. BOX 253 COBURG 3058|
|-----------------------------------------------------------|
| $1.50 PER C30 TAPE OR $25.00 PER BOX OF 20. |
| $1.50 BACK ISSUES OF CATCHER VOL 1 NO 1 PRINTED OCT 82 |
-------------------------------------------------------------
| DISKETTE COPYING * GRANT FOREST 8748728 |
|-----------------------------------------------------------|
| 5"TO 8" OR 8"TO 5" MOST FORMATS $2.00 PER DISKETTE |
-------------------------------------------------------------
| FOR ALL POSTAL ORDERS ADD $1.50 MINIMUM |
-------------------------------------------------------------
.pn1
FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MBUG
Sincσ thσ formatioε oµ you≥ cluΓ nearl∙ threσ year≤ ago¼ DIXO╬ KENNE┘ é ì
ha≤ beeε thσ EDITO╥ oµ TH┼ CATCHER«á Iε tha⌠ time¼á thσ newslette≥ ha≤ ìèbecomσá ßá dominan⌠á facto≥á iεá achievinτ thσá growtΦá thσá cluΓá ha≤ ì
experienced¼ bu⌠ nothinτ wortΦ whilσ i≤ eve≥ obtaineΣ withou⌠ ß lo⌠ oµ ì
effor⌠ anΣ tha⌠ eve≥ demandinτ monste≥ calleΣ TIME« Duσ t∩ Dixon'≤ ne≈ ì
worδá commitment≤á anΣ thσ scarcit∙ oµ freσ timσá available¼á hσá ha≤ ì
decideΣ t∩ resigε froφ thσ editor'≤ position« Wσ al∞ thanδ hiφ fo≥ hi≤ ì
efforts¼á anΣ a≤ ß primσ membe≥ iε thσ club¼á hσ ha≤ madσ TH┼á CATCHE╥ ì
thσá premiuφá BE┼á newslette≥á iε Australia«á Le⌠ mσá als∩á takσá thi≤ ì
opportunit∙á t∩á thanδ ANDRE╫ BARFOOTé fo≥ becominτ thσ ne≈á EDITO╥á a⌠ ì
sucΦ shor⌠ notice«á Wσ stil∞ havσ ß fe≈ item≤ t∩ addres≤ regardinτ thσ ì
forma⌠á anΣá conten⌠á oµá TH┼á CATCHER«áá A≤á wσá wan⌠á t∩á sharσá thσ ì
responsibilitie≤á oµ COLUMN╙ iε TH┼ CATCHE╥ s∩ tha⌠ thσ TIM┼á requireΣ ì
t∩ producσ thσ newslette≥ doe≤ no⌠ fal∞ completel∙ oε thσ EDITOR¼á thσ ì
followinτ member≤ havσ indicateΣ the∙ wil∞ hel≡ witΦ proofreadinτá anΣ ì
reviewinτ oµ S/W¼ Iµ anyonσ elsσ i≤ interesteΣ pleasσ contac⌠ me.
GRE╟ BLAC╦, SIMO╬ GERRAT┘, GRAHA═ SCHULT┌, ALA╬ LAUGHTON, BIL╠ TAT┼,
DYLA╬ JUD─, W.H.R« SMIT╚, RUSSEL╠ CROSSER, WAL╠ HANSEN
Wσá hopσ t∩ havσ ß fe≈ procedure≤ iε placσ b∙ thσ nex⌠ meetinτ s∩ tha⌠ ì
al∞ thσ EDITO╥ HELPER╙ wil∞ kno≈ wha⌠ i≤ goinτ on.
***WHAT'╙ O╬ NEX╘ MEETING***
RAYMON─á HANé wil∞ bσ demonstratingé VIATELé - Wha⌠ i⌠ i≤ anΣ ho≈ i⌠á caε ì
assis⌠á you«á A.T«á wil∞ bσ releasinτ thσ S/╫ anΣ thσ H/╫ mod≤ t∩á thσ ì
BEE-MODE═á nex⌠á montΦá s∩á tha⌠ everyonσá caεá acces≤á VIATE╠á almos⌠ ì
immediately.
JI═á DUF╞á wil∞á bσ demonstratinτ ß USE─ CARéá packagσá tha⌠á ha≤á beeε ì
writteε iε DBAS┼ II¼á whicΦ use≤ ß RUNTIM┼ packagσ tha⌠ allow≤ thσ S/╫ ì
t∩ ruε ver∙ fast.....
Fo≥á thσ member≤ wh∩ arσ usinτ cassettes¼á therσ wil∞ bσ ané 800░ bauΣ é ì
S/╫ loading/savinτ demonstration¼á usinτ ß modifieΣ cassettσ recorder« ì
┴á ├ GROUPé wil∞ definitel∙ bσ starting«á HAROL─ FORODSHA═ wil∞ bσá thσ ì
grou≡á leade≥ anΣ wil∞ ascertaiε wha⌠ forma⌠ thσ sub-grou≡ wil∞á take« ì
A≤á thσá BULLETI╬ boarΣ anΣ XYA═ arσ writteε iε C¼á onσ oµá thσá firs⌠ ì
project≤ wil∞ bσ familiarizatioε witΦ thi≤ S/╫ s∩ tha⌠ an∙ upgrade≤ t∩ ì
thσ BULLETI╬ boarΣ ma∙ bσ achieveΣ b∙ thσ group.
**BAZAAR**
Therσ wil∞ bσ severa∞ MODE═ KIT╙ fo≥ salσ a⌠ $25.00
CATCHE╥ YEA╥ BOOKS VO╠ ╔ anΣ VO╠ I╔ arσ no≈ available.
XYAMé sourcσ disk≤ availablσ fo≥ $6.00
cont...
**GENERA╠ INFORMATION***
Informatioεá froφá thσá PAPE╥ LIBRAR┘ caε bσ ZeroxeΣá iεá thσá COUNCI╠ ì
LIBRAR┘ (tw∩ door≤ down⌐ u≡ unti∞ 9:30.
Brinτá you≥ BEE╙ alonτ iµ yo⌡ wan⌠ t∩ revie≈ thσ lates⌠ S/╫á tha⌠á thσ ì
cluΓ ha≤ purchaseΣ ¿ revie≈ only¼ no⌠ fo≥ copying).
Startinτ nex⌠ montΦ wil∞ bσ ß columε indicatinτ wha⌠ transpireΣ a⌠ thσ ì
maiεá meeting«á Thi≤á wil∞á allo≈ countr∙ member≤ thσá opportunit∙á oµ ì
knowinτá wha⌠á thσ cluΓ i≤ doing¼á anΣ no⌠ mis≤ ou⌠á oεá an∙á releven⌠ ì
information«
A╛ GRANTè
FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MBUG
INTRODUCTION TO NEW EDITOR
Jus⌠á ß fe≈ line≤ t∩ le⌠ yo⌡ kno≈ tha⌠ a≤ froφ thi≤ issuσ oµá Thσ ì
Catche≥ ╔ wil∞ bσ thσ ne≈ editor« Fo≥ thosσ oµ yo⌡ wh∩ d∩ no⌠ kno≈ me¼ ì
╔ wil∞ tr∙ t∩ explaiε ß littlσ abou⌠ myself.
╔á aφá no⌠á ß brillian⌠ basiπ programme≥ no≥ aφ ╔á aεá exper⌠á a⌠ ì
assemble≥ languagσ anΣ ╔ aφ no⌠ wha⌠ yo⌡ woulΣ cal∞ ß (real⌐ hacker« ╔ ì
kno≈á nothinτá abou⌠á electricit∙ othe≥ thaε OHM'╙ la≈ anΣá eveεá les≤ ì
abou⌠ ß compute≥ o≥ wha⌠ make≤ i⌠ work«á M∙ onl∙ claiφ t∩ famσ i≤ tha⌠ ì
╔ usσ ß Microbee«á ╔ starteΣ witΦ ß 3▓ Plu≤ anΣ ╔ no≈ havσ ß 64δá twiε ì
disδ system¼ Admatσ printe≥ anΣ ß Microbeσ modem« ╔ aφ ß compute≥ use≥ ì
wh∩á like≤ t∩ pla∙ arounΣ witΦ differen⌠ program≤ anΣ sometime≤ modif∙ ì
theεá fo≥á m∙ owε use«á ╔ havσ neve≥ editeΣ ß newslette≥ o≥á an∙á sucΦ ì
thinτá iε m∙ lifσ bu⌠ ╔ fee∞ ╔ ma∙ bσ ablσ t∩ d∩ somethinτ fo≥ al∞á oµ ì
u≤ INCLUDIN╟ YOUí ...«
No≈ a≤ fo≥ YOU
╔ can'⌠ recal∞ seeinτ ß lette≥ t∩ thσ edito≥ iε TH┼ CATCHE╥ s∩á ╔ ì
aφ no≈ givinτ YOUé you≥ chance«á Iµ yo⌡ havσ ß problem¼á aε answer¼á aε ì
idea¼á ßá program¼á ß joke¼á ß beeµ o≥ eveε iµ thσ novelt∙ oµ havinτ ß ì
compute≥á ha≤ worε ofµ anΣ your≤ i≤ no≈ collectinτ dust¼á ho≈ abou⌠á ß ì
fo≥ salσ notice« Iµ yo⌡ wan⌠ morσ o≥ les≤ oµ anythinτ that'≤ no≈ iε o≥ ì
no⌠ iε thσ magazinσ it'≤ onl∙ goinτ t∩ takσ yo⌡ ß fe≈ minute≤ oµá you≥ ì
timσ anΣ ß postagσ stam≡ anΣ yo⌡ ma∙ no⌠ bσ thσ onl∙ onσ t∩ profit« Iµ ì
spacσ permit≤ you≥ letter≤ wil∞ bσ publisheΣ bu⌠ whateve≥ happens¼á aε ì
answe≥á wil∞ bσ giveε wheneve≥ possible«á Thσ onl∙ requiremen⌠ i≤ tha⌠ ì
yo⌡á sigε you≥ namσ t∩ thσ lette≥ anΣ a⌠ you≥ reques⌠ you≥á namσá wil∞ ì
no⌠á bσ useΣ iµ you≥ lette≥ i≤ published«á Thσ addres≤ i≤ thσ samσ a≤ ì
ou≥ officia∞ addres≤ bu⌠ pleasσ marδ i⌠ to
"THE EDITOR"
MBUG AUSTRALIA INC
P.O. BOX 157
NUNAWADING
Vic. 3131.
Andre≈áL« barfoot.
HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP
An∙ membe≥ wh∩ woulΣ bσ interesteΣ iε assistinτ iε H/╫ developement /
interfacσing t∩á thσá BE┼á pleasσá contac⌠á BARR┘á AAROWE╙á oµá thσá SHEPHAR─ ì
FOUNDATION. Phone No. B/H. 537 1122 or A/H. 29 4194
HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP-HELP
PASCAL_FOR_BASIC_PROGRAMMERS.
Dixoε Kenney.
PAR╘ III.
Iε thi≤ par⌠ oµ thσ series¼ wσ wil∞ looδ a⌠ assigninτ value≤ ì
t∩ variable≤ withiε thσ program¼á anΣ thσ I╞ .«á THE╬ construct« Looδ ì
a⌠ thi≤ listinτ -
Ö 1Ö Prograφ Banking_2a;
èÖ 3Ö √ *¬ Versioε 2ß oµ thσ Bankinτ prograφ accept≤ onσ transaction
Ö 4Ö *¬ froφ thσ keyboard¼ calculate≤ ß ne≈ balance¼ anΣ print≤ out
Ö 5Ö *¬ thσ relevan⌠ informatioε oε thσ screen}
Ö 7Ö √ *¬ Declaratioε Par⌠ }
Ö 9Ö Var
11Ö CustNamσ ║ String[20];
12Ö AccNuφ ║ Integer;
13Ö OpBalance¼ Transaction¼ CBalancσ ║ Real;
15Ö √ *¬ Prograφ Bod∙ }
17Ö Begin
19Ö ClrScr;
20Ö Writeln╗ Writeln;
21Ö Write('Custome≥ Namσ ║ ');
22Ö Readln(CustName);
23Ö Write('Accoun⌠ Numbe≥ ║ ');
24Ö Readln(AccNum);
25Ö Write('Openinτ Balance║ ');
26Ö Readln(OpBalance);
27Ö Write('Amoun⌠ oµ Transaction║ ');
28Ö Readln(Transaction);
30Ö √ *¬ Calculatσ thσ ne≈ balancσ }
32Ö CBalancσ :╜ OpBalancσ ½ Transaction;
34Ö √ *¬ Writσ ou⌠ thσ ne≈ informatioε oε thσ screeε }
36Ö ClrScr;
37Ö Write('Accoun⌠ Number':20);
38Ö Write('Custome≥ Name':20);
39Ö Writeln╗ Writeln;
40Ö Write(AccNum:20);
41Ö Write(CustName:20);
42Ö Writeln╗ Writeln;
43Ö Write('Openinτ Balancσ ║ ');
44Ö Writeln(OpBalance:10:2);
45Ö Write('Transactioε Amoun⌠ ║ ');
46Ö Writeln(Transaction:10:2);
47Ö Write('Closinτ Balancσ ║ ');
48Ö Writeln(CBalance:10:2)
50Ö ô End.ô √ *¬ Prograφ Bankinτ 2ß }
Iεá linσ 13¼á wσ havσ addeΣ tw∩ morσ variablσ name≤á t∩á thσ ì
lis⌠ oµ rea∞ number≤ whicΦ occu≥ iε thσ program« Notσ ho≈ wσ havσ pu⌠ ì
theφá al∞ oε onσ line«á The∙ caε bσ entereΣ eithe≥ separately¼á o≥ oε ì
thσ samσ line¼ dependinτ oε you≥ programminτ style.
Iε linσ 32¼ wσ havσ ou≥ firs⌠ assignmen⌠ statement« Wσ havσ ì
haΣ t∩ declarσ thσ existencσ oµ thσ variable≤ t∩ thσ prograφ beforσ wσ ì
caε usσ theφ - thi≤ wa≤ donσ iε linσ 13«á Noticσ thσ assignmen⌠ sign« ì
I⌠á i≤ NO╘ █ ╜ ▌ a≤ iε BASIC¼á bu⌠ █ :╜ ]«á ╔ havσ founΣ tha⌠ onσá oµ ì
BASIC'≤á grea⌠á weaknesse≤ i≤ thσ usσ oµ thσ █ ╜ ▌á fo≥á tw∩á distinc⌠ ì
meanings« Pasca∞ clear≤ thi≤ up.
è ╜ ha≤ thσ meaninτ "i≤ equa∞ t∩ (logically)
:╜ ha≤ thσ meaninτ "i≤ assigneΣ thσ valuσ of"
Iε BASIC¼ thσ equivalen⌠ statemen⌠ i≤ LET.
Usσ thσ █ :╜ ▌ assignmen⌠ symbo∞ whereve≥ yo⌡ woulΣ usσ LE╘ iε BASIC.
No≈á let'≤á var∙ thσ prograφ b∙ havinτ i⌠ prin⌠ ou⌠ ßá nast∙ ì
messagσ iµ thσ custome≥ trie≤ t∩ overdra≈ hi≤ account¼á anΣ no⌠ allow-ì
inτ sucΦ ß withdrawa∞ t∩ takσ place«á Thσ firs⌠ 2╕ line≤ oµ thi≤ pro-ì
graφ arσ thσ samσ a≤ 2a¼ s∩ I'l∞ omi⌠ theφ t∩ savσ space.
Ö ▒ Ö Prograφ Banking_2b;
30Ö √ *¬ Tes⌠ t∩ seσ iµ thσ custome≥ ha≤ enougΦ money;
31Ö *¬ iµ so¼ calculatσ thσ ne≈ balancσ }
33Ö Iµ OpBalancσ ½ Transactioε ╝ 0.░ then
34Ö Beginô √ prin⌠ ß nast∙ messagσ }
35Ö ClrScr;
36Ö Writeln╗ Writeln;
37Ö Writeln('Insufficien⌠ Fund≤ - d∩ no⌠
allo≈ Withdrawal');
38Ö Delay(3000);
39Ö ClrScr
40Ö Endô √ iµ CBalancσ ╝ ░ }
41Ö Else
42Ö Begin
43Ö CBalancσ :╜ OpBalancσ ½ Transaction;
44Ö ClrScr;
45Ö Write('Accoun⌠ Number':20);
46Ö Write('Custome≥ Name':20);
47Ö Writeln╗ Writeln;
48Ö Write(AccNum:20);
49Ö Write(CustName:20);
50Ö Writeln╗ Writeln;
51Ö Write('Openinτ Balancσ ║ ');
52Ö Writeln(OpBalance:10:2);
53Ö Write('Transactioε Amoun⌠ ║ ');
54Ö Writeln(Transaction:10:2);
55Ö Write('Closinτ Balancσ ║ ');
56Ö Writeln(CBalance:10:2)
57Ö Endô √ elsσ allo≈ thσ transactioε }
59Ö End.ô √ *¬ Prograφ Bankinτ 2ß }
Iεá linσ 3│ oµ versioε 2Γ wσ havσ aε I╞ .«á THE╬á construct« ì
I⌠ function≤ iε exactl∙ thσ samσ wa≤ a≤ BASI├ does¼á eveε t∩ havinτ aε ì
ELS┼ statemen⌠ ¿ linσ 4▒ )«á However¼á ß compounΣ blocδ oµ statement≤ ì
iε eithe≥ thσ THE╬ blocδ ¿ o≥ thσ ELS┼ blocδ iµ i⌠ exist≤ ⌐ i≤á markeΣ ì
iε thσ usua∞ Pasca∞ wa≤ witΦ thσ reserveΣ word≤ BEGI╬ anΣ EN─ ¿ noticσ ì
line≤ 34/4░ anΣ 42/5╖ )« Noticσ tha⌠ therσ i≤ n∩ semi-coloε afte≥ thσ ì
THEN¼á no≥á beforσ o≥ afte≥ thσ ELS┼ statement«á Word≤ sucΦ a≤ these¼ ì
anΣ END¼ arσ considereΣ t∩ bσ statemen⌠ separator≤ iε thei≥ owε right¼ ì
anΣ don'⌠ neeΣ thσ █ ╗ ▌ signa∞ arounΣ them.
Iεá linσ 3╕ therσ i≤ ß timinτá loop«á Thi≤á function¼á likσ ìèother≤ wσ havσ used¼á i≤ peculia≥ t∩ Turb∩ Pascal« Thσ dela∙ i≤ timeΣ ì
iεá millisecond≤á - herσ wσ arσ delayinτ executioε oµ thσ prograφá fo≥ ì
300░ milliseconds¼ o≥ │ seconds«
Iε BE┼ BASIC¼ thσ equivalen⌠ oµ thi≤ statemen⌠ i≤ PLA┘ 0,24.Ö
Remembe≥á tha⌠ iε thσ prograφ listing≤ iε thi≤á series¼á thσ ì
linσ number≤ arσ addeΣ fo≥ conveniencσ oµ reference¼á anΣ arσ NO╘ par⌠ ì
oµ thσ program«á Pasca∞ doe≤ no⌠ usσ linσ numbers«á Thσ word≤ under-ì
lineΣ arσ reserveΣ words¼á whicΦ canno⌠ bσ re-defined«á The∙ arσá no⌠ ì
underlineΣá wheεá yo⌡ arσ writinτ you≥ program╗á therσ arσá underlineΣ ì
herσ simpl∙ t∩ dra≈ attentioε t∩ them.
END
****** CONTRIBUTORS PLEASE NOTE ******
Jus⌠á ß reminde≥ t∩ thosσ peoplσ wh∩ senΣ u≤ anythinτ tha⌠ ma∙ bσ ì
includeΣ iε thσ catche≥ PLEASEé includσ you≥ namσ anΣ addres≤ s∩ wσ ma∙ ì
pa∙á yo⌡á fo≥ you≥ efforts«á Thi≤ reques⌠ als∩ applie≤ t∩á anyonσá wh∩ ì
download≤ t∩ thσ RBBS«á Iµ you≥ contributioε i≤ useΣ iε thσ CATCHE╥ wσ ì
woulΣ likσ t∩ kno≈ wh∩ anΣ wherσ t∩ senΣ thσ chequσ (iµ any)«á Eveε iµ ì
yo⌡á pu⌠á you≥ membershi≡ numbe≥ iε ß RE═ statemen⌠ oµá ßá prograφá o≥ ì
includσ i⌠ iε thσ doc≤ yo⌡ senΣ us¼ just put it in there somewhere.
eg: 100 REM MBUG MEMBER No. ###
ED.
Datinτ 1║ Automatiπ Datinτ oµ Document≤ iε WordStar
B∙ Charle≤ Sandercock,
╖ Illawarrß Rd, Hawthorn.
╔á havσá trieΣá iε threσ majo≥ attempt≤ t∩ cal∞ ß datσá int∩á letters« ì
Whilσá eacΦ succeedeΣ iε variou≤ degreσ ╔ proposσ t∩ takσ yo⌡á througΦ ì
al∞ threσ a≤ eacΦ ha≤ it≤ particula≥ use.
Firs⌠ method:
a«á Makσá ß WordSta≥ filσ oµ namσ "a:dateó witΦá conten⌠á "23rd« ì
Augus⌠á 1984ó o≥ sucΦ othe≥ datσ a≤ is today«á Updatσ thi≤ filσá eacΦ ì
day« D∩ no⌠ enΣ thi≤ filσ witΦ <CR╛ o≥ leavσ an∙ trailinτ spaces.
b« T∩ cal∞ thσ date:
(i⌐ CTR╠ K╥ a:date<CR>
or
(ii⌐ .F╔ a:date<CR>
Oµá thesσá (i⌐á caε bσ anywherσ iε tex⌠ bu⌠ (ii⌐ caε onl∙á bσá a⌠á thσ ì
beginninτá oµá ßá linσ a≤ do⌠ command≤ mus⌠ bσ a⌠ thσ beginninτá oµá ß ìèline¼á anΣ i⌠ i≤ necessar∙ t∩ havσ MailMerge« (╔ no≈ kno≈ tha⌠ yo⌡ caε ì
tricδá ".FIóá b∙ carryinτ i⌠ t∩ linσ star⌠ witΦ character≤á theεá lef⌠ ì
deletinτá iεá thσ linσ abovσ witΦ DE╠ t∩ creatσ ß sof⌠á hypheεá bu⌠á ╔ ì
didn'⌠ kno≈ tha⌠ then).
Note¼á (i⌐á call≤ thσ datσ oε whicΦ yo⌡ d∩ thσ CTR╠ K╥ bu⌠ (ii⌐á call≤ ì
thσá datσá oεá whicΦ yo⌡ printed«á Therσ i≤ ß subtlσá differencσá anΣ ì
subtl∙ differen⌠ uses.
╔á incorporateΣ methoΣ (ii⌐ int∩ ß SF╦ callablσ forma⌠ filσ fo≥á letì
ter≤ whicΦ se⌠ PL¼á MT¼á MB¼á etc.¼á anΣ haΣ ╢ <CR>'≤ t∩ dea∞ witΦ thσ ì
letterheaΣá anΣá t∩ havσ ß star⌠ positioε jus⌠ righ⌠ fo≥á windo≈á facσ ì
envelopes«á Thσ datσ printeΣ a≤ thσ firs⌠ thinτ jus⌠ ove≥ thσá addresì
see'≤ namσ anΣ address« Tha⌠ is¼ thσ addres≤ wa≤ lef⌠ justified.
Unfortunately¼á no-onσá iεá m∙á officσ likeΣ thσ datσ jus⌠á abovσá thσ ì
addres≤ anΣ lef⌠ justified¼ anΣ s∩ begaε ß ╢ montΦ searcΦ fo≥ ß wa∙ t∩ ì
pu⌠á thσ datσ wherσ m∙ officσ believeΣ i⌠ shoulΣ g∩ - righ⌠á justifieΣ ì
abovσ ß lef⌠ justifieΣ address.
[Editor'≤á notσá - therσ i≤ n∩ seconΣ methoΣ giveε t∩ u≤á b∙á Charles╗ ì
perhaps this is to be the subject of another note !
Charle≤á mention≤ aε "SFKó - ß Specia∞ Functioε Key«á Iε las⌠ month'≤ ì
CATCHER¼á hσá revieweΣ ß prograφ calleΣ SMARTKKEY¼á oµ whicΦ ßá publiπ ì
domaiε versioε QWIKKE┘ wa≤ als∩ mentioned« I⌠ i≤ probabl∙ t∩ thi≤ usσ ì
of SFKs that he is referring.]
Las⌠á issuσá wσ gavσ yo⌡ ß prograφ t∩ conver⌠ hex-decimal-binar∙á etc« ì
Thi≤á issue ß listinτ tha⌠ wil∞ le⌠ yo⌡ add¼á multiply¼á subtrac⌠á anΣ ì
divide hex numbers. I hope they are of some use to you. ED.
HEXSUM.MWB
Thi≤ i≤ ß prograφ whicΦ caε d∩ hexadecima∞ mathematics«á Thosσ oµ yo⌡ ì
wh∩ wan⌠ t∩ prograφ iε Assemble≥ havσ t∩ kno≈ he° math≤ - herσ i≤á thσ ì
opportunity to learn.
00100 REM PROGRAM BY Doug STANBOROUGH OCT 1984
00110 CLS:CURS10,3:PRINT"HEXIDECIMAL MATHEMATICS"
00120 PRINT:PRINT"I can ADD & MULTIPLY HEX to total of FFFF"
00130 PRINT"I can SUBTRACT & DIVIDE HEX up to FFFF from or by
up to FFFF"
00140 CURS5,8:PRINT"Which do you want ?"
00150 CURS5,10:PRINT"Press ''A'' for Addition : ''M'' for
Multiplication"
00160 CURS11,11:PRINT"''S'' for Subtraction : ''D'' for Division"
00170 X1$=KEY$:IFX1$=""THEN170
00180 IFX1$="a"OR X1$="A"THENLETX1$="A":GOTO230
00190 IFX1$="m"ORX1$="M"THENLETX1$="M":GOTO230
00200 IFX1$="s"ORX1$="S"THENLETX1$="S":GOTO230
00210 IFX1$="d"ORX1$="D"THENLETX1$="D":GOTO230
00220 GOTO170
00230 CLS
00240 INPUT"Enter the first HEX No "A1$
00250 E=1:GOTO270è00260 INPUT"Enter the second HEX No "A1$
00270 IFLEN(A1$)>4THENPRINT"Number too large (FFFF is the limit)"
:GOTO230
00280 IFASC(A1$)>70THENPRINT"That is NOT a HEX number":GOTO240
00290 IFASC(A1$)<40THENPRINT"That is NOT a HEX number":GOTO240
00300 B1$=A1$(;LEN(A1$),LEN(A1$))
00310 GOSUB590
00320 J=I
00330 B1$=A1$(;LEN(A1$)-1,LEN(A1$)-1)
00340 GOSUB590
00350 K=I
00360 B1$=A1$(;LEN(A1$)-2,LEN(A1$)-2)
00370 GOSUB590
00380 L=I
00390 B1$=A1$(;1,1)
00400 GOSUB590
00410 M=I
00420 P1=FLT(M)*16*16*16
00430 Q1=FLT(L)*16*16
00440 R1=FLT(K)*16
00450 S1=FLT(J)
00460 IFLEN(A1$)=4THENLETY1=P1+Q1+R1+S1:GOTO500
00470 IFLEN(A1$)=3THENLETY1=Q1+R1+S1:GOTO500
00480 IFLEN(A1$)=2THENLETY1=R1+S1:GOTO500
00490 IFLEN(A1$)=1THENLETY1=S1
00500 IFE=1THENLETU1=Y1:E=2:GOTO260
00510 IFX1$="M"THEN560
00520 IFX1$="S"THEN570
00530 IFX1$="D"THEN580
00540 IFE=2THENLETY1=Y1+U1
00550 GOTO660
00560 Y1=Y1*U1:GOTO660
00570 Y1=Y1-U1:GOTO660
00580 Y1=Y1/U1:GOTO660
00590 IFB1$="F"THENLETI=15:RETURN
00600 IFB1$="E"THENLETI=14:RETURN
00610 IFB1$="D"THENLETI=13:RETURN
00620 IFB1$="C"THENLETI=12:RETURN
00630 IFB1$="B"THENLETI=11:RETURN
00640 IFB1$="A"THENLETI=10:RETURN
00650 I=INT(VAL(B1$)):RETURN
00660 A1$=" "
00670 IFY1>65535THENPRINT"The answer is higher than I can reach
(65535 is the limit)":GOTO230
00680 IFY1<16THENLETY=INT(Y1):GOTO840
00690 IFY1<=255THENLETB=INT(Y1):GOTO800
00700 IFY1<=4095THENLETC=INT(Y1):GOTO770
00710 Y=INT(Y1/16/16/16)
00720 GOSUB890
00730 K1=FLT(Y)*16*16
00740 J1=K1*16
00750 C1=Y1-J1
00760 C=INT(C1)
00770 Y=C/16/16
00780 GOSUB890
00790 A=Y*16*16:B=C-A
00800 Y=B/16
00810 GOSUB890
00820 A=Y*16:C=B-Aè00830 Y=C
00840 GOSUB890
00850 PRINT:PRINT
00860 PRINT:PRINT"The answer is ";A1$;" HEX"
00870 U=USR(32774)
00880 GOTO110
00890 IFY=15THENLETB1$="F":GOTO970
00900 IFY=14THENLETB1$="E":GOTO970
00910 IFY=13THENLETB1$="D":GOTO970
00920 IFY=12THENLETB1$="C":GOTO970
00930 IFY=11THENLETB1$="B":GOTO970
00940 IFY=10THENLETB1$="A":GOTO970
00950 B1$=STR(Y)
00960 IFLEN(B1$)=2THENLETB1$=B1$(;2,2)
00970 A1$=A1$+B1$
00980 RETURN
A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN---
UP GRADING THE BEEMODEM TO 1200/75 BAUD
***************************************
By M.S.Maughan.
Thσ followinτ informatioε i≤ fo≥ thσ Microbeσ hacke≥ o≥ anyonσ witΦ ì
electroniπ knowledge« Thi≤ upgradσ WIL╠ NO╘ bσ donσ a⌠ A.T« o≥ ì
Microbeσ compute≥ shop≤ anΣ A.T« WIL╠ NO╘ bσ responsiblσ fo≥ i⌠ iε an∙ ì
way« Iµ yo⌡ requirσ thi≤ upgrade¼ contac⌠ thi≤ use≥ grou≡ o≥ suppl∙ ì
this information to someone with technical knowledge.
Officiall∙ n∩ alteration≤ caε bσ madσ t∩ ß modeφ withou⌠ advisinτ ì
TELECOM« Wheε makinτ thσ followinτ changes¼ unde≥ n∩ circumstance≤ ì
mus⌠ anythinτ bσ altereΣ o≥ changeΣ iε thσ I.C.U« circuit« Thi≤ i≤ thσ ì
areß arounΣ thσ largσ capacitor¼ tramsforme≥ anΣ phonσ modeφ switch« ì
Therσ i≤ n∩ reall∙ tid∙ wa∙ t∩ d∩ thi≤ upgradσ bu⌠ ╔ havσ trieΣ t∩ ì
makσ i⌠ a≤ simplσ a≤ possible¼ bu⌠ witΦ littlσ rooφ lef⌠ oε thσ ì
circui⌠ boarΣ, it is not easy.
PARTS REQUIRED 1200/75 upgrade
==============
1 SPDT Switch
1 74LS02 IC.
1 10K Resistor or re-use R4
2 22K Resistors
DIRECTIONS
=========
1« Cu⌠ al∞ track≤ nex⌠ t∩ thσ pin≤ oµ thσ I├ - iε thi≤ casσ thσ ì
AM7910¼ thσ maiε IC« Thσ followinτ arσ thσ track≤ t∩ cu⌠ o≥ join.
2. CUT tracks to pin 11,pin 12, pin 18 and pin 28.
3. CONNECTIONS (solder side): join pins 9 to 20 and pins 10 to 28.
4. COMPONENT TO CHANGE: change R4 from a 10K to 20K Resistor.
5« COMPONEN╘ T╧ AD─ (solde≥ side)║ AdΣ ß 22╦ resisto≥ froφ pin≤ 1╡ ì
t∩ thσ basσ oµ TR2« Connec⌠ t∩ thσ enΣ oµ R┤ tha⌠ i≤ connecteΣ t∩ ì
thσ basσ oµ TR4« [seσ fiτ belo≈ DIAGRA═ F-7-1]è
6« DISCONNEC╘ thσ wire≤ froφ thσ answe≥ orginatσ switch¼ thougΦ ì
leavσ theφ connecteΣ t∩ thσ circui⌠ boarΣ a≤ thesσ wire≤ wil∞ ì
stil∞ bσ needed.
7« REMOV┼ thσ wirσ linδ froφ thσ P├ boarΣ a⌠ thσ bacδ oµ thσ maiε I├ ì
nea≥ pin≤ 1┤ anΣ 15.
8« ADDIN╟ TH┼ 74LS0▓ IC║ Probal∙ thσ bes⌠ anΣ onl∙ placσ t∩ moun⌠ ì
thi≤ I├ i≤ oε to≡ oµ thσ AM791░ modeφ IC« ╔ sugges⌠ yo⌡ gluσ i⌠ ì
upsidσ down¼ iε thσ centrσ oµ thσ to≡ oµ thi≤ IC« Al∞ connection≤ ì
áááááwil∞ bσ betweeε thesσ tw∩ IC'≤ anΣ thσ tw∩ switches« Usinτ thσ ì
áááááfollowinτ diagraφ wirσ u≡ thσ 74LS0▓ a≤ shown« Solde≥ thσ ì
áááááconnectinτ wire≤ t∩ thσ to≡ oµ thσ AM791░ legs« Makσ nea⌠ solde≥ ì
ááááájoint≤ s∩ tha⌠ yo⌡ caε stil∞ pluτ iε thσ I├ wheε yo⌡ havσ ì
áááááfinished.Oncσ thi≤ circui⌠ i≤ connecteΣ u≡ a≤ shown¼ you≥ modeφ ì
áááááshoulΣ worδ a⌠ thσ 1200/75« Powe≥ u≡ you≥ modem¼ checδ you≥ ì
ááááávoltage≤ anΣ iµ everythinτ i≤ correct¼ i⌠ shoulΣ bσ al∞ righ⌠ t∩ ì
ááááátes⌠ you≥ modem.
TESTING:
Firs⌠ oµ all¼ checδ thσ 300/30░ baud¼ witΦ whicΦ yo⌡ shoulΣ alread∙ ì
bσ familar« Iµ yo⌡ haven'⌠ ß Viate∞ o≥ Auspaπ account¼ perhap≤ ì
yo⌡á havσá ßá frienΣ witΦ ß modem«á Yo⌡ havσ t∩ se⌠ u≡á you≥á softwarσ ì
first¼á mainl∙ thσ bauΣ rates¼á whicΦ shoulΣ bσ se⌠ fo≥ thσ 120░á bauΣ ì
operation.
ORIGINATE : Transmit 75bd, Receive 1200bd.
ANSWER : Transmit 1200bd. Receive 75bd.
Iµ yo⌡ arσ usinτ thσ VIATE╠ software¼ thσ ORIGINAT┼ bauΣ rate≤ arσ ì
automatically set up when the program is executed.
è
SIMPLYDB FILE MANAGEMENT PROGRAM
(Transfer your Datbas (tape files) to SDB)
Recentl∙á ╔á purchaseΣ aε excellen⌠ valuσ fo≥á mone∙á filσá managemen⌠ ì
program«á CalleΣá SIMPLYDB¼á i⌠á i≤ writteε b∙ REI─ softwarσá fo≥á thσ ì
Microbeσ anΣ solΣ a⌠ Beσ outlet≤ fo≥ les≤ thaε $30.
Thσá prograφá i≤ writteε iε compileΣ Mbasiπ anΣ i≤ fas⌠ iεá operation« ì
SD┬ caε handlσ 100░ record≤ anΣ 2░ field≤ witΦ ß generou≤ capacit∙á oµ ì
51░á character≤á pe≥á record«á Thσ forma⌠ modulσ output≤ datßá t∩á thσ ì
screen¼á printe≥ o≥ t∩ ß disδ file«á Disδ outpu⌠ allow≤ yo⌡ t∩á modif∙ ì
you≥ datß field≤ wheε reaΣ bacδ witΦ thσ filσ inpu⌠ function.
Thσ inpu⌠ allow≤ u≤ t∩ reaΣ iε datß record≤ froφ ß standarΣ sequentia∞ ì
disδá filσ t∩ ß SD┬ data-file«á Thi≤ i≤ ß usefu∞ routinσ fo≥ i⌠ allow≤ ì
thosσá oµ u≤ wh∩ ma∙ havσ data-file≤ createΣ witΦ thσá DATBA╙á prograφ ì
writteε fo≥ RO═ baseΣ machine≤ t∩ transfe≥ thesσ file≤ t∩ SDB.
Here'≤ ho≈ t∩ g∩ abou⌠ it« Modif∙ you≥ Datba≤ prograφ a≤ follows«
Deletσá line≤á 512░ anΣ 5125«á AdΣ linσ 511░ anΣ modif∙ linσá 513░á a≤ ì
below
05110 CLOSE7:OPEN"O",7,F0$:OUT#7
0513░ FORI=0TOZ:FORJ=1TOF:PRINTD1$(K(I),J):NEXTJ:NEXTI:CLOSE7║
OUT#0║S3=1:POKE220,77:GOTO500
Savσ thσ modifieΣ Datbas¼á theε ruε it« LoaΣ you≥ file≤ a≤ norma∞ froφ ì
tape«á Nex⌠ ste≡ i≤ t∩ savσ theφ t∩ disk« Thi≤ i≤ handleΣ b∙ thσ abovσ ì
routinσá anΣá yo⌡á shoulΣ havσ aε ASCI╔ filσ oεá you≥á disδá witΦá thσ ì
filenamσá yo⌡ gavσ i⌠ wheε saving«á Thi≤ caε bσ typeΣ froφ CP/═ t∩ seσ ì
tha⌠ thσ proces≤ ha≤ worked.
No≈ firσ u≡ you≥ SD┬ anΣ creatσ thσ samσ field≤ a≤ witΦ you≥á origina∞ ì
data-file«á EacΦá fielΣ ma∙ bσ longe≥ iε lengtΦ bu⌠ no⌠ shorter¼á the∙ ì
mus⌠ als∩ bσ iε thσ samσ order« (The∙ caε bσ changeΣ late≥ froφ withiε ì
SDB)« No≈ usσ thσ inpu⌠ commanΣ froφ SD┬ anΣ you≥ record≤ arσ reaΣ in«
Thσá firs⌠á recorΣ wil∞ contaiε thσ label≤ froφ you≥ Datba≤á filσá anΣ ì
shoulΣ bσ deleted«á Yo⌡ caε reaΣ additiona∞ file≤ oε to≡ oµ thosσ jus⌠ ì
transfereΣá a≤ lonτ a≤ the∙ havσ thσ samσ layout¼á o≥ yo⌡ caε usσá thσ ì
forma⌠ functioε iε SD┬ t∩ manipulatσ you≥ field≤ about«á WitΦ ß littlσ ì
though⌠ therσ arσ ver∙ fe≈ restriction≤ a≤ t∩ wha⌠ caε bσ done.
è
QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ
Placσá tw∩á book≤á togethe≥ oε thσ shelf«á Pu⌠ theφ iεá thσá followinτ ì
order«á T∩ thσ left¼á thσ MICROBE┼ TECHNICA╠ MANUAL« T∩ thσ right¼ thσ ì
MICROBE┼ DIS╦ SYSTE═ MANUAL« ┴ bookworφ start≤ eatinτ a⌠ pagσ ▒ oµ thσ ì
TECHNICA╠ MANUA╠ anΣ chew≤ hi≤ wa∙ iε ß straigh⌠ linσ t∩ thσ las⌠ pagσ ì
oµ thσ TECHNICA╠ MANUAL«á Iµ eacΦ cove≥ i≤ 1mφ thicδ anΣ thσ insidσ oµ ì
eacΦ manua∞ i≤ 20mφ thick¼ ho≈ fa≥ wil∞ thσ bookworφ trave∞ ?
QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ
Iε thσ Septembe≥ issuσ oµ Thσ Catcher¼ Coliε Cusdeε wrotσ concerninτ ì
changinτ prin⌠ mode≤ iε miΣ line« Hi≤ methoΣ i≤ no⌠ suitablσ fo≥ usσ ì
witΦ m∙ Admate¼ bu⌠ ß modificatioε oµ i⌠ is¼ anΣ make≤ ß simple≥ ì
method¼ anyway« I⌠ i≤ a≤ follows:
Putting italics and underline onto a Wordbee line
.ZN
Putting and onto a Wordbee line
.ES
27 52
italics
.ES
27 53 27 45 1
underline
.ES
27 45 0
.ZY
.ZN (Carriage ret. with no line feed)
Putting and onto a Wordbee line
.ES
27 52 (Italics on)
italics
.ES
27 53 27 45 1 (Italics off, underline on)
underline
.ES
27 45 0 (Underline off)
.ZY (Line feed with carriage ret.)
However¼ therσ i≤ als∩ ß modificatioε oµ Michae∞ Dunbar'≤ methoΣ ì
whicΦ i≤ eveε easier« Tha⌠ i≤ t∩ inser⌠ ß chr(27⌐ nea≥ thσ star⌠ oµ ì
thσ file¼ anΣ theε movσ i⌠ arounΣ witΦ blocδ moves« Pu⌠ ß linσ oµ ì
........<CR╛ oε thσ to≡ linσ oµ you≥ file¼ g∩ t∩ monito≥ anΣ typσ ┴ ì
90│ <CR╛ theε "1B"« Thi≤ wil∞ inser⌠ aε escapσ iε thσ file« Returε t∩ ì
áwordbee¼ anΣ yo⌡ wil∞ seσ thσ symbo∞ oε thσ firs⌠ linσ (╔ can'⌠ prin⌠ ì
áit¼ oµ course)« No≈ pu⌠ ß tildß oε eacΦ sidσ oµ it¼ anΣ i⌠ caε bσ ì
ámoveΣ anywherσ witΦ ^B¼ C« ╔ sugges⌠ tha⌠ a≤ yo⌡ writσ you≥ tex⌠ yo⌡ ì
átypσ ß constan⌠ symbol¼ fo≥ instancσ "}"¼ beforσ anΣ afte≥ eacΦ worΣ ì
áo≥ sentencσ yo⌡ wan⌠ changed« Thσ place≤ caε theε bσ founΣ witΦ ^L¼ ì
áanΣ ^B¼ ├ wil∞ pu⌠ thσ escapσ codσ there«
Thσ esπ shoulΣ bσ followeΣ witΦ thσ symbo∞ whosσ ASCI╔ codσ i≤ ì
áthσ requireΣ printe≥ codσ (mos⌠ code≤ othe≥ thaε esπ arσ printablσ iε ì
áwordbee)« Aε examplσ follows║ (Thσ "*ó represent≤ thσ escapσ symbol)
áHS12HSOS14╚ i≤ thσ formulß fo≥ sulphuric╡ acid.
áH*S12*HSO*S14*╚ i≤ thσ formulß fo≥ *4sulphuric*╡ acidè
Thi≤ methoΣ oµ insertinτ thσ contro∞ code≤ iε thσ tex⌠ ha≤ thσ ì
áadvantagσ oµ beinτ possiblσ iε thσ casσ oµ justifieΣ text¼ bu⌠ wil∞ ì
áleavσ thσ linσ shor⌠ (notσ thσ emphasiseΣ prin⌠ iε thσ paragrapΦ ì
áabove)« Fo≥ somσ reasoε ╔ can'⌠ ge⌠ underlinσ t∩ turε ofµ b∙ thi≤ ì
ámethoΣ - perhap≤ someonσ caε hel≡ me.
Russell Crosser
CONVERT WORDBEE TO WORDSTAR / WORDSTAR TO WORDBEE
; INSERT by A. McLennan 1985
; I regularly transmit text files via modem & electronic
; mail box service to computers other than MICROBEEs
; e.g. IBM PC (STANDARD ASCII FILE FORMAT)
; WORDBEE format text is not compatible as it contains
; no LINE FEEDs and has different END OF FILE and
; START OF FILE characters. This program converts between
; either format.
; To convert FROM WORDBEE format type G 0400 (MONITOR)
; To convert TO WORDBEE format type G 0450
LF: EQU 0AH
CR: EQU 0DH
EOF: EQU 51DH
FILE: EQU 900H
CTRLZ: EQU 1AH
ORG 0400H ; RELOCATEABLE
; This section prepares a WORDBEE text file for
; transmission to computers using a different format.
; A Line Feed is inserted after each Carriage Return
; and a <CTRL> Z is put at the end of the text.
LD A,(500H)
CP 55H ; ? WORDBEE ACTIVE
RET NZ ; NOT A WB FILE
LD HL,(EOF)
DEC HL
LD A,(HL) ; ? ALREADY HAS <CTRL> Z AT END
CP CTRLZ
JR Z,$+11
INC HL
LD (HL),CTRLZ
INC HL
LD (HL),0
LD (EOF),HL
LD HL,FILE
LOOP1: LD A,(HL)
INC HL
CP 0
RET Z ; EOF REACHED
CP CTRLZ
RET Z
CP CR
CALL Z,INSERT ; PUT A LF AFTER EACH CR
JR LOOP1
INSERT: LD A,(HL) ; CHECK NEXT CHAR IN FILEè CP LF ; ? ALREADY HAS LF ADDED
RET Z ; IF SO DON'T ADD ANOTHER
PUSH HL
PUSH HL
POP BC
LD HL,(EOF)
PUSH HL
POP DE
INC DE
AND A
SBC HL,BC ; CALC LENGTH TO EOF
JR C,ABORT1 ; ERROR - PAST EOF
PUSH HL
POP BC ; LENGTH TO MOVE
INC BC
LD HL,(EOF)
LD (EOF),DE
LDDR ; MOVE FILE UP
POP HL
LD (HL),LF ; PUT IN A LF
RET
ABORT2: POP HL ; ESCAPE ON ERROR
POP HL
ABORT1: POP HL
RET
; This section massages a text file into WORDBEE format.
; Firstly the end of the file is found and a WORDBEE
; end of file char is put there. Then a CR is inserted
; at the start of the file. Line Feeds are then stripped
; out of the text leaving only CRs.
LD A,(500H)
CP 55H
RET NZ ; WORDBEE NOT ACTIVE
LD HL,FILE
LOOP3: LD A,(HL)
INC HL
CP 0 ; ? EOF WORDBEE FORMAT
JR Z,PUTEOF
CP CTRLZ ; ? <CTRL> Z
JR Z,PUTEOF
JR LOOP3
PUTEOF: DEC HL
LD (EOF),HL ; FIND EOF
LD (HL),0 ; PUT WORDBEE EOF CHAR
LD A,(FILE)
CP CR ; WORDBEE START OF FILE CHAR
CALL NZ,INSTCR ; PUT CR IN IF NEEDED
LD HL,FILE
LOOP2: LD A,(HL)
INC HL
CP 0
RET Z
CP LF
CALL Z,REMOVE ; STRIP LFs
JR LOOP2
REMOVE: PUSH HLè PUSH HL
PUSH HL
PUSH HL
POP BC
LD HL,(EOF) ; CALC LENGTH TO EOF
AND A
SBC HL,BC
JR C,ABORT2 ; ERROR - PAST EOF
PUSH HL
POP BC
INC BC
POP DE
DEC DE
POP HL
LDIR ; MOVE FILE ONTO LF
DEC DE
LD (EOF),DE ; UPDATE WORDBEE EOF DATA
POP HL
DEC HL
RET
INSTCR: LD HL,(EOF) ; INSERT CR AT START
LD BC,FILE
AND A
SBC HL,BC
RET C
PUSH HL
POP BC
INC BC
LD HL,(EOF)
LD DE,(EOF)
INC DE
LD (EOF),DE
LDDR
LD A,CR
LD (DE),A
RET
; One point to note:
; It is possible to go back into BASIC from the monitor
; even though WORDBEE is initialised. If you do this and
; then type in any BASIC commands this programme at 0400H
; will be overwritten as it is in a BASIC scratch area.
; Also note that the program does no checking to see
; if programs exceed the memory space available as
; short files (1 to 2K) are normally transmitted.
END
THE PIP COMMANDS
┬ ReaΣ datß iε block≤ e.g« reaΣ datß int∩ buffe≥ unti∞ X-OF╞ ì
CONTROL-S is recieved, then save it to disk and then get next block.
è PIP FILE.DSK=RDR:[B]
Dε Deletσ al∞ character≤ pas⌠ columε ε iε thσ transfe≥ oµ line-ì
orienteΣ data« D8░ coulΣ bσ useΣ t∩ truncatσ 13▓ columε line≤ int∩ ß ì
file when printing on an Admate printer
PIP UL1:=BIGRPT[D80]
┼ Ech∩ thσ datß tha⌠ PI╨ i≤ transmittinτ b∙ sendinτ i⌠ t∩ screeε a≤ ì
well as the destination
PIP B:COPY.BAS=ORIG.BAS[E]
F Filter (remove) form feeds (ASCII code 0C hex) from source data
PIP LST:=RPT.DOC[F]
Gε Ge⌠ sourcσ datß froφ filσ belonginτ t∩ use≥ numbe≥ n« Onl∙ useΣ ì
if USER command has been employed
PIP B:=A:*.*[G3]
╚ Doublσ checδ tha⌠ datß beinτ sen⌠ i≤ correc⌠ Inte∞ he° forma⌠ anΣ ì
take corrective action if not
PIP COPY.HEX=ORIG.HEX[H]
╔ Ignorσ he° filσ record≤ beginninτ witΦ :00¼ anΣ als∩ se⌠ thσ ╚ ì
parameter on
PIP COPY.HEX=ORIG.HEX[I]
╠ Translatσ al∞ uppe≥ casσ (alpha⌐ t∩ lowe≥ beforσ beforσ ì
transmission
PIP EECUMMIN=MYPROG[L]
╬ AdΣ linσ number≤ iε thσ forφ `26:º t∩ datß beforσ sendinτ t∩ ß ì
listinτ typσ destination« e.g« N▓ cause≤ thσ linσ number≤ t∩ bσ ì
printeΣ iε the form "000026"
PIP LPT:PROG.ASM[N]
╧ Trea⌠ filσ a≤ objec⌠ (non-ascii⌐ data« D∩ no⌠ trea⌠ ^┌ a≤ EO╞ ì
signal, but send it to destination
PIP B:=OBJPROG.CRL[O]
Note the [O] parameter is default when transferring .COM files
Pε Star⌠ ne≈ pagσ ever∙ ε lines« Usinτ ╨ o≥ P▒ mean≤ thσ samσ a≤ ì
P60« T∩ removσ conflictinτ forφ feeΣ chr≤ yo⌡ caε usσ thσ [F▌ ì
parameter with Pn
PIP LST:=PROG1.BAS[P]
Qs^┌ Qui⌠ copyinτ afte≥ thσ strinτ "Só i≤ founΣ (bu⌠ includσ "Só iε ì
copy)« WARNINGé Iµ thσ strinτ "Só contain≤ lowe≥ casσ letters¼ yo⌡ ìè mus⌠ usσ thi≤ commanΣ afte≥ thσ PI╨ ¬ promp⌠ (no⌠ oε commanΣ ì
line) to preserve lower case
PIP
*START.DOC=WHOLE.DOC[Qeternity.^Z]
R Read (and copy) system files
PIP B:=*.*[R]
Ss^┌ Star⌠ copyinτ froφ sourcσ wheε strinτ "Só encountered¼ includinτ ì
"Só iε copy« ╙ anΣ ╤ caε bσ combineΣ t∩ cop∙ datß froφ middlσ oµ ì
file
PIP
*MID=WHOLE[Shere^ZQeternity.^Z]
*LST:=BASPROG.ASC[S500^ZQGOTO 520^Z]
Tn Expands tabs to columns n, 2n, 3n, etc.
PIP LST:=FILE.ASM[T8]
U Translate all lowercase letters to uppercase
PIP LST:PROG.C[U]
V Verify data written is same as data read
PIP B:FILE.X=OLDFILE[V]
╫ Writσ oε to≡ oµ file≤ previousl∙ se⌠ a≤ R/╧ withou⌠ askinτ
user≤ O.K.
PIP SCRATCH=TEST[W]
┌ Zer∩ thσ parit∙ bi⌠ (thσ leftmos⌠ high-orde≥ bit⌐ oµ easΦ bytσ oε ì
thσ assumptioε tha⌠ i⌠ i≤ aε ASCI╔ characte≥ whicΦ doe≤ no⌠ usσ ì
thi≤ bit
PIP PROG.ASC=PROG.C[Z]
FLASHING MESSAGES
Thσ followinτ prograφ wil∞ allo≈ yo⌡ t∩ havσ ß messagσ (o≥ an∙ par⌠ oµ ì
it⌐ FLAS╚ oε thσ screen« Thi≤ i≤ achieveΣ b∙ underlininτ thσ messagσ ì
o≥ thσ par⌠ oµ thσ messagσ yo⌡ wisΦ t∩ flash« Afte≥ thσ messagσ i≤ ì
printeΣ oε thσ screeε thσ underlinσ part≤ arσ changeΣ t∩ inversσ anΣ ì
theε bacδ t∩ underlined« Thσ timinτ oµ thσ flashinτ caε bσ changeΣ b∙ ì
alterinτ `Zº iε linσ 10020« Thi≤ programσ caε bσ bes⌠ useΣ iε ß sub-ì
routine.
10000 REM *** FLASH ROUTINE ***
10010 X1$ = KEY$
10020 IF X1$ = "" THEN INVERSE : FOR Z = 1 TO 100 : NEXT Z : è UNDERLINE : FOR Z = 1 TO 100 : NEXT Z : GOTO 10020
10030 RETURN
ROLLING MESSAGE
Thσ followinτ prograφ wil∞ rol∞ ß messagσ oµ 6┤ character≤ o≥ les≤ oε ì
ß line« Thσ speeΣ oµ thσ rol∞ caε bσ alteereΣ t∩ sui⌠ thσ appearencσ ì
of the message.
10000 X0$ = "MESSAGE TO BE PRINTED" : X = 2 : REM FOR LINE 10030
10010 CURS 1,1 : REM THE LINE THE MESSAGE IS TO BE PRINTED ON
10020 PRINT X0$
1003░ X0ñ ╜ X░ (;X⌐ ½ X0ñ (;1,X-1⌐ ║ RE═ TH┼ NUMBE╥ O╞ LETTER╙ T╧ B┼ ì
TRANSFERRED FROM THE FRONT OF THE MESSAGE TO THE END
10040 FOR T = 1 TO 100 : NEXT T : REM TIME DELAY PLAY CAN BE USED
eg. PLAY 0,1
10050 X1$ = KEY$ : IF X1$ = "" THEN 10010 ELSE RETURN : REM THIS LINE
I╙ USE─ T╧ CHEC╦ FO╥ KE┘ PRES╙ T╧ RETUR╬ T╧ TH┼ MAIN PROGRAM
COMBINATION OF ROLLING AND FLASHING MESSAGE
10000 CLS : X = 3 : X0$ = "MESSAGE TO BE PRINTED"
10010 CURS 1,1 : UNDERLINE : PRINT X0$
10020 X0$ = X0$ (;X) + X0$ (;1,X-1) : GOSUB 10040
10030 GOTO 10010
10040 INVERSE : FOR Z = 1 TO 200 : NEXT Z : UNDERLINE :
FOR Z = 1 TO 200 : NEXT Z: RETURN
POKE MESSAGE ON LINE
Thi≤ caε bσ useΣ t∩ pokσ ß linσ oµ informatioε ont∩ thσ screeε anΣ i≤ ì
very useful if your screen will allow a seventeenth line.
10000 FOR A = 0 TO 63
10010 POKE 62464 + A,32 : REM 17 LINE OR 62401 16 LINE
10020 NEXT A
10030 INPUT A1$ : REM MESSAGE UP TO 64 CHARACTERS
10040 FOR A = 1 TO LEN (A1$)
10050 POKE 62463 + A, ASC (A1$ (;A,A))
10060 NEXT A
1007░ RE═ LINE╙ 1000░ T╧ 1002░ CLEAR╙ TH┼ LIN┼ FOR MESSAG┼ PRINTING.
Contributed by Northmug.