summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2021-10-27 22:02:48 -0400
committer arbee <rb6502@users.noreply.github.com>2021-10-27 22:02:48 -0400
commit374a6c6546cce09ec5f521c1c42695387c1766c7 (patch)
tree074122e43e987e65dcfd799b11cfd99418946c84 /src/osd
parent44467bff325312e7c3fa516826ab2ae26b3fc55a (diff)
debugger: support octal on the Mac native debugger [R. Belmont]
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/debugger/osx/memoryview.mm69
1 files changed, 65 insertions, 4 deletions
diff --git a/src/osd/modules/debugger/osx/memoryview.mm b/src/osd/modules/debugger/osx/memoryview.mm
index 17d0ea639d4..1de39fc6ee8 100644
--- a/src/osd/modules/debugger/osx/memoryview.mm
+++ b/src/osd/modules/debugger/osx/memoryview.mm
@@ -57,6 +57,16 @@
{
return (memview->chunks_per_row() + [item tag]) > 0;
}
+ else if (action == @selector(showHexidecimalAddr:))
+ {
+ [item setState:((memview->address_radix() == 16) ? NSOnState : NSOffState)];
+ return YES;
+ }
+ else if (action == @selector(showOctalAddr:))
+ {
+ [item setState:((memview->address_radix() == 8) ? NSOnState : NSOffState)];
+ return YES;
+ }
else
{
return [super validateMenuItem:item];
@@ -184,6 +194,13 @@
downcast<debug_view_memory *>(view)->set_physical([sender tag]);
}
+- (IBAction)showHexidecimalAddr:(id)sender {
+ downcast<debug_view_memory *>(view)->set_address_radix(16);
+}
+
+- (IBAction)showOctalAddr:(id)sender {
+ downcast<debug_view_memory *>(view)->set_address_radix(8);
+}
- (IBAction)showReverseView:(id)sender {
downcast<debug_view_memory *>(view)->set_reverse([sender tag]);
@@ -222,34 +239,62 @@
- (void)insertActionItemsInMenu:(NSMenu *)menu atIndex:(NSInteger)index {
- NSMenuItem *chunkItem1 = [menu insertItemWithTitle:@"1-byte Chunks"
+ NSMenuItem *chunkItem1 = [menu insertItemWithTitle:@"1-byte Chunks (Hex)"
action:@selector(showChunkSize:)
keyEquivalent:@"1"
atIndex:index++];
[chunkItem1 setTarget:self];
[chunkItem1 setTag:int(debug_view_memory::data_format::HEX_8BIT)];
- NSMenuItem *chunkItem2 = [menu insertItemWithTitle:@"2-byte Chunks"
+ NSMenuItem *chunkItem2 = [menu insertItemWithTitle:@"2-byte Chunks (Hex)"
action:@selector(showChunkSize:)
keyEquivalent:@"2"
atIndex:index++];
[chunkItem2 setTarget:self];
[chunkItem2 setTag:int(debug_view_memory::data_format::HEX_16BIT)];
- NSMenuItem *chunkItem4 = [menu insertItemWithTitle:@"4-byte Chunks"
+ NSMenuItem *chunkItem4 = [menu insertItemWithTitle:@"4-byte Chunks (Hex)"
action:@selector(showChunkSize:)
keyEquivalent:@"4"
atIndex:index++];
[chunkItem4 setTarget:self];
[chunkItem4 setTag:int(debug_view_memory::data_format::HEX_32BIT)];
- NSMenuItem *chunkItem8 = [menu insertItemWithTitle:@"8-byte Chunks"
+ NSMenuItem *chunkItem8 = [menu insertItemWithTitle:@"8-byte Chunks (Hex)"
action:@selector(showChunkSize:)
keyEquivalent:@"8"
atIndex:index++];
[chunkItem8 setTarget:self];
[chunkItem8 setTag:int(debug_view_memory::data_format::HEX_64BIT)];
+ NSMenuItem *chunkItem12 = [menu insertItemWithTitle:@"1-byte Chunks (Octal)"
+ action:@selector(showChunkSize:)
+ keyEquivalent:@"3"
+ atIndex:index++];
+ [chunkItem12 setTarget:self];
+ [chunkItem12 setTag:int(debug_view_memory::data_format::OCTAL_8BIT)];
+
+ NSMenuItem *chunkItem13 = [menu insertItemWithTitle:@"2-byte Chunks (Octal)"
+ action:@selector(showChunkSize:)
+ keyEquivalent:@"5"
+ atIndex:index++];
+ [chunkItem13 setTarget:self];
+ [chunkItem13 setTag:int(debug_view_memory::data_format::OCTAL_16BIT)];
+
+ NSMenuItem *chunkItem14 = [menu insertItemWithTitle:@"4-byte Chunks (Octal)"
+ action:@selector(showChunkSize:)
+ keyEquivalent:@"7"
+ atIndex:index++];
+ [chunkItem14 setTarget:self];
+ [chunkItem14 setTag:int(debug_view_memory::data_format::OCTAL_32BIT)];
+
+ NSMenuItem *chunkItem15 = [menu insertItemWithTitle:@"8-byte Chunks (Octal)"
+ action:@selector(showChunkSize:)
+ keyEquivalent:@"9"
+ atIndex:index++];
+ [chunkItem15 setTarget:self];
+ [chunkItem15 setTag:int(debug_view_memory::data_format::OCTAL_64BIT)];
+
NSMenuItem *chunkItem9 = [menu insertItemWithTitle:@"32-bit floats"
action:@selector(showChunkSize:)
keyEquivalent:@"F"
@@ -273,6 +318,22 @@
[menu insertItem:[NSMenuItem separatorItem] atIndex:index++];
+ NSMenuItem *hexidecimalItem = [menu insertItemWithTitle:@"Hexidecimal Addresses"
+ action:@selector(showHexidecimalAddr:)
+ keyEquivalent:@"H"
+ atIndex:index++];
+ [hexidecimalItem setTarget:self];
+ [hexidecimalItem setTag:FALSE];
+
+ NSMenuItem *octalItem = [menu insertItemWithTitle:@"Octal Addresses"
+ action:@selector(showOctalAddr:)
+ keyEquivalent:@"O"
+ atIndex:index++];
+ [octalItem setTarget:self];
+ [octalItem setTag:TRUE];
+
+ [menu insertItem:[NSMenuItem separatorItem] atIndex:index++];
+
NSMenuItem *logicalItem = [menu insertItemWithTitle:@"Logical Addresses"
action:@selector(showPhysicalAddresses:)
keyEquivalent:@"v"