mi
mumnmimm
A
CHESS
PLAYING
PROGRAM
FOR THE
8080 MICROCOMPUTER
2
AK-© "\"_
"),'
I
T¿)$t,
_
Written
By:
P.
Jennings & T. O'Brien
,. w'-" ' , ' t
" ' Yi
h e
·j :
t "' ' " ' " '
""""""\1
' Z i ' t' ,,;
TK,IS
LOADER TO BE USED FOR LOADING MICRO-CHESS PAPER TAPE 'i" , l l f .,:,
cjFrjc):
21 CjCj (jC)45
AD 1,1 ()CJ DE CDIF
r)F B9 CA rj8 OF 77,
'_""
,|'|t-,.
'l.
4gjj ¿'J IIJ J'l'l D.J C,'i 23cr
CDir
cir
C3cir cir
DIJ ---·-'
.
ÓF2G: Cj(") E6
4')
M
IF
r)F DB cIl C9 AF B8 C2 2F r)F 76 FB i li
GF3M
C3 M)If
. ''
l
. l
' i l
^\
' "" "" "" " ' """" "" " '"" ' ' " ' " ! "' i!
E · W
, 0' )
LoaÁS
!j
p¢£9
-, ~" l' " i
T ' ! T, ! i i " · i . , i :
'
" ""' 4· : I
i ; i S i 4 V , i
L ' r
MICR0CHE33 was
originally
conceived
as aprogram
which
would
play
chess
using
only
aminimum
hobbyist
microcomputer
system.
Th e
program
which
w á3developed
will
ruri
onany
8080 based
microcomputer
configured with at least
4K c)f
contiguous
RAY,
and
anASCII
iriput/output.. device.
Although
MICR0CHES,Sdoes
not
always
play
chess
at
the
expert
level,
it
will
make areasonable
moveunder
most
circumstances.
In addition
t.obeing
great
fun
to
play,
it
can
provide
auseful
a ridtireless
opponent
fo
r
practising
checkmate3,
learning
openings,
and sharpenimg
general playing
skills.
The
MICROCHESSprogram
i
ssupplied
onpaper
tape
or
onTarbell(jM)
cassette.
Thedocumentatiau
provided
includes
complete
player's
instructions,
adescription
of
the
program
operation,
arid
anappendix
with detaiX
for modifying
the
II
Ot
c)suit
the
individual
requirements
of
each
user's
personal
computer
system.
If
you
should
have
an yproblems
putting
MICROCHESS u g on
your
system,
please
send
t.he
details
of
your
system
and the
exact
problem
to
the
address
below.
Wewill
doour
best
to assist
you
in
any
wayPOSuuiblé.
©
Thís
cu |Jl/ c' títhe
,'JICR0CHESS |7)log2amand
d0cume\'ltat¿on
tiS ~'gzcuAded
p'l
the
µezg("!nae
u-seand
eYlj(/t/mQnt
ü//the
Íju/Lcha4
Qjt.Rep'íoduetLon
by
cUljl mean,s itSg/tc/h¿b¿tea.
Lúe of
the
f'!ICR0CHESSÍ3?2ÜgtamA, c!jl
anq pm'tt
/the/Le0S,
//c'/lthe
ynjc'cue
Q,ípzómottón
CItÁáíc:
c! S mLc/Locomr)utQ-/L/la^dUja/t
e Olí 4soFt(L)a/7e,tcí-thout
the
éx)>zems t'jjLL.t-teb?
pezmAsion
Ci 4the
atttúms
AÁpzohíbited.
Addzem
att
ecmmunLcattónó
)tc/ :m
i
cr
o c h e ss,
nichd-ware
limited,
27
Firstbrooke
Rd.
,Toronto,
Ont.
,m4e
2l2,
canada
TABLE OF CONTENTS
PLAYER'S
MANUALNOTATION 3 PROGRAM EXECUTION 4
MICROCHESS COMMANDS 4
THE
DISPLAY
COMMAND 5THE GO COMMAND 5
THE SPEED COMMAND 6
THE RESIGN COMMAND 6
THE EXCHANGE COMMAND 6
ENTERING YOUR MOVE 7
SPECIAL MOVES 7
CASTLING 8
PAWN PROMOTION 8
EN PASSANT 8
THE COMPUTER MOVE 9
NOTES 9
APPENDICES
APPENDIX A
THE PROGRAM 11 THE CONTROL AND INPUT/OUTPUT
II
MOVE GENERATION 11 DATA COLLECTIONí2
STRATEGY 12 APPENDIX BINPUT AND OUTPUT SUBROUTINES
i4
APPENDIX CDISPLAY
OPTIONS 15CRT
DISPLAY
15CUSTOM BOARD
DISPLAY
15PIECE
ADDRESSES FOR BOARDDISPLAY
16APPENDIX D
RETURN TO YOUR OPERATING SYSTEM 17 APPENDIX E
HEX DUMP OF MICROCHESS 18 APPENDIX F
TYPICAL
OUTPUT FROM MICROCHESS 22¶
' ' : h ' ' 'r' ' " '
F } J%
. -
,:
G': -" :" T ~
Player's
Manual
NOTATION
MICROCHESS
uses
aspecial
octal
notation
to
identify
t
hesquares
of
t
hechess
board.
Each square
is represented
by
atwo
digit
number.
Thefirst
digit
specifies
the
rank(0
to
7 )f
romthe
computer's
end
of
the
board.
Thesecond
digit
specifies
the
file
(Oto
7)
from
t
hecomputer's
right
(your
left)
. Acompletely
numbered
board
is
shown below:
;q
I
C R C) C FI E S SOCj 01 D? tj3
, ou 05
QE l 07 i
10
)
11 12 13 14 15 l 15 i 17 j
--—4---—---
l l l20
l
21 22
U
l 24l
25 ) ?6 l 2?
l ) l )
)
30 31 32 33 i 34
3'
) 36 37uo
'li
42 43u
) ·'JS I'16 '17
'I
)
"
"
)"
)
I',J)'Í__"
T
60 i 61 ! 62 ) 63 I 6'1 l
65 l 66 I 67
---)
)---)
----)
I---,---)
l
7l) l 71 )
'/'
!
'U
i"4
')75 ) 76
,
77
C H A L L E !j' g E
-
4-PROGRAM EXECUTION
The MICROCHESS
program
is
executed
frorn
address
0000.
After
printing
the
initial
sign-on
message,
MICROCHESSwill
ask:
"DO YOU WANT WHITE?(Y,N)".
If
you wish
to
play
white,
respond
with 'Y'.
If
you wish
to
play
black,
respond
with 'N'.
If
you
wish
MICROCHESSto
decide
which
colour
to
play,
respond
with
any
other character.
MICROCHESSwill
then
display
the
board
and
prompt
with
acolon, indicating
that
the
program
is
ready
to
receive
any
operating
command.MICROCHESS COMMANDS
MICROCHESS
has seven
special
commandsto
which
it
will
respond.
Commands may be
abbreviated
to
the
first:
letter
of
the
commandword.
All
commandsmust
beterminated
with
acarriage return.
Typing
errors
may becorrected
at
any
time
by
typing
acontrol-X.
This
will
clear
the
input buffer
andallow
you
to
retype
the
entire line.
COMMAND SUMMARY COMMAND FUNCTION
DISPLAY
Display
the
board
at
the
terminal.
GO piake a move
from
the
current position.
Speed
Changethe
modeof
the
computer's
play.
jjEsIgN
Endthe
game.EXCHANGE
Exchange
sides.
/\UT0 DISPLAY
Display
the
board
after
each move.
THE DÍSPL¢M CCJMMANI)
Th e ZjI3P¿É1y 2omx!arl'!
¡ñ3t:
"_nts
t:he 2,3Tj3ater'to
display
the
:mrrent
P4jSít.iOr)
':jí
'.!",e i,nt.ermaÁ '?ÉléS3Mníri
at
t
heterminal.
't!CR'3GLdZSSt:
:"í!:
Y'Áü'"4ii
!'í:U~íte1
It'
the
tntú"n the
display,
ani
/f:
l-j'ire
a}"A!í"d'3at
th;'
b)"Ut.: j'm.!i.ath
F'Ú?2éis
indimated
by a t'rjCjO
'2r!}r7ctet'
mriemcmi'm T h efirst
c?.haµ?íc[er 3h(j'Asthe
colour of
t.he
tj.i.ece.
The 3£12 jnci?'narActeµ
s 'u) 'ti 3t
hetype
c)f
piece
3c.3upying
that.
s:j!-la'"e.
Blmk
squares
'rúíiCh are unoccupied
are
illustrated
by ::
. The":
ampte
dispZ.ay
beZ3'Ñ showst
heboard
i:
et
udto
begin
a ga")ewith
MICRCCHEStf;ñaying
white.
6~m·""""
MICAOCHESS""""m~"+
l YRVN
YB YK YQ WB HM VR I! I
! VP VP VP
VPVP
¥P\dP
VP !I I
I B 8 8
t
t t B 8 Il I I t I
t
I I 8 8 8 ! I I t 8 t t 8 8 8 0 B I I I ! 8 8 3 8 8 ¶ 3 8 !l I
I
BPBPBP
BPBPBPBP
BP !I f t BR
W
BB BK BQ BB BN BR I+""""""
CHALLENGER"""""""+
THE GO COMMAND
'i
he 'X' corrimañdi:
ístructs
!4ICR02XE3Sto
examine
the
current
postion íjf
the
board,
choose
the
best
moveavailable,
makethat
move,
ÁjYjthen
prinz
íjút
the
movethat
i
t
ha 3 mad e.
This
2 ommand may b eentered
at
anytime.
Theccmputer
will
not
check
to
see
if
yo '-i ha ve .made an y movessince
t
helast
r2om:
?ljter
move,
or'if it
is
making
the
first
"novewith
the
black
t.e n
6
THE SPEED COMMAND
MICROCHESS
can play
chess
at
three
different
levels.
Thebest
level
is
called
the
NORMALspeed,
andrequires
from
60to
300seconds
per
movefor
analysis.
Byeliminating
sometime
consuming
portions of
the
strategic
analysis,
the
speed
can beincreased.
BLITZ
moderequires
only
20seconds
per
move onthe
average,
and SUPERBLITZwill
make a movein
about
10seconds,
In
response
to
the
SPEED command, ¥ICR0CHESSwill
ask:
"WHICHMODE?
(S,B,N)".
Type oneof
the
characters
S,B,
or
Nto
choose
the
desired
speed.
This
command may beentered
at
any
time
during
the
game.SPEED SUMMARY
ENTER SPEED TIME PER MOVE
S SUPERBLITZ 5 TO 10 SECONDS B
BLITZ
10 TO 30 SECONDSN NORMAL 30 TO 300 SECONDS
THE RESIGN COMMAND
The RESIGN command may be
entered
at
any time
to
endthe
game. MICROCHESSwill
display
the
final
position
of
the
board,
andthen
ask
if
you wish
to
play
again.
THE EXCHANGE COMMAND
The EXCHANGE command
enables
youto
turn
the
board
around
at
any
point
during
the
game.This
forces
MICROCHESSto
play
with
your
pieces
in
the
position that
you have
left
them.
Youmust
play
with
the
computer's
men. Therelative
positions of
the
pieces
remain
the
same,but
the
numbering
of
the
squares
changes
because
the
notation
always
has
its
origin
at
the
computer's
lower
right.
It
is possible
to have
HICROCHZSSplay
a gameagainst
itself
by
entering
the
EXCHANGE command,then
the
GO command,then
the
EXCHANGE command, and sc)
on.
Rememberthat
each
moveprinted
is
being
described
from
opposite
ends of
the
board
because
of
the
intervening
exchanges.
It
is
best
to
display
the
board
every
two or
three
movesto
besure
that
you are
following
the
ENTERING YOUR MOVE
Your
moveis
described
to
MICROCHESSby
specifying
the
square
the
piece
was movedfrom,
andthe
square
the
piece
was movedto,
using
the
octal notation
described
above.
For
example,
with
the
computer
playing
white,
a KPto
KP4response
would
beentered
at
the
colon
prompt
as:
:
63-U
MICROCHESS
will
immediately
movethe
appropriate
piece
internally
andbegin
to
consider
its
response.
The GO commandis
assumed
assoon
asthe
moveis
entered.
Note
that
MICROCHESS
carries
out
nolegal
validity
check
onyour
move.
The
program
will
accept
a moveof
any piece
onthe
board
to
any
square
onthe
board.
If
the
square
you
movethe
piece
to
is
occupied,
the
occupying
piece
will
becaptured
andremoved
from
the
board.
Therefore,
it
is
very
important
whenentering
your
move,
to
take
great
care
riot
to
enter
anincorrect
square
number.
Aswith
the
commands,typing errors
may becorrected
by
typing
acontrol-x
andretyping
the
entire line.
SPECIAL MOVESNormally,
MICROCHESSbegins
to
consider
its
response
assoon
asyou have entered
your
movein
the
format
shownabove.
If
you
wish
to
inhibit
this action, in
order
to
rnaketwo consecutive
movesto
set
up atest position,
or
to
" make an enpassant
capture
asdescribed
below,
enter
an yafter
the
move.
For
example:
:
63-'l3Y
* P
MICROCHESS
will
movethe
appropriate
piece
onits
internal
chess
board,
andthen
return
to
the
command modefor further
commands
or moves.
Note once again,
that
you may move anypiece
onthe
board
in this
manner,
This
includes
the
computer's
pieces
,which
you
maywish
to
movein
order
to
set
up a-
8-CASTLING
Castling
is
accomplished
by
entering
O-0
to
castle
onthe
king's
side
(short),
and O-O-O
to castle
onthe
queen's
side
(long).
Theletter
Ois
used,
not
the
numeral
0.
:
0-0
PAWN PROMOTION
If
you
move a pawnto
the
eighth
rank
(rank
0in
the
octal
notation
of
MICROCHESS),you
maypromote
it
to
apiece.
This
may be
done
by
following
the
moveentry
by
anequal
sign
and
the
mnemonic
of
the
piece
you wish
the
pawnpromoted
to.
For
example,
if
you wish
to
promote
the
king
pawnto
aQueen,
the
following
movewould
beentered:
:
U-03=Q
Because
of
the
internal
board
representation
of
MICROCHESS,only
one queen
is
allowed
per
side
at
any
given time.
If
you
already
have
aqueen,
it
will
benecessary
to
choose
another
piece
which
has
already
been
lost.
EN PASSANT
En
passant
pawncapture
'nay beaccomplished
by making
two moves
with
the
capturing
pawn.
Thefirst
moveis
alateral
moveto
capture
the
computer's
pawn.
Thesecond
moveis forwards to
the
final
square
that
you
are
moving
your
pawnto.
For
example,
acapture of
the
computer's
queen
pawnwhich
has
just
moved
from
jLjto
34with
your
king
pawn,
nowlocated
at
33,
is
accomplished
by
first
moving
33to
u
to capture
the
pawn(using
the
Msuffix
to
prevent
MICROCHESSfrom
moving),
and
then
moving
from
34to
24to
moveyour
pawnto
the
appropriate
final
square.
:
33-34'q
THE COMPUTER MOVE
!'1ICR(JCHESS
indicates
its
moveusing
the
samenotation
that
you
use
to
eater
your
moves.
Todistinguish
your
moves
from
those
of
the
computer
when going
over
anold
listing,
the
computer's
moves
are
preceded
bythe
notation:
'!C :, as
shown
in
the
example
gameillustrated
in
appendix
F.
Enpassant
capture
13 not
apart
of
the
?UCR0CHESS movegeneration
routines.
Consequently,
the
computer
will
never
capture
enpassant
or
recognize
the
danger
of
you
capturing
enpassant
whenit
formulates
its
optimum
move.
NOTES
Some
players
mayfind that
their
level
of play
exceeds
that of
MICR0CF!ESS.
In
order
to
makethe
gamemore
challenging,
these
players
may makethe
samesacrifice
they
might
maketo
aweak
human
player.
They
can
spot
the
computer
apiece
by
removing
it
at
the
beginning of
the
game,
or shortly
after
the
opening
play is concluded.
This
can
easily
bedone
by
capturing
it
with
one
of
your
ownpieces,
then
returning
the
piece
to
its
own
square.
For
example:
:
74-73t'i
:
73-74M
MICROCHESS
has
been
designed
for
your
enjoyment.
Havefun!
In
addition,
weare
always
open
to
suggestions,
ideas,
or
criticisms.
Please
let
us knowif
you
feel that there is
anything
wecan
doto
improve
our
products,
or
if
there
are
any
-
1 O-?
/.
_,
t=+
\
¢ 0 C 0 e 0 , I
"
6 ¿ ¿ ·' J 6 4 d .' d j J.l L
^"
'=
'les"1
"j/l""Tl'Í)"'"o)l)))
THE PROGRAM
The
program
is
divided
into
three
functionally
distinct
sections:
the
control
andinput/output
routines,
the
movegeneration
anddata
collection
routines,
and the
strategic
analysis
routines.
CONTROL AND INPUTi'OUTPUT
This
section
of
the
program
is
responsible
for
all
communications
between
the
computer
aridthe
humanplayer.
Theprimary functions
carried
out
are
the
board
set
up,
and
data
table
initialization
sectionm
In
addition
to
this,
the
various input
commands
are
irtterpreted
and
subroutines
are
called
which
execute
them.
Themost
important subroutine
called
by the
control
section
is
the
chess
program
itself.
This
is
acomplex
set
of routines
which
examine
the
current
state of
the
chess
board
and
return
a 7lOVéwhich
has
been
evaluated
as the
best
available.
MOVE GENERATION
The second
major
subsection of
the
program
consists
of
aset of
subroutines
which
generate
legal
moves
from
agiven
position.
MICROCHESS,unlike
most
larger
chess
playing
programs,
evaluates
its
opportunities
in
aserial
manner.
That
is,
it
generates
anavailable
move,
and
evaluates
it
completely before
generating
the
next
available
move.
Theevaluation
routines
calculate
avalue
for
each
movewhich
is
compared
with
the
value
of
the
best
movefound
sofar.
If
it
is
better,
it
becomes
the
best
movefor
comparison
with
future
moves
generated.
The ,novewith
the
highest
value
will
beselected
by
MICROCHE3S.To
generate
all
the
moves
for
aside
MICR0CHE33works:
through
atable
which
contains
the
board
position
of
each
piece.
This
is
the
table
shown
in
appendix
E.First,
aking
pawn moveis
generated
and
evaluated.
Theevaluation
includes
the
actual
moving
of
the
piece,
and
the
generation
of
potential
reply
moves
by
the
challeriger.
Thesequence
of
trial
moves
of
the
computer's
piecces
aridthe
challenger's
pieces
mayextend
as
far
as
three
moves
for
eÁch side
beyond
the
current
position.
At
the
end
of
this
time,
each
move madewill
betaken
back,
until
the
board
is returned to
its original
state.
Then,
the
next
available
movewill
bemade,
andtbe
replies
tested.
Thi3
continues
until all
the
moves
tor
each
cUece
have
been
tested.
MLCROCHESS
is
capable
of generating antí"evaluatiríg
about
10,000
moves
per
second.
Thus,
in
ayjo
second
analysis
3,(y)o,ooo
moves
will
be matte andtaken
baok
in
anattempt
to
evaluate
the
-
1 2-DATA COLLECTION
For
each
test
moveavailable
to
the
computer
data
are
collected
which
will
allow
it
to evaluate
the
resultinq
position.
In
the
normal
modeof
operation
MICROCHESScollects
the
folowiríg
information
for
use by the
strateEy algorithms.
MOBILITY
(µ
)This
represents
the
number
of legal
moves
that
aside
has
available
to
it
from
agiven position.
MAXIMUM CAPTURABLE PIECE
(P).
Thevalue
of
the
most
valuable
piece
presently
being
attacked
by
aside.
TOTAL ATTACK ( a )
. The sum
of
the
values of
all
the
pieces
under
attack
by
aside.
CAPTURE
(C').
Thevalue
of
any
piece
captured
by
the
current
move,
or
t
he maximumavailable
capture in
afuture
move
which
can
beachieved
by
aseries
of
captures
(an
exchange).
Th e
mobility,
maximumcapturable piece,
and the
total
attack
are
obtained for
the
current
position,
and the
position
after
t
hetest
move ha sbeen
madefor
both
the
computer
and
its
opponent.
Capture
values
are
calculated
to
adepth
of
three
moves
per
side
beyond
t
hecurrent
position
provided
tb
eposition
examined
can
beachieved
by
acontinuous
sequence
of
piece
captures.
I!?zdíition,
the
value
of
the
Zio(M
piece,
arid the
squares
it,
cccuFie3
Before
anti
after
the
moveare
used
in
t.he
evaluation.
STRATEGY
After
atest.
Tc'jt? jl ¿z:" '|"1:(
r:!'cñt
ratccl,
'an,"i l.í"ic !:'ara¶€t.cr"s
al-.cvc
have
tcۖ
(?(í]]c(?l-c}/'"j 't' ',' i !c j¿q t. ei
cc
.;t.'ÑÁQñ
r
ou t.nc
e ,t !1 t?
strat.c-í]ic
¿2!]IÁ}:,'::j:"
'z}j".; :- l j,rg z:":Ú"m'.
'ii '.j¿;',jf¿ Lcthe
'r.(.:','f¿. 7Ji'" i" a si
(? :31r(:!"'jl!:'.
', "' ! t :_, !"'c7i: ir?::|
'" :ú c 7 t,i\t'
',' "2i'f
{' 'jjf}j-j "· ·- ··",ct (-e
r
C" r : { ' · , ' ' ' 1 i } :, : L- t I,-, ·,- . .- - ; L t ' : l " : \" ',:
r
· , - 4 - -, l t t , \VALUE =
jj.0cWí
+1.25¢V
+CL75t'i
+0.75OLl
+0.25tü
+
0.25¢u
-
3jj0pÍ
-
2.0CNÍ
-
1.25QÁ
-
0.25C'O-
0.25a0
- 0.25G -
0.25'ÍÁ
- 0.25in
(^)
signifies
the
challenger's
value.
(n) subscript
signifies
the
position
at
time
n.
(time
Ois
the
current
board
position)
VALUE 7 VALUE + C2
ir
apiece
is
moved from
the
back
rank.
VALUE = VALUE + C)2
if
apiece is
moved
to
the
centre.
VALUE 7 FFif
the
challenger
is
checkmated.
The a1Eorit!lln
used
ty
"4ICH(JCHESSis
arelatively
simple
o necompared
to
major
chess
pr'oizrams
which
can
ccmpete
at
anexpert
level
or
play.
Asa
result,
t
h ecomputer
must
makettÍi€
decision
MiUween
pcsitional
[1€velQpm.ent,
or
material
a'jvantaEe
based
upen
t.hefew
factors
outlined
above.
Goodchess
is
c:
orcÁderably
more
complex,
an'i
requires
that
th
eplayer
us €alzorjti]ms
',v'hich var
yfr
omtime
t.otime
during
the
Eame.|tl!:
!i\jCiiESS
l:as cñi\'
azinízlc-
altzm"ithm
which
must
be ',] se. d at-a 1 ] st-aFE2g ciur
i Ilf'
t lie
E!ápít'(exccpt for
afew
openiríg
moves
"Aiicii
ca !1 i: Cl j.:1 ¿".;,'ccífr
c'm alimitmi
book).
Thi
3-siníjjlc
a:ljc::"iti]y7,
is
accmj'rcmise
of
t.iaeI)css3i!:
l(
cpen.itáf],
middle
EátLí€,e nci !';at3(?, m: ci
sl:
f-(jjjal sitnaíion
{aln(3rj!.l]'ns..
! tis
t:ccausc
cI"Gjjjg.
2('[µ.;!'(:
f.!2'(:-tijc:
t
!'l!CMjClliF!13
SQTi€timc:
3lnake:
2'r,cves
',·:íiich
art'
-
14-
APPENDIX E3INPUT AND OUTPUT SUBROUTINES MICROCHESS
is
supplied
with inout
and
outout subroutines
for
use
with
an ASR 33or
equivalent
A3CII
terminal.
Théuuéroutines
are
shown below
in
source
format:
0DE6
4130
*********************************************
0DE6
4140
*
TaETYpE
INPUT/OUTPUT
ROUTINESSUPPLIED.
*
0D£6
4150
*********************************************
0IE6
4160
*
OUTPUT ROUTINE·
0IE6
4170
*********************************************
0IE6
DB00
4180
TTYO IN 00DEB
E6 80
4J90
ANI
80H0DEA CA
E6
0D4200
JZ
TTYODIED
78
4210
MOV LÚB0DEE D3
Dl
4220
OUT I0DF0
C94230
RET0DFI
4240
*********************************************
0DFi
4250
*
INPUT ROUTINE*
0DFS
4260
*********************************************
0DFI
DB00
4270
TTYI
IN
00DF3 E6 40
4280
ANI
40H0DF5
CAFI
0D4290
JZ
TTYI
0DF8
DB 014300
IN }0DFA E6
7F4310
ANI
7FH0DFC
47
4320
MOVR.A
ODFD C94330
RETThe
conventions
used
by these
routines
are:
1-
Status is
onchannel
0.
2-
Data
is
on channel
1.3-
Data
available
is signalled
by
bit
6(40H).
4-
Transmit buffer
empty
is signalled
by
bit
7(BOA).
These
routines
are
shown,
sothat
you
rnaymodify
them
if
necessary
to suit
the
individual
requirements of
your
system
If
you
wish
to
use
your
ownI/O routines
replace
the
data
at
address
09DA (C3FI
DO)with
a J?4Pto
your
owninput
routine
(C3
XXXX).
Then,
replace
the
data
at
address
Z9D7 (C3 E6 DO)with
a JMPto
your
ownoutput routine
(C3
XXXX).
The
data is
passed
in
the
Bregister.
Theparity
bit
may be 0or
1for
aninput
instruction.
Output
from
MICROC4E.3Shas
the
parity bit
set
to
0.
There
is
norequireme2t for saving
any
of
the registers;
however,
the
stack rminter
must
bepreserved
arid
APPENDIX C
DISPLAY
OPTIONSTwo
display
option
commandsare
available
at
the
MICROCHESS commandprompt.
These
are
AUTODISPLAY
and
NODISPLAY.
Entering
the
,A.UT0DISPLAY
corntnandcauses
the
program
to display
the
board
immediately
after
each
move madeby
either
side.
Entering
the
NODISPLAY
commandwill
turn
off
the
automatic
display
feature.
This
is
demonstrated
in
the
sample
gamein
Appendix
F.
The
default
option in
the
copy
of
MICROCHESSyou
have
received
is
NODISPLAY.
Theuser
rnaychange
the
default
option to allow
the
program
to
display
the
board
after
each
computer
move,
after
each
of the challenger's
moves,
or both.
Replacing
the
three
NOE'instructions
at
address:
0120
(00
0000)
with
acall
to
the
display
subroutine
(CD 4202)
will
cause
the
board
to
beautomatically
displayed
after
each
move rnadeby
MICROCHESS.If
you
wish
to
have
the
board
displayed automatically
after
each
of
your
moves
as
well,
replace
the
three
NOPinstructions
at
address
0004
with
the
samesubroutine
call
(CD 4202).
CRT
DISPLAY
If
you
are
using
a CRTdisplay
with only
16lines
onthe
screen,
you
maywish
to
shorten
the
board
display
provided
by
MICROCHESS.
This
is
easily
accomplished
by
entering
3 NOPinstructions
(00
0000)
at
address
0258.
This replaces
the
CDDA 01
which
appears
in
the
original
code.
CUSTOM BOARD
DISPLAY
If
you
wish
to
design
your
ownboard
display
for
use
with
agraphic
terminal
or
just
to
gratify
your
ownartistic
ambitions,
you
mayreplace
the
MICROCHESSdisplay
routine
by
replacing
the
data
at
address
0242
(CD AC09)
with
a JMPto
-
16-The
data
required to
di3p1ay
the
board
is contained in
atable
at
address
09ED.
This
table contains
the
board
location
of
each
piece.
Theaddress
and
location
of
each
piece
asit
would
appear
at
the
start
of
a gamewith
!4ICRC)CHESSplaying white is
shown
below.
PIECE ADDRESSES FDR BOARD
DISPLAY
PIECE MICROCHESS CHALLENGER
King
09ED 03 09FD 73Queen
09EE 04 09FE 74King
Rook
09EF 00 09FF 70Queen Rook
09F0
07 0A00 77King
Bishop
09F1 02 0A01 72Queen Bishop
09F2
05 0A02 75King
Knight
09F3
01 0A03 71Queen
Knight
0¢)F/J 06 0A04 76KR Pawn
0!IF5
10 0A05 60QR Pawn
09F6
17 0A06 67KN Pawn
09F7
11 0A07 61 QN Pawn09F8
16 0A08 66 KB Pawn09F9
12 ÓA09 62 QB Pawn09FA
15 DADA 65Q Pawn 09FB 14 0A0J3 64
appendix
d RETURNING TO YOUR OPERATING SYSTEMIf
you wish
to return
directly
to
your
operating
system
at
the
end
of
agame,
this
can
beaccomplished
by
replacing
the
HALTinstruction
at
address
01O7with
a JMPxx
xx
to
your
operating
system
entry point.
Two NOPShave
been
included for
your
convenience
in
adding
thi3
patch.
Please
note, that
it
is impossible
to
call
MICROCHESSas
asubroutine
because
the
program
manipulates
the
stack pointer
several times during
program
execution.
Thus,
the
original
return
address
will
not
beat
the
top
of
the
stack
when the
-
18-
APPEtlhlX E0000 31 82 Oij
cij
biG 092i
6L) 0Elcij
Lia Dl :zl
93 0i3 CL)0010 DA Dl 21 B9 OB CD bA Dl
cij
HG 09 Cb AF 05 2J 950020 Da 22 7L) DA
Zl
GEl Da 22 7F DA2!
Dl 0i3 22 79 DA0030
Zl
37 OB Z2 7Ei DA AF 32 74 DA 32 7i3 DA 32 82 DA0040 32 81 DA 32 75 DA 32 76 0é.t 3E
l0
32 77 DA 3E EE0050 32 ¿jjj Da 32 4E DA 21 F5 013 Gb SC Dl CD C9 09 CD
0060 BF' 09 78 OF D2 6F 00 3E Dl 32 82 DA CL) C3 05 CL)
0070 42 02 Gb AC 09 31 82 00 21 ¿6 DI) 22 59 Da 21 20
0080 20 22 20 DC 21
l0
DC CD SC Dl CL) 20 03 CL) AC 090090 21 DA Di) 7E FE 47 CA LI7 00 FE 44 CA 42 03 FE 45
00^0
Cfl 2C 02 FE 53 CAEl
Dl FE 4F CA Di 03 FE 52 CA0080 20 02
Ft
4J CAFI
02 FE 4E CÁ 05 03 CD 680i
3A00G0 OF oij FE 4L) CA 26 01 FE 3L) CA 48 03 FE 0D C2 2C
0000 Dl Cl) 61) 08 00 00 00 CD 71) 04 3A 78 DA E37 CA F4
00£0 00 21 UF 20 22 IE DC 21 20 4F 22 IB DC AF 32 7É3
00F0 DA C3 02 Dl CD AD Dl cLt 97 03 3A 4F DA FE FF CA
0100 38 Dl 21 16 DC CD SC Dl 3A 81 DA FE FF CA 17 03
0ll0
3a 74 DA B7 CA ID Dl 21 AE DC CL) 5C Dl CD AC 090120 00 00 00 C3 75 00 CD 6D 08 C3 75 00 21 23 DC CD
0130 5C Dl CL) AC 09 C3 75 00 21 30 DC CD DA DJ CD 42
0J40 02 CI) AC 09 21 47 DC gj) SC Dl CD C9 09 CD BF 09
0150 78 F¿ 59 G2 GB Dl Gb AG 09 G3 J8 00 7E FE DL) CB
0160 47 cLí BF 09 23 G3 5C Dl 2A DA DI) CD 99 Dl 32 50
0170 0A 2A DL) DL) CD 99 Dl 32 51 DA 32 4E DA 3A 50 DA
0180
2l
0C DA 0E IF BE CA 91 Dl 2E3 0D FZ 85 Dl C3 2C0190 Di 79 32 4L) DA 32 4F DA C9 7ij E6 0F 17 17 17 17
0JA0 47 7C E6 OF 80 47 E6 88 C2 2C Dl 78 C9 3a 50 DA
0IB0
47 CD 8F 09 2A DD 09 22 IB DC 3Asi
DA 47 CD 8F0lC0
09 2A Liíj 09 2Z IE DC G9 Gb AC 09 CD AG 092l
SB0lU0
DC CD 5C DJ CD AC 09 76 00 00 CI) SC Dl CL) AG 090IF0
C9 cLi AG 09Zl
OF 0Ei CD SC Dl CD G9 09 CL) BF 090JF0 78 FE 53 CA 03 02 FE 42 CÁ DA 02 FE 4E CA
lj
02 0200 C3 2G Dl 06 00 DE FF G3 15 02 06 00 DE FB C3 150210 02 06 08 DE FB 78 32 IE 07 79 32 61 0(3 C3 72 00
0220 CD AC 09 21 7E DC CD 5C Dl C3 3E Dl CD C3 05 3A
0230 82 DA B7 CÁ 3A 02 AF C3 3C 02 3E Dl 32 82 DA C3
0240 75 00 CD AG 09 CD AC 09 16 00 21 B6 DC CD DA Dl
0250 7A El7 CA SB 02 21 D2 DC CD 1JA 01 06
2i
CD BF 090260 06 20 CI) i3F 09 21 DC 06IL DE IF 7E BA GA B8 02 2B
0270 0D F2 6A 02 7A E6 OF 5F 7A E6 FO OF 4F 4F 4F C3
0280 IF L)Á 89 02 06 20 C3 8B 02 06 3A CI) BF 09 CD BF
0290 09 06 20 CD E3F 09 14 7A E6 OF FE 08 C2 65 02 06
02Á0 21 CD BF 09 CD AC 09 7A C6 08 57 FZ 50 02 21 EE
02B0 DC CD DA Dl CD AC 09 C9 79 FE
l0
D2 D3 02 3A 8202C0 Da E37 C2 CC 02 3A 83 DA 47 C3 DD 02 3A 84 DA 47
021)0 C3 Dij 02 3A 82 DA B7 G2 C5 02 C3 CC 02 CD BF 09
02E0 79 E6 OF 4F 06 00 21 85 DA 09 46 CD BF 09 C3 91
02F0 02 3E CD 32 1)4 00 32 20 01 21 42 02 22 D5 00 22
0300 21 Dl G3 72 00 21 00 00 22 1)4 00 22 D5 00 22 20
0310 Dl 22
Zl
Dl G3 72 00 21 96 DC CL) 5C Dl C3 3E Dl0320
Zl
060 Dij DE 00 CD gg 09 78 77 FE oí) GA 3C 03 FE0330 18 CA 72 00 CD BF 09 23 DC G3 25 03 RF 89 CÁ 25
0346 03 C9 CD 42 02 G3 75 00 CD 68 Dl 21 DC DA DE OF
0350 3A 50 DA BE CA SC 03 2B Dij F2 53 03 36 CC 21 85
0360 Da DE 07 364
l0
0D BE CA 72 03 2B 0D F2 66 03 C30370 2C Dl 21 FO 09 06 00 09 3E CC BE CA 83 03 213 BE
0380 C2 2C Dl 3A 51 DA 77 3A
li
Ob FE 4Li CA 72 00 FE0390 oLí GEl U7 00 C3 2C DJ 3A
si
DA E6 FO FE 70 CD 3A03A0 4F Da 4F E6 08 CB 21 ED 09 06 00 09 3E CC 77 21
0380 EE 09 IE 00 i3E CA BD 03 23 lC C3 i34 03 3A SI 0Á
03G0 77 3E 3Í) 32 20 DC 21 85 DA 16 00 19
IE
32 21 DC03ÁJ0 C9 3el DC oLí FE 4É' C2 2C Di 3A DE DI) FE 4F C2 2F
03E0 04 3A 82 DA E37 CA 05 04 3A FD 09 FE 74 C2 2C Dl
03í0
3£ 72 32 FI) 09 3ií 73 32 00 DA 32 4E DA 3E 13 324lj
0410 Eli 09 3E 74 32 00 Da 32 4£ DA 3E 13 32 4D DA 3A
0420 OF DL FE 4Ll GA 72 00 FE OÍ) CÁ D7 00 C3 2C Dl 3A
Ú30
82 DA b7 CA 53 04 3AFt
09 FE 74 C2 2C Di 3E 760440 3z FÍj 09
3l
75 32 FF 09 32 4E Da 3E 12 32 4ij DA04jjÜ C3 6x 04 3Lí
Ft
09 FE 73 C2 2C Dl 3E 71 32 FI) 09 0460 :iii
72 32 FF 09 32 4E DA 3E !2 32 4L) DA 3A Dl) 0D0470 FE 4Í) CA 72 00 FE Dij CÁ D7 00 C3 2G Dl 2A 75 DA
0M30 7b FE 36 ijZ 6B 05 Cl) CF 04 F5 2A 75 DA 23 22 75
0490 0h FI L)2 6B 05 CD 4F 05 Gb B7 04 CD 60 08 3A 4D
04A0 DA FE 00 CD 3E 02 32 4D DA 3A 4E DA EE 03 32 4E
04130 Ok 32 78 DA C3 98 04 21 ED 09 3A 4D 014 32 4F DA
04C0
4í
06 00 09 7E 32 50 DA 3A 4E DA 32 51 DA C9 CD04LÑ 04 05 CÁ Ei3 04 CI) lC 05
2i
77 DA 35 F2 E7 04 AF04L0 26 00 ZE FO 22 75 DA L)A CF 04 C9 Cl) 29 05 2A 75
04F0 DA EB 2Á 79 DA 19
IE
32 4L) DA 2A 7B DA 19 7E 320500 ¿j¿ 0a 37 C9 2A 75 DA EB 2A 7D DA 19 3A 4L) OFt BE
0510 C2 IB 05 2k 7F Da 19 3A 4E Da BE C9 2A 75 DA 7D
0520 C6 09 6F 22 75 014 FE 36 C9 2A 75 DA E5 3A 77 DA
0530 4F 3£ FF 32 77 Da GLi lC 05 21 77 DA 34 D2 4A 05
0540 0D FA 4A 05 C!) 04 05 CA 36 05 El 22 75 DA C9 3A
0550 j¿ 07 31 57 06 05 DE FF 3E FF 3D C2 5A 05 0D C2
0560 58 05 05 C2 56 05 iS C2 54 05 C9 3E DC 32 54 DA
0570 32 50 DA DE 14 CC UF 05 3E 04 32 54 DA CI) DO 05
0580 3Á 50 DA FE OF L)A
m
05 21 ED 09 06 00 3A 4F DA0590 32 4b DA 4F 09 7E 32 50 DA 3Á 51 DA 32 4E DA CD
05A0 6D 08 C9 3E FF 32 4F DA 32 50 DA 32 51 DA C9 21
05B0 0Ú 0h
li
Eij 09 DE 20 7E 12 23l3
DL) C2 B7 05 C905C0 CD AF 05 21 ED 09
li
FO 09 DEl0
3E 77 96 47 EB05IJ0 3E 77 96 70 EB 77 23 13 OÍ) C2 CB 05 C9 DE
l0
21OSC» Sí) Da AF 77 23 DIJ FZ E3 05 3E
l0
32 4D DA 21 4D05F0 DA 35 F8 GU 513 07 3E 08 32 55 BA 3A 4D DA FE 08
0600 F2 56 06 FE 06 F2 4j3 06 FE 04 F2 35 06 FE DI CA
0610 IE 06 F2 27 06 CD 98 06 C2 15 06 C3 EE 05 CD A9
0620 06 C2 IE 06 C3 EE 05 3E 04 32 55 DA CD A9 06 C2
0630 2C 06 C3 EE 05 CL) A9 06 3A 55 DA FE 04 C2 35 06
0640 C3 EE 05 3E
l0
32 55 DA CI) 98 06 3A 55 DA FE 080650 C2 ua 06 C3 EE 05 3E 06 32 55 DA Clj DA 06 FA 6B
0660 06 3A 52 DA B7 CÁ 6i3 06 CL) 93 07 CI) 58 07 21 55
0670 044 35 7E F¿ 05 CÁ SB 06 CL) L)Á 06 DA 8B 06 FA EE
0680 05 3a 52 DA B7 C2 EE 05 CL) 93 07 3A 4E DA E6 FO
0690 FE 20 CA 78 06 C3 LE 05 Cb DA 06 FA
Al
06 CD 9306rúj 07 CD 58 07 21 55 0ti 35 C9 Clj DA 06 lj2 CO 06 F5
06Ü0 EJ 22 72 Ok JA 52 DA Ei7 CA A9 06 2A 72 DA E5
FI
06G0 Fbi DZ 06 3Á 52 DA F5 CL) 93 07 FI 32 52 DA B7 CA
06LQ A9 06 CD 58 07
2l
55 DA 35 C9 3Á 55 DA 06 00 2106iíí0 eg 0a 4F 09 3a 4E DA 86 32 4E DA E6 88 C2 51 07
06F0 3Á 4E DA DE IF 21 DC DA BE CA 04 07 2B 0D F2 F8
0700 06 C3 lZ 07 79 FE
l0
ÚÁ 51 07 3E Dl 32 52 DA C3C710 16 07 AF 32 52 Da 3A 54 DA E37 FA 4F 07 FE 00 F2
0720 4F 07 F5 3Á 52 Da F5 3E F9 32 54 DA 32 53 DA CD
0730 6Ll 08 Gb C3 05 GU E9 05 CD 70 07 FI 32 52 DA
FI
Ü4ÉJ 32 54 DA 3A 5J 014 i37 FA 4F 07 3Z 80 B7 37 C9 AF
0750 C9 ÁF 32 52 Da 2F El7 C9 21 Eij 09 06 00 3A 4D DA
0760 4F 09 7E 32
4
DA C9 CD 6ij 08 CL) C3 05 CD E9 050770 Cl) C3 05 21 00 00 39 22 57 DA ZA 59 DA F9 Dl 21
0780 55 DA 72 21 4LJ Da 73 Cl
El
71El
70 78 32 4E DA0790 C3 ae 08 3A 54 DA B7 16 00 SF FA 20 08 3A 4D DA
07A0 B7 Ch i32 07 47 3E 08 FIB C2 B2 07 3A 65 DA B8 CA
é7b0 Ft3 07
Zl
62 DA ¡g 34 3E Dl B8 C2 BE 07 34 3a 5207G0 De-i ii37 CÁ F2 07 0E OF 21 DC DA 3A 4E DA BE CA D7
07Ú0 07 28 Dij F2 CD 07 76 21 3b DA 06 00 09 7E 21 63
07¿0 0A 19 E3E IJA EC 07 77 21 65 0A 19 71 21 64 DA 19
-
2.2-0860 jJC Oh i-íF 3cc 34 Da Cij 6J
u
Cij C3 05 Cij ¡J¡J 05 ¿{J0813 CX3 US 3L Ú8 ;J¿ 54 Da Cij L9 05 Gij 73 '17 C3 AC 08
0820 16 FF FE F9 C2 34 08 3A Fil 09 21 4ií BA BE CO AF
0d30 32 53 Da C9 3$4 52 DA E37 ca 3A LJÉ DA DE 37 Zl 04
0840 064 BE CA 4B 013 2B BD C2 41 08 C9
2í
3Í) DA 06 000850 09 7¿
2i
61 DA 19 BE L)A SB 08 77 IB '7E3 32 54 DA0i36éj FE FF CA 6t3 08 Cl) 67 07 21 54 DA 34 C9 2! 00 00 0É370 39 22 57 ÜA 2A 59 DA F9 3A 4E DA 47 DE IF ¿j DC
01380 ÜH bE GÁ Ba LJ8 2ii3 Dij F2 81 0i3 36 CC Z5 2! itíj 09 0É39á
ló
éjlij 3A 4Lí DAsr
19t5
/4¿ 70 C5zl
55 Da 55 b5OáÁO
Zl
00 00 39 22 59 Da 2A 57 ÍÓK F9 ¿g 97 3L 302l
0É3B0 6a DA 9tj 23 96 23 362l
60 DA á6 2L SE DA i36 2108C0 ¢SF DA 96 23 96
Zl
61 DA 96u
5F DA 96Zl
SU DA08Li0 96
2l
SE Da 962í
52 DA 96 ij2 DI) 0i3 97 IF C6 4008£0
2l
SB DA 86 23 862i
53 DA, 96 IF C6 90 21 SC DA08F0 86 86 86 86 21 60 DA É36 21 63 DA 96 9b 23 96 96
0900 21 5F Da 96 F5 3a 4E DA FE. 33 CA 30 09 F¿ 34 CA
0910 30 új9 FE 22 CÁ 30 09 FE 2S CA 30 á9 3A 4D DA 37
0920 CA 34 09
2í
Lb 09 06 00 4F 09 7E F¿l0
F2 34 090930
FI
G6 02 F5 3A 63 DA 21 3D DA BE C2 43 09FI
970940 C3 5B 09 3A 62 DA 37 C2 5Á 09 3A 6L) DA B7 C2 5A
0950 09 FI
3í
FF 32 81 DA C3 5E3 09 FI DE 84 21 54 DA0960 71 21 50 DA 32 5E3 DA 13E DA Í3E 09 CA É3E 09 32 50
0970 DA 3A 4D DA J2 4F DA 3A l¿j¿ DA 32 51 DA ÁF 32 74
0980 DA 3A 6B DA 2J 3D DA BE C2 É3E 09 32 74 DA C9
2]
0990 L)D 09 47 IF IF IF IF CD A2 09 77 23 78 CD A2 09
09A0 77 C9
t6
OF C6 38 FE 3A Dl3 C5 07 C9 06 DL) CD E3F09130 09 06 DA Cíj BF 09 06 7F CU 8F 09 Cij BF 09 C9 ES
09G0 G5 lj5 CD D7 09 Dl Cl El C9 ES D5 C5 CD L)Á 09 78
09D0 Cl
jjj
El E6 7F 47 C9 C3 E6 0D C3FI
0D 00 00 0009E0 00 00 00 00 00 08 00 00 00 00 00 00 00 03 04 00 09F0 07 02 05 Dl 05
l0
17li
IS lZ iS 14 13 73 ?4 700A00 77 72 75 7¡ 76 60 67 61 66 62 65 64 63 03 04 00
0Al0
07 02 05 Dl 05l0
17li
16 12 15 14l3
73 74 700A20 77 72 75 71 76 60 57 6J 66 62 65 64 53 FO FF Dl
0A30 !0
ii
OF EF FI DF El EE F2l2
ÚE IF 21 OB DA 060A40 06 04 04 04 04 02 02 02 02 02 02 02 02 EE EE 00
0A50 00 00 00 00 00 00 00 00 00 Z6 DL) 00 00 00 00 00
0A60 00 00 910 00 00 Old 00 00 00 00 00 00 00 00 00 00
0A70 00 00 00 00 00 00 00 10 00 kjl &3 37 OB 95 DA CB
0A80 Da 00 00 57 42 4B 51 52 52 42 42 4E 4E 50 50 50 0A90 50 50 50 50 50 EE IF 17 16 16 14 16 IB 16 EE IF
0AA0 IF 16
i4 i6
li
l0
ID IE ID 16 IÁ 14 12 17II II
0Ai30
if
16 17 14 12 IE 15 IB 12 IF 16 14l2
IEli
140AC0 IE 17 LF 16 14 ID IE ID 17 12 JB EE 43 55 52 33
0ájb0 63 54 55 66 EE 53 44 52 63 64 63 72 45 43 42 55
0AE0 56 66 75 52 62 52 44 55 52 31 75 53 36 52 7/j 44
0AF0 55 31 75 43 64 22 3/j 52 44 55 42 52 43 43 52 75
0B00 52 OF 06 04 0€) áE Dl 0/4 DE 07 OF DE 07 05 OF 05
0Bl0
Dl DC 06 06 OF 013 05 04 00 06 06 3C OF 07 06 040B20 30 DE 04 Dl 07 OF 07 06 06 04 06 DB 06 00 OF 07
ÓBj0 04 06 OF 04 05 05 04 33 22 46 Dl 34
jj
55 43 25 0EJ40 33 34 25 ¿jj 43 63 14 32 22 25 2ij 21l!
14 06 4401350 52 35 34 22 25 41 06 23 52 ¡¿j 03 34 22 25 44 14
0B60 23 22
li
06 J4 22 32 25 43 L¿j 44 52 52 4D 4\) 430870 52 4F 43 W3 45 53 53 20 20 20 20 20 20 20 20 20
0i3á0 20 20 20 20 20 20 2QJ 20 ,20 2i3 43 29 20 31 39 37
0b90 37 2li 0D 57 52 4g 54 54 45 4E 20 42 59 3A 20 50
0BA0
ai
20 4A 45 4L 4j¿ 49 4Z 47 53 20 26 2új 54 2E 20 0E380 4F 27 á:Z 52 49 45 4E 2E dij 2ij 2Íj 2L) 2IJ 2b 2D 2D08C0 2íj Zij ¿¿) ZD 2ij 2lj 2D 2i) 2D 2IJ 2U 2b 20 2D 2D 2Í) 019D0 ¿¡j Zij U) ZL) 2lj Zi) 2Ú 2b ¿[) 2ij 2L) 2ij 2D 2D Dl) 57
0C00 20 57 48 49 54 45 20 3F 20 28 59 2C 4E 29 20 0D
OCIO 3Á 20 20 20 20 0D 4D 43 20 3A 20 00 00 2D 00 00 0C20 20 20 0D 49 4b 50 55 54 20 45 52 52 4F 52 2E 0D 0C30 43 48 45 43 4B 4D 41 54 45 20 2D 20 59 4F 55 20 0C40 57 49 4E 21 21 21 DL) 50 4C 41 59 20 41 47 41 49
0C50 4E 20 3F 20 28 59 2C 4E 29 20 0D 54 48 41 4E 4B 0¢60 53 20 46 4F 52 20 54 48 45 20 47
4i
4D 45 2E 2E 0C70 2E 20 4D 49 43 52 4F 43 48 45 53 53 2E 0D 59 4F 0C80 55 20 52 45 53 49 47 46 45 44 20 2D 20 49 20 57 0C90 49 4E 21 2J 21 0D 20 20 43 48 45 4Ü 4B 4D 41 54 0CA0 45 20 2D 20 49 20 57 49 4E 212l 2l 2l
0D 20 43 0CB0 48 45 43 4B 21 0Í) 2B 2D 2L) 2D 2D 2D 2D 20 4D 490CG0 43 52 4F 43 48 45 53 53 20 2D 2D 2D 2D 2D 2D 2D 0Cb0 2B DL) 21 20 20 20 20 20 20 20 20 20 20 20 20 20
0CE0 20 20 20 20 20 20 20 20 20 20 20 20 2J 0D 2B 2D 0CF0 2D 2D 2D 2D 2D 20 43 48 41 4C 4C 45 4E 47 45 52
0D00 20 21) 2D 2D 2D 2D 2D 2D 2B 0D 00 00 00 00 00 00
ODIO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0ij60
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000D70 00 00 15 D7 IF DO CF 09 00 20 07 80 DA 0D 28 03
0D80 SI) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DB0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DD0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ODED 00 00 00 00 00 00 DB 00 E6 80 CA E6 0D 78 D3 DJ
0DF0 G9 DB 00 E6 40 CA
FI
0D DB 01 E6 7F 47 C9 00 000E00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0El0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000E20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0£30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0£40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0