The Transactor V2 06 1979 Nov 30

42
8/7/2019 The Transactor V2 06 1979 Nov 30 http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 1/42 (Kcommodore comments and bulletins concerning your COMMODORE PET TI'I The Transactor Vol. 2 BULLETIN #6 PET™ is a re istered Trademark of Commodore Inc. November 30, 1979 Inside the 2040 Disk Drive Jim Butterfield, Toronto Yes, you can look at the programs inside the 2040. But unless you're strong in machine language - and have a bit of hardware background - it won't makemuchsense. There are two processors in there. One looks out toward the PET •• I'll call it the IEEEprocessor; the other looks in toward the disk mechanics .. t~is one I'll call the disk processor. Eac~ ?rocessor has a comoletely different set of programs. The two processors talk to each other by sharing a little memoryspace: about 4K of RAM is commono both mic1'oprocessors. The IEEEprocessor is relatively easy to look into. You have the M-R, or memoryread, commandwhichallows you to look at the whole 64K memoryspace of this processor. Not all of this is actually fitted with memory, of course. As far as I can tell, ROMoccupies hex locations EOOCo FFFF. There's RAMn zero page; and the RAMwhichis shared with the disk microprocessor is in hex 1000 to lFFF. The 6532 PIA chips seem to be in i;im addresses $0200 to $03FF. To analyze a completely unknown 650Xprogram, you must start by inspecting 1we tjII locations $FFFAto $FFFF. This g1 ves you the three main vectors, for NMI,Reset, and !NT. As far as I can tell, NMIisn't used - the vector points at non-existent memory. Reset is of course used; in m:r 2040 it points at F480, and that's where the main code for initialization begins. It looks to me as if the interrupt line must be kicked by the IEEEATN(attention) line: when I follow the vector (FDDE)in my machine, it looks like an IEEEhandshake is taking place. That's all vefy well for the IEEE processor, but how can you get a look at the inner, disk processor? I had trouble with this one. until one day I discovered that the IEEE processor can download the disk processor - via the shared RAM and makeit execute this new code! So all that 's needed is a little program to tell the disk processor to copy part of its memoryto the shared RAMpace, where it can be examined by using the M-Rcommand. Commodore Systems, 3370 Pharmacy Avenue, Agincourt, Onto (416-499-4292

Transcript of The Transactor V2 06 1979 Nov 30

Page 1: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 1/42

(Kcommodore comments and bulletins

concerning your

COMMODORE PET TI'I

The TransactorV o l . 2

BULLETIN #6

PET™ is a re istered Trademark of Commodore Inc. November 30, 1979

Inside the 2040Disk Drive Jim Butterfield, Toronto

Yes, you can look at the programs inside the 2040. But unless you're

strong in machine language - and have a bit of hardware background -

it won't makemuchsense.

There are two processors in there. Onelooks out toward the PET••I'll call it the IEEEprocessor; the other looks in toward the diskmechanics .. t~is one I'll call the disk processor. Eac~?rocessorhas a comoletely different set of programs. The two processors talkto each other by sharing a little memoryspace: about 4K of R A M

is commono both mic1'oprocessors.

The IEEEprocessor is relatively easy to look into. Youhave theM-R, or memoryread, commandwhich allows you to look at the whole64K memoryspace of this processor. Not all of this is actually

fitted with memory,of course. As far as I can tell, ROMoccupieshex locations EOOCo FFFF. There's RAMn zero page; and theRAMwhich is shared with the disk microprocessor is in hex 1000 to lFFF.The 6532PIA chips seem to be ini;im addresses $0200 to $03FF.

To analyze a completely unknown 650Xprogram, you must start byinspecting 1we tjII locations $FFFAto $FFFF. This g1ves youthe three main vectors, for NMI,Reset, and !NT. As far as I cantell, NMIisn't used - the vector points at non-existent memory.Reset is of course used; in m : r 2040 it points at F480, and that'swhere the main code for initialization begins. It looks to meas if the interrupt line must be kicked by the IEEEATN(attention)

line: whenI follow the vector (FDDE)in m y machine, it looks like

an IEEEhandshake is taking place.

That's all vefy well for the IEEEprocessor, but howcan you get

a look at the inner, disk processor? I had trouble with this one.

until one day I discovered that the IEEEprocessor can downloadthedisk processor - via the shared RAM and makeit execute this newcode! So all that 's needed is a little program to tell the diskprocessor to copy part of its memoryto the shared RAMpace,where it can be examinedby using the M-Rcommand.

C om mo do re S yst em s, 3370 Pharmacy Avenue, Agincourt, Onto (416-499-4292

Page 2: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 2/42

I couldn't get this to work, however, until I discovered the vital \ /missing link. The shared RAM,which is seen at locations 1000 to 1.FFF 6.by the IEEEprocessor, is seen in a completely different location

by the disk processorl •• in this case, hex 0400 to l3FF.The hardware just "maps" the memoryinto a different location.I might never have spotted this if the memories had not overlapped;

but a little rummagingaround and tearing of hair showed that my

early programs seemed to be putting data into the wrong buffer.

Eventually, the penny dropped, and the system became clear.

I'm far from being able to give details about the inner secrets ofthe 2040. But with the enclosed DISKPEEKprogram, you too can

rummagearound in there - in either processor's memoryspace -and comeup with interesting data.

1 O ~ 3 F ' F : I t n " : : 1 [ 1 S K t · 1 E t · 1 0 F . : ' T 'I S P L A ' T ' J I t ' 1B U T T E F : F I E L I ! "1 1 0 D A T A 7 7 1 4 5 1 8 7 1 0 1 1 8 . 1 6 . 1 6 2 . 0 . 1 8 91 2 0 D A T A I 5 7 1 6 4 1 0 6 . 2 3 2 1 2 2 4 , 1 6 , 2 0 8 , 2 4 5 . 7 6 1 1 9 3 , 2 5 41 3 0 F O R J = I T 0 9 : R E A D X : C $ = C $ + C H R $ ( X ) : N E X T J

1 4 0 F O R J = l T 0 1 1 : R E A D X : D $ = D $ + C H R $ ( X ) : N E X T J1 ~ C " 1 P R I H T " : ~ I T H E R E A R E n · J O P R O C E ~ = ; S O F . : : = ; :I

1 6 0 P R I t H " 1 ) T H E IE E P R O C E : : ; ~ : ; O R ;"17 0 P F . :tH" 2 ) T H E D I S K P F . : O C E : : ; ~ : ; O F . :;"1 :::(1 I t ' ~ P U T "~ · J H C H D O ' T ' O U ~ ' ~ A t , nT O P E E K . : : O R 2 : : ' , ;Ii1 9 0 P R I t'n" I t ' ~ P U T t · 1 E t · 1 0 F . : ' T 'D D R E S S "2 ~ Z H 3 P F . :tn III t , ~H E i ' : : A D E CI t ' 1 A L: II :O P E t - ~1 • 8 " 1 52 1 ( 1 PRnn" ••••• ~"2 2 0 I t ' ~ P U T Z $2 : : X 1 P R l t n l ~ " , ;: I F L E t ' ~ ( Z $ ) < ) 4 T H H ~ G O T 0 2 1 02 4 0 F O R J = 1 T 0 4 : Y = A S C ( M I D S ( Z S , J »2 5 0 I F Y < 5 8 T H E N Y = Y - 4 8

2 6 0 I F Y ) 6 4 T H E N Y = Y - 5 52 7 0 I F Y < 0 0 R Y ) 1 6 G O T 0 2 1 02 8 ( 1 ' 7 ' ( J::.' T ' t'~E::nJ:K = 0 : P F . : t ' n" 1 " , ;2 9 0 O N D G O T 0 3 0 0 , 3 2 0 : G O T 0 1 8 03 0 0 U = Y ( 3 ) * 1 6 + Y ( 4 : : ' : V = Y ( 1 ) * 1 6 + Y ( 2 )3 1 0 G O S U B 3 6 0 : G O T 0 2 1 0320 P R I N T # 1 I C S ; C H R $ ( Y ( 3 ) * 1 6 + Y ( 4 » ; C H R $ ( Y 1 ) * 1 6 + Y ( 2 » ; D $: 3 : 3 ~ . : : t p F . : n n # 1 1 I t ' 1 - ~ · ~ ": H R $ ( 4 ) , : H R $ ( 1 6 ) , : H R i ( ) , : H F . : $ ( 2 2 4 )

. 3 4 0 PPHill 1 L! t 'l-F.: ' ~ , : . t = : H R $4 ) , : H F . : $ ' : :6 : : ' ;CHF: t ( 1 : : .;: : H F . : $ ' ; :2 4 )3 4 5 G E T # 1 , X $ : I F X $ = C H F . : $ ( 2 2 4 ) G O T 0 3 4 03 5 0 U = 6 4 : V = 1 8 : G O S U B 3 6 0 : G O T 0 2 1 03 6 t 1 p F . : n n # l " IIt 1 - F . :I, : H R $ ( U ) , ; H F . : $ ( \ , ' )

370 G E T # I . ,: : - : ; $I F : : - : ; $ =I I I T H E t ' n - : ; $ = C H F . : $(1):~::=!0 F ' F . : I t·~T·I II.;: : : · : :=A::;C:( : : ': :$ : : ' , / 163 9 0 F O R J = I T 0 2 : X % = X : X = ( X - X % ) t 1 6 : I F X % ) 9 T H E N X % = X % + 74 0 0 P R I N T C H R $ ( X % + 4 8 ) ; : N E X T J4 1 0 U = U + l : I F U = 2 5 6 T H E N U = 0 ~ V = V + l4 2 0 K = K + l : I F K { 8 G O T 0 3 6 04 3 0 Y ( 0 ) = 0 : Y ( 4 ) = Y ( 4 ) + 8 : J = 4440 I F ' T ' ' : : . J : : ' : >5 T H E H ' T ' ' : : . _ T : : '' T ' ' : : . J )1 6 : .J= ,T~L : ' T ' ' : : . J : : ''T ' ( . J : : ' + 1 : G O T 0 4 4 04 5 0 .PRItH :PRI t - n " _ _ " - . ; : FOP}: 1 T 0 4 - :' T ' = ' T '. ] : : .I F ' T ' ) 9 T H E H ' 7 ' = ' T ' +4 6 ~ Z 1 P F . : H T C H F . : $ ( ' T ' + 4 8 : : ' . :t ' ~ E : : - : : TJ :P R I u r II~" :R E T U R t , ~

* * * * T H E L A S T T H R E E I T E M S I N L I N E 1 2 0 (76,1931254) M A Y B E C H A N G E D

I F N E C E S S A R Y T O A R E S E T S E Q U E N C E O F 108.2521255 * * * *

Page 3: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 3/42

65535 Programs : FFFF

Control,

R O Mnput/Output.

61440M.L. Monitor

FOOO

E84F9471 I/ O L ines, TimersInterrupt Control P IA

59408 E810

59391 Programs : E7FF

Basic,R O Meyboard service,

Screen service49152 COOO

33791 H3FF

32168 memory 8000

32767 1--32-K-B-a-sl.-·-m-e-mo-r-·,-l-im-i-t--- 17FFF

Screen character

8 - - lFFF191 8K Basic memory limit

16383 -16K Basic memory limit 3FFF

R A M4095 -4K Basic memory limit - OFFF

- 11.. <::;,. v____

~ ~ - - - - - - - - -512 -~----.- ....--

511 OlFF

Processor Stack area256 0100255 Zero page: OOFF

work area.0 0000

C~ mmodore PET and CB M memory organiz ation.

Page 4: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 4/42

T~"1.2r-·E' ~ " J . ; : o t . : = :

+E'.~.t'-~r··e c.f'the

L . : : o r . - l : : : z : 0 + t·k.t-·i:h

~>A·:'1 det.::·cted l.i.lith ~he +Or-·rll·::O.i::tn·:'1

..?()2:3 Pt' j. t·.1::er-·S ~~ut -fCor,·-t.I,wl.:ote1'::1., f : : : i f f ,

Nova Scotia, h3S -found i::he -fix.

t..~' t:he

CFLF.i::he

the + it's:i;:

+or··fI"'·:;.t I.I.I.::.~:::~.

t •.' b,? s>?nt

, ;: 0 :) r":i(I·::O.t

~'.Ihen

It seemed that sei::tin~ UK

r : · r··o :A:o l.::;OI"(I.,ut c,h : : O . I " " I : : t in·':'1 ' l : : o ~ ) . : ; c . sE"::ond F 'P I t· .jl in:i

: ; : · " , ' " i : : ' ...jr··n i.=: r::·r· ir·,t.:::-d O:'r'l

,:,'.i·d:,;,·d on th ..:' ne:,·::i.

r - - E o ·~S : = ~ - , E

1 J . r.e .:'.t-! r . : ~

bi_~t

+ :he

tc . : ; c . 11ne is: .;:t.

tl·-,e (.::orri.;:'·:'1e

l..I"le F'eed 1s

II ...__II

_;:: .I: ' ' ::: ' :;:: .

IS

it

o-f

~";"IE' i:: ~ r ' · : . ' : : t 1 ' : ; t - , . = : c . t ~ < . ~ ~ . I _ =~r' i.)··t .t :L< I l : 2 ,,-,ell,! 1~.'--,e .?t,r·p~~

':'j"!';::l;.i.i;·-!':E'r-·EJ b)I_.f·t '~I'~i€- .3}):,::-:C, 1 1 ~ ; " ~ : : " < ~ '=:,;:2':'11 ~-!t-!i·-j·:'1 of:

~ . ; ~ : .- :; ' c : r- I. ;' .r !· = .1 i rt'~:1 tl"'t::' ;::I~:rr>·f;.~:1..

~:'r'ir;i :er- 1s

it doe:::T,' t

:::F;:;>i 1 . ~ 4..1

PPINT #:~ X;CHR$(13~;C'::: I tH # L ItF ET IIiCHF:$.;::: : : 0 ;

••• ':;':::~;'eG i.::;.1':.< i.l.:her-I th e +'Or-·if,.::O.ti:r-' in ' : : 1 is .;:.j:)out t,:, b,.::.

Th j _ ; ; . I. i·":' L:;".::·i::r- ,-·Ie +Ot" s''£·cond.;:.r·'::1 .::.ddr-·ess (1.

O:;:.::OJ'l+ c:out-'se be shot-'i::et'led b'::I +1t-'st.;:t.nd usin'::1 F . : : t in ~:·l.::<.ce 0+ CHF:$': 1::;:>.

e-=1.'-4.:oi::n·:'1

A 1::::0 the

' ' ; ' : i . ; " ~ :. f. : : ; :>2r" i-ceo lon i'",: n•: . - l : : nec,,:?s·.:;:.;:.r·'::1.I.lhen ~:'r-eeo.?eded ~:.'::I .:~. c: los in·:'1

·;'!_I.l(' te Cot-· '='.nc.-t::hE~r-· :",:tt-· ir - , · : : ; ;·.!·';W i : . < . 1 : : 0 le b._.jt 1S nece·:::s·::or·'::! l.l.lhen

"!:':l':~l 1 ' : , 1 . 1 . 1 i A l ' : ' " t~It...ffl'E'r-·iC: i._.l·;t.r· 1 . ,~.tl les ..

Howeve~J the ~eneral idea is to kee~ the ~rinter in the

C ; "th r;'O::::: it ion .:;:.-!:t~:,.- .;:. o:;:·:;:'t-·t'·.::'::';';:'"-· e tur"n l.i.:hen "r:he +Or-·ft'I.::O.t

t ; .: ;: t : l.) ~)•2 C : } ~, .;:'_r~f · : ; _ 1 , ; . = ; : 4 If

si::r-'i n·:.;

Page 5: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 5/42

The IF •• THEt·~st.:'.ternent c.:'.n be ~.et-·'::I

o::et-·t.;:'.in

.:.r·:'1ument

l~ne::·::~:·ec:te.:4 h·:.z.:..r·ds.

01.4t::::de t-··:'.n·::te:..t"I.:42)

in

l~se+l_.j1 in

t:·at-·t iou 1. :0 ' ; - '

. :0 . '•..10:1d i n-::t

. :o.r·e 1)

dividin-::t b'::l zero •

