Versions in this module Expand all Collapse all v1 v1.0.0 Jan 26, 2024 Changes in this version + var ErrSavedStateMismatch = errors.New("saved state mismatch (probably different roms)") + type Cartridge interface + LoadState func(r *binario.Reader) error + MirrorMode func() MirrorMode + PendingIRQ func() bool + ReadCHR func(addr uint16) byte + ReadPRG func(addr uint16) byte + Reset func() + SaveState func(w *binario.Writer) error + ScanlineTick func() + WriteCHR func(addr uint16, data byte) + WritePRG func(addr uint16, data byte) + func NewCartridge(rom *ROM) (Cartridge, error) + type Mapper0 struct + func NewMapper0(cart *ROM) *Mapper0 + func (m *Mapper0) LoadState(r *binario.Reader) error + func (m *Mapper0) MirrorMode() MirrorMode + func (m *Mapper0) PendingIRQ() bool + func (m *Mapper0) ReadCHR(addr uint16) byte + func (m *Mapper0) ReadPRG(addr uint16) byte + func (m *Mapper0) Reset() + func (m *Mapper0) SaveState(w *binario.Writer) error + func (m *Mapper0) ScanlineTick() + func (m *Mapper0) WriteCHR(addr uint16, data byte) + func (m *Mapper0) WritePRG(addr uint16, data byte) + type Mapper007 struct + func NewMapper7(rom *ROM) *Mapper007 + func (m *Mapper007) LoadState(r *binario.Reader) error + func (m *Mapper007) MirrorMode() MirrorMode + func (m *Mapper007) PendingIRQ() bool + func (m *Mapper007) ReadCHR(addr uint16) byte + func (m *Mapper007) ReadPRG(addr uint16) byte + func (m *Mapper007) Reset() + func (m *Mapper007) SaveState(w *binario.Writer) error + func (m *Mapper007) ScanlineTick() + func (m *Mapper007) WriteCHR(addr uint16, data byte) + func (m *Mapper007) WritePRG(addr uint16, data byte) + type Mapper1 struct + func NewMapper1(rom *ROM) *Mapper1 + func (m *Mapper1) LoadState(r *binario.Reader) error + func (m *Mapper1) MirrorMode() MirrorMode + func (m *Mapper1) PendingIRQ() bool + func (m *Mapper1) ReadCHR(addr uint16) byte + func (m *Mapper1) ReadPRG(addr uint16) byte + func (m *Mapper1) Reset() + func (m *Mapper1) SaveState(w *binario.Writer) error + func (m *Mapper1) ScanlineTick() + func (m *Mapper1) WriteCHR(addr uint16, data byte) + func (m *Mapper1) WritePRG(addr uint16, data byte) + type Mapper2 struct + func NewMapper2(rom *ROM) *Mapper2 + func (m *Mapper2) LoadState(w *binario.Reader) error + func (m *Mapper2) MirrorMode() MirrorMode + func (m *Mapper2) PendingIRQ() bool + func (m *Mapper2) ReadCHR(addr uint16) byte + func (m *Mapper2) ReadPRG(addr uint16) byte + func (m *Mapper2) Reset() + func (m *Mapper2) SaveState(w *binario.Writer) error + func (m *Mapper2) ScanlineTick() + func (m *Mapper2) WriteCHR(addr uint16, data byte) + func (m *Mapper2) WritePRG(addr uint16, data byte) + type Mapper3 struct + func NewMapper3(rom *ROM) *Mapper3 + func (m *Mapper3) LoadState(r *binario.Reader) error + func (m *Mapper3) MirrorMode() MirrorMode + func (m *Mapper3) PendingIRQ() bool + func (m *Mapper3) ReadCHR(addr uint16) byte + func (m *Mapper3) ReadPRG(addr uint16) byte + func (m *Mapper3) Reset() + func (m *Mapper3) SaveState(w *binario.Writer) error + func (m *Mapper3) ScanlineTick() + func (m *Mapper3) WriteCHR(addr uint16, data byte) + func (m *Mapper3) WritePRG(addr uint16, data byte) + type Mapper4 struct + func NewMapper4(rom *ROM) *Mapper4 + func (m *Mapper4) LoadState(r *binario.Reader) error + func (m *Mapper4) MirrorMode() MirrorMode + func (m *Mapper4) PendingIRQ() (v bool) + func (m *Mapper4) ReadCHR(addr uint16) byte + func (m *Mapper4) ReadPRG(addr uint16) byte + func (m *Mapper4) Reset() + func (m *Mapper4) SaveState(w *binario.Writer) error + func (m *Mapper4) ScanlineTick() + func (m *Mapper4) WriteCHR(addr uint16, data byte) + func (m *Mapper4) WritePRG(addr uint16, data byte) + type MirrorMode = uint8 + const MirrorHorizontal + const MirrorSingle0 + const MirrorSingle1 + const MirrorVertical + type ROM struct + Battery bool + CHR []byte + CHRBanks int + MapperID uint8 + MirrorMode MirrorMode + PRG []byte + PRGBanks int + func OpenROM(filename string) (*ROM, error) + func (r *ROM) Checksum() uint32 + func (r *ROM) LoadState(reader *binario.Reader) error + func (r *ROM) SaveState(w *binario.Writer) error