Difference between revisions of "Debug device"

From MSX Game Library

Line 4: Line 4:
  
 
== Improved debug device protocol ==
 
== Improved debug device protocol ==
<pre>
+
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
+
  Port 0x2E - Mode Set Register
Port 0x2E - Mode Set Register
+
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
 
 
   7  6  5  4  3  2  1  0
 
   7  6  5  4  3  2  1  0
 
   │  │  │  │  └───┴───┴───┴── Mode-specific parameters
 
   │  │  │  │  └───┴───┴───┴── Mode-specific parameters
 
   │  │  └───┴────────────────── Output mode (0 = OFF, 1 = single byte, 2 = multi byte)
 
   │  │  └───┴────────────────── Output mode (0 = OFF, 1 = single byte, 2 = multi byte)
 
   │  └────────────────────────── Line feed mode (0 = line feed at mode change, 1 = no line feed)
 
   │  └────────────────────────── Line feed mode (0 = line feed at mode change, 1 = no line feed)
   └────────────────────────────── Functionality (0 = output, 1 = command)
+
   └────────────────────────────── <b>Functionality (0 = output, 1 = command)</b>
 
+
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
Functionality = output, Output mode = single byte
+
  Functionality = output, Output mode = single byte
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
 
   7  6  5  4  3  2  1  0
 
   7  6  5  4  3  2  1  0
 
   │  │  │  │  │  │  │  └── Hexadecimal mode (0 = OFF, 1 = ON)
 
   │  │  │  │  │  │  │  └── Hexadecimal mode (0 = OFF, 1 = ON)
Line 22: Line 21:
 
   │  │  │  │  │  └────────── Decimal mode (0 = OFF, 1 = ON)
 
   │  │  │  │  │  └────────── Decimal mode (0 = OFF, 1 = ON)
 
   :  :  :  :  └────────────── ASCII mode (0 = OFF, 1 = ON)
 
   :  :  :  :  └────────────── ASCII mode (0 = OFF, 1 = ON)
 
+
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
Functionality = output, Output mode = multi byte
+
  Functionality = output, Output mode = multi byte
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
 
   7  6  5  4  3  2  1  0
 
   7  6  5  4  3  2  1  0
 
   │  │  │  │  │  │  └───┴── Mode (0 = hex, 1 = binary, 2 = decimal, 3 = ASCII mode)
 
   │  │  │  │  │  │  └───┴── Mode (0 = hex, 1 = binary, 2 = decimal, 3 = ASCII mode)
   │  │  │  │  │  └────────── Data width (0 = 8 bits; 1 = 16 bits)
+
   │  │  │  │  │  └────────── <b>Data width (0 = 8 bits; 1 = 16 bits)</b>
   :  :  :  :  └────────────── Signed (0 = unsigned, 1 = signed)
+
   :  :  :  :  └────────────── <b>Signed (0 = unsigned, 1 = signed)</b>
 
+
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
Functionality = command
+
  Functionality = command
-----------------------------------------------------------------------------
+
-----------------------------------------------------------------------------
 
   7  6  5  4  3  2  1  0
 
   7  6  5  4  3  2  1  0
   :  └───┴───┴───┴───┴───┴───┴── Command ID (0x7F = break point)
+
   :  └───┴───┴───┴───┴───┴───┴── <b>Command ID (0x7F = break point)</b>
</pre>
+
</tt>
 
[[category:Proposal]]
 
[[category:Proposal]]

Revision as of 18:39, 27 July 2023

Proposal to improve the debugging protocol used by openMSX pseudo-device.

Based on: https://openmsx.org/manual/user.html#debugdevice

Improved debug device protocol

-----------------------------------------------------------------------------
 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)
 │   │   │   │   │   │   └────── 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)
 │   │   │   │   │   └────────── 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)

</tt>