mirror of
https://github.com/romychs/Ocean-240.2-Emulator.git
synced 2026-11-04 21:57:19 +03:00
ZEsarUX ZRCP Partial debug protocol implementation
This commit is contained in:
1 parent
b70b02a4be
commit
b200f269a0
18 files changed
+992
-314
No files matched your search
@@ -0,0 +1,74 @@
|
||||
package dezog
|
||||
|
||||
// Command - DZRP protocol command
|
||||
type Command struct {
|
||||
length uint32 // Length of the payload data. (little endian)
|
||||
sequence uint8 // Sequence number, 1-255. Increased with each command
|
||||
command uint8 // Command ID
|
||||
data []byte // Payload
|
||||
}
|
||||
|
||||
// Response - response on DZRP protocol command
|
||||
type Response struct {
|
||||
length uint32 // Length of the following data beginning with the sequence number. (little endian)
|
||||
sequence uint8 // Sequence number, same as command.
|
||||
data []byte // Payload
|
||||
}
|
||||
|
||||
// Notification - message from emulator to DEZOG
|
||||
type Notification struct {
|
||||
seqNo uint8 // Instead of Seq No.
|
||||
command uint8 // NTF_PAUSE = 1
|
||||
breakReason uint8 // Break reason: 0 = no reason (e.g. a step-over), 1 = manual break, 2 = breakpoint hit,
|
||||
// 3 = watchpoint hit read access, 4 = watchpoint hit write access, 255 = some other reason:
|
||||
//the reason string might have useful information for the user
|
||||
address uint16 // Breakpoint or watchpoint address.
|
||||
bank uint8 // The bank+1 of the breakpoint or watchpoint address.
|
||||
reason string // Null-terminated break reason string. Might in theory have almost 2^32 byte length.
|
||||
// In practice, it will be normally less than 256. If reason string is empty it will contain at
|
||||
// least a 0.
|
||||
}
|
||||
|
||||
const NTF_PAUSE = 1
|
||||
|
||||
// Notification, Break reasons
|
||||
const (
|
||||
BR_REASON_MANUAL = 1
|
||||
BR_REASON_BP_HIT = 2
|
||||
BR_REASON_WP_HIT_R = 3
|
||||
BR_REASON_WP_HIT_W = 4
|
||||
BR_REASON_OTHER = 255
|
||||
)
|
||||
|
||||
// DEZOG Commands to emulator
|
||||
const (
|
||||
CMD_INIT = 1
|
||||
CMD_CLOSE = 2
|
||||
CMD_GET_REGISTERS = 3
|
||||
CMD_SET_REGISTER = 4
|
||||
CMD_WRITE_BANK = 5
|
||||
CMD_CONTINUE = 6
|
||||
CMD_PAUSE = 7
|
||||
CMD_READ_MEM = 8
|
||||
CMD_WRITE_MEM = 9
|
||||
CMD_SET_SLOT = 10
|
||||
CMD_GET_TBBLUE_REG = 11
|
||||
CMD_SET_BORDER = 12
|
||||
CMD_SET_BREAKPOINTS = 13
|
||||
CMD_RESTORE_MEM = 14
|
||||
CMD_LOOPBACK = 15
|
||||
CMD_GET_SPRITES_PALETTE = 16
|
||||
CMD_GET_SPRITES_CLIP_WINDOW_AND_CONTROL = 17
|
||||
CMD_GET_SPRITES = 18
|
||||
CMD_GET_SPRITE_PATTERNS = 19
|
||||
CMD_READ_PORT = 20
|
||||
CMD_WRITE_PORT = 21
|
||||
CMD_EXEC_ASM = 22
|
||||
CMD_INTERRUPT_ON_OFF = 23
|
||||
CMD_ADD_BREAKPOINT = 40
|
||||
CMD_REMOVE_BREAKPOINT = 41
|
||||
CMD_ADD_WATCHPOINT = 42
|
||||
CMD_REMOVE_WATCHPOINT = 43
|
||||
CMD_READ_STATE = 50
|
||||
CMD_WRITE_STATE = 51
|
||||
)
|
||||
Reference in new issue
Block a user