Here we'll note some of the URLs we've found while working on this project that may come in useful later...

[https://weekly-geekly.github.io/articles/313218/index.html|Vectrex and 6522 description] [https://roadsidethoughts.com/vectrex/vectrex-6522-interface-adapter.htm|More 6522 info]

[https://github.com/adafruit/Adafruit-Retrogame|GPIO to keyboard driver] - although we will primarily be using the Vectrex controller for input, we can imagine that some users will want to wire up their own [http://timbartlett.net/asteroids-pi/|custom controllers] to the Pi's GPIOs.  This code from Adafruit shows how to map a GPIO signal to a keyboard press.  Of course there are also many USB I/O devices as well that won't need to use any of the few remaining free (and hard to get physical access to) GPIO pins.

[http://www.projekte.daleske.de/prog/11_EMUZ80_RPI/prog_EMUZ80_RPI_en.htm|Bare metal Z80 emulator] - Probably never necessary, but if we wanted to create an environment where the PiTrex boots up fast and acts like a Vectrex, this bare-metal z80 emulator might give some good hints as to how to implement something like that.  An emulator really doesn't need any of the overhead of an O/S - just somewhere to read files from and screen+I/O which in our case is done by direct access to the Vectrex.  (Other bare metal resources: [https://github.com/randyrossi/bmc64|C64] [https://github.com/search?q=bare+metal+pi|everything at github] [http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-programming-in-cpt1/|C] [https://www.raspberrypi.org/forums/viewtopic.php?t=92579|Bare metal USB stack] [https://www.raspberrypi.org/forums/viewforum.php?f=72|asm] [http://www.valvers.com/open-software/raspberry-pi/creating-a-bootable-sd-card/|booting] [https://github.com/ashafq/metalpi/blob/master/src/main.c|metalpi] [https://github.com/kakoee/RPI3-BareMetalC/blob/master/src/main.c|Pi3 bare metal C] [https://github.com/BlockWorksCo/Alloy|Alloy: multicore - bare metal plus linux] [https://github.com/BlockWorksCo/Alloy/blob/master/Documentation/RaspberryPi.md|config for Alloy] [http://www.stevebate.net/chibios-rpi/GettingStarted.html|ChibiOS RT - getting started tutorial] [https://github.com/rsta2/circle|Circle]

[https://raspberrypi.stackexchange.com/questions/79697/high-resolution-timer|High resolution timers] [https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=228404&p=1400908&hilit=nanosleep#p1400908|nanosleep] [https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=145976&p=1340264#p1340264|more precise timers] - info that we may need when duplicating any cycle-exact timing from the 6809

[https://access.redhat.com/solutions/2884991|How to configure CPU pinning without use of isolcpus kernel cmdline parameter] - on the subject of reserving a CPU for dedicated access with no operating system overhead.  Although we probably will need the kernel command line '[https://codywu2010.wordpress.com/2015/09/27/isolcpus-numactl-and-taskset/|isolcpus]' parameter, which is covered in several of the 'bare metal' links).

[https://www.raspberrypi.org/documentation/configuration/device-tree.md|Pi: device trees and parameters] [https://www.airspayce.com/mikem/bcm2835/group__gpio.html#ga2cb94aef80b49335057e338d71e46608|bcm2835 - GPIO register access from C] [https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=16775|more GPIO bitbanging] [https://www.piborg.org/blog/joyborg|Connecting a joystick] [https://raspberrypi.stackexchange.com/questions/7036/getting-axis-values-from-joystick-from-jstest-into-c-program|Readig joystick values into a C program]

[https://roadsidethoughts.com/vectrex/vectrex-programmable-sound-generator.htm|Vectrex sound generator]

**Datasheets**
CPU: [http://gbgmv.se/dl/doc/md09/MC6809_DataSheet.pdf|MC68A09]
VIA: [https://www.princeton.edu/~mae412/HANDOUTS/Datasheets/6522.pdf|R6522] [http://6502.org/documents/datasheets/mos/mos_6522_preliminary_nov_1977.pdf|MOS6522] [http://www.6502.org/documents/datasheets/synertek/synertek_sy6522_via_1978_jan.pdf|sy6522]
PSG: [http://www.ym2149.com/ay8910.pdf|AY3-8912] [http://www.vgmpf.com/Wiki/images/6/6b/AY-3-891x_-_Microchip_Manual.pdf|Microchip AY3-8912 Datasheet]
DAC: [https://www.onsemi.com/pub/Collateral/MC1408-8-D.PDF|MC1408-8]
Analogue Switch: [http://www.ti.com/lit/ds/symlink/cd4052b.pdf|4052B]

**GPIO Hardware characteristics:** [https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md|Official Raspberry Pi Document], [http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications|More detail on BCM2835 electrical specifications]
[https://elinux.org/|Lots of Raspberry Pi hardware info] - [https://elinux.org/RPi_GPIO_Code_Samples|GPIO Code Samples]

[http://www.vgmpf.com/Wiki/index.php?title=AY-3-8910|PSG info and manuals to download] [http://bulba.untergrund.net/main_e.htm|More documents also software and chiptunes]

[https://trmm.net/MAME|Vector output from MAME used with custom DAC board to control Vectrex and oscilloscope]

[http://web.archive.org/web/20050404024806/http://games.lasers.org/|LaserMAME] - Vector arcade games projected with lasers.

[https://marcan.st/projects/openlase/|OpenLASE library for displaying computer graphics with laser projectors] - Inc. SVG, Bitmap display and video-player. Uses a PC sound card as the DAC.  [https://github.com/jv4779/openlase-mame|openlase-mame].

**Vector arcade games:**
[http://www.andysarcade.de/vec_all.html|Andys Arcade]
[https://en.wikipedia.org/wiki/Category:Vector_arcade_games|Incomplete vector games category at Wikipedia]
[http://gamearchive.askey.org/Video_Games/Manufacturers/|GameArchive]

**Raspberry Pi High Speed I/O Under Linux:**
DMA (mainly useful for repeating signals?):
[https://github.com/Wallacoloo/Raspberry-Pi-DMA-Example|Raspberry Pi DMA Example]

[https://www.mess.org/2018/02/10/Dumping-Z8-Encore-Z8F0811-Program-Memory/|Some hints about driving GPIOs from a kernel module].

Real-Time Linux:
[https://wiki.linuxfoundation.org/realtime/start|PREEMPT_RT]
[https://guysoft.wordpress.com/2017/10/09/realtimepi/|Debian based distro with PREEMPT_RT patch]
Xenomai
RTAI
