diff options
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 |
commit | 374a6c6546cce09ec5f521c1c42695387c1766c7 (patch) | |
tree | 074122e43e987e65dcfd799b11cfd99418946c84 /src/osd | |
parent | 44467bff325312e7c3fa516826ab2ae26b3fc55a (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.mm | 69 |
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" |