You are on page 1of 48

FOR OWNERS OF THE COMMODORE PET™ PERSONAL COMPUTER

VOLUME III, ISSUE 2 & 3 AN ARESCO PUBLICATION M AR C H /APR IL 1980, $2.50

TABLE OF CONTENTS

6502 I n s t r u c t i o n S e t T a b l e s .... = ........ ....... F r a n T u r c o ........ 3


R e a d e r I / O . . .................. . . ....................................... .15
S o f t w a r e M a i n t e n a n c e B u l l e t i n .................. .......................17
New Product Announcement: F a n t a s y S o f t w a r e ....................... 17
The E n d ..................................... R o y B u s d i e c k e r , ............19
T r y M e t a p r i n t i n g ............... „J o h n M a t a r e l l a ....°. . .22
A Screen Print Machine Language Program,, . „P. W. S p a r k s .. ...... 2 4
O b s e r v a t i o n s o n V o l u m e 2, I s s u e 1 0 . ooR o y Busdi e c k e r , , ....,,...34
D i s a s s e m b l y L i s t i n g of S e a r c h ............R o y B u s d i e c k e r . „ ....... *36
M E M E x p l o r e r - A g a i n . . . o . .. ....... . - « »Ray D a v i d s o n ...........°• -37
Listing from Commodore’
s "The T r a n s a c t o r " - .D - S h e w a r d . „ o 39
P E T U s e r G r o u p s .............................. ....... °°°............ - • °40
P r o d u c t M i n i - R e v i e w s ..............Roy B u s d i e c k e r ........... 42
Re v i e w : N e w - C u r s o r . ............. 0 . . . . .Dr. M a t a r e l l a o <,....... <, . .44
U n - C r a s h i n g O n U p g r a d e R O M C o m p u t e r s „J i m B u t t e r f i e l d s ......... 4 4
I n t e r e s t e d i n the P r o g r a m m e r ' s T o o l k i t ? G. Y o b ................. „45

ADVERTISERS

E a s t e r n H o u s e S o f t w a r e ................................ 1 8 G e n e P o l o w y t s c h ....................................... a . . . 46
A b a c u s S o f t w a r e ............. . .21 A r e s c o P u b l i c a t i o n s „ 0„ ....... 46
A i d c o m S o f t w a r e ............. . .21 M i c r o S o f t w a r e S y s t e m s ....... 47
I n t e r n a t ' l Tech. S y s t e m s . . » „4l Riley Enterprises» = 4 7
E a s t e r n H o u s e S o f t w a r e „„....41 H a r r y H. B r i l e y 0„ ............. 47
E v e r y t h i n g E l e c t r o n i c ......... 46
FOR YOUR GENERAL INFORMATION

T H E P A P E R is p u b l i s h e d t e n t i m e s p e r y e a r b y A R E S C O , I n c . , a t
6303 G o l d e n Hoo k , C o l u m b i a , MD, 2 1 0 4 4 . T e l e p h o n e (301) 7 3°-
5186.
T H E P A P E R is m a i l e d to s u b s c r i b e r s d u r i n g t h e l a s t w e e k o f
each m o n t h except June and December. S i n g l e c o p y p r i c e is
$2 a n d s u b s c r i p t i o n p r i c e is $ 1 5 f o r a l l t e n i s s u e s o f the
current volume. S u b s c r i p t i o n s d o n o t c a r r y o v e r f r o m one
v o l u m e to t h e n e x t . S u b s c r i b e r s w h o do n o t w i s h to o r d e r the
f u l l v o l u m e s h o u l d s e n d $2 f o r e a c h i s s u e d e s i r e d . Renewals
a r e a c c e p t e d d u r i n g the l a s t t w o m o n t h s o f the c u r r e n t v o l u m e
yea r , a n d t h e f i r s t i s s u e o f e a c h v o l u m e is p u b l i s h e d i n Feb.
S u b s c r i p t i o n o r d e r s s h o u l d b e m a i l e d to P 0 B o x 1 1 4 2 , C o l u m b i a
MD, 2 1 0 4 4 i n o r d e r to a s s u r e p r o m p t p r o c e s s i n g .
S e c o n d c l a s s p o s t a g e p a i d i n C o l u m b i a M D 2 1 0 4 5 ( U S P S 450-93° )•
POSTMASTER S e n d a l l a d d r e s s c h a n g e s to T H E P A P E R , B o x 114 2 ,
Columbia MD 21044
T H E P A P E R is n o t a s s o c i a t e d i n a n y w a y w i t h C o m m o d o r e B u s i n e s s
M a c h i n e s , C o m m o d o r e I n t e r n a t i o n a l , o r a n y o f i ts a f f i l i a t e d
c o m p a n i e s , an d C o m m o d o r e is n o t r e s p o n s i b l e f o r t h e c o n t e n t s
o f T H E PA P E R .
R e a d e r s ar e e n c o u r a g e d to s u b m i t a r t i c l e s of g e n e r a l i n t e r e s t
to PE T o w n e r s f o r p u b l i c a t i o n i n t h e P A P E R . Material submitted
m u s t be f r e e of c o p y r i g h t r e s t r i c t i o n s . The entire contents
of THE PAPER are copyrighted c 1980 by ARESCO, Inc 0

SUBSCRIPTION RATES
U S A residents: $ 1 5 / 1 0 issues of current volume. Non-USA resi­
d e n t s s h o u l d i n c l u d e a n a d d i t i o n a l $12 f o r a i r m a i l p o s t a g e i f
desired. Com p l e t e sets of p r e v i o u s v o l u m e s w ill be a v a i l a b l e
f o r $ 1 5 / s e t (all t e n i s s u e s o f the v o l u m e ) , p l u s p o s t a g e . No
p u r c h a s e orders will be a c c e p t e d for orders; p a y m e n t m u s t a c ­
c o m p a n y the a p p l i c a t i o n f o r s u b s c r i p t i o n . C O D ( v i a U P S ) is
a c c e p t a b l e f o r p r e v i o u s v o l u m e s e t s only, a n d t h e p u r c h a s e r
will incur the U PS COD charge of $1.15* P e r s o n a l c h e c k s , MC,
V I S A , A m e r i c a n E x p r e s s c r e d i t c ards, a n d c a s h a r e a c c e p t a b l e
m e a n s of p a y m e n t . Checks d r a w n on foreign banks should include
a n a m o u n t s u f f i c i e n t to c o v e r t h e c u r r e n t c u r r e n c y e x c h a n g e rat e .

ADVERTISING
A d r a t e s h e e t s w i l l b e s e n t to i n t e r e s t e d p e r s o n s u p o n r e q u e s t
xc T H E P A P E R , P 0 B o x 1 1 42 , C o l u m b i a M D 2 1 0 4 4 .
DEALERS
D e a l e r s m a y o r d e r c o m p l e t e s e t s o f t h e p r e v i o u s v o l u m e s as w e l l
as a m i n i m u m o f f i v e (5 ) c o p i e s o f e a c h m o n t h ' s c u r r e n t i s s u e .
D e a l e r s are i n v i t e d to i n q u i r e b y m a i l o r b y t e l e p h o n e to (301)
730-5186
SOFTWARE
S o f t w a r e w r i t t e n f o r a n d d i s t r i b u t e d b y T H E P A P E R is i n t e n d e d f o r
u s e o n the 8K PET, a n d w e d o n o t m a k e a n y c l a i m s t h a t s a i d s o f t w a r e
is a p p r o p r i a t e f o r u s e o n a n y o t h e r C o m m o d o r e c o m p u t e r s y s t e m .

2
EDITORIAL

Hi there! I ' m S a n d y and I ' m one o f the n e w e r a d d i t i o n s to


the A r e s c o staff. I s t a r t e d w o r k i n g h e r e i n A u g u s t of
'79 and I e n j o y w o r k i n g h e r e w i t h R i c k a n d T e r r y v e r y
much. S o m e of y o u m a y k n o w o f m e a l r e a d y f r o m t a l k i n g
to me o v e r the p h o n e or b y mail. I u s e d to type the
n e w s l e t t e r s b u t n o w I do the s h i p p i n g of y o u r s u b s c r i p ­
tions. A n o t h e r a d d i t i o n to o u r s t a f f is B o b B r o c k . You
won’ t be h e a r i n g too m u c h f r o m h i m as he d e a l s m o s t l y w i t h
the f i n a n c i a l side of A r e s c o . W i t h Bob, this b r i n g s the
t o t a l n u m b e r of s t a f f to four.
M a n y of y o u m a y be w o n d e r i n g w h y the P a p e r w a s n ' t p u b ­
l i s h e d i n Ma r c h . Well, t h a t ' s b e c a u s e t h r e e o u t of the
f o u r of us h a v e b e e n out of w o r k b e c a u s e o f i l l n e s s . Rick
has b e e n r u n n i n g C o m p u t e r C r o s s r o a d s w i t h a k l e e n e x i n
one h a n d a n d a b o t t l e of N e o - S y n e p h r i n e i n the other.
T e r r y has b e e n at h o m e i n b e d ( c a l l i n g a t l e a s t t h r e e times
a day) w i t h some type o f f l u or v i r u s t h a t k e p t h e r
there f o r t h r e e we e k s . The a b s e n c e of a n e w s l e t t e r is b e ­
g i n n i n g to m a k e sense, i s n ' t i t? N e e d l e s s to say, we
w e r e u n a b l e to k e e p our d e a d l i n e w i t h the p r i n t e r „ This
is w h y we d e c i d e d to m a k e a g i a n t i s s u e of the P a p e r f o r
Ap r i l . This is the M a r c h / A p r i l i s s u e a nd it c o n t a i n s a
l o t o f good stuff. We are t r y i n g to g e t b a c k o n s c h e d u l e
and we a p p r e c i a t e y o u r p a t i e n c e w i t h us. We a re l o o k i n g
f o r w a r d to a l l the a r t i c l e s y o u c a n s e n d us tool

Terry- B a c k i n the A p r i l i s s u e (Vol 2, Iss 3» Pg* 8) R o y


B u s d i e c k e r e x p r e s s e d a n o p i n i o n t h a t the P a p e r o u g h t to
o f f e r tab l e of the 6502 i n s t r u c t i o n s e t b y m n e m o n i c and
b y o p c o d e „ S i n c e I ha v e n o t s e e n s u c h a l i s t p u b l i s h e d ,
I a m o f f e r i n g y o u the lis t s t h a t we h a v e m a d e up. We
c e r t a i n l y f o u n d t h e m u s e f u l f or d o i n g h a n d a s s e m b l y of
s h o r t r o u t i n e s or fo r d i s a s s e m b l i n g r o u t i n e s p u b l i s h e d i n
the P a p e r as D A T A s t a t e m e n t s w i t h d e c i m a l o p c o d e s . -Fran
Turco

S E E N E X T P A G E FOR T A B L E S
6502 INSTRUCTION SET BY MNEMONIC

MNEMONIC DECIMAL HEX OPERATION

ADC-ABS 109 6D Add Memory to Accum w ith Carry

ADC-ABS ,X . 1 2 5 7D

ADC-ABS,Y 121 79

ADC-IMM 105 69

ADC-IND,X 97 61

ADC-IND.Y 113 71

ADC-Z PAGE 101 65

ADC-Z PAGE,X 117 75

AMD-ABS 45 2D "AND" Accumulator w ith Memory

AND-ABS ,X 61 3D

AND-ABS,Y 57 39

AND-IMM 41 29

AND-IND,X 33 21

AND-IND,Y 49 31

AND-Z PAGE 37 25

AND-Z PAGE ,X 53 35

ASL-A 10 OA S h i f t L e f t One B i t (Accum)

ASL-ABS 14 OE S h i f t L e f t One B i t (Mem)

ASL-ABS ,X 30 IE

ASL-Z PAGE 6 06

ASL-Z PAGE,X 22 16

BCC 144 90 Branch onCarry C lear

BCS 176 BO Branch onCarry Set

BEQ 240 FO Branch I f Equal (Result = 0)

4
MNEM ONIC____ DECIMAL HEX OPERATION

i
BIT-ABS 2C Test B it s in Accum w ith Memory

-Ea
B1T-Z page 36 24

BM1 48 30 Branch on Minus

BNE 208 DO Branch i f Not Equal (R e s u lt f 0)

BPL 16 10 Branch on Plus

BRK 0 00 Force Break

BVC 80 50 Branch on Overflow C lear

BVS . 112 70 Branch on Overflow S e t

CLC 24 18 C le ar Carry Flag

CLD 216 D8 C lear Decimal Mode

CLI 88 58 C le ar In te r r u p t D isable B i t

CLV 184 B8 C le ar Overflow Flag

CMP-ABS 205 CD Compare Accum w ith Memory

CMP-ABS,X 221 DD

CMP-ABS,Y 217 D9

CMP-IMM 201 C9

CMP-IND.X 193 Cl

CMP-IND,Y 209 D1

CMP-Z PAGE 197 C5

CMP-Z PAGE,X 213 D5

CPX-ABS 236 EC Compare Index X w ith Memory

CPX-IMM 224 EO

CPX-Z PAGE 228 E4

CPY-ABS 204 CC Compare Index Y w ith Memory

CPY-IMM 192 CO

CPY-Z PAGE 196 C4

5
MNEMONIC DECIMAL HEX OPERATION

DEC-ABS 206 CE Decrement Memory by one

DEC-ABS ,X 222 DE

DEC-Z PAGE 198 C6

DEC-Z PAGE,X 214 D6

DEX 202 CA Decrement Index X by one

DEY 136 88 Decrement Index Y by one

EOR-ABS 77 4D "E x c lu s iv e OR" Accum w ith

EOR-ABS,X 93 5D

EOR-ABS ,Y 89 59

EOR-IMM 73 49

EOR-IND.X 65 41

EOR-IND,Y 81 51

EOR-Z.PAGE 69 45

EOR-Z.PAGE,X 85 ' 55

INC-ABS 238 EE In c r Memory by one

INC-ABS,X 254 FE

INC-Z.PAGE 230 E6

INC-Z PAGE,X 246 F6

INX 232 E8 Increment Index X by One

I NY 200 C8 Increment Index Y by one

JMP-ABS 76 4C Jump

JMP-IND 108 6C

OSR 32 20 Jump to Subroutine

LDA-ABS 173 AD Load Accum from Memory

LDA-ABS,X 189 BD

LDA-ABS ,Y 185 B9

LDA-IMM 169 A9

6
MNEMQ'M! C DECIMAL HEX OPERATION

LDA-IND,X 161 A1 Load Accum from Memory

LDA-IND.Y 177 B1

LDA-Z PAGE 165 A5

LDA-Z PAGE,X 181 B5

LDX-ABS 174 AE Load Index X from Memory

LDX-ABS ,Y 190 BE

LDX-IMM 162 A2

LDX-Z PAGE 166 A6

LDX-Z PAGE,Y 182 B6

LDY-ABS 172 AC Load Index Y from Memory

LDY-ABS ,X 188 BC

LDY-IMM 160 . AO

LDY-Z PAGE 164 A4

LDY-Z PAGE,X 180 B4.

LSR-A 74 4A S h i f t One B i t Right (Accum)

LSR-ABS 78 4E S h i f t One B i t Right (Mem)

LSR-ABS,X 94 5E

LSR-Z PAGE 70 46

LSR-Z PAGE,X 86 56

NOP 234 EA No Operation

ORA-ABS 13 OD "OR" Accum w ith Memory

ORA-ABS,X 29 ID

ORA-ABS,Y 25 19

ORA-IMM 9 09

ORA-IND,X 1 01

0 RA-1N D, Y 17 11

ORA-Z PAGE 5 05

ORA-Z PAGE,X 21 15

7
MNEMONIC DECIMAL HEX OPERATION

PHA 17. 48 Push Accum onto Stack

PHP 8 08 Push Processor Statu s on Stack £

PLA 104 68 P u ll Accumulator from Stack

PLP 40 28 P u ll Processor Statu s from Stack

ROL-A 42 2A Rotate One B i t L e f t (Accum)

ROL-ABS 46 2E Rotate One B i t L e f t (Mem)

ROL-ABS,X 62 3E

ROL-Z PAGE 38 26

ROL-Z PAGE,X 54 36

RTI 64 40 Return from In te r r u p t

RTS 96 60 Return from Subroutine

SBC-ABS 237 ED Subt Memory from Accum w ith Borrow

SBC-ABS,X 253 FD

SBC-ABS,Y 249 F9

SBC-IMM 233 E9 •
SBC-IND.X 225 El

SB C-1ND,Y 241 FI

SBC-Z PAGE 229 E5

SBC-Z PAGE,X 245 F5

SEC 56 38 S e t Carry Flag

SED 248 F8 S e t Decimal Mode

SEI 120 78 S e t In t e r r u p t D isable Status

STA-ABS 141 8D S to re Accum in Memory

STA-ABS,X 157 9D

STA-ABS,Y 153 99 .

STA-IND,X 129 81

STA-IND.Y 145 91

STA-Z PAGE 133 85

8
MNEMONIC DECIMAL HEX OPERATION

STA-Z PAGE, X 149 95

STX-ABS 142 8E Sto re Index X in Memory

STX-Z PAGE 134 86

STX-Z PAGE,Y 150 96

STY-ABS 140 8C S to re Index Y in Memory

STY-Z PAGE 132 84

STY-Z PAGE,X 148 94

TAX 170 AA T ra n sfe r Accum to Index X

TAY 168 A8 T ra n sfe r Accum to Index Y

TSX 186 BA T ra n sfe r Stack P o in te r to Index X

TXA 138 8A T ra n sfe r Index X to Accum

TXS 154 9A T ra n sfe r Index X to Stack P o in te r

TYA 152 98 T ra n sfe r Index Y to Accum

I MM - Immediate Addressing - The operand is contained in the second byte o f


the in s t r u c t io n .
ABS - Absolute Addressing - The second byte o f the in s tr u c tio n contains the
8 low order b it s o f the e f f e c t iv e address. The th ir d byte contains the
8 high order b its o f the e f f e c t iv e address.
Z PAGE - Zero Page Addressing - Second byte contains the 8 low order b its o f
the e f f e c t iv e address. The 8 high order b its are zero.
A - Accumulator - One byte in s tr u c tio n operating on the accum ulator.
Z PAGE,X Z PAGE,Y - Zero Page Indexed - The second byte o f the in s tr u c tio n
is added to the index (c a rry is dropped) to form the low order byte
o f the EA. The high order byte o f the EA is zeros.
ABS,X-AGS,Y Absolute Indexed - The e f f e c t iv e address is formed by adding
the index to the second and t h ir d byte o f the in s t r u c t io n .
(IN D ,X) - Indexed I nd ir e c t - The second byte o f the in s tr u c tio n is added to .
the X index d isca rd in g the c a r r y . The re s u lts points to a lo c a tio n on
page zero which contains the 8 low order b its o f the EA. The next byte
contains the 8 high order b it s .
(IN D ,Y ) - In d ir e c t Indexed - The second byte o f the in s tr u c tio n points to a
lo ca tio n in page zero. The contents o f th is memory lo c a tio n is added to
the Y index, the r e s u lt being the low order e ig h t b its o f the EA. The
c a rry from th is operation is added to the contents o f the next page zero
lo c a tio n . The r e s u lt being the 8 high order b its o f the EA.
650? INSTkl‘C11on:. BY DECIMAL op code

