maria

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2025 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ContextError = errors.New("maria")

the wrapping error for any errors passed to Context.Break()

Functions

This section is empty.

Types

type CPU

type CPU interface {
	InInterrupt() bool
}

type Context

type Context interface {
	Break(error)
	Spec() spec.Spec
	UseOverlay() bool
}

Context allows Maria to signal a break

type Maria

type Maria struct {

	// the current coordinates of the TV image
	Coords coords

	// the current television specificaion (NTSC, PAL, etc.)
	Spec spec.Spec

	// current DLL
	DLL dll
	DL  dl

	// the most recent DLLs. reset on start of DMA of a new frame. used for
	// debugging feedback
	RecentDLL []dll
	RecentDL  []dl
	// contains filtered or unexported fields
}

func Create

func Create(ctx Context, g *gui.GUI, mem Memory, cpu CPU, limit limiter) *Maria

func (*Maria) Access

func (mar *Maria) Access(write bool, idx uint16, data uint8) (uint8, error)

func (*Maria) Label

func (mar *Maria) Label() string

func (*Maria) PushRender

func (mar *Maria) PushRender()

func (*Maria) Read

func (mar *Maria) Read(idx uint16) (uint8, error)

func (*Maria) Reset

func (mar *Maria) Reset()

func (*Maria) Status

func (mar *Maria) Status() string

func (*Maria) String added in v0.4.3

func (mar *Maria) String() string

func (*Maria) Tick

func (mar *Maria) Tick(dmaLatch bool) (dma bool, rdy bool, nmi bool)

dmaLatch indicates that the DMA can begin if the preDMA has been reached.

From the '7800 Software Guide' "The DMA start-up may be delayed if the 6502 clock isn't at the end of a cycle when DMA begins."

func (*Maria) Write

func (mar *Maria) Write(idx uint16, data uint8) error

type Memory

type Memory interface {
	Read(address uint16) (uint8, error)
	Write(address uint16, data uint8) error
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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