Subversion Repositories MB01 Project

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 - 1
;----------------------------------------------------------
2
; SEGM.INC
3
; PROGETTO: B1601
4
;
5
; Definizione segmenti
6
;----------------------------------------------------------
7
 
8
; il file puo' essere incluso solo all'interno di GLOBAL.INC
9
.IFNDEF		_GLOBAL_INC_
10
.EXIT		"ERROR: This file cannot be included."
11
.ENDIF
12
 
13
; test definizione banco corrente
14
.IFDEF			_BANKF8_
15
_CURBANK_	.SET	$F8
16
.ELSE
17
	.IFDEF		_BANKF9_
18
_CURBANK_	.SET	$F9
19
	.ELSE
20
		.IFDEF	_BANKFA_
21
_CURBANK_	.SET	$FA
22
		.ELSE
23
			.IFDEF	_BANKFB_
24
_CURBANK_	.SET	$FB
25
			.ELSE
26
				.IFDEF	_BANKFC_
27
_CURBANK_	.SET	$FC
28
				.ELSE
29
					.IFDEF	_BANKFD_
30
_CURBANK_	.SET	$FD
31
					.ELSE
32
						.IFDEF	_BANKFE_
33
_CURBANK_	.SET	$FE
34
						.ELSE
35
							.IFDEF	_BANKFF_
36
_CURBANK_	.SET	$FF
37
							.ELSE
38
 
39
.EXIT		"ERROR: missing _BANKXX_ defs."
40
 
41
							.ENDIF
42
						.ENDIF
43
					.ENDIF
44
				.ENDIF
45
			.ENDIF
46
 
47
		.ENDIF
48
	.ENDIF
49
.ENDIF
50
 
51
 
52
; definizione segmenti utilizzati
53
; nel file di start si forza il linking dei segmenti anche se vuoti
54
; tolti riferimenti a page0 segment altrimenti il linker non funziona
55
.IFDEF _START_INC_
56
 
57
;LIBCODE:	.SECTION range $F8FC00 $F8FDFF		;Library Jump Table
58
;LIBCODE:	.SECTION				;Library Jump Table
59
LIBCODE:	.SECTION range $F80000 $F801FF		;Library Jump Table
60
LIBCODE_ADDR	.EQU	$
61
		.ENDS
62
 
63
;CODEF8:		.SECTION range $F80000 $F8EFFF		;Segment F8
64
CODEF8:		.SECTION range $F80200 $F8EFFF		;Segment F8
65
CODEF8_ADDR	.EQU	$
66
		.ENDS
67
 
68
SYSCODE:	.SECTION range $F8F000 $F8F9FF		;System
69
SYSCODE_ADDR	.EQU	$
70
		.ENDS
71
 
72
SYSTBLE:	.SECTION range $F8FA00 $F8FDFF		;Sys Funcs Table
73
SYSTBLE_ADDR	.EQU	$
74
		.GLOBAL SYSTBLE_ADDR
75
		.ENDS
76
 
77
CODE:		.SECTION range $F8FE00 $F8FFDF		;Start Segment
78
CODE_ADDR	.EQU	$
79
		.ENDS
80
 
81
; vettori locati a F8FFE0 - F8FFFF
82
SYSVECTRS:	.SECTION range $F8FFE0 $F8FFFF		;Vectors
83
SYSVECTRS_ADDR	.EQU	$
84
		.ENDS
85
 
86
STARTF9:	.SECTION range $F90000 $F9FFFF		;Start F9
87
STARTF9_ADDR	.EQU	$
88
		.ENDS
89
 
90
CODEF9:		.SECTION range $F90000 $F9FFFF		;Segment F9
91
CODEF9_ADDR	.EQU	$
92
		.ENDS
93
 
94
SLIBFA:		.SECTION range $FA0000 $FAFFFF		;Segment FA
95
SLIBFA_ADDR	.EQU	$
96
		.ENDS
97
 
98
CODEFA:		.SECTION range $FA0000 $FAFFFF		;Segment FA
99
CODEFA_ADDR	.EQU	$
100
		.ENDS
101
 
