;------------------------------------------------ ; include file for the 63B03 debugger ; file : debug.inc ;------------------------------------------------ ;------------------------------------------------ ; defines for the 63B03 internal I/O ;------------------------------------------------ ; DdrP1 equ $0000 ; DDR Port 1 DdrP2 equ $0001 ; DDR Port 2 DataP1 equ $0002 ; Data Port1 DataP2 equ $0003 ; Data Port 2 Tcon equ $0008 ; Timer Control THigh equ $0009 ; Timer high byte TLow equ $000A ; Timer low byte Timer equ $0009 ; Timer for word access TComH equ $000B ; Timer output compare high byte TComL equ $000C ; Timer output compare low byte TCom equ $000B ; Timer output compare word access TCapH equ $000D ; Timer input capture high byte TCapL equ $000E ; Timer input capture low byte TCap equ $000D ; Timer input capture word address ModBaud equ $0010 ; Sio baudrate and mode control register SioCon equ $0011 ; Sio control register SioRec equ $0012 ; Sio receive register SioSnd equ $0013 ; Sio transmit register RamCon equ $0014 ; Ram Control register ; ;------------------------------------------------ ; Some of the Interrupts I do not use here and now. ;------------------------------------------------ ; ToiInt equ $7FF0 ; vector them to RAM IciInt equ $7FF4 ; IrqInt equ $7FF8 ; NMIInt equ $7FFC ; ; ;------------------------------------------------ ; The bytes SioByte and SioStat are used as ; follows: ; SioByte is the latest received byte from the Sio ; SioStat indicates the status of the sio with the ; following bits: ; SioEcho equ %10000000 ; echo modus ON SioRaw equ %01000000 ; RAW input modus SioInAv equ %00100000 ; input received SioEsc equ %00010000 ; Run modus interrupt enable ; ;------------------------------------------------- ; constans etc.. for the program ;------------------------------------------------- ; lf equ $0A ; cr equ $0D ; eom equ $00 ; end of message ; ;------------------------------------------------- ; a few constants for single-step control ;------------------------------------------------- ; swic equ $3F ; opcode for swi start equ $4000 ; default start adres voor single-step nil equ $FFFF ; nil pointer ; ;--------------------- ; System entry points ;--------------------- ; SndData equ $F000 ; send a data byte to the sio RecSio equ $F003 ; receive a (raw) data byte from the sio RecData equ $F006 ; receive a (coocked) data byte from the sio SndStr equ $F009 ; send (X) ASCIZ string to the sio Prompt equ $F00C ; give a prompt NewLine equ $F00F ; print new line WaitRet equ $F012 ; wait for a return RecHex equ $F015 ; receive hex byte from the sio RecHex1 equ $F018 ; receive non-space byte from the sio ConvHex equ $F01B ; convert byte from ASCII -> hex SndHex equ $F01E ; send byte as two hex ASCII chars SndHex1 equ $F021 ; no-space send byte asc ASCII chars SndHDig equ $F024 ; send one hex digit RecAdr equ $F027 ; receive starta and enda from sio RecAdr1 equ $F02A ; receive enda from the sio CI equ $F02D ; Command Interpreter GetName equ $F030 ; get name string pointer for address Go equ $F033 ; edit memory Edit equ $F039 ; go start at some address HexFile equ $F03F ; download hexfile ModReg equ $F042 ; modify single-step registers Ver equ $F045 ; print version info Help equ $F048 ; give help message NoCmd equ $F04B ; No Command found Adr equ $F04E ; set start Adres Break equ $F051 ; set breakpoint address Cont equ $F054 ; Continue till address JmpSub equ $F057 ; -> JmpSub Step equ $F05A ; -> single-step GoBrks equ $F05D ; -> GoBreaks Trap equ $F060 ; -> Trap Stop equ $F063 ; -> Stop RunInt equ $F066 ; -> RunInt SndRegs equ $F069 ; -> SndRegs NumByt equ $F06C ; -> NumByt UnAsm equ $F06F ; -> UnAsm DisAsm equ $F072 ; -> DisAsm Tmon equ $F075 ; -> TMon Sys equ $F078 ; -> SYS SysIrq equ $F07B ; -> SysIrq ; ;--------------------- ; System calls function numbers ;--------------------- ; sysSusp equ $00 ; suspend task sysSleep equ $01 ; sleep for B clock ticks sysPer equ $02 ; periodic schedule sysSched equ $03 ; schedule a task sysPar equ $04 ; get scheduling par sysSusSig equ $05 ; suspend for signal sysSndSig equ $06 ; send a signal sysGetRes equ $07 ; get/suspend on resources sysGivRes equ $08 ; release resources sysSioSnd equ $09 ; send data to sio sysSioRec equ $0A ; receive/wait for sio byte sysIntWait equ $0B ; wait for an interrupt sysIntArm equ $0C ; clear interrupt status end