1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2;; memory model ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4
5;; Main Binary @ 0x2000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
7SECTION CODE
8
9org __crt_org_code
10
11IF (__crt_org_vector_table = -0x80) || (__crt_org_vector_table = -0x100)
12
13section interrupt_vectors
14section code_crt_start
15
16ENDIF
17
18section code_crt_init
19section code_crt_main
20section code_crt_exit
21section code_crt_return
22section code_crt_common
23
24IF (__crt_org_vector_table) && (__crt_org_vector_table != -0x80) && (__crt_org_vector_table != -0x100)
25
26section interrupt_vectors
27
28ENDIF
29
30section code_arch
31section code_clib
32section code_compress_aplib
33section code_compress_zx7
34section code_ctype
35section code_env
36section code_error
37section code_esxdos
38section code_fcntl
39section code_input
40section code_l
41section code_l_sccz80
42section code_l_sdcc
43section code_math
44section code_sound_bit
45section code_stdio
46section code_stdlib
47section code_string
48section code_time
49section code_z180
50section code_z80
51
52section rodata_arch
53section rodata_clib
54section rodata_driver
55section rodata_env
56section rodata_fcntl
57section rodata_input
58section rodata_sound_bit
59section rodata_stdio
60section rodata_stdlib
61
62section code_dot
63section rodata_dot
64section smc_dot
65section data_dot
66
67section bss_env
68section bss_esxdos
69section bss_dot
70
71SECTION CODE_END
72
73;; Main Bank ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
74
75SECTION MAIN
76org CRT_ORG_MAIN
77
78section code_adt_b_array
79section code_adt_b_vector
80section code_adt_ba_priority_queue
81section code_adt_ba_stack
82section code_adt_bv_priority_queue
83section code_adt_bv_stack
84section code_adt_p_forward_list
85section code_adt_p_forward_list_alt
86section code_adt_p_list
87section code_adt_p_queue
88section code_adt_p_stack
89section code_adt_w_array
90section code_adt_w_vector
91section code_adt_wa_priority_queue
92section code_adt_wa_stack
93section code_adt_wv_priority_queue
94section code_adt_wv_stack
95section code_alloc_balloc
96section code_alloc_malloc
97section code_alloc_obstack
98section code_bifrost_h
99section code_bifrost_l
100section code_bifrost2
101section code_driver
102section code_driver_general
103section code_driver_character_input
104section code_driver_character_output
105section code_driver_memstream
106section code_driver_terminal_input
107section code_driver_terminal_output
108section code_driver_tty
109section code_font
110section code_font_fzx
111section code_fp_genmath
112section code_fp_math48
113section code_im2
114section code_inttypes
115section code_locale
116section code_network
117section code_nirvanam
118section code_nirvanap
119section code_PSGlib
120section code_setjmp
121section code_SMSlib
122section code_temp_sp1
123section code_threads
124section code_threads_mutex
125
126section code_lib
127section code_compiler
128section code_user
129
130section code_main
131
132section rodata_error_strings
133section rodata_error_string_end
134defb 0
135section rodata_font
136section rodata_font_4x8
137section rodata_font_8x8
138section rodata_font_fzx
139section rodata_SMSlib
140
141section rodata_lib
142section rodata_compiler
143section rodata_user
144
145section rodata_main
146
147SECTION DATA
148
149IF __crt_org_data
150
151   org __crt_org_data
152
153ELSE
154
155   IF __crt_model
156
157      "DATA section address must be specified for rom models"
158
159   ENDIF
160
161ENDIF
162
163section data_align_256
164align 256
165
166section data_align_128
167align 128
168
169section data_align_64
170align 64
171
172section data_align_32
173align 32
174
175section data_align_16
176align 16
177
178section data_align_8
179align 8
180
181section data_align_4
182align 4
183
184section data_align_2
185align 2
186
187section smc_jump_vectors
188section smc_driver
189section smc_font
190section smc_clib
191
192section smc_fcntl
193section smc_l
194section smc_sound_bit
195
196section smc_lib
197section smc_compiler
198section smc_user
199
200section smc_main
201
202section data_driver
203section data_font
204section data_clib
205
206section data_alloc_balloc
207section data_alloc_malloc
208section data_arch
209section data_fcntl
210section data_fcntl_stdio_heap_head
211section data_fcntl_stdio_heap_body
212section data_fcntl_stdio_heap_tail
213section data_fcntl_fdtable_body
214section data_PSGlib
215section data_SMSlib
216section data_sound_bit
217section data_stdio
218section data_stdlib
219section data_threads
220
221section data_lib
222section data_compiler
223section data_user
224
225section data_main
226
227SECTION DATA_END
228
229SECTION BSS
230
231IF __crt_org_bss
232
233   org __crt_org_bss
234
235ELSE
236
237   IF __crt_model
238
239      org -1
240
241   ENDIF
242
243ENDIF
244
245section bss_align_256
246align 256
247
248section bss_align_128
249align 128
250
251section bss_align_64
252align 64
253
254section bss_align_32
255align 32
256
257section bss_align_16
258align 16
259
260section bss_align_8
261align 8
262
263section bss_align_4
264align 4
265
266section bss_align_2
267align 2
268
269section bss_driver
270section bss_font
271section bss_clib
272
273section bss_arch
274section bss_alloc_balloc
275section bss_alloc_malloc
276section bss_compress_aplib
277section bss_error
278section bss_fcntl
279section bss_input
280section bss_PSGlib
281section bss_SMSlib
282section bss_sound_bit
283section bss_stdio
284section bss_stdlib
285section bss_string
286
287section bss_lib
288section bss_compiler
289section bss_user
290
291section bss_main
292
293section BSS_UNINITIALIZED
294SECTION BSS_END
295
296SECTION MAIN_END
297
298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
299
300IF (__crt_org_vector_table = 0)
301
302section interrupt_vectors
303org 0
304
305ENDIF
306
307;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308