Blame | Last modification | View Log | Download | RSS feed
;----------------------------------------------------------
; SEGM.INC
; PROGETTO: B1601
;
; Definizione segmenti
;----------------------------------------------------------
; il file puo' essere incluso solo all'interno di GLOBAL.INC
.IFNDEF _GLOBAL_INC_
.EXIT "ERROR: This file cannot be included."
.ENDIF
; test definizione banco corrente
.IFDEF _BANKF8_
_CURBANK_ .SET $F8
.ELSE
.IFDEF _BANKF9_
_CURBANK_ .SET $F9
.ELSE
.IFDEF _BANKFA_
_CURBANK_ .SET $FA
.ELSE
.IFDEF _BANKFB_
_CURBANK_ .SET $FB
.ELSE
.IFDEF _BANKFC_
_CURBANK_ .SET $FC
.ELSE
.IFDEF _BANKFD_
_CURBANK_ .SET $FD
.ELSE
.IFDEF _BANKFE_
_CURBANK_ .SET $FE
.ELSE
.IFDEF _BANKFF_
_CURBANK_ .SET $FF
.ELSE
.EXIT "ERROR: missing _BANKXX_ defs."
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.ENDIF
; definizione segmenti utilizzati
; nel file di start si forza il linking dei segmenti anche se vuoti
; tolti riferimenti a page0 segment altrimenti il linker non funziona
.IFDEF _START_INC_
;LIBCODE: .SECTION range $F8FC00 $F8FDFF ;Library Jump Table
;LIBCODE: .SECTION ;Library Jump Table
LIBCODE: .SECTION range $F80000 $F801FF ;Library Jump Table
LIBCODE_ADDR .EQU $
.ENDS
;CODEF8: .SECTION range $F80000 $F8EFFF ;Segment F8
CODEF8: .SECTION range $F80200 $F8EFFF ;Segment F8
CODEF8_ADDR .EQU $
.ENDS
SYSCODE: .SECTION range $F8F000 $F8F9FF ;System
SYSCODE_ADDR .EQU $
.ENDS
SYSTBLE: .SECTION range $F8FA00 $F8FDFF ;Sys Funcs Table
SYSTBLE_ADDR .EQU $
.GLOBAL SYSTBLE_ADDR
.ENDS
CODE: .SECTION range $F8FE00 $F8FFDF ;Start Segment
CODE_ADDR .EQU $
.ENDS
; vettori locati a F8FFE0 - F8FFFF
SYSVECTRS: .SECTION range $F8FFE0 $F8FFFF ;Vectors
SYSVECTRS_ADDR .EQU $
.ENDS
STARTF9: .SECTION range $F90000 $F9FFFF ;Start F9
STARTF9_ADDR .EQU $
.ENDS
CODEF9: .SECTION range $F90000 $F9FFFF ;Segment F9
CODEF9_ADDR .EQU $
.ENDS
SLIBFA: .SECTION range $FA0000 $FAFFFF ;Segment FA
SLIBFA_ADDR .EQU $
.ENDS
CODEFA: .SECTION range $FA0000 $FAFFFF ;Segment FA
CODEFA_ADDR .EQU $
.ENDS
CODEFB: .SECTION range $FB0000 $FBFFFF ;Segment FB
CODEFB_ADDR .EQU $
.ENDS
CODEFC: .SECTION range $FC0000 $FCFFFF ;Segment FC
CODEFC_ADDR .EQU $
.ENDS
CODEFD: .SECTION range $FD0000 $FDFFFF ;Segment FD
CODEFD_ADDR .EQU $
.ENDS
CODEFE: .SECTION range $FE0000 $FEFFFF ;Segment FE
CODEFE_ADDR .EQU $
.ENDS
MONSEG: .SECTION range $FF0000 $FF000F ;Start Monitor
MONSEG_ADDR .EQU $
.ENDS
CODEFF: .SECTION range $FF0010 $FFF7FF ;Segment FF
CODEFF_ADDR .EQU $
.ENDS
VDCFONT: .SECTION range $FFF800 $FFFFFF ;VDC Font
VDCFONT_ADDR .EQU $
.ENDS
_DPDSK: .SECTION page0, ref_only ;DISK ID D.P.
_DPDSK_ADDR .EQU $
.ENDS
;DIRP00: .SECTION page0, ref_only, common ;Direct-Page 00
;DIRP00_ADDR .EQU $
; .ENDS
;DIRP01: .SECTION page0, ref_only, common ;Direct-Page 01
;DIRP01_ADDR .EQU $
; .ENDS
;DIRP02: .SECTION page0, ref_only, common ;Direct-Page 02
;DIRP02_ADDR .EQU $
; .ENDS
;DIRP03: .SECTION page0, ref_only, common ;Direct-Page 03
;DIRP03_ADDR .EQU $
; .ENDS
;DIRP04: .SECTION page0, ref_only, common ;Direct-Page 04
;DIRP04_ADDR .EQU $
; .ENDS
;DPFSW: .SECTION page0, ref_only, common ;Direct Page f.s. working area
;DPFSW_ADDR .EQU $
; .ENDS
;DPCBM: .SECTION page0, ref_only, common ;CBM Direct-Page
;DPCBM_ADDR .EQU $
; .ENDS
;DPCBMFS: .SECTION page0, ref_only, common ;CBM FS Direct-Page
;DPCBMFS_ADDR .EQU $
; .ENDS
; segmenti per definire le jmp table
;JMPTF8: .SECTION common ;Jmp-Table $F8
;JMPTF8_ADDR .EQU $
; .ENDS
;JMPTF9: .SECTION common ;Jmp-Table $F9
;JMPTF9_ADDR .EQU $
; .ENDS
CBMJMP: .SECTION range $FEFF00 $FEFFFF ;CBM Jmp-Table $FE
CBMJMP_ADDR .EQU $
.ENDS
CBMHIM: .SECTION ref_only, common ; CBM text work area
CBMHIM_ADDR .EQU $
.ENDS
CBMHIV: .SECTION ref_only, common ; CBM var/p-code area
CBMHIV_ADDR .EQU $
.ENDS
;CBMHXM: .SECTION ref_only, common ; CBM exchange area
;CBMHXM_ADDR .EQU $
; .ENDS
CBMFSW: .SECTION common, ref_only ; CBM FS work area
CBMFSW_ADDR .EQU $
.ENDS
CBMVIEC: .SECTION common, ref_only ; CBM Virtual IEC
CBMVIEC_ADDR .EQU $
.ENDS
; definizione segmenti negli altri moduli
.ELSE
.IFDEF _BANKF8_
CODEF8: .SECTION
.ENDS
.IFDEF _SYSTBLE_
SYSTBLE: .SECTION
.ENDS
.ENDIF
;LIBCODE: .SECTION range $F8FC00 $F8FDFF, common
LIBCODE: .SECTION common, ref_only
;JMPTOFS .EQU $FC00
JMPTOFS .EQU $0000
.ENDS
;JMPTF8: .SECTION common
;JMPTOFS .EQU $0000
; .ENDS
.ENDIF
.IFDEF _BANKF9_
STARTF9: .SECTION
.ENDS
CODEF9: .SECTION
.ENDS
;JMPTF9: .SECTION common
;JMPTOFS .EQU $0000
; .ENDS
.ENDIF
.IFDEF _BANKFA_
SLIBFA: .SECTION
.ENDS
CODEFA: .SECTION
.ENDS
.ENDIF
.IFDEF _BANKFB_
CODEFB: .SECTION
.ENDS
.ENDIF
.IFDEF _BANKFC_
CODEFC: .SECTION
.ENDS
.ENDIF
.IFDEF _BANKFD_
CODEFD: .SECTION
.ENDS
CBMFSW: .SECTION ref_only
.ENDS
CBMVIEC: .SECTION ref_only
.ENDS
.ENDIF
.IFDEF _BANKFE_
CODEFE: .SECTION
.ENDS
CBMJMP: .SECTION
.ENDS
CBMHIM: .SECTION ref_only, common
.ENDS
CBMHIV: .SECTION ref_only, common
.ENDS
;CBMHXM: .SECTION ref_only, common
; .ENDS
.ENDIF
.IFDEF _BANKFF_
CODEFF: .SECTION
.ENDS
MONSEG: .SECTION
.ENDS
.ENDIF
DIRP00: .SECTION page0, ref_only, common
.ENDS
DIRP01: .SECTION page0, ref_only, common
.ENDS
DIRP02: .SECTION page0, ref_only, common
.ENDS
DIRP03: .SECTION page0, ref_only, common
.ENDS
DIRP04: .SECTION page0, ref_only, common
.ENDS
DPFSW: .SECTION page0, ref_only, common
.ENDS
DPCBM: .SECTION page0, ref_only, common
.ENDS
DPCBMFS: .SECTION page0, ref_only, common
.ENDS
.ENDIF ;; _START_INC_
;----------------------------------------------------------------------
; segmenti per definire le jmp table
;JMPTF8: .SECTION common
; indirizzo DP 01 - $0100
DP01ADDR .EQU $0100
; indirizzo DP 02 - $0200
DP02ADDR .EQU $0200
; indirizzo DP 03 - $0300
DP03ADDR .EQU $0300
; indirizzo DP 04 - $0400
DP04ADDR .EQU $0400
; indirizzo DP 05 - $0500
DP05ADDR .EQU $0500