peripherals

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2023 License: GPL-3.0, GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package peripherals is a container package for all the various peripherals for the Atari 2600 that are emulated. Most of these are controllers but it also includes the SaveKey for example.

Perhaps most importantly this package provides the Fingerprint() function.

Index

Constants

This section is empty.

Variables

View Source
var AvailableLeftPlayer = []string{"Stick", "Paddle", "Keypad", "Gamepad"}

AvailableLeftPlayer is the list of peripherals that can feasibly be plugged into the left player port.

These are the values that can be returned by the ID() function of the ports.Peripheral implementations in this package.

Note that SaveKey and AtariVox can both technically be inserted into the left player but to keep things simple (we don't want multiple savekeys) we don't encourage it.

View Source
var AvailableRightPlayer = []string{"Stick", "Paddle", "Keypad", "Gamepad", "SaveKey", "AtariVox"}

AvailableRightPlayer is the list of peripherals that can feasibly be plugged into the right player port.

These are the values that can be returned by the ID() function of the ports.Peripheral implementations in this package.

Functions

func Fingerprint

func Fingerprint(port plugging.PortID, data *[]byte) ports.NewPeripheral

Fingerprint scans the raw cartridge data for patterns that indicate the requirement of a specific controller type.

The patterns in this file are taken from the Stella project. Specifically the following file (last retreived on 28th January 2022).

https://github.com/stella-emu/stella/blob/76914ded629db887ef612b1e5c9889220808191a/src/emucore/ControllerDetector.cxx

Stella is licenced under the GNU General Public License as published by the Free Software Foundation, version 2 or any later version.

https://github.com/stella-emu/stella/blob/76914ded629db887ef612b1e5c9889220808191a/Copyright.txt

Types

This section is empty.

Directories

Path Synopsis
Package atarivox implements the atarivox peripheral.
Package atarivox implements the atarivox peripheral.
atarivoxengines
Package atarivoxengines contains implementations of the AtariVoxEngine interface, for use with the AtariVox peripheral.
Package atarivoxengines contains implementations of the AtariVoxEngine interface, for use with the AtariVox peripheral.
Package controllers contains the implementations for all the emulated controllers for the VCS.
Package controllers contains the implementations for all the emulated controllers for the VCS.
Package savekey implements the SaveKey external memory card.
Package savekey implements the SaveKey external memory card.
i2c
Package i2c facilitates the reading of i2c data for the SaveKey (and AtariVox) peripherals.
Package i2c facilitates the reading of i2c data for the SaveKey (and AtariVox) peripherals.

Jump to

Keyboard shortcuts

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