-
Notifications
You must be signed in to change notification settings - Fork 15
/
endmem.asm
265 lines (232 loc) · 6.4 KB
/
endmem.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
;Copyright (C) 1997-2008 ZSNES Team ( zsKnight, _Demo_, pagefault, Nach )
;
;http://www.zsnes.com
;http://sourceforge.net/projects/zsnes
;https://zsnes.bountysource.com
;
;This program is free software; you can redistribute it and/or
;modify it under the terms of the GNU General Public License
;version 2 as published by the Free Software Foundation.
;
;This program is distributed in the hope that it will be useful,
;but WITHOUT ANY WARRANTY; without even the implied warranty of
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;GNU General Public License for more details.
;
;You should have received a copy of the GNU General Public License
;along with this program; if not, write to the Free Software
;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%include "macros.mac"
%ifdef __UNIXSDL__
%ifdef DEBUG
;; workaround NASM stabs generation bug
;; http://sourceforge.net/tracker/index.php?func=detail&aid=1714701&group_id=6208&atid=106208
SECTION .text
nop
%endif
%endif
SECTION .bss
NEWSYM wramdataa, resb 65536
NEWSYM ram7fa, resb 65536
NEWSYM Inbetweendat, resd 4
NEWSYM opcjmptab, resd 256
NEWSYM Bank0datr8 , resd 256
NEWSYM Bank0datr16, resd 256
NEWSYM Bank0datw8 , resd 256
NEWSYM Bank0datw16, resd 256
NEWSYM tableA, resd 256
NEWSYM tableB, resd 256
NEWSYM tableC, resd 256
NEWSYM tableD, resd 256
NEWSYM tableE, resd 256
NEWSYM tableF, resd 256
NEWSYM tableG, resd 256
NEWSYM tableH, resd 256
NEWSYM tableAb, resd 256
NEWSYM tableBb, resd 256
NEWSYM tableCb, resd 256
NEWSYM tableDb, resd 256
NEWSYM tableEb, resd 256
NEWSYM tableFb, resd 256
NEWSYM tableGb, resd 256
NEWSYM tableHb, resd 256
NEWSYM tableAc, resd 256
NEWSYM tableBc, resd 256
NEWSYM tableCc, resd 256
NEWSYM tableDc, resd 256
NEWSYM tableEc, resd 256
NEWSYM tableFc, resd 256
NEWSYM tableGc, resd 256
NEWSYM tableHc, resd 256
NEWSYM SA1tableA, resd 256
NEWSYM SA1tableB, resd 256
NEWSYM SA1tableC, resd 256
NEWSYM SA1tableD, resd 256
NEWSYM SA1tableE, resd 256
NEWSYM SA1tableF, resd 256
NEWSYM SA1tableG, resd 256
NEWSYM SA1tableH, resd 256
NEWSYM tablead, resd 256
NEWSYM tableadb, resd 256
NEWSYM tableadc, resd 256
NEWSYM SA1tablead, resd 256
NEWSYM memtabler8, resd 256
NEWSYM memtablew8, resd 256
NEWSYM memtabler16, resd 256
NEWSYM memtablew16, resd 256
NEWSYM vidmemch2, resb 4096
NEWSYM vidmemch4, resb 4096
NEWSYM vidmemch8, resb 4096
NEWSYM snesmmap, resd 256
NEWSYM snesmap2, resd 256
NEWSYM cachebg
NEWSYM cachebg1, resb 64
NEWSYM cachebg2, resb 64
NEWSYM cachebg3, resb 64
NEWSYM cachebg4, resb 64
NEWSYM sprlefttot, resb 256
NEWSYM sprleftpr, resb 256
NEWSYM sprleftpr1, resb 256
NEWSYM sprleftpr2, resb 256
NEWSYM sprleftpr3, resb 256
NEWSYM sprcnt, resb 256
NEWSYM sprstart, resb 256
NEWSYM sprtilecnt, resb 256
NEWSYM sprend, resb 256
NEWSYM sprendx, resw 256
NEWSYM sprpriodata, resb 288
NEWSYM sprprtabc, resb 64
NEWSYM sprprtabu, resb 64
NEWSYM prevpal, resw 256
NEWSYM winbgdata, resb 288
NEWSYM winspdata, resb 288
NEWSYM FxTable, resd 256
NEWSYM FxTableA1, resd 256
NEWSYM FxTableA2, resd 256
NEWSYM FxTableA3, resd 256
NEWSYM FxTableb, resd 256
NEWSYM FxTablebA1, resd 256
NEWSYM FxTablebA2, resd 256
NEWSYM FxTablebA3, resd 256
NEWSYM FxTablec, resd 256
NEWSYM FxTablecA1, resd 256
NEWSYM FxTablecA2, resd 256
NEWSYM FxTablecA3, resd 256
NEWSYM FxTabled, resd 256
NEWSYM FxTabledA1, resd 256
NEWSYM FxTabledA2, resd 256
NEWSYM FxTabledA3, resd 256
NEWSYM SfxMemTable, resd 256
NEWSYM fxxand, resd 256
NEWSYM fxbit01, resd 256
NEWSYM fxbit23, resd 256
NEWSYM fxbit45, resd 256
NEWSYM fxbit67, resd 256
NEWSYM PLOTJmpa, resd 64
NEWSYM PLOTJmpb, resd 64
NEWSYM pal16b, resd 256
NEWSYM pal16bcl, resd 256
NEWSYM pal16bclha, resd 256
NEWSYM pal16bxcl, resd 256
NEWSYM xtravbuf, resb 576
NEWSYM BG1SXl, resw 256
NEWSYM BG2SXl, resw 256
NEWSYM BG3SXl, resw 256
NEWSYM BG4SXl, resw 256
NEWSYM BG1SYl, resw 256
NEWSYM BG2SYl, resw 256
NEWSYM BG3SYl, resw 256
NEWSYM BG4SYl, resw 256
NEWSYM BGMA, resb 256
NEWSYM BGFB, resb 256
NEWSYM BG3PRI, resb 256
NEWSYM BGOPT1, resw 256
NEWSYM BGOPT2, resw 256
NEWSYM BGOPT3, resw 256
NEWSYM BGOPT4, resw 256
NEWSYM BGPT1, resw 256
NEWSYM BGPT2, resw 256
NEWSYM BGPT3, resw 256
NEWSYM BGPT4, resw 256
NEWSYM BGPT1X, resw 256
NEWSYM BGPT2X, resw 256
NEWSYM BGPT3X, resw 256
NEWSYM BGPT4X, resw 256
NEWSYM BGPT1Y, resw 256
NEWSYM BGPT2Y, resw 256
NEWSYM BGPT3Y, resw 256
NEWSYM BGPT4Y, resw 256
NEWSYM BGMS1, resw 1024
NEWSYM prdata, resb 256
NEWSYM prdatb, resb 256
NEWSYM prdatc, resb 256
NEWSYM ngpalcon2b, resd 20h
NEWSYM ngpalcon4b, resd 20h
NEWSYM ngpalcon8b, resd 20h
NEWSYM tltype2b, resb 4096
NEWSYM tltype4b, resb 2048
NEWSYM tltype8b, resb 1024
NEWSYM ngptrdat, resd 1024
NEWSYM ngceax, resd 1024
NEWSYM ngcedi, resd 1024
NEWSYM bgtxad, resw 1024
NEWSYM sprtbng, resd 256
NEWSYM sprtlng, resb 256
NEWSYM mosszng, resb 256
NEWSYM mosenng, resb 256
SECTION .data
ALIGN32
NEWSYM vidmemch2s, times 4096 db 0FFh
NEWSYM vidmemch4s, times 2048 db 0FFh
NEWSYM vidmemch8s, times 1024 db 0FFh
SECTION .bss
NEWSYM mode7ab, resd 256
NEWSYM mode7cd, resd 256
NEWSYM mode7xy, resd 256
NEWSYM mode7st, resb 256
NEWSYM t16x161, resb 256
NEWSYM t16x162, resb 256
NEWSYM t16x163, resb 256
NEWSYM t16x164, resb 256
NEWSYM intrlng, resb 256
NEWSYM mode7hr, resb 256
NEWSYM scadsng, resb 256
NEWSYM scadtng, resb 256
NEWSYM scbcong, resw 256
NEWSYM cpalval, resd 256
NEWSYM cgfxmod, resb 256
NEWSYM winboundary, resd 256
NEWSYM winbg1enval, resb 256
NEWSYM winbg2enval, resb 256
NEWSYM winbg3enval, resb 256
NEWSYM winbg4enval, resb 256
NEWSYM winbgobjenval, resb 256
NEWSYM winbgbackenval, resb 256
NEWSYM winlogicaval, resw 256
NEWSYM winbg1envals, resb 256
NEWSYM winbg2envals, resb 256
NEWSYM winbg3envals, resb 256
NEWSYM winbg4envals, resb 256
NEWSYM winbgobjenvals, resb 256
NEWSYM winbgbackenvals, resb 256
NEWSYM winbg1envalm, resb 256
NEWSYM winbg2envalm, resb 256
NEWSYM winbg3envalm, resb 256
NEWSYM winbg4envalm, resb 256
NEWSYM winbgobjenvalm, resb 256
NEWSYM winbgbackenvalm, resb 256
NEWSYM FillSubScr, resb 256
NEWSYM objclineptr, resd 256 ; l1,r1,l2,r2,en,log,ptr
SECTION .data
ALIGN32
NEWSYM objwlrpos , times 256 dd 0FFFFFFFFh
NEWSYM objwen , times 256 dw 0FFFFh ; en,log
SECTION .bss
NEWSYM SpecialLine, resb 256
NEWSYM bgallchange, resb 256
NEWSYM bg1change, resb 256
NEWSYM bg2change, resb 256
NEWSYM bg3change, resb 256
NEWSYM bg4change, resb 256
NEWSYM bgwinchange, resb 256
NEWSYM PrevPicture, resb 64*56*2