DECIMAL HEX MNEMONIC OPERATION

0 00 BRK Force Break


1 01 0RA-IND,X "OR" Accum w ith Memory
5 05 ORA-Z PAGE
6 06 ASL-Z PAGE S h i f t L e f t One Bit. (Mem)
8 08 PI It Push Processor Status on Stack
9 09 ORA-1 MM
10 OA ASL-A S h i f t L e f t One B i t (Accum)
13 OD ORA-ABS
14 OE ASL-ABS
16 10 BPL Branch on Plus
17 11 0RA-IND,Y
21 15 ORA-Z PAGE ,X
22 16 ASL-Z PAGE ,X
24 18 CLC C le a r Carry Flag
25 19 ORA-ABS,Y
29 ID ORA-ABS,X
30 IE ASL-ABS,X
32 20 JS R Jump to Subroutine
33 21 AND-IND,X "AND" Accumulator w ith Memory
36 24 BIT-Z PAGE Test B it s in Accum w ith Memory
37 25 AND-Z. PAGE
38 26 ROL-Z PAGE Rotate One B i t L e f t (Mem)
40 28 PLP P u ll Pro cesso r Statu s from Stack
41 29 AND-IMM
42 2A ROL-A Rotate One B i t L e f t (Accum)
44 2C BIT-ABS
45 2D AND-ABS
46 2E ROL-ABS
48 30 BMI Branch on Minus
49 31 AND-IND.Y
53 35 AND-Z PAGE,X
54 36 ROL-Z PAGE,X
56 38 SEC S e t Carry Flag

10
DECIMAL hex MNEMONIC OPERA! i '"•!
57 39 AND-ABS ,Y
61 31) AND-ABS ,X
62 311 ROL-ABS ,X
64 40 RTI Return from In te r r u p t
65 41 EOR-IND,X "E x c lu s iv e Or" Accum w it! M- inory
69 45 EOR-Z PAGE
70 46 LSR-Z PAGE S h i f t One B i t Right (Mem)
72 48 PHA Push Accum onto Stack
73 49 EOR-IMH
74 4A LSR-A S h i f t One B i t Right (Accum)
76' 4C JMP-ABS J ump
77 4D EOR-ABS
78 4E LSR-ABS
80 50 BVC Branch on Overflow C le ar
81 51 EOR-IND,Y
85 55 EOR-Z PAGE,X
86 56 LSR-Z PAGE,X
88 58 CLI C le a r In te r r u p t D isab le B i t
89 59 EOR-ABS,Y
93 5D EOR-ABS,X
94 5E LSR-AES,X
96 60 RTS Return from Subroutine
97 61 ADC-IND,X Add Memory to Accui;, wi th Carry
101 65 ADC-Z PAGE
104 68 PLA P u ll Accumulator from Stack
105 69 ADC-IMM
108 6C JMP-IND
109 6D ADC-ABS
112 70 BVS Branch on Overflow S e t
113 71 ADC-IND,Y
117 75 ADC-Z PAGE,X
120 78 S EI S e t In te r r u p t D isable Status
121 79 ADC-ADS ,Y
125 7LI ADC-ABS,X
129 81 STA-1ND,X S to re Accum in Memory

11
DECIMAL HEX MNEMONIC OPERATION

132 84 STY-Z PAGE Store Index Y in Memory

133 85 STA-Z PAGE


134 86 STX-Z PAGE Store Index X in Memory
136 88 DEY Decrement Index Y
138 8A TXA T ra n sfe r Index X to Accum
140 8C STY-ABS
141 8D STA-ABS
142 8E STX-ABS
144 90 BCC Branch on Carry C lear
145 91 STA-IND,Y
148 94 STY-Z PAGE,X
149 95 STA-Z PAGE,X
150 96 STX-Z PAGE,Y
152 98 TYA T ra n sfe r Index Y to Accum
153 99 STA-ABS,Y
154 9A TXS T ra n sfe r Index X to Stack P o in te r
157 9D STA-ABS,X
160 A0 LDY-IMM Load Index Y from Memory
161 A1 LDA-IND,X Load Accum from Memory
162 A2 LDX-IMM Load Index X from Memory

164 A4 LDY-Z PAGE


165 A5 LDA-Z.PAGE
166 A6 LDX-Z PAGE
168 A8 TAY T ra n sfe r Accum to Index Y

169 A9 LDA-IMM

170 AA TAX T ra n sfe r Accum to Index X


172 AC LDY-ABS
173 AD LDA-ABS
174 AE LDX-ABX
176 B0 BCS Branch on Carry S e t

171 B1 LDA-IND,Y
180 B4 LDY-Z PAGE,X
181 B5 LDA-Z PAGE,X
182 B6 LDX-Z.PAGE,Y

184 B8 CLV C le ar Overflow Flag

185 B9 LDA-ABS ,Y
DECIMAL___ - ------ HEX M N ! i n ___ OPLkATlO!!

186 BA TSX T ra n sfe r Stock P o in te r to Index X


188 DC LDY-ABS ,X
189 BD LDA-ABS,X
190 BE LDX-ABS,Y
192 CO CPY-IMM Compare Index Y wi th Memory
193 Cl CMP-IND,X Compare Accum w ith Memory
196 C4 CPY-Z PAGE
197 C5 CMP-Z PAGE
198 C6 DEC-7. PAGE Decrement Memory by one
200 C8 I NY Increment Index Y by one
201 C9 CMP-IMM
202 CA DEX Decrement Index X by one
204 CC CPY-ABS
205 CD CMP-ABS
206 CE DEC-ABS Decrement Memory by one
208 DO BNE Branch i 7" Not Equal (R e s u lt t- 0)
209 D1 CMP-IND.Y
213 D5 CMP-Z PAGE,X
214 D6 DEC-Z PAGE >X
215 D8 CLD C le a r D; eimal Mode
217 D9 CMP-/':3S ,Y
221 DD CMP-ABS,X
222 DE DEC-ABS,X
224 EO CPX-IMM Compare Index X w ith Me:; -ry
225 El SBC-ItlDjX Subt Memory from Accum wi th Borrow
228 E4 CPX-Z PAGE
229 E5 SBC-Z PAGE
230 E6 IMC-Z PAGE Increment Memory by 1
232 E8 I NX Increment Index X by 1
233 E9 SBC-IMM
234 EA NOP No Operatic:!
236 EC CPX-ABS
237 ED SBC-ABS
238 EE INC-ABS

13
J E C 1MAL..... ji.r.x _______ _ opi-kation______ __________
240 TO BEQ Branch I f Equal (R e s u lt - 0)
241 ri SBC-1 ['ID,Y
245 F5 SBC-Z PAGL,X
246 F6 INC-Z PAGE 5X
248 FO SLD S e t D ecm /i Mode
249 F9 SBC-ABS,Y
253 FD SBC-ABS,X
254 FE INC-ABS,X

I MM - Immedia t e Addressing -■ The operand is contained in the second byte o f


the in s tr u c tio n .
ABS - Absolute A d d r e s s i n g - The second byte o f the in s tr u c tio n contains the
8 low order b its oi the e f f e c t iv e address. The t h ir d byte contains the
8 high order b its o f the e f f e c t iv e address.
Z PAGE - Zero Page A ddressing - Second byte contains the 8 low order b its o f
the e f f e c t iv e ac’dres: . The 8 high order b its are zero.
A - Accum ulator - One byte in s tr u c tio n op erating on the accum ulator.
Z Page.X Z Page,Y - Ze ro Page Indexed - The second byte o f the in s tr u c tio n
is added to the index (c a r r y is dropped”) to form the low order byte
of the EA. The high order byte o f the EA is zeros.
ABS,X-ABS,Y Absolute Indexed - The e f f e c t iv e address is formed by adding
the index to the second and th ir d byte o f the in s t r u c t io n .
(IN D , X) - In dexed I n d ire c t - The second byte o f the in s tr u c tio n is added to
the X index d iscard in g the c a r r y . The r e s u lts p o ints to a lo c a tio n on
page zero which contains the 8 low order b its o f the EA. The next byte
contains the 8 high order b it s .
(IN D , Y) - In d ir e c t I ndexed - The second byte o f the in s tr u c tio n points to a
lo ca tio n in page zero. The contents o f th is memory lo c a tio n is added to
the Y index. The r e s u lt being the low order e ig h t b its o f the EA. The
ca rry from th is operation is added to the contents o f the next page zero
lo c a tio n . The r e s u lt being the 8 high order b its o f the EA.

t
14
READER I/O

To: Dennis A Costarakis & Shawn Glisson - I finally managed


to g e t s m a r t e n o u g h to s u b s c r i b e a n d d i g u p a l l the b a c k i s ­
s u e s of T h e PAPER! I n t h e O c t o b e r '79 i s s u e , t h e " S C R E E N
D U M P " r o u t i n e c a u g h t m y eye, so I h a d to c r a n k u p m y u n f i n i s h e d
" T E X T E D I T O R " a n d g i v e y o u the e a s y a n s w e r : M A K E A F A K E Q UOTE!
U s e the s e c o n d a r y a d d r e s s # 5 a n d d e f i n e a q u o t e . T h e n just b e ­
f o r e the P R I N T # 9 s t a t e m e n t , if S L = 3 4 , t h e n S L = 2 5 4 . Simple, yes?
Now, w h y p r i n t a R V S or OFF before every letter? There must
be a b e t t e r w a y " W h a t is the P O K E 2 0 5 , 0 f o r ? A n d w h y the C M D 9
A l s o , the w h o l e t h i n g n e e d s d i f f e r e n t v a l u e s f o r a n o ld P E T w i t h
n e w ROMs 0
H a s a n y o n e f o u n d a w a y to m a k e the 2 0 2 3 - 2 L I S T i n l o w e r c a s e
for i n s t r u c t i o n s , etc.?
B y the w a y . . . w h e n w r i t i n g s u b r o u t i n e s w i t h the B A S I C T O O L K I T ,
I ' v e f o u n d t h a t i f y o u r e f e r to a s u b r o u t i n e b y N A M E i n s t e a d
o f b y n u m b e r w h e n y o u h a v e n 0t g o t it i n the p r o g r a m yet, the
RENUMBER operation will n o t c h a n g e i t to 6 3 9 9 9 , a n d y o u can
F I N D i t b y n a m e so m u c h e a s i e r w h e n i t ' s t i m e to p u t i n its
number. - R Vander b i l t Foster
**** **** * * * * * * * * ** ***** * * ** *** * * **** * **** * *** ** * * * ****** * ** *
People: H e r e a r e s o m e n o t e s a b o u t the s o f t w a r e r e v i e w b y
D a v i d C o n l e y o n " D U N J O N Q U E S T " . It is o b v i o u s t h a t n e i t h e r
M r C o n l e y or the a u t h o r o f the g a m e a r e v e r y e x p e r i e n c e d a t
programming. The e n t i r e s e c t i o n o n r o l l i n g d i c e i n the r e v i e w
is p r o o f e n o u g h . T h e p r o b l e m is e a s i l y s o l v e d u s i n g the f u n c ­
t i o n c a p a b i l i t y of B A S I C . M a k e o n e of the f i r s t e x e c u t a b l e
s t a t e m e n t s o f the p r o g r a m a D E F s t a t e m e n t (and m a k e s u r e it is
o nly e x e c u t e d once). T h e s t a t e m e n t is:

10 D E F NDR(X) = INT(RND(1) * X) +1

T h i s c a u s e s a r a n d o m i n t e g e r f r o m 1 to X to b e g e n e r a t e d o n
e a c h c a l l to FNR. To r o l l t h r e e d i c e , j u s t i n v o k e F N R t h r e e
times:

2 1 9 0 J= F N R (6 )+ F N R (6 )+ F N R (6 )
2191 R E T U R N

T h e s t a t e m e n t 20 J = R N D ( - T I ) s h o u l d be e x e c u t e d o n l y o n c e to
s e e d the B A S I C r a n d o m n u m b e r g e n e r a t o r . T h i s t a k e s t he p l a c e
o f the " R A N D O M I Z E " v e r b i n o t h e r B A S I C S . - J e f f P i m p e r
* * * * * * * * * * * * * * * * * * * * *■){-* -a-**** * * * * * * * * * * * * * * * * * * * * * * -a-*-** * * -a--*-** *
T e r r y - I r e a l l y enjoy The PAPER. Some of the items are a
l i t t l e o v e r m y h e a d , s o m e a l o t over, a n d s o m e I g e t a l o t o u t
of. B u t a l l i n all, I e n j o y it. I°d l i k e to s e e s o m e a r t i c l e s
o n p r o g r a m s f o r (or e s p e c i a l l y c h a n g i n g e x i s t i n g p r o g r a m s to
r u n on) the C B M p r i n t e r w h i c h I f i n a l l y r e c e i v e d 1 . 3 y e a r s
after ordering. H o w e v e r , i t d o e s w o rk, a n d I d o n ' t n e e d m o r e
i n f o r m a t i o n t h a n the r e v i s e d m a n u a l o f f e r s „ K e e p s e n d i n g o u t
t h e g o o d w o r d . . . w e n e e d you! - F r e d M i n c h i n
T e r r y - J a m e s M c A r t h u r ' s " S E A R C H " i n V o l u m e 2, i s s u e 10, p a g e
24, is a n a b s o l u t e GEM! I h a d d e c i d e d n o t to r e n e w , b u t h a v e
c h a n g e d m y m i n d , s i n c e I t h i n k t h i s p r o g r a m a l o n e is w o r t h t h e
year's s u b s c r i p t i o n price. S o r r y to say, I f o u n d l i t t l e e l s e
o f i n t e r e s t i n V o l u m e 2.
O f c o u r s e , y o u d i d n ' t q u i t e m a n a g e to t y p e a l l t he m a c h i n e code
correctly. I n l i n e 140, the 2 1 s t c h a r a c t e r i n the s t r i n g s h o u l d
be a 3 i n s t e a d o f a 2 . I h o p e y o u ' l l p r i n t a n o t e to t h i s e f f e c t
i n y o u r n e x t issue; it w o u l d be r e g r e t t a b l e if a n y r e a d e r s m i s s e d
out o n this fine p r o g r a m b e c a u s e of a s i m p l e e r r o r . - J L P i e t e n p o l
##*#***#****-a--B--a-*-a-*-a--a--a--a--a--a--a--M--a-*-a--a--a--a--if-*-a--a--a--B-*-a--a--a--a-B--a--a--*-si--a--s--K--a--*-a--a--a-a--a-*-a--a-
T e r r y - I t w a s g r a t i f y i n g to s e e " S E A R C H " p u b l i s h e d i n t h e P A P E R
a t last! Unfortunately, there are some errors which will keep
it f r o m w o r k i n g . A b o u t m i d w a y t h r o u g h l i n e 140, t h e r e is t he
c h a r a c t e r s e q u e n c e 9028. T h e 2 I n t h i s s e q u e n c e s h o u l d b e a 3*
A l s o , n e a r the e n d s o f l i n e s 3 3 0 a n d 340, t h e r e s h o u l d b e t w o
r i g h t p a r e n t h e s e s t o g e t h e r , i n s t e a d o f one. I noticed that
t h e l i n e s o f c o d e w h i c h w e r e t o o l o n g to f i t i n o n e l i n e of
p r i n t w e r e c o n t i n u e d o n a n a d d i t i o n a l lin e , w h i c h is ok, e x c e p t
t h a t t h e a d d i t i o n a l l i n e is s h o w n s p a c e d o v e r f r o m t h e l e f t edge,
w h i c h w o u l d r e s u l t i n a g a p i n t he cod e . E a c h s t r i n g of code
w i t h i n t h e q u o t e m a r k s has to b e c o n t i n u o u s .
T h e M E R G E p r o g r a m w h i c h I m e n t i o n e d i n m y l a s t l e t t e r is r e a d y ,
a l t h o u g h i t is p e r h a p s s o m e w h a t o u t d a t e d , c o n s i d e r i n g s o m e o f
t h e s y s t e m h a r d w a r e n o w o n t he m a r k e t - T h i s p r o g r a m h a s s o m e
a d v a n t a g e s , a t l e a s t ; i t d o e s n ' t r e q u i r e a n y a l t e r a t i o n s to the
PET, a n d it d o e s n ' t c o s t a n y t h i n g ( e x c e p t s e v e r a l f r u s t r a t i n g
h o u r s o f t y p i n g a n d p r o o f r e a d i n g , s i n c e i t is n e a r l y t h r e e t i m e s
as l o n g as S E A R C H ) . I n a n y cas e , I w i l l s o o n s e n d a l o n g a c o p y
o f it, a l o n g w i t h a l i s t i n g m a d e o n a P E T 2 0 2 2 printer., - J a m e s
F McArthur
tt-a-a^-a-a-a-a-a-a-■***■«■*
T e r r y - I d e c i d e d n o t to r e n e w . I’ m s o r r y , b u t the P A P E R is too
h i g h l e v e l f o r me, a n d I d o n ' t g e t e n o u g h o u t o f it. "Compute'"
is m o r e to m y t a s t e . As n o t e d b y R o y B u s d i e c k e r , c o m m e n t i n g o n
Compute vs. " M i c r o " , C o m p u t e s e e m s to b e t he m o r e " c u s t o m e r "
a n d l e s s " t i n k e r e r " oriented., T h e s a m e is t r u e o f C o m p u t e v s a
the PAPER. A l s o , y o u r l a c k o f a d v e r t i s i n g is p o s i t i v e l y d e t r i ­
mental, and indicated a pur i s t and elitist attitude. I like
advertising. I l i k e to k n o w w h a t ' s a v a i l a b l e . Besides, the
l a c k of a d v e r t i s i n g r a i s e s y o u r p r i c e s to a n u n a c c e p t a b l e l e v e l ,
considering. - C A Cozart
We've asked readers repeatedly h o w they feel about ad v e r ­
t i s i n g - a n d th e a m o u n t o f a d s w e c a r r y r e f l e c t s t h e v i e w s
of readers who responded. S o r r y y o u w o n ' t be w i t h us this
year. W e ' l l m i s s y o u and all the ar t i c l e s y o u ' v e c o n t r i b u ­
ted... - T e r r y
Software Maintenance Bulletin

MICRO-SET I (for PET)

Version Date Comment

NOTE: Customers with versions prior to 1.73 may obtain a current version by
sending their original cassette with $2.00 and their name and address to MSS.

1.73 9 Jun 79 Incorporates changes to make the program compatible


with Version 2 PET's (Models 2001-16 and 2001-32), as
well as the original Model 2001-8.

1.74 9 Oct 79 Discrepancy: Above changes caused malfunction in


CREATE TAPE routine when used on program lines numbered
999 and below.

Correction: List line 63940 and position the cursor over the G of GOTO.
Press the INST/DEL key 8 times. Move the cursor over into the special char­
acters following GOTO 63960, delete one of them, then press RETURN. List
63940 again, and compare it to the “Line after correction" shown below (the
"Line containing error" is underlined to show portions to be deleted).
Change version number and date in lines 15 and 60007 as shown below.

LINE CONTAINING ERROR

