Documentation ¶
Overview ¶
Package disassembly facilitates the disassembly of any coprocessor program in compatible ROM.
Should not be confused with the disassembly package in the project root, which handles disassembly of the 6507 program.
Index ¶
- type DisasmEntries
- type Disassembly
- func (dsm *Disassembly) BorrowDisassembly(f func(*DisasmEntries))
- func (dsm *Disassembly) Enable(enable bool)
- func (dsm *Disassembly) End(summary mapper.CartCoProcDisasmSummary)
- func (dsm *Disassembly) IsEnabled() bool
- func (dsm *Disassembly) Start()
- func (dsm *Disassembly) Step(entry mapper.CartCoProcDisasmEntry)
- type TV
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DisasmEntries ¶
type DisasmEntries struct { Enabled bool Entries map[string]mapper.CartCoProcDisasmEntry Keys []string // sorted keys into the disasm map LastExecution []mapper.CartCoProcDisasmEntry LastExecutionSummary mapper.CartCoProcDisasmSummary LastStart coords.TelevisionCoords }
DisasmEntries contains all the current information about the coprocessor disassembly, including whether disassembly is currently enabled.
type Disassembly ¶
type Disassembly struct {
// contains filtered or unexported fields
}
Disassembly is used to handle the disassembly of instructions from an attached cartridge that contains a coprocessor.
func NewDisassembly ¶
func NewDisassembly(tv TV, cart mapper.CartCoProcBus) *Disassembly
NewDisassembly returns a new Coprocessor instance if cartridge implements the coprocessor bus.
func (*Disassembly) BorrowDisassembly ¶
func (dsm *Disassembly) BorrowDisassembly(f func(*DisasmEntries))
BorrowDisasm will lock the DisasmEntries structure for the durction of the supplied function, which will be executed with the disasm structure as an argument.
Should not be called from the emulation goroutine.
func (*Disassembly) Enable ¶
func (dsm *Disassembly) Enable(enable bool)
Enable or disable coprocessor disassembly. We retain the disassembly (including last execution) already gathered but the LastExecution field is cleared on disable. The general disassembly is maintained.
func (*Disassembly) End ¶
func (dsm *Disassembly) End(summary mapper.CartCoProcDisasmSummary)
End implements the CartCoProcDisassembler interface.
func (*Disassembly) IsEnabled ¶
func (dsm *Disassembly) IsEnabled() bool
IsEnabled returns true if coprocessor disassembly is currently active.
func (*Disassembly) Start ¶
func (dsm *Disassembly) Start()
Start implements the CartCoProcDisassembler interface.
func (*Disassembly) Step ¶
func (dsm *Disassembly) Step(entry mapper.CartCoProcDisasmEntry)
Step implements the CartCoProcDisassembler interface.
type TV ¶
type TV interface {
AdjCoords(adj television.Adj, amount int) coords.TelevisionCoords
}