annotate 3rdparty/utils/view/view_pix.a @ 1868:cba8a54bc509

Slowly but surely
author boisy
date Fri, 29 Jul 2005 19:40:14 +0000
parents b7fb6a9aead4
children 37fd74e6fad8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1706
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
1 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
2 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
3 * SUBS for pix picture format
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
4 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
5 * PIXshowpic -- Displays picture, using putline routine
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
6 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
7 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
8
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
9 check macro
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
10 pshs b,cc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
11 ldb #\1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
12 os9 F$PErr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
13 puls b,cc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
14 endm
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
15
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
16 ifp1
1777
b7fb6a9aead4 Removed /dd/defs so that rma could assemble
boisy
parents: 1706
diff changeset
17 use os9defs.a
1706
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
18 endc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
19
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
20 psect view_pix_a,0,0,0,0,0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
21
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
22 vsect dp
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
23 pixfirstcol: rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
24 pictwidth rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
25 linesize rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
26 linecount rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
27 updown rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
28 pixsize rmb 2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
29 endsect
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
30
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
31 PIXshowpic:
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
32 bsr header Get header info
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
33 lbsr setscreen Set up screen
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
34 lbsr setpals Set up palettes
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
35 lbsr setvert Set up Get/Put Buffer
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
36 std linesize Store size of line in bytes.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
37
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
38 lbsr getline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
39 ldd #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
40 std updown
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
41 showpicloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
42 std linecount
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
43
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
44 ldd updown If necessary, get a new line
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
45 cmpd pictwidth
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
46 blo spl1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
47 lbsr getline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
48 subd pictwidth Subtract 640.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
49 std updown
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
50 spl1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
51
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
52 * Now, dither it and put it on the screen
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
53 leax altbuff,y Read from altbuff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
54 leau linebuff,y ... into linebuff.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
55 ldd linesize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
56 lbsr pixditherline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
57
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
58 ldd updown Add 256 to count.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
59 addd pixsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
60 std updown
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
61
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
62 ldd linecount
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
63 addd #1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
64 cmpd pictwidth
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
65 bne showpicloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
66
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
67 lbsr endvert Trash Get/Put buffer.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
68
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
69 rts
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
70
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
71 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
72 * read header info from file, and set window type information
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
73 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
74 vsect dp
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
75 endoffile fcb 0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
76 double fcb 0 T=128x128, so we need to double things
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
77 count rmb 1 Counts down lines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
78 endsect
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
79
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
80
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
81 header
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
82 pshs a,b,x,y,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
83 lda <format
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
84 cmpa #PIX256Format Is this definitely 256x256?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
85 beq headbig
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
86 cmpa #PIX128Format Is it definitely 128x128?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
87 beq headsmall
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
88 lbsr I_Size If neither of those was specified, let's try to use file size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
89 lbcs _error to determine the format.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
90 cmpd #10000 If it's over 10000 bytes, we'll take it as 256x256
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
91 bhi headbig Yes, treat it as a 256x256.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
92 com double Otherwise, treat it as a 128x128 picture.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
93 headsmall
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
94 ldd #128
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
95 std pixsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
96 bra headend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
97 headbig
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
98 ldd #256
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
99 std pixsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
100 headend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
101 * Set screen type
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
102 lda #7
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
103 sta <type
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
104 * Set some miscellaneous variables
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
105 lda #0
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
106 sta <cyclestart
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
107 sta <cycleend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
108 * Set palettes
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
109 leax ourpals,pcr
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
110 leau palette,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
111 ldd ,x++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
112 std ,u++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
113 ldd ,x++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
114 std ,u++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
115 * Set Skiplines default
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
116 ldd <Skiplines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
117 cmpd #$ffff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
118 bne head27
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
119 ldd #20
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
120 std <Skiplines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
121 head27
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
122 cmpd #64 Is it too big?
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
123 blo head28
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
124 ldd #64
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
125 std <Skiplines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
126 head28
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
127 * Set Size default to BIG
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
128 lda <Size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
129 bpl headsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
130 lda #1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
131 sta <Size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
132 headsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
133 * Set picture width
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
134 ldd #600 Default picture width
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
135 tst <Size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
136 bne head30
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
137 ldd #450 width for fitted picture
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
138 head30
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
139 std pictwidth
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
140 * Set the first column to (640-pictwidth)/2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
141 ldd #640
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
142 subd pictwidth
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
143 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
144 rorb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
145 andb #$fc Force it to a multiple of 4 for put speed
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
146 std pixfirstcol
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
147
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
148 puls a,b,x,y,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
149
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
150 ourpals fcb 0,7,56,63
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
151
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
152 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
153 * Getline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
154 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
155 getline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
156 pshs a,b,x,y,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
157 * First, fill buffers with all zeros
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
158 leau alt2buff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
159 leax altbuff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
160 ldb #200
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
161 getline3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
162 clr ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
163 clr ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
164 decb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
165 bne getline3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
166 * If at end of file, leave it that way
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
167 tst endoffile
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
168 bne getline1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
169 * Get a line into alt2buff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
170 leax alt2buff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
171 pshs y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
172 ldd pixsize
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
173 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
174 rorb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
175 tfr d,y Number of bytes is 1/2 picture size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
176 lbsr I_Read
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
177 puls y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
178 lbcc getline2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
179 cmpb #E$EOF
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
180 bne getline4
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
181 com endoffile
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
182 getline2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
183 * Now, expand it into altbuff
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
184 leax alt2buff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
185 leau altbuff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
186 ldd #128 Get number of bytes in altbuff to expand into D.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
187 tst double If we're doubling, only expand half as many bytes.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
188 beq getline21
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
189 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
190 rorb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
191 getline21
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
192 bsr expandline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
193 bsr scrunchline Scrunch it down to 192 pixels.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
194 bra getline1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
195 * Error exit point
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
196 getline4
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
197 lbra _error If not EOF, just exit with error.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
198 getline1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
199 puls a,b,x,y,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
200
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
201 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
202 * Expand line by nybbles.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
203 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
204 * Take buffer [X], copy each nybble to a separate byte in [U].
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
205 * Number of bytes in [X] is in D.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
206 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
207 expandline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
208 pshs a,b,x,y,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
209 tfr d,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
210 expand1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
211 lda ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
212 tfr a,b
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
213 andb #$0f
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
214 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
215 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
216 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
217 lsra
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
218 tst <double
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
219 beq expand2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
220 sta ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
221 sta ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
222 stb ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
223 stb ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
224 bra expand3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
225 expand2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
226 std ,u++
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
227 expand3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
228 leay -1,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
229 bne expand1
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
230 puls a,b,x,y,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
231
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
232 *
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
233 * Take data in altbuff, and either remove bytes to "fit" it down to
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
234 * 192 bytes, or remove "Skiplines" number from beginning.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
235 scrunchline
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
236 pshs a,b,x,y,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
237 leax altbuff,y
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
238 tfr x,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
239 tst <Size
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
240 bne scrbegin
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
241 * Fit the data into 192 bytes
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
242 ldb #192
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
243 scrloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
244 lda ,u+ Take 4 bytes, and copy 3 of them.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
245 sta ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
246 lda ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
247 sta ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
248 lda ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
249 sta ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
250 lda ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
251 subb #3
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
252 bne scrloop
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
253 bra scrend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
254 * Remove bytes from beginning.
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
255 scrbegin
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
256 ldd <Skiplines
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
257 leau d,u
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
258 ldb #192
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
259 scrloop2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
260 lda ,u+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
261 sta ,x+
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
262 decb
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
263 bne scrloop2
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
264 scrend
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
265 puls a,b,x,y,u,pc
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
266
6b23465701c0 Tim Kientzle's VIEW
boisy
parents:
diff changeset
267 endsect