53940 P R I N T "C M D 1 :L I S T " T 1 :P R I N T "CMP 3 :S = " S " ;T 1 = " T 1 ":P V = " P V " :G Q T 0 6 3 9 6 8 T T T T T

LINE AFTER CORRECTION


6394Q P R I N T "C M D 1 :L I S T "T 1 :PRI N T "C M D 3:S = " S " :T 1 = " T 1 " :G O T O 6 3 9 6 0 T T T T ;

15 PRINT" IVERSION 1.74 OCT

600O7 REM VERSION 1.74, 9 OCT 1979

NEW PRODUCT ANNOUNCEMENT

N ew Fantasy Software for Automated Simulations


t h e PET, A P P L E a n d T R S - 8 0 P.O. B o x 4 2 3 2
M o u n t a i n View, CA 94040
N o w A u t o m a t e d S i m u l a t i o n s c h a l l e n g e s PET, A P P L E , a n d T R S - 8 0
o w n e r s to r e s c u e a n e n t i r e c i t y f r o m the f i r e b a l l s o f
M o r l o c the M a d .
I n M o r l o c ' s T o w e r th e p l a y e r m u s t h u n t t h r o u g h a m a z e o f
30 r o o m s - a l l d i s p l a y e d o n t he s c r e e n - i n s e a r c h o f t he
e v i l a n d e l u s i v e M o r l o c b e f o r e t h e w i s a r d c a n d e s t r o y the
c i t y of H a g e d o r n .
M o r l o c ' s T o w e r c o m b i n e s a c h a l l e n g i n g p u z z l e to s o l v e w i t h
excellent graphics and 18 rea l - t i m e command o p t i o n s . Dozens
of f r i g h t e n i n g monsters of d i f f e r e n t shapes and sizes leap
f r o m the s h a d o w s to a s s a u l t t h e p l a y e r . Three k inds of
ri n g s , a m a g i c s w o r d , t w o a m u l e t s , a n d a h a l f - a - d o z e n o t h e r
t r e a s u r e s a r e h i d d e n w i t h i n the s i x - f l o o r t o w e r to a i d - or
h i n d e r - th e a d v e n t u r e r .
T h e c o m p e t i t i v e s c o r i n g s y s t e m k e e p s the g a m e c h a l l e n g i n g
a n d e x c i t i n g e v e n a f t e r m a n y o f the t o w e r ' s m y s t e r i e s
have been revealed. T h r e e l e v e l s o f p l a y l e t the u s e r
a d j u s t the d i f f i c u l t y of th e g a m e , w h i l e t he B o o k o f L o r e
n o t o n l y e x p l a i n s the r u l e s , b u t o f f e r s s o m e h e l p f u l h i n t s
o n s o l v i n g the p u z z l e s .
M o r l o c ' s T o w e r is d e s i g n e d f o r u s e o n t h e C o m m o d o r e P E T
( w i t h a t l e a s t 20K), th e R a d i o S h a c k T R S - 8 0 ( L e v e l II,
1 6 k ), a n d the A P P L E II ( 3 2 K w i t h A p p l e s o f t i n ROM ) .
M o r l o c ' s T o w e r is a v a i l a b l e a t p a r t i c i p a t i n g B y t e S h o p s ,
C o m p u t e r l a n d s , and o t h e r d e a l e r s n a t i on-wide, or for
$14.95 from Automated S i m u l a t i o n s „

PET 6502
RABBIT MACRO ASSEMBLER
Load, Save, Verify, Execute AND TEXT EDITOR
8 K in 38 seconds versus
PETs 2 Minute 45 seconds, • Versions for PET, APPLE II, SYM, KIM
plus more! and ATAR I (1st quarter 1980)
• Written entirely in machine language
High-speed Cassette Routines work with 8K, 16K, or 32K
m w ROM PETs which have the new Commodore cassette • Occupies 8K of memory starting at $2000 —
deck (like the external version which sells for $95.00). Apple version with disk occupies just over
Note: If you have a new ROM PET with the old style 9K
lift-top deck, everything but the high-speed cassette • Macro and conditional assembly
routines will work. • 36 error codes, 26 commands, 22 pseudo ops
— Auto repeat of any key held down, toggle character • Labels up to 10 characters
set. • Auto line numbering and renumber com­
— RAM M em ry Test, convert #’s to hex and decimal. mand
• String search and string search and replace
12 Rabbit Commands
• Copy, move, delete, load, save, and append
Note: Rabbit is 2K of machine code at $1800 for 8K PETS, commands
$3000 or $3800 for 16K PETS, or $7000 or $7800 for 32K
PETS. (Specify one of the 5 versions.) Cassette and Manual $49.95
Cassette and Maaaal - $29.95 (Add $5.00 for foreign) (including U. S. postage)

Eastern House Software Eastern House Software


3239 Liada Dr. Win*ta«-SaJe«, N. C. 27106 3239 Linda Dr. Winston-Salem, N. C. 27106

18
by Roy Busdiecker

Not too long ago, while working on one of my oddball projects, I found that I
needed a fast routine to find the end of whatever BASIC program happened to
be in my PET. Obviously, the routine could not interfere with the BASIC
program. A solution that would meet both needs (fast, and non-interfering)
would be a machine language routine stored in the second cassette buffer. As
a side benefit, that approach would also allow me to demonstrate the output
of C.W. Moser's ASSM/TED (reviewed in Issue 6, Vol. 2).

Long-time readers of The Paper will recall a series of articles (Issue 9,


Vol. 1: The PET Symbol Table and Data Formats; Issue 1, Vol. 2: A Decoder
Add-On to the Mem-Explorer; Issue 2, Vol. 2: Exploring PET's Memory - A Real
Program) describing the structure of BASIC programs in PET Basic. Summarizing
briefly, the programs you type in start at location 1025 in the PET's memory.
The first two bytes hold the address of the beginning of the next program line
(the number respresented by these two bytes is called a "link pointer"). The
second pair of bytes hold the line number, following which are a variable
number of bytes holding tokens and characters. The end of each line is marked
with a 0. Each line follows this same pattern, while the end of program is
indicated by a link pointer whose value is zero.

Our strategy for the machine language routine is to "hopscotch" from one link
pointer to the next, until we find one whose value is zero.

The program which accomplishes that strategy is shown in the listing produced
by Mr. Moser's ASSM/TED. In that listing, the far left column gives the
addresses (in hex) into which the machine language commands have been assembled.
The next three columns are the hex values which correspond to the command
mnemonics farther to the right. The next column holds the consecutive line
numbers for the assembly source language which constitutes the rest of the
listing. I typed in t!.e labels, commands, addresses, and comments to the right,
and the assembler converted them to the hex values that the 6502 microprocessor
recognizes.

Now to a description of the program. The labels L0 and HI, located at hex 033A
and 033B (decimal 826,827) reserve space for the answer. After running the
routine, a BASIC command PRINT PEEK (826) + 256 * PEEK (827) will retrieve the
value.

The section from INIT (initialize) to LINKH sets hex 0401 (decimal 1025) as
the address of the first link pointer, so the routine always starts looking in
the right place.

The addresses following LDA in the LINKH line and the LINKL line are modified
by the program as it runs, so they always hold the address of the next line
pointer. The BEQ in the line following LINKH tests for an address of zero,
and transfers control to the line labelled DONE when it find the zero. The
section between LINKL and DONE puts the new addresses after the LDA's, and
the JMP in the line before DONE transfers control back to LINKH to find the
next link pointer.

Starting at the line labelled DONE, the program gets the address of the zero-
value pointer, and stores (STA) its low byte in location L0 (826), and its
high byte in HI (827). V
The RTS returns control to the routine that called it. If you enter the routine
from BASIC with SYS 828, the RTS will return you to BASIC.

A one-line BASIC command that will run the machine language program and print
out its result is shown below.

SYS 828:PRINT PEEK (826) + 256 * PEEK (827)

That's all there is to it!

If you don't have an Assembler program, the BASIC program below will load the
appropriate values into the second cassette buffer. Once you have run it, you
can load another BASIC program on top of it, and still have the machine language
routine available via the SYS command (as long as you don't use the second
cassette!).

6000 R E M --- FINH-END ---


6001 REM BY ROV BUSDIECKER
6002 REM MICRO SOFTWARE SYSTEMS
6003 REM P.O. BOX 1442
6004 REM W O O D B R I D G E , VA 22193
6005 :
6006 REM USE SVS828 TO RUN ML PROGRAM
6007 :
6008 REM PRINT P E E K <826> +256#F'EEK<827> FOR ANSWER
6009 F O R 1=1TO 62 :R E A D K ;POKE 825 + I,K :NEXTI

6020 DATA 248i,24,170, 173,1,4,141 ,85,2!, 105, 1, 141, 79, 3, 1-Jo, 141, o6 ,3,105,0,1 ■
6030 DATA 80, 3, 7 6,7 y ,o ,173,85,3, 141,518,3, 173 ,86,3,141,59,3, 96

