home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug010.arc
/
1985AUG.CAT
< prev
next >
Wrap
Text File
|
1979-12-31
|
55KB
|
1,107 lines
.PL70
.OP
.PO0
.HE ---- T H E C A T C H E R ---- #
TO : MBUG AUSTRALIA,
The Membership Secretary, 26 Alexander Cr., Ferntree Gully. 3156
I would like to - join MBUG AUSTRALIA [ ]
renew my subscription to M.A. [ ] Member No. [ ]
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)
[ ] $15 Student Membership Subscription per year.
[ ] I would like a receipt, please
-------------------------------------------------------------
| |
| SERVICES PROVIDED BY MBUG AUSTRALIA |
| |
|-----------------------------------------------------------|
| TAPE LIBRARY * P.O. BOX 45 CANTERBURY 3126 |
|-----------------------------------------------------------|
| EDITOR * 10 CONN St. FERNTREE GULLY 3156 |
|-----------------------------------------------------------|
| $2.0░áPE╥ S/W TAP┼ FO╥ ON┼ MONTH¼ RETURNED NEXT MEETING.|
| $5.00 PER SIG/M VOLUME, WE SUPPLY THE DISK. |
| $4.00 PER BLANK 5" DISKETTE (DSDD) |
|-----------------------------------------------------------|
| 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 758-5744 |
| $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 874-8728 |
|-----------------------------------------------------------|
| 5"TO 8" OR 8"TO 5" MOST FORMATS $2.00 PER DISKETTE |
|-----------------------------------------------------------|
| FOR ALL POSTAL ORDERS ADD $1.50 MINIMUM |
-------------------------------------------------------------è
--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MBUG---
╔á havσ decideΣ no⌠ t∩ ruε fo≥ ß fourtΦ terφ a≤ PRESIDEN╘ anΣ ANDRE╫á REI─ ì
wil∞á als∩á ste≡á dowεá froφá thσá positioεá oµá VICE-PRESIDENT«áá M∙á worδ ì
commitment≤ ove≥ thσ nex⌠ ╡ month≤ makσ i⌠ increasingl∙ difficul⌠ fo≥ mσ t∩ ì
attenΣá thσá maiεá meetinτ anΣ ne≈ blood/idea≤ caε onl∙á improvσá thσá cluΓ ì
standard«
╔á wil∞á no⌠ bσ oε thσ committeσ iε an∙ capacit∙ bu⌠ wil∞ sta∙á iεá contac⌠ ì
witΦ mos⌠ member≤ througΦ thσ RBB╙ wherσ ╔ hopefull∙ wil∞ remaiε thσá SYSO╨ ì
fo≥á ß timσ «á Le⌠ mσ takσ thi≤ opportunit∙ t∩ pleaΣ t∩ anyonσ wh∩ want≤ t∩ ì
bσá involveΣ iε thσ cluΓ t∩ becomσ ß committeσ membe≥ anΣ assis⌠á thσá cluΓ ì
witΦ thei≥ labour«á
Iµ thσ onu≤ keep≤ fallinτ oε thσ samσ peoplσ eacΦ year¼ the∙ losσ therσ viφ ì
anΣ vigor¼á more/ne≈ peoplσ mean≤ tha⌠ thσ cluΓ a≤ ß wholσ profits«á Le⌠ mσ ì
kno≈á beforσá thσ star⌠ oµ thσ nex⌠ meetinτ iµ yo⌡ arσá interesteΣá iεá an∙ ì
committeσ position.
Thank≤ fo≥ you≥ patiencσ durinτ thσ club≤ growth«á I⌠ ha≤ beeε ß lo⌠ oµ fuε ì
sincσá ╔á starteΣá thσá cluΓ anΣ attempteΣá t∩á delive≥á wha⌠á thσá member≤ ì
required« Withou⌠ ß committeσ tha⌠ woulΣ bσ impossible╗ iµ yo⌡ wan⌠ t∩ kee≡ ì
thσ cluΓ growinτ witΦ ne≈ idea≤ joiε thσ committee.
Greτá BLAC╦á wil∞á no⌠á bσá doinτá hi≤á LAST-MEETIN╟á COLUM╬á duσá t∩á worδ ì
commitments¼á s∩á iµá anyonσ i≤ interesteΣ le⌠ u≤ know«á Wil∞ kee≡ m∙á las⌠ ì
columεá shor⌠ a≤ ╔ normall∙ usσ thi≤ spacσ t∩ le⌠ yo⌡ kno≈ wha⌠ wσ wil∞á bσ ì
doinτá iεá thσá future«á ╔ wil∞ leavσ i⌠ t∩ thσ ne≈á presiden⌠á sharσá thi≤ ì
informatioε nex⌠ month« Thank-yo⌡ al∞ oncσ again.
A╛ GRANT
--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MICROBUG--FROM-THE-CHIEF-MBUG--
--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--
Thσá A.T«á BEE-SHO╨á ha≤ moveΣ t∩
50-52 WHITEHORSE ROAD DEEPDENE 3130
817 1371 ( three lines )
Oµá specia∞á interes⌠ t∩ member≤ i≤ thσ 10Ñ discoun⌠ oε al∞á s/≈á purchaseΣ ì
wheε you≥ MBU╟ AUSTRALI┴ IN├ membershi≡ carΣ i≤ shown«á Therσ i≤ als∩ ß 10Ñ ì
discoun⌠á oε H/╫ i≤ yo⌡ havσ beeε ß membe≥ fo≥ ove≥ ╢ months«á A.╘ wil∞á bσ ì
giveεá ßá membershi≡ numbe≥ eacΦ montΦ s∩ tha⌠ the∙ kno≈ wha⌠á member≤á arσ ì
entitleΣ t∩ thσ H/╫ discount.
Thi≤á columεá continue≤á oε pagσ ┤ witΦ somσ basiπ tip≤á anΣá listing≤á fo≥ ì
Checksumming your BASIC programs. ED.
--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--A.T.COLUMN--
è FROM THE EDITORS KEYBOARD
Well¼ a⌠ las⌠ wσ havσ caugh⌠ u≡ witΦ ou≥ commitment≤ t∩ ge⌠ thσ ì
CATCHE╥ t∩ yo⌡ beforσ eacΦ meeting« Al∞ beinτ wel∞ ╔ hopσ ╔ caε kee≡ i⌠ ì
tha⌠ way« ╔ havσ spokeε t∩ APPLIE─ TEC╚ anΣ wσ caε no≈ publisΦ thσ Checksuφ ì
prograφ tha⌠ appeareΣ iε "ONLINEó fo≥ thosσ oµ yo⌡ wh∩ don'⌠ subscribe« Iµ ì
yo⌡ don'⌠ yo⌡ arσ missinτ ou⌠ oε excellen⌠ valuσ fo≥ mone∙ anΣ somσ gooΣ ì
basiπ ideas¼ tutorial≤ anΣ al∞ sort≤ oµ othe≥ goodies« B∙ usinτ Checksuφ ì
yo⌡ caε eliminatσ somσ oµ thσ editinτ yo⌡ havσ t∩ d∩ wheε typinτ iε you≥ ì
BASI├ listings« ╔ suspec⌠ somσ oµ yo⌡ ma∙ havσ sorσ finger≤ afte≥ typinτ ì
al∞ las⌠ month≤ listings« Sorr∙ abou⌠ thσ pagσ numbers«
Thosσ oµ yo⌡ wh∩ usσ you≥ modem≤ anΣ arσ no⌠ gettinτ througΦ t∩ ì
SOFTWAR┼ TOOL╙ RCP═ thσ reasoε i≤ this« Thσ systeφ ha≤ changed.
╔ spokσ t∩ Bil∞ Boltoε a⌠ PC8╡ anΣ hσ askeΣ mσ t∩ pas≤ oε thi≤ message║
SOFTWARE TOOLS RCPM (07) 378-9530 IS NOW V.22 1200bps FULL DUPLEXONLY
MODEM ACCESS V.21 IS NO LONGER SUPPORTED.
Pape≥ Library« Wσ havσ ß pape≥ librar∙ iε ou≥ club« What'≤ ß pape≥ ì
librar∙ ╔ hea≥ somσ oµ yo⌡ ask?┐ Wσ kee≡ copie≤ oµ al∞ thσ Microbeσ clubsº ì
newsletter≤ tha⌠ arσ printeΣ iε Australiß anΣ ß lo⌠ oµ othe≥ magazine≤ anΣ ì
article≤ a≤ well« (Owner≤ manual≤ oε A.T« softwarσ arσ therσ fo≥ yo⌡ t∩ ì
acces≤ thσ valuσ oµ thσ prograφ beforσ yo⌡ buy.⌐ Thesσ arσ a⌠ al∞ cluΓ ì
meeting≤ fo≥ thosσ oµ yo⌡ wh∩ wisΦ t∩ reaΣ them« Yo⌡ ma∙ takσ note≤ froφ ì
theφ bu⌠ the∙ arσ no⌠ fo≥ remova∞ froφ thσ cluΓ meeting« Thosσ oµ yo⌡ wh∩ ì
havσ borroweΣ theφ anΣ diΣ no⌠ realisσ the∙ werσ no⌠ mean⌠ t∩ bσ removeΣ o≥ ì
iµ yo⌡ though⌠ the∙ werσ t∩ takσ homσ anΣ keep¼ wσ woulΣ appreciatσ i⌠ iµ ì
yo⌡ coulΣ returε them« Iµ yo⌡ havσ borroweΣ theφ froφ GRAN╘ thσ samσ ì
applies.
DON'╘ FORGE╘ THI╙ MEETIN╟ I╙ ELECTIO╬ NIGH╘ FO╥ TH┼ NE╫ COMMITTEE«á I╞ ì
YO╒ WAN╘ T╧ B┼ ELECTE─ MAK┼ SUR┼ YO╒ AR┼ THERE« ALSO¼ I╞ YO╒ HAV┼ AN┘ IDEA╙ ì
O╥ COMPLAINT╙ A╙ T╧ HO╫ TH┼ CLU┬ O╥ AN┘ RELATE─ ISSU┼ T╧ TH┼ RUNNIN╟ O╞ TH┼ ì
CLU┬á I╙á PERFORMED¼á COM┼á AN─ D╧ SOMETHIN╟ ABOU╘ IT«á I╘ I╙ NO╘á MUC╚á US┼ ì
WRITIN╟á T╧á OTHE╥ MAGAZINE╙ AN─ TELLIN╟ THE═ W┼ AR┼ NO╘ DOIN╟ TH┼á JO┬á O╥ ì
GRUMBLIN╟á AMONGS╘á YOURSELVE╙ ABOU╘ IT¼á COM┼ AN─ GE╘ TH┼ THING╙ YO╒á WAN╘ ì
DON┼ DONE«á A╙ A╬ EXAMPLE¼ W┼ COUL─ REALL┘ D╧ WIT╚ TH┼ SERVICE╙ O╞ ┴ PERSO╬ ì
WH╧á WOUL─ SUB-EDI╘ AL╠ TH┼ BASI├ LISTING╙ W┼ GE╘ BEFOR┼ THE┘ G╧ T╧á PRINT« ì
THI╙á WOUL─ INVOLV┼ MAKIN╟ SUR┼ THE┘ RU╬ PROPERL┘ AN─ FIXIN╟á AN┘á MISTAKE╙ ì
FOUN─á I╬á THEM«á AL╠á TH┼ MATERIA╠ YO╒ NEE─ (TAPES¼á PAPE╥ ETC.⌐á WIL╠á B┼ ì
SUPPLIED. COME AND GIVE IT A GO.
QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ
FinΣá ßá numbe≥ whicΦ i≤ jus⌠ s∩ mucΦ shor⌠ oµ 5░ a≤ it≤ quadruplσá i≤ ì
abovσ 50.
QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ-QUIZ
èA.T..COLUMN--A.T..COLUMN--A.T..COLUMN--A.T..COLUMN--A.T..COLUMN--A.T..COLU
Öá Thσá followinτ prograφ listinτ anΣ accompininτ tex⌠ (par⌠á only⌐á arσ ì
reproduceΣáá froφá anΣá witΦá thσá permissioεá oµá thσá edito≥á oµá APPLIE─ ì
TECHNOLOGY'╙ "ONLINEó thσ Microbeσ owner'≤ journal« The∙ arσ copyrigh⌠ anΣ ì
ma∙ no⌠ bσ copieΣ excep⌠ fo≥ you≥ owε privatσ use« Ou≥ thank≤ g∩ t∩ APPLIE─ ì
TECHNOLOGY.
Thσ probleφ encountered¼á wheε enterinτ program≤ tha⌠ arσ listeΣ iεá ß ì
compute≥á magazine¼á sucΦá a≤á Online¼á i≤ tha⌠ iµ thσ prograφá i≤á entereΣ ì
incorrectly¼á i⌠á caε takσ man∙ hour≤ oµ checkinτ thσ magazinσ listinτá anΣ ì
thσ codσ tha⌠ yo⌡ typeΣ iε t∩ seσ wherσ thσ typinτ erro≥ occurred« Checksuφ ì
i≤ designeΣ t∩ preven⌠ this.
T∩ usσ Checksum¼ onσ oµ thσ followinτ program≤ mus⌠ firs⌠ bσ typeΣ in« ì
Therσá arσ tw∩ listing≤ provided«á Thσ firs⌠ listinτ i≤ fo≥ 16δá Microbees¼ ì
thσ seconΣ i≤ fo≥ 2δ anΣ diskMicrobees«á Therσ arσ man∙ DAT┴ statement≤á iε ì
thσ BASI├ listings¼ anΣ thesσ requirσ carefu∞ typing«
Beforσá tryinτá t∩á RU╬ thσ prograφ froφ BASIC¼á SAV┼ i⌠á t∩á tapσá o≥ ì
diskette«á Wheεá yo⌡ havσ donσ thi≤ yo⌡ wil∞ bσ read∙ t∩ go«á Wheε yo⌡ havσ ì
entereΣá thσ versioε oµ thσ prograφ tha⌠ i≤ appropriatσ fo≥á you≥á machine¼ ì
follo≈ thesσ steps.
Operatσ thσ prograφ b∙ typing:
RU╬á [CR▌ Iµ yo⌡ havσ entereΣ thσ prograφ correctly¼á thσ followinτ shoulΣ ì
occur:
1. The screen is cleared.
2«á ┴á seventeentΦá linσá i≤á se⌠á u≡ a⌠ thσá bottoφá oµá thσá screeε ì
containinτ simplσ instruction≤ displayeΣ iε inversσ type.
3. A new BASIC prompt A"[" is used instead of a ">"
4« Thσ Checksum prograφ tha⌠ yo⌡ entereΣ i≤ eraseΣ froφ memor∙ anΣ ß ì
ne≈ prograφ caε bσ entered.
T∩á checδá tha⌠á wha⌠á yo⌡á havσ entereΣá i≤á correct¼á tr∙á thσá followinτ ì
demonstratioε program.
00100 CLS:PRINT:PRINT
00110 FOR A = 1 TO 50
00120 PRINT A,A*2,A*3,A*4,A*5,A*A
00130 NEXT A
00140 END
Notσ tha⌠ a≤ yo⌡ pres≤ thσ RETUR╬ key¼á ß numbe≥ i≤ printeΣ afte≥ eacΦ ì
line« Thi≤ i≤ thσ Checksuφ numbe≥ fo≥ tha⌠ line.
Type: RUN [CR] The program will run normally.
Iµ yo⌡ lis⌠ thσ program¼ thσ Checksuφ numbe≥ wil∞ appea≥ a⌠ thσ enΣ oµ ì
eacΦá line«á Don'⌠á worry¼á the∙á arσ no⌠ par⌠ oµ you≥á program╗á the∙á arσ ì
generateΣ eacΦ timσ prograφ i≤ listed.
Type: LIST [CR]
00100 CLS:PRINT:PRINT [001]
00110 FOR A = 1 TO 50 [048]
00120 PRINT A,A*2,A*3,A*4,A*5,A*A [099]
00130 NEXT A [020]
00140 END [108]
è Iµá yo⌡ wisΦ t∩ obtaiε sucΦ ß listinτ oε you≥ printer¼á simpl∙ se⌠á u≡ ì
thσ printe≥ selectioε usinτ thσ outlú commanΣ anΣ type:
LLIS╘ [CR▌ Thσ prograφ wil∞ bσ listeΣ witΦ thσ Checksuφ number≤ included.
Iµ ß prograφ linσ i≤ incorrec⌠ (i.e«á thσ numbe≥ printeΣ a⌠ thσ enΣ oµ ì
thσá linσ differ≤ froφ thσ numbe≥ a⌠ thσ enΣ oµ thσ correspondinτá linσá iε ì
thσá prograφ listing)¼á yo⌡ caε edi⌠ thσ linσ usinτ thσ EDI╘ command«á Wheε ì
yo⌡ terminatσ thσ EDI╘ commanΣ witΦ thσ RETUR╬ key¼ thσ ne≈ Checksuφ numbe≥ ì
fo≥á tha⌠á linσ i≤ generateΣ anΣ printeΣ a⌠ thσ enΣ oµá thσá line«á Iµá thσ ì
number≤ stil∞ differ¼á thσ linσ mus⌠ bσ editeΣ unti∞ thσ number≤ arσ equal¼ ì
thu≤ makinτ thσ linσ correct.
No⌠ al∞ program≤ wil∞ ruε correctly« Iε fac⌠ an∙ prograφ witΦ aε INPU╘ ì
statemen⌠á wil∞á se⌠ thσ Checksuφ iε operation«á Thi≤ create≤á n∩á apparen⌠ ì
problem¼á bu⌠á annoyinτá number≤á wil∞ appea≥ a⌠ thσ enΣá oµá eacΦá entereΣ ì
string«á However¼á iµá thσ prograφ yo⌡ entereΣ unde≥ thσ Checksuφ i≤ saved¼ ì
anΣ thσ Checksuφ prograφ i≤ eraseΣ usinτ thσ RESE╘ key¼ wheε thσ prograφ i≤ ì
ruε al∞ sucΦ problem≤ wil∞ bσ avoideΣ anΣ thσ prograφ wil∞ operatσá withou⌠ ì
an∙ errors.
THE WAY THE CHECKSUM WORKS
Checksuφá add≤á togethe≥á thσá ASCI╔ code≤ oµ eacΦá characte≥á iεá thσ ì
prograφá line«á Thσá resul⌠á i≤ divideΣ b∙ 25╢ anΣá thσá remainde≥á oµá thσ ì
divisioε i≤ thσ fina∞ Checksuφ number«á Thi≤ provide≤ ß singlσ ╕ bi⌠ numbe≥ ì
whicΦ i≤ fairl∙ wel∞ relateΣ t∩ you≥ prograφ line« Iε al∞ cases¼ lowe≥ casσ ì
letter≤ wil∞ bσ converteΣ int∩ uppe≥ casσ fo≥ thσ purposσ oµ generatinτ thσ ì
Checksuφ number.
RE═á statement≤ arσ ignored«á The∙ mus⌠ bσ includeΣ bu⌠ comment≤ afte≥ theφ ì
arσ ignored« Fo≥ example¼ thσ line:
00100 REM ** This is a test **
and the line
00100 REM This program is designed to create a disaster
will generate the same Checksum number.
Spaces and proceeding zeros are also ignored, so the line:
00100 PRINT"HELLO"
and the line
100 print " HE LLO"
will generate the same number.
Linσá number≤á arσá ßá ver∙ importan⌠ par⌠á oµá ßá BASI├á prograφá anΣ ì
thereforσá havσ beeε includeΣ iε thσ Checksuφ generation«á Thi≤ mean≤á tha⌠ ì
thσ lines:
100 PRINT "HELLO"
and
200 PRINT "HELLO"
will generate different Checksum numbers.
This_listing_is_for_the_16k_Microbee.
00100 CLS :NORMAL :A=15000:RESTORE 200
00110 READ B:IF B=-1 THEN 130 ELSE POKE A,B:A=A+1: GOTO 110
00120 POKE 226,7: FOR A=178 TO 188 STEP 2:POKE A,48: POKE A+1,117:
NEXT A:POKE 226,1
00130 CLS :POKE 216,17:PRINT CHR$(27);"W";CHR(27);"Z" [051]
00140 J1$="Cheksum in Operation --->> to operate on listings.
Use OUTL # 1 ":GOSUB 170 è00150 POKE 33852,93
00160 NEW
00170 FOR A=62464 TO 62464+64: POKE A,32:NEXT A
00180 FOR A=1 TO LEN(J1$): IF A<23 THEN POKE 62463+A,ASC(J1$(;A,A))+128:
NEXT A ELSE POKE 62463+A,ASC(J1$(;A,A)):NEXT A
00190 RETURN
0020░ DAT┴ 254,13,194,128,59,33,40,7,126,254,32,32,3,35,24,24╕
00210 DATA 254,134,40,6,254,135,40,2,24,6,125,214,40,111,38,8
00220 DATA 126,254,47,218,126,59,254,58,210,126,59,126,254,48,32,3
00230 DATA 35,24,248,30,0,126,205,15,59,254,32,40,11,254,82,40
00240 DATA 30,254,128,212,26,59,131,95,35,126,254,13,40,2,24,229
00250 DATA 123,50,177,59,205,66,59,62,13,50,0,8,195,126,59,245
00260 DATA 35,126,205,15,59,254,69,32,10,35,126,254,77,32,3,241
00270 DATA 24,222,43,43,241,24,207,254,97,56,6,254,123,48,2,214
00280 DATA 32,201,229,42,62,131,214,129,40,13,254,32,40,23,71,126
00290 DATA 35,254,128,56,250,16,248,126,254,128,48,5,131,95,35,24
0030░ DAT┴ 246,214,128,225,201,225,225,195,232,58,62,32,205,128,59,6▓
00310 DATA 32,205,128,59,62,91,205,128,59,14,100,205,104,59,90,14
00320 DATA 10,205,104,59,122,198,48,205,128,59,62,93,205,128,59,201
00330 DATA 175,6,8,203,19,23,145,48,1,129,16,247,87,123,23,47
00340 DATA 198,48,205,128,59,201,62,13,245,58,252,8,254,1,40,5
00350 DATA 58,226,0,24,3,58,227,0,254,1,40,13,254,2,40,13
00360 DATA 254,16,40,13,254,32,40,13,201,241,195,47,166,241,195,248
00370 DATA 181,241,195,122,168,241,195,127,168,0,-1
This_program_is_for_the_32k_and_disk_based_Microbees
00100 CLS :NORMAL :A=30000:RESTORE 210
00110 READ B:IF B=-1 THEN 130 ELSE POKE A,B:A=A+1: GOTO 120
00120 POKE 226,7: FOR A=178 TO 188 STEP 2:POKE A,48: POKE A+1,117:
NEXT A:POKE 226,1
00130 CLS :POKE 216,17:PRINT CHR$(27);"W";CHR$(27);"Z"
00140 J1$="Checksum in Operation --->> to operate on listings.
Use OUTL # 1 ":GOSUB 180
00150 POKE 33852,93
00160 NEW
00170 FOR A=62464 TO 62464+64: POKE A,32:NEXT A
00180 FOR A=1 TO LEN(J1$): IF A<23 THEN POKE 62463+A,ASC(J1$(;A,A))+128:
NEXT A ELSE POKE 62463+A,ASC(J1$(;A,A)):NEXT A
00190 RETURN
0020░ DAT┴ 254,13,194,24,118,33,40,7,126,254,32,32,3,35,24,24╕
00210 DATA 254,134,40,6,254,135,40,2,24,6,125,214,40,111,38,8
00220 DATA 126,254,47,218,22,118,254,58,210,22,118,126,254,48,32,3
00230 DATA 35,24,248,30,0,126,205,167,117,254,32,40,11,254,82,40
00240 DATA 30,254,128,212,178,117,131,95,35,126,254,13,40,2,24,229
00250 DATA 123,50,73,118,205,218,117,62,13,50,0,8,195,22,118,245
00260 DATA 35,126,205,167,117,254,69,32,10,35,126,254,77,32,3,241
00270 DATA 24,222,43,43,241,24,207,254,97,56,6,254,123,48,2,214
00280 DATA 32,201,229,42,62,131,214,129,40,13,254,32,40,23,71,126
00290 DATA 35,254,128,56,250,16,248,126,254,128,48,5,131,95,35,24
0030░ DAT┴ 246,214,128,225,201,225,225,195,128,117,62,32,205,24,118,6▓
00310 DATA 32,205,24,118,62,91,205,24,118,14,100,205,0,118,90,14
00320 DATA 10,205,0,118,122,198,48,205,24,118,62,93,205,24,118,201
00330 DATA 175,6,8,203,19,23,145,48,1,129,16,247,87,123,23,47
00340 DATA 198,48,205,24,118,201,62,13,245,58,252,8,254,1,40,5
00350 DATA 58,226,0,24,3,58,227,0,254,1,40,13,254,2,40,13
00360 DATA 254,16,40,13,254,32,40,13,201,241,195,47,166,241,195,248
00370 DATA 181,241,195,122,168,241,195,127,168,0,-1 è Belo≈ i≤ thσ firs⌠ prograφ listinτ witΦ Checksuφ numbers« I⌠ i≤ onl∙ ß ì
simplσ gamσ t∩ tes⌠ you≥ reactioε timσ bu⌠ i⌠ wil∞ givσ yo⌡ aε ideß oµ ho≈ ì
Checksum≤ work« Maybe someonσ woulΣ likσ t∩ modif∙ thσ listinτ s∩ i⌠ give≤ ì
it'≤ answer≤ iε rea∞ time?
BASIC LISTING REFLEX.MWB
00100 CLS:POKE257,1 [215]
00110 CURS 20:INVERSE:PRINT " ":CURS21,2 [202]
00120 CURS 21,3:PRINT" " [157]
00130 NORMAL:CURS22,5:PRINT"by Paul Dulfer 1984":PRINT [208]
00140 PRINT"This is a game for either 1 or 2 players" [097]
00150 PRINT"It is a game of fast reflexes" [028]
00160 PRINT"Do you want Game 1 ( for 1 player )" [179]
00170 PRINT" or Game 2 ( for 2 players )" [224]
00180 PRINT"Make your selection <1> or <2>"; [176]
00190 K1$=KEY$:IFK1$=""THEN 190 [055]
00200 IF K1$="2"THEN 510 [057]
00210 REM ** Game 1 ** [147]
00220 CLS [118]
00230 UNDERLINE:CURS 17:PRINT"Game 1";:NORMAL:PRINT [117]
00240 PRINT"In this game you press the key 'Z' when you hear" [155]
00250 PRINT"the beep. You will be told how long you took and" [173]
00260 PRINT"you should try to improve each time." [103]
00270 INPUT" Ready ? Press <RETURN> ";A1$:CLS [245]
00280 PRINT"Stand by for beep ..." [013]
00290 X=INT(RND*500)+100 [203]
00300 POKE 258,255 [041]
00310 FORI=1TOX [045]
00320 K1$=KEY$:IFK1$="z"ORK1$="Z"THEN 330ELSE 340 [100]
00330 CURS 1,2:INVERSE:PRINT"Take your finger off the key !!!";
:PLAY0,10:NORMAL:GOTO100 [105]
00340 NEXTI [031]
00350 POKE 258,52:C=0:PLAY 23 [184]
00360 K1$=KEY$ [131]
00370 C=C+1:IFK1$=""THEN 360 [107]
00380 PRINT:PRINT"You pressed the key '";K1$;"' ." [230]
00390 IFK1$="Z"ORK1$="z"THEN 430 [136]
00400 PRINT"Seeing this was the wrong key, you are disqualified" [015]
00410 PRINT"But for your information, the counter reading was ";C [093]
00420 GOTO 440 [103]
00430 PRINT"The counter reading for your reaction was ";C;" units" [105]
00440 PLAY 0,8:PRINT"Do you want another game of Game 1 or would
you like " [144]
00450 PRINT"to return to the main selection menu ?" [176]
00460 PLAY 0,8:PRINT"Make your selection <A>gain or <M>enu or <E>xit" [001]
00470 K1$=KEY$:IFK1$=""THEN 470 [057]
00480 IFK1$="A"ORK1$="a"THEN 210 [082]
00490 IF K1$="E"ORK1$="e"THEN 840 [100]
00500 CLS:GOTO 160 [129]
00510 REM ** Game 2 ** [150]
00520 CLS:CURS 15:UNDERLINE:PRINT"Game 2";:NORMAL:PRINT [146]
00530 PRINT:PRINT [236]
00540 PRINT"Player 1 presses 'Z' and Player 2 presses 'M' ." [245]
0055░ PRINT"Wheε yo⌡ hea≥ thσ beep¼ pres≤ you≥ ke∙ a≤ sooε a≤ yo⌡ canó ì
[222]
00560 PRINT"The person who presses their own key first wins." [135]
00570 INPUT" Ready ? Press <RETURN> ";A1$:CLS [248]
00580 PRINT"Stand by for Beep ..." [016]è00590 X=INT(RND*500)+100 [206]
00600 POKE 258,255 [044]
00610 FORI=1TOX [048]
00620 K1$=KEY$:IFK1$="M" OR K1$="Z" THEN 630 ELSE 640 [096]
00630 CURS 1,2:INVERSE:PRINT"KEEP FINGERS OFF !! Take your finger
off the BUTTONS":NORMAL [051]
00640 NEXTI [034]
00650 POKE 258,52 [252]
00660 C=0:PLAY 23 [033]
00670 K1$=KEY$:C=C+1:IFK1$=""THEN 670 [150]
00680 PRINT:PRINT"The key pressed was ";K1$ [220]
00690 IFK1$="Z"ORK1$="z"THEN 730 [142]
00700 IFK1$="M"ORK1$="m"THEN 750 [110]
00710 PRINT"Because this was the wrong key, no-one wins !!!" [087]
00720 PRINT"But for your information, the reaction time was ";C:
GOTO770 [220]
00730 PRINT"Player 1 wins !!! Reaction time was ";C;" units" [012]
00740 GOTO 770 [114]
00750 PRINT"Player 2 wins !!! Reaction time was ";C;" units" [015]
00760 GOTO 770 [116]
00770 PLAY 0,8:PRINT"Do you want another game of Game 2 or would
you like" [151]
00780 PRINT"to return to main selection menu ?" [213]
00790 PLAY 0,8:PRINT"Make your selection <A>gain or <M>enu or <E>xit" [007]
00800 K1$=KEY$:IFK1$=""THEN 800 [051]
00810 IFK1$="A"ORK1$="a"THEN 510 [082]
00820 IF K1$="E"OR K1$="e"THEN 840 [097]
00830 CLS:GOTO 160 [135]
00840 CLS:CURS 20,8:PRINT "G O O D B Y E !":PLAY16,4;0,10:CLS [059]
WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRI
Iεá goinτ froφ squarσ ┴ t∩ squarσ ┬ iε thσ figurσ below¼á wha⌠ i≤á thσ ì
MAXIMIM numbe≥ oµ square≤ tha⌠ ß ches≤ knigh⌠ coulΣ touch¼á includinτ ┴ anΣ ì
B¼á iµá thσ knigh⌠ make≤ onl∙ permissiblσ moves¼á doe≤ no⌠ toucΦ an∙ squarσ ì
more than once, and does not go outside the 16 squares shown?
-----------------------------------------
| A | | | B |
|---------------------------------------|
| | | | |
|---------------------------------------|
| | | | |
|---------------------------------------|
| | | | |
-----------------------------------------
┴á prizσá oµ 1░ blanδ cassettσ tape≤ o≥ 1░ disk≤ (5",3"or,8"⌐ wil∞á bσ ì
awardeΣá t∩á an∙á persoεá wh∩ caε suppl∙ thσá answe≥á iεá MICROWORL─á BASI├ ì
includinτ graphics¼á ho≈ anΣ wherσ eacΦ movσ i≤ made«á Iε thσ even⌠ oµ morσ ì
thaε onσ correc⌠ answer¼á consideratioε wil∞ bσ giveε t∩ prograφá structurσ ì
anΣá choicσá oµ graphics«á Thσ prograφ shoulΣ sho≈ eacΦ movσ iε turε anΣá ß ì
runninτ coun⌠ oµ move≤ i≤ t∩ bσ displayed« Entrie≤ MUST bσ supplieΣ oε tapσ ì
o≥ disδ iε thσ forma⌠ oµ .MWB¼á WordSta≥ o≥ Wordbeσ (ASCI╔ FILES⌐ includinτ ì
ßá pape≥á listinτ witΦ Checksums«á N∩ seperatσ listing≤ (oε paper⌐ wil∞á bσ ì
considered« Don'⌠ forge⌠ t∩ includσ ß selµ addresseΣ envelopσ (stamped⌐ fo≥ ì
thσá returεá oµá you≥á entry«á N∩á correspondencσá wil∞á bσá entereΣá into« ì
Competitioε opeε t∩ ALL.
WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIZE--WIN-A-PRIè Microbee - Avtek Multi-Modem
============================
Connecting CCITT V23 1200/75 75/1200 600/75 75/600 baud modes.
------------------------------------------------------------------
Mark Bishop 29.06.85
Iεá it≤ standarΣ form¼á thσ Avteδ Multi-Modeφ (AMM⌐ i≤ capablσ oµ operatinτ ì
iε al∞ thσ abovσ mode≤ (plu≤ others)« T∩ d∩ thi≤ i⌠ mus⌠ bσ connecteΣ t∩ ß ì
compute≥á witΦ AL╠ thσ requireΣ RS23▓ connection≤ anΣ softwarσá t∩á contro∞ ì
thσá modσá selection«á Likσ mos⌠ micro-computers¼á thσ Microbeσá onl∙á ha≤ ì
limiteΣá RS23▓á connection≤á anΣ ha≤ n∩ standarΣ softwarσá t∩á contro∞á thσ ì
selectioε oµ AM═ modes«
Onσá solutioε i≤ t∩ selec⌠ thσ requireΣ mode≤ b∙ hardware¼á anΣ connec⌠ thσ ì
AM═á input/output/contro∞á connection≤ t∩ availablσá Microbeσá RS23▓á pins« ì
Thi≤ involve≤ aε interfacσ cablσ froφ thσ Microbeσ t∩ thσ AMM¼ anΣ hardwarσ ì
modificatioε t∩ thσ AMM.
Thσ Microbeσ TX─ outpu⌠ i≤ connecteΣ t∩ botΦ thσ AM═ TX─ (1200/600/30░ bd.⌐ ì
anΣá BTX─ (75/╡ bd.⌐ input≤ b∙ linkinτ pin≤ 1░ anΣ 2╕ oµ IC1«á Thσ AM═ BRX─ ì
anΣ RX─ output≤ arσ gateΣ togethe≥ a⌠ aε unuseΣ gatσ oµ IC7¼á anΣ outpu⌠ t∩ ì
thσ Microbeσ RX─ input.
CCIT╘á V2│ originatσ (7╡ bd.TX» 120░ o≥ 60░ bd.RX⌐ anΣ answe≥ (120░ o≥á 60░ ì
bd.TX» 75bd« RX⌐ modσ changeove≥ i≤ selecteΣ b∙ ß ne≈ switcΦ mounteΣ oε thσ ì
fron⌠á panel«á Thσ changeove≥ i≤ madσ b∙ takinτ thσ AM═ DB2╡ RT╙ piε ┤á lo≈ ì
anΣá DB2╡á BRT╙ piε 1▒ higΦ fo≥ originate¼á anΣ invertinτ botΦá fo≥á answe≥ ì
mode« ┴ 74LS0░ I.C« wa≤ useΣ fo≥ logiπ anΣ switchinτ RTS/BRT╙ line≤ iε lie⌡ ì
oµ ß DPD╘ switch« Thσ I├ onl∙ allow≤ changeove≥ iε V2│ modes¼ iε al∞ othe≥ ì
mode≤ thσ switcΦ ha≤ n∩ effect¼á witΦ thσ modeφ operatinτ a≤ i⌠ diΣá beforσ ì
thσ modifications« DPD╘ switcΦ connection≤ arσ showε belo≈ fo≥ comparison.
(1) RS232 Interface cable
Microbee DB25P pin Avtek M.M. DB25P pin
---------------------------------------------------------------------------
2 TXD <-----> 2 TXD
3 RXD <-----> 3 RXD
5 CTS <-----> 5 CTS
7 GND <-----> 7 GND
9 +V no connection required
24 CLK <-----> 24 CLK
---------------------------------------------------------------------------
(2) Avtek Multi-Modem hardware modifications
parts required
--------------
1 74LS00 I.C. (quad. 2 input NAND gate)
1 SPST or SPDT switch (Dick Smith cat.# S-1173 or similar)
1 DB25S socket
1 330R .25W carbon resistor
2 1N4148 or 1N914 silicon diodes
▒ metrσ soliΣ conducto≥ insulateΣ wire for links « Telephonσ cablσ etc.
Instal∞á thσá DB25╙ oε thσ rea≥ pane∞ oµ thσ AMM¼á approx«á 27mφ abovσá thσ ì
existinτ DB25S« Thi≤ socke⌠ i≤ fo≥ connectioε t∩ thσ Microbee¼ leavinτ thσ ì
origina∞ socke⌠ un-modified« Removσ thσ fron⌠ pane∞ anΣ instal∞ thσ switcΦ ìèa⌠á thσ samσ heigh⌠ a≤ thσ man/aut∩ switch¼á 7.╡ mφ froφ thσ thσ lef⌠á edgσ ì
wheεá lookinτá froφá thσá front«á WitΦ thσ switcΦá iεá thσá U╨á (originate⌐ ì
positioε tw∩ oµ thσ switcΦ contact≤ mus⌠ bσ joined¼ notσ whicΦ two«
New Microbee DB25S - links to existing DB25S
------------------------------------------
Linδ piε ▓ t∩ piε ▓ (TXD)«á Piε ╖ t∩ piε ╖ (GND)« Piε ╡ (CTS⌐ ne≈ DB25╙ viß ì
ß 100╥ resisto≥ t∩ piε ╢ (DSR/+5V)«á N╧ connectioε i≤ madσ t∩ piε 2┤á (CLK⌐ ì
oεá thσá ne≈á DB25S«á Microbeσ pin≤ ╡ ª 2┤ arσ useΣ fo≥á auto-diallinτá b∙ ì
TELCO═ 2«á Wheε ╔ figurσ ho≈ the∙ caε bσ connected¼á I'l∞ le⌠ yo⌡ know« Fo≥ ì
piε │ (RXD⌐ connectioε seσ 'IC╖ linksº below«
IC1 link
--------
Linδá piε 1░ (TD⌐ t∩ piε 2╕ (BTD)«á Thi≤ put≤ transmi⌠ datß t∩á botΦá maiε ì
channe∞á (1200/600/30░á bd.⌐ anΣ bacδ channe∞ (75/╡ bd.⌐ section≤ oµá IC1« ì
Thσ TX─ greeε LE─ no≈ operate≤ oε transmi⌠ witΦ botΦ maiε anΣ back-channel.
IC7 links
---------
Linδ piε 1▓ (BR─ input⌐ t∩ piε 1░ (unuseΣ input)«á Piε ▓ (R─ input⌐ t∩ piε ì
╣á (unuseΣ input)«á Piε ╕ (unuseΣ output⌐ t∩ thσ ne≈ Microbeσ DB25╙ piεá │ ì
(RXD)« Thi≤ gate≤ thσ AM═ RX─ anΣ BRX─ outpu⌠ together¼ witΦ outpu⌠ t∩ thσ ì
RX─ piε oµ thσ ne≈ Microbeσ DB25S.
IC7d (previously unused)
-----
IC7 pin 12 --------|10 \
| 8)O------ new DB25S pin 3 (RXD)
IC7 pin 2 --------|9 /
-----
IC4 piggy-back links
---------------------
Oε thσ ne≈ 74LS0░ benΣ u≡ al∞ pin≤ excep⌠ ╖ anΣ 14¼ leve∞ witΦ thσ I├ top« ì
Piggy-bacδ thi≤ I├ t∩ IC┤ b∙ solderinτ pin≤ ╖ anΣ 14«á Linδ piε ┤ t∩ piε 5« ì
Piε ╡ t∩ piε 8« Piε ╖ viß ß 330╥ resisto≥ t∩ piε 9« Piε 1░ t∩ piε 11«
Piε ╢ t∩ thσ existing RS232╨ piε 1▒ (BRTS)«
Piε ╕ t∩ thσ existing RS232╨ piε ┤ (RTS).
Link pin 9 to one switch contact \
Linδ piε 1┤ t∩ thσ othe≥ contact > contact≤ joineΣ wheε switcΦ i≤ UP«
Determinσ whicΦ tw∩ contact≤ oε S▒ (rotar∙ modσ selector⌐ arσ fo≥ thσá 120░ ì
anΣ 60░ bauΣ modes« Thσ easies⌠ wa∙ i≤ t∩ selec⌠ thσ modσ oε SW▒ anΣ usσ ß ì
multi-mete≥ t∩ checδ whicΦ oµ thσ 1▓ outsidσ pin≤ connec⌠ t∩ ground«á Linδ ì
onσ contac⌠ t∩ IC┤ piggy-bacδ piε 13¼ thσ othe≥ contac⌠ t∩ piε 12.
IC4 piggy-back - connection overlay
-----------------------------------
-----\ /-----
▒ⁿ ----- ⁿ1┤--------------------------| new
2| 74LS00 |13----SW1 1200 bd. |switch
3| IC4 piggy-back |12----SW1 600 bd. |
|--4ⁿááááááááááááááááá|11--ⁿ * Orig.
|--5|-------------. |10--| /
exist. DB25S------6| 330R |----(---| 9----------------------* * Ans.
pin 11(BRTS) 7|--####--ⁿ |---| ╕------exist. DB25S
------------------- pin 4 (RTS)èOnl∙ pin≤ ╖ ª 1┤ arσ soldereΣ t∩ IC4¼á al∞ other≤ ben⌠ up«á
N∩ connectioε t∩ pin≤ 1,▓ o≥ 3.
Originate/answer mode selection circuit - IC4 piggy back
--------------------------------------------------------
new switch
pin 14 +5V ---------* * ANSWER
\
\
330R * ORIGINATE
pin 7 0V ----####-------|
| |--------------------RTS pin 4
----- | ----- | -----
SW1 1200 ---|13 \ |---|9 \ | |---|4 \
ⁿ 11)O--ⁿ ⁿ 8)O---|---ⁿ ⁿ 6)O----BRT╙ piε 11
SW1 600 ---|12 / |------|10 / |---|5 /
----- ----- -----
Alternative to IC4 piggy-back for mode change-over
--------------------------------------------------
V23 originate DPDT sw.
---------- ------ __ Orig.
pin 4 (RTS) ---|-* *-|--- pin 11 (BRTS) ==|= |//
+5V ---|-* *-|--- 0V ==|=| |/
pin 11 (BRTS) ---|-* *-|--- pin 4 (RTS) ==|=| |
---------- ------ Ans.
V23 answer and
ALL other modes Connections to existing DB25S
RXD green LED
-------------
Locatσá thσ PC┬ tracδ unde≥ thσ boarΣ whicΦ connect≤ t∩ thσ RX─á LED«á Cu⌠ ì
thσ tracδ anΣ solde≥ ß 1N414╕ o≥ 1N91┤ diodσ acros≤ thσ cut¼ cathodσ (blacδ ì
band⌐á enΣá toward≤ thσ LED«á Solde≥ thσ cathodσ oµ ß seconΣ diodσ t∩á thσ ì
cathodσ oµ thσ first«á Linδ thσ othe≥ enΣ oµ thi≤ diodσ t∩ piε 1▓ oµá IC7« ì
Thσá RX─ greeε LE─ no≈ operate≤ oε receivσ witΦ botΦ maiε anΣ back-channel«
BotΦ C─ anΣ BC─ arσ alread∙ gateΣ t∩ thσ C─ LED«á CT╙ anΣ RT╙ LED╙ wil∞ bσ ì
O╬ iε V2│ answe≥ mode¼ OF╞ iε originate. END.
STANDARD ASCII ABBREVIATIONS
DEC HEX KEY CODE MEANING DEC HEX KEY CODE MEANING
06 06 ^F ACK = Akcknowledge 12 0C ^L FF = Form Feed
07 07 ^G BELL = Bell 28 1C ^\ FS = Form Separator
08 08 ^H BS = Backspace 29 1D ^] GS = Group Seperator
24 18 ^X CAN = Cancel 09 09 ^I HT = Horizontal Tab
13 0D ^M CR = Carriage Return 10 0A ^J LF = Line Feed
17 11 ^Q DC1 = Direct Control 1 21 15 ^U NAK = -tive Acknowledge
18 12 ^R DC2 = Direct Control 2 00 00 ^@ NUL = Null
19 13 ^S DC3 = Direct Control 3 30 1E ^^ RS = Record Separator
20 14 ^T DC4 = Direct Control 4 15 0F ^O SI = Shift In
16 10 ^P DLE = Data Link Escape 14 0E ^N SO = Shift Out
25 19 ^Y EM = End Of Medium 01 01 ^A SOH = Start of Heading
05 05 ^E ENQ = Enquiry 02 02 ^B STX = Start Text
04 04 ^D EOT = End Of Transmission 26 1A ^Z SUB = Substitute
27 1B ^[ ESC = Escape 22 16 ^V SYN = Synchronous Idle
23 17 ^W ETB = End Transmission Block31 1F ^_ US = Unit Separator
03 03 ^C ETX = End Text 11 0B ^K VT = Vertical Tab èANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSW
Thesσ answer≤ arσ genera∞ anΣ contaiε usefu∞ informatioε fo≥ al∞ bu⌠ arσ ì
directeΣ t∩ specifiπ peoplσ wh∩ havσ writteε t∩ us« ╔ wil∞ no⌠ bσ puttinτ ì
name≤ o≥ phonσ number≤ oε an∙ help≤ iε futurσ becausσ iµ yo⌡ go⌠ thσ answe≥ ì
t∩ thσ probleφ n∩ onσ elsσ did« T∩ repl∙ t∩ helps¼ rinτ o≥ writσ t∩ thσ me« ì
╔ havσ ß modeφ operatinτ a⌠ eithe≥ 30░ o≥ 1200/75bd.
T∩á Andre≈á Kovacs:éá Ye≤á wσ arσ no≈ caterinτá fo≥á "CIABóá compute≥á user≤ ì
althougΦá wσ havσ no⌠ a≤ ye⌠ ß sub-edito≥ t∩ collatσ informatioε fo≥á them« ì
Ye≤á wσ d∩ sel∞ blanδ disks«á An∙ softwarσ tha⌠ i≤ availablσ oε norma∞ disδ ì
caε bσ supplieΣ oε CIA┬ forma⌠ includinτ SIG/M¼á CPMU╟ anΣ CU╟ volumes« Ou≥ ì
cop∙ facilitie≤ allo≈ an∙ size/forma⌠ t∩ bσ downloaded«á I⌠ i≤ possiblσá t∩ ì
orde≥ softwarσ anΣ manual≤ (A.T.⌐ througΦ u≤ bu⌠ yo⌡ caε ge⌠ i⌠ a⌠ thσ samσ ì
discoun⌠ througΦ A.T« iµ yo⌡ havσ beeε ß membe≥ > ╢ months« Al∞ manual≤ fo≥ ì
softwarσ supplieΣ b∙ A.T« caε bσ purchased.
Microbeσá monito≥ command≤ fo≥ disδ reaΣ X╥ tts≤ dddΣ lll∞ read≤á lll∞ ì
byte≤ froφ ┴ drivσ int∩ memor∙ a⌠ addres≤ dddΣ (n∩ secto≥ skewing)
thσ tracδ froφ whicΦ datß transfe≥ start≤ i≤ tt¼ wherσ 0<=t⌠ <=4FH
the starting sector is ss, where 1<=ss <=??
sector numbers start at 1, track start at 0.
EG«á X╥á 0A0▒á F10░ 30░ wil∞ displa∙ 300╚ byte≤ froφá tracδá 1░á decimal¼ ì
sector 1 on screen.
EG. XW ttss dddd llll the same as above but write to disk.
For disk B use YR and YW in the same manner as above.
Other commands can be found in Microbee Disk System Manual Cat. No. 250-010.
A≤á fo≥ warrant∙ oε fittinτ you≥ owε keyswitche≤ yo⌡ wil∞ finΣ yo⌡ arσá no⌠ ì
covereΣ fo≥ thσ fittinτ only«á You≥ upgradσ wil∞ no⌠ bσ affecteΣá providinτ ì
an∙ claim≤ arσ no⌠ duσ t∩ saiΣ fitting.
T∩ Michae∞ Ingall:é ╔ havσ passeΣ you≥ reques⌠ oε t∩ A.T« fo≥ aε answer« Thσ ì
prograφ yo⌡ havσ i≤ no⌠ fo≥ genera∞ releasσ bu⌠ ou⌠ fo≥ evaluatioε only«á ╔ ì
wil∞ repl∙ asap.
AL╠á "C.I.A.B.ó OWNERS:é Thosσ oµ yo⌡ havinτ troublσ copyinτ you≥á tape≤á t∩ ì
disδ ╔ havσ fou≥ answers«á 1«á ReaΣ thσ articlσ iε thi≤ issue«á 2«á Iµ tha⌠ ì
doesn'⌠ worδ yo⌡ caε writσ t∩ Denni≤ Kretzschmar¼á P.O«á BO╪ 2018¼á CAIRNS¼ ì
QLD.¼ 487░ enclosinτ tw∩ .33π stamp≤ fo≥ listinτ oµ mod≤ fo≥ MLCOPY.CO═ anΣ ì
PMLCOPY.CO═ (fo≥ cop∙ protecteΣ tapes)¼ 3« senΣ ß formatteΣ blanδ disδ witΦ ì
returε postagσ t∩ Michae∞ Ingall¼áThσ Rector∙ 2░ FRANCI╙ St« TATURA¼ VIC.¼ ì
361╢ wherσ yo⌡ wil∞ ge⌠ ß prograφ t∩ d∩ thσ joΓ fo≥ yo⌡ o≥ 4« reaΣ thσ VME╟ ì
newslette≥á Vo∞ 2«á N∩ 2«á (thσ result≤ arσ saiΣ t∩ bσ les≤ effectivσá thaε ì
thosσ mentioneΣ above«á Iε mos⌠ case≤ wherσ ß machinσ languagσ cop∙ i≤ madσ ì
yo⌡ wil∞ neeΣ t∩ t∩ usσ thσ followinτ synta° t∩ ruε it:-
RUN═á "filename.COMóá 25╢ t∩ loaΣ anΣ star⌠ thσ prograφ a⌠ 100Φá wherσá thσ ì
cop∙ prograφ ha≤ pu⌠ thσ ne≈ star⌠ address.
T╧á ALL║á Iµ yo⌡ arσ havinτ trouble≤ witΦ you≥ printe≥ anΣ havσ beeεá usinτ ì
HIRE╙á graphic≤á i⌠á i≤ necessar∙ t∩ POK┼ 128,╕ t∩ reinstatσá thσá paralle∞ ì
printe≥ beforσ usinτ thσ OUTL#1:LLIS╘ command«á Iµ yo⌡ arσ iε CP/═ anΣ you≥ ì
keyboarΣá doesn'⌠ work¼á you≥ printe≥ i≤ ofµ line«á Thσ printe≥ i≤á toggleΣ ì
OFF/ON by using ^P.
ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWERS---ANSWè PASCAL_FOR_BASIC_PROGRAMMERS
PART VII Dixon Kenney
Iε thi≤ nex⌠ par⌠ iε thσ serie≤ oµ programminτ iε Pascal¼ wσ arσ goinτ ì
t∩ writσ ß procedurσ b∙ whicΦ wσ caε adΣ aε iteφ oµ stocδ ¿ tha⌠ is¼ ß datß ì
recorΣ ⌐ t∩ thσ datß file«á Iε doinτ this¼á wσ arσ goinτ t∩ usσ ß mask¼ s∩ ì
tha⌠á thσ operato≥ wh∩ i≤ fillinτ iε thσ informatioε wil∞ kno≈ exactl∙ wha⌠ ì
informatioε wσ wan⌠ theφ t∩ typσ in«á Mos⌠ oµ thσ prograφ i≤ lef⌠ out¼á a≤ ì
i⌠á doesn'⌠á diffe≥á froφá thosσ iε previou≤á part≤á oµá thσá series«á Thσ ì
function≤ anΣ procedure≤ wσ havσ useΣ beforσ arσ indicateΣ b∙ thei≥ Includσ ì
calls«á Thσ linσ number¼ therefore¼ arσ no⌠ mean⌠ t∩ refe≥ t∩ thσ wholσ oµ ì
thσ program« The∙ arσ therσ simpl∙ fo≥ referencσ iε thσ text.
1áá Prograφ Inventory_3;
3áááType
4ááá St3░ ╜ String[30];
6áááVar
áá7ááá Heade≥ ║ St30;
10ááá{$╔ EXISTS.FN├ }
12ááá{$╔ CREATEFL.PR╧ }
14 {$╔ FWRITE.PR╧ }
16 ááProcedurσ FormWritσ ¿ ╚ ║ St3░ );
18áááConst
á19ááá TabΓ ╜ º ';
21áááBegin
23ááá ClrScr;
á24ááá Write(º ':25);
á25ááá Writeln(H);
á26ááá Writeln╗ Writeln;
á27ááá Writeln(Tabb¼ 'Par⌠ Numbe≥ ║ ');
á28ááá Writeln(Tabb¼ 'Descriptioε ║ ');
á29ááá Writeln;
á30ááá Writeln(Tabb¼ 'Cos⌠ t∩ u≤ ║ ');
á31ááá Writeln(Tabb¼ 'Retai∞ Pricσ ║ ');
á32ááá Writeln;
á33ááá Writeln(Tabb¼ 'Minimuφ Leve∞ ║ ');
á34ááá Writeln(Tabb¼ 'Maximuφ Leve∞ ║ ');
á35ááá Writeln;
á36ááá Writeln(Tabb¼ 'Oε HanΣ No≈ ║ ');
38áááEnd╗ √ Procedurσ FormWritσ }
41 {$╔ NEWITEM.PR╧ }
43áááProcedurσ NewItem;
èá45áááConst
á46 áá Heade≥ ╜ º ¬ AD─ ENTR┘ T╧ MASTE╥ FIL┼ *';
á48áááVar
á49ááá Agaiε ║ Boolean;
á50ááá YesN∩ ║ Char;
á52áááBegin
á54ááá Agaiε :╜ True;
á56ááá Assign(PartFile¼ FileName);
á57ááá Reset(PartFile);
á58ááá Seek(PartFile¼ FileSize(PartFile));
á60ááá Repeat
á61ááá FormWrite(Header);
á62ááá WitΦ Par⌠ do
á63ááá Begin
á64ááá GoToXY(32¼ 4)╗ Read(PartNum);
á65ááá GoToXY(32¼ 5)╗ Read(Description);
á66ááá GoToXY(32¼ 7)╗ Read(Cost);
á67ááá GoToXY(32¼ 8)╗ Read(Retail);
á68ááá GoToXY(32,10)╗ Read(MinOH);
á69ááá GoToXY(32,11)╗ Read(MaxReorder);
á70ááá GoTOXY(32,13)╗ Read(CurrentOH);
á71 áá Write(PartFile¼ Part)
á72ááá End;
á74ááá Writeln╗ Writeln;
á75ááá Write('D∩ yo⌡ havσ anothe≥ par⌠ t∩ ente≥ [Y/N▌ ┐ ');
á76ááá Read(YesNo);
á77ááá Iµ YesN∩ iε █ 'Y'¼ 'y']
á78ááá theε Agaiε :╜ True
á79ááá Else
á80ááá Agaiε :╜ False
á81ááá Unti∞ Agaiε ╜ False;
á83ááá Close(PartFile)
á85áááEnd╗ √ Procedurσ NewIteφ }
87 {$╔ MENU.PR╧ }
á89áááBegin { Main Section of the program }
á91ááá Casσ Iteφ of
á92ááá 1║ NewItem;
á94áááEnd.
Therσá arσ onσ o≥ tw∩ necessar∙ extrß declarations╗á wσ havσá onl∙á t∩ ì
dea∞á witΦá thσ materia∞ iε thσ tw∩ ne≈ procedures«á Let'≤ dea∞á witΦá thσ ì
procedurσ FormWritσ first.
Thi≤á procedurσá exist≤ simpl∙ t∩ writσ ß datß masδ oε thσá screen«á ┴ ì
masδá i≤ ß screeε whicΦ describe≤ thσ recorΣ iε word≤ whicΦá thσá oper-ato≥ ì
caεá understand«á "MinOHó migh⌠ bσ understooΣ b∙ thσ persoε wh∩ wrotσá thσ ìècode¼á bu⌠á ß use≥ oµ thσ prograφ woulΣ understanΣ "Minimuφ Leveló ß littlσ ì
morσá easily«á Thσá detail≤á oµá eacΦ fielΣá oµá thσá recorΣá arσá printeΣ ì
sequentiall∙ oε thσ screen.
Iεá linσá 16¼á thσá procedurσ header¼á ß paramete≥ i≤á passeΣá t∩á thσ ì
procedure« I⌠ i≤ thσ Heade≥ fo≥ thσ screeε mask« Thi≤ particula≥ masδ caε ì
bσá useΣá fo≥ morσ thaε th≤ procedure¼á sincσ i⌠ describe≤ eacΦá recorΣá iε ì
full«á So¼á wσá pas≤ t∩ thσ procedurσ whicΦ use≤ thσ masδ thσ titlσ oµ thσ ì
mask¼á whicΦ i≤ se⌠ u≡ iε thσ callinτ procedure¼á herσ linσ 46« B∙ passinτ ì
thi≤ header¼á mucΦ codσ writinτ i≤ saved¼á sincσ wσ d∩ no⌠ neeΣ t∩ writσá ß ì
masδ fo≥ eacΦ individua∞ procedure.
No≈á let'≤ movσ oε t∩ thσ nex⌠ procedurσ - Procedurσá NewItem«á Therσ ì
arσ ß numbe≥ oµ item≤ t∩ looδ a⌠ here«á Thi≤ procedurσ i≤ calleΣ froφ linσ ì
92¼ whicΦ i≤ par⌠ oµ thσ Casσ statemen⌠ iε thσ Maiε blocδ oµ thσ program.
Iε linσ 57¼ thσ filσ whicΦ ha≤ beeε previousl∙ createΣ i≤ opened« Thσ ì
functioεá Rese⌠á open≤á aε alread∙ createΣ file«á Herσ i⌠ open≤á thσá filσ ì
referreΣ t∩ b∙ thσ filσ variablσ PartFile¼ tha⌠ is¼ "INVENT.DAT"« Wheε thσ ì
filσ i≤ opened¼á thσ recorΣ pointe≥ i≤ se⌠ t∩ poin⌠ a⌠ thσ beginninτ oµ thσ ì
file¼á tha⌠ is¼ t∩ recorΣ 0« Thσ filσ i≤ closeΣ iε linσ 83¼ usinτ thσ samσ ì
functioε a≤ wσ useΣ iε thσ CreateFilσ proced-urσ - Close« Iε betweeε thesσ ì
tw∩ functions¼ wσ d∩ ß lo⌠ oµ work.
Iε linσ 58¼á wσ pu⌠ thσ recorΣ pointe≥ t∩ thσ enΣ oµ thσá file«á Thi≤ ì
linσá contain≤ tw∩ functions«á Thσ functioε Seek(filevariable,n)ô move≤ thσ ì
recorΣá pointe≥ througΦ thσ filσ 'filevariableº unti∞ i⌠ point≤á a⌠á recorΣ ì
numbe≥á 'n'«á Thi≤ functioε caε bσ useΣ a⌠ an∙ timσ t∩ acces≤ ß particula≥ ì
recorΣ iµ thσ numbe≥ oµ thσ recorΣ i≤ known.
Iεá orde≥ t∩ appenΣ ß recorΣ t∩ thσ file¼á wσ mus⌠ movσ t∩ thσ enΣá oµ ì
thσ filσ - tha⌠ is¼á t∩ thσ recorΣ nex⌠ pas⌠ thσ fina∞ recorΣ oµ thσá file« ì
Thi≤á i≤ donσ b∙ usinτ thσ functioε FileSize(filevariable)«á Thi≤ functioε ì
count≤ thσ numbe≥ oµ record≤ iε thσ file«á So¼á iµ wσ haΣ ╕á records¼á thσ ì
functioε return≤ thσ numbe≥ 8« However¼ sincσ thσ firs⌠ recorΣ i≤ numbereΣ ì
0¼ thσ fina∞ actua∞ recorΣ i≤ numbe≥ 7¼ anΣ thσ Seeδ functioε i≤ positioneΣ ì
t∩á poin⌠á t∩ thσ nex⌠ recorΣ t∩ bσ appendeΣ t∩ thσ file«á Notσ tha⌠á thi≤ ì
functioε i≤ oµ typσ integer¼á anΣ thσ numbe≥ 'nº supplieΣ t∩ Seeδ mus⌠ als∩ ì
bσ oµ typσ Integer.
No≈ looδ a⌠ linσ 6▓ - WIT╚ Par⌠ DO«á Wheε wσ wan⌠ t∩ acces≤ ß record¼ ì
wσá caε finΣ ourselve≤ iε ß bi⌠ oµ trouble¼á a≤ wσ usuall∙ wan⌠ t∩ worδá oε ì
thσ individua∞ field≤ oµ eacΦ record«á Iε Pascal¼ wσ caε referencσ eacΦ oµ ì
thσ field≤ oµ ß record≤ b∙ usinτ ß fielΣ selector«á Thi≤ fielΣ selecto≥ i≤ ì
madσ u≡ oµ thσ recorΣ namσ followeΣ b∙ ß perioΣ followeΣ b∙ thσ fielΣ name« ì
S∩ here¼ t∩ acces≤ eacΦ field¼ wσ woulΣ havσ t∩ say¼ fo≥ example
Part.Partnum Part.Retail Part.CurrentOH
I⌠ woulΣ bσ mucΦ easie≥ fo≥ u≤ iµ wσ werσ ablσ t∩ acces≤ eacΦ fielΣá simpl∙ ì
b∙ it≤ owε label¼á withou⌠ thσ neeΣ fo≥ thσ prefixeΣ recorΣ label«á Wσ caε ì
makσá thing≤ mucΦ shorte≥ b∙ usinτ thi≤ WIT╚ statement¼á a≤ yo⌡ seσ i⌠ useΣ ì
here« Thσ synta° i≤ quitσ simplσ -
WITH record_variable_label DO statement.
Thσá 'statementº par⌠ i≤ wha⌠ yo⌡ wan⌠ t∩ d∩ witΦ thσ individua∞ field≤á oµ ì
thσ recorΣ yo⌡ arσ accessing«á I⌠ ma∙ bσ a≤ simplσ o≥ comple° ßá statemen⌠ ì
a≤á yo⌡ wish«á Thσ WIT╚ statemen⌠ caε bσ mucΦ morσ complicateΣ thaε thi≤ - ì
you≥á Turb∩ Pasca∞ manua∞ wil∞ sho≈ yo⌡ ho≈ iµ yo⌡ arσá reall∙á interested¼ ìèbu⌠ thi≤ i≤ complicateΣ enougΦ fo≥ u≤ now.
Iεá line≤ 64µ (anΣ iε linσ 14╩ oµ thσ previou≤ prograφ iε par⌠ VI⌐á wσ ì
havσ ß simplσ curso≥ positioninτ statement.
áááááááááThi≤á i≤á equivalen⌠á t∩á MicroWorlΣá Basic'≤á CUR╙ ì
ááááááááástatement¼ anΣ i≤ useΣ iε mucΦ thσ samσ way¼ a≤ yo⌡ ì
ááááááááácan see.
Thσá curso≥á i≤á moveΣ t∩ thσ positioε oε thσ screeε indicateΣ b∙á thσá tw∩ ì
intege≥á number≤ oε whicΦ thσ functioε operates«á Thσ firs⌠ i≤ thσá columε ì
number¼á anΣ thσ seconΣ thσ row« NB« Thi≤ i≤ thσ reversσ oµ thσ situatioε ì
a≤ describeΣ iε thσ Manual¼ whicΦ say≤ thσ functioε i≤ row¼ column«
Iε thi≤ function¼á thσ curso≥ i≤ positioneΣ iε turε a⌠ thσ enΣ oµ eacΦ ì
oµá thσá prompt≤ printeΣ oε thσ screeε b∙ thσá mask«á Thi≤á prevent≤á botΦ ì
scrollinτ oµ thσ screeε anΣ overwritinτ oµ informatioε oε it.
Iε linσ 71¼á afte≥ al∞ thσ informatioε i≤ obtained¼á wσ actuall∙ writσ ì
thσáá recorΣáá t∩á disk¼áá usinτá thσá thσá procedurσáá WRITE(filevariable¼ ì
recordvariable)«á Thi≤ functioε differ≤ froφ mos⌠ othe≥ Pascals¼ whicΦ usσ ì
thσ procedurσ PUT« Iµ yo⌡ arσ writinτ iε anothe≥ versioε oµ Pascal¼ havinτ ì
learn⌠ TPascal¼á theε bσ ver∙ carefu∞ oµ this¼á anΣ finΣ ou⌠ jus⌠ wha⌠ you≥ ì
ne≈ version'≤ synta° is.
Finally¼á wσ comσ t∩ thσ concep⌠ oµ ß set¼á iε linσ 77« Iε Pascal¼ wσ ì
arσá ablσ t∩ definσ sets¼á whicΦ thσ manua∞ describe≤ a≤á "collect-ion≤á oµ ì
relateΣá object≤á whicΦ ma∙ bσ though⌠ oµ a≤ ß whole.ó Thσ member≤ oµá thσ ì
se⌠ ¿ eacΦ oµ it≤ individua∞ item≤ ⌐ mus⌠ bσ oµ thσ samσ type¼ whicΦ caε bσ ì
an∙ scala≥ typσ excep⌠ typσ REAL.
Herσ wσ simpl∙ writσ ß conditiona∞ statement¼á t∩ seσ iµ thσá content≤ ì
oµá ß variablσ exis⌠ withiε ß set«á Noticσ tha⌠ thσ member≤ oµ thσ se⌠ arσ ì
defineΣ betweeε squarσ brackets¼ eacΦ separateΣ froφ thσ other≤ b∙ ß comma¼ ì
and¼á iε thσ casσ oµ characters¼ delimiteΣ b∙ singlσ quotσ marks« ┴ rangσ ì
oµá se⌠á member≤á caε bσ expresseΣ b∙ separatinτá thσá lowes⌠á anΣá highes⌠ ì
element≤ oµ thσ rangσ b∙ tw∩ consecutivσ periods¼ likσ thi≤ -
[ 'A'..'Z' , 'a'..'z' , '0'..'9' ]
Iε thi≤ line¼ wσ arσ writinτ ß mucΦ simple≥ wa∙ oµ saying
If YesNo = 'Y' or YesNo = 'y'
Yo⌡á caε seσ ho≈ mucΦ spacσ i≤ saveΣ iε ou≥ codσ iµ therσ arσ morσ thaε tw∩ ì
element≤ iε thσ se⌠ beinτ tested«
FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-
32k bee with built in 'extended' EDASM and switchable WORDBEE complete
witΦ manual≤ etc.¼ anΣ somσ software« Onl∙ $350.0░ ...also...
64δ beσ witΦ dua∞ ╡ 1/┤ disδ drives¼ INGERSO╠ monitor¼ CICAD┴ modem¼ ì
WordStar, Multiplan etc., and manuals. Bargain price $1650.00
Avaliable from Peter Ford (of wildcards fame) phone anytime (03) 572-2156
FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-SALE--FOR-
è BASIC LISTING SPADAV.MWB
00100 REM ////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\
00110 REM | << SPACE ADVENTURE >> |
00120 REM | Ex Computer Games for Business, school and Home. |
00130 REM | For TRS-80 Level 2 Basic. |
00140 REM | By J.V. Nahigian & W.S. Hodges. |
00150 REM | Modified for the MicroBee. |
00160 REM | By Peter Collins. Dec '83. |
00170 REM \\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////
00180 REM
00190 K1=3.14169/180
00200 Q1=3:Q2=3:D0=10000:P1=100:P2=100:I1=100
00210 A1=(180*RND)-90:A2=-(180-A1)
00220 I2=100:L1=100:L2=100:S1=100:S2=100:W1=100:W2=100
00230 CLS:PRINT "THIS IS A STAR TREK ADVENTURE"\
00240 PRINT "KLINGDONS VS. YOU THE ENTERPRISE.":PRINT
00250 PRINT "1 - FIRE PHASERS":PRINT "2 - FIRE PHOTON TORPEDOES"
00260 PRINT "3 - STATUS REPORT":PRINT "4 - CHANGE MOVEMENT"
00270 PRINT "5 - SELF DESTRUCT"
00280 PRINT\ "WHAT IS YOUR OPTION";:INPUT O
00290 ON O GOTO 320,410,560,670,700
00300 PRINT "WHAT?":GOTO 280
00310 IF A<1 THEN 280 ELSE ON A GOTO 320,410,560
00320 GOSUB 1150:IF ABS(FLT(A)-A1)>10 THEN 460 ELSE IF D0>15000 THEN 520
00330 C=INT(3*RND)+1:H1=2*((15000-D0)/30000)
00340 ON C GOTO 350,360,370
00350 PRINT "PHASERS SCORE A DIRECT HIT!!! GOOD SHOTING!":GOTO720
00360 PRINT "CHECKOV REPORTS A DIRECT HIT BY PHASERS!":GOTO 720
00370 C=INT(3*RND)+1:ON C GOTO 380,390,400
00380 PRINT "MR. SULU REPORTS A DIRECT HIT!!!":GOTO 720
00390 PRINT "*** DIRECT HIT ***":GOTO 720
00400 PRINT "SPOCK REPORTS A DIRECT HIT ON KLINGDON SHIP!":GOTO 720
00410 GOSUB 1150:IF ABS(FLT(A)-A1)>25 THEN 540 ELSE IF D0>300000 THEN 530
00420 C=INT(RND*3)+1:H1=(300000-D0)/50000
00430 ON C GOTO 440,450,370
00440 PRINT "PHOTON TORPEDOES SCORE DIRECT HIT!":GOTO 720
00450 PRINT "SULU REPORTS DIRECT HIT BY PHOTON TORPEDOES":GOTO720
00460 C =INT(2*RND)+1:H1=0:ON C GOTO 470,480
00470 PRINT "CHECKOV REPORTS CLEAN MISS BY PHASERS!":GOTO 720
00480 C=INT(4*RND)+1:ON C GOTO 490,510,500
00490 PRINT "YOUR SHOT IS WIDE!":GOTO 720
00500 PRINT "SPOCK REPORTS A CLEAN MISS":GOTO 720
00510 PRINT "SULU REPORTS A CLEAN MISS":GOTO 720
00520 PRINT "YOU ARE OUT OF PHASER RANGE":GOTO 720
00530 PRINT "YOU ARE OUT OF PHOTON TORPEDO RANGE":GOTO 720
00540 C=INT(3*RND)+1:H1=0:IF C=1 THEN 550 ELSE 480
00550 PRINT "CHECKOV REPORTS A MISS BY PHOTON TORPEDOES!":GOTO 720
00560 CLS:PRINT TAB(5)"*** STATUS REPORT ***"
00570 PRINT TAB(15)"ENTERPRISE" TAB(30)"KLINGDONS"
00580 PRINT "SPEED (WARPS)" TAB(20) INT(Q1) TAB(35) INT(Q2)
00590 PRINT "ANGLE" TAB(20) INT(A1) TAB(35) INT(A2)
00600 PRINT "TURN" TAB(20) INT(A3) TAB(35) INT(A4)
00610 PRINT "LIFE SUPPORT" TAB(20) INT(P1)"%" TAB(35) INT(P2)"%"
00620 PRINT "WARP DRIVE" TAB(20) INT(P1)"%" TAB(35)INT(P2)"%"
00630 PRINT "IMPULSE" TAB(20) INT(I1)"%" TAB(35) INT(I2)"%"
00640 PRINT "SHIELDS" TAB(20) INT(S1)"%" TAB(35) INT(S2)"%"
00650 PRINT "WEAPONRY" TAB(20) INT(W1)"%" TAB(35) INT(W2)"%"
00660 PRINT "MR. SPOCK REPORTS KLINGDONS AT "D0" K.M.":GOTO 720è00670 PRINT "WHAT ANGLE DO YOU WANT TO TURN";:INPUT A3:
IF W2<ABS(A3) THEN 670
00680 PRINT "WHAT WARP FACTOR DO YOU WANT TO MOVE TO";:INPUT Q1
00690 U0=(W1/10):IF Q1> U0 THEN 680 ELSE 720
00700 IF D0<50000 THEN 710 ELSE PRINT "KLINGDONS TOO FAR AWAY!!!":
GOTO 1080
00710 PRINT "KLINGDONS ARE DESTROYED BUT SO ARE YOU!":GOTO 1190
00720 PRINT:C=INT(4*RND)+1:ON C GOTO 730,830,870,890
00730 PRINT "*** WARNING *** KLINGDONS HAVE FIRED PHASERS!"
00740 IF D0>200000 THEN 800 ELSE IF RND>.6 THEN 800
00750 C=INT(100*RND)+1:IF FLT(C)>W2 THEN 800 ELSE
LET H2=(2*(150000-D0)/30000)
00760 C=INT(RND*3)+1:ON C GOTO 770,780,790
00770 PRINT"** DIRECT HIT **":GOTO 910
00780 PRINT "SPOCK REPORTS YOU SUFFERED A DIRECT HIT!":GOTO 910
00790 PRINT "SULU REPORTS A HIT ON ENTERPRISE!":GOTO 910
00800 C=INT(2*RND)+1:H2=0:ON C GOTO 810,820
00810 PRINT "CHECKOV REPORTS A MISS.":GOTO 910
00820 PRINT "SENSORS SHOW KLINGDONS SHOT WIDE!":GOTO 910
00830 PRINT "*** WARNING *** KLINGDONS HAVE FIRED PHOTON TORPEDOES"
00840 IF D0>300000 THEN 800 ELSE IF RND> 0.85 THEN 800
00850 C=INT(100*RND):IF FLT(C)>W2 THEN 800 ELSE LET H2=((300000-D0)/50000)
00860 GOTO 760
00870 A4=((P2/2)*RND-P2/4):Q2=((P2/10)*RND)
00880 PRINT "CHECKOV REPORTS KLINGDONS HAVE CHANGED DIRECTION.":GOTO 910
00890 IF P2>30 THEN 720 ELSE PRINT "KLINGDONS HAVE SELF DESTRUCTED!"
00900 IF D0>50000 THEN 1100 ELSE PRINT "YOU ARE ALSO DESTROYED!!!":
GOTO 1190
00910 A1=A1+A3+A4:FLT(Q)=A1:GOSUB 1160:A1=FLT(Q):A2=A2+A3+A4:Q=INT(Q2):
GOSUB 1160
00920 A2=FLT(Q):X0=SQR(D0^2+(Q2*5000)^2-(2*D0*Q2*5000*COS(ABS(A2)*K1)))
00930 Y0=SQR(D0^2+(Q1*5000)^2-(2*D0*Q1*5000*COS(ABS(A2)*K1)))
00940 D0=(X0+Y0)/2+15000:H1=H1*3:H2=H2*3:S1=S1-H1:S2=S2-H1
00950 P1=P1-H2/3:P2=P2-H1/3:W1=W1-H1/3:W2=W2-H1/3
00960 IF S1<0 THEN 970 ELSE IF S2<0 THEN 990 ELSE 1010
00970 PRINT "MR. SCOTT REPORTS SHIELDS ARE OUT!"
00980 K4=1:W1=W1+S1:P1=P1+S1:I1=I1+S1:L1=L1+S1:S1=0:GOTO 1040
00990 P2=P2+S2:W2=W2+S2:L2=L2+S2:I2=I2+S2:S2=0
01000 PRINT "CHOCKOV REPORTS KLINGDON SHIELDS ARE OUT!":GOTO 1040
01010 IF S1<25 THEN 1020 ELSE IF S2<25 THEN 1030 ELSE 1040
01020 PRINT "SCOTTY REPORTS THAT KLINGDONS SHIELDS HAVE BUCKLED!":
GOTO 1040
01030 PRINT "SENSORS SHOW KLINGDONS SHIELDS ARE WEAK!"
01040 H1=0:H2=0:IF L1<10 THEN 1050 ELSE IF L2<10 THEN 1100 ELSE 1120
01050 C=INT(3*RND)+1:ON C GOTO 1060,1070,1080
01060 PRINT "YOU HAVE BEEN DESTROYED. KLINGDONS TAKE OVER!":GOTO 1190
01070 PRINT "YOU HAVE BEEN BLOWN UP! YOU LOOSE!":GOTO 1190
01080 PRINT "YOU LOOSE. MR. SCOTT, SULU, CHECKOV, SPOCK, AND"
01090 PRINT "UHURA REPORT THAT YOU ARE AN IDIOT!!!":GOTO 1190
01100 PRINT "KLINGDONS ARE DEAD, YOU SAVED THE GALAXY!":GOTO 1190
01110 PRINT "SULU REPORTS KLINGDONS ARE DEAD! YOU WIN!":GOTO 1190
01120 IF L1<50 THEN 1130 ELSE IF L2<50 THEN 1140 ELSE 280
01130 PRINT "LT. UHURA REPORTS LIFE SUPPORT IS FAILING!":GOTO 280
01140 PRINT "SENSORS SHOW KLINGDONS ARE ALMOST OUT OF POWER!":GOTO 280
01150 PRINT "WHAT ANGLE DO YOU WANT TO SHOOT AT";:INPUT A:RETURN
01160 IF A<-180 THEN 1170 ELSE IF Q>180 THEN 1180 ELSE RETURN
01170 A=A+360:GOTO 1160
01180 Q=Q-360:GOTO 1160
01190 ENDè MODIFYIN╟ TDCOP┘ T╧ WOR╦ WIT╚ MACHIN┼ LANGUAG┼ PROGRAM╙ O╬ THE
`COMPUTER-IN-A-BOOKº DIS╦ SYSTEM
by Tony Giuliano
Fo≥ al∞ thσ `Compute≥ Iε ß Bookº owner≤ wh∩ typeΣ iε thσ modification≤ ì
t∩ thσ TDCOP┘ prograφ printeΣ iε thσ Januar∙ issuσ oµ Thσ Catche≥ wil∞ havσ ì
discovereΣá tha⌠ i⌠ doe≤ no⌠ work«á Thσ reasoε fo≥ thi≤ i≤ tha⌠ thσ TDCOP┘ ì
supplieΣ witΦ thσ CIA┬ microbee≤ diffe≥ t∩ othe≥ versions.
Afte≥ studyinτ TDCOP┘ anΣ thσ previou≤ articlσ b∙ Denni≤ Kretzshmar¼ ╔ ì
attempteΣ t∩ modif∙ thσ prograφ myselµ anΣ eventuall∙ succeeded.
Thσ followinτ describe≤ thσ procedurσ oµ modifyinτ thσ TDCOP┘á prograφ ì
containeΣá oεá thσ CP/═ maste≥ disδ supplieΣ witΦ thσ CIA┬á microbees«á Thσ ì
procedurσá i≤ simila≥ t∩ thσ origina∞ modification≤ publisheΣ a≤ onl∙á somσ ì
oµ thσ addresse≤ anΣ datß havσ beeε changed.
PROCEDURE:
Ruε thσ TDCOP┘ froφ CP/═ anΣ pres≤ Rese⌠ anΣ ═ t∩ jum≡ t∩ thσ monitor.
Alte≥ 13╖ t∩ '23'
Alte≥ 15┴ anΣ ente≥ thσ followinτ │ bytes.
015░ .« .« .« .« .« .« .« .« .« .« C─ B╕ 0╡ .« .« ..
Alte≥ 40╖ anΣ ente≥ thσ followinτ 5╖ bytes.
040░ .« .« .« .« .« .« .« 0┴ C─ C├ C│ C╞ D░ D╣ B┴ 20
041░ 5▓ 6╡ 6▒ 6┤ 7│ 2░ 6▒ 2░ 4┤ 4╖ 4╞ 5│ 2░ 6─ 2╞ 6C
042░ 2░ 7┤ 6▒ 7░ 6╡ 2░ 6▒ 6┼ 6┤ 2░ 6─ 6▒ 6┬ 6╡ 7│ 20
043░ 6▒ 2░ 4│ 5░ 2╞ 4─ 2░ 4│ 4╞ 4─ 2░ 6╢ 6╣ 6├ 6╡ 2E
Alte≥ 5B╕ anΣ ente≥ thσ followinτ 4╕ bytes.
05B░ .« .« .« .« .« .« .« .« 2┴ 5┴ 0╡ 2▓ 1╣ 0╢ 1▒ 10
05C░ 0▒ 1╣ 2▓ 1│ 0╢ E─ 5┬ 5├ 0╡ E─ 4┬ 5┼ 0╡ E─ 4│ 21
05D░ 0╢ 1╣ 1▒ 1▒ 0▒ E─ 5▓ 2▓ 1╢ 0╢ 2┴ 5┴ 0╡ 1▒ 1▒ 00
05E░ 1╣ 2▓ 5┴ 0╡ 1▒ 5┼ 0┤ C╣ .« .« .« .« .« .« .« ..
Alte≥ 61▓ anΣ ente≥ thσ followinτ 1╖ bytes.
061░ .« .« 2▒ 0░ 0░ 1▒ 0░ 0░ 0▒ 0░ 0░ E─ B╕ C─ 1┼ E0
062░ C│ 0░ 0░ .« .« .« .« .« .« .« .« .« .« .« .« ..
Wheε yo⌡ havσ completeΣ tha⌠ exi⌠ froφ thσ monito≥ anΣ bacδ t∩ CP/═ b∙ ì
typinτ ╟ 0« T∩ savσ thσ ne≈ versioε ente≥ SAV┼ ╢ MLCOPY.COM.
QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZ
Fo≥ eacΦ oµ thσ followinτ numbe≥ series¼ wha⌠ numbe≥ shoulΣ comσ next┐ ì
For example, in the series 1 4 9 16 25 36 ? the best answer would be 49.
15 52 99 144 175 180 147 ??
3 23 229 2869 43531 ??
0 5 8 8 2 3 5 2 9 4 ??
14 21 13 2 5 18 0 19 5 18 9 5 ??
6 8 5 8 4 0 7 3 4 6 ??
1 3 8 22 65 209 732 2780 ??
If you can answer these you are on your way to the MENSA CLUB.
QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZZ--QUIZè