mappers

package
Version: v0.0.0-...-7d09a16 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2020 License: GPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mapper

type Mapper interface {
	// Maps the CPU bus addressed into PRG range, sometimes it may return data
	CPUMapRead(address uint16) (*uint32, *uint8)
	// Returns mapped address, and whether it should veto the write
	CPUMapWrite(address uint16, data uint8) (*uint32, bool)

	// Maps the PPU bus addresses into CHR range
	PPUMapRead(address uint16) *uint32
	PPUMapWrite(address uint16, data uint8) *uint32

	// Resets the mapper
	Reset()

	// Returns the current mirroring type if it is given by the mapper
	MirroringType() MirroringType

	// IRQState returns whether a IRQ was signaled by the mapper to the CPU
	IRQState() bool

	// IRQClear clears the irq flag
	IRQClear()

	// NotifyScanline notifies the mapper that a scanline has occured
	NotifyScanline()
}

Mapper represents a NES cartridge mapper

type MirroringType

type MirroringType uint8

MirroringType represents the type of mirroring for the cartridge

const (
	Hardware MirroringType = iota
	Horizontal
	Vertical
	OneScreenLO
	OneScreenHI
)

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL