hoglet67 / AtomBusMon

This project is an open-source In-Circuit Emulator for the 6502, 65C02, Z80, 6809 and 6809E 8-bit processors. See:
https://github.com/hoglet67/AtomBusMon/wiki
GNU General Public License v3.0
100 stars 21 forks source link

Add go command #12

Open hoglet67 opened 4 years ago

hoglet67 commented 4 years ago

To force the CPU to start executing at a given location.

There are a couple of approaches to consider:

  1. Extend the CPU core to support register writing on the debug interface (T80 already has this)
  2. Force a JMP xxxx command onto the CPU core data bus
hoglet67 commented 4 years ago

In the 6502/65C02 I've added go and exec commands, which work by forcing opcode values onto the 6502 data bus.

It was quite involved to do this and there are race conditions with interrupts.

I'm not sure if I'm going to add this to the Z80 and 6809.

Let's see if it's every actually useful!

obiwanjacobi commented 4 years ago

Are there command to set register values? (a quick scan of the wiki says no) Jumping to an address is nice and all, but usually the contents of the register can matter quite a bit...

hoglet67 commented 4 years ago

No, currently it's not possible to set a register value.

This would be possible, but it would require some customizations to each core.