00 10 JFIND-END - (C •■1979, ROY BUSDIECKER


0020 .i
0030 .iL «z”
«■
0040 .OS
0050 .Bfl $033H
033'A- 00 0060 LO . rr»T
«»i 0
033B- 00 0070 HI .BY 0
Q33C- A9 01 0080 INIT LDA #01 ; INITIALIZE
0 3 3 E- SD 55 03 0090 STA LINKL+1 A DDR OF LO BYTE , NEXT PTR
0341- 69 01 0 100 ADC #01
0343- SD 4F 03 0110 STA LINKH+1 A DDR OF HI BYTE , NEXT PTR
0346- A9 04 0120 LDA #04 ; HI BYTE OF PTR iA DDRESS
0348- 8D 50 03 0 130 STA LINKH+2
0 3 4 B- SD 56 03 0140 STA LINKL+2
034E- AD 02 04 01 50 LINKH LDA $0402 ; GET HI BYTE OF
0351- F0 18 0160 BEQ DONE LINK POINTER
0353- AA 0170 TAX
0354- AD 01 04 01 80 LINKL LDA $0401 GET LO BYTE OF
0357- 3D 55 03 0 190 STA LINKL+1 LINK POINTER
0 3 5 A- 69 01 0200 ADC #01
035C- 8D 4F 03 02 10 STA LINKH+1
035F- 8A 0220 TXfl

2 0
0 3 6 0 - SD 56 03 0230 STA L I N K L +2
0363- 00 0240 HjJC #00
8 3 6 5 - si 50 03 0250 STA LINKH+2
0 3 6 3 - 4C 4E 03 0260 •IMP LINKH
0 o 6 B — RD 03
ETC
- J- J 02 7 8 DONE LDA LINKL+1 : PASS INFO TO
— SD 3R 03 0280
;“ :j O u T C
STA LO : BASIC
0 3 7 1 - AD j h03 0290 LDA L I N K L +2
h :-’
74— SD 3E 03 0300 STA HI
t 60
: 03 10
0320 . EN

L A E CL r£TiT5
l_r~
c •• EXTERNAL 3

LO=033B HI=033E INIT=033C


LINKH=034E LINKL=0354 DOME=036E
/V 0000,0b'7o, 0b'78

PET' MACHINE LANGUAGE GUIDE

o i d c o m
S OF T WA R E
C o n t e n t s in c lu d e s e c tio n s o n :
PO B o x 165 Clarkson Postal Station
• In p u t a n d o u t p u t r o u t in e s . Mississauga, Ont. 15. 1 3Y1
• F ix e d p o in t , flo a tin g p o in t ,
T» l . (416) 823 - 3237
a n d A s c ii n u m b e r c o n v e r s io n .

• C l o c k s a n d tim e r s .
• B u ilt - in a r it h m e t ic f u n c t io n s .
m icro-G O 9L
This is t h e f i r st m i c r o c o m p u t e r CO program everl
$1B.95
It
• P r o g r a m m in g h in ts a n d su g g e s­
g r a p h i c a l l y d i s p l a y s a 9 x 9 Lina grid, P r i s o n e r s , Clock,
and M ov e for B l a c k ( t h* c o m p u t e r ) a n d White (human)*
tio n s .
• M a n y s a m p le p r o g r a m s .
bridge s co re s ®74.95
E n t e r B o a r d #. NS P a i r # . EW P a i r # , C o n t r a c t , T r i c ks for
eac h board pl ayed. The p r o g r a m s will d i s p l a y t he Sc or e
for e a c h hand, m a t c h p o i n t a l l 32 b o a r d s in 1 minute,
print Pair T o t a l s ( f a c t o r e d , r a n k e d by d i r e c t i o n & o v e r a l l
f o r 16 T a b l e s ) and 32 H a nd Re cor ds . ( C o m m o d o r e 2022
Printer recommended.)

I f y o u are interested in o r are alre ady in to m achine language


p ro g ra m m in g on th e P ET, th e n th is invaluab le guide is fo r blackjack odds §98.95
y o u . M o re th a n 3 0 o f th e P E T 's b u ilt-in ro u tin e s are f u lly S e t up t h e o p t i o n s t o m a t c h t h e rules of a n y C A S I N O :
d o u b l e d o w n on a n y 2 c a r d s or on t o t a l s of 9, 10, 11
de taile d so th a t th e reader can im m e d ia te ly p u t th e m to good
d o ub le do wn a f te r pair splitting or no doubledownpermi tted
use. d a a l e r s t a n d s on Sof t 17 or on Soft 18
A v a ila b le fo r $ 6 .9 5 + .75 postage. M ichigan residents please d o w n card ( 1 - 9 d e c k s ) or no down card
in c lu d e 4% state sales ta x . V IS A and M astercharge cards surrender/insurance pe rmi tt ed or not permitted
accepted - give card nu m b e r and e x p ira tio n date. Q u a n tity Enter a n y U p c a r d to g e t t h e D e a l e r ' s o d d s f o r hi s p o s s i b l e
totals ( 1 7 18 19 2 0 21 4 b u s t ) : t h e n you g e t t h e P l a y e r ’s
discou nts are available.
edge f or S t a n d i n g , H i t t i ng. D o u b l i n g d o w n , P a i r s p i i t f i n g for
hi s 2 card t o t a l s ( 2 to 2 0 ; h a r d & s o f t ) .
ABACUS SOFTWARE ALL PRODUCTS CAN RUN IN 8K OLD/NEW ROMS
P. 0 . Box 7211 Send cheque or money order. Ont. residents « dd 7% PST
Grand Rapids, Michigan 49510

J
21
TRY METAPRINTING
by John Matarella

H u m a n c u l t u r e s d e p e n d u p o n t r a d i t i o n to m a i n t a i n a n e c e s s a r y s t a b i l i t y
i n o r d e r to m o r e e f f e c t i v e l y w i t h s t a n d the f o r c e s of change. Thus we
c a r r y o ld c o n c e p t s and p r o c e d u r e s over f r o m the old m e d i a to the new,
e v e n w h e n t h e y are no l o n g e r n e c e s s a r y , or e v e n des i r a b l e .

A p e r h a p s t r i v i a l e x a m p l e of s u c h a n a n a c h r o n i s m is the w a y w e "wri t e "


on C R T ' s as if w e w e r e s t i l l d e p e n d e n t u p o n the m e c h a n i c s of h a r d c o p y
p r i n t i n g or w r i t i n g .

T r y the f o l l o w i n g M E T A P R I N T I N G r o u t i n e in the i n s t r u c t i o n s e c t i o n of
s o m e of y o u r p r o g r a m s . If the e f f e c t is n o t e y e - p l e a s i n g , it s h o u l d at
l e a s t be novel!

100 R E M METAPRINTING - SAMPLE PROGRAM


110 REM T O K E E P IT S I M P L E W E W I L L L I M I T A L L S T R I N G S TO L E S S T H A N 41
CHARACTERS
12 0 R E M IN Y O U R P R O G R A M LET P$ E Q U A L T H E S T R I N G TO BE P R I N T E D - T H E N
CALL THE SUBROUTINE
130 REM
140 REM
200 R E A D A$
210 IF A $ = " E N D " T H E N P O K E 5 1 3 , 0 : W A I T 5 1 3 , 1 0 : ? C H R $ ( 1 4 7 ) : R U N
220 P$=A$
230 G O S U B 60000
240 G O T O 200
250 REM
260 REM
5 00 D A T A " M E T A P R I N T I N G D E M O " , " --------------------------- -----------------------
R E M 40 BASHES
510 D A T A " N O W IS THE TIM E F O R A L L G O O D M E N " , " T O COME"
520 D A T A "TO THE A I D OF T H E I R P A R T Y " , " * * * * * * * "
530 D A T A " F O U R S C O R E AND S E V E N Y E A R S A G O " , " O U R F O R E F A T H E R S B R O U G H T F O R T H "
U P O N THIS C O N T I N E N T "
540 D A T A "A N E W N A T I O N " ," C O N C E I V E D IN L I B E R T Y " ,"AND D E D I C A T E D TO THE
PROPOSITION","THAT ALL MEN","ARE CREATED EQUAL"
550 D A T A END
560 R E M
5 70 R E M
60000 REM METAPRINTING SUBROUTINE
60010 REM BY D R M A T A R E L L A
6 00 20 R E M
6 0 0 3 0 LX=L EN( P$)
6 00 40 IF L X / 2 < > I N T ( L X / 2 ) T H E N P $ = P $ + C H R $ ( 3 2 ) :LX=LX+1
6 00 50 F O R IX = 1 TO L X / 2 *
6 0 0 6 0 ? T A B ( 2 0 - I X ) M I D $ ( P $ , L X / 2 + l - I X , 1 ) C H R $ (145)
60070 ?TAB(19+IX)MID$(P$,LX/2+IX,l)CHR$(145)
6 0 0 8 0 N E X T IX
6 0 0 9 0 ?:?
60100 RETURN
A SIMPLE MAIL LABEL PROGRAM
by K e n C Barroll

READY.

10 P R I N T C H R $ < 1 4 ? > :P 0 K E 5 9 4 6 8 , 12 M B V K E N C. B R R R O L L
100 P R I N T " : 3 M « * D « » M » M F E T P R I N T E R L A B E L S
10 1 P R I N T : P R I N T ,,M » * * * » W W a U S E N O C O M M A S !
102 r K I N T " PPPPPPPPSiPl 1"
10 3 P R I N T " » » M » M » M MR. J O H N L O S E R 1 H.INE 1 "
104 P R I N T n» l « m i » M 0 D E A D E N D S T R E E T 1 <H_INE 2 "
105 3"
106 P R I N T " P P P P P P P P P P I L O S T N A T I O N 13 1 +LINE 4 -
107 P R I N T " i p p p p p p p p p i i"
108 P R I N T P R I N T
1 09 P R I N T " W * » l < E f i T Y O U R H E A R T O U T W A L T E R D R A K E !V
1 1 0 F O R I = 1 T O 3 2 0 0 :N E X T I
12 0 P R I N T "m S W M L I N E 1 " ; : I N P U T A #
12 1 P R I N T "SSL.IHE 2"; :I N P U T
1 2 2 P R I N T " M O L I N E 3"; : I N P U T C *
1 2 3 P R I N T " * W L I N E 4 " i ■I N P U T D $
170 P R I N T " M W " :P R I N T A * :P R I N T B * :P R I N T C * =P R I N T D f
171 P R I N T " W I S T H E A B O V E O K CY O R N > "
1 7 2 I N P U T R $ IF R $ = " V " T H E N 1 7 9
173 G O T O 100
1 7 9 P R I N T " H O W M A N Y L A B E L S " :I N P U T N
180 G P E N 4 , 4
1 8 5 F O R 1=1 T O N
1 9 0 P R I N T # 4 ,A t :P R I N T # 4 , B t :P R I N T # 4 , C $ ■P R I N T # 4 ,D t :P R I N T # 4 ,C H R $ < 1 0 >
195 N E X T
200 E N D
READY.

NEW PRODUCT ANNOUNCEMENT

Q u e u e has published, a s e c o n d e d i t i o n o f i ts f r e e E d u c a t i o n a l
Softv/are c a t a l o g u e f o r A P P L E , P E T a n d T R S - 8 0 c o m p u t e r s
from major publishers. This c a l t a l o g u e h a s g r e a t l y e x ­
p a n d e d l i s t i n g s a n d i n c l u d e s s i m u l a t i o n s a n d s t r a t e g y g a mes.
A l l s o f t w a r e c a n be o r d e r e d d i r e c t l y f r o m Q u e u e .
For further informations contact Monica K a n t r o w i t z s Presi­
d e n t , Q U E U E , 5 C h a p e l H i l l D r i v e , F a i r f i e l d , CT 06^4-32,
o r c a l l (2 0 3 ) 3 7 2 - 6 7 6 1 .
A SCREEN PRINT MACHINE LANGUAGE PROGRAM

by Paul W Sparks

I n a n e a r l i e r a r t i c l e (THE P A P E R V o l u m e II, i s s u e 3» A u g u s t
1 9 7 9 1 p a g e 3 ) I d e s c r i b e d the u s e o f a S o u r t h w e s t T e c h n i c a l
Products C o r p o r a t i o n p r i n t e r (SWTPC PR-40) i n t e r f a c e d w i t h a
P E T 2001 m i c r o c o m p u t e r v i a the u s e r p o r t - The p r i m a r y p u r ­
p o s e o f s e l e c t i n g the P R - 4 0 is t h a t it is q u i t e i n e x p e n s i v e
($2 5 0 ); the p r i m a r y d i s a d v a n t a g e w i t h t he s y s t e m d e s c r i b e d
is t h a t it is q u i t e slo w . It was s u g g e s t e d that a m a c h i n e
l a n g u a g e v e r s i o n o f t h i s p r o g r a m w h o u l d be w r i t t e n , a n d s o o n
after that ar tic le was published, I rece ive d a let ter from
C L B u c h a n a n of C a m p S p r i n g s , M d . Mr. B u c h a n a n i n d i c a t e d n o t
o n l y t h a t he h a d r e a d th e a r t i c l e a n d s u b s e q u e n t l y p u r c h a s e d
a P R - 4 0 , b u t he a l s o p r o v i d e d a m a c h i n e l a n g u a g e v e r s i o n o f
th e p r o g r a m e m u l a t i n g e a c h s t e p of the B A S I C p r o g r a m . A
s l i g h t r e f i n e m e n t of t h a t p r o g r a m is p r e s e n t e d h e re.

Th e a p p r o a c h t h a t w i l l be t a k e n i n t h i s a r t i c l e is to go i n t o
s u f f i c i e n t d e t a i l to l e a d t h e b e g i n n i n g m a c h i n e ( a s s e m b l y )
l a n g u a g e p r o g r a m m e r t h r o u g h the l o g i c of the p r o g r a m i n g e n ­
eral, the l o g i c o f the u s e r p o r t r e g i s t e r s i n d e t a i l , a n d the
a s s e m b l y l a n g u a g e p r o g r a m m i n g s t e p s r e q u i r e d to a c c o m p l i s h
this l o g i c . If you aren't i nterested in asse m b l y language
p r o g r a m m i n g , b u t w o u l d l i k e to u t i l i z e the p r o g r a m , j u s t c o p y
the B A S I C p r o g r a m u s e d to P O K E i n the m a c h i n e l a n g u a g e s t e p s
( L i s t i n g 1), c a l l it u p w i t h a S Y S 841, a n d p r i n t away. On *
t h e o t h e r han d , i f y o u a r e a n a d v a n c e d a s s e m b l y l a n g u a g e p r o ­
g r a m m e r , a n d d o n ' t c a r e to go t h r o u g h the d e t a i l e d d e s c r i p t i o n ,
go s t r a i g h t to l i s t i n g 2 (do n o t p a s s GO, d o n o t c o l l e c t $ 2 00)
a n d d o w i t h it as y o u wil l . Now, i f t h e r e is a n y o n e lef t , we
w i l l begin.

T h e B A S I C p r o g r a m u s e d is l i s t e d b e l o w . One m a j o r d i f f e r e n c e
b e t w e e n this v e r s i o n a n d t h a t p r e s e n t e d i n the p r e v i o u s a r t i c l e
is t h a t this v e r s i o n d o e s h a v e f u l l h a n d s h a k e b e t w e e n the p r i n ­
t e r a n d the PET, w h e r e a s t h e e a r l i e r v e r s i o n u s e d a o ne s e c o n d
d e l a y to i n s u r e t h a t the l i n e h a d b e e n p r i n t e d . The other
d i f f e r e n c e is t h a t t h e r e w e r e t w o m i s t a k e s i n the p r e v i o u s
article. I n l i n e 20 1 0 0 , a n "I" w a s p u t i n p l a c e o f a "1", so
it s h o u l d read:
20100 F O R J=1 TO A1

O f a m o r e s e r i o u s n a t u r e , t h e m o s t i m p o r t a n t ste p , P O K E i n g the
c h a r a c t e r into the u s e r port, was o m i t t e d i n m y draft. There­
f o r e y o u m u s t a d d l i n e 20 1 4 5 :
2 0 1 4 5 P OKE 5 9 4 5 7 . D2(I)

Now, w i t h t h a t o u t o f the way, l e t ' s r e v i e w t h e steps:

24
21000 POKE 59459,255 T h i s s e t s the d i r e c t i o n
r e g i s t e r f o r the U s e r
P o r t to a l l l 's to s e t
the d a t a p o r t to o u t p u t
21005 P O K E 5 9 4 6 8 , P E E K (5 9 4 6 8 ) O R 1 S e t s the CA1 p o l a r i t y f o r
r e c e i v e o n the c h a r a c t e r
accept 0
2 1 0 1 0 X = 3 2 7 6 8 : K = 0 :A = 0 :A l = 2 5 Initializes all constants
2 1 0 2 0 Y = P E E K (X G e t s a c h a r a c t e r f r o m the
screen memory
21025 IF Y=28 THEN RETURN T h i s l i n e is a m e t h o d to
t e r m i n a t e the p r i n t p r o ­
cess. Any value corres­
p o n d i n g to a c h a r a c t e r o f
the u s e r 5s c h o i c e c o u l d
be used. For example, Y
=28 c o r r e s p o n d s to the
b a c k s l a s h ("\") b e i n g u s e d
as a d e l i m i t e r .
2 1 0 3 0 I F Y< 32 T H E N Y = Y + 6 4 This p a r t i a l l y converts
P E T m e m o r y c o d e to A S C I I
code o
21035 IF Y>128 THEN Y=Y-128 This line converts a r e ­
verse character.
21040 POKE 59457,Y P l a c e t he c h a r a c t e r o n
the d a t a r e g i s t e r
21050 P O K E 5 9 4 6 8 , P E E K ( 5 9 4 6 8 ) A N D 31 T h i s l e t s t he d a t a - r e a d y
OR 192 h a n d s h a k e (CB2) to 0 (low).
21060 P OKE 5 9 4 6 8 , P E E K (59468) OR 224 S e t s t he d a t a - r e a d y h a n d ­
s h a k e to 1 (high) a n d the
p r i n t e r w i l l a c c e p t the
data.
2 1 0 6 5 I F ( P E E K ( 5 9 4 6 8 ) A N D 2) T H E N T e s t to s e e i f t he d a t a
21070 received handshake hand­
shake has b e e n sent by
t he p r i n t e r . I f so, t h e n
continue.
21068 GOTO 21065 I f not, t h e n look again.
21070 K = K + 1 : IF K<40 THEN 21020 S t e p to t h e n e x t p o s i t i o n .
I f t h i s p o s i t i o n is n o t 40
t h e n go b a c k a n d r e p e a t
the p r o c e s s .
21080 A=A+1:K=0:X=X+40 S t e p to d o the n e x t lin e .
Z e r o the c h a r a c t e r i n d e x .
21100 GOTO 21020 S t a r t o v e r o n a n e w lin e .

25
L e t ' s r e v i e w th e l o g i c u s e d i n l i n e s 2 1 0 0 5 , 2 1 0 5 0 , 2 1 0 6 0 , a n d
21065. T h e A N D l o g i c w i l l o n l y b e t r u e ( h a v e a v a l u e o f 1) i f
b o t h A a n d B a r e t r u e ( h a v e a v a l u e o f 1). T h e OR ( i n c l u s i v e
OR) l o g i c is t r u e (1) i f e i t h e r A o r B a r e true. For instance
i f y o u w a n t e d to t u r n a b i t p o s i t i o n h i g h , j u s t O R t h a t p o s i ­
t i o n w i t h a 1 a n d i t w i l l be a 1. Alternatively, you can turn
t h a t b i t p o s i t i o n to 0 b y A N D i n g t h a t p o s i t i o n w i t h a 0. If
y o u w a n t to k e e p the o r i g i n a l v a l u e , O R t h e b i t p o s i t i o n w i t h
a 1. T h e l a s t b a s i c p r i n c i p l e to k e e p i n m i n d is t h a t i f y o u
p e r f o r m a l o g i c o p e r a t i o n w i t h a b y t e , i t is d o n e b i t b y bit.
F o r e x a m p l e , 8 A N D 1 2 7 = 8s

8 = 00001000
127 = 0 1111111
A N D i n g t h e s e tw o n u m b e r s b i t b y b i t w i l l g e t a m a t c h o f o n e s
o n l y i n t h e "8" p o s i t i o n . 8 OR 127 w o u l d be 127 b e c a u s e all
b i t p o s i t i o n s e x c e p t 1 2 8 (the l e f t m o s t bit) h a v e a o n e i n a t
l e a s t one of the n u m b e r s . I f y o u w e r e to A N D a n y n u m b e r w i t h
2 5 5 ( 1 1 1 1 1 1 1 1 ) , t h e o r i g i n a l n u m b e r w o u l d r e s u l t (A A N D 2 5 5 = A)

N o w w h a t d o e s a l l t h a t h a v e to d o w i t h t h e l o g i c s t e p s i n this
program? T h e w h o l e p u r p o s e o f t h e s e s t e p s is to s e t u p t h e
r e g i s t e r s an d h a n d s h a k e s f o r the p r i n t e r o p e r a t i o n . Commodore
P E T U S E R S C L U B N E W S L E T T E R ( V o l u m e 1, i s s u e 3) h a s a v e r y f i n e
t a b l e o f the P I A a n d V I A m e m o r y a n d f u n c t i o n l o c a t i o n s b i t b y
bit. T h e a r t i c l e was w r i t t e n b y K a r l H i l d o n . A l t h o u g h i t is
n o t o b v i o u s l y true, I t h i n k t h e t a b l e w a s s u p p l i e d b y J i m B u t ­
terfield. I n a n y events, w e w i l l be c o n c e r n e d w i t h m e m o r y l o ­
c a t i o n s 59 4 5 9 s 5 9 4 5 8 , 5 9 4 6 8 , a n d 5 9 4 6 9 . L o c a t i o n 59459 sets
the d i r e c t i o n o f t h e U s e r P o r t s o i f y o u P O K E 2 5 5 (all ones)
into that location, all lines are output. If any lines had
b e e n zeros, t h e n t h o s e l i n e s w o u l d h a v e b e e n i n p u t . Location
5 9 ^ 5 7 is the d a t a p o r t s so w e P O K E t h e A S C I I v a l u e o f the
c h a r a c t e r w e w a n t to p r i n t i n t o t h a t l o c a t i o n .
P o s i t i o n 0 (the r i g h t m o s t bit) o f l o c a t i o n 5 9 4 6 8 is u s e d to
s e t u p CA1 I N p o l a r i t y . I f w e O R the v a l u e i n t h a t l o c a t i o n
w i t h on e ( 0 0 0 0 0 0 0 1 ) , a l l the o t h e r b i t s w i l l s t a y t h e s a m e
a n d b i t z e r o w i l l b e c o m e a o n e i f i t i s n ' t a l r e a d y one. We
f o r c e d b i t z e r o h i g h to s e t the p o l a r i t y w i t h o u t a f f e c t i n g t he
o t h e r b i t v a l u e s . T h e n e w v a l u e is t h e n P O K E d b a c k i n t o t h a t
m e m o r y l o c a t i o n i n line 21005- L i nes 2 1 0 5 0 and 2 1 0 6 0 are
similar. The l e f t m o s t three bits of m e m o r y l o c a t i o n 5 9468 are
th e C B 2 I N / O U T c o n t r o l e l e m e n t s . A N D i n g 31 ( 0 0 0 1 1 1 1 1 ) w i t h
the c o n t e n t s of l o c a t i o n 5 9 ^ 6 8 k e e p s t he r i g h t h a n d f i v e b i t s
the sam e , a n d t u r n s t h e l e f t h a n d t h r e e b i t s to z e r o s . Then
t h i s n e w v a l u e is O R e d w i t h 1 9 2 ( 1 1 0 0 0 0 0 0 ) , w h i c h w i l l t u r n
th e l e f t m o s t tw o b i t s to o n e s a n d k e e p a l l t he o t h e r v a l u e s
unchanged. Th e r e s u l t is l l O x x x x x ( w h e r e x is t h e o r i g i n a l
value). That v a l u e is P O K E d b a c k i n t o 5 9 4 6 8 . T h e n we s e t
b i t f i v e h i g h b y O R i n g 2 2 4 ( 1 1 1 0 0 0 0 0 ) w i t h t he v a l u e n o w i n
59 ^ 6 8 . Y o u s h o u l d a l s o s a t i s f y y o u r s e l f t h a t O R i n g 32 w o u l d
ha v e b e e n s u f f i c i e n t f o r our use. T h e n e w v a l u e is P O K E D b a c k
i n t o 5 9 ^ 6 8 a n d we h a v e b l i n k e d b i t 6 o f f a n d on, t e l l i n g the
p r i n t e r t h a t the d a t a is o n i ts w a y . The last logic o p e r a t i o n
is a W A I T o p e r a t i o n a n d c o u l d b e w r i t t e n as s u c h . B i t 1 (2nd
f r o m t h e r i g h t ) of l o c a t i o n 5 9 ^ 6 9 ( I n t e r r u p t F l a g R e g i s t e r ) is
t h e CA1 bit. The c o n t e n t s o f 5 9 4 6 9 are ANDed w i t h 2 (00000010)
r e s u l t i n g i n a z e r o u n l e s s b i t 1 is e q u a l to one. Notice that
w e d o n ' t P O K E this v a l u e b a c k in; w e j u s t w a n t to s a m p l e it. If
b i t one is 1, t h a t m e a n s the p r i n t e r h a s s e n t a " r e a d y f o r d a t a "
s i g n a l a n d w e a r e r e a d y to p r o c e e d .

Y o u m a y h a v e n o t i c e d t h a t I h a v e g o n e to a l o t o f t r o u b l e to
c o n t r o l j u s t w h a t b i t s i n the c o n t r o l r e g i s t e r s w e r e c h a n g e d .
W h y n o t j u s t c h a n g e th e e n t i r e b y t e b y P O K E i n g 0 o r 2 5 5 to t u r n
it o f f or o n ? I t h i n k i t is w o r t h t h e t r o u b l e b e c a u s e t h e u s e r
p o r t s h a r e s a V I A ( V e r s a t i l e I n t e r f a c e A d a p t e r ) w i t h t he i n t e r ­
n a l c o n t r o l s o f th e PET. E v e n i f y o u d i d n ’t h a v e to b e c o n c e r n e d
w i t h the h i d d e n s e c r e t s o f y o u r c o m p u t e r , i t c o u l d s t i l l b e c o m e
troublesome if you aren't careful. For example, p l a y i n g around
w i t h b y t e p o s i t i o n 5 9 ^ 6 8 c o u l d a l t e r t he C B 2 I N / O U T c o n t r o l , CB1
f o r c a s s e t t e # 2 c o n t r o l , s h i f t f r o m g r a p h i c to l o w e r c a s e (or
v i c e v e r s a ) , o r a l t e r CA1 I N p o l a r i t y . I d o n ' t k n o w a b o u t you,
b u t I ' m too c h i c k e n to p l a y " r e g i s t e r r o u l e t t e " , s o I c a r e f u l l y
c h a n g e o n l y t h o s e b i t s t h a t n e e d c h a n g i n g (and o f f e r the s a m e
a d v i c e to y o u ) .
Y o u s h o u l d h a v e a n i d e a o f t h e s t r u c t u r e a n d l o g i c o f the a l g o ­
rithms that are u s e d here. T a b l e 2 is a l i s t i n g o f the a s s e m b l y
v e r s i o n of t h i s p r o g r a m . I t is p l a c e d i n the s e c o n d c a s s e t t e
buffer, but it could be plac e d in any other l o c a t i o n wi t h m inor
variations. Y o u p r o b a b l y n oticed that there are quite a few
NOPs (non-active spac e r or no operation) s c a ttered throughout
the p r o g r a m . Y o u c a n a t t r i b u t e t h i s to c a r e l e s s p l a n n i n g o n m y
p a r t ( a s s u m i n g I d i d n ' t k n o w h o w l o n g the p r o g r a m w a s g o i n g to
be) o r to c a r e f u l f o r e t h o u g h t ( a l l o w i n g y o u the o p t i o n a n d s p a c e
to a d d i m p r o v e m e n t s i f y o u c a r e to d o so).
L e t ' s go t h r o u g h the p r o g r a m , s t e p b y s t e p , i n i t s a s s e m b l y v e r ­
sion. T h e l i n e n u m b e r o f t h e B A S I C v e r s i o n t h a t c o r r e s p o n d s to
the s t e p s b e i n g d e s c r i b e d a t t he t i m e w i l l b e f o l l o w e d b y the
s p e c i f i c a s s e m b l y l a n g u a g e s t e p s a n d a n e x p l a n a t i o n of t h e i r
function.

841 NOP Just resting!


842,3 LDXIM 0 P u t 0 i n the X r e g i s t e r
844,5. LDYIM 0 P u t 0 i n t he Y r e g i s t e r

**21000 POKE 59459,255


846,7 LDAIM 255 P u t 255 in the a c c u m u l a t o r
848,9,0 STA 59459 P u t t h e c o n t e n t s o f t he a c c u m u ­
lator into l o c a t i o n 59^59
N ote: T h i s is h o w y o u POK E -

27
** 21005 POK E 59468, P E E K ( 59468) OR 1
851,2,3 LDA 59468 Pu t the contents of l o c a t i o n
59^68 i n t o t he a c c u m u l a t o r
Note : This is h o w y o u PEEK,
85 ^ 5 ORAIM 1 I n c l u s i v e OR the contents of
the a c c u m u l a t o r w i t h 1 , and
p l a c e t he r e s u l t i n t h e acc.
856,7,8 S T A 59468. P l a c e the c o n t e n t s o f the
a c c u m u l a t o r into l ocation
59468.

* * 2 1 0 1 0 X = 3 2 7 6 8 j K = 0:A = 0:A1 = 2 5
Note: The n e x t f e w s t e p s b r e a k u p 32768 i n t o h i g h a n d l o w
b y t e v a l u e s b a c a u s e a b y t e c a n o n l y c o n t a i n a n u m b e r u p to
255* T h e s e v a l u e s ar e p l a c e d i n t o c o n v e n i e n t m e m o r y l o c a t i o n s
f o r u s e l a t e r on.
859,0 LDAIM 128 P u t 1 2 8 ( h i g h v a l u e ) i n t he acc.
8 6 1 ,2 , 3 STA 1014 P l a c e the c o n t e n t s o f t he acc.
i n t o m e m o r y l o c a t i o n 10l4„
864,5 LDAIM 0 P u t 0 ( l o w v a l u e ) I n t he acc.
866,7,8 STA 1013 P l a c e the c o n t e n t s o f t he acc.
into m e m o r y l o c a t i o n 1 0 1 3 .

Note: Now we are prepared to s t a r t t h e m a i n p a r t o f the p r o g r a m

* * 2 10 2 0 Y=PEEK(X+
8 6 9 ,0 , 1 LDA 1013 L oa d the contents of l o c a t i o n
10 13 into the a c c u m u l a t o r
872,3,4 STA 884 P u t the c o n t e n t s o f the acc.
into l o c a t i o n 884
875,6,7 LDA 1014 L o a d the contents of l o c a t i o n
1 0 1 4 i n t o t he a c c u m u l a t o r
878,9,0 S T A 885 P u t t h e c o n t e n t s o f t h e acc.
i n t o l o c a t i o n 885
881 NOP resting
882 NOP resting
8 8 3 ,4 , 5 LDAX add+X L o a d the c o n t e n t s o f the a d d r e s s
l o c a t i o n +X into the a c c u m u l a t o r
Note: T h i s is a u t i l i z a t i o n o f a b s o l u t e a d d r e s s i n g w i t h i n d e x .
A n y l o a d i n g f r o m a n a d d r e s s is e q u i v a l e n t to P E E K i n g , w h e r e a s
a n i m m e d i a t e l o a d j u s t p l a c e s a s p e c i f i c v a l u e i n the a c c u m u l a ­
tor .

( E d i t o r ' s n o te: This is a l s o a n e x a m p l e o f s e l f - m o d i f y i n g c o d e ! )

** 21025 IF Y=28 THEN RETURN


886,7 C M P I M 28 C o m p a r e the c o n t e n t s o f t h e acc.
w i t h t h e v a l u e 28.

28
888,9 BNE 1 I f the Z f l a g = 0 ( t h e c o m p a r i ­
s o n p r o v e d the v a l u e s equal)
continue. O t h e r w i s e , s k i p the
n e x t s t ep.
N o te: T h e p o s i t i v e v a l u e l e s s t h a n 1 2 8 f o l l o w i n g a b r a n c h is
the n u m b e r o f s t e p s t h a t a r e p a s s e d o v e r w h i l e g o i n g f o r w a r d .
T h a t n u m b e r p l u s on e w i l l be the a d d r e s s t h a t is b e i n g b r a n c h e d
to. I f the n u m b e r is g r e a t e r t h a n 127, t h e n t h e b r a n c h is n e g a ­
tive .
890 RTS R e t u r n f r o m s u b r o u t i n e „ This
will r e t u r n the m a chine language
p r o g r a m b a c k to t he o p e r a t i n g
system.
Note: I f th e Z f l a g o O , i n s t r u c t i o n 890 w i l l be p a s s e d o v e r
(skipped).

** 21035 I F Y) 128 THEN Y=Y-128


891,2 CMPIM 128 C o m p a r e the a c c u m u l a t o r w i t h 1 2 8
893,4 BMI 3 I f the N f l a g = 0 (the c o m p a r i s o n
is n o t n e g a t i v e ) c o n t i n u e . Other­
wise, s k i p the n e x t three steps.
89 5 SEC S e t the c a r r y b i t to 1 ( s e t u p to
sub t r a c t w i t h o u t carrying)
896,7 S BCIM 128 S u b t r a c t 128 f r o m the contents of
the a c c u m u l a t o r and put the r e s u l t
i n t o the a c c u m u l a t o r .
N o te: I f the r e s u l t s w e r e n e g a t i v e , s t e p s 8 9 5 96, a n d 7 w i l l be
s k i p p e d 0 T h e p r o g r a m w i l l go d i r e c t i l y f r o m s t e p 8 9 3 , 4 to 8980

**21030 I F Y<32 THEN Y=Y+64


898,9 C M P I M 32 C o m p a r e c o n t e n t s o f a c c w i t h 32
9 0 0 ,1 BPL 2 I f t h e N f l a g =1 ( c o m p a r i s o n is
negative) c o n t i n u e „ Otherwise,
j u m p o v e r t h e n e x t t wo s t e p s .
902,3 A D C I M 64 A d d 6 4 to t he c o n t e n t s o f t h e acc,
a n d p l a c e t he r e s u l t s i n t h e acc.
Note: I f the r e s u l t s w e r e p o s i t i v e , s t e p 9 0 0 , 1 w o u l d c a u s e a
s k i p o v e r 9 0 2 , 3 a n d th e n e x t e x e c u t e d s t e p w o u l d be 9 0 4 , 5 s6 .

** 21040 POKE 59457,Y


904,5,6 STA 59457 P l a c e the c o n t e n t s o f the acc.
into l o c a t i o n 59457

N o te: We have n o w PEEKed a value f r o m a s c r e e n position, con­


v e r t e d i t to A S C I I code, a n d P O K E d i t i n t o t he u s e r por t .

** 21050 P O K E 5 9 4 6 8 , P E E K ( 5 9 4 6 8 ) A N D 31 O R 1 9 2
907,8,9 LDA 59468 P l a c e t he c o n t e n t s o f l o c a t i o n
5 9468 into the accumulator.
910,1 ANDIM A N D t h e c o n t e n t s o f t h e acc.
w i t h 31 a n d p l a c e t h e r e s u l t

back into the a c c u m u l a t o r
912,3 ORAIM 192 I n c l u s i v e O R the c o n t e n t s o f
t he acc. w i t h 1 9 2 a n d p u t the
r e s u l t s b a c k i n t o t h e acc.
914,5,6 STA 59468 Pu t the contents of the acc into
l o c a t i o n 5 9 4 6 8 ( s e t the h a n d ­
s h a k e low)
91 7 NOP just resting.

** 21060 P O K E 5 9 ^ 6 8 , P E E K (59^68) OR 224


918,9,0 LDA 59468 L o a d the c o n t e n t s o f l o c a t i o n
5 9 4 6 8 i n t o t he a c c u m u l a t o r
921,2 ORAIM 224 I n c l u s i v e O R t he c o n t e n t s o f
the acc. w i t h 2 2 4 a n d p u t the
r e s u l t s b a c k i n t o the acc.
923,4,5 STA 59^68 P l a c e the c o n t e n t s o f the a c c
into m e m o r y l o c a t i o n 5 9^68 (set
the h a n d s h a k e h i g h ) 0

** 2 1 0 6 5 I F '(PEEK(5 9 4 6 9 ) A N D 2) T H E N 2 1 0 7 0
926,7,8 LDA 59469 P l c a e the c o n t e n t s o f l o c a t i o n
59469 i n t o t h e a c c u m u l a t o r
929,0 ANDIM 2 A N D the c o n t e n t s o f t he acc.
w i t h 2 a n d p u t t he r e s u l t b a c k
i n t o the a c c u m u l a t o r .
931 NOP resting
932 NOP still resting t
933s^ BEQ 247 I f the Z f l a g = 0 (the c o m p a r i s o n
is n o t e q u a l ) continue.. Other­
w i s e , j u s t e i g h t s t e p s b a c k to
step 9260
N otes Branches bac k w a r d s are o f t e n c o n f u s i n g „ It turns out
t h a t o n e c a n b r a n c h + or - 1 2 8 u s i n g o p c o d e s . Values greater
t h a n 1 2 7 are b a c k w a r d s . To g e t t h e p r o p e r v a l u e , y o u m u s t t a k e
the n u m b e r o f s t e p s b a c k w a r d a n d s u b t r a c t t h a t n u m b e r f r o m 255°
I n this case, we n e e d to b r a n c h f r o m s t e p 9 3 ^ b a c k to 9260 So
9 34 . 926=8 an d 2 5 5 - 8 = 2 4 7 0 V o i l a ' !

** 21070 K=K+1: IF K<40 THEN 21020


935 I NX I n c r e a s e the v a l u e i n t he X r e g i s ­
t e r b y one
936,7 C P X I M 40 C o m p a r e the contents of the X r e g ­
ister with 4 0 o
938,9 BNE 185 I f t h e Z f l a g = 0 (the c o n t e n t s
o f t he X r e g i s t e r e q u a l s 40) t h e n
continue. Otherwise, jump back
70 s t e p s to s t e p 8 6 9 .
Note: T h i s s e c t i o n c h e c k s to s e e i f a n e n t i r e l i n e o f 40 c h a r ­
a c t e r s ha s b e e n c o m p l e t e d . I f not, i t r e t u r n s to s t e p 869 to
g e t th e n e x t c h a r a c t e r o n t h e lin e .

30
** 21000 A = A + 1 : K = 0 : X = X + 4 0
940.1 LDXIM 0 Put 0 in che X r e g i s t e r
§42 INY Increase the c o n t e n t e s o f the
Y r e g i s t e r b y 1.
* * 2 1 0 9 0 I F A A1 T H E N R E T U R N
943,4 CMPIM 25 C o m p a r e the c o n t e n t s o f the Y
r e g i s t e r w i t h 2 5 (Al).
945.6 BEQ 14 I f the Z f l a g = 0 (the c o m p a r i s o n
is n o t e q u a l ) t h e n c o n t i n u e .
O t h e r w i s e jump o v e r the n e x t 14
steps.
No te: W e h a v e n o w i n i t i a l i z e d f o r the n e x t l i n e a n d c h e c k e d to
s e e i f w e h a v e c o m p l e t e d the l a s t l i n e (2 5 9 s i n c e t h e r e a r e 25
l i n e s o n the s c r e e n ) . If n o t 9 continue.

* * 2 1 0 8 0 A = A + 1 : K = 0 :X = X + 4 0
9^7p8,9 LDA 1013 Load the contents of locat i o n 1013
into the a c c u m u l a t o r
950 CLC C l e a r the c a r r y f l a g
951.2 ADCIM 40 A d d 4 0 to the c o n t e n t s o f t he acc.
a n d p u t t he r e s u l t s b a c k i n t o it.
9 5 3 »^»5 STA 1013 P l a c e the c o n t e n t s o f the acc.
into locat i o n 1013
956.7 BCS 4 I f t h e c a r r y f l a g (C) = 0, t h e n
c o n t i n u e 0 O t h e r w i s e s k i p the
next four steps.
No te: T h e r e a s o n f o r t h i s b r a n c h is to a d d 1 to t h e h i g h v a l u e
i f the l o w v a l u e h a s a c a r r y a f t e r 4 0 h as b e e n a d d e d to it.
958,9,0 JMP 869 Jump back to l o c a t i o n 869 f o r the
n e x t instruction,.
961 RTS Return from subroutine
N o te: T h e o n l y w a y to g e t to t h i s i n s t r u c t i o n is i f t he c o m p a r ­
i s o n i n s t e p 9 4 3 s u c c e e d s (the c o m p l e t e s c r e e n h a s b e e n r e a d ) .
962,3*4 INC 1014 Incr e a s e the value in m e m o r y
l o c a t i o n 1 0 1 4 b y 1 a n d p u t t he
result back into location 1014
Not e : I n c r e a s e t h e h i g h v a l u e a n d ...
9 6 5 .6 . 7 JMP 869 Jump back to s t e p 869 f o r the
next instruction.
968 BRK Interrupt
Note: The in t e r r u p t here isn't necessary; it's just a good
practice.

A p r o g r a m w i l l n o r m a l l y h a v e s e v e r a l e l e m e n t s or s e c t i o n s i n it
that are not portable. This means that i n f o r m a t i o n in these s e c ­
t i o n s w o u l d h a v e to b e c h a n g e d i f t h e p r o g r a m w e r e l o c a t e d i n
a n y p a r t of m e m o r y o t h e r t h a n the a d d r e s s e s s p e c i f i e d i n the
listing. I n this p r o g r a m there are three s u c h areas, and if
y o u w a n t to p u t t h e p r o g r a m e l s e w h e r e ( r e l o c a t e it), y o u ’ ll
w a n t to be a w a r e o f them.

3 1
F irst, l o c a t i o n s 1 0 1 3 a n d 1 0 1 4 a r e u s e d as r e g i s t e r s to s t o r e
t h e h i g h a n d t h e l o w v a l u e s f o r t h e s t a r t o f the l i n e a d d r e s s .
T h e s e l o c a t i o n s s h o u l d be g o o d o n e i t h e r t h e o l d o r the n e w
ROM s , a n d a n y o t h e r c o n v e n i e n t l o c a t i o n w o u l d do as w e l l . 1
S e c o n d , the v a l u e s f o r l o c a t i o n s 8 8 4 a n d 885 a r e s p e c i f i e d i n
s t e p s 872 a n d 8 7 8 . I f y o u d e c i d e to r e l o c a t e the p r o g r a m ,
the a d d r e s s e s s p e c i f i e d i n t h e s e s t e p s w o u l d h a v e to be c h a n g e d .
T h i r d , s t e p s 9 5 8 a n d 965 s p e c i f y a j u m p l o c a t i o n ( s t e p 8 6 9 ).
I f y o u r p r o g r a m is r e l o c a t e d , t h e t a r g e t a d d r e s s i n t h e s e s t e p s
w o u l d h a v e to b e c h a n g e d . T h e r e m a i n d e r o f t he p r o g r a m is
r elative and therefore portable.

Some a d v e n t u r o u s b e g i n n e r s m a y be i n t e r e s t e d i n m a k i n g m i n o r
c h a n g e s to th e p r o g r a m f o r t h e i r o w n s p e c i f i c u s e s . For example,
I u s e d a b a c k s l a s h as a d e l i m i t e r (end of p r i n t s y m b o l ) . The
b a c k s l a s h v a l u e is 28 ( A S C = 9 2 ) . Y o u c o u l d j u s t as e a s i l y u s e
a ( A S C = 6 4 ) or a n y o t h e r c h a r a c t e r t h a t y o u like,, Just
r e m e m b e r to c o n v e r t the A S C I I c o d e to P E T code!
Y o u m i g h t w a n t to p r i n t o u t o n l y a p a r t o f the s c r e e n . If, f o r
i n s t a n c e , y o u d o n ' t w a n t to p r i n t t he t o p two s c r e e n lines, t h e n
y o u ' l l h a v e to i n c r e a s e the v a l u e s s t o r e d i n l o c a t i o n s 1 0 13 and
1 0 1 4 ( s t e p s 8 5 9 a n d 864). I u s e d a v a l u e o f 32768 - the v a l u e
f o r t h e t o p l e f t - h a n d c o r n e r o f the s c r e e n , s i n c e I w a n t e d t h e
e n t i r e s c r e e n to be p r i n t e d out. O r y o u m i g h t w a n t to o m i t the
l a s t two l i n e s o f s c r e e n d i s p l a y f r o m y o u r p r i n t o u t . To d o this,
d e c r e a s e the v a l u e of t h e c o n s t a n t (Al) i n s t e p s 9 ^ 3 s ^ to 2 3 .
S i m i l a r t e c h n i q u e s ( c h a n g i n g t he v a l u e s o f t he c o n s t a n t s ) c a n be
u s e d to p r i n t a n y p a r t o f the s c r e e n o r to a d d r e s s v a r i o u s p o r t i o n s
of it f o r g r a p h i c s .
S u p p o s e y o u h a v e a 96 c h a r a c t e r p r i n t e r - o r a p r i n t e r w i t h a l l
th e P E T c h a r a c t e r s . T h e p r o g r a m m i n g c o r r e s p o n d i n g to B A S I C
l i n e s 2 1 0 3 0 a n d 2 1 0 3 5 w o u l d h a v e to b e e x p a n d e d . I t m i g h t be
a p p r o p r i a t e to i n c l u d e t h e n e w c o n v e r s i o n r u l e s a f t e r s t e p 8 9 4
a n d m o v e the r e s t o f t h e p r o g r a m f o r w a r d . I f y o u d o this, r e ­
m e m b e r to c h a n g e the n u m b e r o f s t e p s to be j u m p e d b a c k w a r d s o v e r
i n o r d e r to ge t to s t e p 8 6 9 . A n d , i f y o u ' r e u s i n g a P R - 4 0
printer, re p l a c e steps 8 9 5-897 with:

895 NOP
896,7 C M P I M 32
a n d g e t a s p a c e i n s e r t e d a n y t i m e a g r a p h i c s y m b o l is e n c o u n t e r e d .
T h e n y o u ' l l b e a b l e to w r i t e i n t he a p p r o p r i a t e s y m b o l a f t e r the
p r i n t i n g is c o m p l e t e d .

N o w this is a f a i r l y s t r a i g h t f o r w a r d p r o g r a m „ T h e n e e d f o r t he
e x t e n s i v e d e t a i l ha s b e e n d e m o n s t r a t e d r e p e a t e d l y b y the f a c t
t h a t t h e r e ar e f e w u s e f u l b o o k s o n t he s u b j e c t ( m o s t d e f i n e the
o p c o d e s a n d the s t r u c t u r e o f the C P U a n d a s s o c i a t e d c h i p s ) .
M o r e t h a n 10 r e f e r e n c e b o o k s a n d c o n s i d e r a b l e e f f o r t w a s r e q u i r e d
to g e t this p r o g r a m t o g e t h e r ! I f e e l t h a t t h e r e is a g r e a t
n e e d f o r t u t o r i a l a r t i c l e s s u c h as this, p r e s e n t i n g " c o o k b o o k "
LISTING 1 - THE BASIC PROGRAM

1 0 F O R 1= 840 TO 968 s READ J s P O K E I ,J : NEXT I : END


20 R E M * * TO U S E , T Y P E S Y S (840) * *
30 R E M * *
9100 D A T A 234,234,162,0,160,0,169,255*1^1967,232,173,76
9110 DATA 2 3 2 , 9 ,1 ,1 ^ 1 ,7 6 , 2 3 2 , 1 6 9 , 1 2 8 , 1 4 1 , 2 4 6 , 3 ,1 6 9 , 0 , 1 4 1
9120 D A T A 245,3,173,245,3,141,116,3,173,246,3,141,117,3
9130 D A T A 234,234,189,168,130,201,28,208,1,96,201,128,48
9140 D A T A 3,56,233,128,201,32,16,2,105,64,141,65,232,173
9150 D A T A 76,232,41,31,9,192,141,76,232,234,173,76,232,9
9160 D A T A 224,141,76,232,173,77,232,41,2,234,234,240,247
9170 D A T A 232,224,40,208,185,162,0,200,192,25,240,14,173
9180 D A T A 245,3,24,105,40,141,245,3,176,4,76,101,3,96,238
9190 D A T A 246,3,76,101,3,0

LISTING 2 - ASSEMBLY LANGUAGE

502 8386 69 48 fiDcr? 64


984 8388 SD 41 ES STF 53437
587 8387 flD 48 ES LDF 53463
841 y - . - 'r V Efl NOP 518 838E 23 IF AND IK 31
b'4ii. m r h 2 88 LDMir< 0 512 8331 83 C8 ORFir 132
844 834 8 ft8 80 LDVIK 8 514 8332 SD 48 L-roU STF 53463
846 834E AS FF LDfiJK 253 517 8335 Efi NOP
848 835C SD 43 ES STF 59453 513 8336 HD 48 ES LDF 53463
851 L 'O w flD 48 ES LDF 59463 921 8333 83 E8 QRFiltf 224
854 8356 03 81 ORhir 1 923 8338 SD 48 ES STF 53463
856 8358 80 48 E3 STfi 53463 326 8388 flD 4D ES LDF 53463
853 8358 AS 38 l d f :: 123 529 8381 23 82 flKXIK i L
861 ,3 - e r r
SD F6 83 STF: 1814 531 8383 Eh NOD
864 836C AS 83 LDFIr 0 532 83f;4 Efi N8P
see 8362 3D F5 83 STF 1813 933 83*3 F8 F7 BE8 247
869 8365 flD F5 83 LDF 1813 535 83ft7 ES INK
872 8368 SD 74 83 STh 334 536 8388 E0 23 CFKIK 40
875 83GE flD F6 83 LDF 1814 538 83F8 D8 83 BNE 185
876 8368 SD 75 83 STF 885 948 8388 fl2 08 LDKIM 0
881 8371 Eli NOP 542 8388 CS INV
882 8372 Eh NOP
883 8373 BD 88 83 LDFX O ■- 2 t l ,J 543 83FF C8 13 CPVIP! C*-ur. J
886 8376 C3 18 c m r 28 945 8381 F8 0E BEG 14
888 8378 D8 81 BNE 1 547 83E3 flD F5 83 LDh 1813
850 8378 68 RTS 950 8386 18 CLC
891 8378 83 88 CMF’Ir! 123 951 8387 63 28 fiDCIK 40
853 8378 38 83 EMI 3 953 8383 SD F5 83 STF 1013
956 8388 68 84 BCS 4
855 837F 33 SEC 958 8388 4C 65 83 •jT MnrP t 863
856 83££ ES 88 SEC HI 123 961 8381 68 RTS
853 8332 CS 28 CMP IM 32 962 8382 EE F6 83 INC 1814
m 8334 18 82 BPL 2 965 8385 4C 65 83 JMF 863
963 8388 88 BRK

33
OBSERUATIONS ON UOLUME 2, ISSUE 10
bs Ros Busdiecker

The product review on the PET 2022 tractor feed printer was H.uite
interesting to me, since I recently sold ms PET 2023 friction feed
printer and replaced it with a tractor feed model bs Base 2 Inc (priced
at $600!). From ms point of view, the good points about the 2023 were
its fairls reasonable price and the fact that it prints a reasonable
facsimile of the PET character set. One bad feature was the lack of
tractor feed <due to ms unwillingness to put out another $150 to set the
tractor feature), It wouldn't have bothered fie if the friction feed had
worked more e v e n l y but the paper would be-gin skewing one was or the
other after two or three pages ... bot hersone w h e n list ins a Iona
program.

More serious on the negative side was the fact that the printer does
not print what sou see on the screen. That means that listings which
include lower-case letters on the screen will have those letters printed
as graphic characters when sou list the program on the printer, It also
means that progams designed for output to the printer must have different
statements than ones which put their output on the screen. The decision
was a disappointment to me ... especially in light of Tands's decision to
wake the Radio Shack TRS-80 formats have the same result on screen or
pr l nt e r .

3ames McArthur's article, SEARCH, illustrated several important


factors. Since the BASIC program printed with the article loads a
machine-language (ML) program into the second cassette buffer, the ML
proaram is not lost when sou load a BASIC program or do a ssstem reset
with something like NEW-CURSQR or UNCRASHER (Internatlonal Technical
Sssterns, PO Box 264, Woodbridge, UR 22194), Therefor, it sou load and
run SEARCH, sou can then load as rians other programs as sou like, using
the SEARCH routine on each one in turn .,, but don't turn off sour PET,
or sou'll have to start over, Compare this capabilits to the FIND
function described bs Donald Sheward in his review of The Programmer's
Tookit, This is a good example of the tradeoff of cost, tine, and ease
of use between software (SE A R C H ) and hardware or firmware (FIND) methods
of accomplishing the same result. The Toolkit, 1 believe, costs $50 or
$80 cdependin-s which version PET sou have), but is available almost
instantis, once the chip has been installed. SEARCH is free, bu* must be
loaded and run each time the PET is turned on, if it is to be used,

On ms old PET (2001-4^8 with outboard memors), I once located some


user memors (RAM) in the free address space above the video monitor
memors, and loaded an improved ssstem monitor and other utilits routines
in that area at the beginning of each session ... then if control were
lost, I could do a ssstem reset with NEW-CURSOR and have those routines
available immediatels (even though the BASIC program was lost).

Several other comments on SEARCH:

- Lines 300-380 provide a general routine for loading hex versions


of machine language programs formatted as in lines 110-210,

- If sou have a “version 2" (new) PET, or a "version 1" (old) PET
with a monitor program, sou can load the hex ML program between the
quotes in lines 120-210 using the monitor ... this will save tspins
typing the whole BASIC program. Start loading at location 033A (the
hex equivalent of 826). You can also use the monitor to save the ML
programs direct Is, as shown below.

Old PETS: .S 01,S E A R C H,033A,0373


Hew P E T S : ,S "SEARCH",01, 033A, 0378

- It would be most helpful if designers of machine language programs


w o u l d provide "assembly listings", like the one in the same issue at
the bottom of page 16 on the “ Machine Language Programming" article
bs Abacus Software. Without the assemble version, i t 's beyond the
ability of many readers to figure out how the program "does its
thing". Even for those who can figure it out, its a lot of work.
For those who are interested. I'm enclosing a "disassemble listing"
which shows all the ML commands ond operands, but does not have the
valuable comments and names of variables which can be provided only
by the programmer.

In my article, "PET User Notes Replaced by COMPUTE.", the name of


the magazine was changed to COMPUTER in the first line ... the "R" is in
error, the correct name is COMPUTE.

LATE RUMOR: Commodore is reported to have a new CBM computer in the


works with a 25-line by 80 column display ... sounds like it's oriented
to the Word Processor market ... also a Word-Pro 3 . .. also a dual floppy
drive with more than a megabyte of storage!

That's it for now. I'll be looking forward to the next issue.


3
IX- CM •■D r H ■^r o to ■^1" CO o Ci CM * X ■*r X CO O
o Ui
o cr. rH tH o o o to o
O' • X CO o CO o CC •DO
tH o cr« ■rf 4" u.
*-* ’ a X 0 4 •tH o Ll o o o
X
O ■nr X o X o Ll o Ul X vO ^ ■>1- o CO Ui ( J TT o LU ID ul Ul o
Cl 00 o IX Q tH ■H O T—4 CM L L tH u joa 0 0 rH U J Ll r t CD X O U. Ll in o
CO Ll
to «x o o m0 &■ O in 00 <2»
rH N CT-. r H O CC CjTf o m o CTn o V0 C J o
UJ Ct o M3 o CM 00 CT-. o X CM CO CD O <\| CM a o 0 s. o «x ■'t o QQ C l CC o
> o o CM o X CJ UJ O CO CO O O o o Ul Ll tH X vjO r H 0 0 O in Lj o
UJ •N N u O rH t H Cf. U J Ul C. C, 00 cr^ U _ r--> L l H CO CM O o rH o
iUn
ct CO in
iD O rH i n CM O CO CM — LO cr. o cr-.
o rH o CJ^ ■nf or-. r^
X Ul 1—1 r r rH oo o CE CD a : •X X O o CM ■=■ o CO M CM r H CO o o LL o o a: LU
<J X o
O' CJ CM CO o rH to CO LL rH tH to o
O '. IT , c r. CO o
’d" lU o o Ll r H CJ r-
o
<r uj CM 'X X C. o o u. O CO CO o CJ C J o Ll . o d i Ll CM t H L l
C J CM o o o
LU m 1^ t
C-4 o o O in o o O CM tn l~"l U i o o o O Ul CO CM
co a o 00 X M5 o
(n lU
IN
o UJ O «x »x L L CO CM •X O Tj- CM o L L <J^ O'. CO cr* u. «x> O •X X o
U. 3
O CD SO o u. ■H o CD «D0 C . CM 0 3 o U J in o o UJ o o Ci a: o 00 l L o
o u _ CM \C> T—4 00 r H 00 o -rH •X Cl CO CD CO o 00 o £> o
0

UJ U. X
2

ID > CO o 0 3 o •30 o 0 0 o oo o CO ° 0 0 o 00 o CO o 00 O OD O 00 o 0 0
XM O CJ O -«)- U l U l \ 0 \0 r- r- CO '30 cr. CT> •X •X GO CD O o U i U l Ll Ll
I— <=>
I O f-0 r o to to to 1 ^ to f O to «■ r o K> to to to r o to r o
Q o o o CD o o •=> o
<=> o o o
C5 oo o o
M to M
CD O o o
to
o o
CO >
>—I00

UJ
X

35
DISASSEMBLY LISTING OF SEARCH (JAMES MCARTHUR)
BY ROY BUSDIECKER

826 033A A218 LDX #18 918 0396 BUA LDA < 1A ) > Y
828 033C 206AC4 JSR C46A 920 0398 1025 BPL 03BF
831 033F A2FF LDX #FF 922 039A C9CB CMP #CB
833 0341 E8 INX 924 039C 8021 ECS 03BF
834 0342 A8 TAY 926 039E 8444 STY 44
835 0343 B522 LDA 22; X 928 03A0 A 000 LDY #00
837 0345 DOFA BNE 0341 930 03A2 C8 INY
839 0347 8621 STX 21 931 03A3 B990C0 LDA C090, Y
841 0349 CA DEX 934 03A6 1OF A BPL 03A2
842 034A D005 BNE 0351 936 03A8 DEFEOO DEC OOFE;X
844 034C C020 CPY #20 939 03AB 3 OF 5 BMI 03A2
846 034E D001 BNE 0351 941 03AD CA DEX
848 0350 60 RTS 942 03AE E3 INX
849 0351 A201 LDX #01 943 03AF C8 INY
851 0353 AO 04 LDY #04 944 0360 B990CO LDA C 09 0; Y
853 0355 861A SIX 1A 947 03B3 297F AND #7F
855 0357 84 IB STY IB 949 03B5 9DFEOO STA OOFE.X
857 0359 A003 LDY #03 952 03B8 8 9 9 OCO LDA C090; Y
859 035B 811A LDA <1A),Y 955 03BB 10F1 BPL 03AE
861 035D 991C00 STA OOlC/r' 957 03BD A444 LDY 44
864 0360 88 DEY 959 03BF EOBO CPX #B0
865 0361 10F8 BPL 035B 961 03C1 B004 BC-S 03C7
867 0363 A51C LDA 1C 963 03C3 B 1 1A LDA ( 1A),Y
869 0365 DO 04 BNE 0366 965 Q3C5 DOBC BNE 0383
871 0367 A51D LDA ID 967 03C7 A90D LDA #0D
873 0369 F DCF BEQ 033A 969 03C9 9DFE00 STA OOFE;X
875 036B A41E LDY iE 972 03CC 8645 STX 45
877 036D A51F LDA IF 974 03CE A421 LDY 21
879 036F 84B2 STY B2 976 03D0 BDFEOO LDA OOFE;X
881 03? 1 85B1 STA B1 979 03D3 D92100 CMP 0021;Y
883 0373 A290 LDX #90 982 03D6 DO 11 BNE 03E9
885 0375 28 PLP 984 03D8 CA DEX
886 0376 201BDB JSR DB1B 985 03D9 38 DEY
889 0379 2 OBIDC JSR DCS 1 986 03DR D0F4 BNE O3D0
892 037C E8 INX 988 03DC C8 INY
893 037D BDFEOO LDA OOFE; X 989 03DD B9FEU0 LDA OOFE;Y
896 0380 00 BRK 992 03E0 20D2FF JSR FFD2
897 0381 AO U3 LDY #03 995 03E3 C90D CMP #0D
899 0383 C8 INY 997 03E5 D0F5 BNE 03DC
900 0384 £8 INX 999 03E7 F008 BEQ 03F1
901 0385 6 1 1A LDA <1A),Y 1001 03E9 A421 LDY 21
903 0387 9DFE00 STA OOFE,X 1003 03EB C645 DEC 45
906 038A C922 CMP #22 1005 03ED H645 LDX 45
908 038C D002 BNE 0390 1007 03EF DODF BNE 03DG
910 038E E642 INC 42 1009 03F1 ft61C LDX 1C
912 0390 A542 LDA 42 1011 03F3 A41D LDY ID
914 0392 2901 AND #01 1013 03F5 4C5503 JMP 0355
916 0394 D029 BNE 03BF

