Difference between revisions of "Debug device"

From MSX Game Library

Line 4: Line 4:
  
 
== Debug device protocol ==
 
== Debug device protocol ==
The additions are marked with <tt>##</tt> prefix. This proposal is 100% compatible with the old one if unused bits was set to 0.
+
The additions are surrounded with <tt>[]</tt> prefix. This proposal is 100% compatible with the old one if unused bits was set to 0.
  
 
<syntaxhighlight lang="txt">
 
<syntaxhighlight lang="txt">
Line 12: Line 12:
 
  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, [3 = formated string])
 
  │  └────────────────────────── 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)
+
  └────────────────────────────── [Functionality (0 = output, 1 = command)]
 
   
 
   
 
-----------------------------------------------------------------------------
 
-----------------------------------------------------------------------------
Line 30: Line 30:
 
  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)
  0  ?  1  1  │  └────────── ## Data width (0 = 8 bits; 1 = 16 bits)
+
  0  ?  1  1  │  └────────── [Data width (0 = 8 bits; 1 = 16 bits)]
                 └────────────── ## Signed (0 = unsigned, 1 = signed)
+
                 └────────────── [Signed (0 = unsigned, 1 = signed)]
 
   
 
   
 
-----------------------------------------------------------------------------
 
-----------------------------------------------------------------------------
Line 37: Line 37:
 
-----------------------------------------------------------------------------
 
-----------------------------------------------------------------------------
 
  7  6  5  4  3  2  1  0
 
  7  6  5  4  3  2  1  0
  ‖  └───┴───┴───┴───┴───┴───┴── ## Command ID (0x7F = break point)
+
  ‖  └───┴───┴───┴───┴───┴───┴── [Command ID (0x7F = break point)]
 
  1
 
  1
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[category:Proposal]]
 
[[category:Proposal]]

Revision as of 23:35, 5 May 2024

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 surrounded with [] prefix. 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, [3 = formated string])
 │   └────────────────────────── 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