102
CODEFB:		.SECTION range $FB0000 $FBFFFF		;Segment FB
103
CODEFB_ADDR	.EQU	$
104
		.ENDS
105
 
106
CODEFC:		.SECTION range $FC0000 $FCFFFF		;Segment FC
107
CODEFC_ADDR	.EQU	$
108
		.ENDS
109
 
110
CODEFD:		.SECTION range $FD0000 $FDFFFF		;Segment FD
111
CODEFD_ADDR	.EQU	$
112
		.ENDS
113
 
114
CODEFE:		.SECTION range $FE0000 $FEFFFF		;Segment FE
115
CODEFE_ADDR	.EQU	$
116
		.ENDS
117
 
118
MONSEG:		.SECTION range $FF0000 $FF000F		;Start Monitor
119
MONSEG_ADDR	.EQU	$
120
		.ENDS
121
 
122
CODEFF:		.SECTION range $FF0010 $FFF7FF		;Segment FF
123
CODEFF_ADDR	.EQU	$
124
		.ENDS
125
 
126
VDCFONT:	.SECTION range $FFF800 $FFFFFF		;VDC Font
127
VDCFONT_ADDR	.EQU	$
128
		.ENDS
129
 
130
_DPDSK:		.SECTION page0, ref_only	;DISK ID D.P.
131
_DPDSK_ADDR	.EQU	$
132
		.ENDS
133
 
134
;DIRP00:		.SECTION page0, ref_only, common	;Direct-Page 00
135
;DIRP00_ADDR	.EQU	$
136
;		.ENDS
137
 
138
;DIRP01:		.SECTION page0, ref_only, common	;Direct-Page 01
139
;DIRP01_ADDR	.EQU	$
140
;		.ENDS
141
 
142
;DIRP02:		.SECTION page0, ref_only, common	;Direct-Page 02
143
;DIRP02_ADDR	.EQU	$
144
;		.ENDS
145
 
146
;DIRP03:		.SECTION page0, ref_only, common	;Direct-Page 03
147
;DIRP03_ADDR	.EQU	$
148
;		.ENDS
149
 
150
;DIRP04:		.SECTION page0, ref_only, common	;Direct-Page 04
151
;DIRP04_ADDR	.EQU	$
152
;		.ENDS
153
 
154
;DPFSW:		.SECTION page0, ref_only, common	;Direct Page f.s. working area
155
;DPFSW_ADDR	.EQU	$
156
;		.ENDS
157
 
158
;DPCBM:		.SECTION page0, ref_only, common	;CBM Direct-Page
159
;DPCBM_ADDR	.EQU	$
160
;		.ENDS
161
 
162
;DPCBMFS:	.SECTION page0, ref_only, common	;CBM FS Direct-Page
163
;DPCBMFS_ADDR	.EQU	$
164
;		.ENDS
165
 
166
; segmenti per definire le jmp table
167
;JMPTF8:		.SECTION common		;Jmp-Table $F8
168
;JMPTF8_ADDR	.EQU	$
169
;		.ENDS
170
 
171
;JMPTF9:		.SECTION common    	;Jmp-Table $F9
172
;JMPTF9_ADDR	.EQU	$
173
;		.ENDS
174
 
175
CBMJMP:		.SECTION range $FEFF00 $FEFFFF	;CBM Jmp-Table $FE
176
CBMJMP_ADDR	.EQU	$
177
		.ENDS
178
 
179
CBMHIM:		.SECTION ref_only, common	; CBM text work area
180
CBMHIM_ADDR	.EQU	$
181
		.ENDS
182
 
183
CBMHIV:		.SECTION ref_only, common	; CBM var/p-code area
184
CBMHIV_ADDR	.EQU	$
185
		.ENDS
186
 
187
;CBMHXM:		.SECTION ref_only, common	; CBM exchange area
188
;CBMHXM_ADDR	.EQU	$
189
;		.ENDS
190
 
191
CBMFSW:		.SECTION common, ref_only	; CBM FS work area
192
CBMFSW_ADDR	.EQU	$
193
		.ENDS
194
 
