source: thomson/code/3rdparty/sources2-hcl/SCROVER.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 3.5 KB
Line 
1****************************************
2* OVERSCROLLER *
3****************************************
4
5
6FONTS EQU $8800 dessin des lettres
7TEXTE EQU $8000 délire méga-Lô...
8ZZ EQU $9F00 variables
9COMPTS EQU $9F02 compteurs (visu)
10HAUT EQU 256 taille totale (Y)
11BLKHIG EQU 16 hauteur d'un bloc
12TAILLE SET HAUT/BLKHIG
13
14 ORG TEXTE
15 FCB 8,5,12,12,15,0,23,15,18,12
16 FCB 4,0,0,-1
17
18 ORG $9000
19G ORCC #80
20 PSHS DP
21 LDA #$E7
22 TFR A,DP
23 LDD #$3E4 page 3 en rouge
24 STA <$E5
25 LDX #$A000
26 STB ,X+
27 CMPX #$BF40
28 BNE *-5
29
30* constitution de la routine d'affichage
31
32 LDU #COMPTS
33 LDY #VISU+3
34 LDX #TAILLE
35MKPRG LDD #$97DD
36 STD ,Y++
37 STD ,Y++
38 STD ,Y++
39 STD ,Y++
40 STD ,Y++
41 STD ,Y++
42 STD ,Y++
43 STD ,Y++
44 STD ,Y++
45 STD ,Y++
46 STD ,Y++
47 STD ,Y++
48 STD ,Y++
49 LDD #$127A
50 STD ,Y++
51 STU ,Y++
52 LDD #$26E0
53 STD ,Y++
54 LDA #BLKHIG
55 STA ,U+
56 LEAX -1,X
57 BNE MKPRG
58 LDD #$0FDD
59 STD ,Y++
60 LDA #$39
61 STA ,Y+
62
63 LDD #$40A
64 STD ZZ
65 LDU #FONTS caractère courant
66 LDY #TEXTE où dans le scroll
67 JSR SYNCRO
68GOON JSR VISU
69 LDD #TAILLE*256+BLKHIG
70 LDX #COMPTS
71 STB ,X+
72 DECA
73 BNE *-3
74
75 DEC ZZ
76 BEQ NEXLIG
77 LDX #$1A4 même écran, décalé
78 LEAX -1,X
79 BNE *-2
80 ABX
81 BRA GOON
82
83NEXLIG LDA #4
84 STA ZZ
85
86 LDB #TAILLE
87 LDX #VISU+15
88SCROL LDA -10,X
89 STA -12,X
90 LDA -8,X
91 STA -10,X
92 LDA -6,X
93 STA -8,X
94 LDA -4,X
95 STA -6,X
96 LDA -2,X
97 STA -4,X
98 LDA ,X
99 STA -2,X
100 LDA 2,X
101 STA ,X
102 LDA 4,X
103 STA 2,X
104 LDA 6,X
105 STA 4,X
106 LDA 8,X
107 STA 6,X
108 LDA 10,X
109 STA 8,X
110 LDA 12,X
111 STA 10,X
112BITST LDA #128
113 BITA ,U+ forme du caractère
114 BNE *+6
115 LDA #$97 bloc vide
116 BRA *+6
117 LDA #$D7 bloc plein
118 BRA *+2
119 STA 12,X
120 LEAX 32,X
121 DECB
122 BNE SCROL
123 LEAU -TAILLE,U
124 LSR BITST+1
125 DEC ZZ+1 encore x bits
126 BEQ NEXLET
127 LDX #6
128 LEAX -1,X
129 BNE *-2
130 NOP
131 BRA JOIN
132
133NEXLET LDD #$A80
134 STA ZZ+1
135 STB BITST+1
136 LDA ,Y+ caractère suivant
137 BLT FINTXT
138 TST A,X
139 BRA *+8
140FINTXT LDY #TEXTE
141 LDA ,Y+
142 LDB #TAILLE
143 MUL
144 LDU #FONTS
145 LEAU D,U
146
147JOIN LDX #$6E
148 LEAX -1,X
149 BNE *-2
150 NOP
151 NOP
152 TST <$C8
153 LBEQ GOON
154
155 PULS DP
156 SWI
157
158SYNCRO LDA #32
159 BITA <$E7
160 BEQ *-2
161 BITA <$E7
162 BNE *-2
163 PSHS A
164 MUL
165 MUL
166 MUL
167 MUL
168 PULS A
169 BITA <$E7
170 BEQ *-10
171 MUL
172 MUL
173 MUL
174 MUL
175 MUL
176 TST <$E7
177 BPL *-7
178 MUL
179 MUL
180 MUL
181 MUL
182 MUL
183 TST <$E7
184 BMI *-7
185 LDX #$2B7
186 LEAX -1,X
187 BNE *-2
188 NOP
189 RTS
190
191VISU LDD #$00C4
192
193 END
Note: See TracBrowser for help on using the repository browser.