*******************************************************************************
* Source zum Erzeugen der Symboltabelle BUGABOO.SYM, welche der Debugger beim *
* Start automatisch nachl„dt. Die Bezeichnungen stammen vom Atari DB	      *
*******************************************************************************

reset		EQU $04
bus_err 	EQU $08
addr_err	EQU $0C
illegal 	EQU $10
div_zero	EQU $14
CHK_com 	EQU $18
TRAPV_com	EQU $1C
privilege	EQU $20
trace		EQU $24
Line_A		EQU $28
Line_F		EQU $2C
spurious	EQU $60

auto_i_1	EQU $64
auto_i_2_hbl	EQU $68
auto_i_3	EQU $6C
auto_i_4_vbl	EQU $70
auto_i_5	EQU $74
auto_i_6	EQU $78
auto_i_7	EQU $7C

busy_int	EQU $0100
dcd_int 	EQU $0104
cts_int 	EQU $0108
gpu_done	EQU $010C
timer200	EQU $0114
IKBD_MIDI	EQU $0118
ring_ind	EQU $0138

proc_lives	EQU $0380
proc_regs	EQU $0384
proc_pc 	EQU $03C4
proc_usp	EQU $03C8
proc_stk	EQU $03CC

; BIOS Variables
etv_timer	EQU $0400	;vector for timer interrupt chain
etv_critic	EQU $0404	;vector for critical error chain
etv_term	EQU $0408	;vector for process terminate
etv_xtra	EQU $040C	;5 reserved vectors
memvalid	EQU $0420	;indicates system state on RESET
memcntrl	EQU $0424	;mem controller config nibble
resvalid	EQU $0426	;validates 'resvector'
resvector	EQU $042A	;[RESET] bailout vector
phystop 	EQU $042E	;physical top of RAM
membot		EQU $0432	;bottom of available memory;
memtop		EQU $0436	;top of available memory;
memval2 	EQU $043A	;validates 'memcntlr' and 'memconf'
flock		EQU $043E	;floppy disk/FIFO lock variable
seekrate	EQU $0440	;default floppy seek rate
timer_ms	EQU $0442	;system timer calibration (in ms)
fverify 	EQU $0444	;nonzero: verify on floppy write
bootdev 	EQU $0446	;default boot device
palmode 	EQU $0448	;nonzero ==> PAL mode
defshiftmd	EQU $044A	;default video rez (first byte)
sshiftmd	EQU $044C	;shadow for 'shiftmd' register
v_bas_adr	EQU $044E	;pointer to base of screen memory
vblsem		EQU $0452	;semaphore to enforce mutex in vbl
nvbls		EQU $0454	;number of deferred vectors
vblqueue	EQU $0456	;pointer to vector of deferred vfuncs
colorptr	EQU $045A	;pointer to palette setup (or NULL)
screenpt	EQU $045E	;pointer to screen base setup (|NULL)
vbclock 	EQU $0462	;count of vblank interrupts
frclock 	EQU $0466	;count of unblocked vblanks (not blocked by vblsem)
hdv_init	EQU $046A	;hard disk initialization
swv_vec 	EQU $046E	;video change-resolution bailout
hdv_bpb 	EQU $0472	;disk "get BPB"
hdv_rw		EQU $0476	;disk read/write
hdv_boot	EQU $047A	;disk "get boot sector"
hdv_mediach	EQU $047E	;disk media change detect
cmdload 	EQU $0482	;nonzero: load COMMAND.COM from boot
conterm 	EQU $0484	;console/vt52 bitSwitches (%%0..%%2)
trp14ret	EQU $0486	;saved return addr for _trap14
critiret	EQU $048A	;saved return addr for _critic
themd		EQU $048E	;memory descriptor (MD)
_md		EQU $049E	;(more MD)
savptr		EQU $04A2	;pointer to register save area
nflops		EQU $04A6	;number of disks attached (0, 1+)
con_state	EQU $04A8	;state of conout() parser
save_row	EQU $04AC	;saved row# for cursor X-Y addressing
sav_context	EQU $04AE	;pointer to saved processor context
bufl_1		EQU $04B2	;two buffer-list headers
bufl_2		EQU $04B6
hz_200		EQU $04BA	;200hz raw system timer tick
the_env 	EQU $04BE	;Pointer to System-Environment
drvbits 	EQU $04C2	;bit vector of "live" block devices
dskbufp 	EQU $04C6	;pointer to common disk buffer
autopath	EQU $04CA	;pointer to autoexec path (or NULL)
vbl_list	EQU $04CE	;initial _vblqueue (to $4ee)
dumpflag	EQU $04EE	;screen-dump flag (non-zero abort screen dump)
prtabt		EQU $04F0	;printer abort flag
sysbase 	EQU $04F2	;-> base of OS
shell_p 	EQU $04F6	;-> global shell info
end_os		EQU $04FA	;-> end of OS memory usage
exec_os 	EQU $04FE	;-> address of shell to exec on startup
scr_dump	EQU $0502	;-> screen dump code
prv_lsto	EQU $0506	;-> _lstostat()
prv_lst 	EQU $050A	;-> _lstout()
prv_auxo	EQU $050E	;-> _auxostat()
prv_aux 	EQU $0512	;-> _auxout()
pun_ptr 	EQU $0516
memval3 	EQU $051A	;validates 'memcntlr' and 'memconf'

