Download Print this page

Atari CX70 Operator's Manual page 60

Light pen

Advertisement

ATARI Light Pen Operator's Manual
0636 4C0706 1510
1520
i
JHP
LOAD
do another load
1530
JXpY buffering done
- Move Medians (center values)
1540
;to locations "XCOORD" and "YCOORD"
1550
t
0639 A5CD
1560 FINISH LDA
FRAMES
load size of table
063B 4A
1565
LSR
A
halve size of table (find center)
063C AS
1570
TAY
load Median offset
063D BICB
1580
LDA
(TBLPTR)
pY load Median
063F 85CF
1590
STA
YCOORD
06^1 A975
1600
LDA
♦TABLES- $600
0643 85CB
1610
STA
TBLPTR
0645 BICB
1620
LDA
(TBLPTR)
pY load X Median
0647 85CE
1630
1640
«
f
STA
XCOORD
1650
>convert X»
Y
coords to Mode
0
coords
1660
p
0649 A5CE
1670
LDA
XCOORD
load X Median
064B 4A
1680
LSR
A
divide by 2
064C 4A
1690
LSR
A
divide by 2
064D 85D0
1700
STA
COL
store coluMn
064F A5CF
1710
LDA
YCOORD
load Y Median
0651
4A
1720
LSR
A
divide by 2
0652
4A
1730
LSR
A
divide by 2
0653 85D1
1740
STA
ROW
store at
row
0655 60
1750
1760
t
RTS
back to basic
1770
pperforn insert sort
of acc
into table at address
1780
^specified
in TBLPTR
1790
0656 86CE
1800
SORT
STX
XCOORD
transfer x reg to y reg using XCOORD
0658 A4CE
1810
LDY
XCOORD
teMporary storage
065A COOO
1820
INSLOOP CPY #0
hit bottoM?
065C F014
1830
BEQ
INSERT
if sop
insert
065E 88
1840
DEY
Move pointer down
065F
DICB
1850
CMP
(TBLPTR)
pY coMpare to next entry on table
0661
C8
1860
INY
restore pointer
0662 BOOE
1870
BCS
INSERT
if A>«Mp
new entry's slot found
0664 88
1880
DEY
Move index to next entry
1890
phove Y table entry
to Y+1
0665 85CE
1900
STA
XCOORD
teMporarily save acc
0667 BICB
1910
LDA
(TBLPTR)
pY
0669 C8
1920
INY
Move pointer forward
066A 91CB
1930
STA
(TBLPTR)
pY
066C 88
1940
DEY
restore pointer
066D
A5CE
1950
LDA
XCOORD
restore
acc
066F 38
1960
SEC
0670
B0E8
1970
BCS
INSLOOP
loop again
1980
pnew
value'
s
proper
place found - drop
it in
0672
91CB
1990
INSERT
STA
(TBLPTR)
pY
0674
60
2000
RTS
froM
sort
0675
2010
TABLES «
xc
0675
2020
.END
PENBUF Assembly Language Listing - 56

Advertisement

loading