Added mbc/cartridge command to debugger
This commit is contained in:
parent
6fd2daae06
commit
a3b44d20cb
@ -539,6 +539,50 @@ static bool examine(GB_gameboy_t *gb, char *arguments)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool mbc(GB_gameboy_t *gb, char *arguments)
|
||||||
|
{
|
||||||
|
if (strlen(lstrip(arguments))) {
|
||||||
|
gb_log(gb, "Usage: mbc\n");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const GB_cartridge_t *cartridge = gb->cartridge_type;
|
||||||
|
|
||||||
|
if (cartridge->has_ram) {
|
||||||
|
gb_log(gb, "Cartrdige includes%s RAM: %zx\n", cartridge->has_battery? "battery-backed ": "", gb->mbc_ram_size);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
gb_log(gb, "No cartridge RAM\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cartridge->mbc_type) {
|
||||||
|
gb_log(gb, "MBC%d\n", cartridge->mbc_type);
|
||||||
|
gb_log(gb, "Current mapped ROM bank: %x\n", gb->mbc_rom_bank);
|
||||||
|
if (cartridge->has_ram) {
|
||||||
|
gb_log(gb, "Current mapped RAM bank: %x\n", gb->mbc_ram_bank);
|
||||||
|
gb_log(gb, "RAM is curently %s\n", gb->mbc_ram_enable? "enabled" : "disabled");
|
||||||
|
}
|
||||||
|
if (cartridge->mbc_type == MBC1) {
|
||||||
|
gb_log(gb, "MBC1 banking mode is %s\n", gb->mbc_ram_banking? "RAM" : "ROM");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
gb_log(gb, "No MBC\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cartridge->has_rumble) {
|
||||||
|
gb_log(gb, "Cart contains a rumble pak\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cartridge->has_rtc) {
|
||||||
|
gb_log(gb, "Cart contains a real time clock\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static bool help(GB_gameboy_t *gb, char *arguments);
|
static bool help(GB_gameboy_t *gb, char *arguments);
|
||||||
static const debugger_command_t commands[] = {
|
static const debugger_command_t commands[] = {
|
||||||
{"continue", 1, cont, "Continue running until next stop"},
|
{"continue", 1, cont, "Continue running until next stop"},
|
||||||
@ -546,6 +590,8 @@ static const debugger_command_t commands[] = {
|
|||||||
{"step", 1, step, "Run the next instruction, stepping into function calls"},
|
{"step", 1, step, "Run the next instruction, stepping into function calls"},
|
||||||
{"finish", 1, finish, "Run until the current function returns"},
|
{"finish", 1, finish, "Run until the current function returns"},
|
||||||
{"registers", 1, registers, "Print values of processor registers and other important registers"},
|
{"registers", 1, registers, "Print values of processor registers and other important registers"},
|
||||||
|
{"cartridge", 2, mbc, "Displays information about the MBC and cartridge"},
|
||||||
|
{"mbc", 3, mbc, NULL},
|
||||||
{"breakpoint", 1, breakpoint, "Move the breakpoint to a new position"},
|
{"breakpoint", 1, breakpoint, "Move the breakpoint to a new position"},
|
||||||
{"list", 1, list, "List all set breakpoints"},
|
{"list", 1, list, "List all set breakpoints"},
|
||||||
{"delete", 2, delete, "Delete a breakpoint by its address, or all breakpoints"},
|
{"delete", 2, delete, "Delete a breakpoint by its address, or all breakpoints"},
|
||||||
|
Loading…
Reference in New Issue
Block a user