The Ot·~• (::;OTO st.:'.terflent has .:.. 1i fitited t-··:o.n-::teOt-, its

.:.r··:'11_HIH?nt.; to 255. Zet-·o c:al~ses e>::ecl.~tic.n tel dr-oj> thr'o'-~-::th tCI

the ne>::t 1ine blAt I.......lues ne-:'1.:o.t'...e oro' 0'.'"et-· 255 If.I ill C:·:r.l~se . : . . t " t

':'r·ror·· .::.nd .:r.+ot-'ced bt-·e.:..I.-::. Pt-'otee:t it"t-:'1.:o.-:'i.:r.ist th is is e.:rs'::I.:..nd often .:.. -:'1ood ide.:r.•

5 00 IF X > -1 AND X < 256 THEN ON X GOTO•••

501 REM -CODE FOR X = (1

(GOSlIB)

E:·:.ecI.Jtin':; .:0 . .. THEt·~. C·:'.'-4ses

+0 11::11.1.1n·:'1 ·;:'S .;:. "net.!) 1it-Ie" •

followed b~ an'::l BASIC statement

PET to interpret the code

A'" THEt-.l. c·:r.t"t thet-'e-f:ot-'e be

inc h~di n-:'1.:r.nothet-· ..IF •• THEH..•

Di'....d in,,:1 ~Y:l zer-'O 1.1.1ll +.:'.i 1 +Ot-· obI ....0'-4S t-·e·:rsons.

Pr"eceed in':1 .:.. ~:'oss ib Ie +roub Ie St:·ot 1.I.lih .:.. denom i n.:'.tew· test

will ~rotect a~ainst ?DIVISION BY ZERO ERROR.

600 I F II f--:· r 1 THEt·~ IF H....D < : : > 0 THEH

IF N2/(N/D) > 1 GOTO 880

Anothet-· hi ,:kle:'n ·:'iOc h.:.. t.h·;:..t. h.;:.s been knol.l.lt"l to c·:."_~se b.:..ld

~:~:·ots:s t.hE? PE?clJliar- beh.;:'I...iot-· 0+ the FOF. :• • t·~E~<;T }.:'Ot:'. Code

1 . 1 . 1 ith i~'I .:..FClF.:•• t'~E>::T1001':' 1 . 1 . 1 ill.:.. 1I.l.l.;:'.':;Ise::<ecute a.t

r"·e·:'i.:.rd1 . : · : = : : : : : of thE? in it ia loop Ce,I.Jt"ltet-· I.),;:..w2s.

le.:.st onCE?

700 IF J ) 0 THEN FOR X = 1 TO J: ••• : NEXT

Onl,::, one problem;

thE:' ent it-·e loop f!IUSt. b€J s·:1.1.4eezed i n+o one 1i ne other-'ul ise

GOTOs must be used.

One +urther note, a STEP size 0+ zero

10o~in"E:!. DepE?ndin"E:! on the extent 0+ STEP

::;;TEP I·)·:;.r·.:;..h les m i':;ht be .:'.dl,.1s.:'.b IE?

1.1.1ll C·:'.USE?end less

use. testin~ 0+

Bullet-Proo+ IHPUT

As '::IOUknow. INPUT allows the cursor control

to b"" t':;Iped 1.lthie:h c·:;rrt t-·e.:'.ll·:;I +.:.,-~ I.U=- . : r . Pt-·o-::tt-·.;:'III

1.I.lhen 1.4E€'t-· n+.:r.IIi b i Li t':;I is 0+ i mt=-ot-·ta.ncE? Thesubroutine could substitute +or INPUT:

ch.:rr·ae:t er-s

est:'E?C .:r. 1 ' : ; 1

+e,Iow it"t-:'i

5000 POKE 167, 0

