debugger: support octal on the Mac native debugger [R. Belmont]

This commit is contained in:
arbee 2021-10-27 22:02:48 -04:00
parent 44467bff32
commit 374a6c6546

View File

@ -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"