36
MEM EXPLORER - AGAIN
by Ray Davidson

U p o n p a y i n g m y initial subscription, I received seven issues


o f T H E P A P E R , w h i c h I f o u n d to c o n t a i n a g r e a t d e a l o f i n t e r ­
esting information. One p r o g r a m p a r t i c u l a r l y u s e f u l for me
was the M E M EXPLORER b y Roy Busdiecker. Having an extra
m e m o r y e x p a n s i o n , I n e e d e d to c h e c k f o r t h e t r a n s i t i o n f r o m
s t a t i c to d y n a m i c m e m o r y , i n o r d e r to a v o i d p o r b l e m s w i t h
I N P U T and D A T A statements. T h e u s e f u l n e s s o f the p r o g r a m
w a s m a r r e d s o m e w h a t b y h a v i n g to m e r g e i t w i t h a n o t h e r p r o g r a m ,
a n d I s e t a b o u t t r y i n g to r e d u c e i t to s o m e t h i n g l e s s t h a n a
screenful. I n e e d e d to be a b l e to l o a d i t a n d l i s t i t o n t h e
screen, then load a new program, then RETURN over each line
o f th e M E M E X P L O R E R i n o r d e r to m e r g e the two p r o g r a m s .
Obviously, a machine language p r o g r a m was called for in
o r d e r to e l i m i n a t e m a n y o f t he D A T A s t a t e m e n t s . The r e s u l t
is s h o w n i n P r o g r a m 1, a n d the c o d i n g a n d m n e m o n i c s a r e g i v e n .
It s till s e emed that there w ere too m a n y D A T A statements. In
fac t , t h e r e w e r e two l i n e s o f D A T A f o r a m a c h i n e l a n g u a g e p r o ­
g r a m w h i c h w a s c o n t a i n e d i n h a l f t h e m e m o r y as a s i n g l e l i n e
o f BA S I C ! I d e c i d e d to t r y to i n c l u d e t he m a c h i n e c o d e i n a
s i n g l e l i n e o f B A S I C , a n d t he r e s u l t o f t h a t e f f o r t is f o u n d
i n p r o g r a m 2. W h e n the p r o g r a m is run, t h e f i r s t t h r e e l i n e s
o f the o r i g i n a l p r o g r a m c a n be deleted. L i n e 1 c a r r i e s the
whole m achine program, w h i c h c a n be loaded and saved quite
c o n v e n i e n t l y w i t h th e B A S I C c o d e . This m e t h o d c a n be u s e d
f o r a n y s h o r t machine p r o g r a m n e e d e d by BASIC, or for any
lar g e r M L p r o g r a m w h i c h can be b r o k e n d o w n into units of s u b ­
routines. T h e h a s h a f t e r t he m a c h i n e code- c a n b e e x t e n d e d to
i n c l u d e t h e n a m e o f the p r o g r a m . If o ther routines are i n ­
c l u d e d , p r o g r a m 3 is u s e f u l f o r l o c a t i n g a d d r e s s e s . One word
of warnings Do n o t R E T U R N o v e r line 1 and e xpect the p r o g r a m
to w o r k . O w i n g to the d i f f e r e n c e s b e t w e e n A S C I I a n d P E E K a n d
POKE values, you will have trouble with bit 6 and will knock
64 off some addresses.
" I F P * Q " ( w h i c h is the s a m e as I F (P<>0) A N D ( Q<>0) w a s l e f t
o v e r f r o m t h e d e v e l o p m e n t s t a g e s , a n d " I F Q" c a n r e p l a c e it.
T h e M L r o u t i n e i n p r o g r a m 1 is n o t the s h o r t e s t o r m o s t e f f i ­
cient, but a s h orter p r o g r a m w o u l d n ' t have made such a good
example.

P R O G R A M #1

6 0 0 0 0 F O R 1 = 8 2 6 TO 857 s R E A D C s P O K E I , C : N E X T
60010 DATA 165,80,41,127,170,232,160,255,200,185,145,192,16,
,
250 202,208
6 0 0 2 0 D A T A 2 4 7 , 20 0 ,1 8 5 , 1 4 5 , 1 9 2 , 4 1 , 1 2 7 , 3 2 , 2 1 0 , 2 5 5 * 2 1 7 , 1 4 5 , 1 9 2 ,
240,242.96
6 O O 3O B $ = C H R $ ( 3 4 ) + C H R $ ( 2 0 ) :I N P U T " A . " ;K
6 0 0 4 0 Q = 0 : B = 2 5 6 + P R I N T " / C / " : F 0 R J=0 TO 19 : P = 1 s L = K + J s M = P E E K
(L):PRINT L ; T A B ( 8 );M;TAB(15)J
6 0 0 5 0 I F (Q=0) A N D M > 1 2 7 A N D M < 2 0 2 T H E N P O K E 8 0 , M s S Y S 1 0 3 4 s P R I
NT"/U/"8G0T060090
60060 I F M = 3 4 THEN Q=OTQsPRINT B$;
60070 I F P*Q THEN PRINT B $ ;C H R $ (M );B $ ;" /u /" *P=0
60080 I F P AND M<>98 THEN PRINT CHR$(M)
60090 S=PEEK(L+1)sPRINT T A B ( 2 3 ) ;M+B*S;TAB(30);M*B+SsNEXTsPR
INTsGOTO 6 O O 3 O
ADDRESS
DEC HEX OP CODES MNEMONIC OPERANDS
826 033A A5 50 LDAZ 80
828 O 33 C 29 7F ANDIM 127
830 033E AA TAX
831 O 33 F E8 I NX
832 0340 AO FF LDYIM 255
834 0342 C8 INY
835 0343 B9 91 CO LDAY 49297
838 0346 10 FA BPL 834
840 0348 CA DEX
841 0349 DO F? BNE 834
843 034 B C8 INY
844 034 c B9 91 CO LDAY 49297
847 034F 29 7F ANDIM 12 7
849 0351 20 D2 FF JSR 65490
852 0354 D9 91 CO CMPY 49297
855 0357 FO F2 BEQ 843
857 0359 60 RTS

?EABV. **'<=?■
i REM ’ ’mMmMMmmmmmmmmmmmmmmmmmmmmmM'
£8000 FOR 1=1034 TO 1 0 6 5 -RERB C POKE I ,C =NEXT
f,m Im BATA 165 .•38,41,127,178, 232 , 160 .•255, 288,135, 145,132,16.. 250,202,20-8
60820 BATA 2 4 7 , 2 0 0 , 1 3 5 , i45,132,41,127,32,218,255,217,145,192,240,242, 36
S0030 Bf-=CHRf <34>+CHRf C20> :INPUT " f t . " , ? :
S8040 Q = 0 :B = 2 5 6 :PRI NT n[ C L P ] " :FOR J=0 TO 1 3 :P = 1 ;L = K + J :M = P t E K (L > :-RINT L TR
-1 TRB(15>;
S8050 IF <Q=0>fiND M> 127 AND M-C202 THEN POKE 38, M SVS 1034 P k INT !*[UPi" -G0.0
38
60068 IF M=34 THEN 3 = 8 1 0 :PRINT 3±;
60078 IF P m THEN PRINT B$ CHRf (M'.'Ef11[UP]:i: r=8
60080 IF P AND M O S S THEN PRINT CHRf C M > ,
58030 3=PEEK <L+ i .:> PR INT TAB <23 )M+ E * 3 ,TAB <39 >M*B+S ;NEXT •PR INT :GO 10 60030

# 3

1 R E M !iI M P>? I® tr i-ThSJ’ - T UT-> _ir Hr-.-r f i i « l!


60038 B * = C H R $ (34>+ C H R * <20>:INPUT”R . M,K
50040 ;> 0 : B = 2 5 6 -PRINT” IT :FORJ=0TO13 := = 1 :L=K> J ;M = P E E K < '' ;PR IN :LIRE (3 >M'l 1
60350 IF <Q=0 >ANBM> 127ANBM<202THENPOKE30,M SVS 1034 •PR INT "H" GOT360836
60060 IFM=34THENQ=0 ft! :PRI N T B f ;
60878 IFP*QTHENPR INTB$CHR$ <M >B $ "H 1! :F=0
60030 I F P A N D M 0 9 8 T H E N P R I NTCHR$ <M >
60830 3=PEEK <L + 1 > :PR INTT AB (23 >M + B * S T A B <38 >M * B + 3 N E X T :PR INT •GOT068038
2EADY.
H e r e is a l i s t i n g f r o m C o m m o d o r e ' s "The Transactor", Volume
Two, I s s u e #5*
I t is a "basic l o a d f o r a m a c h i n e l a n g u a g e p g m f o r s c r e e n
A to p r i n t e r d u mp. It is s h o r t a n d e a s y to u s e and o n e o f the
^ most useful I have r u n across. I h a v e f o u n d it b e s t f o r
l i s t i n g s t h a t h a v e b o t h u p p e r a n d l o w e r c a s e as i t m a k e s
t h e m r e a d a b l e w i t h o u t h a v i n g to t r n a s l a t e t h e g r a p h i c c h a r ­
acters. I t ' s o t h e r h a n d y u s e is f o r c o p i e s o f i n s t r u c t i o n s
f o r n e w g a m e s or old g a m e s f o r n e w p l a y e r s w h e n e v e r a q u i c k
r e f e r e n c e is r e q u i r e d .
I t wa s o r i g i n a l l y i n t e n d e d to r e s i d e i n t h e 2 n d cassette
buffer, but I found that if it was put in u p p e r end of m e m ­
o r y it d i d n ' t i n t e r f e r e w i t h T o o l k i t (TM) w h i c h uses a
p o r t i o n o f th e b u f f e r . I l o c a t e d it f r o m 15 10 0 to 1 5 2 2 1 b u t
f o r 8K y o u c o u l d u s e 7 0 ^ 5 to 7166.
A s it is q u i t e s h o r t is c a n r e m a i n t u c k e d a w a y u n t i l c a l l e d
b y S Y S ( X X X X ) d i r e c t l y or as p a r t o f a b a s c i p r o g r a m w h e n
it w i l l d i r e c t to p r i n t e r a n d t h e n c o n t i n u e e x e c u t i n g the
program normally.
T h e p r o g r a m d i d n ' t s a y w h o o r i g i n a t e d it, b u t it is a u s e f u l
u t i l i t y p r o g r a m a n d m y t h a n k s t o w h o e v e r it w a s .

80 REM*# TRANSACTOR VOL 2 #5 *#


90 REM## SCREEN PRINT PGM. ##
92 REM## FOR 2ND CASSETTE BUFFER ##
95 REM## USE 826 TO 947 IN LINE 100 ##
96
100 F O R J = 1510 0 T O 15221
110 RE A D A :POKE J .•A
120 NEXT
200 D R T A 169,128,133,32,169,0,133,31
210 D R T A 169,4,1 , 176,1 ,2 1c.,3c., 186
220 D R T R 2 4 0 ,32,45,241,169,25,133,34
230 DRTfl169,13,133,33,32,210,255,169
240 D A T A 17,174,76,232,224,12,208,2
2 5 0 DRTfl169,145,32,210,255,160,0,177
260 D ATA31,41,127,170,177,31,69,33,16
2 7 0 D A T A 11,177,31,133,33,41,128,73
280 D A T A 146,32,210,255,138,201,32
290 D R T R 176,4,9,64,208,14,201,64,144
300 DflTfi10,201,96,176,4,9,128,208,2
310 D R T R 7 3 ,192,32,210,255,200,192,40
320 DRTfl144,203,165,31,105,39,133,31
3 3 0 DfiTfl144,2,230,32,198,34,208,166
340 D A T R 1 6 9 , 13,32,210,255,76,204,255
R E ADV.

- D . Sheward

39
PET USERS

Glenn Schwartz Northern VA PET Users David Liem


807 Avon 2054 Eakins Ct. 14361 Warwick Street
Philadelphia, PA 19116 Reston, VA 22091 Detroit, Ml 48223
John Loofbourrow Shelly W ernikoff Larry Williams
ACGNJ 2731 N. Milwaukee Ave. P.O. Box 652
(201) 233-7068 Chicago, IL 60647 San Antonio, TX 78293
United PET Users SPHINX Richard Prestien
1929 Northport Dr. No. 6 (415) 584-3402 6278 SW 14th Street
Madison, Wl 53704 Vancouver PET User Group Miami, FL 33144
Twin Cities PET Users Box 35353, Station E Long Island PET Society
(John Fung) Vancouver, BC, Canada Ralph Bressler
(612) 376-5465 Lincoln Computer Club Harborfields HS
750 E. Yosemite Taylor Ave.
John Jones
2134 NE 45th Avenue Manteca, CA 95336 Greenlawn, NY 11740
Portland, OR 97213 PET NET 1 Utah Pug
14.24 MHz Sundays Jack Fleck
Sacramento PET Workshop
10:00 A.M. Central time 2236 Washington Blvd.
P.O. Box 28314
Sacramento, CA Ogden, UT 84401
PET NET II
Midpeninsula PUG 7.205 MHz Fridays PET User Group
Ford Aerospace Cafeteria 9:00 A.M. Pacific time Doug Hennig
3939 Fabian Way 16 Everett Cres.
PACS PET USER GROUP Regina, Sask. Canada
Palo Alto, CA 20th & Olney Street
(415) 328-7745 (Harry Saal) S4S 2M7
Phila. PA
Gene Planchak
BAMUG PET LIBRARY 4820 Anne Lane
1450 53rd Street 401 Monument Rd. No. 177 Sharpsville, PA 15150
Emeryville, CA Jacksonville, FLA 32211 (412) 962-9682
David Smith - NOCCC North London Hobby SEWPUG
3030 Topaz No. A Computer Club Press Release Theodore J. Polczynski
Fullerton, CA 92631 The Polytechnic of North London P.O. Box 21851
Department of Electronic and Milwaukee, Wl 53221
NW PET USER’S GROUP Com munications Engineering (414) 282-4181
John F. Jones Holloway, London N78DB
2134 NE 45th. Avenue LAS VEGAS PUG
Portland, OR 97213 4743 Via San Rafael
San Diego PUG Las Vegas, NV 89103
c/o D Costarakis (John Melissa)
Southeast Connecticut
3562 Union St.
Pet User Club SEWPUG
San Diego, CA 92103
c/o Paul W. Sparks (T J Polczynski)
(714) 235-7626 (7 am - 4 pm)
13 Lincoln Dr. 3529 W Wanda Ave.
Gales Ferry, Ct. 06335 Independent PET Group Milwaukee, Wl 53221
203-464-6266 22 Firs Walk, Tewin Wood 282-4181
Welsyn, Herts., UK PUG of Westchester
South Florida PUG
Dave Young (Bennett Meyer)
PET Users Group 35 Barker Avenue
7170 SW 11th St. 2001 Bryan Tower Suite 3800
W. Hollywood, FL 33023 White Plains, NY 10601
Dallas, TX 75201 914-428-7872
(305) 987-6982
Capital District PET Users Triagle PUG
PET User Group (Mike Adams)
c/o MICH (Michigan (Ben Green)
(518) 370-1820 218E Alexander Ave.
Computer Hackers) Durham, NC 27705
2235 Lakeshore Drive (919) 684-1891
Muskegon Ml 49441 PET Users of Japan
Soichiro Moridaira Pawtucket PUG
St. Louis PET Users Shinsen Park Himu, Rm. 150 (Scott Summer)
(Mary Perkinson) 4-13 Shensencho 27 Leicester Way
(314) 432-5225 Shibuyaku, Tokyo, Japan 150 Pawtecket, Rl 02860
ITS COVERS .

TRAP
A BEAUTIFUL
COMPLEMENT
65 For PET, APPLE, SYM, OSI, etc.
Any 1 mhz 6502!
TO ANY DECOR!
Attractive, Durable, Leather-Grained Vinyl — Prevents from “hanging up” via execution
Double Stitching for Extra Strength
Corded Seams Assure Perfect Fit
of unimplemented opcodes! Causes your
Colors - Gold. Chestnut Brown. Olive Green monitor to display location of bad op code!
or Black — Our computers have stopped crashing!
— Debugging easier!
PET /C BM - $18 95 OTHER C O M PU TER
Apple II - $12 95 C O V E R S A V A IL A B L E
— Easy to install — plugs into 6502’s socket.
Apple Disk - $8.95 W R IT E FO R D E T A IL S
TRAP 65 is currently being used to insure that
K N EW -CURSOR FOR PET 2001 OLD ROM there are no bad opcodes in programs before
IN S T A N T P U S H B U T T O N C U R S O R R E T R IE V A L submittal for ROM masks!
• Reviewed in Issue 1 of C O M P U T E
, • Restart without touchinq power
We are using TRAP 65 in experiments on
• Machine language programs in second cassette buffer not lost.
Cy • Simple, illustrated instructions
extending the 6502’s instruction set — PHX,
• Installed in minutes - no soldering PHY, INCD.
• Improved mounting - no sticky tape

UNCRASHER lor PET/CBM 2001 - New ROM — $14.9C


$149.95 (Add $4.00 postage, $10.00 foreign)
IN T E R N A T IO N A L T E C H N IC A L S Y S T E M S , INC.
Box 2 6 4 - Q Woodbridge, Virginia 22194
Phone Orders (804) 262-9709
Eastern House Software
VISA
m onk
3239 Linda Dr. Winston-Salem, N. C. 27106
S H IP P IN G AND H AN D LIN G ADD $1.00 W m

Finally, MAE - A PET P E T /C B M U N C R A S H E R ™


W H A T IS IT? — U N C R A S H E R '" is a tw o button d evice that
DISK-Based MACRO allo w s P ET /C BM users to regain control of a cursor that's
been lost due to program m ing errors. B A S IC programs
ASSEMBLER/TEXT m ay be recovered. M ach ine language programs in the

EDITOR Works with 32K PET


seco n d cassette buffer are not disturbed- either.
W H IC H P E T s /C B M s ? — U N C R A S H E R ™ is for all PET /C BM
com puters that use the " N E W " Version 2 R O M s. (Older
— Works with 2040 Disk, and can drive 2022/2023 m odel PET s should use the IT S N E W - C U R S 0 R \ )
Printer, and/or RS232/20 ma Device thru User Port.
— 100% Disk Based, 100% Machine Language. D O E S IT W O R K ? — You bet!!! S e e the detailed review of
— Macros, Conditional Assembly, and a new feature we the types of crashes and the co n cep t of recovery in the
developed called Interactive Assembly. first issue of C o m pu te.
— Coexists with Basic, Auto character repeat, Sorted
IN S T A L L A T IO N — S imple, co m p letely illustrated instruc­
Symbol Table.
tions using only a Phillips screw d river ensure installation
— 27 Commands, 26 Pseudo Ops, 5 Conditional Ops, 38
Error Codes. in minutes. No soldering or modif icaitons to the computer.
— Creates relocatable object code on disk. O P E R A T IO N — Ju s t fo llo w the sim ple ste p s— push the
— Assemble from Memory or Disk. buttons and reset the stack p o in ter— and P R E S T O . . .
— String search, search and replace, and inter-line edit. recovery!
— Auto line #-ing, move, copy, delete, renumber. And all this happens without powering the P ET / C B M down and up.
— Labels up to 31 characters — user specifies length.
— Includes extention to PET monitor (disassemble, W H Y U N C R A S H E R “? — No first class com puter such as
trace, etc.), Library of PET ROM locations, Relocat­ the P ET /C B M should be w ith o u t this capability. W h e th e r
ing Loader, plus more. your fancy be programming, business, education, or hobby,
hobby, U N C R A S H E R '" saves y o u tim e b y u n c ra s h in g your
slip-ups.
Manual, Diskette, U. S. postage — $169.95
(Requires completion of License Agreement — A V A IL A B IL IT Y — N ow in better com puter stores, or order
Write for details) direct from ITS, m ade by the people w h o brought you
N E W - C U R S O R " .___________________________________________

Eastern House Software IN T E R N A T IO N A L T E C H N IC A L S Y S T E M S INC.


P.O BO X 2 6 4 - Q W O O D B R ID G E , V IR G IN IA 22194
_________ CUSTO M ER S E R V IC E S -
3239 Linda Drive Winston-Salem, N. C. 27106 RICHMOND, VIRG IN IA (804) 262-9709
PRODUCT MINI-REVIEWS
by Roy Busdiecker
*
COMMODORE PET 2001-32 Computer
A f t e r two y e a r s , I h a d g o t t e n p r e t t y u s e d to m y P E T 2 0 0 1 - 4
a n d a l l its i d i o s y n c r a c i e s , so I t o o k m y t i m e i n d e c i d i n g
to b u y a n e w system,, N o w that I ' v e m a d e t h « move, it seems
to h a v e b e e n a g o o d d e c i s i o n . M o s t impressive features in
the n e w s y s t e m are:
- c o r r e c t i o n of t h e h u g s i n t h e o r i g i n a l P E T i n t e r p r e t e r
(BASIC language)
- h a v i n g e n o u g h u s e r m e m o r y (RAM) to d o r e a s o n a b l y l a r g e
s i z e d jobs ( 3 1 7 4 4 b y t e s )
- "real" b u i l t - i n k e y b o a r d
- green screen
- a b i l i t y to d o a " w a r m s t a r t " a f t e r l o s i n g c o n t r o l , w i t h o u t
l o s i n g th e B A S I C p r o g r a m ( t h i s r e q u i r e s a d d i t i o n o f a r e ­
s e t b u t t o n l i k e U N C R A S H E R , o f f e r e d b y ITS, B o x 264, W o o d ­
b r i d g e V A 2 2 1 9 4 0 S e e J i m B u t t e r f i e l d ' s c o m m e n t s a b o u t it
i n the f i r s t i s s u e o f C O M P U T E . ) -
M o s t d i s t r e s s i n g a b o u t t h e n e w m a c h i n e w a s h a v i n g to " f i x u p"
p r o g r a m s t h a t w e r e b u i l t o n t h e o l d PET. This a p p l i e d not
o n l y to m a n y o f th e p r o g r a m s I ' d d o n e m y s e l f s b u t a l s o to
some that are b e i n g offered by various c o m m e r c i a l sources.
Th e b o d y o f the n e w m a c h i n e is m a d e o f a t y p e o f p l a s t i c , b u t
seems v e r y sturdy. It's a b o u t a q u a r t e r - i n c h thick. I t no
l o n g e r has the h a n d y p r o p r o d u s e d to " h o l d the h o o d u p " o n
the old m o d e l w h e n t h e b o d y w a s o p e n e d . . „t o o bad,
A l t h o u g h it m a d e a b i g d e n t i n m y b a n k a c c o u n t s i t ' s w o r t h it!
COMMODORE CBM 2040 D I S K D R I V E
U s i n g the P E T C a s s e t t e , o n e of o u r p r o g r a m s w a s t a k i n g o v e r
f i v e m i n u t e s to l o a d . E a c h time we made changes, we'd save
three c o p i e s , t h e n v e r i f y t h e m . . . a n d the p r o c e s s took m o r e
t h a n h a l f a n hour!
W i t h the C B M 2 0 4 0 s the s a m e p r o g r a m t a k e s l e s s t h a n 1 0 s e c o n d s
to load! S A V E i n g takes about 14 seconds. The p a i n of w o r k i n g
on lon g programs has v i r t u a l l y disappeared.
S i n c e m a n y of the e a r l y r e v i e w s o n the 2 0 4 0 r e p o r t e d s e r i o u s
r e l i a b i l i t y p r o b l e m s , I w a s r e l u c t a n t to p a r t w i t h t he s i z e a b l e
i n v e s t m e n t r e q u i r e d to p u r c h a s e o n e 5 h o w e v e r , b a s e d o n the
a s s u r a n c e t h a t the p r o b l e m s h a d b e e n o v e r c o m e , I t o o k t h e l e ap.
. . . a n d a m I g a l d I did!
F r o m the m o m e n t the u n i t w a s u n p a c k e d a n d p l u g g e d i n s i t has
w o r k e d p r o p e r l y ° ..e v e n t h o u g h I t h o u g h t i t w a s f o u l e d u p for
a w h i l e ( p r o b l e m w a s s o l v e d , as a l a s t r e s o r t s b y r e a d i n g the
instructions!). Hint: a n y time y o u r e p l a c e a disk, y o u must
r e - i r i t i a l i z e the l o c a t i o n o f t h e r e a d - w r i t e h e a d s .

t
w o r k i n g w i t h t h e d i s k is a r e a l p l e a s u r e , "but i t d o e s r e q u i r e
learning some new "magic words" and procedures. Commodore's
m a n u a l s a r e g e t t i n g t e t t e r a n d b e t t e r , a n d i t w a s n ' t too
d i f f i c u l t to f i g u r e o u t w h a t w a s r e q u i r e d . I t ' s n o t f o r the
n o v i c e , b u t a n i n t e r m e d i a t e o r a d v a n c e d p r o g r a m m e r s h o u l d be
a b l e to do w h a t ' s n e e d e d .
T h e f i r s t p r o g r a m o n the p r e - p r o g r a m m e d " d e m o n s t r a t i o n d i s k "
is a D i s k O p e r a t i n g S y s t e m (DOS) w h i c h p r o v i d e s a s h o r t h a n d
f o r m of th e s p e c i a l d i s k i n s t r u c t i o n s . I r e c o m m e n d its u s e .
C O M M O D O R E W O R D PR O 2
W O R D P R O 2 is C o m m o d o r e ' s Word- P r o c e s s o r p a c k a g e . Delivered in
a p l a s t i c d i s k - s t o r a g e b o x a b o u t 5" x 5" x l^", the W o r d P r o 2
c o n s i s t s o f o n e i n t e g r a t e d c i r c u i t c h i p (ROM), o n e f l o p p y dis k ,
and an i n s t r u c t i o n booklet. I n o r d e r to u s e it, y o u ' l l n e e d a
C B M 2 0 4 0 d i s k d r i v e , a P E T o r C B M 2 0 0 1 - 1 6 o r -32 ( y o u c a n h a n d l e
l o n g e r text seg m e n t s w i t h the l a r g e r m e m o r y computer), and a
printero
Th e i n s t r u c t i o n s w a r n t h a t y o u s h o u l d h a v e the R O M i n s t a l l e d
b y y o u r d e a l e r . . . p r o b a b l y a g o o d ide a , t o a v o i d a n y p r o b l e m s
with your warranty. Since I have worked with integrated cir­
c uits, a n d k n e w w h a t p r e c a u t i o n s to t a ke, I d e c i d e d to t a k e the
r i s k a n d d o it m y s e l f . . . a l l w e n t w e l l , a n d t h e r e w e r e n o p r o b l e m s .
O n c e y o u g e t u s e d to th e p a c k a g e a n d its f e a t u r e s , i t ’s a v e r y
r e s p e c t a b l e w o r d p r o c e s s o r . . . n o t t he b e s t I ’
v e e v e r s e en, b u t
p r o b a b l y th e b e s t a t s u c h a r e a s o n a b l e p r i c e (it l i s t s a t $ 1 0 0 ) .
And i t ’ s far better than a typewriter! You can key in your
text, r e v i e w i t o n th e s c r e e n , a n d m a k e a n y n e c e s s a r y c o r r e c ­
tions, a d d i t i o n s , o r d e l e t i o n s b e f o r e y o u h a v e i t p r i n t e d .
There are provi s i o n s for tab stops, i n s e r t i n g or d e l e t i n g words
or lines, b u i l d i n g l e t t e r s out of s t a n d a r d parts, and m o v i n g
g r o u p s of l i n e s f r o m o n e p l a c e to a n o t h e r i n the l e t t e r (or
a r t i c l e ! )« A n a u t o m a t i c r e p e a t k e y f u n c t i o n is b u i l t in.
Two p r o g r a m s a r e p r o v i d e d „ . . o n e f o r C B M p r i n t e r s w i t h t h e i r
u n u s u a l c h a r a c t e r set, a n d a n o t h e r f o r the A S C I I c h a r a c t e r s e t
used by most other p r i n t e r s „
Be p r e p a r e d to s p e n d a l o t o f t i m e f i g u r i n g o u t t h e i n s t r u c t i o n s
...they're terrible! I had to p r e p a r e a n i n s t r u c t i o n s u m m a r y of
m y o w n to m a k e t h e s y s t e m u s a b l e ■
>
FLASH! C o m m o d o r e ha s a n n o u n c e d a W o r d P r o I I I w i t h s i g n i f i c a n t l y
i m p r o v e d f e a t u r e s o v e r t h e W P I I . . . a n d t w i c e the p r i c e . It r e ­
q u i r e s a 32K m a c h i n e , als o . A b r i e f l o o k a t the n e w p a c k a g e
r e v e a l s a p r o d u c t m u c h c l o s e r to w h a t y o u ' d e x p e c t i n a " r e a l "
w o r d - p r o c e s s o r . M o r e l a t e r « ............. „ o R o y B u s d i e c k e r

ATTENTION! D u e to the t e r r i f i c r i s e i n t h e c o s t o f p a p e r , w e
m u s t i n c r e a s e our s u b s c r i p t i o n rates b e g i n n i n g March, 1980.
T h ose of y o u w h o h a v e a l r e a d y s u b s c r i b e d w o n ' t be a f f e c t e d this
y e a r b y the i n c r e a s e , b u t n e w r e a d e r s s h o u l d be n o t i f i e d . Spread
the word around, b e c a u s e in M a y w e ' l l s t a r t r e t u r n i n g $ 15 *00
checks. A c c o r d i n g to o u r p r i n t e r , w e h a v e e n o u g h p a p e r o n h a n d
to h a n d l e A p r i l ' s i s s u e .... . b u t t he p r i c e o f p a p e r h a s i n c r e a s e d
n e a r l y 7 5 $ o v e r the l a s t y e a r . Sorry, friends.
4 3
REVIEW
NEW-CURSOR Un-Crashlng On
$4.95
INTERNATIONAL TECHNICAL SYSTEMS,
Upgrade ROM Computers
Jim Butterfield, Toronto
INC.
P.O. Box 264 If you do much work in machine language, sooner or
Woodbridge. VA 22194 later you’ll write a program that will crash.
Formerly, you were out of luck. Unless you were
N EW -C U RSO R is a momentary switch and resistor de­
lucky enough to stumble into a type 1 crash — which
vice which is designed to attach easily to your PET and
would take you to the Machine Language Monitor, or
give you the capability of a semi-warm reset. If you lose
to an ?IN V A L ID N U M E R IC statement — your only re­
your cursor, a simple press on your N EW -C U RSOR
medy would be to reset, and wipe memory.
button will cause PET to reset without the shock to
Type 2 crashes (tight loops) could be guarded
your power supply and video system such as you get
against with a little preparation involving fiddling with
when you turn your PET off and then on again.
the interrupt structure. But the nasty type 3 crash (X2
The instructions provided are brief but clear. No
codes) cannot be fixed without kicking the Reset line;
soldering is required and the only tool needed is a
and Reset means memory test, and memory test means
screwdriver to open your PET. It took me (all thumbs)
you’ll have to reload your program.
less than ten minutes to install my N EW -C U RSOR
No more. O n upgrade R O M s, you can come out of
which I received within a week of my order.
a hard crash with memory preserved.
SURPRISE B O N U S — I found that when 1 use
Method: Set the diagnostic sense pin to ground,
N EW -C U RSOR, 1 do not lose information stored in
then kick the Reset line. The processor will re-awaken
the 2nd cassette buffer!
in the Machine Language Monitor with memory
This item is a M U ST for anyone doing machine-
preserved.
language programming.
There’s more: you’re not yet out of the woods. Type
by Dr. Matarella a semicolon followed by RET U RN ; PET will respond
with a question mark. Now move the cursor back to
your register display line, and change the Stack Pointer
(SP) value from 01 to F8. This strange procedure is im­
R e v ie w N EW -C U RSO R portant: you must follow it exactly. Once you've done
IN T E R N A T IO N A L T E C H N IC A L SYSTEMS, so, you’re clear. You may return to Basic with an X if
Box 264
you like, or proceed in the M L M .
Woodbridge, V A 22194 Hardware: To make the diagnostic sense pin: take a
Cursor, not to be confused with the cassette magazine standard 12-pin edge connector and wire pin 5 (diagnos­
of that name, is a reset button to clear a program or stop tic sense) to pin N (ground). Key the connector so it sits
a crashed program without turning off the PET's power. on the parallel user port. Plug it in whenever you want
This little $4.95 device consists of a pushbutton switch to un-crash, but don’t leave it on the machine.
mounted with sticky tape and two jumpers with alligat­ The Reset button is a little trickier, since you have
or clips — one grounded to a board mounting screw, the to know where to connect it. Check with someone
other going to a certain resistor on the board itself. who's knowledgeable on PET hardware.
Installing cursor takes just a jiffy and it works Commercial sources: International Technical Sys­
exactly as advertised. One push of the button and you tems. Box 264, Woodbridge V A 22194 makes a Reset
are back to the ‘bytes free' message on the PET screen. button.
Cursor is a worthwhile convenience and well-worth the
price.
John Hirsch

(c) Copyright 1979 by Small Systems S e r v ic e s , I n c . , a l l rig h ts


reserved. COMPUTE sub scrip tio ns are $9, six - issu e y e a r, from
P0 Box 5119, Greensboro NC 27403. Reproduced with permission.

44
THANK YOU FOR YOUR INTEREST IN THE

PROGRAMMER'S TOOLKIT RELOCATER PROGRAM

BUT .

Nestar Systems, which owns Palo Alto ICs, who market the Programmer's
Toolkit for the PET, have purchased all rights to the Programmer's
Toolkit Relocater program that was announced in the *** PAPER. This
product is therefore not available through me, and I am returning
any payments you may have made as an enclosure with this notice.

Nestar Systems as owner of the Programmer's Toolkit Relocation


Program may or may not choose to market this product. I believe that
they will not be presently (1 Feb 80) marketing the Toolkit Relocater.

As part of my agreement with Nestar Systems, the following points are


to be made to any Toolkit Relocater inquiries or orders:

1) I will not sell or make available the Toolkit Relocater program


or equivalent products. I will not encourage the preparation of
copies or relocated versions of the Programmer's Toolkit.

2) Those of you with addressing conflicts in the ROM are advised that
several hardware manufacturers provide solutions for this
problem. A few are:

"Socket 2 Me" Skyles Electric Works


"Spacemaker" Small Systems Service
"Dial-A-Rom" Kobotek Systems

Advertisements by these manufacturers appear in the hobbyist/


personal computing journals, including Compute, Byte, Kilobaud,
Creative Computing, Practical Computing and Printout.

3) If you make a copy of the Programmer's Toolkit to RAM, relocate


the Programmer's Toolkit, or obtain in any manner copies or
relocated copies of the Programmer's Tooolkit, you are in
infringement of the copyright held by Nestar Systems and PAICS
for the Programmer's Toolkit.

I personally feel that the Programmer's Toolkit is an excellent product,


and that we should all support Nestar by purchasing the official and
genuine Toolkit, and by discouraging those who are making copies or
distributing "bootleg" versions. As more ROM firmware will be available
for the PET as time passes, the addressing conflicts which prompted
your interest in the Toolkit Relocater will intensify. I suggest th a t
you get one of the hardware products mentioned above in anticipation
of this.

Thank you,

P O . Box 3 5 4
Palo A lto , C A G REGORY YOB
94301 (4 1 5 )3 2 6 -4 0 3 9

4 5
PET PROSE
There are many people who want specialized A
application programs to use on their PETs, but w h lP . e

ISuttiB nf ® a a g . . .
not knowledgeable enough to design or to write them.

.. An adventurous mental reflex If you can write significant software in some


game for "8K-PET-.11(OLD ROM) specialized field, and are willing to do so, we may be
owners. Buy medieval weapons,
armor, fog of darkness, ancient able to help you find the people who are willing to pay
maps and much more to
guide you through you to write programs for them. Send $25. with your
the monster name, address, and field of expertise. The information
infested rooms
and corridors. will be published in all the remaining issues of this
Enter each room
with caution, volume.
instantly choose the
proper weapon,
watch the battle Gene Polowytsch
-the outcome -
more gold & 72-31 67th Place
another step
toward winning Glendale, NY 11385
or another step
toward death,
through the
corridors searching
for your next
battle, caution
again, throughout
the dark corridors
walk the mighty
rogues. This and
more during ADVERTISERS!
your quest
Send fo r y o u r gom e p a c k a g e tod ay
for the
Just $14” treasured The codfish lays ten m illion eggs
gold of
G o t a friend or club w ith on
' 9K P E T " '" (OLD ROM )
TAAG! The hen lays only one.
Save $1.00 on each additional ard€ The codfish never cackles
Send m e ______ R UINS OF T A A G To tell you what she's done.
Y E S ! ,o r m y 8K PET " ( ° LD RO M > 1
have enclosed___________ ____
We scorn the lowly codfish,
for each game
While the noisy hen we prize;
Which only goes to show you
C it y ________________________________________ EVERYTHING ELECTRONIC
That is pays to advertise!
State.__ ____________ _______Zip___________ 1234 So u th 27

YOU
Charge to M y: 1Z M C V ISA iA cct. No.
G a y lo rd . Mi. 49735
Signature ________________________________

CALL (517) 732-5169

Could make this space work for YOU!

IS YOUR COMPUTER SAVING YOU


THE MONEY IT WAS MEANT TO?
HOW MUCH ENERGY IS YOUR H OUSE REALLY U SIN G ?
PLUG YOUR HO USE INTO YOUR COM PUTER AND S E E WHAT’S HAPPENING.
YOUR COM PUTER CAN LISTEN TO YOUR HO USE 24 HOURS A DAY.
Our DAM S Y S T E M S modules give your computer
the ability to sense and measure the world around it.
•TCMPf»*TU«C
• VELOCITY
Our AIM 16 provides 16 channels of analog input.
•»ISSU«[ Connect pots, joysticks, or whatever appropriate
sensors you have.
Each of the 16 analog inputs, in the range of 0 to
5 12 volts, is converted to a decimal number be­
tween 0 and 255 (20 millivolts per count). Conver­
sion time is 100 microseconds
Special modules allow direct plugin to your PET,
KIM, TRS-80, A P P L E or Motorola D2. Write today for
our latest cataloa of Data Acquisition Modules

ARESCO
P.O. Box 1142 .. . $
Colum bia, MD 21044
*■9 %
TH E PA PER - V IP E R - R A IN B O W -S O U R C E -—
QUALITY SOFTWARE FOR THE PET*
t l T It • «yct ml C m w iii i w l uilwm Mochlwoo, lac.

*** NOW AVAILABLE FOR MODELS 2001-8, 2001-16, and 2001-32 ***

PLEASE SPECIFY YOUR MODEL NUMBER WHEN ORDERING.

+ S W E E - P I N G " Test your eye-hand 4 C H E Q U E - C H E C K ’ " Take the


coordination as you control the ■flying worry y x ^ u s t r a t l o n out of balancing
cursor" to create attractive patterns on your you Pr°9ram
the screen. Make the screen flash white gu1de/sfc‘ ,,i»rct £ ^ c s t e p . "Remembers"
(or black), make the cursor leave a trail and "rrect
of blocks or lines, or nothlno at all ... m l £ £'C \ . . . even
white on black or reversed. Cursor pr«s^ ‘
s o5<<. your
bounces off "walls*. Built-in scorlnq, checkbot*^-* ^^^TAJJ-
review Instructions on conmand. Develop selectlorPSi^^b * ,?
creativity as you invent new games. If time If you *• A>
you like to program, this one 1s easy to use, even beainnersSv^C^ h *
modify and use as the basis for your own practical program that J ^very
programs. A bargain at $5.95 PET library. £7.95

+ M E T R I C - C A L C ^ + M E M - E X P L O R E R "want to
PET Into a powerful, see exactly how and where your programs
calculator are stored 1n PET's memory? It's a snap
exponj with this SOFTOOL KIT'* product which can
scl be combined automatically with your own
Met programs. Startinq at the location you
beti specify, it qives a screenful of
a ke information ... location address, contents
1n decimal, character or "token"
one ^ *.i«^i^nTrthan calculators Interpretation, and double-byte address,
costln j^^Trtnfsas much. Unlike other integer forms. Based on the series of
convei^erlTthls one lets you use results articles by Roy Busdiecker in The Paper,
In other calculations! $7.95 this version does even more! 17.95

B l l l B O A R D Turn your store window or counter into .gettlna


advertising display! With BILLBOARD, you simply type 1n the oice
(up to 254 characters), then see 1t march across the screen h
letters ... even pause, or flash off and on If you like! A
1t costs less than a single ad. Order yours today! $49.95
BUY MSS PRODUCTS AT THESE FINE STORES:
THc EMfor>un, McLe^xx, V A
Ccnv.pu.Vers Ptu*, A>4e*.a»'<driavVA
?>to<r>elf\£vs<je r Co j S u w r < it ( W J

Individual orders sent with payment directly to MSS are shipped via First Class Mall,
at our expense, normally within 24 hours of receipt.

MICRO S O F T W A R E S Y S T E M S tend ch*ck or money ordor. AMow


taro » « t i lor chock to e**»r VA rttMont*
P.O. Box 1442, Woodbridge, VA 22193 > odd 4% u«. Duk» tnquirtM btvMod.
IWtX R W A T ( O W A l ocoefts Ft-v ^ eWecfc dr*uu)^ o»
m I c>t I n t ' l H o M i O n d t r , l*scl«Mie

Riley Enterprises announces.... Pr og r a m s !!


• Business Research $50
TOP Quality Vinyl Cassette Holders $15-40
• H o m e & S m a l l Business
1 2 C a p a c i t y in B l a c k or B r o w n $ 2 . 8 0
• Games Stim ulations $15 ea.
1 6 C a p a c i t y in B l k , O r g o r L i m e 3 - 5 0
• Education(HS)Pack $15
A d d $2 f o r shipping orders under $20
Send for complete catalog!
H a r r y H. B r i l e y
Other types and colors are special •Shopper •Home A ddresser C a t a l o g Inf o.
• In ve n to ry *D elu xe Addresser P.O,Box2913
order. •Museum ! •Dinner's O n ! Livermore , CA.
•M ansion! *Fur Trapper 945 5 0
75 Pearson Street ( 4 1 5 ) 4 5 5 -913 9
•Pentagon! *High S e a s
Portsmouth, NH 0 3 8 0 1 603-436-6564
47
Please ship the following Software Shelf Programs to me within two weeks. I enclose payment in full **

PDPS FILE CREATE $15.00 WAREHOUSE $ 7.95


STAT III $ 7.95 CHASE $10.00
DATA RETRIEVAL $10.00____ MICROMAZE $ 7.95
DATA EDIT $10.00 BLACKJACK $10.00
STAT I $20.00 BLOCKADE $10.00
STAT II $20.00 DEFLECTION $10.00
SPACE FIGHT $10.00 STARTREK 2001 $10.00
HOSTAGE $ 7.95 XMON $15.00
AIR-SEA WAR $ 7.95 CMC/WPP $29.50
TUTOR $19.95 TUTOR PACKAGE $39.95
BASIC COMPLEAT $29.95 BAZAAR $ 7.95

I understand that if any of the programs fail to load, THE PAPER will send me a replacement as soon as I
return the defective tape.

YES! Please e n te r my S u b s c rip tio n O rd e r fo r all ten issues of

Vol I (1978) [ ] V o l l l (1979) [ ] Vol III (1980) [ ]

NAME (Please print or type) ----------

ADDRESS (Street, not P.O. Box) _

CITY ___________________________ S T A T E __________ Z IP -----------------

Please charge my /M C /V ISA /B AC / #


--------------- J
Master Charge Interbank # ------------ __________ Exp. D a te ___________

Required Credit Card Signature —

THE PAPER
Pn RDX 1149 SECOND CLASS POSTAGE
COLUMBIA, MD 21044 PAID IN ( u s p s 450-930)°

TO:

4 8

You might also like