5(11~~1A$ = " "5~12(1GET B$ : IF E:$ = "" THEt·~502(1

5030 IF ( ASC ( B$ ) AHD 127 ) > 31 THEN

PRIHT B$; : A$ = A$ + E:$

5040 IF B$ = CHR$( 13 ) THEH POKE 167 , 1

505(1 GOTO 502(1F. :ETURN

Page 6: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 6/42

Line

504(1

The Ot·1'= , dt··.:;'))lb.:;..o::::ks i n'=:'1(-jET o'·...et·· I r·.jPUT 1).1·:;'5h.:;'.i:: .:;..

s iml.~.;:'.ted CI.W·SOt··1.1.1. :; ' ': : ' t··e·:1.I.~t··ed. POKE 167· 0 ':4::::n

old ROM) convenientl~ turns the PETs cursor on.

Sets AS (the In~ut string) to null string,

:::;t.:;..nd.:;'j'"·dIIGET 1001':' II •

This test masks out all 0+ the cursor control ke~s,

. :0 1 1 1 0 1. 1. 1 in·=:'1on 1':~ nl.Arflet·ic:, ' = ' : " . h:·h.:;.. and ·:w,.:;'.ph ics to F · F . : I r'4T•Test +or JRETURN' ke~, ~es ••• turn cursor 0++. exit.

501(1

5(1;; : :(1

50:30

E.:.:tt'·.:;,.i:~?5i::~:. cou ~d b>? .i r'::.=::er··ed bei::ll.!een :=;O~:O .;:'r·,d 5040 to

inc lude OI.~t·'SOr" i . , , : : . f t. ·t· 1 ::~h:~ 3.nd..·Ot·· de le te. FiL::(. , . , :< Cr·,.:<r··.:;'.ct?r··

I::.:)untet·' i(li':_1ht: be l'".::r::lr··~::.:)t···:;..t~·d ~:') limit i::~'!e inr;",.lt stt··in':'1

len:~th.

ThE.' +01 101.'1 in':_1,:'t·'O·:'1t·'·:<JlI'-:I J 1 if' Buti::er··+ ie Id shol.!.Is the tr··I.~e

......: :. ' i.;_-ie 0+ ,:;..dec i;(,.::<1+ Io = . : . . . 1 :: in':_1;::-.::'n+ t"!i.Hflbet·· .;::._;_:::i::or-'ed b·::.~FET 1n-f 10,::<.t n::'l b i n,;::",t···=,. The ':"'··O·::'W'·:;'I!'Illustt-·.:=.tes hol.'': sor!!e dec iff,.:;I.l

i . _ . i . : : a . l l . . . ~ e : . = - C : . : ; t . r - j f ' - , r : : r t ~)e t-'er:'!-'eSEtrlte:(~ irl t, ir··I·='!~·':1 e . : · : . · ~ . c : t 1 ~::I. . T r ~ o I : : 1 1.1,3.1:_';E;rS

0+ 1. 1 1.;;:: ,:=.nd 1. 7.

t00 PRINT ' INPUT V

1 1 (1 F'F . : I r'n I t-H ( './ ::.; " • "j

1?~ V = (V - INT(V») * 10

130 PRINT CHP$(V + 48);

140 OOTC! 120

I F I·.·'~-::OOTe) 100

7"he +01 101,1.'1 n':;_1-·e+er·ence t.:;.b lEo shol.lJS

POVE lcII::.:.t ions. r'k:i::e the st·:=..t",t .::<.n.:4ndthe rnc,s"i:: s 1 · : . 1 t " 1 i- + i ':'1.:;'["ltd i '::'1t.:: .~:::' h.=,'s been

the t.:..b Ie. P>2:·r:·r··nt.;::·d -ft·'clrf' the C.OfMflodor··e

the screAn memor~

10';::.:='.1::ons ' : ; ' . 1 " ' 1 . : 4 th.:'.tdt··o;:·~:·ed tht·'OU·::'1hol.~t

..1,::<.1':',:='.1"1·~eI.IJsettet··.

Page 7: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 7/42

Page 8: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 8/42

I'

r . U

1 . J~~~~~ ' 1 , ~-;"""t·+ . ...·..;.·-+·+-t·+·++++++·+·+·+++-t-+·+·+·++-f ..-I-";-+..f-+·T

+++++.+ ., _ .+ - • .+-++++++.+++;-++++ .;-+++++;'

t .: :,0, ~-_.l. ....!::.l

l' i . - : - t

16Ci

F C ) F . : .J - = 'T !:i i ::1

- : : ." + : : + : : + = : + : + + + . + : ; . j O l l : :¥ . * : t j t : ' + : : t + . " " , . "1. !t-, ,..,..

! -.q:: .~

Et'~It

~:I:1 i.l,ij"J':::i t~·p:? E :.:.t:j' :;;~ li r.e ~';::le(1:::? ~ET rf~::(_lnt.::Iir··I:::: 1.Lr'p2

J , 1 . i r · ' , : : ' _ r : : ' I t.= a J ) Ie ir" : F:~- :~ t ( 'i.l.l~··:ii.::~i (~E:.tef-·f{f.i. r-,e::: 1.t,i~-·J1·?'t~-~t~t"· 1 : : r - I ' : : : ' 1 :. !'-"~: ' i .. ; ~ : ·3.

sin~l~ o~ a double line or more ~recis~l~., ·)er Or ~n~2r 40

i _ 4 ' : ' ' : ' 1 t- . ; : : < . de F C ) !'I::::

(~ I~~C: i!'(! ·3. 1 ~.:;_~.

t~ble is ke~t in P~M +rom 00E8

0229 to 6241 dec 553 - 57?', 1,-,

_.. ,;::."+1;'

:;;c' ~··!()I).1 !:4Ci lJ.d·:';' e ;. if{!.l. r-,.:;.t;:? 1~~";t::"3~_:'- (~.?_:'..:..:::t:.:El.r-·(~ 1 : : : : 1 11!'-!E' "::1=~,:'(4:::::'? ;Tj:lt~

c:()t) 1 ( ~ ;(1 1 . : ' . ' : : : 1 i ) . 1 i~t:~. IJC:/...;t-·S()r-' i_~";"3:1 ~i..~·t t·f s(::rj'{t-;:I 1 . 1 . :"'IE";::: . : : : - I r - · e :::~Clt.f~~1e .:;lrr(4

()t~"!er-'S s.il·"I·:"11e i:~~'is c ; · : : < f , r , ~ : : ! ! - : , ;.:::tl!E":,!~i~-I.;~o{tC:;!Arf,tt~?t-·s;.:!(!IE:" EE-":'t:'c:J .. : . ! t , ll':1 i+

~ou~ PRINT stri~~s end at OGlum~ 48. 1=-

line on the S8ree~. T~es~ b~tes WI 11 Gc~tain the 11nes hi~hC'r'·(~I:.~'r-·tflEf(IClt-":;;i .:~f.l-J::4t-·~,·~··:;:;:" ;'':is :=iC/i..f ~-. ;"'J:_);},i.' Si:::;t-~:~t:."i fjiE'r"Cir-":i : : : : 1 : : . ; : : . , . " 1 : : : : ; : .:;t,t

). ! r"ie

::;it-Ie:€'

-th.;'.the address 0+ ~ 1 L :'_;f:~' i.:::.=! ; ·.~E'r·- ! i:::--'()n; t:~'je

c·,t:: 't~~f~::'T;:i;:' 1 . . ~ . _ " P : : ; ' i).ti 1 1 ~-I:=I

add~ess .~ s:M~l~ $~0

is 123. The PEEK 0+ the

$8000 ( $ = hex ).

&1d the deoimal

~irst loca~ion 0+

;..-; '.lue: ::::PEEK0+

the;:.ddt· e E:::: is o+ . ; : : < . ' - " : : i c'.::.nC:~::'t·n to tl··,,::;o IJ.1t" .;:.,;: t: : ;I.b 1,",• F t 1 : : : : : : : , . ,

. . . . . : : ~ : . : . L ( ~ . . . : ; a = = : i;··, (~i. · f+=e!·~·t : ' ; ' - i · t lc!:~:·-;:. , t ic ' r·;:: ' : +;:),..-. (:! 1( :1 . : : < f _ ; · - , ( l r-I[o_?IJ) F:C1 I '1s

: ·- P .: II J J l .i )€ " :: -, ,' 1 1 ::;.;::..1 1 1::~- i .E!(i ' t lclc;,~.·tiCI,..·:S 1 i:}'·fr"'·,,:,,,.J li~-I , 2 ; : ~ : i11

-the t.:;.~)Ie

SCI fC'r-'

Page 9: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 9/42

4

1 . . 2 : ; : :

12:::

1,;:::;::

1,;:::;::

1 " : : : ; ; : ,

12:: '=:1 ' : : : : : ,

c.-_ ,

1';::9

i. _

[4

12_~

129

1?(i

1~:(1

i~:(1

1 ;~~:I16~.~i..

I . : : t Jf1

1';:[1

.= : ~~l

."i_ •• J . 1 ~: 1 .

1..::.1

1::1.. . ,. ,~. . " " , .

. . : : : -. • : : _ , _ f L;,l

:;::;(1[1(1

:;:;02::::

;;::~~l':;D

307:;::

: : : : :~)FtO

: : : ;~: ' IFC'

::; ; ! L i:::

::: 1 . ..j.f)

, : ; ! i:::,

:: 19':1

. : : : . L B · : : : ;

; ; : ; : J EO

e.~-: (~:=:

=:230

~\

,

I 1:; t , · , . ; ; : , ' . I . t r - · : ; : ' . I : ' t.:;:'.b 1.e FEE~;:' '.·'3. lues ' ' ' . 1et-·E' t-·e;;.r-··esented in

~)in·:;'j'"":;:l, to-,E' e 1 . ·:'1h+h bl. t i.i.lCU Id be s~:,t -h:, 1 in e·:;:..ch c·:;:.se·

\

\\

\

\

\\

Th is rt'le.:;:.n;:::th.:;'.t tf',,;:· 1:,,:::.r-'··E··5i:·C;c·,d 1n:~ 11ne 1S S 1r",·:'11e elf"' h.3S

ti ··, .: I j ··! 4~:1 C~·!.::'..t·,.::..c:tl+?t~·':=: ()f~ it It

- ,

I 2:::: _ . (I (t ' ~ 1 ~';) i~1 0 f1, .. . ,

1 [1 , , : t 0 (1 (1 1 1, ·.M

to the SC;t-'een 1.t.W·.:;'';:' .;:'.t"·I:.'-~nd

ch.::O.l'"·.;:..ctet"·s ·::os ;:·.::O.l'"·t of

the top two lines ( llnes

.:;; siT'i n::I 01' 52 ch.:;;.r·.:;;.cter"·s

r:'.::.~=:te,:,lurM", 40 .::O.ndor.+o

~'~hfo:7r"l C:f~l.~..tlo·' .:':;'•.::ter-'·:,:::: C r t _ , , - t . , , : , t _ 4 1 : : i'"1·:'1

f~' i':,i;-·,t s i(4E., F ' t : : : ' r Cj~~lr~{::.~:dE"f~'S t~-!es€'

. : : 0 . dG,-~b Ie 1ine

E in'", 1 0 : : . line

ljo?r-l-:~tt·! s l"~"!I? tJ.lr~·.~J:' t.::I~)~· r-'€"C:f':ir"::~S t~··-is k)'=i SJ:?i:-t: it"I':;

'=) i. -t 0-1:: t~-f€.:" »,).::! l,-~~' c::I!·-·t-·!::IS:r:;.r:)r-l'~~t"".!:~ t'':1 11ne .::: t':f Zet-·Cl.

tl.l.'O ' L ~ . nes::.re n,:,'.I; tr-e.=';I"ted b'-::I FET '=';''::'.;:. S i,.,':'1 1•2 line

e .::;·-·~ 1 nt.~· - + = ~ : , t . : : . ( ~ : : ; . . T t - l . 1 . s iz ffrO-:::i: r-!C,tic:e.;:.}) Ie iJ.I~-let-,

less

tho:-

t~"e

1 s.:r.t-·e

line

but rf,Ot"'e

of double

the ei·;;;th-thThe tc.p

hence the

usi n·:'1 the

Page 10: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 10/42

12::;::

C \

.?

- - _ .. ._ - - - , - - - _ .r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~

·:::>;)c:::;

.::;}!~~D

~;1 1 . : ; ;

'.. . : . . . ~:;: : ; , . : : '

", . -r-, ,-_'__ J.t.)_,

-, .'-.::.-:'-,..'';::'. ~.I·:::

-,

'-:<::'.l":".I ••.:

.-" ,e..

i. l1 - ' . : : ,L':" _o

. : . .

, .1 ' _ t.

_.••• 1

~ : . ; , _ : , - r r , : : . ;,

. . . . . . . . "''',-.• ,. fo _ •

)-

. ,'. "I' c.,

) -:: ..1 _,

-J-:'-,1--;

+. + .+ -/..'-:. + .+ '-:'-1" ·i· -t - + + . ;. . ... .+ . o i - . .:. . .+.+ +...;..-l-

; ~I, '

\ -,,-_;•. .:,t,.'

.:._!:..i

" !

. :. . J .

-,

-, ;

. J . ; : i.

", I-, I -,.;

. . ":' .. .

+ * * * * * . t * . · * * * * * * * + ~ ~ + + ~ + + + + + + + ~ + + + + + + + +'1''1''';'+ +,,*,+.!-++,,_., . .'. :......++++-_.+

t ~ + * * * * * * * * * * * * * * * + + + + + + + + + + + + + + + + + + + + + +r";" ..- .• •. ~ +. '"!' -l- -'i~ ' 1 - . .; •• · i· · . •j .

i -::"•. . - _ . ' .. .

:;O::il .../f·· P.. ,.· C:·~_;r~·.::t.r~·!.' t}-P::, ' ; _; ; l . . : . = t . : : ; : l.~;:,':~:'i·: ·'=~,.:I li. .f t 1 C,i··0j i7 r(t.:)~::~:'_ : ; 1 . o J. 1 11 r - : e - . ~ : : :

~rl ::::e r":t t~-IE' - t < ~ : , 1 1 . : , : : 1 1 . 1 ) i"-:':::1 1 : : ' ~ 1 r:~':E ,1,~,:'::. : : : t ; j . · · , I : : : ' E' ~J; i I I~j " i ' ~ : ' te, : '' ' ' ' . : ; '; ; ' ; r": ·3J!!

it

• 1 '= ::';. :_ !- ... '

i::'J~ J _..

; : : : ' O k : E . J

:::2, T,) _~,~:

::: O f:: 1 '"

= = :::[Et::: . T

'- 'r"lE < ' 1 "

' ·· iE:·:T

i.45 u:::edtc. s,::,t 1 : : 1 - " , . ; : ' ",-l:O:ih·th

1:··:: ,b l.,:;~ S'..,lch -t :h :=. t F'E:T

~ ._.L .:.

Page 11: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 11/42

._ T irft BI_~ter·f ie ld

Entr":1 PO i n+s seen in 1 , ) . : ' . 1 ' " ' iOI_~S~:,t-·o·:.w·.:.mmet-·.S rII·:'.d-1ine 1.:'.n·:'11_~·:.:~e~:,t-·Ct·~t-··:.ms.The user is c.:'.,-~tioned to chec:k out the I·}·:.riousr'ol_~tines car-e+u 11':1 foro, ~:,t-·or.'et-·setw:· befor'e '::.:'.11in·:'1., t-·e·:'1s+er-sI.~sed., etc.

OF.:IG UPGF.:~ r"-'C'C'I _ . . .:,._I( _'.:"0_10_1

I-..·C"= t C::357, ,_, ._)_.

C : : ; : : : : : : B C:~: : : :9

C3AC G:3ABC43t1 (:439C:4:3:~: C442C4:::I1 (:495r'C' .-:,.-;,C52C. •_I~. : . . .

C:55:3 C55I1[:56A r o C " - : a . - .

_.._If .::.

C59A C5A7C:6E:5 C6(:4C::=:6:~: (0'-,-,,,-,

·C·IO.; :"

C9CE C9DEC9D2 (:9E2CA27 CAlCCA2D C:R22(:A49 CA45CEll CDFBeEl:':: C[lFACEIC CE03D079 D~j69Dt1A7 Dt19AIJ27::: D26DD679 D67B

D6SD D68FD6C4 D6C6D?:3C II77:~;DBFD D9:34D9B4 D9EEDA74 DAAEDBIB DB55DC9F DCD9DCA9 DCE3DCAF DCE9E::::Eti E : 3 I I : : :

na E775

na E7A?n·:. . E7:E:6F(1B6 F0:B6F0BA F0:E:AF1 2C : F 1 2:::E7IIE F156F16? F16FF17A F17FF17E Fl:::3

FIB? F1SCF 2 C : : : ! F2A9F2CD F2AE

DESCF.:PTI O H

?OUT OF t'1ENOF.:'r'

Send Bas ic er-r-or- rt'less.:.,.·E;le-~,J.:.rr i l star·t .' Bas icCrunch & insert lineFix chainin9 & READY.Fi: < chai ninSi

Cr-unch tc,kensFind line in BaS1CDCI t'~B'JDo CLRRe-set B·:.si c to st.:.r·tCon+i nue Bas ic e-::<ecl~tionGet f i;<ed-pc, i nt number- +r-om B·:,si o ,

Se-nd ReturnJLF if in screen modeSend ReturnJ Linefee-dPt-.i nt s+r- in-::tPrint precomputed stringProi rrt ch.:.r.:..ctet-·Check fl:lt-· C1:1flirft.:'.

Chec:k fot-· s~:·ecific d-i.:'1"'.:'.c:te-t-.,.S'T'tHA>::EF.:HOF.:..

BI...lfiIP , / . : . . 1 ' " ' i . : . J : r le Adck'ess b':I 2F loa+ t'J Fi>~edcon ....r-sionFi;:.::ed to FIoa+ conver-s ionGet b~te- to X re-g

E'.}.:t.ll~.:.:te Stt-·in ':_i

Ge-t tlJ.ICIp.:.r·aIiletet-·sAdd (from memor~)t , 1 t . ~1tip 1':1 b':I memoP':I lcu::.:t.t1ont ' 1 i . . - I 1t i ;:,1':1h':! t.enUnp.:t.c:k mertKlt-":I 1.. . .. 1 " ' i . : . J : I Ie tCI ACCI..jril # 1Celm;:'eticln of Fixed to F l'J.3.t conver-sionPrint fixed-point valuePr - int flO.:'.tin·~-t:'CIint I.}.:'. It..jeConvert number to ASCII strin9Proi nt .:'. c:h.:..r-.:..cte-t"·Ol.At~:'ut b':lte as 2 he::.;: d i ' : ' i i+sInput 2 hex di9its to AInput 1 hex di9it to ASend /talk/ to IEEESend /listen/ to IEEESe-nd Sec:,:,nd.:..t"·':1Addt-'ess!:;end c·:'.nne(~ mess·:':E;leSend ch.:..t"'.:...::ter· to IEEE~ : :e t- Ia :~ un+a 1 1 - : : _ . '

Senl~ I _ m 1i sten ...

I t"lt:'ut + r - o m IEEEClose logical fileClose logical file in A

Page 12: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 12/42

F32R F301 Check -Fm-'Stm:· l.::e·::IF33F F315 Send messa:E.1e-FDi r'€';:;~modena F322 LORDsubr-ou+ineF3DB F3E6 ?LORDERF~ORF3E5 F3EF Prorrt RERII'T'& t-'eset Basi c +o sta.t-·tF3FF F40A Print SEARCHING••F411 F41D Print -File nameF43F F447 Get LOAD/SR'·..E type t:·ar·alileter·sF462 F466 Open IEEE channel -For output.F495 F494 Find stjel::i -Fic ta.t:·e headet-· block

FS04 F4FD Get str'i n~F52A F521 Open los ica I -Fi le -Ft-'ominput t:·ar·.:'IiletepsF52D' F524 Open Ios i ca.1 -F IeF579 F56E ?FILE N O T FOIJHDJc lear' I,..JOFS7B F570 Send error messa~eF5AE F5A6 Find .any ta.tje headet-· b IockF64D F63C Get pointers +or- tape LOADF667 F656 Set tape tll.J-f-fer·st.:;.r-·t acldt-'essF67D F66C Set cassette bu-f-Fer pointersF6E6 F6F0 Close IEEE ohanne I

F78B F77l:1Set int:·ut device -t=r·I::.mO:1ica 1 -fi Ie numbet-·F7DC F7Be: Set output de'~.'ce -ft-"omLFN.F83B F812 PRESSPLA'y'• ; w.:..iF87F F855 Read taPe to bu-f-fet-·F88A F85E Read taPeF8B9 F886 Wri te tape -Fr'ombl.J-fferF8C1 F88E Wri te tape ~ leader' length inAF913 F8E6 Wait - F c . " . . . I/O complete car Stop l.<e·:.iFBDCFB76 Reset tape I/O poi rrter-

FD1B FC9B Set inter"rl.Jpt .vectorFFC6 FFC6 Set input deviceFFC9FFC9 Set output device

FFCCFFCC Restore de-fault 110 devices. FFCF FFCF Input char'ac:ter'FFD2 FFD2 Output char'ac:ter'FFE4 FFE4 Get character

Page 13: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 13/42

E•...en 1.1.1th ·a :32K PET., i tis des ir'.able to ha..·)e .:.. me·:.t"ls ofh.:..nd1in·:'1pt··O·:'W·.BIflSnsect ions , tCI be Ioaded .BS neceSS·Br':!. ThePET i rflP leulent.B.t i on of the 10.B.dcommend ft··om .B.pt··O-:'W··3Ifloes not

f'eset .3.n':!po i nter·s., so th.3.t 1),Br i- E f bles - ·2Ire pt··eset··,...d. HCIIJJel...t··.,·:en':!nel.l.lpr·o·:.1t"··2IIfIl.~st be the S·2IIflelen·:'1th ot·· shot··tet·· th.:e.t1 ~he

first of the series.

In o r-d er - to rn.2Ikecet··t.B.in det.B.i Is such .BS -f ilen.;:'IIIes .;:..nd the diskcomm.3.ndstr··.BnSP.Brent to the end uset··., it riI ': '.'::I be des i t··ed to h.3.'.}e.:;..sma l 1 +r-on+ end o r- menu pr·o·:'W·.:;'IfI0.B.dothet··., 10t·r:'1et··"':'t··0·:'W··9Ins.

t·tO1·..3ri .3bles need be p.:'.ssed betl.lJeen the Pt··O·:'1t··aIfIS.'CI ·9. Sim~:'IeLOAI ! IIne::·::tm-"o·:'W·.;:'Ifl" .' :;:: suff ic:es.

Ho1.1.1'·)er·.. Sinee the •·..r-i; : ' . b Ie poin+er-s ·:;'j'"·e nc.t r·eset., the':! IJJ11be ~:'o n + i n·:'1into the IOt-·O·:'W··:;'IfI. As soon ·;:.s .3.t)':! 1·}·2Ir.3hles .B1"'e'

I_~sed..the Pt-·O·:'W··BIIIs d i stuf·bed.. .;:.nd ·B.m.B.C:hne crash fO':'.':!"esu 1t.

Cer·t.B,in I':!.. th i s ~I.Ill (:·;:.use .3.non-t-·eco'·.·let-·.:e1:,e en-·or·. Th is m·B.':!be ·3.'·..0i c~edb';;.4nc Iud in·:'1the fo 1101.1.1n·:'11ine .3S the f it-·st of theP to . (I: 'W· .3m

POKE42 ..EEK(201):POKE43 ..EEK(202):CLR

This t-'esets the bottc'rfI of te::·::t »oin+er- .3nd then the eLF:: r··esetsa l l the o+her- »oin+er-s , The ~:W·0·:.1t"·.3Ifl ~I.lill nOIJ.I nom.

If th i sis the f ir-s+ 1i ne in.:.. pr-·CI·:'W·.Blfl.'Bnd ';;.4CII.4modif':! thet:'r-·O·:'W··BIfl.'O t·KlTuse the F.:Ut·tcommand 1 . 1 . 1 i th no par.BIIIetet-·s. :;:;t.B.,...tr - un ine the pr·0·:'W·.3IIIr - om b e 101.1.1his l ine , or- the pointer's I.vi 11

be r··esE't to thE' Pt··e'·.Jiol.~Send of the Pt··o·:w·.;:.II'I.In ·:'1ener-·.B.l..';;.40UIJ.lOljd lose the S·BIfie nl.~mbE'r·clf b';;.4tesas 1.I.IE't··eaddec4.

BI.~t 1.l)h.3.t;:.J)OI.~toi n·:'1·B.link of tl.l.lO~:,t··O·:.it"··3If1Snd t:'·BSSit·I':'1 da.t.:..betl.lJE'en them?

Thi sis t-'e1.3.t',,)ehI s i fflPle , A scr-a+ch file C·Bnbe c:t··eatedf 1led J . I J ith the I....r-i .3.bles to bE' p.3ssed. These 1·..B1"'.3bIesthen t··ea.db';;.4he second t=ot-·o·:w·2IIfI.

.Bnd·;:'1"'e

HOI.lJe'..er·.. bec.B.t~SE'of thE' disk ..s h,Bnd1i n·:'1 of se':'I.1.4E'nta l +i Ies . itis .B.d'...S.BJ:,e to ·:'1E'net··.;:'.te;;.4ow·,rum (:·3rr i·3.-:'1E'··E'tw··ns betu.lE'en d.9.t.B.itE'riis. Usin·:'1the fot··rfJ.3.t

1.1.1ll . :C. '·}O i d .Bi"I';;.4com»1i ca.t ions due to unw.B.t"Ited 1i neCh.B.t"·.:c.c:tet··s.

feed

Page 14: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 14/42

It I , I . IC'U Id be .:t.·:'iood i de.:t. to h·:t.'·.·'ehe f i t-'st m - " _ ) :g-' sm check for' ·3 .

Pt-'e-e>::st i n·:'ifile .:t.nde i thE:,t-·d€' lete 1 t., (;r-' IJ.I.;:,rn the user' + , - ,d-,.:tn~e disks. Ob'....ious 1 ': :1 ., . ; : , . dif+E:<t-'ent fi len.;:'Iflecsnno+ be used.,unless user intervention is provided~ which in general would

slow the s~stem down.

The ex is+ence of a. pt-·e'.'ic"JS fi le c:·: ;t.n be checked most e·:=..si1';:1 b'::Iopen ing the f i len.:tme., e i thet-· for' t-·e·;:,dr - I.IW· i te., and C::-,E'ck in·: '1the er-r-or- channe 1. If .:t.r·e.:t.dPt-'od'-Kes IIFILE t·KlT FoUt·mI or - ' ·3 .

IJW'i te succeeds then the f i len.:.me h.:..s not been I_~sed. Othen.1.!ise ..some ac+ ion shou Id be t.:tl::en. ~:;ct-·a.tch files sh("ll_~d .:t.lso bede leted 1.l.Ihenhe'=, ar'e of no fw-·thet-· use.

This a lso a l 101. I . IS Iorre Pt-·O·:'it-·.:'JilSf the number+cr-unch in ':_1 !...'.::;.~-.iet':.{to be intet-·t-·w:oted and f-·estar·ted. One cou Id wri te t:'t-·':'·='w"·:;;Jf!:;.d th.:t.'....t-·'='Ions r-un time so th.:'.t the'=, C:.:t.nI':'"'0 to sleep II eii::het-· b'::Ike'=,l:"j.:.r·dcommand ot-· .:..fter· .:..set t i if,e.

The ril.:.d-,ne II I illis not +ound,

Programming

PET DOS SUPPORT PROGRAM By R. J. Fairbairn

Now that the COMMODORE 2040 Floppy Disk System is reaching

PET owners more support programs are needed. The PET DOS

SUPPORT Program is an aid to the 2040 User which humanizes

the PET to 2040 interface better than direct mode BASICstatements.

This program consists of two routines; a BASIC driver routineand a machine language routine. The BASIC program calls the

machine language which moves the working portion of itself

up into high memory. The subroutine then links itself into

the CHRGET subroutine in page zero and before returning moves

the top of memory pointer down so BASIC will not destroy the

working portion. The BASIC program then clears the PET

screen and displays an abbreviated set of instructions before

executing a NEW command.

Figure A and Figure B are the BASIC and ASSEMBLY Listings of

the DOS SUPPORT Program. The programs are entered into thePET as follows. First reset the PET so the memory is initial~

ized, this makes entry of machine code simpler. After the

PET has been reset type in the BASIC program exactly as

listed in figure A. Then using the machine language monitor

enter the object code for the machine language subroutine at

$0700 hex. After entry save both routines from the monitor

{SA =$0400,EA = $08B8}. Finally, using the instructions

included in this article test the program to insure correctoperation. Good luck and happy computing.

Page 15: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 15/42

WARNING: It is advisable to use diskettes that are new orthat contain no valuable data during the test phase. Thiswill avoid loss of important data and your time.

The purpose of this program is to aid the CBM or PET 2001User in operating the 2040 Dual Floppy Disk System. Thisinstruction sheet has been written with the assumption thatthe reader has a working knowledge of the 2001 series and

the 2040.

NOTE: This program has been placed in the public domainbut if you would like us to produce a copy for you, sendus a blank disk and we'll duplicate the DOS SUPPORT Programon it at no charge. Though, we do ask that you include aself-addressed ,stamped envelope. If you have any commentsor suggestions on the following, please refer them to the

!editor.

The normal method with which the PET communicates with anIEEE Buss device is by the BASIC commands OPEN, PRINT, GET,

INPUT and CLOSE. These statements are somewhat verbose innature and therefore more prone to operator error. Thereis also the limitation that INPUT and GET cannot be used indirect mode due to shared buffer areas. These conditionsare easily handled with the DOS SUPPORT PROGRAM.

DOS SUPPORT PROGRAM may be loaded (saved) as if it werea normal BASIC program. Note should be made of the factthat the 2040 has a special load file name '*' which ifused immediatly after power up (reset) executes the following:

1. Initalizes Drive 02. Loads the first file on that drive

Thus if the command LOAD"*",8 is executed and the DOSSUPPORT Program is the first directory entry it will beloaded. When the DOS SUPPORT Program is executed it re-locates itself up into the highest available RAM memorylocations, links into the CHRGET routine and adjusts BASIC'stop of memory pointer down. This technique uses about 350

bytes of the Users memory but normal machine operations mayproceed without having to reload the DOS SUPPORT Programuntil such time that a system reset is performed.

The DOS SUPPORT Program functions by capturing the data thatthe PET operating system passes to BASIC, before the inter-

preter has a chance to parse it. Thus we can look for Key(escape) characters and process the disk command whichfollows without the use or knowledge of the BASIC interpreter.

There are four key characters that are recognized by theDOS SUPPORT Program. They will be processed only when theyare found in column one of an input line, otherwise a SYNTAXERROR will occur.

Page 16: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 16/42

DOS SUPPORT KEY CHARACTERS

@ or > - Passes comma~c~ to the Disk.

/ - LOAD's a program.

t - LOAD's and RUN's a program.

The greater than symbol when used preceeding a 2040 Diskcommand passes that command directly to the Floppy Disk

System. See the following examples.

Thus:>I$J

is the same as:PRINT#15,"I$J"

and:>S$J:FILEI

is equal to:

PRINT#15,"S$J:FILEl"

As you can see the > symbol is a substitute for the PRINT#15statement. Remember that an OPEN statement is requiredbefore a PRINT may be executed but no OPEN is required forthe DOS SUPPORT Program.

The second function of the > command is the directory listcommand. As you know the directory of a minidisk can be

loaded with a LOAD"$$J",8. This LOAD will destroy any pro-

gram you might have in memory. To avoid the destruction

of the current program the DOS SUPPORT program prints the

directory on the screen.

To avoid possible directory sorolling,you may depress theSPACE key to stop the listing of a directory. Depress anykey to continue the listing - or you may depress the RUN/STOP key to stop the directory listing and return to BASIC.

>$$J

Means - Display the entire directory of Drive $J

>$l:Q*

Means - Display the directory entries of all files on Drive 1

that have names starting with the letter Q.

The third function of the > command is the error channel in-

terrogation feature. The error channel is read by typing a >

followed immediately by a RETURN. This is equivilent to thefollowing program segment.

10 OPEN 15,8,15

20 INPUT#15,ER,MSG$,DRV,SEC30?ER",MSG$","DRV","SEC

Page 17: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 17/42

For Users that have the CBMModel Business Keyboard the"@" key may be used in place of the> for key entry con-

vience. This eliminates shifting for this command.

The LOAD/ and LOAD-RUNt command characters operate thesame as their BASIC counterparts only with a simplified

syntax as follows: /WUMPUS

- This conmandwill load the program file WUMPUS.Both drives

will be searched if required.

tl:OOPYDISKFILES

-'!his ccmnandwill load the program COPYDISKFILESfran Drive1 (if it is there) and execute it.

'!he following requirerrents and limitations are placed on the DOS

SUPPORI'rogramUser.

1. '!he DOSSUPPORI'oomandsmayonly be used in the direct nnde.

2. '!he coomandsmust start in Colurm 1.

The user mayprint the directory by using the following corrmands:

OPEN 4,4: CM>4 Opens device 4 and changes the primary

output device to 4

> $ $ J Print the directory

PRINT#4 CLOSE 4 Return the default output device tothe screen and close the file

5 8.,.'82222

10 PRIt-lT":,]"TAB(ll)" "

20 PR I tHTAE: ( 11) ";1 PET DOS SliPPORT II

30 PR I HTTAE: ( 14:> "t-lIJl.J LOADED

40 PF.:IHTTAB(9)" Cor·1t·1AHIIS FOlLOJ..Jlt-lO"

S0 PRltHTAB(7) "A : > OF~ @ It-l COLUMN 1 WILL"

60 F'F.:ItHTAE:(9)"BE PASSED TO THE DI::*:.:~"

90 PR I HTTAB 0 :: 7:> IIcnn IIE::a::R I PT I ONII

14€1 PRItHTAB(7)"$ DIF.:ECTOF.:'T' E:OTH DRI'./ES150 PRItHTAB(7)"$0 DIF~ECTOR'T' DF.:I'· E 0

160 PRItHTAB(7) "$1 DIF.:ECTOF.:'T' DF.:I'· E D!~"

180 PF.:I tHTAB (7::' II ALL 2040 COMt-1At-m:; t·1A'.,.'BE

19(1 PF~nITTAB(7)"EtHEREII A:3 IF THE'T' l·JEf:::E IN

20€1 PF.:IHTTAB(7)"A PF~HH# STATENEHT.

220 PF.:I tHTAB';: 11 ::.":"l~;PEC I Al C:Ot·1t·1At·mS2:3€1 Pf:::U-ITTAB(7) " ) ! ! 1 · · · · LOAD A PF.:OOPAN

240 PRINTTAB';:7)"~ RUN A PROGRAM

250 PRINT" SPECIAL COMMANDS START IN COL 1 AND

260 PF.:UH"ARE FOLLm·JEII E : ' T ' A 204(1 FILEHHt·1E.270 HEJ..J

Page 18: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 18/42

F'ETI!OS4. O.

L It-tE# LOC COIlE

~~1(101 000(1

0002 000(1

0(103 0(10(1

(1(104 000(1

00~35 0000(1(106 0(100

(1~)07 (U)(1(1

~J0(18 0000

(1(1(19 000(1

(1010 (1(10(1

0011 00(1(1

(1(:112 0(10(1

0013 0000

0014 (1(100

0015 0000

0016 (1(1(10

(n)17 0000001:3 00(1(1

0019 000(1

(n)20 00(1(1

0021 0000

(1(122 00~)0

002:3 ~J000

0024 0(10(1

0025 (1(10(1

0026 (1000

0(127 000~~1

0(128 00(10

(n)29 0000

0(131 0(1(10

(1(132 0000

(1(133 0000

(1(134 00(1(1

(1(1:35 000(1

~](136 ';::1(1(U3

(1(1::::7 000(1

(1(1::::::;: 0(10(1

(1(1:39 (1(10(1

(1040 (1(10(1

0041 OO(n)(1(142 0000

(1(143 0(10(1

0(144 0000

0045 (1000

0046 000(1

(1047 000(1

004::;: 00(1(1

(nJ49 (10~)(1

(1(150 0000

(1051 (1(1(1(1

LIt-. IE

; * . * • • • • • * * * * * * * * * * * * * * * * * * * * * * *;*; * PET OCIS SUPPOPT

.*

. ;* 04-27-79;*; * sos FA I F.~BAF.~t-t

.*; * * • • • • * * . * * * * * * * * * * * * * * * * * * * * * *. : *;*;*;*;*.*;*

.* VERSION 3.2 7/2/79FOF.~.::-(4) F~Ot1

WITH LOAI! ADDRESS ONE OFF

:E:'T'TELOLoJ.

'·..£'":8 I Ot-~3. 1 6/14 ..79

ADD @PROMPT FOR BUSINESS

KEYBOARD. ADI! STOP KEY CHECK

IN DIRECTORY PRINT. ADD

HALT IN DIRECTORY PRINT

.:*;*;*;*; * VERSION 3.3 7/2/79

; * ADD STACk: LOOKUP FOP

;*;*. : *. ; *.:*

. : *

AC:TIVATION.

'·/ERSI ON 4. 0 7/5.---'79

ADD CONTROL FOR CMD I!URING

A DIRECTORY LISTING •

.:E:ASIC VARIABLES USEI'

VEF.:CI< =$9II

::;:AL =$C7

SAH =$C8

~·JSLoJ =$.:83

CtHDH =$BA

GPE:TOP =$5C

t1Et-1SZ =$:34

nHPTF.~ =$77-::;PEPF.: =$10

BUF =$0200

:3ATU:;:; =$96

:3A =$II:3

FA =$II4

LA =$lI2

Ft-tLEt-~ =$I.l

H~ADF: =$DA

EAL. =$C9

EAH =:f:CA

.:'.,IEF~FY FLAG

; INDIRECT POINTER LO

.:HI

;UNUSED FLAG (BASIC)

.:SA'·...E APEA

; INDIRECT POINTEF:

;POINTER TO TOP t-1EM

; POlt·HEF.~ TO BUF

;EOI EPROR BIT

;BASIC INPUT BUFFER

; STATUS B'T'TE

;SECONDAPV ADDRESS

;PRIMAPY AliDRESS

;LOGICAL DEVICE #

;FILE NAME LENGTH

;FILE NAt-1E ADDRESS

:END AIIIIP LO

:HI

Page 19: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 19/42

0052 00(1(1

0(15:: ~)OOO

0054 0000

[1055 (10(1(1

0(156 00(1(1

0057 0(1(1(1

005:;:: (1(1(1(1

0(:59 0000

006(1 (1(1(1(1

)(161 0'300

0(16:3 00(10

(1064 (1(10(1

0(165 000(1

(1066 0000

(H367 0000

0(16::: (11210(1

0(169 0(1(10

0(17(1 000(1

0(171 000(1

0072 0(100

(107:30(1(10

(1(174 0000

0075 (1(100

0(176 0(100

0077 (1'3(10

0078 (1(10(1

':;:1(179 000(1

008(1 (1(100

(1(1 : 1 '30(1(1

0(1:::2 00(1(1

0083 (l(l(H_)

00:::4 0(1(1(1

00:::5 eeco(n):::6 0000

00:::7 0(1(1(1

0(1::::3 000(1

(1089 (1000

0090 ,)(10':::1

(H)91 0000

0092 (1(1(1(1

0(19:) 0&)(10

(1(194 000(1

0096 00(1(1

0097 000(1

0098 (1(1000(199 000(1

(110(1 0000

01 (11 07(n)

(11(12 0700 EA

(110:3 0701 E6 77

(1104 (170:::: De102

0105 (1705 E6 7:3

01 t16 '3707 :=:6 B'-'»

DFLiU =:tBO

'·/AF.:THt: ==$2A

H1F'2 =$FD

,PROGRAM VARIABLES

CF: ::::tOIl

FLAC;:::l·J~:;l·J

F'IAV =:tE812

CMIILN =CMDENII-CMD

;PET ROUTINES USED

LIt·WRT =$DCII9

'::;Pt'l:::;G =$F:315

LDI5 =$F:322

nJAIT =$F::::E6

CHF.:CiET ==$70

CHPCiOT =$76

t'~El-J~=;TT=$C6C4

F'PT =:tE3D:3

LISTN =$F(1BA

~::ECt·m =$F12::;:

ClOUT =$F16F

UNL~:;;t~ =$F183

ACPTF.: =$FI8C

TAU< =$FOB6

OPENI =$F466

FCLO:::;E =$F2AE

PEAD'T' =$C: : 3E :9

F~Ut~C: =$(:572

U-W:F 'PG =$(:442

Utnu::: =$:F17F

3T>::1'F'T =$(:5A7CHKlt·~ ==:tF77(1

C:HVCJUT =$F7BC

CLF.:CHN ==$FFCC

1:A::;I N =$FFCF

:3TOPl =$F3(t1

B~:;OUT =$FFfl2

FOPEt·~ =$F524

LD209 =$F3E6

.:DEFAUL T OUTPUT DE..,..

,END OF BASIC PGM.; TENP 'O/AF.:AE:LE

. ~3'y't'1E:OLC C:APFi: AGE PETURH

; B'T'TE U~;EIt AS A FLAG

; KE'T'E:OAPIt 1.···0 POfH

; LH~CnH OF PELCOATE

; PPIt·n LINE ..

; SEt~D A t'lE~:;;SAGE

.;LOAD POLITI t-4E

;WAIT FOR STOP KEY

; INPUTS CHARACTEPS

; GET LA:::;T CHAR

;NEW STATEMENT EXEC

;PRINT A CHARACTEP

; :::;EHD L I ~:;;TEt-4

;~;Et-m ~;A

; ~;END CHAPACTEF.:

.;Ut..JL I STEH

;GET A CHAF.:CATEF~

.;SEt·HI TALI<

; OPEt·~ FILE

.;CLO!=;E FILE

.;REa·HER E:ASIC

; CLEAR VAFi:I ABLES

;LINK BASIC LINES

.;Ut~ TALK

;SET START TEXT POINTER.;CHEC:K IH

; C:HEC:K OUT

; CLEAF.: CHANt'~EL

; BA~:;;IC IN

;CHECK FOR STOP KEY

;BASIC OUT

;FILE OPEH

; LOAD EF.:F.:OF.:

;WEDGE IN ROUTINE WITH THE

;COMNAND PARSEF.: AND EXECUTITIOH

cnn t..JOP

I t..JCT~HPTF.:

Bt'~E loJG(1(1

I tK: T>=:TF'TF.:+

l·JC;1ee : : ; ; 1 ; . : : WSI.oJ

.;THF.:Ol·JNAI.oJAT '

.;BUt'lP POI tHER

Page 20: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 20/42

0107 0709 Bli T'::·'···· ;(;ET STACK POlt-lTER_ . . . . .

010E: 070A BII 01 01 LDA $OHH .. > <

(11e9 07€m C9 9B Ct1F' #$9B .;I.oJEPE ~.JE CALLED BY MAlt·~

(111(1 ~)70F 11(1 :;:A I: HE t..fOi·i,;r t-.l .; t-.lO•••

0111 e711 E:I! ~)201 LIlA $0102 .' ~.:: .;I'1A'T'E:E?

(1112 (1714 (:9 c·-' Cl'lP #$C3. :, .

011:::: (1716 11(1 :3 :3 E:t..fE NOt1AI t..f .;nor THERt:: •••

0114 071E: A5 ~"7 LDA n<:TPTR ; FIF.:ST COLUt1N. I

(1115 071A DO 2(: Bt~E WG997 .;GET OUT t..fOT FIRST CHR

0116 071C A5 78 LDA n<TPTF.:+1(1117 (171E C9 02 Cl'lp #)BUF .; I t..f BUFFER?

(111:3 072(1 DO 26 E:t-.lE l·J(;997

0119 (172.2

012(1 0722 Ae 0(1 l·JG110 LD'T' #0 . ; • Y 1'-· BliF It"DE~<

(1121 (1724 :34 B·-' ST',.' FLAG .;FLAG SET FOR DIR»

0122 0726 B1 77 LDA ( TXTPTR ) .' 'T'

0123 072:=: C9 3E CMP #.') ; COMMAND PF.:OMPT?

0124 072A F0 11 BEQ WG115 .;'·..ES•••

~:1125 (172(: C9 40 Ct'lp # ...@ .;BUS I t-tESS KE'T'BOARD PF.:CIIPT

0126 072E F0 OD BEQ W(;115 . ; I T IES • ••

(1127 (1730 C8 INY

(1128 0731 85 E··-' STA FLAG .;SET FLAG FOR LOAD._ ~

0129 0733 C9 2F Ct'lP # .../ .;LOAD PROMPT

0130 (1735 FO 6:3 BEQ IIOD I F.:

01:31 0737 C9 5E CMP #94 .:CHECK FOR ARROW

(1132 0739 FO 5F BEQ IIODIF~

l:1133 073B IIO OB BNE WG997

(11 :34 073I1 C8 I.oJG115 IN'T'

01:35 073E Bl~. , .

LIlA (T><TPTR) .•Y. . .

0136 0740 FO .- . .- . BEQ F.:DERR .:READ ERROR CHANNEL. : , . c : . .

0137 0742 (:9 24 CMP #.'$ .;III RECTORY?

01:38 0744 FO 54 BEQ DOIIIR .;YES

0139 0746 II0 08 BHE NOTIIIR

0140 0748 4(: 76 00 WG997 .JMP CHRGOT

0141 (174B A6 B3 NOt1AIN LD>C: I.oJSloJ .;F~ESTORE .X AND

0142 074D 4C 76 (10 .JMP CHRGOT .; RETURN TO CHRGOT

0144 075(1

0145 0750 SEND COMMAND TO DISK0146 0750

0147 0750 A9 08 t-.lOTDIR LIlA #8 .;GET IIEVICE ADDRESS0148 0752 85 II4 8TA FA0149 0754 A9 6F LDA #$6F .;SECONDARY ADDRESS 15e150 0756 85 II3 STA SAe151 (1758 20 BA FO ~TSR LISTt..j(1152 e75B A5 D3 LIlA SA

015:3 075I1 20 28 Fl .JSR SECt-tII .;SENII SEC(It-tDAR'T' ADIIR(1154 076e E6 77 BlIt-1P INC nnPTF.:(1155 0762 AO 0(1 LDY #0 .; INDEX=0(1156 0764 Bl 77 LIlA (T>C:TPTF.: : > . ' 'T' .;GET THE FIRST CHARACTER(1157 0766 FO (16 BEQ WG120 .;ZEF.:O IS LAST CHAR0158 0768 20 6F Fl ~TSR CIOLIT .;SEND THE CHAR0159 076B B8 CLV0160 076C 50 F·-· B 1 , . , 1 C: BUl'lF' .;t'10RE;

0161 076E

0162 076E 20r.'-,

F1 ~.J(;120 JSF.: UHLSN .:UN LISTEN..:a

Page 21: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 21/42

(1163 0771 B8 CL'",'

0164 (1772 5 (1 .-,.-, EVC l ·JG99E::: : .;,

(1165 ~3774

0166 0774 REAl i TH E ERFWF.: CHANNEL

0167 0774

0168 0774 84 77 RIIEF.:R ~ ; T J T J n::TF'TF.: .rrx POINTER

0169 (1776 A9 08 LIrA #,-, ;:3ET FA·

(1170 0778 8 5 114 STA FA

0171 077A 2(1 B6 FO .J:3F.:ALI(

0172 077D A9 6F LIlA #$6F .;COM I' l AN IICH AN NEL SA

0173 077F 85 D3 :::;TAA

0174 (1781 20 28 F1 .JSF.:sscun .;:5END SA

0175 0784 2£1 8e F l J..J0140 .JSf:!:CPTP ;OET B 'T' TEF ROM DISI<

0176 0787 [:9 (111 Ct' lP#CP

0177 (17:=:9 FO (16 BEQ J..JG130

0178 (178B 20 D8 E·-· JSR F ' F ~T .;PPltH B'y'TE TO SCREEN.;0

0179 (178E B8 CL'...

0180 078F 50 F-' B··.. I.-JG14(1 ;LOOP FOf:!:OF.:E.;0

0181 0791 20 DS E3 WG130 J: 3R F 'RT .;PRltH Cf:!:

0182 (1794 20 7F Fl .J SR U tH L K .:UN TAU<0183 0797 4C 76 0(1 J..JG998 .JI'lPHROOT ;IIONE WITH CMIr

(118 5 079A

0186 079A .;PRINT TH E IIIF: :ECTOR ' T'

0187 079A0188 079A C8 IIODIR IN.,.' .; GET LENGTH OF (:t1I.

0189 079B Bl 77 LIrA < : T>: :TPTF .:.'T '

01913 079D n e F B B NE nor.IF.:

e191 079F 88 DE''''(1192 (17A0 EI4 Dl ST',..NLEN .;SET LEt-lOTH (-1)

e19:3 ~37A2 A9 (11 L DA #(B UF+l ; FILE NAME ADI'F.:ESS

e194 07A4 8 5 DA STA FNAIrF~

e195 07A6 A9 (12 LI.A tDB UFe196' 07A8 8 5 DB STA FNADf:!:+l

0197 07AA A9 e8 LIlA #.-. .;IIE· ·..CE ADDPESS:: ;

0198 07A(: 8C" D4 STA FA_ ,

(1199 07AE A5 B3 L IrA F L AG €I t'lERNS DIR

e20e (17Be n0 53 E: N E L OAnE: . ;DO A LOAD

02el 07B2 A5 D·-· LIlA LA .;SAVE LA:: .

(1202 e7B4 85 B 3 STA WS"J0203 07B6 A5 B ~ 3 L IrA IrF L TO .;SAVE DFLTO

02134 e7B8 85 BA STA CNTI'N(12135 e7BA A9 60 LIrA #$60 .;SECONIrAR 'y' ADDF:0206 07B(: 85 D3 STA SA

(1207 07BE A9 OE LIlA #14 .;OPEt· ~ TH E FILE

e208 07CO 85 112 STA LA0209 07C2 20 83 F l JSR UNLSt4 .;DON··T LISTEN TO FLOPP'T'021(1 (17(:5 20 24 F 5 JSf:!:OPEN

0211 07[:8 A9 00 LIrA #0

0212 07(:A , -.c= 96 STA SATUS .;SET STATUS TO (1= ' 0 _ '

0213 07(:C AO (13 LD'T'#$121:3 .;LOOP THREE TIt'1ES

Page 22: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 22/42

0215 t17CE 84 III I.oJG22 :::=T'T'NLEt·~ .=:3A'./E-IElrJOUNT

0216 07ItO W' l1E t.nx #14 =I1I:;:=K:HAt..jt·~ELc: .

(1217 l17I12 2(1 7(1 F7 J:3P CHI-:::IN

0218 1)7I15 20 CF FF .: r :::=F.:ASlt·~

0219 07I18 . - . C ' FD STA Tt'lF'2--.'

(1220 (17I1A A4 96 L.I1'T'ATU S ;CHECI< STATUS

0221 07DC DO 29 BNE ~"' G235E: .;BAII STATUS

(1222 (17IIE 20 CF FF .J :::;F.:A8It·~

0223 07El 85 FE STA H1P2+1

(1224 (17E:3 A4 96 LIr'T' ::=ATU:::; .;CH EO: :: 8TATU8

(1225 1:17E5 De 20 BNE IrJG235E:

1)226 (17E7 A4 Dl i.nv FNLEN .=1' 10 F::EO IIO?

~: :: 122707E9 8 8 DE't'

022:=: 07EA IIO E~ ' BNE WG220 ;t-IOTIrONE 'T'ET:: .

0229 (17EC 213 CC FF .JSF.:LRCHH =CL EAR CH At-iNEL

(12: 30 07EF A6 BA i.nx CNTIIN .=CHECK DF LTO FOR SCREEN

(1231 (17Fl E0 03 CP}:: #.-,.~

(12:32 (17F3 FO (15 BEQ *+7

0233 07F5 A6 B3 L IrX W SL oJ .;OPH~ THE PRINT CHANNEL

0234 t.:17F7 2(1 Be F7 .J SR CH K OU T(12:35 07FA A6 FII LII}::Tt'lP2

(12:36 137FC AS FE LIlA TMP2+1

02:37 (t7FE 20 II9 DC .JS":LINPRT .;PF ::tH L INE NUt' 1B ER

0238 0801 A9 20 LIlA #., .;PRItH A SPACE

0239 0803 n e 06 BNE SI<IPB .;S" ~IP OVEr;~ BRANCHES

0240 0805 IIt16(: LOAItB BNE LOAD .' (Jr-1P)

0241 0807 ne 5I1 ~,~G235B BNE IrJG230 .' (JMP)

(1242 0809 ItO C3 ~,jG220B E: H E ~ ' ~ (; 22 0 .' (.JMP)

(124:3 (180B 20 Ir2 FF S I -O : : F 'B JSF.: BSOUT

0244 08(1E 20 CC FF JS": CLRCHN

0245 0811 A·-·0E ~,JC.;250LIt}::14 .;IIISK CHANNEL:: .

(1246 0813 2(1 70 F7 .JSR CHKIN

0247 (1816 20 CF F F ·JSR BASIN024E: 0819 48 PH A

0249 081A 20 CC FF J~;F.: (:LRCHN

(1250 081I1 68 PL A

0251 081E A6 96 LDX SATUS

1Z1252 0820 It0 44 BNE WG230 .:AIl(1253 0822 (:9 00 CM P #0 .;EOL

0254 0824 F0 26 BEQ WG240(1255 0826 A6 BA LItX CtHItt-l .;CHECK ItFLTO FOR SCREEN0256 0828 E0 03 CP>~ #3

0257 082A FO 05 SEQ *+70258 082C A6 B·-' LIt).;WSj ,J~

0259 082E 20 E: C F7 .JSF.:HKOUT

0260 0831 20 D2 FF .J~;RBSOUT0261 08:34 20 CC FF .JSR CLRCHN0262 08:370263 0837 .;CHECK FOF.:STOP KE'T' ANIt PAUSE3264 08370265 0837 20 ~H F3 .J~;RSTOP1 .:STOP KE'T'0266 083Ft Fe 2A BEQ ~.JG2:30 .: 'T IE S; • ..0267 08:3C 20 E4 F F .JSR $FFE4 .;GET A CHAR Fr;~Ot'1E'y'BOARD0268 08:3F FO ItO BE(;"~WG250 .; OTHING •••",:::-69 0841 C9 20 Ct'1F'#$2f1 ;:;:=PACEBAFt?

Page 23: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 23/42

027e 0843 ne CC ENE WG250 .;uo. 0 0

0271 0845 20 E4 FF l.JG255 JSR $FFE4 .;AN'T' I<EY STARTS

~1272 0848 FO FE EE(~ j..JG255

(127:~: 084A no C5 BNE WG25(1 . ; < .Jt1F':>0274 084C(1275 084C A9 OIl j..K;240 LIlA #CR

(1276 084E A6 BA LIi>:: ctnm-l .;CHECk: DFLTO FOF~ SCREEN

0277 (185(1 EO (1:3 CP)<: #:3

£127E : '21E:52 FO 05 E:EQ *+7

0279 0854 A6 E::3 LDX WSj..J

~:::1280 0856 20 BC F7 .JSR CHKOUT

0281 0859 20 112 FF ~TSR BSOLIT

(1282 085C 20 CC FF JSR CLRCHN

(12:::3 085F 2f1 : : : = 3 F1 JSFi: UNLSN

(12::::4 0862 AO (12 LII'y' #$02 110 TWICE

(1285 0864 110 A"- ' ENE WG22(1B.:>

0286 (1866

0287 0866 .;CLOSE FLOPP'r' ANII RETURN

0288 0866

0289 0866 20 C(: FF l.JG2:30 JSR CLFi:CHH

0290 0869 A9 OE LDA #14 .;CLOSE FLOPP'T'

(1291 086B 20 AE F2 .JSR FCLOSE0292 086E 68 PLA .;CLEAN UP THE STACK

029:3 086F 68 PLA

0294 0870 4C 89 C3 .JMP Fi:EAD'r' .;RETURt~ " REAII'T'"

0296 0873

~1297 0873 .' LOAII A FILE

0298 0E:73~3299 087:3 A9 00 LOAD LDA #~3

0;:::00 0875 85 96 STA :=;ATLIS .;CLEAR STATUS

(1301 ~]E:77 85 9I1 :=;TA VEFi:CK .;LOAD t-KIT VEFi:I F'T'

(1302 0879 20 22 F·-:' .J:::;Fi:LII15 .;LOAD A PFi:OGF.:At'1_ ,

(1303 13 :37 ( : AC" 96 LDA SATUS,0304 087E 29 H3 At·m #SPEFi:F.: .;CHECK STATUS <EOI OK)

0305 (1880 IIO .-.,-, E:HE LDERF~.~0306 (1:=::32 All :34 F - - : ' LDA $F~:E:4 .;CHECK FOR (-(14 :;. F i ;O N_'

t1~:07 0885 :30 06 E:t11 LOAD1 .;HOT (-04) • .o 0

0308 0887 E6 C9 ItK EAL .;FIH THE LOAD (-04) POt'1

0;:::09 0889 II0 (12 ENE LOAD1

031e ea8E E6 C A It-K EAH

~:t:311 088D A5 CA LOAD1 LIlA EAH .;:::;ET BASIC···S POI tnEFi::;

0;:::12 O::::8F :::5 21: :;TA VAF!:TAB+1

0313 0891 A5 C9 LIlA EAL

0314 0893,-,C' 2A ::;TA ",,'AF==~TAE:' o_1

(1~:150895 20 72

(:5 ~T:;R Fi:UtK: .;FI::·::POIHTEPS(1316 (189:= : 2(1 42 C4 .JSP U~KF'F.:G .;FI::·:: LINK:;

e:317 089B AC" B:) LDA FLAG~

.;(:HEO< FOR LOAD Of:::r::::Ut·~_ ,

0318 ~389D (:9 2F C:t-1P#"', ... .;LOAD " 7 - '

(1319 (189F n0 (13 ·E:NE I.oW300 .;t·KI. 0 0

(1:320 '08Al 4C :39 r''-' ,JMP F.:EAII'T' .;LOAD F.:ETUF::t·~TO I:A:::;I(:, .,:.

0:321 08A4 20 A7 (:5 j..J(;:3~n3 JSF.: ST~·::TPT ;:3ET nnF'TF.: FOP F!:lIt·~

0322 08A7 4C (:4 C6 .Jt1P N£L.JSTT .;PUt·~ PF.:OGF.:At'1

0323 f18AA 4C E6 F:3 LIIEF~~~ .Jt'1F' LII209 .;Pf;.:ItH "LORII E~;:f;.:OF.:

(1324 08AD cnnsnn

Page 24: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 24/42

C1326 (1:::::AD

(1327 08AD

(132::::: ~):;::AD

~)::::29 n : : : : t : m0:::3(1 08tiD

0::;:::31 O:::AD

0::;::32 O:::AF

0:3::::3 Of:f:(1

0:::34 O::::B2[133':; 0:::::4

0::::36 0:;::::E:6

0:;::37 ( 1 : : : : : 1 : : : : :

CC::::;:: O::::£:A

CC39 O:::::E:A

034(1 O:::::BA

0::::41 08BA A0 01

0342 08BC A9 00

0343 08BE 85 C7

0344 08C0 A9 07

0345 08C2 85 (3

0346 08C4 A5 34

0347 08C6 85 5C

0348 08C8 A5 35

0349 08CA 85 5D

0350 08CC I:1 C7

0351 08CE 91 5C

~)352 O : : :: : II O C:: :

0353 08Dl DO F9

0354 08D3 f~ 5D

0355 08D5 E6 C8

0356 08D7 A5 C8

0357 08D9 C9 08

0358 08DI: Fa 02

0359 08DD BO 04

0360 08DF AO 00

0361 08El FO E9

0362 0:::E3

(1363 (1:::::E:::

(1364 O::::E:::

(065 08E3

0366 0:::E5

0367 0:::::E7

(068 (18E9

0::::69 08EB

(070 O:::::EC

0::::71 O:::::EE(1372 O:;::EF

(07:3 ~)8Fl

(1374 ~):::::F3

(1375 OBF4

.THIS ROUTINE POKES TOP OF MEMORY

.DOWN RELOCATES THE PARSER AND

. '::£T'::; THE L,jEIrCiE

A53+ l..DA t'1H 1:::. I Z

1':'._ ,

[9 R D

85 3+AS 3S

E .9 819535

CLC

::;:;BC#<Tt'1DLH

:: :; ;T A t'1 Ei"'1 :: :;

I: :LDA t '1H1:::; I 2+ 1

:::;BC #>Ct'1DU~

:::,TA t'1Et'1::::;1::+ 1

. t '1 , ,'.,IE THE CODE

; POKE TOP ftOL'H~

.'nr t · R . ! : : : ; IX~E

;8ET UP FROM ADDRD 'T ' #HH

I._ItA #::Cnn:::;TA : : : ;AL

LItA 1 = 1 = cr·w'::;TA :::,i=1H

L .DA t'1Et-1';::;12

'3TA CtPI::TOF'

L DA t'1H1:::;::::~ + 1

·::.T·:; CiF:BT:=IP+ 1

LDA (SAL),Y . RELOCATE

:::.TA 0 : CiRBTOF'! . 'T

t'1Ci',/;;;:

I· r T '

E:t '~E MO'·,.'1

I uc GP:E:TOP+ 1

It~C :::;AH

LDA :3AH

Ct-1P #>et'lDEt·m

BEe: t'10",.'2

BC:: : ; L,JEDC,E

LD ' T ' #0

BEI~I MO',,.'1

; ~ · JEDGE I tHO BFc;;I C:

A9 4C

: : : : 5 7(1

A4 34

A6,-,t::"

.":"-'

c : : = !

DO (11

EB:::4 71

86-,.-.f e;

60

~'~EDGE L D A #$4C

:::;;TA CHPGET

LII 'T ' t'1 EN :; :; I Z

LII> : : NG1':;:;I::+ 1

I' ~ 'T '

Bt'~E L,JEDGE1

I t 4 : : <l·~EDC£l ' : : ;T' f ' CHPGET+1

~=;T::<CHPGET+;?

FE;

.am

;~~;[T UF' TO ADDF:

; ]U MP IN STR UCTION

Page 25: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 25/42

~::;'T'I'1BOLTABLE

S'T'fo1BOL '·..ALUE

RePTR F18C BASIN FFCF BSOUT FFII2 BUF 0200

BUNP (1760 CHKIH F77(1 CHI<OUT F7BC: CHRGET (n)70

CHRGOT (n.;:q6 ClOUT F16F CLRCHt--I FFCC CND (17(1(1

Ct'lIIEt~!I O::::RD Ct1DLH (11AD CNTIIN 00BR CR 1·)0(1D

I1FLTO (1(1E:O III::tDIR (179Ft EAH ~)(1CA EAL ~)(1C9

FA (1(1D4 FCLOSE F2AE FLAG (1(1B:3 FNAItF.: ~)0DA

FNLEN OOD1 FOPEt~ F524 ORI:TOP ~~105C LA O(1D2

LD15 F322 LD209 F'::::E6 LDEF.:R ~):3AA LINPPT DCII9

LIsn'4 FOBA LHKPPCi C442 LOAII (187:3 LOflIl1 csenLOADB (18(15 NENSIZ (1034 t·10'·.·' 0:3(:C t-l 0 ',"'2 (1:3IIF

1'10VE O::::BA NaJ:3TT C6C4 t..J()t·1FtH f174E t·KHDIF.: ~)751)

OPEt..JI F466 PIA~< E::::12 POVE O:3AD PRT E:3II:3

F.:DEF.:F~ (1774 F~EAD'T' C::3:=:9 F.:Uuc C:572 ~:A (H)Ir3

SAH ooe : : : :3AL 00C7 ::::ATU:::; 0096 sscun F12::::

:3I<IPB 08~JB SPEF.:R 001(1 SPt'1SG F315 :::;TOF'l F3~)1

:::;T~<:TPT C5A7 TAU< FOE:6 TNP2 (1(1FD n~AIT F::::E6

T~<:TPTR 0(177 UHLSN F 1::::::: Ut-HLI< F17F '·/AF.:TAI: (102A

VEF~CI< O(19It HEDGE ~~18E:3 ~·JEDGEl O:3EF ~·JG~~10 (17(17

l·JG11 0 0722 ~.J(;115 07:3D l.JO12(1 ~376E j,JG1:30 0791l·JG140 (1784 HG220 07CE j,J(;22~)I: 0::::09 L·J(32:30 0:366

l·JG2:35B (1807 l.J024(1 084C l·JG250 (1811 ~·JC;255 (1::::45

l.JG300 08A4 l·JG997 (174:::: j,JG99:::: 079-;:' l·JSj,J 00E:3

Et·m OF ASSEt1BL'T'

THE WALL STREET .JOURNAL

"No! I don't want any middlemen, put meright through to your computer."

Page 26: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 26/42

For-' thos,'? 1.i.W·1+; n";~ p::,,-·o·,:tI'···;::.,rf,S +hs.+ r-,.:::-I.'._.;e": : ;1 .ndc)fI ', .: ;.... :: :CE': :: .S

t-·e,::ot-·d h.:;..nd 11n·:.:!.' . ; : : - 1 . rou+i ne h.:::I..::: been d~::'i ..'e i.or::'ed b':;:i . _ T . l ifI Hi n.:L::on

0+ E :l_ .w ·lin ·: 'i"t:o n., ,= in i':.::.._r-·1:::. T~-s" t··C:I...i1::ine 1:::' b.:;. :::: ic:.::I. 1 1 ':::1 · ; ::<n

.:;..L:ior-' ithrl' th.:.<t 1.1.1 11 c'.:::t·,'..._::'--·"t :::. . r-e::::<)t-<~ ni_Hflb~ : ; ' r · · 1. nto tr'i~:;' 1,=".:::.:~-I.i::on

0+ ·the r-·ecor-·d ' . 1 . 1 ith i,-! t~-",::. +11.::,.

------_._--_ ..

_ - _ . _ -

3.:) Ind~?::< + ' i Ie c, '"i- t N . ~ i _ - : ,- r r d : : : : : .~.t 1£ M i r ' O ' eC:C!t--;:~:.:::: ~:,;'f-' _;;~'::rC:tClr-·

b t ' 1 · ; : ' . i + i 1 , ; . ; : . .: ,+: t - 'ecor- ' (4 : : := : .:;'.t_ .

r- 'E'C:cl ! '"- -c4s : : : : :~IC; · t .C' r - ·< n .: t r : : ,er - '

It iI.. . 1. de ':;".. .:;I.i 1.:;. .1::<e sect , . : , r - ·~ : ; ir -+o ~:;ec:f:C'r"S -t:() b:::' u·:::.ed

·~.S t~-ie ir-. !f :4~?>:: ;:::i l...~j-Il) ::::.!-?c:t()r-',-::: to ~:I!:? t.!>~E'(~ +;)j'- t~-IE

" " ' · ; : ' . 1 n 1: :i Ie . ;:. .nd to clbi::.:;.j n ·:; ,r , e':'.I ..I . ; :: " . [ t-II.Af!'.b,:;,'t-·o~" ':: '"~.I.:::h

~ecord t~~e (index 9nd main) on a disk~tte.

Fe,t-· 1 [1 inde::< r-·E,cor-·ds. 'St? I . : : : +or .:=.nd : : . = : i:":=' . i n r·'.::'Cor-·ds ..··s>:?c-f::Ot-·, onE'

,:. 1.::..1"'1.1.101. .41d be ·9' ::: ' +c: 1 1..)I.I.I~:::

Fecot-·d r ·k , T 1'- ' .:;,,::i:: ho. '::;e c i::'.)t-· r ~ o .

2(1(1I

20(1)

1

2(11 400 i 2(1.. . .1

4 1 7 1 j t::0~:'1.. .

1 ,20:;

601 :=:[1(1 4 • 20::;[1 • I

000 '-!,

' : ; ; : 0. i i

1001 1.~:O0 2 : ; I . 20.2[11 • 40[1 -,

1 . 20. i

t 401. .::i()(1 - I I (1- :.- J. ~

Record No. Track No.

I - 567 9 - 17 (1 - ,20

Tr-·.;:.ck 1 . ; : : ~ t-·eser~·i·..'e(~9;;;.7 19

+CW' dit-·ec:i::Ot-·~24 [I 19

125.L

1':5~:::1() 31-,<::,. .: . , _ . '

17..- (2)1,=,252

E.:;'Dh 0+ ·the +Oi .W· t·1.=,j n Pec:c,t-'d are.:;'s 1.1.1ll be knOi.iw!

i:r.::ODk zones ,·~.S

Note .::1::' A 1thou':~h ser::i::ot-· (1 is .:r.u.:=.j.l..:;.}) Ie on ·tt-·.9Dks 1 - ::::.' it-IS no·t r_~: : : : l :?d in -I::his E·.:·:·;:'f!l~:' le •

.::2::' ! : ; ;ector- ' 15 8: 16 c'+ tt-.:;..cL: : : ; : ' 5 not i .A~: : : . : : : ·d

Page 27: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 27/42

T.:cs~·::B - ~.,Jr··tt? .:c.sl_~bt-'c,'_~tnE' to '::Qt·,'....er-·t .:c.t-,'::I-·eceor·d number-

0 :: s·a'::I t--lF.::0 +o the tr-·.:c.o::~·::.,eo::t':'t-· anc~ r-'ec:c,t-'d t-,'_~mbet-·

within the sector.

'",'.:c.t""ab Ie I dent i -f i C:.:C.ton

TF.:(1)

TF.:(2)

::;t·.j0::1 :: 0

:3N(2)

::;F.::: 1)

t-·t?,:t'-~t-·t?d

Indt?>:: -fi Ie tt-·.:c.ck nl~mbt?t-· +or- HF.:

t·1.ain -fi Ie tr-'ac~< nl.~mbt?t-·fot-· t·.jR

I nc~t?;:<-fi Ie sector-' t"rl.~mbet-·-fOt-· t·.JR

t·l:C.in -fi Ie sector-' t"I'-~mbet-·-for-' t--lF.:

I ndt?::-::-fi Ie r-·t?c,:,t-·d nl.~rnbet-· +or- t--lF.:<1-10)

t·1.ait-, -fi 1.:- t-·ecot-·d nl_~mbet-·fot-· t·~F.:(1-3>

Z(I) - Z(4) de 1im i tt?t-·s -for-' the tt-··:c.c:k zont?s wh1:h h.:o.'...e .:c.

di-ffet-'ent nl_m,bt?t-·o-f .:c.I·...c.i 1.:c.1::oe sect.:w·s

numbet-· of t-'eoor-'c4s t:'t?r' tt-·.:c.ck 0 :: with i n .:c.tt-·.:c.ok

z one ::.

Bl

A Bl-1

C 1 less th.:c_t-, the lOI.l.lt?st tr-·.:c.ck nl.~mbet-· in ·a

tt-·.:c.c~<z,:,nt?

B~ usin~ this subroutine

i n-f0 r-·m.:c.tcln on the i ndt?>:: f i It?

loc.:o.ted on the f(r.:c.in -fi It?

it is not necess.:c.'::1 to c·:c.t-·t-·'::I

.a'.bout I.l.lht?t-·e the t-·ecot-·c~

:3ubroutine Convert

Fed NR. this subroutine will return TR(I), SN(I). SR(I)

&1d TR(2). SN(2). SR(2) -for a

r-·ecot-·c~s .:C.t 10 t-·eoot-·c~s,,··'st?o::tOt-·

t"·ec:r:lt"',:~st"··1sec:tf:lt"·•

1500 record file o-f 1500

.:cnd 15(1(1 m.ain r-·ecc.t-·ds

index

at :3

405(1(1

405(11

REI'1 * * *F .: EN +++. . ,= o::t·.jR: : . .

SUBROUTINE CONVERT * * *FIND INDEX FILE LOCATION +++

40502 + 199)/200

40505 TR(I) = INTO::Z)

40510 ZI = NR - «TR(l) - 1)*200)

40515 22 = (ZI + 9)/10

40520 SN(I) = INT(Z2)

40525 Z3 = Z1 - «St--l( 1:;' - 1 )*1121)

40530 SR(1) = INT(Z3)

40550 REM +++ FIND NAIN FILE LOCATION +++40549 Z(I) = 567 : 2(2) = 927

40552 Z(3) = 1251 : 2(4) = 1506

40560 FOR 3 = 1 TO 4

40565 IF NR - 20::3) (= 0 THEN 40576

4~)575 NE:X:T 3

40576 t--lZ = t·W

40578 IF 3 > 1 THEN HZ = NR - 2(3-1) :oonvert to number

wi thin tt-·.:cDk zone405:::(1 Ctt·.j.J

40591 A=62

40592 A=59

4059::::: A=5:::::

40594 A=5(1

GOTO 40591.40592.40593.40594

Bl=63 C=8 GOTO 406121121

Bl=60 C=18 GOTO 4061210

Bl=54 C=24 GOTO 40600

B1=51 C=:3(f

:clefine

ZClt-,e

par' alfle tet-·s

Page 28: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 28/42

40600 2 = dC + Ff)/B 1

40605 TP(2) = INT(Z>

40610 21 = N2 - «TR(2) - l)*Bl)

40615 22 = (Z 1 + 2 : : > ,'3

40620 SN(2) = INT(Z2)

., e i. nd

t I'" .::,.cL:.'

40625 23 = 21 - «SN(2) - 1)*3)

40630 SP(2) - INT(Z3>

40640 TR(2) = TP(2) + C

40650 SN(2) = SN(2) - 1

C:Cf(f,I':'E:orrNf:'=-:':'."te '::()t-· # CI-P

-!::t-·.::..cks: 1": I CII.I.I':C.": :: '.nd

- : = t . ' . )

.~.J.1 .. = I J ~ 1i 1t'::I () ..,::

4(1660 RETURt~

Edi+or ...s Hote

'T'CII_.jll.::'.'::!be . ::.st.:: in·::!., "L·lh'::! . : : . . r ! indE'~:< ;::1 Ie r-'ol_r!::ine . : ; : . . t " , , : : ~ .::;r f j ' ! . : : ; . . i n

+ i le r··OI_.ji:ne 1.I.hen the 1.I.lhoIe ~:'Ut-'I':'ose i~;:- -b) do ' :: ' .1 . 1 .1 . : :; ;. ': :1 1 . 1 . 1 th the

inde.:< ?". The i nde·:,:. - 1 : : i. le r-·e.::r.l1::1doesn··t do : :. . :; :'. n' :: I ind>_:. ::: :] . n ' : : 1 .::;rnd

mi~ht have been called a "'sub-main~ +ile. Jim develo~ed the

pr···o·:'1t-·a.mor-' his ol.i.ln I_~se .:;I.nd+ound it riIOt"'e E'++ ic: ient 1 : : , . : : ' s~='i. te.:;:..chentr-"::! i r r+o 2 + ' i 1''=-$: ·::;r.n "L nd,,=,:<II +:i.Ie +,.:)1'''n·;:r.me.::I.nd :::;oc j .;::,1

Insut-·.:r.nc:e t·~'.Afllbet-·:;:.nd·:;r m . : ;: .. i n - t: 1 l~o. -t'elc-' ·;:,n'::.~ , - · ;_ : .ft 1·::<.n . i. ' - 1 ' : : 1 : i ,.-,+.:::

0 :: .::..ddt-·ess., i':,hone #, etc" ) • I 1 :: i)i·::;rS .:;:'.nt:i.: i':·:;:..ted tt·:.;:ri:: t 1:2'

ch.:;:.r.:r.ctet-·:::;:1.I.lOi...jd be t-'2':;,Uit-·ed ';~':It"·>,::'·::rDh entt-·'o:l. L,.j:l.h :~:55 b::"::1e

sectors. this would im~ose a restriction 0+ ~ entries ~er

::::ec:tot-·., 1.lI.:;:'Stn·:'i 35 b,::!t:e:::. Th._:. fll·:~>i,'(IUfl, I.lj()'_.jd .:;t lSI:, be

r-'estr-' i ci:ed to ~?*67(1 .::b 1.:;lnk d i. sl.: h·:;ls 67(1 s':':'o::::-t::'t-·S·'d'" 1::::40.F:::I

splii:tin-:'1 i..ji':' the entr-'ie':':~ into 25 .:;:..nd '=:5.. E>.::r.I:::h::::,ct'_:Or"or bloc,t.::

c·:rn f i 1 led t,.:, C·: ;: ' . I ' : ' · : ; : ' . : : : i 1::':::1:;:..1cn.I.1n:'i 150(1 er-,tt-i e~:;. Th is + i · :"I. .W e

cou Id ,:;:'.lso bE' inct··e.::,sed ·::.s S,:,rile b l')ck~:;: ·::rr·e l..Jnl_~::::ed.

Th i S ffle'thod 0+ i ndE':< in':,; h.::rs on 1'=1 cine dr-.:;:'.I.I.lh.:;ti:,k:~F.:. 1"h'::'.t

is. e.:; : ..ch item it" f the .,"i Ie ifll_.jS-t: h.:;rl .. .. ,: :, .::~ r-,,_w!ber-' 1.. 2.

::::•• etc.::' th.:;:'.t UI·::;'.':::!e ir-·t-·e le' ...::Int t:.;:. the d."" t.;:<.be it'r:~

Thet"'e+Ot-'E', ·:;:'.ceess to .:;:.. r-·eco,"·d r-'e':'tiA it-'e:::;: €'ntr-":::!

r::Or-·t··es~:'ondin·:'i ..t·~p. .::rnd in th,:;;. .::,h0. ,.1 ' ::, e;':·9Iif':· l~::' t'~F h ·::;r s .:;:.. r..· ; : ,i ' . .I':.il:~0+

1 tl:, 15.3(1.

Th is '.!.IOU Id be i de.::I.1 +Or-' .::.I':'~:'. i. ,::.:;:.t ions SI..K,h · : ; : . s .::;r iil.::r.ilin·:.;

1 ist 1.I.lhet-·ee·:;:'.r:::hSl..jb:::Ct-·lbet-· h.9':::::::r. nurf,ber-·., but: +Or-' .:;:.. i1'-1'...:;;.n1::r:tt-·,::!

it beeoffles somel,'Jh.:;:'.t ir"Pt-·.:rct:i. o Ie ::;:inee" r · ~ r . ; : : . 1 . 1 . 1ill I':'''-'ob,=I,b' : : 1 not

be '::IOUt-· ,,:·.:;:.r·tt",i..Jmber-·. HOIJ.i2'.let-·,.J:i. H, S ii"E··thod is :;::till s i fl'1i':'et-·

th.9n t-·ecot-·d in':,; ,jisk co-ot-'d in.:;:'.t:.:,::;. C:ons icler'" this : h,';;I,,'e PET

·:;:.ssiSin "t'~F""s" to the t-'eccr-'d e 1emr::·nt th.:?I.t 1,'.fj.l1 be r:·t"·ii:l.::;ry·i1'::1

used +or record recall.

':F'=:rrt #1;

':F'.::.rt #2)

-::P.:ort #3:)

!••.4,'-'IT!

: : - : : + ~ '

•••. ::r.nd sCIon. Th i s in+ot-·ri".9.ti on C:OI_.jd be s tot-'ed in . : ; : ' J " I r-·.;:,.ndorf'

index file alon~ with the total number 0+ entries (TE) so

th.:r."t: PET '.I.lCIUd knC11J . I whet-'e to s :+:. : ; : . r ·i:: .:;:.ssl:<nin·:'1 nel)) t· iP'··: ; : : : to r-,el.l.l

entr-' ies.

~.Jith the des ir-'ed F'.:rr·t # ent€·t-·ed ..

se.::rr·ched.' HP e ; : . : : +rac ted .:rrrd ~:·.:;:.ss,,;;'d

:::,-~bt-'olxt:ine ,

the index +i Ie could be

into

Page 29: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 29/42

;_~Inc:etr't€' tr .::..ck .;'!'·td sec +c r o o . C"::-or-·d in.;.tes ·;.r·e- de-t€'r-'Ut ined (

TF.:';::;::. .:'.nd :=;t~': :~:. ' .1 t:hE.'··::I can '-I/)i.l.I bE' i ns..:,."·ted in the B loe:k-F.:e.:..d

corMlt.;.rld .:..nd :':;i·~:: 2 > in the I: : . .I++et-·-Fcl intet-· c:orltrrr·:..n(~ few' t-··:;'.P id

r-'ee:or-.d .:;.cces:=.:. 'T'OU flli·:~ht as o cons idet-· l~Sin':," E:ill t ' 1 . : < . C : le·:;.,r,···s

B lock Get r-'otd: ine +Or-' t,·-·.:;'.ns+et-·ir-I':'; d.:;..t.::<. +t-'om disk tC I PET.

;~stem la~out for above·

r · ~ F . : = 1

;·iF = 2

i='.;:.r·t # J .

F':;./'"·t #,;?

P.:;.r·t #3

:::~

________ -L- __ T

F.i Ie

1--

. tot.:;.. 1 entr-' ies

:inde::< -f i Ie

Page 30: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 30/42

INDEXING PROGRAMMES ON CASSETTE by Michael Casey

At the April meeting of the Pet UseL~ Club, I discussed a revised tape

index programme which I had developed. Since then, I have had several

requests to document my theory so that everyone can take advantage of it.

I started thinking about this subject after reading David Wilcox's index

programme in the Pet User Notes. I tried his index programme and it worked

well. However, it had a few disadvantages which I was determined to

eliminate:

1) it was very tedious to create an indexed cassette (the index

programme had to be run each time you added a programme)

2) a lot of tape was wasted

3) his formula was too restrictive.

Items (2) and (3) were partially resolved by including an array of the

programme lengths in the index programme itself, calculating the summations

of these lengths for each programme and applying these summations to his

formula to calculate the FFWD times. Item (1) could not be resolved without

changing his entire concept which involved the splitting of the tape into

FFWD time segments.

My obj ecti ve, then, was to .fi.nd an indexing formula which would divide the

tape in terms of length rather than time. ,It took me quite a while to find

the solution. My biggest hangup was trying ·to forget the notion of a

"fast-forward ratio" which, by the way, is a totally insignificant and·

utterly meaningless term.

The description which I am about to describe is based, to some extent~ on

the specifications of my particular PET. Because of the different characteristics

of PETs, tapes and tape drives, it may be necessary for you to adjust some

of the parameters that I used. So that you will be able to do this, I have

included all of the factors and all of the formulae.

Basic Factors

a) the fast-forward reel revolves ata constarit rate although it may take a

few jiffies to get up to normal speed and it doesn't stop on a dime.

b) I was using a C60 Realistic Supertape which contained 281' of tape

or 3372". The diameter of the empty spool was .875" and the thickness of

the tape was .0068". The diameter of a f1.illlpool was 2.0".

c) the total time to FFWD the entire tape including front & back leaders

was 5906 jiffies (obtained through experimentation)

d) normal play speed = 1.875"/second

e) both the programme and its label are written twice on a SAVE. The length

of 1 label = 192 bytes.

f) the front leader on a SAVE is 10 seconds and there is a 2 second leader

between the first and second set of recordings. In addition, there is

a small gap between the programmes and the labels.

Page 31: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 31/42

g) the formul a for the circumference of a circl e ="TT' X diamet erh) the formul a for determining the roots of a quadratic equation is

-b +or-square root of b2

- 4ac

2a

i) the formul a for the sum of an arithmetic p rogression is

m X (al

+ a ) w here al

is the first termn

2 a is the l ast term

nn is the numb er of terms and

m is the difference b etw een terms

step 1 Determine the numb er of revol utions to w ind ful l tap e

L ength of tap e = Cl

+ C2

+ ••• Cn

w here Cl

is the circumference of the emp ty

sp ool , C2

is the circumference of the sp ool after 1 revol ution, C2

is the

circumference of the sp ool afer 2 revol utions ••• and C is the circumferencen

of the sp ool after n revol utions.

Therefore, L = 1T'dl+ ' i' i' d

2... ifd

nw here d

lis the diameter of the emp ty

sp ool , d2

is the diameter of the sp ool after 1 revol ution ••• and dn

is the

diameter of the ful l sp ool .

After p l ugging in the p arameters, I used the formul a for an arithmetic

p rogression and sol ved the resul tant equation for n, using the formul a for

the roots of a quadratic equation.

B ased on my p arameters, n = 796 meaning that w inding 3372" of tap e requires

796 revol utions of the sp ool . F rom this I w as ab l e to cal cul ate the F F W D

time p er revol ution 5 906 / 796 or 7.419 jiffies p er revol ution.

Step 2 Determine the SAVE rate in terms of b ytes p er jiffy

The initial formul a that I started w ith w as

Time to SAVE = Constant (for l eaders) + 2 X (p rog. + l ab el l engths}in b ytes

b ytes p er j iffy

This equation has tw o unknow n factors - the constant (w hich I knew w as 10+2

seconds + the time to p l aY,the_gap s b etw een l ab el s and p rogrammes) and the

rate.I saved a coup l e of p rogrammes of different l engths, noted the SAVE times and

p rogramme l engths in b ytes and used this data in the ab ove formul a. This gaveme tw o equations w hich I sol ved giving:

Constant = 73 0.15 j iffies

Rate = 1.8 4968 90 b ytes p er jiffy

Step 3 Cal cul ate l ength of a p rogramme in inches of tap e

Distance = Rate X Time

using the formul a in Step 2, I can cal cul ate the l ength of time to SAVE any

p rogramme. Given that the rate of SAVE is 1.8 75 " p er second, til e formul a for

Page 32: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 32/42

determining the length of any programme in inches is:

1.875 X (730.15 + (2 X (192 + L) / 1.84968901» / 60 where L prog. length

in bytes

Step 4 Calculate # of revolutions corresponding to Y inches of tape

using the same formula in Step 1, I can plug in Length and solve for n.

Number of revolutions for tape length L

-734.77912 + SQR«F X F) + 4 X (534.974599 X L) / 2) where F 1469.58824

Step 5 Calculate FFWD time for Z revolutions

Number of revolutions in Step 4 X 7.419 (calculated in Step 1).

The formulae in Steps 3 and 4 are in the Index Programme and by using the

summations of programme lengths in bytes, the FFWD times can be calculated.

To use this programme, SAVE it as the first programme on the cassette with

dummy entries in the DATA statements. Then simply continue to load your

programmes until you run out of tape. Keep a note of the programme names

and (7167 - FRE(O» in sequence as you do this so that you can plug them

into the DATA statements when you have finished saving. (include INDEX)

When you have loaded all the programmes, rewind tape, load INDEX, alter

the DATA statements, rewind tape and SAVE "INDEX" . Then you can RUN and see

if it works.

It takes several seconds to do the calculations. To eliminate this delay,

you could take the calculations out of INDEX, put them in a separate

programme and plug the FFWD times into an array in INDEX.

Initially, I found that I wasn't able to hit programmes near the back endof the tape and I attributed this to the fact that there is some "run on"

after the programme cuts the motor switch. So I reduced the FFWD times by

a factor (maximum 120 jiffies) which varies directly with the relative

position of each programme. This eliminated the problem.

So there it is. I hope that you will be able to use this technique to free

up a pile of cassettes and start using your over 30's more efficiently.

By the way, I am using this theory, together with some others. to develop

a system which I call 'CRAMPET' - Cassette Random Access Method for the PET.

The concept has several limitations but I know it can work. Its main

advantage is the ability to access any "record" on a tape file withoutreading the "file" sequentially and, the ability to go from "record" to

"record". I am having a few problems with the run-on due to the fact that

the "record" lengths are relatively short. However, I think this can be

ironed out. Any of you who use data files and are not planning to purchase

tha disk may be interested in pursuing this idea with me. Please give me a

call or write to me. Together, we may be able to achieve the ultimate:

"CRUMPET' - Cassette Random Update Method for the PET.

Michael L. Casey

BCS

6105 Yonge Street

Willowdale, Ontario

M2M 3W2

416-223-8901

Page 33: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 33/42

1 Dlt'lL(20., :;:)2 DATAIJ5.9J2J3.1J3.6.8J4.6.4.5.2.6.6.3.4.7.4.2.8.1.8.9,5.8.10.1.53 DATA11.4.1.12,1.1,13.3.1,14.7.1.15.1.1,16.7.1.17.7.1.18.7.1.19.7.1.20.7.110 FORI=IT02011 FOr;;:J=1T0212 ~:EA[lL'::I., J)13 L(I.3)=L(CI-l).2)/7.1*10+LCCI-l),3)14 LCI.3)=INT(L(I,3»

16 NE>::TJ:NE::-::TI29 P~:I t4T";:']1I4f1 N$=IIII7(1 pr;;:I tH "THE pr;;:OGRAt1~lESON THIS TAPE ARE80 P~:INTII # HAr'lE LEt·K;TH F. Fl~D-SEC85 P~:INTII- -- "1f10 P~:I ~n II 1 OSEF.:O " .; If II.;L ( 1 .' 2) .; II If .; L C1.'3)1f1 5 PF.:NT If 2 NUr'lGAr1E If .; If " .; L ( 2 .'2) ; II II.;L (2., 3)I1f1 PRINTII

:::: E:LACK..JACKII.:" II.;L(3., 2).;

115 PF.:INT" 4 STAR TREK II.; II '.; LC4. 2).;12~3 PF.:INTII 5 TF.:ENDLINE".;125 P~:I NT"6 ~100NLANIIER" .;

1::;~71PF.: t·n "7 CHECKERS " .;1:;:5 PF.: t·n" s CLOCK " .;140 PRI NT" 9 C0t'1DEr'10 " .;145 PF.:NT" A BNSLOGO II.;147 PF.: t 'n "B E::'::CDEf'10 " .;149 PF.:INT" C TAPEDUr'lP II.;151 PF.:INT II D HANGt'lAN II.;15:;: PF.:NT II E E:t'~SDEt10 II .;155 PF.:Iur "F CF.:EATEFLE II.; ,157 PF.:I·n" C i DUt'lfr1'T' II .;II

159 PRI t·n "H DUNt'l'r' " .; "160 PRI NT"I DUt'l~l'T' " .;"

161 PRIt·n " . _ T DUr'1t'l'T' " .; " " .;L ( 19., 2) .; II " .;L < : 19.,3)162 PRHn" K Dur'1N'T' ".; " ".; L(20., 2).; II ".;L(20., 3)164 F 'R I t·n"PF.:P:;S F. Fl~D KE'T' Ot ·~ CASSETTE THEN"166 PF.:I·n"ENTER # OF DESI RED pF.:CIl3r;;:Af'1~lEI.;II,"200 CiEn~$: I Ft'~$(}" "THEt4230210 IFPEEK(519)=0THENPOKE519,52:POKE59411.6122(1 GOnJ2~~H3230 N=ASC(LEFT$(N$,I»-49:PRINT"SEARCHING FOR ";N$;"231 IFN)9THENN=N-7240 POKE59411J53:TS=TI+L(N+l.3)*60250 IFTI(TSTHEN250260 POKE59411., 61270 PRlt·n":-!Q='F.:ESS "'STOP'" Ot·~CASSETTE AND LOAD"

28(1 PRIH" SELECTED PF.:OGF.:At'lt'lEOF.:t'lALL'T'••• :l!llf285 PRI tH" ORl!l".-"-:lH PF.: t·n IfSAVE N E l , J PF.:OGRAt'U'lEON THI S TAPE HEF.:Ef

READ'T'.

.;L(5 ..2).;

.:L(6 ..2).;

.;L'::f:..2).;

.;L(9 ..2).:

.;L(10 .•2).; "

.;L(11.,2).; "'.:L(12 ..2).; II

.;L(1:3..2).; II

.;L(14., 2).;"

.;L( 16..2).: II

.:L(17 ..2).; II

.;L(1::! ..2).; ..

II.;L C ; :., T )II.:L(4 ..:;:)

II.;L(5., :;:)

JI.;L(7J~:)".;LO::.,3)II.;L(9 ..:;:)".;L( 10., :3)".;L(11.,3)II.;L( 12..3)II.; L( l~: ..:;:)

".;L( 14.,3)".;L(15.,3)".;L( 16 ..::::).1 1 .; L ( 17 ..3)

II

(TH IS IS A M ODIF IED VERSION OF DAVID WIL COX' S INDEX PROGRAM M E)

Page 34: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 34/42

1 D!t'1L C36., 5)2 DH1P$(36)5 PPI HT" : : ' I l ! ! ! l! ! l l ! ! ! l! ! ! l! ! I l ! ! ! l! ! l l ! !l l ! ! l l ! ! )• •• • • • • • l f .C F . : E A T I t·m I t·mE;:'::TABLE*"9 L(0,1)=0.0:L(0,2)=0:L(0,3)=0:L(0,4)=0

1(1 FOPI=1 T03611 F.:EAD;:':::.:EAm-::

12 L':: I , 1 ) =;:.::13 L(I,2)=1.875*(730.15+(2*(192+X)/l.84968901»/60

15 t·4E>::T2(1 FOF.:= 1T03625 L(I,3)=L«I-1),3)+L(I,2)

:~:0 L ( I .' 4) = (-734. 77912+::;OP (B l2+4*534. 974599*L ( I , ::::)) .. .2)31 L(I ..5)=IHT(L(I ..4)*7.419-L(I ..3)*120/3372)

40 NE::<TI6(1 PF.:tH " :')"65 t·4$=""7(1 PF.: tH" THE F'F.:OGPAt'1t'1E::;t·~ THI s TAPE AF.:E:".;" :l!!l"B0 PF.: tH" # HAt'1E B'T'TES I t·iCH F.:E'/ J I FF'T'

:::5 PPIHT"- -- "B6 GOTO10(K1164 PF.: NT"PF.:ESS F. Fl,m KE'T' ot·i CASSETTE THEH"166 PF.: NT" EHTEF.: # OF DE::;I F.:ED PF.:0GF.:At'1t'1E.;"~"2(K1 GETH$: I Hi$() " "THEH23~~1210 IFPEEK(519)=0THENPOKE519 ..52:POKE59411.6122(1 CiOT02(1(123(1 t·4=ASC(LEFT$(H$ ..1) )-49: PPHH"SEAF.:CHHm FOP PF.:OGF.:At'1t'1E".; t·4$.;"231 IFH)9THEHH=H-7235 pF.:HH"Fnm TH1E =".; II

"

II

243 POKE59411.53:TS=TI+L(N ..5)-L(I ..5)25(1 I FT I (TSTHHi250

260 POKE59411., 61270 PF.: tH" ::'Il!!.F'F.:ES::;..STOP... ON CASSETTE At·m LOAD II

280 PF.: NT" SELECTEII PF.:OGRAt'1NE·mF.:t'1ALL'T'••• :l!!j":3(1(1END500 DATA01 ..2618.02.0502.03. 1558.04. 1537502 DATA05.1359.06.1403.07.1545.08.2370504 DATA09.2401 ..10 ..1525. 11. 1503 ..12 ..1425506 DATAI3.6700. 14 ..5308. 15.1724 .. 16 ..573050B DATA17 ..2244, 18 ..5491. 19.67B3.20 ..1772510 DATA21 ..4B23 ..22.5056.23 ..2858.24.5845512 DATA25 ..2565 ..26.0669.27 ..0669 ..28.0000514 DATA29 ..0000 ..30.0000.31 ..0000 ..32 ..0000516 DATA33 ..0000 ..34. 0000 ..35. 0000.36 ..0000

551 DATA1 » "TAPE - I t·mE;:'::II

552 DATA2., IICF.:EATEFI LE "553 DATA3.,"C:F.:EATEI4,.··'2 II554 DATA4 ..IIF.:EAIIFI LE 15,····2I555 DATA5.," READFI LE 10,····2I556 DATA6 ..IIF.:EAD11,··.2,····1 II557 DATA7 .." F.:EAD11,···'2,····2"558 DATA::::.,"'T'AHTZEE#1 II559 DATA9 .. "'T'AHTZEE#2 II560 DATA 10. IIKCDF.:Al,J# "561 DATA11 .' IIKCDF.:AH#2 II562 DATAI2.,IIFL'T'It·iG-S II56:3 DATA13. IIBt·4SDEfo10 II

564 DATA14 .. IIBLACKJAO::: II565 DATAI5 .."TIt'1E II

Page 35: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 35/42

566 DATA16 .."COt'1DH1056? DATA17 .."TDCONBO568 DATA18 .."PETDENO569 DATA19 .."TDDENO57(1 DATA20 .. IITD-FAE571 DATA21 ..IIHOF.~SEF.~ACE

572 DATA22 .." OSEF.~O573 DATA2:::: "NUt'1CiAt'lE574 DATA24 .."STARTF.~EK575 DATA25 .. IITREt'mLI HE~,76 DATA26 .. IILOBLOOO#1577 DATA27,. IILOBLOGO#257::: DATA2:::..IINO579 DATA29 ..II t'1()F.~E58~~1DATA:::a].II SPACE5:::1 DATA::::1.. II ON5:::2 DATA32 .. II SI DE5 : : : : 3 I IATA:3:3.1 II # 1

5:::4 DATA:34..II OF

5:::5 DATA35 .."5:::6 I IATA:36.1 (J

C : A : : ; : : ; . II

E : C : : : = : : . ; ; If

"II

II

II

II

II

II

II

II

II

II

II

II

II

II

II

II

II

II

1000 FORI=lT036:READP ..X$:P$(I)=X$:NEXT1(102 FOF.~=1T0361005 J=I+48:IFI)9THEHJ=J+71010 .J$=CHF.~$J)lOll IFI)lGOT010151~~112FRItH" :1"101:::: PF.:HH.J$,: II ",:P$(I),: INT(L(I,.l»,; HH(L(I,.2»,: II ",: HH(L(I,.4»,: II ",:L(I,.5)1i,314 GOTO1(12~]1(115 PRINT" :1"1016 PF.:ItH.J$,: II ",;P$(I),: It'H(L(I,.l»,: It'H(L(I,.2»,: It'H(L(I,.4»,:L(I,.5)

1017 GOTOI0201020 IFI{)18GOT01(14(11 (122 REtH:**G!$() II= "l·J I LL SCROLL FROGS. ON :::CF.~EEH***1~J25 GETc!$: IFI~!$=II IIOOTO1fQ51(126 I FOS<) II= IIGOTO1~]551 (127 PP I NTII;1 l ! !! ! ! l! ! ! ! l! ! l " , :

1(137 0$=""104(1 t '~D-: ;T

1(15(1 GETG!$:I FG!$=II= IITHENO$=" " :GOTO1(16(11~]51 IFG!$="IITHENGOT0105(11(155 [;OT01641(16~~1PF.:NT II;1 l! ! l! ! l! ll !l l! J " , : : RESTOF.~EOOTO1(1(12

F.:EAD'r'.

Page 36: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 36/42

Applications

PREL IM INARY REPORT ON TH E

ON-SITE USE OF A MICROCOMPUTER

F OR ARCH AEOL OGICAL F IEL DW ORK

EAST KARN AK EGYPT 1979

~ b y: G.D. H athaw ay I P.Eng.

85 Alcorn Ave.

Toronto I OntarioM4V 1E5(416) 923 85 86

ABSTRACT

The sununer season of 1979 at East K arnak w itnessed the first on-site use of a

microcomp u~ er for al l asp ects of archaeol ogocal fiel dw ork and rep ort p rep aration.

The p urp ose of the p resent p ap er is to highl ight some of the more imp ortant

op erations that are ab l e to b e carried out b y comp uter, as w el l as give a summary

of the sununer season' s w ork.

*******

The concep t of using comp uters in archaeol ogy is not new . Significant

advances in the use of l arge scal e comp uters has b een taking p l ace for the

l ast doz en years in North America, Great B ritain, Europ e, and Israel . It

w as noted earl y that a comp uter' s ab il ity to handl e l arge amoun t .s of data

w ith unmatched sp eed and efficiency w oul d b e a b oon to the social and

historical sciences and archaeol ogy in p articul ar. Thus there have b een

many recent articl es in the l iterature devoted to this idea.

H ow ever, w hen one ex~ nes in more dep th the systems referred to~ one

sees that very few of them have even arrived at the stage of feeding the

site data into the machine. The constraints and restrictions p l aced on

archaeol ogists p reventing them from gaining access to comp uter facil ities

p romp ted the p resent author (G.D.H .) to attemp t to rectify the situation.L ate in 1978, the author ap p roached Professor Donal d B . Redford of the

Dep t. of Near Eastern Studies, University of Toronto, for assistance and!

a testing ground for a p rop osed comp uter scheme. It w as decided to p ut

together a p rel iminary p rogram of activities for fiel d trial s at E. K arnak

the fol l ow ing sununer. If such a s cheme w oul d w ork in the heat of the

Egyp tian day, it w oul d l ikel y w ork anyw here.

Page 37: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 37/42

It w as determined that a total l y p ortab l e comp uter w as required for at

l east the fol l ow ing ~ ix p urp oses:

- site artifact descrip tion and recording forl ong term storage

- physical site structures (features and l oci/ strata)

recording

ab il ity to review , al ter, or del ete any site data

al ready recorded

- ab il ity to sort or p artition al l or p art of this

data b y means of sp ecific requests

- ab il ity to p erform b asic statistical anal yses on

al l or p art of the data

- ab il ity to store schematic rep resentations of the

site p l ans for future retrieval and use

A comp rehensive data b ase management ap p roach w as therefore needed.

A microcomputer w as the onl y machine that offered the necessary characteristics

and was trul y portab l e.

The overal l design ob jective w as that the system w ould b e used as the

excl usive tool of the archaeol ogist. It coul d b e taken on site and offered

a comp l ete I comp rehensive system of data management. Al l other attemp ts

to date had b een onl y p iecemeal .

The p rop osed p rogram of activities carried out w ere as fol l ow s:

Task I - sp ecification and p rocurement of microcomp uter

and associated p erip heral devices

Task 2 - w riting and testing of germinal comp uter p rograms

for the aforementioned p urp oses

Task 3 - transp orting the comp uter intact to E. K arnak from

To ron to and b ack again

Task 4 - setting up and fiel d testing the comp uter itsel fincl uding p erforming test runs on actual site data

Page 38: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 38/42

TASK1. SPECIFICATIONNDPROCUREMENTFMICROCOMPUTER

Alowpowee, low cost, compact, portable computer was required for the

job. In addition, the machine needed to have a relatively large memory

storage capacity, operate with various peripheral devices (e.g. printer and

mass storage devices), as well as posess the ability to handle graphiccharacters. The P.E.T. 2001Microcomputer by commodore offered the optimal

combination of these factors as well as having a very powerfull and fast

programnang language.

The mass storage device chosen was a dual flexible disk system, and hhe

printer was designed to print a wide range of graphic characters and symbols

in addiJtion to the standard alphabetic and numeric characters (diag. 1).

TASK2. WRITINGANDTESTINGOFGERMINALROGRAMS

'nlis section describes the computer programs that were written to encompass

the six purposes outlined previously.

The stipulations of archaeological fieldwork required that the computer

be taken directly onto the site or at least close enough so that data from

the site books or the physical artifacts themselves could be fed into the

machine directly. This modeof opeteatii.onhad the additional advantage that

the director could osrersee and verify the data immediately upon its entry

into the computer •

Another requirement was that no voluminous, complicated coding forms

wouldbe allowed. Data had to be typed into the computer's memoy directly

from the keyboard. This was accomplished by developing in advance the

typography for all types and descriptions of artifacts. In this paper,

artifact will be used to denote both site artifacts, e.g. pottery, coins

bones, small finds etc. as well as physical features, e.g. walls, pits,

strata/loci etc. The typography is in the formof a table or 'Typography

Chart' (diag. 2) which,is resident inside the computer. It represents

the IOC>stikely set of a r t . t facts and their attributes to be expected on the

site, based on previous excavation or the director's judgement. Since the

table can be altered to suit any site, this set of programs is truly

universal.

Page 39: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 39/42

It is this tab l e that serves to drive the data inp ut section of the

p rogram. This inp ut section al l ow s even unskil l ed op erators to handl e

efficient data entry. The op ~ rator simp l y sp ecifies the artifact w hich he

or she is ab out to describ e and the comp uter resp onds b y p resenting the

op erato~ w ith a set of mul ti-choice questions. These questions corresp ond

to each of the attrib utes found on the Typ ograp iry ~ art for the sel ected

artifact. The op erator simp l Y answ ers the questions one b y one b y

p ressing singl Q.keys on the comp uter keyb oard. This is done sequential ly

until the attrib utes are comp l ete for that artifact. At this p oint thecomp uter automatical l y stores al l the descrip tions of the artifact on its

mass storage disks and w aits for the next artifact to b e sp ecified. This

al l ow s any artifact to b e entered at any time and ob viates the need for

group ing, for examp l e, al l p ots together and entering them at once. The

method corresp onds most cl osel y to the w ay data is recorded b y site

sup ervisors in their site b ooks.

After the day' s data has b een entered into the mass memory disks, any

numb er of requests may b e made of it, or any data stored p reviousl y. The

director can ask to see, for examp l e, al l green gl az ed rim sherds from

feature 25 A ; stratum 15 . The comp uter resp onds b y p rinting out comp l ete

descrip tions of al l p ots corresp onding to this request. In this w ay, the

director can p erform his searching and sorting on al l the data for thatseason b efore the dig ends and thus save w eeks of w ork. This is one of the

more imp ortant and unique features of this set of p rograms.

In order to revise and up date the data al ready in memory, a comp rehensive

scheme of editing is incl uded in the p rograms. If it is found that an

artifact has b een imp rop erl y entered, the op erator can retrieve that datum

b y means of its descrip tion or numb er, and al ter it in any manner desired.

Once the data has b een entered to the satisfaction of the director, the

sorted and p artitioned data set created b y his requests can b e sub jected to

numerous statistical anal yses. These incl ude the simp l e stats such as

frequency histograms, averages, standard deviations, correl ation coefficients

etc., as w el l as more sop histicated techniques such as anal ysis of variance,

seriation, mul ti-variate regression, and eventual ly discriminant anal ysisand cl uster anal ysis. These l ast are incl uded at the discretion of the

director and must b e of a siz e smal l enough to fit onto the microcomp uter

used.

Another unique feature of the P.E.T. comp uter is its ab il ity to draw

schematiz ed rep resentations of the site p l ans on its screen and p rint them

on p ap er (diag. 1) • These are p articul arl y useful w hen new features are

discovered and areas of the site need to b e highl ighted. The director can

hand these to his resp ective site sup ervisors w ith p ertinent information

pinpointed.

A future version of the p rograms w il l incl ude the ab il ity to show

automatical l y on the p rop er site schematic the resp onses to the archaeol ogist' s

requests. F or examp l e, at the archaeol ogist' s request, al l green gl az ed

rim sherds coul d b e p l otted automatical l y on the correct site p l an w ithout

human intervention.

The data inp ut, b asic stats and site p l an draw ing sections of the

p rogram w ere comp l eted b efore travel l ing to Egyp t, as w as the format for the

Typ ograp hy Chart. This chart w as then al tered w hil e in Egyp t to suit the

E. K arnak site artifact distrib utions. Work is now al most comp l ete on the

remaining sections of the p rograms - data requests and retrieval , data

al teration, and advanced statistics. By Autumn 1979 final testing w il l take

p l ace in ~ oronto on data b rought b ack from E. K arnak.

Page 40: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 40/42

TASK 3. TRANSPORTING TH E COM PUTER INTACT

This w as the p art of the p rogr~ of activities that hel d the greatest

p otential for troub l e, b ut it al l w ent quite smoothl y. The comp uter w asdismantl ed into 4 smal l sectional comp onents: Printer, TV screen (CRT),

M ain Comp uter and K eyb oard, and Disk Drives (mass storage). These comp onents

w ere p acked in sturdy b oxes, the w hol e p ackage taking up l ess than 4 cu. ft.

The disk drives and CRT w ere p ut on the airp l ane as cargo and the comp uter and

p rinter w ere taken as hand l uggage. Disks w i t h p rograms re corded on them

w ere p acked inside the main comp uter for p rotection from magnetic fiel ds

and X-rays at airp ort security.

Al l customs checkp oints w ere p assed w i th no interrup tions or del ays. The

comp uter system w as carried b y tw o p eop l e (G.D.H . and w ife) from Canada to

New York, to L ondon, to Cairo, to L uxor, to K arnak and stil l w orked p erfectl y.

The p rinter w as adj usted for op eration at 5 0 H z . and the w hol e system w as

p ow ered b y a variab l e rheostat to enab l e constant 120 V.AC op eration fromvarying (and intenrittent) Egyp tian 220 V.AC mains current.

TASK 4. F IEL D TESTING

~ e system w as instal l ed on a tab l e in the office of the Insp ector of

K arnak Antiquities, Sayed Ab dul H amid, to w hom w e ow e a deb t of gratitude.

It w as discovered that air conditioning w as required to keep the system cool .

F ortunatel y, the insp ector' s office offered the necessary air conditioning

and a rel ativel y dust-free atmosp here. This w as esp ecial l y imp ortant for thedel icate disk drives w hich are notoriousl y suscep tib l e to dust and dirt.

/'Thus each night, sp ecial p l astic b ags w ere p ut around the disks and disk

drives.

In actual op eration, every afternoon the vol tage w as adj usted and the

comp uter system turned on. The morning' s site b ooks or artifacts w ere

b rought to the op erator for entry. At the end of the comp uter session,

w ith al l the data recorded and requ~ sts made, the machine w as turned off

and encl osed in the b ags. Al l systems and modes op erated successful l y as

designed.

Actual test data from the site w ere used to demonstrate the usage of

the p rograms, and suggest al terations to b oth modes of data entry and

eocp ected typ ograp hy of the site. These tests as w el l w ere carried out tothe satisfaction of the director and the op erators.

Page 41: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 41/42

SUMMARY

F or under $5 000 (Can.) archaeol ogists are now ab l e to p urchase a comp uter

system cap ab l e of op erating a comp rehensive set of p rograms dedicated to

fiel dw ork and anal ysis •.The p rograms offer a comp lete data b ase management

system for handl ing b oth p hysical site features and artifacts, as w el l as

p ortraying grap hical rep resentations of the site. An additional feature is

the consul tation service offered b y the author to p rosp ective users;

enab ling a typ ograp hy to b e created w hich is p articul ar to each individual

site.

The summer season of 1979 at E. K arnak offered an ideal , if harsh,

testing ground and p roved that such a system w as viab l e. It is hop ed that

the savings to archaeol ogists in terms of b oth fiel dw ork arid rep ort

p rep aration w il l p romp t further interest in and el ab oration of the

p rograms, and p romote their use.

Jul y 1979

II i I

. .---,f C=TT I

l i .!.; \

i ~

;~~~-.;-., _ . . . . . . .- - . . . .- - - - _ . - - _ : ~

!f i ! i

DIAG. 1 H yp othetical site p rinted b y P.E.T. p rinter

Page 42: The Transactor V2 06 1979 Nov 30

8/7/2019 The Transactor V2 06 1979 Nov 30

http://slidepdf.com/reader/full/the-transactor-v2-06-1979-nov-30 42/42

:;.-z: : r . :CI0 ..0 : 1 , . 1 1

O : : : .. . JI,",W

0 : : : : -Q.W: I - . . . JI-

. . . JL':IIl:

: Z :W

::::-#w#0:::1-1-

O . • I J .. W

. . . J

0:I-W: : : : :

• L I"I

0.0U1%+ 1 - 1U " I I J . .

ZI-t

o

~-0 1 , . 1 " 1

Z...JO:..J

I.IJl J 1 : : : CWl;1Zo0: "

H

H

< !J.j..l

o

z

N

H

N

.o~H

o