Subversion Repositories NedoOS

Rev

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"