Debug device
From MSX Game Library
Proposal to improve the debugging protocol used by openMSX pseudo-device.
Based on: https://openmsx.org/manual/user.html#debugdevice
Debug device protocol
The additions are in bold. This proposal is 100% compatible with the old one if unused bits was set to 0.
-----------------------------------------------------------------------------
Port 0x2E - Mode Set Register
-----------------------------------------------------------------------------
7 6 5 4 3 2 1 0
│ │ │ │ └───┴───┴───┴── Mode-specific parameters
│ │ └───┴────────────────── Output mode (0 = OFF, 1 = single byte, 2 = multi byte)
│ └────────────────────────── Line feed mode (0 = line feed at mode change, 1 = no line feed)
└────────────────────────────── Functionality (0 = output, 1 = command)
-----------------------------------------------------------------------------
Functionality = output, Output mode = single byte
-----------------------------------------------------------------------------
7 6 5 4 3 2 1 0
‖ ‖ ‖ ‖ │ │ │ └── Hexadecimal mode (0 = OFF, 1 = ON)
0 ? 0 1 │ │ └────── Binary mode (0 = OFF, 1 = ON)
│ └────────── Decimal mode (0 = OFF, 1 = ON)
└────────────── ASCII mode (0 = OFF, 1 = ON)
-----------------------------------------------------------------------------
Functionality = output, Output mode = multi byte
-----------------------------------------------------------------------------
7 6 5 4 3 2 1 0
‖ ‖ ‖ ‖ │ │ └───┴── Mode (0 = hex, 1 = binary, 2 = decimal, 3 = ASCII mode)
0 ? 1 1 │ └────────── Data width (0 = 8 bits; 1 = 16 bits)
└────────────── Signed (0 = unsigned, 1 = signed)
-----------------------------------------------------------------------------
Functionality = command
-----------------------------------------------------------------------------
7 6 5 4 3 2 1 0
‖ └───┴───┴───┴───┴───┴───┴── Command ID (0x7F = break point)
1