Documentation ¶
Overview ¶
Package plusrom implements the PlusROM cartridge as developed by Wolfgang Stubig. Information here:
http://pluscart.firmaplus.de/pico/?PlusROM
An AtariAge thread with the original discussion here:
https://atariage.com/forums/topic/297172-pluscart-an-inexpensive-diy-wifi-multicart/
Index ¶
- Variables
- func NewPlusROM(env *environment.Environment, child mapper.CartMapper) (mapper.CartMapper, error)
- type AddrInfo
- type PlusROM
- func (cart *PlusROM) Access(addr uint16, peek bool) (data uint8, mask uint8, err error)
- func (cart *PlusROM) AccessPassive(addr uint16, data uint8) error
- func (cart *PlusROM) AccessVolatile(addr uint16, data uint8, poke bool) error
- func (cart *PlusROM) ContainerID() string
- func (cart *PlusROM) CopyBanks() []mapper.BankContent
- func (cart *PlusROM) GetAddrInfo() AddrInfo
- func (cart *PlusROM) GetBank(addr uint16) mapper.BankInfo
- func (cart *PlusROM) GetRAM() []mapper.CartRAM
- func (cart *PlusROM) GetRegisters() mapper.CartRegisters
- func (cart *PlusROM) GetSendState() SendState
- func (cart *PlusROM) GetStatic() mapper.CartStatic
- func (cart *PlusROM) GetTapeState() (bool, mapper.CartTapeState)
- func (cart *PlusROM) ID() string
- func (cart *PlusROM) MappedBanks() string
- func (cart *PlusROM) NumBanks() int
- func (cart *PlusROM) Patch(offset int, data uint8) error
- func (cart *PlusROM) Plumb(env *environment.Environment)
- func (cart *PlusROM) PutRAM(bank int, idx int, data uint8)
- func (cart *PlusROM) PutRegister(register string, data string)
- func (cart *PlusROM) PutStatic(segment string, idx int, data uint8) bool
- func (cart *PlusROM) Reset()
- func (cart *PlusROM) Rewind()
- func (cart *PlusROM) RewindBoundary() bool
- func (cart *PlusROM) SetAddrInfo(host string, path string) (hostValid bool, pathValid bool)
- func (cart *PlusROM) SetBank(bank string) error
- func (cart *PlusROM) SetSendBuffer(idx int, data uint8)
- func (cart *PlusROM) Snapshot() mapper.CartMapper
- func (cart *PlusROM) Step(clock float32)
- type SendState
Constants ¶
This section is empty.
Variables ¶
var CannotAdoptROM = errors.New("cannot adopt ROM")
var NotAPlusROM = errors.New("not a plus rom")
sentinal errors indicating a specific problem with the attempt to load the child cartridge into the PlusROM.
Functions ¶
func NewPlusROM ¶
func NewPlusROM(env *environment.Environment, child mapper.CartMapper) (mapper.CartMapper, error)
Types ¶
type PlusROM ¶
type PlusROM struct {
// contains filtered or unexported fields
}
PlusROM wraps another mapper.CartMapper inside a network aware format.
func (*PlusROM) AccessPassive ¶ added in v0.20.0
AccessPassive implements the mapper.CartMapper interface.
func (*PlusROM) AccessVolatile ¶ added in v0.20.0
AccessVolatile implements the mapper.CartMapper interface.
func (*PlusROM) ContainerID ¶
ID implements the mapper.CartContainer interface.
func (*PlusROM) CopyBanks ¶
func (cart *PlusROM) CopyBanks() []mapper.BankContent
CopyBanks implements the mapper.CartMapper interface.
func (*PlusROM) GetAddrInfo ¶ added in v0.25.0
GetAddrInfo returns a new instance of AddrInfo.
func (*PlusROM) GetRegisters ¶
func (cart *PlusROM) GetRegisters() mapper.CartRegisters
GetGetRegisters implements the mapper.CartRegistersBus interface.
func (*PlusROM) GetSendState ¶ added in v0.20.0
GetSendState returns the current state of the network
func (*PlusROM) GetStatic ¶
func (cart *PlusROM) GetStatic() mapper.CartStatic
GetStatic implements the mapper.CartStaticBus interface.
func (*PlusROM) GetTapeState ¶
func (cart *PlusROM) GetTapeState() (bool, mapper.CartTapeState)
GetTapeState implements the mapper.CartTapeBus interface.
func (*PlusROM) MappedBanks ¶ added in v0.15.0
MappedBanks implements the mapper.CartMapper interface.
func (*PlusROM) Plumb ¶
func (cart *PlusROM) Plumb(env *environment.Environment)
Plumb implements the mapper.CartMapper interface.
func (*PlusROM) PutRegister ¶
PutRegister implements the mapper.CartRegistersBus interface.
func (*PlusROM) Reset ¶
func (cart *PlusROM) Reset()
Reset implements the mapper.CartMapper interface.
func (*PlusROM) Rewind ¶
func (cart *PlusROM) Rewind()
Rewind implements the mapper.CartTapeBus interface.
func (*PlusROM) RewindBoundary ¶
RewindBoundary implements the mapper.CartRewindBoundary interface.
func (*PlusROM) SetAddrInfo ¶
SetAddrInfo updates the host/path information int the PlusROM.
func (*PlusROM) SetSendBuffer ¶
SetSendBuffer sets the entry that is idx places from the front with the specified value.
func (*PlusROM) Snapshot ¶
func (cart *PlusROM) Snapshot() mapper.CartMapper
Snapshot implements the mapper.CartMapper interface.
type SendState ¶ added in v0.20.0
type SendState struct { // the data that will be sent to the PlusROM network Buffer [sendBufferCap]uint8 // the send buffer entry which will (over-)written next WritePtr uint8 // the number of cpu clocks before the send buffer is transmitted over the // network. the value assigned to this field is not accurate with regards // to the baud rate of the PlusCart or the VCS system clock // // if the timeout value is zero then there is no pending transmission Cycles int // the amount of data to be transmitted when Cycles reaches zero. has no // meaning if Cycles equals zero. not the same as WritePtr SendLen uint8 }