; File name:	URAn_SYS.S	Revised:  1991.05.07
; Creator:	U.R.Andersson	Created:  1991.02.03
; (c)1991 by:	U.R.Andersson	All rights reserved
; Released as:	FREEWARE	(NB: commercial sales forbidden!)
;
;
;	Ascii constants
;
NUL	equ	$00
BEL	equ	$07
BS	equ	$08
HT	equ	$09
LF	equ	$0A
VT	equ	$0B
FF	equ	$0C
CR	equ	$0D
ESC	equ	$1B
;
;
;	Diverse constants
;
maxsbyte	equ	$7F
maxubyte	equ	$FF
maxsword	equ	$7FFF
maxuword	equ	$FFFF
maxslong	equ	$7FFFFFFF
maxulong	equ	$FFFFFFFF
;
;
;	System init vectors
;
ssp_init	equ	$000
ev_reset	equ	$004
;
;
;	System exception vectors
;
ev_buserr	equ	$008
ev_adrerr	equ	$00C
ev_illegal	equ	$010
ev_divby0	equ	$014
ev_chk_ofl	equ	$018
ev_trapv	equ	$01C
ev_priverr	equ	$020
ev_trace	equ	$024
ev_a_line	equ	$028
ev_f_line	equ	$02C
;
; vectors at $030..$03B are unassigned
; vector at $3C is dubiously specified, but can not be considered free
; vectors at $040..$05F are unassigned
;
ev_spurerr	equ	$060
ev_level1	equ	$064
ev_level2	equ	$068
ev_level3	equ	$06C
ev_level4	equ	$070
ev_level5	equ	$074
ev_level6	equ	$078
ev_level7	equ	$07C
; the odd vectors above are unavailable since IPL0 is tied high
ev_HBI		equ	ev_level2
ev_VBI		equ	ev_level4
ev_MFP		equ	ev_level6
;
ev_trap0	equ	$080
ev_trap1	equ	$084
ev_trap2	equ	$088
ev_trap3	equ	$08C
ev_trap4	equ	$090
ev_trap5	equ	$094
ev_trap6	equ	$098
ev_trap7	equ	$09C
ev_trap8	equ	$0A0
ev_trap9	equ	$0A4
ev_trap10	equ	$0A8
ev_trap11	equ	$0AC
ev_trap12	equ	$0B0
ev_trap13	equ	$0B4
ev_trap14	equ	$0B8
ev_trap15	equ	$0BC
;
ev_gemdos	equ	ev_trap1
ev_xgemdos	equ	ev_trap2
ev_bios		equ	ev_trap13
ev_xbios	equ	ev_trap14
;
; vectors at $0C0..$0FF are unassigned
;
; 	interrupt vectors for MFP interrupts
;
iv_cenbusy	equ	$100
iv_v24dcd	equ	$104
iv_v24cts	equ	$108
iv_blitter	equ	$10C
iv_time_d	equ	$110
iv_time_c	equ	$114
iv_kb_midi	equ	$118
iv_disk		equ	$11C
iv_time_b	equ	$120
iv_v24terr	equ	$124
iv_v24treq	equ	$128
iv_v24rerr	equ	$12C
iv_v24rreq	equ	$130
iv_time_a	equ	$134
iv_v24ring	equ	$138
iv_monodet	equ	$13C
;
; vectors at $140..$1FF are unassigned
; vectors at $200..$37F are reserved for OEM products
;
; 	System bomb info for debug analysis
;
bombflag	equ	$380
bomb_d0		equ	$384
bomb_d1		equ	$388
bomb_d2		equ	$38C
bomb_d3		equ	$390
bomb_d4		equ	$394
bomb_d5		equ	$398
bomb_d6		equ	$39C
bomb_d7		equ	$3A0
bomb_a0		equ	$3A4
bomb_a1		equ	$3A8
bomb_a2		equ	$3AC
bomb_a3		equ	$3B0
bomb_a4		equ	$3B4
bomb_a5		equ	$3B8
bomb_a6		equ	$3BC
bomb_a7		equ	$3C0
bombvector	equ	$3C4
bomb_usp	equ	$3C8
bomb_ssp	equ	bomb_a7
bombstack	equ	$3CC
;
; vector area at $3EC..$3FF is unassigned, but known to be used by
; some system support programs for non_vector purposes (eg. timesave)
;
;
; 	System variables
;
etv_timer	equ	$400
etv_critic	equ	$404
etv_term	equ	$408
etv_extra	equ	$40C
memvalid	equ	$420
memctrl		equ	$424
resvalid	equ	$426
resvector	equ	$42A
phystop		equ	$42E
_membot		equ	$432
_memtop		equ	$436
memval2		equ	$43A
flock		equ	$43E
seekrate	equ	$440
_timr_ms	equ	$442
_fverify	equ	$444
_bootdev	equ	$446
_palmode	equ	$448
defshiftmd	equ	$44A
sshiftmd	equ	$44C
_v_bas_ad	equ	$44E
vblsem		equ	$452
nvbls		equ	$454
_vblqueue	equ	$456
colorptr	equ	$45A
screenpt	equ	$45E
_vbclock	equ	$462
_frclock	equ	$466
hdv_init	equ	$46A
swv_vec		equ	$46E
hdv_bpb		equ	$472
hdv_rw		equ	$476
hdv_boot	equ	$480
hdv_mediach	equ	$47E
_cmdload	equ	$482
conterm		equ	$484
trp14ret	equ	$486
criticret	equ	$48A
themd		equ	$48E
_md		equ	$49E
savptr		equ	$4A2
_nflops		equ	$4A6
constate	equ	$4A8
save_row	equ	$4AC
sav_contxt	equ	$4AE
_bufl		equ	$4B2
_hz_200		equ	$4BA
the_env		equ	$4BE
_drvbits	equ	$4C2
_dskbufp	equ	$4C6
_autopath	equ	$4CA
_vbl_list	equ	$4CE
_prt_cnt	equ	$4EE
_prtabt		equ	$4F0
_sysbase	equ	$4F2
_shell_p	equ	$4F6
end_os		equ	$4FA
exec_os		equ	$4FE
;
;
;	OS header offsets
;
os_codebra	= $00	;w $60xx
os_version	= $02	;w $0v0r
os_reset_p	= $04	;L
os_selfbeg_p	= $08	;L
os_varend_p	= $0c	;L
os_unknown_p	= $10	;L
os_gem_mpb_p	= $14	;L
os_date_bcd	= $18	;L
os_config	= $1c	;w
os_date_gem	= $1e	;w
;	next follows the part valid only for TOS 1.4 & later
os_pool_p	= $20
os_kbshift_p	= $24
os_currbp_p_p	= $28
os_reserved	= $2c
;
;
;	Cartridge ROM definitions
;
rom_diag_id	= $fa52255f
rom_appl_id	= $abcdef42
rom_base	= $fa0000
rom_head	= $fa0004
;
rh_diagcode	= 0
rh_applnext_p	= 0
rh_applinit_p	= 4
rh_applcode_p	= 8
rh_appltime	= 12
rh_appldate	= 14
rh_applsize	= 16
rh_applname	= 20	;<=13b incl terminal NUL
;
;
; 	System hardware
;
hw_mapper	equ	$ffff8001
hw_vbase2	equ	$ffff8201
hw_vbase1	equ	$ffff8203
hw_vpos2	equ	$ffff8205
hw_vpos1	equ	$ffff8207
hw_vpos0	equ	$ffff8209
hw_syn		equ	$ffff820A
hw_vbase0	equ	$ffff820C     ;.w STE only
hw_horext	equ	$ffff820E     ;.w STE only
hw_pal		equ	$ffff8240
;
hw_rez		equ	$ffff8260
hw_pixoff	equ	$ffff8264     ;.w STE only
hw_fdcreg	equ	$ffff8604
hw_seccnt	equ	$ffff8604
hw_fdcsel	equ	$ffff8606
hw_dmasel	equ	$ffff8606
hw_fdcdreq	equ	$ffff8606
hw_dmastat	equ	$ffff8606
hw_dma2		equ	$ffff8609
hw_dma1		equ	$ffff860B
hw_dma0		equ	$ffff860D
;
hw_psgsel	equ	$ffff8800
hw_psgrd	equ	$ffff8800
hw_psgwr	equ	$ffff8802
hw_gpip		equ	$ffffFA01
hw_aer		equ	$ffffFA03
hw_ddr		equ	$ffffFA05
hw_iera		equ	$ffffFA07
hw_ierb		equ	$ffffFA09
hw_ipra		equ	$ffffFA0B
hw_iprb		equ	$ffffFA0D
hw_isra		equ	$ffffFA0F
hw_isrb		equ	$ffffFA11
hw_imra		equ	$ffffFA13
hw_imrb		equ	$ffffFA15
hw_vr		equ	$ffffFA17
hw_tacr		equ	$ffffFA19
hw_tbcr		equ	$ffffFA1B
hw_tcdcr	equ	$ffffFA1D
hw_tadr		equ	$ffffFA1F
hw_tbdr		equ	$ffffFA21
hw_tcdr		equ	$ffffFA23
hw_tddr		equ	$ffffFA25
hw_scr		equ	$ffffFA27
hw_ucr		equ	$ffffFA29
hw_rsr		equ	$ffffFA2B
hw_tsr		equ	$ffffFA2D
hw_udr		equ	$ffffFA2F
hw_kbstat	equ	$ffffFC00
hw_kbcont	equ	$ffffFC00
hw_kbdata	equ	$ffffFC02
hw_midistat	equ	$ffffFC04
hw_midicont	equ	$ffffFC04
hw_mididata	equ	$ffffFC06
;
;
; End of file:	URAn_SYS.S
