home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
pd
/
programming
/
debug-utils
/
sim
/
docs
/
sim.base
< prev
next >
Wrap
Text File
|
1993-03-16
|
6KB
|
169 lines
-------------------------------------------------------------------------------
S.I.M. Base Structure
-------------------------------------------------------------------------------
;--- Base ---------
STRUCT toolbase ;+0 The start address of SIM in memory
;--- Display ------
APTR plane ;+0 The start address of the $5000 bytes display ram
(must be graphic memory!)
APTR backup ;+4 The start address of the backup of the display.
When not zero, SIM will copy what is in the
memory of the future display to this address
when entered and copy it back when left.
;--- Entrances ----
JMP entrance1 ;+8 Entrance for JSR. Here you can simply enter SIM
by a 'JSR' to this address.
JMP entrance2 ;+12 Entrance for Exec's traphandle. When you want to
use SIM as traphandler of your task, write this
address to <taskstruct+50>.
JMP entrance3 ;+16 Debug server entrance.
LONG 0 ;+20 *** RESERVED FOR EXPANSION ***
;--- Traps -------- ;When a trap is set directly, its vector is set to
;the corresponding entrance in here.
JMP entrance22 ;+24 Bus error
JMP entrance23 ;+28 Address error
JMP entrance24 ;+32 Illegal instruction
JMP entrance25 ;+36 Divide-by-zero
JMP entrance26 ;+40 CHK instruction
JMP entrance27 ;+44 TRAPV instruction
JMP entrance28 ;+48 Privilege violation
JMP entrance29 ;+52 Trace
JMP entrance2a ;+56 Op Code 1010
JMP entrance2b ;+60 Op Code 1111
;--- Signal -------
LONG "SIM!" ;+64 This Long signals that this is SIM
LONG version ;+68 Version of SIM as 4 ASCII chars
;--- Backups ------ ;When SIM is entered it backups some customregisters
;and vectors here.
WORD dmacon ;+72 $DFF096/002
WORD intena ;+74 $DFF09A/01C
WORD intreq ;+76 $DFF09C/01E
LONG level2 ;+78 VBR+$68
LONG level3 ;+82 VBR+$6C
BYTE ciaacra ;+86 $BFEE01
BYTE ciaacrb ;+87 $BFEF01
BYTE ciabcra ;+88 $BFDE00
BYTE ciabcrb ;+89 $BFDF00
BYTE ciaapra ;+90 $BFE001
BYTE ciaaprb ;+91 $BFE101
BYTE ciaaddra ;+92 $BFE201
BYTE ciaaddrb ;+93 $BFE301
BYTE ciabddra ;+94 $BFD200
BYTE ciaasp ;+95 $BFEC01
LONG vpos ;+96 $DFF004
;--- Reentry ------ ;Reentry values of things that can't be saved.
;When SIM is left, it inits the registers named
;with the values in this list.
WORD $2981 ;+100 DIWSTRT
WORD $29c1 ;+102 DIWSTOP
WORD $0038 ;+104 DDFSTRT
WORD $00d0 ;+106 DDFSTOP
WORD $5200 ;+108 BPLCON0
WORD $0000 ;+110 BPLCON1
WORD $0000 ;+112 BPLMOD1
WORD $0000 ;+114 COLOR00
WORD $0000 ;+116 COLOR01
;--- ICR Special -- ;The ICR data and mask.
BYTE lasticr ;+118 $BFED00 read
BYTE reentryicrmask ;+119 $BFED00 write
;--- Distances ---- ;Distances to internal structures.
LONG disasscalc-base ;+120 Distance to disasscalc module
LONG preferences-base;+124 Distance to preferences structure
;--- Debug -------- ;Debug server structure for entrance 3.
LONG 0 ;+128 Offset from here to end of inited part
LONG "????" ;+132 Sign of server
;--- Program ------ ;The registers of the program that is debugged.
LONG 0 ;+136 Register d0
LONG 0 ;+140 Register d1
LONG 0 ;+144 Register d2
LONG 0 ;+148 Register d3
LONG 0 ;+152 Register d4
LONG 0 ;+156 Register d5
LONG 0 ;+160 Register d6
LONG 0 ;+164 Register d7
LONG 0 ;+168 Register a0
LONG 0 ;+172 Register a1
LONG 0 ;+176 Register a2
LONG 0 ;+180 Register a3
LONG 0 ;+184 Register a4
LONG 0 ;+188 Register a5
LONG 0 ;+192 Register a6
LONG 0 ;+196 User stack pointer
LONG 0 ;+200 Supervisor stack pointer/ISP
LONG 0 ;+204 PC of program
WORD 0 ;+208 SR of program
;--- Server data --
LONG 0 ;+210 Reentry routine of server
LONG 0 ;+214 Reentry usp of server
LONG 0 ;+218 Reentry ssp of server/ISP
LONG 0 ;+222 Reentry sr of server
;--- Extension ----
APTR 0 ;+224 Pointer to zero ended list of APTRs that point
to zero ended texts. The texts in this list are
printed and the pointer is cleared
APTR 0 ;+228 Pointer to task structure
APTR 0 ;+232 Segmentlist
APTR 0 ;+236 Symbollist with labels
LONG 0 ;+240 MSP (68020+ only)
LONG 0 ;+244 Reentry MSP (68020+ only)
LONG 0,0 ; RESERVED
LONG sim_size ;+256 Size of SIM
BYTE 0 ;+260 CPU information
BYTE 0 ;+261 MMU information
WORD 0 ;+262 BEAMCON0 reentry value
LONG 0 ;+264 VBR
;--- End ---------- ;+268 This is the end of the actual structure
--------------------------------------------------------------------------------