Rev 1917 | Details | Compare with Previous | Last modification | View Log
Rev | Author | Line No. | Line |
---|---|---|---|
213 | alone | 1 | align 256 |
2 | distbuf;=#BA00 ;#300 ;ID,texx,dist |
||
3 | ds 0x300 |
||
4 | |||
5 | IF atm |
||
6 | MACRO setpgfast pg |
||
7 | LD A,pg |
||
8 | setpgafast |
||
9 | ENDM |
||
10 | MACRO setpgafast |
||
435 | alone | 11 | ;LD (curpg),A |
213 | alone | 12 | ;LD BC,#FFF7 |
13 | ;OUT (C),A |
||
1620 | alone | 14 | SETPGC000 |
213 | alone | 15 | ENDM |
16 | ELSE ;~atm |
||
17 | MACRO setpg pg |
||
18 | LD A,pg |
||
19 | setpgA |
||
20 | ENDM |
||
21 | MACRO setpgA |
||
22 | CALL SETPGA |
||
23 | ENDM |
||
24 | MACRO setpgfast pg |
||
25 | LD A,pg |
||
26 | setpgafast |
||
27 | ENDM |
||
28 | MACRO setpgafast |
||
29 | LD (curpg),A |
||
30 | LD BC,#7FFD |
||
31 | OUT (C),A |
||
32 | ENDM |
||
33 | ENDIF ;~atm |
||
34 | |||
35 | |||
36 | |||
37 | wascorrlogd |
||
38 | INCBIN "corlogd_" |
||
39 | ORG $-256 |
||
40 | DUP 256 |
||
41 | DB {$+(scrtopx*8)}&0xff |
||
42 | EDUP |
||
43 | IF lores |
||
44 | ORG $-256 |
||
45 | _=$ |
||
46 | DUP 128 |
||
47 | DB {_}&0xff |
||
48 | _=_+2 |
||
49 | EDUP |
||
50 | DS 128 |
||
51 | ENDIF |
||
52 | wasda |
||
53 | INCBIN "da" |
||
54 | ORG $-256 |
||
55 | DUP 256 |
||
56 | DB 0xff&({$}+128) |
||
57 | EDUP |
||
58 | ORG $-256 |
||
59 | DUP 256 |
||
60 | DB 0xff&({$+(scrtopx*8)}) |
||
61 | EDUP |
||
62 | IF lores |
||
63 | ORG $-256 |
||
64 | _=$ |
||
65 | DUP 128 |
||
66 | DB {_}&0xff |
||
67 | _=_+2 |
||
68 | EDUP |
||
69 | DS 128 |
||
70 | ENDIF |
||
71 | |||
72 | TEXCODEGO |
||
435 | alone | 73 | IF atm == 0 |
213 | alone | 74 | LD HL,0;-2 |
75 | ADD HL,SP |
||
76 | LD (clscrbufsp),HL |
||
77 | LD (eorfillsp),HL |
||
78 | endif |
||
79 | |||
80 | IF atm |
||
81 | call setpgmap4000 |
||
82 | ENDIF |
||
1916 | alone | 83 | LD BC,#FBDF |
84 | IN A,(C) |
||
85 | LD (mouseoldx),A |
||
213 | alone | 86 | CALL RECMAP |
2222 | alone | 87 | if 0 |
213 | alone | 88 | LD HL,tcos |
89 | REtcos0 |
||
90 | DUP 2;4 |
||
91 | SRA (HL) |
||
92 | EDUP |
||
93 | INC L |
||
94 | jr NZ,REtcos0 |
||
2222 | alone | 95 | endif |
1916 | alone | 96 | INCLUDE "zxloop.asm" |
213 | alone | 97 | INCLUDE "WSCAN10.asm" |
98 | INCLUDE "WREND.asm" |
||
99 | INCLUDE "WCTRL.asm" |
||
100 | |||
101 | ;६ ७ ( 砫 ७) |
||
102 | curXx |
||
103 | curx DB #80 |
||
104 | curX DB #0 |
||
105 | curYy |
||
106 | cury DB #80 |
||
107 | curY DB #0 |
||
108 | curxy DW 0 |
||
109 | curyx DW 0 |
||
110 | curYX DW 0 |
||
111 | curangle |
||
112 | DW tsin |
||
113 | demobegin |
||
114 | IF demoplay |
||
115 | INCBIN "demorec9" |
||
116 | ELSE |
||
117 | DB %00111111 ;all keys released |
||
118 | ENDIF |
||
119 | |||
289 | dimkam | 120 | ;DISPLAY "PROG END=",$ |
213 | alone | 121 | |
122 | align 256 ;DS .(-$) |
||
123 | tables |
||
124 | wastables |
||
125 | shift=tables-$ |
||
126 | tlogd2sca=$+shift |
||
127 | IF scale64 |
||
128 | IF scale64 == 3 |
||
129 | INCBIN "logd2sc3" |
||
130 | ELSE |
||
131 | INCBIN "logd2sc2" |
||
132 | ENDIF |
||
133 | ELSE |
||
134 | INCBIN "logd2sc_" |
||
135 | ENDIF |
||
136 | tsqr2=$+shift |
||
137 | INCBIN "sqr2int" |
||
138 | tlogd=$+shift |
||
139 | INCBIN "logd" |
||
140 | tcorrlogd=$+shift |
||
141 | DUP 256 |
||
142 | DB {wascorrlogd+$-tcorrlogd}&0xff |
||
143 | EDUP |
||
144 | tcos=$+shift |
||
145 | INCBIN "cos" |
||
146 | tlogcos=$+shift |
||
147 | INCBIN "pluslcos" |
||
148 | tda=$+shift |
||
149 | DUP 256 |
||
150 | DB {wasda+$-tda}&0xff |
||
151 | EDUP |
||
152 | tctg=$+shift |
||
153 | INCBIN "plusctg" |
||
154 | tsin=$+shift |
||
155 | INCBIN "sin" |
||
2222 | alone | 156 | if 1 |
157 | ; z=0:255; sprintf('%d,',fix(atan(2.^(z/32))*128/pi)) |
||
158 | |||
159 | ;;;;;;;; atan(2^(x/32))*128/pi ;;;;;;;; |
||
160 | atan_tab=$+shift |
||
161 | db 020h,020h,020h,021h,021h,022h,022h,023h,023h,023h,024h,024h,025h,025h,026h,026h |
||
162 | db 026h,027h,027h,028h,028h,028h,029h,029h,02Ah,02Ah,02Ah,02Bh,02Bh,02Ch,02Ch,02Ch |
||
163 | db 02Dh,02Dh,02Dh,02Eh,02Eh,02Eh,02Fh,02Fh,02Fh,030h,030h,030h,031h,031h,031h,031h |
||
164 | db 032h,032h,032h,032h,033h,033h,033h,033h,034h,034h,034h,034h,035h,035h,035h,035h |
||
165 | db 036h,036h,036h,036h,036h,037h,037h,037h,037h,037h,037h,038h,038h,038h,038h,038h |
||
166 | db 038h,039h,039h,039h,039h,039h,039h,039h,039h,03Ah,03Ah,03Ah,03Ah,03Ah,03Ah,03Ah |
||
167 | db 03Ah,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Bh,03Ch,03Ch,03Ch,03Ch |
||
168 | db 03Ch,03Ch,03Ch,03Ch,03Ch,03Ch,03Ch,03Ch,03Ch,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh |
||
169 | db 03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Dh,03Eh,03Eh,03Eh,03Eh |
||
170 | db 03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh |
||
171 | db 03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Eh,03Fh,03Fh,03Fh,03Fh |
||
172 | db 03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh |
||
173 | db 03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh |
||
174 | db 03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh |
||
175 | db 03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh |
||
176 | db 03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh,03Fh |
||
177 | |||
178 | ; x=0:255;x(1)=1; sprintf('%d,',fix(32*log2(x))) |
||
179 | |||
180 | ;;;;;;;; log2(x)*32 ;;;;;;;; |
||
181 | log2_tab=$+shift |
||
182 | db 000h,000h,020h,032h,040h,04Ah,052h,059h,060h,065h,06Ah,06Eh,072h,076h,079h,07Dh |
||
183 | db 080h,082h,085h,087h,08Ah,08Ch,08Eh,090h,092h,094h,096h,098h,099h,09Bh,09Dh,09Eh |
||
184 | db 0A0h,0A1h,0A2h,0A4h,0A5h,0A6h,0A7h,0A9h,0AAh,0ABh,0ACh,0ADh,0AEh,0AFh,0B0h,0B1h |
||
185 | db 0B2h,0B3h,0B4h,0B5h,0B6h,0B7h,0B8h,0B9h,0B9h,0BAh,0BBh,0BCh,0BDh,0BDh,0BEh,0BFh |
||
186 | db 0C0h,0C0h,0C1h,0C2h,0C2h,0C3h,0C4h,0C4h,0C5h,0C6h,0C6h,0C7h,0C7h,0C8h,0C9h,0C9h |
||
187 | db 0CAh,0CAh,0CBh,0CCh,0CCh,0CDh,0CDh,0CEh,0CEh,0CFh,0CFh,0D0h,0D0h,0D1h,0D1h,0D2h |
||
188 | db 0D2h,0D3h,0D3h,0D4h,0D4h,0D5h,0D5h,0D5h,0D6h,0D6h,0D7h,0D7h,0D8h,0D8h,0D9h,0D9h |
||
189 | db 0D9h,0DAh,0DAh,0DBh,0DBh,0DBh,0DCh,0DCh,0DDh,0DDh,0DDh,0DEh,0DEh,0DEh,0DFh,0DFh |
||
190 | db 0DFh,0E0h,0E0h,0E1h,0E1h,0E1h,0E2h,0E2h,0E2h,0E3h,0E3h,0E3h,0E4h,0E4h,0E4h,0E5h |
||
191 | db 0E5h,0E5h,0E6h,0E6h,0E6h,0E7h,0E7h,0E7h,0E7h,0E8h,0E8h,0E8h,0E9h,0E9h,0E9h,0EAh |
||
192 | db 0EAh,0EAh,0EAh,0EBh,0EBh,0EBh,0ECh,0ECh,0ECh,0ECh,0EDh,0EDh,0EDh,0EDh,0EEh,0EEh |
||
193 | db 0EEh,0EEh,0EFh,0EFh,0EFh,0EFh,0F0h,0F0h,0F0h,0F1h,0F1h,0F1h,0F1h,0F1h,0F2h,0F2h |
||
194 | db 0F2h,0F2h,0F3h,0F3h,0F3h,0F3h,0F4h,0F4h,0F4h,0F4h,0F5h,0F5h,0F5h,0F5h,0F5h,0F6h |
||
195 | db 0F6h,0F6h,0F6h,0F7h,0F7h,0F7h,0F7h,0F7h,0F8h,0F8h,0F8h,0F8h,0F9h,0F9h,0F9h,0F9h |
||
196 | db 0F9h,0FAh,0FAh,0FAh,0FAh,0FAh,0FBh,0FBh,0FBh,0FBh,0FBh,0FCh,0FCh,0FCh,0FCh,0FCh |
||
197 | db 0FDh,0FDh,0FDh,0FDh,0FDh,0FDh,0FEh,0FEh,0FEh,0FEh,0FEh,0FFh,0FFh,0FFh,0FFh,0FFh |
||
198 | endif |
||
213 | alone | 199 | tscaljps=$+shift |
200 | ds 256;INCBIN "scaljps" |
||
201 | tID=$+shift |
||
202 | MACRO WALL pgnum,num2 |
||
203 | DB pgnum,num2;-pgnum,num2 |
||
204 | ENDM |
||
1917 | alone | 205 | DUP 64+16 ;skip and 0..15 ; ਬ ᯮ ⥭ 16..35 |
213 | alone | 206 | WALL 0,#02 |
207 | EDUP |
||
208 | MACRO PGWALL pgnum |
||
209 | WALL pgnum,#02 |
||
210 | WALL pgnum,#42 |
||
211 | WALL pgnum,#82 |
||
212 | WALL pgnum,#C2 |
||
213 | ENDM |
||
214 | PGWALL 0 |
||
215 | PGWALL 1 |
||
216 | PGWALL 2 |
||
217 | PGWALL 3 |
||
218 | PGWALL 4 |
||
1917 | alone | 219 | DUP 64-20-16 ;?..63 |
213 | alone | 220 | WALL 0,#02 |
221 | EDUP |
||
222 | cursprites=$+shift |
||
223 | DS 256 |
||
224 | ltables=$-wastables |
||
225 | |||
1916 | alone | 226 | include "recmap.asm" |