------------...software lEOO- A2 lE08- 86 lEl0- 81 lE18- 3D lE20- ED lE28- 02 lE30- lF lE38- 2C lE40- CO lE48- A9 lE50- AE lE58-. 02 lE60- A9 lE68- AE lE70- AD lE78- 4C lE80- lE
00 3D 3C E6 A9 A9 A9 52 2C 40 lE 30 20 lE 00 81 20
86 3ç A2 40 91 40 41 A5 00 85 00 85 7F 85 CÙ 2C 54 CO .85 E6 E6 lF 20 AD 85 E6 E6 lF CO 10 lE 20 90 lE
86 86 88 41 01 lE E4 50 C6 20 2C 00 20 A2 CC 81 20
40 41 DO C9 A5 A9 20 CO 02 9E 55 CO 9E 01 2C lE 9E
A2 20 AO 00 F9 E6 60 DO 00 85 60 '85 ED lE 2C 57 30 33 lE 20 CO C6 30 15 lE 20 86 01 10'CO 4C 21 lE E6
Rouline in linguaggio macchina per l'animazione AN1M AZ2.0BJ.A$1 EOO.UIOB.
2300 2310 2320 2330 2340 2350 2360 2370 2500 9990 10000 10010 10020 10030 10040 10050 10060 10070 10080 10090 10100 10110 10120 10130 10140 10150 10160 10170 10180 10190 10200 10210 10220 10230 10240 11000 15000 15070 15100 20000 25000
25010 25020 25030 25040 25050 25060 25070 25080
dellejunzioni.
lE88- lF lE90- A5 lE98- 2C lEAO- FO lEA8- lE lEBO- 86 lE88- BO lECO- C8 lEC8- 04 lEDO- 06 lED8- lA lEEO- E6 lEE8- E6 lEFO- 08 lEF8- DO 1FOO':"29 lF08- 91
20 E6 A9 08 E6 lD 2E Bl A5 A6 AO lA 10 20 F5 7F 26
90 C9 40 C6 lF A4 85 lE lA lA 00 A5 DO A8 60 85 60
lE 20 85 lF E6 lD lA 85
e,s..
86 A6 lA C6 FC 20 30 00
20 FO E6 C6 lF Bl CO 18 lB 18 10 C5 60 AD 11 81 00
9E 03 60 lF 60 lE FF C9 C5 85 20 18 AO 30 F4 26 00
lE A9 A5 20 A2 C9 FO CO lA lA F8 90 FF CO A5 45 00
60 20 01 AE 00 CO 03 90 80 A5 lE EF A9
se 30 30 00
Si deve caricare dal M onilor e salvare con nome di
TEXT : PRINT "VUOI RIVEDERE L'ANIMAZIONE? ": GET A$: IF A$ = "V" THEN 2290 PRINT "VUOI "REGISTRARE I DATI DEL GRAFICO (SIN)": GET A$: IF A $ < > "5" THEN END INPUT "CON QUALE NOME :";A$ POKE AD - 1,PM: POKE AD - 2,MAX: POKE AD - 3,MAX IF XC > =0 AND XC < NX THEN POKE AD - 2,XC IF VC > = O AND VC < NV THEN POI<E AD - 3,VC IF F = 1 THEN PRINT CHR$ (4);"BSAVE";A$;",A$5FFD,L"; STR$ (2 56 * PM + 5) IF F = O THEN A$ = "O.lW N D7D2G": GOSUB 15000: POKE 72,0: CALL - 144:A$ = "5FFD." + AD$ + "OOW N D7D2G": GOSUB 15000: POKE 72,0: CALL - 144 END REM **** DISEGNO ASSI **** XC = - Xl I OX:VC = NV + VI I OV IF XC < O OR XC > NX THEN 10110 HPLOT XC,O TO XC,NV 01 = 0:Q2 = O IF (V2 - VI) I 02 > NV THEN 10110 IF XC < O THEN Ql = XC: GOTO 10070 IF XC > NX - Q THEN Q2 = NX - XC FOR I INT (VI I D2) + 1 TO INT (V2 I 02) V = NV - (I * D2 - VI) / OV HPLOT XC - ol,V TO XC + Q2,V NEXT IF VC < O OR VC > NV THEN 10240 HCOLOR= 2 HPLOT O,VC TO NX,VC HCOLOR= 3 . Ql = 0:Q2 = Q IF (X2 - Xl) I· DI > NX THEN 10240 IF VC < Q THEN 01 = VC: GOTO 10190 IF VC > NV - O THEN Q2 NV - VC FOR I INT (Xl I Dl) + 1 TO INT (X2 I 01) X = I * DI X = (X - X1) I OX HPLOT X,VC - Ql TO X,VC + Q2 NEXT HCOLOR= 3 RETURN FOR I = 1 TO LEN (A$): POKE 511 + I, ASC ( MIO$ (A$,I,l» + 1 28: NEXT PRINT A$ RETURN C = 96 + PM:AO$ = MID$ (Z$,l + INT (C I 16),1) + MIO$ (Z$,C + 1 - 16 * INT (C I 16),1): RETURN HOME: PRINT "VUOI VEDERE UN GRAFICO GIA'REGISTRATO": GET A$: IF A$ < > "5" THEN 80 INPUT "CON QUALE NOME :";A$ REM **** CARICAMENTO DATI **** IF F = 1 THEN PRINT CHR$ (4);"BLOAO";A$ IF F = O THEN A$ = "O.lR N 07D2G": GOSUB 15000: POKE 72,0: CALL - 144:PM = PEEK (AD - 1):: GOSUB 20000:A$ = "5FFO." + AD$ + "OOR N 0702G": GOSUB 15000: POI<E 72,0: CALL - 144 PM = PEEK (AD - 1): HGR POKE O,PM:XC = PEEK (AD - 2):VC = PEEK (AD - 3): IF XC < > MAX THEN HPLOT XC,O TO XC,NV IF VC < > MAX THEN HPLOT O,VC TO NX,VC VTAB 23: GET A$: GOTO 2290
, ;.** ••••••••• ,**••••••• • ;';'
IEoo lEOO lEOO lEOO lEOO lEOO lEoo IEoo lEoo lEOO lEoo lEOO lEOO lEOO lEOO lEOO lEoo IEoo lEoo IEoo lEoo lEOO lEoo lEOO lEOO lEOO lEoo IEoo lEoo lEOO lEoo
l
;. • ....................... 5
o
7 B
lO 11 l' 13 l' 15 IO 17 lB 1. 'O 'I
zz
,.
Z3 '5 '0 '7 'B
,.
lEOO
A200
Bb3C 8640 A220 8b30
lEOA
A240
lEOC
8b41
lEDE tEOE
AOOO
lEI0
813C
lE12
9140
lE14
88
lE17
DOF9 Eb30
lE19
Eb41
lE18
A':541
lE10
C9bO
IEIF
DOEO
tE21 lE21
ANIMAI
;'
;.
A'oo
lE23
8501
IE2':5
A':500
lE27
8502
lE29
A900
lE28
8':51E
lE20
A9bO
lE2F
851F
IE31
A97F
lE33
85E4
lE35
20EDIE
tE38 IE38
2C:52CO
tE38
2CSOCO
lE3E
2C57CO
lE41 IE41
2C54CO
lE44
Cb02
IE46
3033
lE48
A940
IE4A
85Eb
lE4C
209EIE
lE4F
20AEIE
tE:52
E61F
lE:54
30 31 3' 33 3. 35 30 37 3B 39 '0 .1
.,
..
••
50 51 5' 53 5' 55 50 57 5B
00 01 O, 03 O, 05 00 07 OB O, 70 71 7Z 73 74 75
lE:57
Cb02
lE59
3020
tE'58
ADOOCO
77 7B 7' BO BI
IE:5E
301':5 A920
; AL AH COLOR PAG A2L A'H A'L A'H
EPI $40 EPI $41
MASK
EPZ
VI V, Xl
EPI
SIA
EPZ
$18
EPZ
$10
BASL
EPl
"O
FL N Nl
EPZ
$01
EPl EPI
>00 $02
8':5E6 209EIE
lE67
20AEIE
lEbA
E'61F
B3 8' B5
lE6e
A201
eo
lEbE
8601
lE70
ADOOCO
lE73
IOCC
lE75
2Cl0CO
lE78
; LI L'
S.T~'iT
E61F
lEBF
60
••
lE9B
85E6
111
60
A920
lE9E tE9E
A:501
lEAO
FOOB
lEA2
C61F
lEA4
CblF
lEAb
20AEIE
lEA9
E61F
lEAB
EblF
lEAO
bO
lEAE tEAE tEAE
"' 113
lE9E
A4H A4H
CI1P
".bO
BNE
LI
LDA
.0
STA
FL
LOA
N
STA
NZ
LDA
.0
STA
AL
LDA
••
STA
AH
LOA
••
bO 7F
STA
COLOR
JSR
NOTA
81T
SCOS2 SCOSO 'C057 II1AZ IONE
BIT
SC054
DEC
NZ .'40
STA
PAG
JSR
CLEAR
JSR
GRAPH
INC
AH
BlT
SCOS'5
DEC
NZ
BHl ENO LDA
.COOO
BHI STOP LDA STA
"'20 PAG
JSR
CLEAR
JSR
GRAPH
lNC
AH
LOX
.1
STX
FL
LDA
'COOO
8PL
PI2
8IT
'COI0
JI1P
NEW
JSR
NEW
JMP i sc.
START lo
5chermo
NEW
JSR
f inQ
EXPAG
JSR
CLEAR
INC
~XPAG
HI'
AH
LOA
F'AG
CMP
••• 20
BEQ
1'112
LOA
••.• 20
BVT
'2C
LOA
".40
STA
PAG
RTS ; ---CanCllil.
li'
;
115 110 117 lIB
CLEAR
".
l'O "l l" 1'3 l" "5
.11.
;
103
lE90
IE96
.Y
A2H
INC LDA
CLEAR
110
F003
(A4U
RTS
2C
lE94
L2
EXPAG
A940
C920
BNE
JSR
lE98
A5Eb
lE92
(A2U.V
JSR
IE99
lE90
••O
100 101 lO'
IO' 105 100 107 10B IO'
lE90
LDY
LOA STA OEV
P'l
; -Pul
209EIE
40
BHl ENO
'5 .0 '7 'B
209EIE
A4H
LDA
4C211E
20901E
STX
; ---------------AN
Pl'
lE?E
IE87
A2H ••
BIT
ENO
lE8C
A4L
STX LDX
8IT
.,
tE89
A2L
;
.3
2090lE
$30
;
20811E
lE81
"O S3C
INC
4C811E
..
$30
STX
lE78
lE81
EPZ
STX
STOP
lE81
tlE >1F
LOX ••• 20
B7 BB B' '0 .1
lE78
•••
; --------------COPIA HGRl--)HGR2 ; LDX .0
e,
lE62 lE64
EPl EPl EPl EPl EPl
;
~.
7b
lE60
;
'5 '0 '7 4B
2C5':5CO
lE84
La.port.
;
.3
lE54
lE81
IONI
bv Stef.no
;
lE02 1E04 lE06 lE08
. lEl':5
ORG $IEOO OBJ $5000
3
RT7 ; ;---
un LDA
FL
BEQ
Rl?
OEC
AH
DEC
AH
J5R
GRAPH
INC
AH
INC
AH
di
lIiegno
RTS Oilll;Qgn.
una
funzione
(continua a pagina 136)
MCmicrocomputer
n. 42 - giugno
1985
135