Git Product home page Git Product logo

disco-cart's Introduction

V.Smile Disco-Cart

Custom developer cartridge that easily enables the following

  • Ability to dump retail cartridges over Serial or to an SD card
  • Ability to flash roms over serial or an SD card to built in flash memory
  • Booting cartridge on real V.Smile hardware
  • Use Teensy to fuzz data + address bus while system is online (WIP)
  • "Stealth" switch to disable sense pinout to allow console to boot as if Cartridge was not inserted

Contents

Cartridge

Disco-Cart Front Disco-Cart Back

Usage

  1. Install PlatformIO onto your local system.
  2. Install latest LTS for NodeJS onto your local system.
  3. Install supporting packages for serial management script:
cd ./manager
yarn
  1. Use PlatformIO to pull in required packages, build, and then deploy firmware onto your Teensy (optionally, flash firmware.hex)
  2. Socket Teensy into Disco-Cart, ensure USB port on teensy lines up with the USB silkscreen on the board
  3. Move mode select switch to the desired position Mode Select Switch
  • Left: Cart mode, to insert into a V-Smile and boot a flashed rom
  • Middle: Flash mode, select this mode to read/write to the internal flash on the Disco-Cart
  • Right: Dump mode, select this mode to read/write from an inserted retail cartridge
  1. Use manager scripts to perform your desired action

Examples

Read retail cartridge to local file over serial

# Switch: Dump mode
node .\index.js --port=COM3 --out=./thomas.bin --limit=3FFFFF --bank=LOW

Dump retail cartridge to SD card

# Switch: Dump mode
node .\index.js --port=COM3 --mode=sddump --name=thomas.bin --length=3FFFFF

Flash local rom to flashcart

# Switch: Write mode
node .\index.js --port=COM3 --mode=write --rom=./thomas.bin

Inserting into a V.Smile

Ensure mode select switch is in Cart mode. Teensy can remain inserted in cartridge while in this mode. If you wish to write a new flash, you can do so while the cartridge is inserted by first switching mode to Write mode and running the write action from the manager

Args

port

Determines the serial port to connect to, defaults to COM3 for Windows or /dev/ttyACM0 for Linux.

out

Relative file path to write the rom dump to, defaults to ./dump.bin

limit

Max address to dump to in hex. Banked cartridges generally have a 4MB and 2MB flash, so they need a limit of 1FFFFF and FFFFF respectively. A single 8MB flash should accept 3FFFFF.

bank

If cartridge is banked, select which bank to dump. Defaults to LOW, non-banked cartridges should be set to LOW.

mode

Which mode to operate the teensy in. Accepts dump, write and sddump.

name

When writing to SD card, the file name to write to

length

When writing to SD card, the size of the file to be written, in hex.

Contributing

Project is fully open source under GPL3, including hardware design.

  • cartridge: Hardware design as a KiCad Project
  • manager: JS Script to aid with interfacing the Teensy over serial
  • src: C++ Platform IO source for Teensy 4.1

disco-cart's People

Contributors

discostarslayer avatar gorgyrip avatar sp1187 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

disco-cart's Issues

cl-sb-13b-01t alternative

I can’t find cl-sb-13b-01t on aliexpress, but they sell CL-SB-23B-01 there
Is it possible to use CL-SB-23B-01 instead of cl-sb-13b-01t by removing extra pins?

help me im stupid

im a bit stupit i can get the pcb but thats only the pcb. no chips or somthing. where can i order with the chips?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.