coprocessor

package
v0.14.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2021 License: GPL-3.0, GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package coprocessor is used to capture execution/disassembly information from any program running on a coprocessor that may be present in an attached VCS cartridge. For example, CDFJ mapped cartridges have an ARM7TDMI available.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Coprocessor

type Coprocessor struct {
	// contains filtered or unexported fields
}

Coprocessor is used to handle the disassembly of instructions from an attached cartridge that contains a coprocessor.

func Add

func Add(vcs *hardware.VCS, cart *cartridge.Cartridge) *Coprocessor

Add returns a new Coprocessor instance if cartridge implements the coprocessor bus.

func (*Coprocessor) End added in v0.12.1

func (cop *Coprocessor) End(summary mapper.CartCoProcDisasmSummary)

End implements the CartCoProcDisassembler interface.

func (*Coprocessor) NewIteration

func (cop *Coprocessor) NewIteration(iterationType IterationType) *Iterate

NewIteration is the preferred method if initialistation for the Iterate type.

func (*Coprocessor) Start added in v0.12.1

func (cop *Coprocessor) Start()

Start implements the CartCoProcDisassembler interface.

func (*Coprocessor) Step added in v0.12.1

func (cop *Coprocessor) Step(entry mapper.CartCoProcDisasmEntry)

Step implements the CartCoProcDisassembler interface.

type Iterate

type Iterate struct {

	// information about the last execution (eg. screen coordinates)
	Details LastExecutionDetails

	// number of entries in the iterations
	Count int
	// contains filtered or unexported fields
}

Iterate facilitates traversal over the disasm of the the last execution of the coprocessor.

func (*Iterate) Next

func (itr *Iterate) Next() (*mapper.CartCoProcDisasmEntry, bool)

Return the next entry in the iteration.

func (*Iterate) SkipNext

func (itr *Iterate) SkipNext(n int) (*mapper.CartCoProcDisasmEntry, bool)

Skip the next N entries of the entry and return that entry.

func (*Iterate) Start

func (itr *Iterate) Start() (*mapper.CartCoProcDisasmEntry, bool)

Start new iterations.

type IterationType added in v0.14.0

type IterationType int
const (
	LastExecution IterationType = iota
	Disassembly
)

type LastExecutionDetails

type LastExecutionDetails struct {
	// values at beginning of execution
	Frame    int
	Scanline int
	Clock    int

	// values at end of execution
	Summary mapper.CartCoProcDisasmSummary
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL