Documentation ¶
Overview ¶
Package dpcplus implements the DPC+ cartridge mapper. It was developed by adapting the existing DPC mapper, which is well documented. Differences to this extended mapper were learned by studying the following URLs.
https://atariage.com/forums/blogs/entry/11712-dpc-arm-development/?tab=comments#comment-27116
https://atariage.com/forums/topic/163834-harmony-dpc-arm-programming/
The only DPC+ ROMs that I am aware of that don't use the Harmony ARM coprocessor is, Chaotic Grill and the ROM titled "DPC+demo.bin" by Darrell Sprice.
Index ¶
- func NewDPCplus(env *environment.Environment, loader cartridgeloader.Loader) (mapper.CartMapper, error)
- type Registers
- type State
- type Static
- func (mem *Static) IsExecutable(addr uint32) bool
- func (stc *Static) MapAddress(addr uint32, write bool, executing bool) (*[]byte, uint32)
- func (stc *Static) Read16bit(addr uint32) (uint16, bool)
- func (stc *Static) Read32bit(addr uint32) (uint32, bool)
- func (stc *Static) Read8bit(addr uint32) (uint8, bool)
- func (stc *Static) Reference(segment string) ([]uint8, bool)
- func (stc *Static) ResetVectors() (uint32, uint32, uint32)
- func (stc *Static) Segments() []mapper.CartStaticSegment
- func (stc *Static) Snapshot() *Static
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDPCplus ¶
func NewDPCplus(env *environment.Environment, loader cartridgeloader.Loader) (mapper.CartMapper, error)
NewDPCplus is the preferred method of initialisation for the dpcPlus type.
Types ¶
type Registers ¶
type Registers struct { Fetcher [8]dataFetcher FracFetcher [8]fractionalDataFetcher MusicFetcher [3]musicDataFetcher // random number generator RNG randomNumberFetcher // fast fetch read mode FastFetch bool }
Registers implements the mapper.CartRegistersBus interface.
type Static ¶
type Static struct {
// contains filtered or unexported fields
}
Static implements the mapper.CartStatic interface.
func (*Static) IsExecutable ¶ added in v0.20.0
IsExecutable implements the arm.SharedMemory interface.
func (*Static) MapAddress ¶
MapAddress implements the arm.SharedMemory interface.
func (*Static) ResetVectors ¶
ResetVectors implements the arm.SharedMemory interface.
func (*Static) Segments ¶ added in v0.18.0
func (stc *Static) Segments() []mapper.CartStaticSegment
Segments implements the mapper.CartStatic interface