Skip to content

Latest commit

 

History

History
80 lines (72 loc) · 4.63 KB

CHANGELOG.md

File metadata and controls

80 lines (72 loc) · 4.63 KB

Changelog

Hardware TODO

  • Move v0.2's PCB fingers 18.0mm from the center of 3.5mm mounting holes, and 0.5mm from board edge, for slightly better engagement with the Vectrex cartrdige connector.
  • Remove soldermask from PCB cart fingers on top and bottom of the board.
  • R4 & D3 reference designators are swapped.
  • Remove D4 - D6 and just have addressible LEDs on the edge of the board, space the 7 LEDs evenly.
  • Move the debugging/serial port connector so it does not interfere with enclosure bosses.
  • Move V-HALT and V-CE to different pins and fix SDAT and SCLK so they are on SPI2 for hardware control. V-CE might be optimized for MSB (seems like it is in romemu.S), so move to PA15 which bumps CSn to some other pin? CSn should likely be on SPI1_SS, but it might not matter (check). PB01 is used in an optimized way as well though.
  • Replace U3 with a single OR gate?
  • Replacement for U4 which is more available at LCSC?
  • Slightly increase the middle pads on addressible LEDs so they don't require touch up soldering
  • Route all unused GPIO to a breakout header, for hacking!
  • Add ESD protection to external connections
  • Move headers to USB-C side and edge for easier access
  • Make 2-pin jumper a right angle switch instead of a jumper?

Software TODO

  • Add hardware SPI2 support
  • Add cartridge RAM support (specifically for Animaction $2000-$27FF, but possibly for others as well). Any downside to letting the entire 64KB of emulated ROM to be considered as RAM and writable?
  • Add hardware version support for pin definitions
  • Add 128KB bankswitching (V-INT pin)
  • Developer mode, allow the cart to stay plugged into a computer and appear as a RAMDISK
  • Figure out why Polar Rescue crashes when the sub launches

v0.2

  • Replaced USB-B-mini with USB-C and centered USB on cart
  • Extended the PCB by 1.7 mm to get the USB-C connector as close to the case exterior as possible.
  • Widened the PCB to 48.0 mm so that there’s less side to side play in the cartridge slot.
  • Moved outer mounting holes into the proper locations
  • Reversed D3 and R4 order to get D3 closer to edge of the PCB, but it turned out we added something else there!
  • Added 10 APA102-2020 addressable RGB LED lights (max. draw 245mA) … qualify with USB-IN (PA9) for 100% brightness, else 50%
  • Added 47uF cap for peak currents required for RGB LEDs.
  • Added V-IRQ connection to PB9 for 128KB bank-switching
  • Grounded unused floating inputs on U3 to reduce current consumption
  • Adjusted Y1 to use 12pF load crystal resonator with 18pF load caps (see equation)
  • Lots of clean up and tweaking all over PCB
  • Added revision to PCB
  • Added “VEXTREME” to PCB
  • Added a ground pour under the STM32
  • Made the contacts on the edge connector thinner (1.52mm) and made sure they were spaced properly (2.54mm).
  • Started moving footprints to the libs/veccart.pretty library so you know where they will be!
  • Add basic folder support #1
  • Ignore dotfiles generated by MacOS
  • Add software driven addressible LED support
  • improve USB write time for a single game by 3x (32KB in 1 second)
  • adds 'clean' and 'all' rules for multicart build
  • create 4KB of space for menu (currently about 2KB), and reserve 60KB for menu data.
  • Added a mostly optimized 100 vector logo for VEXTREME
  • Added a much improved version of Malban's 5 line font (everything except lowercase, don't use lower)
  • Reduced menu to 4 items at a time
  • Added a special intro jingle that's been stuck in my head (enjoy!)
  • temp increase time to reset to allow Fortress of Narzod to play
  • Extract menu code from main code and optimize menu code
  • Add basic menu labels/function-per-button support #4
    • At the bottom of the menu 1 = (BACK), 2 = PAGE LEFT, 3 = PAGE RIGHT, 4 = SELECT
  • Ignore lst files #5
  • adds ISSUE_TEMPLATE.md and PULL_REQUEST_TEMPLATE.md for contributions from the community
  • Update to latest (pinned) libopencm3 #6
  • Fixed lastselectcart on wrong game after reset
  • Fixed do not inc page if next one will be blank issue
  • Converts logo from sync to smart list, thanks Malban!
    • Note: Had to replace NOP MACROs with JSR of approx equivalent value
    • Converted fcb hi(label),lo(label) into fdb label
    • Reduces cycle count by 8 - 10k!

v0.1

  • Mostly unchanged from Sprite_tm's original HW/SW design
  • Mostly unchanged from Rattboi's original PCB design
  • fixes error opening PCB with latest KiCaD
  • add gerbers for easy PCB ordering at many places
  • update README.md and add LICENSE
  • fixes premature automatic reset delay on GCE Vectrex
  • fixes menu builder missing filename in path
  • pretty up the menu by removing the .BIN file extension, and other cleanup
  • let's call it the VEXTREME cart, for now. (original name was EXTREME)