_is_prt 	EQU $051E
_is_aux 	EQU $0522
_is_con 	EQU $0526
_is_midi	EQU $052A
_is_ikbd	EQU $052E
_is_rawcon	EQU $0532
_is_dev6	EQU $0536
_is_dev7	EQU $053A

_i_prt		EQU $053E
_i_aux		EQU $0542
_i_con		EQU $0546
_i_midi 	EQU $054A
_i_ikbd 	EQU $054E
_i_rawcon	EQU $0552
_i_dev6 	EQU $0556
_i_dev7 	EQU $055A

_os_prt 	EQU $055E
_os_aux 	EQU $0562
_os_con 	EQU $0566
_os_midi	EQU $056A
_os_ikbd	EQU $056E
_os_rawcon	EQU $0572
_os_dev6	EQU $0576
_os_dev7	EQU $057A

_o_prt		EQU $057E
_o_aux		EQU $0582
_o_con		EQU $0586
_o_midi 	EQU $058A
_o_ikbd 	EQU $058E
_o_rawcon	EQU $0592
_o_dev6 	EQU $0596
_o_dev7 	EQU $059A

_p_cookies	EQU $05A0

cart_port	EQU $FA0000

os_start_old	EQU $FC0000
os_start_new	EQU $E00000

memconf 	EQU $FFFF8001	;memory configuration
vbasehi 	EQU $FFFF8201
vbasemid	EQU $FFFF8203	;Video base address
vcounthi	EQU $FFFF8205
vcountmid	EQU $FFFF8207
vcountlo	EQU $FFFF8209	;Video display counter
syncmode	EQU $FFFF820A	;video sync mode
vbaselo 	EQU $FFFF820D	;Video base address (lo; STE only)
linewid 	EQU $FFFF820F	;Width of a scan-line (Words, minus 1; STE only)
palette 	EQU $FFFF8240	;color registers 0..15
rezmode 	EQU $FFFF8260	;Resolution mode (0=320x200,1=640x200,2=640x400)
hscroll 	EQU $FFFF8265	;Horizontal scroll count (0..15; STE only)

color0		EQU $FFFF8240
color1		EQU $FFFF8242
color2		EQU $FFFF8244
color3		EQU $FFFF8246
color4		EQU $FFFF8248
color5		EQU $FFFF824A
color6		EQU $FFFF824C
color7		EQU $FFFF824E
color8		EQU $FFFF8250
color9		EQU $FFFF8252
color10 	EQU $FFFF8254
color11 	EQU $FFFF8256
color12 	EQU $FFFF8258
color13 	EQU $FFFF825A
color14 	EQU $FFFF825C
color15 	EQU $FFFF825E

diskctl 	EQU $FFFF8604	;disk controller data access
fifo		EQU $FFFF8606	;DMA mode control
dmahi		EQU $FFFF8609
dmamid		EQU $FFFF860B
dmalo		EQU $FFFF860D	;DMA base address

; GI ("psg") sound chip:
giselect	EQU $FFFF8800	;(W) sound chip register select
giwrite 	EQU $FFFF8802	;(W) sound chip write-data

; 68901 ("mfp") sticky chip:
mfp		EQU $FFFFFA00	;mfp base
gpip		EQU mfp+1	;general purpose I/O
aer		EQU mfp+3	;active edge reg
ddr		EQU mfp+5	;data direction reg
iera		EQU mfp+7	;interrupt enable A & B
ierb		EQU mfp+9
ipra		EQU mfp+$0B	;interrupt pending A & B
iprb		EQU mfp+$0D
isra		EQU mfp+$0F	;interrupt inService A & B
isrb		EQU mfp+$11
imra		EQU mfp+$13	;interrupt mask A & B
imrb		EQU mfp+$15
vr		EQU mfp+$17	;interrupt vector base
tacr		EQU mfp+$19	;timer A control
tbcr		EQU mfp+$1B	;timer B control
tcdcr		EQU mfp+$1D	;timer C & D control
tadr		EQU mfp+$1F	;timer A data
tbdr		EQU mfp+$21	;timer B data
tcdr		EQU mfp+$23	;timer C data
tddr		EQU mfp+$25	;timer D data
scr		EQU mfp+$27	;sync char
ucr		EQU mfp+$29	;USART control reg
rsr		EQU mfp+$2B	;receiver status
tsr		EQU mfp+$2D	;transmit status
udr		EQU mfp+$2F	;USART data

; 6850 registers:
keyctl		EQU $FFFFFC00	;keyboard ACIA control
keybd		EQU $FFFFFC02	;keyboard data
midictl 	EQU $FFFFFC04	;MIDI ACIA control
midi		EQU $FFFFFC06	;MIDI data

; FPU registers:
FP_stat 	EQU $FFFFFA40
FP_cmd		EQU $FFFFFA4A
FP_ccr		EQU $FFFFFA4E
FP_op		EQU $FFFFFA50

; Clock registers:
s_units 	EQU $FFFFFC21
s_tens		EQU $FFFFFC23
m_units 	EQU $FFFFFC25
m_tens		EQU $FFFFFC27
h_units 	EQU $FFFFFC29
h_tens		EQU $FFFFFC2B
weekday 	EQU $FFFFFC2D
day_units	EQU $FFFFFC2F
day_tens	EQU $FFFFFC31
mon_units	EQU $FFFFFC33
mon_tens	EQU $FFFFFC35
yr_units	EQU $FFFFFC37
yr_tens 	EQU $FFFFFC39
cl_mod		EQU $FFFFFC3B
cl_test 	EQU $FFFFFC3D
cl_reset	EQU $FFFFFC3F
		END
