cdf

package
v0.23.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: GPL-3.0, GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package cdf implemnents the various CDF type cartridge mappers including CDFJ. It was developed with reference to Darrell Spice's CDJF blog and the source to the various example ROMs therein

https://atariage.com/forums/forum/262-cdfj/

Also, it seems that most complete survey of details for this cartridge type is the Stella source code. Therefore, I have resorted to the study of the CartCDF.cxx file as found in Stella 6.4.

Note that all CDF formats rely on the arm7 package.

Index

Constants

View Source
const (
	DSCOMM = 32
	DSJMP  = 33
)

registers should be accessed via readDatastreamPointer() and updateDatastreamPointer(). Actually reading the data in the data stream should be done by streamData().

The following values can be used for convenience. The numbered datastreams can be accessed numerically as expected.

The AMPLITUDE register must be accessed with version.amplitude because it can change depending on the CDF version being emulated.

View Source
const (
	NumDatastreams       = 32
	NumMusicDataFetchers = 3
)

Variables

This section is empty.

Functions

func NewCDF

func NewCDF(env *environment.Environment, version string, data []byte) (mapper.CartMapper, error)

NewCDF is the preferred method of initialisation for the CDF type.

Types

type Registers

type Registers struct {
	FastFetch  bool
	SampleMode bool

	// the MusicFetcher and Datastream feilds are copies of the data as it
	// exists in ARM memory
	MusicFetcher [NumMusicDataFetchers]musicDataFetcher
	Datastream   [NumDatastreams]datastream
}

Registers implements mappers.Registers.

func (Registers) String

func (r Registers) String() string

type State

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

func (*State) Snapshot

func (s *State) Snapshot() *State

type Static

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

Static implements the mapper.CartStatic interface.

func (*Static) HotLoad

func (stc *Static) HotLoad(cartData []byte)

func (*Static) IsExecutable added in v0.20.0

func (mem *Static) IsExecutable(addr uint32) bool

IsExecutable implements the arm.SharedMemory interface.

func (*Static) MapAddress

func (stc *Static) MapAddress(addr uint32, write bool) (*[]byte, uint32)

MapAddress implements the arm7tdmi.SharedMemory interface.

func (*Static) Read16bit added in v0.18.0

func (stc *Static) Read16bit(addr uint32) (uint16, bool)

Read16bit implements the mapper.CartStatic interface

func (*Static) Read32bit added in v0.18.0

func (stc *Static) Read32bit(addr uint32) (uint32, bool)

Read32bit implements the mapper.CartStatic interface

func (*Static) Read8bit added in v0.18.0

func (stc *Static) Read8bit(addr uint32) (uint8, bool)

Read8bit implements the mapper.CartStatic interface

func (*Static) Reference added in v0.18.0

func (stc *Static) Reference(segment string) ([]uint8, bool)

Reference implements the mapper.CartStatic interface

func (*Static) ResetVectors

func (stc *Static) ResetVectors() (uint32, uint32, uint32)

ResetVectors implements the arm7tdmi.SharedMemory interface.

func (*Static) Segments added in v0.18.0

func (stc *Static) Segments() []mapper.CartStaticSegment

Segments implements the mapper.CartStatic interface

func (*Static) Snapshot

func (stc *Static) Snapshot() *Static

Jump to

Keyboard shortcuts

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