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
/
MBUG051.ARC
/
1987JULY.CAT
< prev
next >
Wrap
Text File
|
1979-12-31
|
72KB
|
1,224 lines
.pl70
.po0
.OP
.HE# JULY - T H E C A T C H E R -1987 #
Thσ followinτ i≤ ß lis⌠ oµ thσ 1986/8╖ committee«á Iµ therσ i≤ anythinτ yo⌡ ì
requirσ o≥ an∙ hel≡ yo⌡ caε givσ us¼á pleasσ d∩ no⌠ hesitatσ t∩ contac⌠ an∙ ì
onσ oµ us, preferably before 9.00 P.M.
EXECUTIVE
PRESIDENT ANDREW BARFOOT 758-4822
VICE-PRESIDENT STEVEN JEPSON 45-4226
SECRETARY MALCOLM OSBORNE 404-1282
TREASURER KEVIN CARR 233-4629
PUBLI├ OFFICE╥ JOHN BUTTON 578-8145
COMMITTEE AND ASSISTANTS
Chris Anderson 438-3762 Peter Broughton 347-8114
Russell Crosser 383-5307 Simon Gerraty B/H 420-0927
Mike Holzinger 354-6742 Jim Lobley 758-9169
Mike Thompson 882-5002 John Mitchell 720-2016
SERVICES PROVIDED BY MBUG AUSTRALIA
DISK FORMAT COPYING JOHN BUXTON 758-5744
RBBS SYSTEM OPERATOR. MIKE THOMPSON 882-5002
BAZAAR JOHN MITCHELL. P.O. BOX 157 NUNAWADING 3131
EDITOR A. BARFOOT. P.O. BOX 157 NUNAWADING 3131
MODEM HIRE C. ANDERSON. P.O. BOX. 157 NUNAWADING 3131
MEMBERSHIP SECRETARY J. LOBLEY. P.O. BOX 157 NUNAWADING 3131
PUBLIC DOMAIN (SIG/M) DISKS S. JEPSON. P.O. BOX 8 ROSANNA 3084
COMPUTER BOOK DISCOUNT TECHNICAL BOOKSHOP SWANSTON St. MELBOURNE
PRESTON ELECTRONIC COMPONENTS 217 HIGH ST. PRESTON.
ADVERTISEMENTS P.O. BOX 157 NUNAWADING 3131
$50.00 Full Page $25.00 Half Page $15.00 Quarter Page
$3.00 For service and recurrent items (Less than 5 lines)
No charge for non recurring private sales items
GENERAL POLICY
T∩á expeditσ you≥ requests¼á genera∞ correspondencσá t∩ Contribution≤ fo≥ thσ CATCHE╥ ma∙ bσ madσ direc⌠ t∩ thσ ì
MBU╟á AUS╘á IN├ shoulΣ bσ sen⌠ t∩ ou≥ officia∞á addres≤ editor¼ sen⌠ t∩ thσ RBB╙ o≥ b∙ mail« Contribution≤ wil∞ ì
anΣ eacΦ enquir∙ shoulΣ bσ oε seperate forms« bσ accepteΣ viß modem¼ disk≤ (│ 1/2ó o≥ ╡ 1/4")¼ tape,
writteε o≥ typed« Contributions will not be considereΣ
Thσ editor≤ reservσ thσ righ⌠ t∩ edi⌠ al∞ contribution≤ withou⌠ ß namσ anΣ addres≤ and/o≥ membe≥ number« Pleasσ ì
fo≥á thσá sakσá oµ brevity¼á clarit∙á and/o≥á accuracy« includσ ß S.A.┼ fo≥ returε oµ you≥ tape/disk. ì
Letter≤á mus⌠á includσá namσ anΣ addres≤á bu⌠á wσá wil∞ ì
withholΣ sucΦ detail≤ iµ s∩ requested« AlthougΦá al∞á carσ wil∞ bσ takeεá witΦá contributions¼ ì
MBU╟á AUS╘á caεá takσ n∩ responsibilit∙á fo≥á thσá safσì
MBU╟áá AUSTRALI┴á INC«áá it≤á officers¼áá member≤áá anΣ returε oµ an∙ materia∞ supplied« Iµ returε i≤ critical¼ì
contributor≤á accep⌠ n∩ responsibilit∙ fo≥ an∙á damage≤ (something irreplaceable), don't send it. ì
causeΣá t∩á an∙ persoε o≥ propert∙á attributeΣá t∩á an∙ ì
advicσ o≥ informatioε publisheΣ iε Thσ CATCHER. MBU╟á AUS╘ INC«á doe≤ no⌠ condonσ thσ non-authoriseΣ usσ
oµáá copyrigh⌠á software/hardwarσá anΣá thereforσáá als∩
Microworld Basic listings may carry a number at the end condemn≤ unauthorised copying of such material.
of each line. eg. {123}. These are checksum numbers and
shoulΣá shoulΣá no⌠ bσ typeΣ iε a≤ par⌠ oµ thσ listing«á Contribution≤ no⌠ necessaril∙ endorseΣ b∙ MbuτáAus⌠ Inc.
THE CATCHER is published by MBUG AUSTRALIA INCORPORATED
All copyrights are reserved by MBUG AUSTRALIA INCORPORATED è FRO═ TH┼ CHIE╞ MBU╟ FRO═ TH┼ CHIE╞ MBU╟ FRO═ TH┼ CHIE╞ MBU╟
╔ hopσ yo⌡ likeΣ thσ forma⌠ oµ thσ Catche≥ las⌠ month« Thσ changσ camσ ì
abou⌠á duσ t∩ thσ qualit∙ oµ thσ finisheΣ produc⌠ ove≥ thσ las⌠ fe≈ months« ì
A≤ yo⌡ wil∞ n∩ doub⌠ havσ noticed¼ somσ oµ thσ thing≤ wσ trieΣ diΣ no⌠ worδ ì
a≤ wσ woulΣ havσ liked«á Thi≤ i≤ no⌠ thσ faul⌠ oµ thσ peoplσ wh∩ prin⌠á thσ ì
Catcher¼ o≥ thσ printe≥ useΣ fo≥ thσ prooµ copy¼ bu⌠ ß combinatioε oµ both« ì
Wσá arσ investigatinτ thσ cost≤ oµ ß typσ se⌠ magazinσ o≥ ß ne≈ printe≥á t∩ ì
producσ thσ proofs« Eithe≥ way¼ thσ columε forma⌠ wil∞ bσ continueΣ a≤ lonτ ì
a≤á therσá i≤á enougΦ material«á Thi≤ ma∙ bσ ß gooΣ timσ fo≥á yo⌡á t∩á pu⌠ ì
finger≤ t∩ keyboarΣ anΣ hel≡ u≤ ensurσ ß ful∞ magazine.
A⌠á thi≤ month≤ meetinτ wσ wil∞ bσ havinτ anothe≥ "TrasΦ anΣ Treasureó ì
nigh⌠á fo≥ thosσ wh∩ misseΣ ou⌠ las⌠ montΦ becausσ thσ magazinσá wa≤á late╗ ì
ou≥á norma∞ mailinτ da∙ wa≤ ß publiπ holiday«á Oncσ agaiε therσ wil∞ bσ n∩ ì
demo≤ bu⌠ ß ╤ ª ┴ sessioε oε thσ Shel∞ anΣ program≤ oε you≥ maste≥ disk.
Late≥ iε thi≤ issuσ yo⌡ wil∞ finΣ nominatioε form≤ fo≥ place≤ oεá nex⌠ ì
year≤ committee« Thσ Annua∞ Genera∞ Meetinτ wil∞ bσ helΣ beforσ thσ genera∞ ì
meetinτá iε August«á ╔ woulΣ hopσ wσ havσ enougΦ peoplσ nominatσ s∩ wσá ma∙ ì
havσ ß ballo⌠ fo≥ thσ position≤ a≤ wσ diΣ las⌠ year« Therσ arσ 1│ position≤ ì
whicΦ mus⌠ bσ filled« Therσ i≤ als∩ thσ positioε oµ "Publiπ Officeró whicΦ ì
caεá bσá filleΣá b∙ ß ordinar∙ membe≥ oµ b∙ aεá electeΣá committeσá member« ì
Pleasσá suppor⌠ you≥ cluΓ b∙ nominatinτ fo≥ ß position«á Don'⌠ leavσ i⌠á t∩ ì
thosσá havσ ruε thσ cluΓ iε previou≤ year≤ a≤ the∙ ma∙ no⌠ wisΦ t∩ continuσ ì
iε thσ position≤ the∙ no≈ hold«á Iε an∙ case¼ wσ canno⌠ expec⌠ thσ samσ fe≈ ì
t∩ carr∙ thσ cluΓ a≤ i⌠ ha≤ iε thσ past« YOU╥ cluΓ shoulΣ bσ iε YOU╥ hands« ì
A≤ aε extrß incentive¼ afte≥ onσ year≤ servicσ oε thσ committee¼ thσ membe≥ ì
i≤ entitleΣ t∩ thσ nex⌠ year≤ membershi≡ fo≥ $1.00« Othe≥ perk≤ include...«
Aεá apolog∙ t∩ member≤ wh∩ arσ waitinτ fo≥ thσ introductioε bookle⌠á ╔ ì
promiseΣ you«á Thσ reasoε fo≥ thσ dela∙ i≤ a≤ follows«á A≤ wσ werσ abou⌠ t∩ ì
prin⌠á thσ book¼á thσ syso≡ begaε installinτ ß ne≈ operatinτ systeφ t∩á thσ ì
RBBS«á Thi≤ mean≤ whateve≥ wσ planneΣ t∩ prin⌠ woulΣ becomσ invalid«á Also¼ ì
thσ systeφ oµ password≤ wil∞ bσ changeΣ witΦ thi≤ systeφ s∩ al∞ woulΣá havσ ì
instan⌠ acces≤ t∩ CP/M«á Lastly¼ becausσ thi≤ systeφ ha≤ takeε somσ timσ t∩ ì
se⌠á up¼á anΣ iε Augus⌠ informatioε abou⌠ thσ committeσ wil∞ change¼á therσ ì
wa≤á n∩ valuσ iε printinτ jus⌠ ß fe≈ copie≤ tha⌠ woulΣ sooε becomσá ou⌠á oµ ì
date«á Onσ othe≥ changσ wa≤ thσ closinτ oµ thσ tapσ library« ╔ hopσ t∩ havσ ì
copie≤ fo≥ member≤ abou⌠ Sep⌠ » Oc⌠ a⌠ thσ latest.
WARNIN╟ WARNING.« ATTENTIO╬ SCHOO╠ TEACHER╙ AN─ INSTITTUTIONS
anΣ everyonσ else
Iµá yo⌡ don'⌠ opeε thσ mail¼á pleasσ tel∞ whoeve≥ does¼á tha⌠ yo⌡ mus⌠ havσ ì
thσá envelopσá froφá thσá nex⌠ Catcher«á Oεá you≥á mailinτá labe∞á wil∞á bσ ì
informatioεá tha⌠á wil∞ bσ VITA╠ t∩ you≥ usinτ thσ RBBS«á You≥ B┬á passworΣ ì
wil∞á bσá changeΣ afte≥ deliver∙ oµ thσ Augus⌠ Catcher«á ┴ PI╬á numbe≥á fo≥ ì
initia∞á acces≤á wil∞ bσ ß valuσ baseΣ oε thσá Postcode¼á month≤á remaininτ ì
and/o≥ membershi≡ number« Thσ methoΣ oµ calculatinτ you≥ PI╬ numbe≥ wil∞ bσ ì
giveε iε thi≤ columε nex⌠ month«á Yo⌡ will¼ oε keyinτ iε thσ correc⌠ numbe≥ ì
O╬ YOU╥ FIRS╘ VISI╘ afte≥ implementation¼á bσ askeΣ t∩ inpu⌠ ß passworΣá oµ ì
you≥ choice«á Thi≤ wil∞ theε bσ you≥ passworΣ anΣ remaiε s∩ fo≥ futurσ use« ì
Thσá PI╬ numbe≥ wil∞ onl∙ neeΣ t∩ bσ useΣ once«á Al∞ member≤ wil∞ theε havσ ì
instan⌠ acces≤ t∩ CP/M«á Archived¼á non-finincia∞ member≤ anΣ visitor≤ wil∞ ì
no⌠á bσá ablσ t∩ transfe≥ file≤ bu⌠ wil∞ havσ ß limiteΣá acces≤á (abou⌠á 2░ ì
minutes)« Thσ clocδ wil∞ operatσ anΣ ß timσ limi⌠ wil∞ appl∙ t∩ AL╠ users«
╛ ANDRE╫ è MICROBE┼ T╧ AMSTRA─ CONNECTION. By Alan Laughton #679
Competition Entry
┴á fe≈á month≤ ago¼á ß worδ matσá bough⌠ wa≤ donσ b∙ plugginτ iε thσ wronτ way!) ì
himselµáá aεáá AmstraΣáá CPC6128«áá Thi≤ ì
compute≥ run≤ CP/═ 2.▓ (no⌠ ver∙á well!⌐ 3» BeeAlieε i≤ ß fantastiπ prograφ bu⌠ ì
anΣá CP/═ 3«á I⌠ ha≤ 128╦ oµ memor∙á bu⌠ i⌠á wil∞ no⌠ allo≈ yo⌡ t∩ RU╬ ßá prograφ ì
it≤á bigges⌠á let-dowε i≤ i⌠á i≤á fitteΣ froφ thσ alieε disk« Wha⌠ abou⌠ SETDISK¼ ì
witΦá ß singlσ sideΣ 169╦ 3ó disδá drivσ thσáá Publiπá Domaiεá Microbeσá transfe≥ ì
(3ó no⌠ 3.5")« Thesσ drive≤ ╔ understanΣ program«á Thσá AmstraΣ BIO╙á support≤á │ ì
arσ uniquσ t∩ Amstrad≤ anΣ somσ Sega's. differen⌠á disπ formats¼á onσ beinτ IBM«
(ie«á IB═á singlσ sideΣ 152δ a≤ useΣá b∙
Thσ disδ sizσ wa≤ ß probleφ wheε i⌠ camσ CP/═á 86.⌐ Thσ AmstraΣ formatteΣ aεá IB═ ì
t∩ acces≤ Publiπ Domaiε Software«á ╔ haΣ disδá anΣá usinτ Setdisδ ╔ wa≤á ablσá t∩ ì
publiπ domaiε program≤ tha⌠ hσ required« transfe≥á file≤ a⌠ supe≥ speeΣ t∩ thσ 3ó ì
Ho≈á t∩ ge⌠ theφ froφ M'beσ t∩á Amstrad« B║á drive«á However¼ thσ file≤ needeΣ t∩ ì
Onl∙á ╔ haΣ ß modem«á Wσ approacheΣá thσ bσá transferreΣá t∩á aεá AmstraΣá SYSTE═ ì
probleφ ┤ differen⌠ ways:- formatteΣá disδá t∩ bσ booteΣá anΣá run«
Thi≤ wa≤ messy«á Therσ mus⌠ bσ ßá bette≥
1»á Wσ fel⌠ thσ easies⌠ wa∙ t∩á transfe≥ solution. ì
file≤ wa≤ througΦ thσ seria∞ port«á Thi≤ ì
wa≤ thσ firs⌠ probleφ - thσ AmstraΣ doe≤ 4» SETDIS╦ ha≤ n∩ datß fo≥ aε AmstraΣ ì
NO╘ havσ ß seria∞ portí However¼ onσ caε SYSTE═á disk«á Thi≤ i≤ thσá maiεá forma⌠ ì
bσ purchaseΣ fo≥ $100« Thi≤ wa≤ donσ anΣ supporteΣ b∙ AmstraΣ a≤ CP/═ caε onl∙ bσ ì
MODEM╖á configureΣá fo≥á thσá particula≥ loadeΣá o≥ warφ booteΣ (CP/═ 2.2⌐ froφ ß ì
seria∞ por⌠ uni⌠ wa≤ acquired« Probleφ ▓ SYSTE═ forma⌠ disk« N∩ worrie≤ ╔ saiΣ a≤ ì
- thi≤ uni⌠ haΣ onσ se⌠ bauΣ rate¼ beinτ thσá Catche≥á V┤ No╡ Feb.'8╢ p╖á ha≤á aε ì
300«á Usinτ TELCO═ oε m∙ 'beσ anΣ MODEM╖ articlσ b∙ Marδ Bisho≡ tha⌠ describe≤á ß ì
oε thσ Amstrad¼á ß bi⌠ oµ telephonσ wirσ methoΣá oµá findinτ thσ necessar∙á data« ì
anΣá ßá couplσá oµ 2╡ piεá ─á plug≤á al∞ Afte≥ man∙ frustratinτ hour≤ (o≥ wa≤á i⌠ ì
runninτá a⌠ 30░ bauΣ i≤ ß poo≥ sigh⌠á t∩ days?⌐ ╔ finall∙ go⌠ itíá ╔ caε no≈ cop∙ ì
see«á However¼á i⌠á al∞ workeΣ finσá anΣ file≤á t∩ anΣ froφ aε AmstraΣ disδ usinτ ì
man∙á file≤á werσ transferreΣ thi≤á way« Sweep¼ Transfer¼ Zip¼ etc« anΣ theε tes⌠ ì
Thσ Seria∞ cablσ wa≤ madσ u≡ as:- theφá b∙á runninτ theφ ofµá thσá AmstraΣ
disk« Great!!
1 --> 1
Microbee 2 --> 3 Amstrad Ente≥ááá thσáá followinτááá datßááá int∩
25 pin D 3 --> 2 25 pin D SETDISK.WS╘áá usinτá Wordsta≥á iεáá Non-
(Male) 5 --> 20 (female) documen⌠áá modσá anΣá typσá SETDIS╦áá B║
7 --> 7 AMSTRA─á <cr╛ witΦ thσ 3ó drivσá pluggeΣ
20 --> 5 iε a≤ you≥ B║ drivσ anΣ ofµ yo⌡ go« Bes⌠
oµ luck.
2» M∙ frienΣ eventuall∙ bough⌠ ßá seconΣ ì
3ó drive« Thi≤ wa≤ ß selµ containeΣ uni⌠ *Amstrad 3" (40T, SS, DD, 169K) ì
anΣá saiΣ t∩ bσ pluτ compatiblσ witΦ ß ╡ 0,3,36,3,7,0,170,63,192,0,16,2 ì
1/4óá drive«á ╔ havσ dua∞á 3.5óá drives« 65,66,67,68,69,70,71,72,73 ì
Maybσá b∙á un-plugginτ m∙ B║á drivσá anΣ ì
plugginτá iε thσ 3ó drive¼á ╔ coulΣá usσ ZCPR2. Continued from page 5ì
BeeAlieε t∩ transfe≥ files«á Therσ i≤ aε ì
AmstraΣá 46┤á S╙á listeΣ oεá Men⌡á ▒á oµ Bu⌠ ╔ prefe≥ consisten⌠ accurac∙ eveε iµ ì
BeeAlieε «á Thi≤ proveΣ ver∙ successful« slower«á ╔á havσ ever∙ confidencσ iεá m∙ ì
╔á coulΣá no≈ transfe≥á file≤á bacδá anΣ ZCPR2« S∩ ╔ shal∞ pu⌠ thi≤ gooΣ versioε ì
fortΦ a⌠ supe≥ speeΣ b∙ writinτ directl∙ oµ ZCPR▓ oε thσ bulletiε board¼ ß SYSGE╬ ì
t∩á thσá disk«á ╔ coulΣ eveεá forma⌠á aε versioεá nameΣ ZCPR2G«á Thi≤ mean≤á tha⌠
AmstraΣá diskíá (Onσ smal∞ poin⌠ t∩ notσ yo⌡ ruε ZCPR2╟ a≤ pe≥ SYSGEN. This file
i≤ tha⌠ thσ pluτ froφ m∙ drivσ plug≤ anΣ thσ prograφ ZCPR2.CO═ arσ oε thσ RBBS
int∩ thσ 3ó drivσ up-side-down« I⌠ need≤ and on MBUG P.D. DISK 051.
ß littlσ forcσ t∩ ge⌠ i⌠ in«á N∩á damagσè ZCPR▓ Disδ Problem≤ oε thσ CIAB Competition entry B∙ Rober⌠ Munro
╔á haΣ m∙ Compute≥ upgradeΣ t∩á thσ devoteΣá t∩ this.⌐ Eventuall∙ ╔ go⌠ holΣ ì
CIA┬á earl∙á iεá '8╡ anΣá haΣá thσá CCP┌ oµ ZSID¼á anΣ morσ recentl∙ CEBU╟á whicΦ ì
versioε oµ CP═ unti∞ ╔ obtaineΣ ZCPR▓ iε i≤á ver∙ mucΦ better¼á particularl∙ wheε ì
Deπá 8╡ a⌠ ß timσ wheε ╔ haΣ haΣ m∙ CIA┬ i⌠ come≤ t∩ makinτ change≤ anΣá obtaineΣ ì
t∩á Microbeσ t∩ fi° thσ disk«á ╔á recal∞ ßá Z8░ listinτ oµ BIO╙ fo≥ botΦ thσ CCP┌ ì
no≈ tha⌠ righ⌠ froφ thσ firs⌠ a≤ ╔á madσ anΣá ZCPR▓ versions«á ╔ shoulΣ als∩á sa∙ ì
ßá securit∙ cop∙ oµ thσ disδ ╔ go⌠á disδ tha⌠ ╔ wa≤ als∩ giveε ß "newó versioε oµ ì
errors«á A≤ ß resul⌠ oµ thesσ continuinτ ZCPR▓á b∙ Microbeσ whicΦ oε thσá surfacσ ì
error≤á anΣ ß severσ dro≡ iεá confidencσ seemeΣá quitσá differen⌠ wheεá ╔á diΣá ß ì
iε thσ CIAB¼ ╔ haΣ thσ machinσ backward≤ compare« I⌠ turneΣ ou⌠ tha⌠ thσ BIO╙ haΣ ì
anΣá forward≤ t∩ Microbeσ oε quitσ ß fe≈ haΣá tw∩ instruction≤ addeΣ anΣ thi≤ haΣ ì
occasions« Eveε thσ machinσ the∙ len⌠ mσ pusheΣ ß lo⌠ oµ thσ memor∙ addresse≤á oµ ì
a⌠ onσ stagσ stil∞ gavσ problems«á ╔ wa≤ datßá u≡ b∙ tw∩ thu≤ givinτ thσá initia∞ ì
assureΣá a⌠á thσá timσá tha⌠á thσáá disδ impressioε oµ ß grea⌠ dea∞ oµ change. ì
controlle≥á haΣ beeε checkeΣ ou⌠ anΣ haΣ ì
beeεáá electricall∙á aligned«áá Iεáá thσ Bu⌠ ╔ aφ jumpinτ ahead«á Thσ firs⌠ thinτ ì
proces≤á ╔ thinδ almos⌠ ever∙á boarΣá iε t∩á d∩á wa≤ t∩ finΣ ou⌠á abou⌠á ho≈á thσ ì
thσá compute≥á wa≤ changed«á Al∞ t∩á n∩ operatinτáá systeφá wa≤á laiΣáá out«áá ╔ ì
avai∞á fo≥ thσ troublσ persisted«á S∩á ╔ recommenΣá DaviΣ Cortesi'≤ Insidσá CP/M« ì
wa≤á reluctantl∙á forceΣ bacδá t∩á usinτ AnΣá s∩ ╔ begaε t∩ worδ ou⌠ thσ logiπ oµ ì
CCP┌á witΦ whicΦ ╔ haΣ n∩á trouble«á Onσ thσ BIOS¼á it≤ routine≤ fo≥ gettinτ datß ì
ti≡ ╔ wa≤ giveε a⌠ thσ timσ tha⌠ ╔á pas≤ froφ thσ keyboard¼á sendinτ datß t∩á thσ ì
on¼ wa≤ tha⌠ turninτ thσ compute≥ oε anΣ screeεá anΣ printe≥ anΣ t∩ anΣ froφ disδ ì
ofµá witΦá thσ disδ stil∞ iεá ma∙á causσ drives«á Thi≤á wa≤ complicateΣ to∩, witΦ ì
disδ corruption« AnΣ i⌠ doe≤ too. havinτá t∩á worδá ou⌠á thσá relationshi≡
betweeε Microbee'≤ BIO╙ anΣ thσ routine≤
Oεá ßá visi⌠á t∩ Australbeσ ╔á wa≤á tolΣ iεá thσá Boo⌠á Roφ sincσ ╔ kne≈á i⌠á wa≤ ì
other≤ werσ havinτ difficult∙á too¼á bu⌠ possiblσ fo≥ thσ Monito≥ whicΦ i≤ iε thσ ì
i⌠á wa≤ believeΣ tha⌠ thσ late≥á versioε Boo⌠ Roφ t∩ d∩ disδ read≤ anΣ writes« Oµ ì
oµá ZCPR▓ fo≥ thσ StΣ » Premiuφ haΣ beeε coursσ sucΦ informatioε i≤ no⌠ document- ì
modifieΣ t∩ resolvσ this«á Unfortunatel∙ eΣ publically¼á despitσ somσ promise≤ iε ì
the∙á diΣá no⌠ havσ ß cop∙ oµ i⌠. Online«á ╔á manageΣ t∩ gaiεá informatioε
abou⌠áá littlσá bit≤á anΣá piece≤áá froφ
Bu⌠á ╔ reall∙ wanteΣ t∩ usσá ZCPR2«á Fo≥ article≤á al∞ ove≥ thσá place¼á anΣá wa≤ ì
onσ thinτ it≤ abilit∙ t∩ havσá B:,C║á o≥ fortunatσ t∩ ge⌠ ß cop∙ oµ thσ Dreamdisδ ì
D║ a≤ thσ alternativσ drivσ codσ anΣ fo≥ manua∞á froφ Tardi≤ whicΦ gavσ ß lo⌠á oµ ì
thσá correc⌠á onσá t∩ bσ askeΣá fo≥á wa≤ informatioε abou⌠ thσ Boo⌠ Rom. ì
wanteΣá (iε CCP┌ thi≤ wa≤á onl∙á correc⌠ ì
fo≥ C:)¼á a≤ wel∞ a≤ it≤ abilit∙ t∩ havσ S∩ bi⌠ b∙ bi⌠ ╔ endeΣ u≡ workinτ ou⌠ thσ ì
multiplσ command≤ oε onσ line« AnΣ therσ variou≤ routine≤ anΣ subroutine≤ oµ botΦ ì
was¼á ╔á dis-covered¼á ßá wholσ hos⌠á oµ BIOSs¼á ho≈á the∙ interacteΣ anΣ thσ usσ ì
program≤ oε SIG═ volume≤ 9╕ t∩ 108¼ 122¼ oµ thσ variou≤ datß location≤ tha⌠á werσ ì
124¼á 12╡ b∙ thσ autho≥ oµ ZCPR▓ tha⌠á ╔ used«á Eventuall∙á ╔á go⌠ t∩á thσá poin⌠ ì
expecteΣá woulΣ makσ m∙ machinσ huφ wheε wherσá ╔ discovereΣ thσ routine≤ tha⌠ d∩ ì
╔ pu⌠ i⌠ t∩ work. thσ blocδ reaΣ anΣ writσ routine≤ t∩ thσ
disk«á (B∙á thσ way¼á thσ Microbeσá BIO╙
Wel∞á Microbeσá a⌠ thσ timσá (earl∙á 86⌐ routine≤áá take≤á ßá 12╕á bytσáá record¼ ì
werσ oµ littlσ usσ witΦ stafµ tellinτ mσ usuall∙á froφ thσ BDOS¼á anΣ replace≤ o≥ ì
tha⌠á querie≤á sen⌠ t∩ Sydne∙á werσá no⌠ read≤ i⌠ ou⌠ oµ ß 51▓ bytσ blocδ tha⌠ i≤ ì
answered«á The∙ suggesteΣá writing¼á bu⌠ actuall∙áá writteεá physicall∙á t∩áá thσ ì
magazinσá article≤ werσ sayinτ tha⌠ mai∞ disk.⌐á No≈ ╔ haΣ t∩ discove≥á wha⌠á wa≤ ì
wa≤á no⌠ answered«á S∩ m∙ onl∙á solutioε goinτá oε witΦ thσ variou≤ call≤ t∩á thσ ì
wa≤á t∩á finΣ ou⌠ fo≥á myselµá wh∙á CCP┌ differen⌠ ports« Anothe≥ fortunatσ even⌠ ì
worked¼á bu⌠á no⌠ ZCPR2«á S∩ thσ tasδ oµ fo≥ mσ a⌠ thi≤ timσ wa≤ t∩ joiε MBU╟ anΣ ì
trackinτ dowε ß disassemble≥ fo≥ thσ Z8░ therσá ╔á wa≤ tolΣ tha⌠ thσ CIA┬ useΣá ß ì
wa≤ theε requireΣ sincσ DD╘ onl∙ decodeΣ Westerε Digita∞ 279│ controlle≥á betweeε ì
808░á code«á (┴ wholσ articlσá coulΣá bσ thσá compute≥ anΣ thσ actua∞ disδ drive« ìèWel∞á wherσ t∩ obtaiε thi≤á information« warφ anΣ colΣ boo⌠ work¼á anΣ wha⌠ SETU╨ ì
Workinτá a⌠á ßá TAF┼á collegσá ╔á fisheΣ doe≤ wheε yo⌡ pla∙ arounΣ witΦ warφá anΣ ì
arounΣá iεá thei≥ librar∙á anΣá founΣá ß colΣá restar⌠ instructions«á ╔ havσ als∩ ì
descriptioεá oµ aε earlie≥ WD-177▒á ver- haΣ t∩ understanΣ thσ decodinτ anΣ logiπ ì
sioεá anΣ aε articlσ iε Bytσ Ma∙á 8░á oε tha⌠á goe≤ int∩ thσ usσ oµ ske≈á a≤á thσ ì
ho≈á sucΦá ß controlle≥ i≤á used«á Amonτ block≤ arσ physicall∙ storeΣ oε thσ disδ ì
othe≥ things¼ i⌠ talkeΣ abou⌠ item≤ sucΦ (thσá CIA┬á store≤ thi≤á permanentl∙á iε ì
a≤ Seek¼ Step¼ thσ usua∞ ReaΣ anΣ Write¼ BIO╙ rathe≥ thaε takinτ i⌠ froφ disk). ì
HeaΣá Load¼á Steppinτá Rates¼á anΣá HeaΣ ì
Settlinτá Time«á Wa≤ i⌠ exactl∙ thσ samσ Beinτ iε thσ cluΓ ╔ havσ sincσ go⌠á holΣ ì
a≤ tha⌠ useΣ oε thσ Microbee┐á Wel∞ froφ oµá thσ WD-279│ datß shee⌠ anΣ ╔ caε no≈ ì
wha⌠á ╔ coulΣ makσ ou⌠ froφ thσ codσá i⌠ sa∙ tha⌠ thσ probleφ i≤ iε thσ wa∙á tha⌠ ì
seemeΣ somewha⌠ similar«á Bu⌠ therσá wa≤ thσá tw∩á version≤ g∩ abou⌠á positioninτ ì
somσ doubt«á Wa≤ i⌠ electrica∞ o≥ code? thσ head≤ oε thσ disk«á CCP┌ issue≤á onσ
Seeδá commanΣ t∩ movσ thσ heaΣ froφá onσ
B∙á thi≤á timσ ╔ haΣ decodeΣá enougΦá oµ tracδ t∩ anothe≥ wherea≤ ZCPR▓ step≤ thσ ì
CCP┌á anΣ ZCPR▓ t∩ seσ tha⌠ iε onl∙á onσ heaΣ acros≤ thσ disδ onσ tracδ a⌠ ß timσ ì
placσáá wa≤áá therσá ßá grea⌠á dea∞áá oµ witΦá ßá combinatioε oµ timσá loop≤á anΣ ì
differencσ iε thσ code¼á difference≤á iε test≤áá oεá thσá controlle≥á fo≥áá read∙ ì
thσá instruction≤ tha⌠ werσ sen⌠ t∩á thσ status«á WitΦá ZCPR▓ thσ erro≥ seem≤á t∩ ì
ports«á I⌠á wa≤á ßá smal∞á routinσá tha⌠ occu≥ mostl∙ wheε thσ heaΣ ha≤ t∩ movσ ß ì
containeΣá mos⌠ oµ thσ por⌠ acces≤ prio≥ lonτá way«á Thσ erro≥ oε thσ disδ caε bσ ì
t∩á actuall∙ readinτ o≥á writing«á Sincσ thσá corruptioε oµ marker≤ oµá followinτ ì
thσá remainde≥á oµá thσá codσá fo≥á disδ block≤á o≥á thσ writinτ oµá ßá blocδá oµ ì
acces≤á wa≤ s∩ simila≥ ╔ wa≤á surσá tha⌠ constant≤á tha⌠ arσ associateΣ witΦ disδ ì
thi≤á haΣá t∩ bσ thσ area«á S∩ ╔ tooδá ß instructions¼ i.e« nothinτ likσ thσ datß ì
pun⌠á anΣ replaceΣ thσ codσ tha⌠ wa≤á iε yo⌡á expec⌠á t∩ seσ iεá thσá block«á Thσ ì
ZCPR▓ witΦ tha⌠ froφ CCPZ«á ╔ pu⌠ iε thσ reall∙ interestinτ par⌠ oµ thσá exercisσ ì
modification≤á anΣ trieΣ i⌠á out«á Firs⌠ wa≤á t∩á ge⌠ ß situatioε tha⌠á coulΣá bσ ì
timσá ╔ hearΣ ßá grindinτá chatter«á Oh¼ reproduceΣáá almos⌠á ever∙á time«áá Thi≤ ì
therσá goe≤á m∙á disδ head≤á ╔á thought« daunteΣá mσ fo≥ ß whilσ fo≥ thσá probleφ ì
Microbeσá haΣá tolΣ mσ abou⌠á head≤á anΣ onl∙á seemeΣá t∩á occu≥á oεá ver∙á largσ ì
drive≤ the∙ haΣ haΣ t∩ fi° wheεá someonσ files« Bu⌠ ╔ wa≤ fortunatσ wheε onσ da∙ ì
haΣá trieΣ t∩ pu⌠ variou≤ drive≤ oεá anΣ ╔ go⌠ thσ conditioε t∩ occu≥ 90Ñ oµá thσ ì
diΣ no⌠ kno≈ wha⌠ the∙ werσ doing« ╔ hi⌠ timσ oε ß smal∞ file. ì
RESE╘áá anΣá trieΣá ou⌠á m∙á drivσá - i⌠ ì
worked«á Bu⌠á ╔ wa≤ als∩ mindfu∞ oµá thσ Therσ i≤ thσ rumo≥ arounΣ tha⌠ thσ ZCPR▓ ì
stor∙ oµ thσ mainframσ compute≥ operato≥ versioεá fo≥ thσá Standard/Premiuφá doe≤ ì
wh∩á becausσá therσ haΣ beeεá ßá probleφ no⌠á havσ thi≤ problem«á ╔ caε sa∙á witΦ ì
witΦá ßá particula≥ disδá oεá ßá certaiε certaint∙áá tha⌠áá i⌠á stil∞á ha≤áá thi≤ ì
drivσá haΣ trieΣ ou⌠ anothe≥ disδ oε thσ problem« Afte≥ gettinτ ß copy¼ ╔ though⌠ ì
samσ drivσ iε orde≥ t∩ ge⌠ ß latσá nigh⌠ tha⌠ rathe≥ thaε havσ Microbeσ refusσ t∩ ì
joΓ done«á Tha⌠ diΣ no⌠ quitσ worδ s∩ hσ looδá a⌠ thosσ wh∩ ma∙ usσ m∙ change≤á ╔ ì
trieΣ anothe≥ disk«á Hσ endeΣ u≡ ruininτ woulΣ usσ thi≤ version« Withiε │ day≤ i⌠ ì
threσá o≥ fou≥ disk≤ becausσ i⌠ wa≤á thσ starteΣ t∩ givσ corrupteΣ file≤ anΣ theε ì
drivσá head≤ tha⌠ werσá faulty¼á gouginτ ╔á go⌠ onσ whicΦ wa≤ fairl∙á consistent« ì
ou⌠á track≤ oε thσ disk«á S∩ i⌠ wa≤á fo≥ M∙ versioε gavσ n∩ problem«á B∙ thσ way¼ ì
somσá timσá tha⌠á ╔ useΣ m∙á disk≤á witΦ apar⌠á froφ thσ log∩ oε colΣá boot¼á thσ ì
trepidation«á Fortunatel∙ therσ wa≤á n∩ onl∙ differencσ iε thσ StΣ /Premiuφ BIO╙ ì
apparen⌠áá damagσá fo≥á ╔á havσá haΣá n∩ wa≤á aε increasσ iε ß timinτá loop¼á onσ ì
probleφ witΦ m∙ disk≤ since«á ╔á checkeΣ instruction¼ froφ thσ othe≥ ZCPR2. ì
ou⌠á m∙á modification≤á - ╔ haΣá madσá ß ì
mistakσá anΣá thi≤ destroyeΣ datßá iεá ß Therσá i≤á jus⌠ onσá drawback¼á m∙á mod- ì
register« CorrecteΣ i⌠ workeΣ finσ anΣ ╔ ification≤á givσ thσ samσ disδ speeΣá oµ ì
havσ haΣ no¼ ye≤ ╔ meaε N╧ problem≤ witΦ CCPZ«áá ZCPR▓á wa≤á approximatel∙áá 30Ñ ì
m∙ disk≤ o≥ corrup⌠ datß fo≥ si° months. quicke≥á wheε usinτ FINDBA─ t∩ checδ ou⌠
ß disk«
Alonτá thσá wa∙ ╔á havσá discovereΣá ho≈ ì
SYSGE╬ anΣ thσ systeφ track≤ work¼ ho≈ ß Continued on page 3 ìè DISKNUM.C by Simon Gerraty member (145)
Competition entry.
Ever∙ no≈ anΣ then¼ ╔ ge⌠ sicδ oµ thσ mess¼ anΣ ╔ ge⌠ organised« Thσ othe≥ ì
nigh⌠ ╔ decideΣ ╔ hadn'⌠ catalogueΣ m∙ disk≤ fo≥ ß lonτ time« Mos⌠ ì
catalogueinτ utilitie≤ requirσ eacΦ disδ t∩ havσ ß uniquσ identifie≥ ì
filenamσ sucΦ a≤ - DISK.00▒ wherσ thσ numeriπ a⌠ thσ enΣ i≤ thσ significan⌠ ì
part« Anyway¼ a≤ alway≤ happen≤ wheε ╔ wan⌠ t∩ ge⌠ organiseΣ anΣ cataloguσ ì
m∙ disks¼ ╔ finΣ a⌠ leas⌠ halµ ß dozeε o≥ s∩ tha⌠ ╔ havσ no⌠ ye⌠ giveε ß ì
disδ numbe≥ to« No≈ ╔ kno≈ thσ res⌠ oµ yo⌡ havσ somσ ver∙ simple¼ wel∞ ì
organiseΣ methoΣ oµ keepinτ tracδ oµ wha⌠ number≤ yo⌡ havσ alread∙ used¼ ╔ ì
haven't¼ o≥ rathe≥ ╔ didn't.
Sincσ thσ catalogueinτ prograφ ╔ usσ (NCAT.COM⌐ include≤ ß lis⌠ oµ thσ freσ ì
spacσ oε eacΦ disδ a⌠ thσ star⌠ oµ thσ outpu⌠ filσ MAST.CAT¼ ╔ thought¼ ╔ ì
coulΣ simpl∙ looδ a⌠ thσ number≤ iε thi≤ sectioε anΣ 'seeº thσ one≤ no⌠ ye⌠ ì
used« No⌠ quitσ tha⌠ easy« Thσ lis⌠ isn'⌠ sorted¼ anΣ i⌠ i≤ ß bi⌠ harΣ t∩ ì
spo⌠ thσ patterε iε ß randoφ listí S∩ ╔ wrotσ ß littlσ tool¼ mainl∙ becausσ ì
╔ wa≤ bored«
DISKNUM.├ read≤ file▒ (eτ MAST.CAT⌐ anΣ produce≤ ß numericall∙ sorteΣ lis⌠ ì
oµ thσ disδ name≤ therein¼ i⌠ print≤ theφ iε file▓ witΦ ß blanδ linσ ì
indicatinτ gap≤ iε thσ sequencσ oµ useΣ numbers.
for example it takes...
(L.COM
SW.COM)
++++2k.FRE,C.002
++++4k.FRE,TEST.050
+++22k.FRE,SYSTEM.001
+++24k.FRE,BAS/ASM.004
+++24k.FRE,DISK.010
+++28k.FRE,DISK.053
+++28k.FRE,PAS.003
+++30k.FRE,DISK.052
...etc
and produces ......
0 SYSTEM.001
1 C.002 Now it is much
2 PAS.003 easier to see
3 BAS/ASM.004 un-allocated
numbers.
4 SYS.009
5 DISK.010
6 TEST.050
7 DISK.052
8 DISK.053
9 DISK.054
Herσ i≤ thσ prograφ listinτ fo≥ thσ benefi⌠ oµ an∙ buddinτ ├ programmers« ì
witΦ lot≤ oµ /¬ comment≤ *» delimiteΣ b∙ /¬ anΣ *» ╔ havσ removeΣ mos⌠ oµ ì
thσ blanδ line≤ s∩ a≤ no⌠ t∩ takσ u≡ to∩ mucΦ space« Als∩ thσ comment≤ ì
clutte≥ i⌠ u≡ ß bit« ├ i≤ freσ form¼ onσ caε havσ a≤ mucΦ (o≥ little⌐ whitσ ì
spacσ a≤ desired¼ witΦ thσ aiφ usuall∙ t∩ presen⌠ clea≥ readablσ code« Thσ ì
origina∞ listinτ shoulΣ bσ oε thσ RBB≤ somewhere.è/* DISKNUM.C 87-05-21 by Simon Gerraty
* This program will read a file such as MAST.CAT produced by ncat.com,
* and produce a numerically sorted list of disk names
*/
#include <local.h>
/* local.h contains the following commonly used #include directives
#include <stdio.h>
#include <cpm.h>
#include <ctype.h>
* commonly used #defines
#define TRUE 1
#define FALSE 0
#define uchar unsigned char
/* CONTROL CODES FOR ADM-3A recognised by MICROBEE */
#define bel() putchar('\007') /* Ring bel, what else? */
#define cls() putchar('\032') /* Clear Screen & Home */
#define home() putchar('\036') /* Home Cursor */
#define curup() putchar('\013') /* Cursor up one line */
#define curdn() putchar('\012') /* Cursor down one line */
#define curlef() putchar('\010') /* Cursor left one char */
#define currit() putchar('\014') /* Cursor right one char */
* end of local.h
*/
/*
* defines here help make changes easier and help remove 'magic numbers' from
* the rest of the program
*/
#define PROGNAME "DiskNum"
#define VER "1"
#define SUBVER "01"
#define DATE "22-May-87"
#define COPYRIT "Copyright (C) 1987, Simon Gerraty"
#define PURPOSE ""
#define MAX 128
#define MAX_MISS 60
/¬ globa∞ variable≤ (thosσ defineΣ outsidσ oµ an∙ function⌐ arσ no⌠ ì
* generall∙ gooΣ practice« function≤ shoulΣ bσ writteε sucΦ tha⌠ all
¬ value≤ the∙ carσ abou⌠ arσ eithe≥ handeΣ t∩ theφ a≤ arguments¼ o≥ ì
* generateΣ internally« Seσ fo≥ examplσ strcspn(⌐ a⌠ thσ enΣ oµ the
* listing. Functions written this way can be compiled, stored in a
* library and never looked at again, yet they are available as building
* blocks for other programs. Anyway globals are bad news, but I am
* lazy, so I use them for flags etc.
*/
static char dbug = FALSE;
static char verbose = FALSE;
static char ascending = TRUE;
/¬ eacΦ ├ functioε i≤ defineΣ witΦ aε argumen⌠ lis⌠ betweeε ()s« Man∙ ì
¬ function≤ havσ n∩ argument≤ eτ foo()« Ever∙ prograφ ha≤ ß functioε ì
¬ main(⌐ whicΦ ha≤ tw∩ arguments« Arg÷ i≤ aε arra∙ oµ pointer≤ t∩ thσ ì
¬ strinτ argument≤ (supplieΣ oε thσ commanΣ line)« Argπ i≤ aε intege≥ anΣ ì
* i≤ equa∞ t∩ thσ numbe≥ oµ argument≤ pointed to by argv
*/
main(argc, argv)
int argc;
char *argv[];
{
/*
* all variables that will be used in this function must be declared è * before use. NOTE: that functions that return other than ints must
* also be declared before use - or the compiler will tell you about it!
*/
char *malloc(), *s, *ln, *l;
char finished, changed, *fgets();
FILE *fopen(), *inpfp, *outfp;
short n, m, i, cnt, iter;
char *inf, *outf, *line[200];
/* announce ourselves to the world */
signon();
/* process any flags on the command line */
while (--argc > 0 && (*++argv)[0] == '-')
{
s = argv[0]+1;
switch (*s)
{
case 'R':
ascending = FALSE;
break;
case 'V':
verbose = TRUE;
break;
case 'D':
dbug = TRUE;
break;
default:
fprintf(stderr, "%s: illegal option %c\n", PROGNAME, *s);
break;
}
}
/* restore argc & argv to compensate for while() above */
argc++;
argv--;
/* if we have not got the right number of arguments then die! */
if (argc < 3)
usage();
/* open the files we need be sure that all goes well */
if ((inpfp = fopen((inf = *++argv), "r")) == (FILE *)NULL)
errexit(1, "can't open input file");
if ((outfp = fopen((outf = *++argv), "w")) == (FILE *)NULL)
errexit(1, "can't open output file");
if (verbose)
printf("Scanning Input file %s\n", inf);
cnt = iter = 0;
finished = FALSE;
while (!(finished))
{
ln = malloc(MAX);
/* allocate memory for the next input line */
l = fgets(ln, MAX, inpfp);
if ((m = strtest(ln, ".FRE"))) /* test if it's one we want */
{
finished = FALSE;
/* we are only interested in the part after the ',' */
m = strcspn(ln, ",");
/* move the pointer to just after the ',' */
ln += ++m;
line[i++] = ln;
/¬ line[▌ i≤ aε arra∙ oµ pointer≤ t∩ cha≥ string≤ herσ wσ pu⌠ ß pointe≥ toè ¬ thσ curren⌠ linσ (ln⌐ int∩ thσ array« Usinτ thσ arra∙ oµ pointer≤ wil∞ ì
* make sorting much more simple - as we shall see.
*/
}
else
if (cnt++ > MAX_MISS)
finished = TRUE;
/¬ sincσ wσ kno≈ tha⌠ thσ line≤ wσ wan⌠ arσ ß contiguou≤ blocδ tha⌠ may
¬ havσ aε exceptioε lis⌠ beforσ it¼ wσ allo≈ t∩ reaΣ MAX_MIS╙ line≤ tha⌠ ì
¬ d∩ no⌠ mee⌠ ou≥ criteriß beforσ stopping« afte≥ al∞ wσ don'⌠ wan⌠ t∩ ì
* reaΣ all of an 80k catalogue file!
*/
}
/* close the input file, since we are finished with it */
fclose(inpfp);
/* if we think we read more than 200 lines with .FRE in them, then
* something probably went wrong - in any case we have not allowed for
* sorting more than 200 names, so exit gracefully!
*/
if ((m = --i) > 200)
errexit(1, "$&'#)$(! I don't understand it!");
if (verbose)
printf("OK, Now sorting the list of names\n");
/¬ no≈ wσ wan⌠ t∩ sor⌠ ou≥ lis⌠ oµ names¼ whicΦ remembe≥ arσ pointeΣ t∩ b∙ ì
¬ thσ arra∙ oµ pointer≤ line[]« Generall∙ thσ algorithφ useΣ wil∞ takσ ì
* les≤ thaε ε iteration≤ t∩ sor⌠ ε items« S∩ wσ continuσ t∩ shufflσ thσ ì
* lis⌠ whilσ wσ detec⌠ tha⌠ i⌠ i≤ changing¼ anΣ whilσ thσ numbe≥ oµ ì
¬ iteration≤ i≤ les≤ thaε 2*n« Thσ followinτ code¼ passe≤ pointer≤ to
* two successive pointers in the array line[] to the function swap().
¬ Wσ pas≤ pointer≤ t∩ pointer≤ s∩ tha⌠ swap(⌐ caε 'swapº theφ iµ required« ì
¬ Iε ├ thσ onl∙ wa∙ fo≥ ß calleΣ functioε t∩ affec⌠ an∙ object≤ (eτ ì
¬ variables⌐ othe≥ thaε global≤ o≥ one≤ loca∞ t∩ thσ calleΣ function¼ i≤ ì
* iµ i⌠ i≤ passeΣ pointer≤ t∩ thσ objects.
*/
/* be sure to set the initial condition for the while loop */
changed = TRUE;
while ((changed) && iter++ < (m 2))
{
changed = FALSE;
for (i=0; i < m; i++)
if ((n = swap(&line[i], &line[(i + 1)])) == TRUE)
changed = TRUE;
}
if (verbose)
printf("Finished! %d sorted in %d iterations\n", m, iter);
fprintf(outfp, "List of disk names from %s\n\n", inf);
for (i = 0; i <= m; i++)
{
/* C has no built in IO support, but standard library functions such as
* printf() and fprintf() allow very sophisticated output formatting.
*/
fprintf(outfp, " %2d\t%15s", i, line[i]);
/* if there is a gap in the numeric sequence between i and (i+1) then
* print a blank line
*/
if ((n = isgap(line[i], line[(i + 1)])) == TRUE)
fprintf(outfp, "\n");
}
/* now close the output file 'cos we're nearly done! */è fclose(outfp);
} /* end of function main() */
/* now the functions called in main must be supplied, either in this
* file or in others which will be compiled separately and 'linked' with
* the compiled code from this file.
*/
/* swap() takes 2 pointers to pointers, compares the contents of the
* strings they point to, and swaps them (the pointers) if the strings
* are out of sequence. The strings always remain in the memory to which
* they were read, and the pointers (which will control the order in
* which the strings are printed) are moved about. Shuffling two byte
* pointers is a lot quicker (and easier) than shuffling 80 character
* strings!
*/
swap(s1, s2)
char **s1, **s2;
{
char swp, *tmp;
short n1, n2;
n1 = value(*s1);
n2 = value(*s2);
if (n1 > n2)
swp = (ascending) ? TRUE : FALSE;
else
swp = (ascending) ? FALSE : TRUE;
if (swp)
{
tmp = *s1;
*s1 = *s2;
*s2 = tmp;
n1 = TRUE;
}
/* let the calling function know whether we swapped or not */
return(swp);
}
/* isgap() takes two string pointers, and checks whether the gap
* between them is not more than one.
*/
isgap(s1, s2)
char *s1, *s2;
{
short n1, n2;
n1 = value(s1);
n2 = value(s2);
if (ascending)
n1 = (++n1 < n2) ? TRUE : FALSE;
else
n1 = (n1 > ++n2) ? TRUE : FALSE;
return(n1);
}
/* take a string, find the numeric bit at the end,
* and return it as an int
*/
value(s)
char *s;
{
short l;
s += (l = strcspn(s, ".")); /* skip over everything */
l = atoi(++s); /* upto and including the '.' */è return(l);
}
/* the name says it all! */
signon()
{
fprintf(stderr, "\n\n%s V%s.%s %s", PROGNAME, VER, SUBVER, DATE);
fprintf(stderr, " %s\n%s\n\n", COPYRIT, PURPOSE);
}
/* same here */
usage()
{
bel();
fprintf(stderr, "\nUsage:\t\t%s ", PROGNAME);
fprintf(stderr, "<input file> <output file>");
exit(1);
}
/* this one is really only useful in environments which support multi-
* tasking, and/or spawned processes eg Unix, MS-DOS etc The idea is to
* allow the program to exit with a return code that will signal to the
* parent process, whether things worked ok or whether
* it died with it's leg in the air.
*/
errexit(l, s)
short l;
char *s;
{
fprintf(stderr, "%s: %s\n", PROGNAME, s);
exit(l);
}
/* test s1 for the presence of s2
*/
strtest(s1, s2)
char *s1, *s2;
{
char c;
short l, i = 0;
l = strlen(s2);
while ((c = *s1++) && i < l)
{
if (c == s2[i])
i++;
else
i=0;
}
return((i < l) ? FALSE : TRUE); /* did we find it or not? */
}
/¬ returε thσ lengtΦ oµ thσ 1s⌠ spaε oµ s▒ tha⌠ contain≤ nonσ oµ thσ ì
¬ char≤ iε s2« Thi≤ functioε woulΣ normall∙ bσ writteε fo≥ performancσ ì
* anΣ placeΣ iε a library, and never looked at again!
*/
strcspn(s1, s2) | c = s1[l++];
char *s1, *s2; | for (i=0; i < strlen(s2); i++)
{ | if (c == s2[i])
char c, finished; | finished = TRUE;
short i, l = 0; | }
finished = FALSE; | return(--l);
while (!(finished)) | }
{ | /* That's all folks! */
è BASLORES.BAS and MAC. Competition entry By BY MARK BISHOP
10 'BASLORES.BAS BY MARK BISHOP 21/6/86
20 'LORES GRAPHICS FOR MBASIC 80 AND MICROBEE COMPUTER
40 'MICROSOFT BASIC 80, MBASIC.COM DOES NOT HAVE ANY GRAPHICS.
NOW YOU CAN USE MICROBEE/TANDY TRS-80 LORES GRAPHICS.
50 'ADD THIS TO THE START OF YOUR PROGRAM, PRIOR TO USING LORES GRAPHICS.
VARIABLES USED ARE W,X,Y,Z$, WHICH CAN BE RE-USED AFTER THE USR CALL.
60 'MACHINE CODE IS LOADED INTO A STRING, SO NO MEMORY HAS TO BE RESERVED.
70 'LORES CHRS 128-191 ARE AVAILABLE, WITH 192-255
AVAILABLE FOR OTHER PCG CHRS, 11 BYTES/CHARACTER.
90 FOR W=1 TO 53: READ X: Y=Y+X: Z$=Z$+CHR$(X): NEXT W
100 IF Y <> 4692 THEN PRINT "DATA ERROR": END
110 DEF USR0=PEEK(VARPTR(Z$)+1)+256*PEEK(VARPTR(Z$)+2)
120 X=USR(0)
130 'DELETE LINE 140, FOR DEMO ONLY
140 FOR X=128 TO 191:PRINT X;"=";CHR$(X);" ";:NEXT X
150 END
160 DATA 33,0,248,14,192,89,22,3,175,203,67,40,2,246,240,203
170 DATA 75,40,2,246,15,203,66,32,4,6,3,24,2,6,4,119
180 DATA 35,16,252,203,11,203,11,21,32,222,175,6,5,119,35,16
190 DATA 252,12,32,209,201
200 'END OF PROGRAM BASLORES.BAS
;BASLORES.MAC SOURCE FILE FOR BASLORES.BAS BY MARK BISHOP v21/6/86.
;LOADS MICROBEE/TANDY TRS-80 LORES GRAPHICS ;INTO PCG, FOR USE UNDER
;MICROSOFT BASIC 80, MBASIC.COM WITH 24 LINE SCREEN
;EACH PCG CHR HAS 11 BYTES, ;c/w MW BASIC 16.
;BYTES 12-16 ARE UNUSED. LORES GRAPHICS ARE 3 ROWS * 2 COLUMNS.
; -----------------
; | bit 0 | bit 1 | EACH 'BOX' IS SET IF THE
; |---------------| BIT IN THE CHR NO. IS
; | bit 2 | bit 3 | ALSO SET. BIT 6 IGNORED,
; |---------------| BIT 7 ALWAYS SET.
; | bit 4 | bit 5 |
; -----------------
;ROWS 1/3 IN PCG CHR= 4 BYTES, ROW 2= 3 BYTES.
.z80
org 100h ;RELOCATEABLE
;
PCGRAM EQU 0F800H ;START OF PCG RAM
LD HL,PCGRAM
LD C,0C0H ;FOR CHRS 128-191
;CHANGE TO 80H TO REPEAT GRAPHICS IN CHRS 128-255
;
LP1: LD E,C ;ONLY BITS 0-5
;AFFECT CHR
LD D,03H ;COUNTER. 3 ROWS
LP2: XOR A ;A=NEXT PCG BYTE
BIT 0,E
JR Z,LP3 ;IF BIT 0 SET,
OR 0F0H ;SET LEFT COLUMN
LP3: BIT 1,E
JR Z,LP4 ;IF BIT 1 SET,
OR 0FH ;SET RIGHT COLUMN
LP4: BIT 0,D ;ROW 1 OR 3 ?
JR NZ,LP5 ;YES, JR
LD B,3 ;ROW 2 HAS 3 BYTES
JR LP6èLP5: LD B,4 ;ROW 1/3, 4 BYTES
LP6: LD (HL),A ;CHR BYTES TO PCG
INC HL
DJNZ LP6 ;LOOP TILL DONE.
RRC E ;READY TO TEST NXT
RRC E ;TWO BITS IN CHR.
DEC D ;CHR FINISHED ?
JR NZ,LP2 ;NO, JR
XOR A ;ZERO A
LD B,5 ;FILL LINES 12-16
LP7: LD (HL),A ;OF PCG CHR WITH 0
INC HL
DJNZ LP7 ;LOOP TILL DONE
INC C ;ALL CHRS FINISHED ?
JR NZ,LP1 ;NO, JR
RET ;YES, RET
;
END
MBASCURS.BAS By Mark Bishop
Competition entry.
64730 'MBASCURS.BAS - CALCULATE MBASIC CURSOR POSITIONS.
64740 'Mark Bishop 4/87
64750 '
64760 'MBASIC cursor commands are not exactly easy to use in a program.
64770 'Put this S/R in your program, and either make 'A' = single cursor
64780 'position, or 'B' and 'C' = line and column number, then
64790 'GOSUB 65020 or 65040 as applicable. Change variable names as required.
64800 'save this program with ASCII option eg. SAVE "MBASCURS",A
64810 'so you can merge it with your programs.
64820 'Then delete lines 64730-64990, which are for demo only.
64830 '
64840 'calculate MBASIC cursor positions from a single cursor position.
64850 PRINT CHR$(26);:' CLS
64860 INPUT "PRINT @ ";A%: 'single number cursor position starting at 0.
64870 PRINT CHR$(26);
64880 GOSUB 65020 :'convert curser position
64890 PRINT "*"
64900 END
64910 '
64920 REM calculate MBASIC cursor positions from line and column number
64930 PRINT CHR$(26);
64940 INPUT "COLUMN, LINE ";C%,B%: C%=C%-1: B%=B%-1 :'columns/lines start at 1.
64950 PRINT CHR$(26);
64960 GOSUB 65040 :'convert column and line position
64970 PRINT "*"
64980 END
64990 '
65000 'Cursor subroutine
65010 'change 80 to 64 for TRS-80 or Microbee 64 column screen
65020 B%=INT(A%/80) :'line number. entry point for single cursor position A%
65030 C%=A%-(B%*80) :'column number
65040 PRINT CHR$(27);"=";CHR$(32+B%);CHR$(32+C%);:'entry for line B%, column C%
65050 RETURN
65060 'end of listing
è
**********************************************************************
MBU╟áAUSTRALI┴áINCORPORATE─ ì
NOTICE OF ANNUAL GENERAL MEETING
Thσá2nΣáAnnua∞áMeetinτáoµ MBU╟áAUSTRALI┴ INCORPORATED
will be held on Wednesday 12th Aug. 1987 at 7.30pm at
Mount Waverley Community Centre
Miller Crescent, Mount Waverley
(Melway Map Ref 70E1)
AGENDA
1. President's Report.
2. Consideration of Financial statement persuant to
section 30 of the Associations Incorporation Act 1981.
3. Election of Office Bearers.
4. Consideration of any business which in accordance
with the rules may be brought before the meeting.
**********************************************************************
**********************************************************************
MBU╟áAUSTRALI┴áINCORPORATE─ ì
NOMINATION FORM
We, the undersigned, being financial members of MBUG AUSTRALIA INC,
hereby nominate __________________________________________
for the position of _______________________________________ (*)
Name of Proposer ________________________ Signature__________________
Name of Seconder ________________________ Signature__________________
I¼á ___________________________________________¼á thσ persoε nominateΣ ì
hereiεá agreσ t∩ accep⌠ thi≤ nominatioε and¼á iµ electeΣ wil∞ abidσ b∙ ì
thσ rule≤ oµ thσ Association.
Signature__________________
(*⌐ Nomination≤ arσ calleΣ fo≥ President¼á Vicσ President¼ Secretary¼ ì
Treasurer and nine (9) committee.
**********************************************************************
Nomination≤á shoulΣá bσ posteΣ t∩ "Thσ Secretaryó MBU╟á AUSTRALI┴á IN├ ì
P.O«á BO╪ 15╖ NUNAWADING«á Vic« 313▒ n∩ late≥ thaε 5tΦ Augus⌠ 1987¼ o≥ ì
delivered to the Secretary before that date.
è WORDBEE versus SIMPLY WRITE
A. E. Allison, Membership No. 1046. Competition Entry
SIMPL┘á WRIT┼ wa≤ supposeΣ t∩ bσ aε thσ initialisatioε section«á Oncσ ╔á haΣì
improvemen⌠á oε WORDBEE«á Bu⌠ - wa≤á it┐ donσá that¼á therσ wa≤ n∩ rooφ lef⌠á fo≥ì
Froφá m∙ experiencσ ╔ mus⌠ sa∙á tha⌠á i⌠ anythinτá else¼á a≤á wil∞á bσá explaineΣì
wa≤á no⌠á wha⌠ coulΣ havσ beeεá expecteΣ furthe≥ on. ì
froφá thσ articlσ iε thσ Septembe≥á 198╢ ì
issuσ oµ ON-LIN┼ oncσ ╔ haΣ workeΣá witΦ Thσ SEARC╚ versu≤ REPLAC┼ featurσ leave≤ì
i⌠ fo≥ ß while«á I⌠ ma∙ bσ powerful¼ bu⌠ mucΦáá t∩á bσá desired¼áá despitσáá somσì
wh∩á need≤á al∞ thosσ feature≤á al∞á thσ additiona∞ possibilitie≤ t∩ thosσ oµ thσì
timσá iεá lie⌡ oµ urgentl∙á needeΣá worδ WORDBEE«á Fo≥á instance¼á ╔ caε worδ thσì
space┐áá I⌠áá appear≤á t∩á bσá rathe≥á ß SEARC╚ versu≤ REPLAC┼ featurσ easie≥ anΣì
supplemen⌠áá t∩á thσá WORDBE┼á thaεáá aε faste≥ iε WORDBE┼ thaε iε SIMPL┘á WRITE«ì
improvement«á Somσá usefu∞ feature≤á arσ Thσá lengtΦá oµ thσ linσ iεá thσá SEARC╚ì
onl∙á availablσ iεá SIMPL┘á WRITE¼á somσ versu≤á REPLAC┼ featurσ i≤ fa≥ to∩ shor⌠ì
onl∙ iε WORDBEE. - i⌠á ha≤á ß reasonablσá lengtΦá iεá thσ
WORDBEE«á Besides¼ thσ WORDBE┼ work≤ thσ
Fo≥á thi≤á articlσ ╔ havσ beeεá usinτá ß modσ iε thσ winδ oµ aε eye¼á witΦ SIMPL┘ì
128δá machine¼á ßá SIMPL┘ WRIT┼á prograφ WRIT┼ ß lonτ dela∙ i≤ incurred. ì
versioεá 2.01¼á anΣ havσ jus⌠á converteΣ ì
thi≤á articlσ bacδ t∩ WORDBE┼á sincσá i⌠ Wheεá addinτ o≥ changinτ ß worΣ witΦ thσì
proveΣá t∩ bσ morσ suitablσ fo≥ easσá oµ SEARCH-versus-REPLAC┼ feature¼á thσ linσì
worΣ processing«á I⌠ tooδ mσ abou⌠ threσ lengtΦá i≤ no⌠ automaticall∙á readjusteΣì
hour≤á anΣá thσ remova∞ oµ morσá thaεá ß a≤á iε thσ WORDBEE«á A≤ ╔ diΣ ßá lo⌠á oµì
thousanΣ EO╠ anΣ EO╫ markers. correction≤ anΣ additions¼ eveε witΦ thσ
globa∞á exchangσá feature¼á i⌠ becamσá ß
Froφá thσá articlσ mentioneΣ ╔á go⌠á thσ cumbersomσáá tasδá t∩áá reforma⌠áá ever∙ì
impressioεáá tha⌠á thσá worΣá processinτ paragrapΦá afte≥ ever∙á correction«á Thσì
operatioεá take≤ seconΣ placσ afte≥á al∞ compute≥áá needeΣá severa∞á second≤áá t∩ì
thσ feature≤ anΣ playinτ witΦ them¼á anΣ "thinkó beforσ i⌠ accomplisheΣ thσ task«ì
afte≥ thσ coloureΣ anΣ well-proportioneΣ WORDBE┼á correct≤ thσ momen⌠ ß lette≥ i≤ì
window≤ tha⌠ arσ provided. typed.
Forge⌠ thσ appearancσ oµ thσ prograφá oε Wheεá ╔ bough⌠ SIMPL┘ WRITE¼á ╔á adapteΣì
thσ screen«á Wha⌠ count≤ i≤ thσ finisheΣ somσ oµ m∙ program≤ froφ WORDBEE« Wha⌠ ßì
printe≥ output«á ┴ worΣ processo≥ i≤ fo≥ botheríá Thσ conversioε needeΣ ß lo⌠á oµì
processinτá words¼áá editing¼áá writing¼ experimentation«ááá Accordinτáá t∩áá thσì
rearranging¼á no⌠ fo≥ colou≥ displa∙ anΣ articlσáá iεáá ON-LIN┼áá thσáá tw∩áá arσì
neatl∙á laid-ou⌠á instructions«á Indeed¼ compatible«á No⌠ so«á Fo≥ instance¼ linσì
it≤á presencσá shoulΣ no⌠ bσ eviden⌠á oε lengtΦá oµ thσ WORDBE┼ program≤ arσ no⌠ì
thσ screeε a⌠ all«á A≤ i⌠ i≤ supposeΣ t∩ automaticall∙ changeΣ t∩ thosσ oµ SIMPL┘ì
bσá intendeΣá fo≥ ßá seriou≤á user¼á thσ WRITE«á ╔ go⌠ hundred≤ oµ EO╠ marker≤ iεì
designe≥á shoulΣá havσ haΣ hiφá iεá minΣ m∙ writing¼ whicΦ ╔ haΣ t∩ removσ onσ b∙ì
insteaΣ oµ displayinτ hi≤ owε expertise« one¼á becausσá therσá i≤ n∩ ke∙á oεá thσì
Otherwisσ i⌠ migh⌠ bσ regardeΣ a≤ ß toy¼ keyboarΣáá whicΦáá cater≤áá fo≥áá globa∞ì
ß game≤ program¼á anΣ thσá user¼á thougΦ removal. ì
bedazzleΣ a⌠ first¼ wil∞ turε t∩ anothe≥ ì
product. T∩á movσá thσ curso≥ t∩ thσ enΣá oµá thσ
linσá - ^╞á witΦá thσá WORDBE┼á - SIMPL┘
Bu⌠ le⌠ u≤ star⌠ a⌠ thσ beginning«á Wheε WRIT┼ doe≤ no⌠ havσ ß command« ╔ havσ t∩ì
╔ useΣ thσ initialisatioε prograφ a≤ is¼ usσ ß ruse«á PlaceΣ a⌠ thσ beginninτá oµì
m∙á printe≥á produceΣ thσá ugl∙á lookinτ thσá nex⌠ line¼á ^┴ move≤ thσ curso≥á t∩ì
Picß font¼ thσ built-iε first-linσ font« thσ enΣ oµ thσ previou≤ one«á ┴ somewha⌠ì
Tha⌠á wa≤á thσá maiεá objectioεá wheεá ╔ unsophisticateΣ procedure«á O≥ ╔ havσ t∩ì
showeΣ somσ oµ m∙ writinτ t∩ ß workmate« ste≡ froφ worΣ t∩ worΣ t∩ thσ enΣ oµ thσì
Hσá rathe≥á likeΣ thσ Elitσ font¼á s∩á ╔ linσ witΦ ^T. ì
placσá thσ Elitσ fon⌠ escapσ commanΣá iε ìèWheε ╔ wan⌠ t∩ justif∙ thσ paragraph¼á ╔ featurσá command≤á oµá WORDBE┼á respond≤ì
placσá thσ curso≥ a⌠ thσ beginninτ oµ i⌠ instantly¼á wherea≤á iε SIMPL┘ WRIT┼á i⌠ì
anΣ presseΣ ^B«á Thσ beginninτ mean≤ thσ take≤áá severa∞áá second≤áá beforσáá thσì
firs⌠ááá letter¼ááá particularl∙ááá wheε processo≥ responds. ì
indentinτ thσ paragraph«á Iµ ╔ leavσ thσ ì
curso≥ a⌠ thσ extremσ lef⌠ edge¼ tha⌠ i≤ Thσá FINGE╥á marke≥ featurσá i≤á missinτì
thσ placσ t∩ whicΦ thσ beginninτ oµá thσ froφá SIMPL┘á WRITE¼á anΣ coulΣ onl∙á bσì
firs⌠ linσ i≤ moved╗á thσ linσ margiε i≤ implementeΣ b∙ usinτ ß marke≥ oµ m∙á owεì
disregarded╗á thσ remainde≥ i≤ justifieΣ make«á ╔á haΣ t∩ invokσ severa∞ command≤ì
correctly« ^┬ als∩ work≤ wheε thσ curso≥ t∩á ge⌠á bacδ t∩ thσ spo⌠á wherσá ╔á haΣì
i≤á iε thσ middlσ oµ ß sentence«á Bu⌠ i⌠ been. ì
justifie≤á thσ paragrapΦ onl∙ froφá tha⌠ ì
spo⌠ onwards. Thσ blocδ definitioε i≤ cumbersome« Iµ ╔
haΣá t∩á definσ ß largσ block¼á i⌠á tooδ
╔ aφ unablσ t∩ double-spacσ m∙ line≤á oε somσ considerablσ timσ til∞ i⌠ i≤á done«ì
thσá printe≥ a≤ ╔ caε easil∙ d∩ witΦ thσ Afte≥ that¼á i⌠ haΣ t∩ bσ cut¼á tha⌠ is¼ì
WORDBEE¼á sincσ ╔ havσ n∩ possibilit∙ t∩ loadeΣá oε t∩ ß disk¼á froφ wherσ i⌠ haΣì
inser⌠á thσ appropriatσ escapσá command« t∩ bσ retrieveΣ t∩ bσ placeΣ iε thσá ne≈ì
Possibl∙áá i⌠á caεá bσá donσá witΦáá thσ spot«á ╔ rathe≥ likσ thσ WORDBEE'╙ mode¼ì
initialisatioε feature¼á bu⌠ oncσ ╔á usσ wherσá ╔á placσ tw∩ marker≤ t∩ definσá ßì
i⌠á fo≥á anothe≥ font¼á ╔ havσá n∩á rooφ block¼á anΣ shif⌠ i⌠ directl∙ t∩ thσ ne≈ì
left«á ┴ deviou≤ wa∙ ma∙ bσ iε usinτ thσ slot. ì
STYL┼ modσ anΣ changσ it≤ escapσ commanΣ ì
iεá thσ initialisatioε program¼á bu⌠á i⌠ SIMPL┘á WRIT┼á ha≤ onl∙ ßá paltr∙á threσì
proveΣá t∩ bσ s∩ mucΦ bothe≥ tha⌠ ╔ gavσ styles«áá M∙áá printe≥á ha≤á 5╢áá escapσì
i⌠ away. command≤ fo≥ style≤ t∩ begiε with¼ whicΦ
numbe≥ i≤ doubleΣ anΣ trebleΣ oncσ ╔ usσ
Thσá simples⌠ wa∙ t∩ ge⌠á double-spacinτ underlininτ anΣ italics¼á anΣ quadrupleΣì
oε m∙ harΣ cop∙ i≤ t∩ inser⌠ empt∙ line≤ wheε ╔ combinσ al∞ three«á Wha⌠ d∩ ╔á d∩ì
iε m∙ writing« Tha⌠ lookeΣ likσ butcher∙ wheε ╔ wan⌠ an∙ oµ thσ others┐ ╔ havσ n∩ì
a⌠ bes⌠ anΣ i≤ ß laboriou≤ task«á Bu⌠á ╔ choicσ bu⌠ t∩ returε t∩ thσ WORDBEE. ì
needeΣá it«á Mos⌠á MS╙ arσ writteεá witΦ ì
doublσ spacing. Thσ ZOO═ featurσ ma∙ bσ fascinating¼ bu⌠
╔ haΣ littlσ usσ fo≥ ß gadge⌠ likσ it« ╔
A⌠ tha⌠ poin⌠ ╔ haΣ anothe≥á difficulty« kne≈á wha⌠ m∙ writinτ woulΣ looδ likσá -ì
Double-spacinτ anΣ justifyinτ didn'⌠ mi° i⌠á i≤ ß matte≥ oµ knowinτ you≥ compute≥ì
oε thσ screen«á Thσ solution║ ╔ wrotσ m∙ anΣá particularl∙ you≥ printe≥ - s∩á wh∙ì
articlσ single-spaced¼ anΣ wheε finisheΣ shoulΣ ╔ havσ haΣ thσ desirσ t∩ seσ wha⌠ì
- afte≥áá editinτáá anΣá correction≤áá - thσ pagσ lookeΣ like? ì
double-spaceΣ i⌠ oε thσ screen«á Wheεá ╔ ì
trieΣá t∩á justif∙ witΦ ßá double-spaceΣ SIMPL┘á WRIT┼ ha≤ man∙ littlσ bug≤á - a⌠ì
screen¼áá ╔áá go⌠á int∩á al∞á kind≤áá oµ leas⌠á m∙á versioε - whicΦá shoulΣá havσì
difficulties«á I⌠ caε bσ done¼á bu⌠ tha⌠ beeε ironeΣ ou⌠ beforσ i⌠ i≤ pu⌠ oεá thσì
i≤á to∩á time-consuming«á Thσá resultinτ market« Fo≥ instance¼ thσ writinτ oε thσì
screeε look≤ no⌠ to∩ good¼á bu⌠ tha⌠á i≤ screeεá suddenl∙ change≤ t∩ bold-facσ o≥ì
thσ onl∙ wa∙ t∩ double-space« AnΣ ╔ darσ italic≤ withou⌠ an∙ reason¼á eveε thougΦì
sa∙ tha⌠ al∞ M╙ writer≤ neeΣ it. thσ STYL┼ featurσ ha≤ no⌠ beeεá touched«
AnΣá ╔ coulΣ no⌠ ge⌠ riΣ oµ i⌠ excep⌠ b∙
Thσáá blocδá modσá i≤á anothe≥á bonσá oµ restyling«áá However¼áá thσá samσá faul⌠ì
contention«áá WORDBEE'≤á blocδá modσá i≤ turneΣá u≡á thσ nex⌠ timσ ╔á loadeΣá thσì
faste≥á anΣá easie≥á t∩á usσá thaεáá thσ prograφ int∩ thσ memory¼á anΣ ╔ i≤á bacδì
cumbersomσáá manipulation≤áá oµáá SIMPL┘ t∩ squarσ one« M∙ solutioε i≤ t∩ cu⌠ thσì
WRITE«á Usinτ thσ WORDBEE¼á ╔ caε simpl∙ entirσá articlσá - ß borinτ joΓá iµá thσì
collec⌠á al∞á ╔ havσ t∩ transfe≥ a⌠á thσ entirσ 26δ haΣ t∩ bσ cu⌠ - anΣ placeΣ i⌠ì
enΣ o≥ thσ beginninτ oµ m∙ program¼á anΣ iε ß ne≈ file« ì
theε transfe≥ it«á Thi≤ i≤ oµá advantagσ ì
wheεá ╔á desigε ß M╙ likσ thi≤á onσá anΣ Anothe≥á buτ ╔ noticeΣ i≤ wheε ╔ invokeΣì
havσá t∩á movσ ß lo⌠ oµá paragraph≤á anΣ thσ BOL─ style«á Thσ nex⌠ worΣ afte≥ thσì
sentence≤á about«áá Besides¼á thσá blocδ bolΣá writinτ i≤á invariabl∙á displaced«ìèTha⌠á i≤ thσ enΣ oµ usinτ thσ bolΣ stylσ no⌠ needeΣ a⌠ all. ì
oµ SIMPL┘ WRITE.
Thσáá MICROBE┼áá log∩áá i≤ááá completel∙
Iε usinτ squarσ brackets¼á SIMPL┘á WRIT┼ unnecessary«á Everybod∙ know≤ wha⌠ hσ i≤ì
converteΣáá theφá int∩á letter≤á froφá ß workinτá with¼á s∩á wh∙ ruΓ i⌠á iεá witΦì
Germaε fon⌠ oε thσ harΣ copy«á I⌠á coulΣ ever∙á screenfu∞ oµ instruction≤ anΣ usσì
no⌠á havσ beeε ß faul⌠ oµ thσ printe≥ o≥ u≡ memory┐á I⌠ i≤ ß littlσá only¼á true¼ì
thσ computer¼á becausσ the∙ botΦá workeΣ bu⌠á therσá arσ man∙ sucΦá littlσá bits¼ì
perfectl∙ al∞ righ⌠ witΦ WORDBEE. forminτá ßá largσá whole«áá Thσá WORDBE┼
prograφáá i≤á ßá considerabl∙áá shorter¼
Wheεá reformatting¼á line≤á disappeared¼ purpose-orienteΣáá processo≥áá fo≥áá thσì
re-appeareΣá iε anothe≥ positioε a≤ sooε reasoεá tha⌠ an∙ fanc∙ paddinτ ha≤á beeεì
a≤ justificatioε i≤ invoked¼á o≥á turneΣ avoided. ì
u≡á twice«á A⌠á thσ enΣ oµá thσá writinτ ì
often¼á bu⌠á no⌠ always¼á severa∞á line≤ A≤ i⌠ i≤ structureΣ a⌠ present¼á SIMPL┘ì
werσ repeated¼ somσ onl∙ partially« WRIT┼á ha≤á becomσ aε entit∙ iεá itselµ
insteaΣá oµ beinτ ß too∞ fo≥ ßá purpose«
Oncσá ╔ haΣ aε empt∙ linσ a⌠ thσ enΣá oµ Wh∙á ha≤á ßá 128δ machinσá go⌠á al∞á thσì
m∙áá writinτá - thσá curso≥áá apparentl∙ memor∙á capacit∙ iµ halµ oµ i⌠ i≤á lyinτì
canno⌠á removσá thσá las⌠ empt∙á linσá - idle¼á anΣá tha⌠á whicΦ caε bσá useΣá i≤ì
SIMPL┘ WRIT┼ counteΣ i⌠ a≤ ß page¼ iµ i⌠ mostl∙á occupieΣá b∙ ßá worΣá processor┐ì
i≤ jus⌠ pas⌠ thσ pagσ break¼ anΣ gavσ mσ Wheεá ╔á bough⌠ m∙á machinσá - ßá costl∙ì
ßá pagσá coun⌠ oµ ╕ insteaΣá oµá 7¼á fo≥ venturσá a⌠ an∙ timσ - ╔ expecteΣ t∩ usσì
instance« Bu⌠ thσ printou⌠ raε onl∙ t∩ ╖ mos⌠ oµ i⌠ fo≥ m∙ work« T∩ havσ onl∙ onσì
page≤ anΣ theε stopped. fiftΦ oµ thσ memor∙ availablσ i≤á prett∙
poor«á Ofteεá ╔ haΣ no⌠ enougΦ witΦá thσ
┴á grea⌠ disadvantagσ i≤ thσá smal∞á RA═ 46δá availablσ wheε usinτ thσá WORDBEE¼ì
capacity« Wh∙ d∩ ╔ havσ ß worΣ processo≥ anΣá tha⌠ i≤ m∙ worδ spacσ a≤ wel∞á wheεì
fo≥á ß 128δ machinσ iµ s∩ littlσ oµá thσ m∙ machinσ haΣ onl∙ 64k. ì
memor∙áá - 26δá a⌠á thσá mos⌠á - caεá bσ ì
utilised┐á T∩á ge⌠ morσá RAM¼á onl∙á thσ Severa∞á mino≥á feature≤ oµ WORDBE┼á arσì
basiπá SIMPL┘á WRIT┼ prograφá shoulΣá bσ sadl∙ lackinτ iε SIMPL┘ WRITE«á The∙ arσì
placeΣ iε thσ workinτ RAM¼á thσ feature≤ thσ ^K¼á ^T¼á ^╤ anΣ ^┌ commands« ╔ caεì
shoulΣá al∞á g∩ int∩ thσá memor∙á drive¼ d∩ withou⌠ them¼ bu⌠ i⌠ woulΣ bσ nicσ t∩ì
includinτááá thσáá HEL╨ááá instructions« havσá them«á Make≤á movinτ abou⌠á iεá m∙ì
Feature≤á arσ no⌠ useΣ s∩ ofteε tha⌠ al∞ program≤ mucΦ easier«á T∩ ge⌠ t∩ thσ to≡ì
havσ t∩ bσ availablσ al∞ thσ time«á Iµ ß o≥á bottoφ oµ thσ writinτ o≥á screeεá iεì
featurσáá i≤áá requireΣáá - STYLE¼áá fo≥ WORDBE┼á take≤ onl∙ onσ ke∙ strokσ each¼ì
instancσá - i⌠á caεá bσá copieΣá t∩á thσ ^T¼ ^┌ o≥ ^Q¼ wherea≤ iε SIMPL┘ WRIT┼ i⌠ì
workinτá RA═ fo≥ thσ timσ i⌠ i≤á needed¼ take≤áá two║áá ^│á - waitinτá til∞áá thσì
anΣ caε theε bσ discarded«á T∩ savσ morσ dialoguσ bo° appear≤ - theεá RETURN¼á o≥ì
memor∙ space¼á i⌠ i≤ unnecessar∙ t∩ havσ ^│áá - waitinτá til∞á thσá dialoguσá bo°ì
boxe≤á drawεá oε thσá screeεá anΣá line≤ appear≤á - theε ┬ - ß nuisancσ wheεá yo⌡ì
whicΦ servσ n∩ practica∞ purpose« Wh∙ t∩ havσá t∩ movσ abou⌠ ß lot«á Therσ i≤á n∩ì
tel∞á thσá use≥ ho≈ t∩ movσ thσá cursor┐ commanΣá t∩á movσá t∩á thσá to≡á oµá thσì
Thσ booδ oµ instruction≤ i≤ clea≥ enougΦ screen¼ o≥ deletσ thσ res⌠ oµ thσ line. ì
oε tha⌠ score.
Thσáá scrollinτáá featurσáá shoulΣááá bσ
Thσá feature≤á shoulΣ bσá designateΣá b∙ eliminateΣ completely«á Iε it≤ placσ thσì
letter≤ o≥ number≤ no⌠ displayeΣ oεá thσ FIN─á WOR─ featurσ caε bσ useΣ mucΦ morσì
screeε a⌠ all¼ thσ explanation≤ coulΣ bσ efficiently« Whilσ scrolling¼ ╔ caε reaΣì
founΣáá iεá thσá booδá oµá instructions« littlσ oµ wha⌠ flashe≤ pas⌠ m∙ eyes¼ bu⌠ì
Peoplσá wh∩ worδ witΦ ßá worΣá processo≥ witΦ thσ FIN─ WOR─ featurσ thσ screeε i≤ì
neeΣ onl∙ ß shor⌠ timσ t∩ memorisσ whicΦ steady. ì
symbo∞ mean≤ wha⌠ anΣ wil∞ no⌠ bothe≥ t∩ ì
reaΣá thσ word≤ tha⌠ arσ oε thσá screen« Onσ advantagσ - oneí - oµ SIMPL┘ WRIT┼ ╔ì
I⌠ ha≤ beeε emphasiseΣ iε thσ articlσ iε havσáá founΣá invaluablσá i≤á thσáá pagσì
ON-LIN┼á tha⌠ HEL╨ boxe≤ arσ needeΣ onl∙ numbering«á WORDBE┼á count≤ onl∙á u≡á t∩ì
fo≥ ß shor⌠ time« Iε m∙ opinioε the∙ arσ 255¼á theε misse≤ onσ number¼ presumabl∙ìèzero¼á anΣá start≤ witΦ ▒ again«á SIMPL┘ usefu∞á anΣá les≤á financiall∙á draininτì
WRIT┼áá appear≤áá t∩áá havσáá n∩ááá sucΦ product«á I⌠á woulΣá bσá bette≥á iµá thσì
limitations«á ╔ aφ workinτ a⌠ presen⌠ oε WORDBE┼á woulΣá bσá expandeΣ t∩á ßá worΣì
ßá work-relateΣá treatise¼á witΦ ßá pagσ processo≥á whicΦá caε d∩ somσá oµá thosσì
coun⌠ oµ wel∞ ove≥ 700¼ anΣ SIMPL┘ WRIT┼ thing≤áá SIMPL┘áá WRIT┼á caεáá d∩áá now║ì
i≤ stil∞ numberinτá correctly«á Changinτ Providinτ footer≤ anΣ 8░ character≤ iε ßì
thσ disδ drive≤ i≤ ß bi⌠ oµ ß bother« I⌠ line¼ feature≤ whicΦ shoulΣ bσ placeΣ iεì
i≤á easie≥á donσá witΦá thσá WORDBE┼á o≥ thσá memor∙á drivσá t∩á leavσá a≤áá mucΦì
SHELL. workinτ spacσ a≤ possible.
T∩á mergσá tw∩ program≤ i≤ ß cincΦá witΦ Don'⌠á tel∞á mσ i⌠ canno⌠ bσá donσá - oµì
thσ WORDBEE¼ bu⌠ involveΣ ß considerablσ coursσ i⌠ can! ì
amoun⌠á oµá deviou≤ worδ witΦá SIMPL┘á -ì
WRITE. $$ FOR SALE $$ FOR SALE $$ FOR SALE $$
=======================================
Anothe≥á usefu∞á featurσ missinτ i≤á thσ (A⌐á SUPERGOL╞á [mwb▌ ┴átw∩ dimensiona∞ ì
OVERWRIT┼ facility« A≤ SIMPL┘ WRIT┼ jus⌠ hires/hires▓áversioε oµ thi≤ popula≥ ì
add≤ thσ ne≈ words¼ ╔ havσ t∩ deletσ thσ sport« Thσ baτ offer≤ 1│ club≤ plu≤ ì
discardeΣá one≤á onσ b∙ onσá - to∩á mucΦ putter« Tw∩ mode≤ ║ ì
worδ wheε ╔ havσ ß lo⌠ t∩ write.
Fairwa∙á anΣ green«á Continiou≤ displa∙
I⌠á i≤ aε enormou≤ disadvantagσ tha⌠á n∩ oµ al∞ relevan⌠ information. ì
direc⌠á escapσ command≤ caεá bσá invokeΣ ì
witΦá SIMPL┘ WRITE«á ╔ owε aεá excellen⌠ (B) BEE CALCULATOR [mwb] Thi≤ prograφ ì
printe≥á whicΦ ha≤ man∙ feature≤á built- convert≤ thσ compute≥áint∩ ß scientifiπì
in¼á witΦá fa≥á iε exces≤ oµ 10░á escapσ calculator«áIε additioε t∩ al∞á usua∞
commands«ááá Fo≥áá instance¼ááá downloaΣ calculato≥ features¼áspecia∞ application≤ì
characters¼ááá differen⌠áá linσáá feeds¼ sucΦ as:ì
vertica∞ tabs¼á doublσ strike¼á built-iε ì
fonts¼ backfeed¼ superscript¼ subscript¼ 1)Sorting, ì
doublσ widtΦá letters¼á condensed¼á higΦ 2)Basic Statistical elements, ì
speed¼á proportional¼á anΣ man∙ more« T∩ 3)Pythagoras, ì
thσ 1░ font≤ buil⌠ int∩ m∙ printe≥ ╔ caε 4)Decimal to Vulgar fraction conversion,ì
adΣá m∙á owεá iµ ╔ wisΦ - bu⌠á no⌠á wheε 5)Add./sub. of vulgar fractions, and, ì
usinτá SIMPL┘á WRITE¼áá onl∙á witΦáá thσ 6)Solutioεá oµ quadratiπ anΣá simult- ì
WORDBEE« AnΣ the∙ arσ NO╘ printeΣ likσ ß aneou≤ linea≥ equation≤ available. ì
graphic≤ dump¼á bu⌠ iε thσ norma∞ manne≥ ì
a⌠áá almos⌠á norma∞á speed«áá Thσáá onl∙ Cost : ì
solutioεá fo≥á mσ i≤ t∩ g∩ bacδá t∩á thσ (A) $15.00 Tape; $21.00 for 3 1/4" disk.ì
WORDBE┼áá iµáá ╔áá wan⌠áá t∩áá d∩áá somσ (B) $19.50 Tape; $26.00 for 3 1/4" disk.ì
sophisticateΣá writing¼á usσ ß differen⌠ ì
fon⌠ o≥ changσ m∙ linσ spacing«á ╔á mus⌠ G. GARDOZ, 33 FRASER ST., ì
confes≤á tha⌠ ╔ havσ returneΣ man∙ oµ m∙ CLUNES, Vic., 3370 ì
writing≤á t∩á thσá WORDBE┼á - afte≥áá m∙ ì
infatuatioεá witΦ SIMPL┘ WRIT┼ haΣá worε ======================================= ì
ofµá - sincσá i⌠á i≤ morσá versatilσá iε $$ FOR SALE $$ FOR SALE $$ FOR SALE $$ ì
severa∞ respects. Dreamdisδá 56δ twiε 740δ ╡ 1/4óá drives«
Greeεá monito≥ anΣ abou⌠ 120░á programs«
N∩á doub⌠á improveΣ version≤á oµá SIMPL┘ Bes⌠á offe≥ unde≥ $800.00«á ì
WRIT┼á wil∞á bσá offered¼á fo≥á ßá heft∙ Contac⌠ Wa∞ HANSE╬ oε 31╕ - 188│ A/H. ì
price¼ oµ course« Wh∙ canno⌠ thσ prograφ ì
bσ properl∙ designeΣ iε thσ firs⌠ place┐ 64k CIAB, monitor, games, joy stick, ì
Therσá arσ man∙ worΣ processor≤á oεá thσ printer, Catcher (all vols) manuals and ì
marke⌠ froφ whicΦ cue≤ caε bσ taken. software. Price negotiable.
Contact J. Pope on 857 - 5342.
I⌠á look≤ a≤ iµ ╔ havσ stil∞ ß lonτ timσ ì
t∩ wai⌠ til∞ ╔ caε usσ SIMPL┘ WRIT┼á fo≥ Star DP 84-80 Printer with tractor feedì
seriou≤á worδá - iµ ╔ eve≥ do«á ╔á migh⌠ Only $180. ì
decidσ tha⌠ somσ othe≥ make≥ ha≤ ßá morσ Contact Steve Mizzi on 844 - 1220ìè DIRSORT.BAS (Competition Entry)
Thi≤á i≤ thσ sourcσ oµ thσ articlσ presenteΣ iε Thσ Catche≥ oε pagσ 1▒ las⌠ ì
month« Sorr∙ ╔ haΣ t∩ breaδ u≡ thσ articlσ likσ this« Iµ i⌠ i≤ to∩ mucΦ fo≥ ì
yo⌡ t∩ typσ thi≤ o≥ an∙ othe≥ listinτ froφ thesσ pages¼ the∙ arσ al∞ pu⌠ oε ì
our public domain disks in tokenised form ready to run. ED.
00100 GOTO 200 √░╣╣²
00110 REM123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567 √▒┤╖²
00120 REM1234567890123456789012345678901234 √▒╡░²
00130 REM123456789012345678901234567890123456789012345678901234567 √▒┤╣²
00140 REM123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890 √▒╡▓²
00150 REM12345678901234 √▒╡▒²
00160 REM12345678901 √▒╡┤²
00170 REM Directory Sort √▒╡│²
00180 REM By Paul Shannon √▒╡╢²
00190 REM MBUG member 1219 √▒╡╡²
00200 ON ERROR GOTO 580 √▒▒╡²
00210 IF PEEK(60)<>5:PRINT"Directory Sorter Version 1.0":POKE60,5 √░▓▓²
00220 GOSUB 630:REM This line may be removed after running. √▓┤╖²
00230 POKE 257,1:INPUT A0$ √░│░²
00240 REM Routine to analyse user input ----------------------- √▒╡│²
00250 IF A0$ <> "DIR" AND A0$(;1,4)<>"DIR ":RUN A0$ √▓▒╕²
00260 IF A0$="DIR":A0$="DIR *.*" √░╖░²
00270 S=SEARCH(A0$,":"):IF S=0 THEN 310 √▓░╡²
00280 D0$=A0$(;S-1,S-1) √░┤╢²
00290 IF LEN(A0$)>6: A0$=A0$(;1,4) + A0$(;7,LEN(A0$)) ELSE LET
A0$ = A0$(;1,4)+"*.*" √▒╣╕²
00300 DISKRESET D0$ √░│╕²
00310 REM Construct string in a form similar to the directory √▒┤╣²
00320 G = SEARCH(A0$,"."):IF G=0:PRINT"''"A0$"''?" √▒╡│²
00330 E0$ = A0$(;G+1,LEN(A0$)) √▒╡╣²
00340 F0$ = A0$(;5,G-1) √▒│╕²
00350 F= SEARCH(F0$,"*"):IF F=0:F=7 ELSE LET F=F-1:REM Filename length √▒╣▓²
00360 E= SEARCH(E0$,"*"):IF E=0:E=3 ELSE LET E=E-1:REM Extention length √▒╣╣²
00370 S0$=" ":F0$ = F0$ + S0$:E0$ = E0$ + S0$ √▓│░²
00380 F0$ = F0$(;1,9) + E0$(;1,4):REM Completed String √░╕╢²
00390 I = 24528:FOR J = 1 TO 13:T = ASC(F0$(;J,J)):POKE I,T:I=I+1:NEXT J √▒╢╣²
00400 REM routine to capture directory at 6000h -------------- √▒╡▒²
00410 POKE 178,232:POKE 179,10:REM re-direct output to 2792d √░░╖²
00420 POKE 2790,0:POKE 2791,96:REM send to 6000h √▓▒╣²
00430 DIR:PRINT"*" √▓▒▓²
00440 POKE 178,47:POKE 179,166:REM restore normal output √▓▒╕²
00450 IF PEEK(24576)=42:PRINT"No File":RUN √▒▓╕²
00460 D0$ = CHR(PEEK(24578)) √░░╢²
00470 Z=USR(2531):REM Strip directory of CR's, LF's and Drive letter √▒┤│²
00480 REM ----- Number of entries, length & starting address -- √▒╡╣²
00490 N=PEEK(24574) √▒╖▓²
00500 POKE 2319,N:POKE 2320,0:POKE 2321,N:POKE 2322,0 √░╢│²
00510 POKE 2323,15:POKE 2324,0:POKE 2325,2:POKE 2326,96 √░╕╖²
00520 Z = USR(2335):REM Alphabetize the directory √▒│▒²
00530 POKE 24550,ASC(D0$) √░│╣²
00540 POKE 24552,E: POKE 24553,0: POKE 24554,F: POKE 24555,0 √▒╣╡²
00550 Z = USR(2594):REM Search for desired string √▒│▒²
00560 K = PEEK(24558): IF K > 0: PRINT \ K" out of"N" entries" ELSE PRINT
"No File" √░▒╣²è00570 RUN √▒│╕²
00580 POKE 178,47:POKE 179,166:IF ERRORC = 45:PRINT\"''"A0$"''?":RUN √░▒╢²
00590 END √▒▒▓²
00600 REM The following lines, as well as line 220, may be √▒╡│²
00610 REM removed after running the program to speed it up. √▒╡▓²
00620 REM ----- M/L Code -------------------------------------- √▒╡╡²
00630 FOR I = 2792 TO 2800:READ D:POKE I,D:NEXT I √▒▓╕²
00640 FOR I = 2531 TO 2587:READ D:POKE I,D:NEXT I √▒╡▓²
00650 FOR I = 2335 TO 2485:READ D:POKE I,D:NEXT I √▒╡▓²
00660 FOR I = 2492 TO 2525:READ D:POKE I,D:NEXT I √▒┤░²
00670 FOR I = 2594 TO 2763:READ D:POKE I,D:NEXT I √▒┤┤²
00680 FOR I = 2770 TO 2783:READ D:POKE I,D:NEXT I √▒╡╖²
00690 RETURN √▒▒│²
00700 REM ----- Relocate Directory ---------------------------- √▒╡┤²
00710 DATA 42,230,10,119,35,34,230,10,201 √▒╣╣²
00720 REM ----- and strip of unnecessary chacters ------------- √▒╡╢²
00730 DATA 33,0,0,34,254,95,17,0,96,33,3,96,1,60,0,62 √▒▒▓²
00740 DATA 42,190,40,36,62,58,190,32,20,229,42,254,95,125,18,35,34 √░╢│²
00750 DATA 254,95,225,19,62,0,18,19,35,35,11,11,237,160,120,177,32 √░╡┤²
00760 DATA 220,35,35,35,24,212,201 √░▒╢²
00770 REM ----- Alphabetize the Directory --------------------- √▒╡╣²
00780 DATA 245,197,213,229,42,21,9,229,42,19,9,229,175,42,17,9,124,31 √▒╖┤²
00790 DATA 103,125,31,111,34,17,9,180,32,7,193,209,225,209,193,241,
201,235 √▒╣▓²
00800 DATA 42,15,9,125,147,111,124,154,103,34,19,9,33,1,0 √▒│┤²
00810 DATA 34,21,9,34,23,9,45,193,197,25,11,120,177,32,250,34,25,9 √░░▒²
00820 DATA 235,193,225,229,197,34,27,9,34,29,9,235,25,235,193,197,26 √░▓▒²
00830 DATA 150,32,9,35,19,11,120,177,32,245,24,59,48,57,197,70,26 √░▒╡²
00840 DATA 119,120,18,35,19,193,11,120,177,32,242,42,17,9,124,47,87 √▒▒░²
00850 DATA 125,47,95,42,23,9,25,48,28,35,34,23,9,42,29,9,235 √▓│▓²
00860 DATA 42,25,9,123,149,111,122,156,103,34,29,9,24,188,42,21,9 √▓┤▓²
00870 DATA 35,34,21,9,34,23,9,235,42,19,9,125,147,124,154,218,43 √░▓╖²
00880 DATA 9,42,27,9,209,213,25,235,42,25,9,235,24,139 √▒╖╡²
00890 REM ----- Search Directory Routine ---------------------- √▒╢▓²
00900 DATA 33,0,0,34,238,95,34,236,95,221,33,2,96,253,33,208 √▒╣╣²
00910 DATA 95,237,75,234,95,221,229,225,253,229,209,120,177,40,14,26,254 √░│┤²
00920 DATA 63,40,4,26,190,32,125,35,19,11,24,238,237,75,232,95,120 √░┤╣²
00930 DATA 177,40,34,221,229,225,62,9,133,111,253,229,209,62,9,131,95 √▓▓╢²
00940 DATA 120,177,40,16,26,254,63,40,4,26,190,32,85,35,19,11,24 √░╡╕²
00950 DATA 238,24,186,42,238,95,35,34,238,95,62,65,189,32,3,205,6 √░╡╖²
00960 DATA 128,42,236,95,35,62,4,189,32,3,33,0,0,34,236,95,62 √▓░╣²
00970 DATA 1,189,32,17,62,13,205,47,166,62,10,205,47,166,33,230,95 √░▒│²
00980 DATA 126,205,47,166,62,58,205,47,166,62,32,205,47,166,221,229,225 √▓░▒²
00990 DATA 1,13,0,126,205,47,166,35,11,120,177,32,246,42,254,95,24 √░│┤²
01000 DATA 6,43,34,254,95,125,180,200,1,15,0,221,9,24,151 √░╣╕²
WHAT ARE CHECKSUMS?
Thσá number≤ containeΣ withiε thσ √ bracket≤ ² a⌠ thσ enΣ oµ eacΦ linσá arσ ì
checksuφá numbers«á Thesσ number≤ d∩ no⌠ forφ par⌠ oµ thσ listinτ bu⌠ arσ ß ì
"proofinτá aidó fo≥ thosσ typinτ iε thσ listing≤ founΣ iε Thσá Catcher«á T∩ ì
usσá thesσ number≤ yo⌡ mus⌠ havσ thσ prograφ CKSM23.MW┬ loadeΣ anΣá runninτ ì
iε you≥ Beσ beforσ startinτ t∩ typσ iε thσ listing« CKSM23.MW┬ caε bσ founΣ ì
oε mos⌠ volume≤ oµ MBU╟ P/─ disk≤ o≥ oε thσ RBBS«á Wheε runninτ CKSM2│ anΣ ì
typinτá iεá ß listinτ sucΦ a≤ tha⌠ above¼á a⌠ thσ enΣ oµá eacΦá line¼á (no⌠ ì
includinτ thσ numbe≥ insidσ thσ {brackets})¼á yo⌡ pres≤ C/╥ anΣ ß numbe≥ iε ì
{brackets²á wil∞ appea≥ oε YOU╥ screen«á Iµ thσ tw∩ number≤ match¼á iεá thσ ì
listinτá anΣá oε thσ screen¼á theε yo⌡ havσ madσ n∩ misteak≤á (sic)«á NOTE║ ì
CKSM23.MWB ignores REM statements.è REAL CLOCK KIT - INSTRUCTIONS FOR 128K PREMIUM
By Marδ PremosellΘ
Thσá fittinτ instruction≤ supplieΣ witΦ thσ ki⌠ (dateΣ 23rΣ Jul∙ 1985⌐ ì
refe≥á t∩á ßá "Latσá Modeló basσ boarΣ (numbe≥á 1248-╢á useΣá iεá Microbee≤ ì
produceΣ sincσ Jul∙ 1985)«
Howeve≥á thσá 128╦á Premiuφ Serie≤ Microbee≤ usσá ßá differen⌠á boarΣá witΦ ì
totall∙ differen⌠ referencσ number≤ fo≥ components« Thσ followinτ referencσ ì
number≤ arσ applicablσ t∩ 128╦ Premiuφ Serie≤ Microbees:
DESCRIPTION Numbers 1248-6 Ref. 128K Premium Ref.
IC 74HC00 1 IC 45 IC 15
MC146818 RTC 1 IC 42 IC 10
1K Resistor 1 R 39 R 14
1M Resistor 1 R 40 R 2
150K Resistor 1 R 41 R 3
4M7 Resistor 1 R 42 R 4
1K8 Resistor 1 R 43 R 7
22R Resistor 1 R 38 R 1
4.7 pF (4n7) Green Cap. 1 C 42 C 6
10 uF Tag Cap. 1 C 43 C 1 (Note 1)
0.01 uF Ceramic Cap. 1 C 44 (or 47) C 15 (Note 2)
33 pF Ceramic Cap. 2 C 45, 46 C 7, 8
5.5 to 65 pF Trim Cap. 1 CV 1 CV 1 (Note 3)
32.768 kHz Crystal 1 G 2 G 2 (Note 4)
1N914 Diode 2 D 20-22 D 1, 2
Ni-Cd Battery 1 B 1 B 1
You will also require sockets for IC 10 and IC 15.
Additionally you will need to link the following:
L 1 to L 1 (just above the BackSpace key)
ááááL 2 to L 2 (just above the Escape key)
Notes
1. Next to battery
2. Between IC 10 and IC 15
3«áT∩ bσ fitteΣ oε thσ undersidσ oµ thσ board«á Thσ connectinτ wirσ t∩ thσ ì
áááto≡á boarΣá ha≤á t∩ bσ removeΣ anΣ theε resoldered«á ┴ holσá ha≤á t∩á bσ ì
ááádrilleΣ oε thσ bottoφ oµ thσ casσ iµ yo⌡ wisΦ t∩ adjus⌠ i⌠ externally«
4« Crysta∞ ha≤ t∩ bσ tieΣ dowε witΦ ß strippeΣ coppe≥ wirσ -
Caution║ d∩ no⌠ overheat.
Pleasσá Notσá tha⌠ othe≥ component≤ supplieΣ iε thσ ki⌠ (othe≥ thaεá listeΣ ì
above⌐ arσ no⌠ requireΣ t∩ bσ fitted.
ACKNOWLEDGEMENT║áá
Man∙á thank≤ t∩ Steveε Jepsoε fo≥ providinτ thσá informatioε ì
above«á Withou⌠á hi≤á hel≡á i⌠ woulΣ havσ beeε impossiblσ t∩ fi⌠á thσá kit«ì
Don'⌠ forget¼ ou≥ Bazaa≥ sell≤ rea∞ timσ clocδ kit≤ cheape≥ thaε MSL« Thesσ ì
ma∙ bσ purchaseΣ oε an∙ norma∞ cluΓ nigh⌠ o≥ viß mai∞ order«á Thσ price≤ oµ ì
the kits are advertised in the Bazaar section of this magazine. EDè