Skip to content

rattboi/vectrex-cart

Repository files navigation

VEXTREME Vectrex Multicart

We're carrying on and pushing forward the amazing work of Sprite_tm and his Extreme Vectrex Multicart. He posted the code (GPLv3 License) and lots of screens of the PCB/initial schematic, but he never released the PCB. It's a great base for an inexpensive and open multicart, for developers and players alike!

3D Renders

v0.2 Render

Video Updates

Be sure to subscribe to my Youtube channel for updates! Here's my Vectrex playlist if you want to stay laser focused on this project.

BOM and Parts ordering

All the parts are described in veccart.csv

Also, you can use this Digi-Key shared cart if you're in a hurry. It has will have part references right on the packages for you!

📝 Note: The USB-C connector I chose is not available at Digi-Key, check Google for "Korean Hroparts Elec TYPE-C-31-M-12".

Ordering PCB's

OSHPark is a good place to order with purple or the new "after dark" theme color scheme. You can upload the KiCad veccart.kicad_pcb there directly. I would download this entire Github repo ZIP file first though instead of just trying to save the PCB file from your browser.

Another way to order PCB's is by using the included gerbers and uploading those with all of the necessary specs to companies like PCBWay or JLCPCB

Building and Flashing STM firmware

This assumes you have these prerequisits installed:

  • Docker
  • dfu-util
  • Make

Build the stm32-build docker image

code/veccart $ make docker-build

Connect the 2-pin jumper and then connect the cart to USB

Check if your computer sees the STM32

$ dfu-util -l

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2019 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
Found DFU: [0483:df11] ver=2200, devnum=22, cfg=1, intf=0, path="20-1.4.3", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="123412341234"
Found DFU: [0483:df11] ver=2200, devnum=22, cfg=1, intf=0, path="20-1.4.3", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="123412341234"
Found DFU: [0483:df11] ver=2200, devnum=22, cfg=1, intf=0, path="20-1.4.3", alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e", serial="123412341234"
Found DFU: [0483:df11] ver=2200, devnum=22, cfg=1, intf=0, path="20-1.4.3", alt=0, name="@Internal Flash  /0x08000000/04*016Kg,01*064Kg,03*128Kg", serial="123412341234"

Build and flash the STM32 image via dfu-util

code/veccart $ make clean all flash

// You should end up with something like this

Downloading to address = 0x08000000, size = 23536
Download    [=========================] 100%        23536 bytes
Download done.
File downloaded successfully

Remove the cart from USB and remove the jumper (install it on one pin so you don't lose it)

Building and Flashing the multicart's menu

Build the asm6809 docker image

code/multicart $ make docker-build

Connect the cart to USB with the 2-pin jumper removed

  • The first time you do this you will likely have to format the USB drive

    • Name: VEXTREME
    • Format: MS-DOS (FAT)
    • Scheme: Master Boot Record
  • Be patient, it's slow! Don't worry, copying binaries later will be fast!!

Build and flash the multicart menu binary

// Mac OS
code/multicart $ make clean all && cp multicart.bin /Volumes/VEXTREME/

// optionally add this to the above command to unmount, after you figure out which drive it is
$ diskutil list
&& diskutil unmountDisk /dev/disk3

// Linux
code/multicart $ make copy

// You should end up with something like this, and the binary should have been copied to the root of your multicart drive

asm6809  -B -o multicart.bin multicart.asm

Adding Vectrex Game ROMs (Binaries)

  • Create a directory on your multicart called roms/

  • Add your first binaries there, may I suggest: Beluga Dreams and Vec-Man ?

Docs

A nice collection of lessons learned will be documented here.

Hall of Fame

If you build one of these, be sure to send me a message with your build pics showing your working VEXTREME multicart! Or better yet, check out the hall of fame format here and submit a PR (please and thank you!)

LICENSE

GPLv3 - essentially you must keep this open, all changes must be disclosed and shared. Full LICENSE here and TL;DR summary here

About

OSHW Vectrex Programmer's Cart

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published