195
CBMVIEC:	.SECTION common, ref_only	; CBM Virtual IEC
196
CBMVIEC_ADDR	.EQU	$
197
		.ENDS
198
 
199
; definizione segmenti negli altri moduli
200
.ELSE
201
 
202
 
203
.IFDEF	_BANKF8_
204
CODEF8:		.SECTION
205
		.ENDS
206
 
207
.IFDEF _SYSTBLE_
208
SYSTBLE:	.SECTION
209
		.ENDS
210
.ENDIF
211
 
212
;LIBCODE:	.SECTION range $F8FC00 $F8FDFF, common
213
LIBCODE:	.SECTION common, ref_only
214
;JMPTOFS		.EQU	$FC00
215
JMPTOFS		.EQU	$0000
216
		.ENDS
217
 
218
;JMPTF8:		.SECTION common
219
;JMPTOFS		.EQU	$0000
220
;		.ENDS
221
.ENDIF
222
 
223
.IFDEF	_BANKF9_
224
STARTF9:	.SECTION
225
		.ENDS
226
 
227
CODEF9:		.SECTION
228
		.ENDS
229
 
230
;JMPTF9:		.SECTION common
231
;JMPTOFS		.EQU	$0000
232
;		.ENDS
233
.ENDIF
234
 
235
.IFDEF	_BANKFA_
236
SLIBFA:		.SECTION
237
		.ENDS
238
 
239
CODEFA:		.SECTION
240
		.ENDS
241
.ENDIF
242
 
243
.IFDEF	_BANKFB_
244
CODEFB:		.SECTION
245
		.ENDS
246
.ENDIF
247
 
248
.IFDEF	_BANKFC_
249
CODEFC:		.SECTION
250
		.ENDS
251
.ENDIF
252
 
253
.IFDEF	_BANKFD_
254
CODEFD:		.SECTION
255
		.ENDS
256
 
257
CBMFSW:		.SECTION ref_only
258
		.ENDS
259
 
260
CBMVIEC:	.SECTION ref_only
261
		.ENDS
262
.ENDIF
263
 
264
.IFDEF	_BANKFE_
265
CODEFE:		.SECTION
266
		.ENDS
267
 
268
CBMJMP:		.SECTION
269
		.ENDS
270
 
271
CBMHIM:		.SECTION ref_only, common
272
		.ENDS
273
 
274
CBMHIV:		.SECTION ref_only, common
275
		.ENDS
276
 
277
;CBMHXM:		.SECTION ref_only, common
278
;		.ENDS
279
 
280
.ENDIF
281
 
282
.IFDEF	_BANKFF_
283
CODEFF:		.SECTION
284
		.ENDS
285
 
286
MONSEG:		.SECTION
287
		.ENDS
288
.ENDIF
289
 
290
DIRP00:		.SECTION page0, ref_only, common
291
		.ENDS
292
 
293
DIRP01:		.SECTION page0, ref_only, common
294
		.ENDS
295
 
296
DIRP02:		.SECTION page0, ref_only, common
297
		.ENDS
298
 
299
DIRP03:		.SECTION page0, ref_only, common
300
		.ENDS
301
 
302
DIRP04:		.SECTION page0, ref_only, common
303
		.ENDS
304
 
305
DPFSW:		.SECTION page0, ref_only, common
306
		.ENDS
307
 
308
DPCBM:		.SECTION page0, ref_only, common
309
		.ENDS
310
 
311
DPCBMFS:	.SECTION page0, ref_only, common
312
		.ENDS
313
 
314
.ENDIF		;; _START_INC_
315
 
316
;----------------------------------------------------------------------
317
 
318
; segmenti per definire le jmp table
319
 
320
;JMPTF8:		.SECTION common
321
 
322
; indirizzo DP 01 - $0100
323
DP01ADDR	.EQU	$0100
324
; indirizzo DP 02 - $0200
325
DP02ADDR	.EQU	$0200
326
; indirizzo DP 03 - $0300
327
DP03ADDR	.EQU	$0300
328
; indirizzo DP 04 - $0400
329
DP04ADDR	.EQU	$0400
330
; indirizzo DP 05 - $0500
331
DP05ADDR	.EQU	$0500