Skip to content

gtortone/Minty

Repository files navigation

Minty

MultiCart for Mattel Intellivision

Introduction

Multi-cart based on Raspberry Pi Pico hardware and PiRTOII firmware (https://github.com/aotta/PiRTOII)

Features

  • 🔧 Pico C/C++ code refactoring
  • 🎮 Support for RP2040 multicarts: Pirto, Pirto-II, Pirto-II-SD
  • 🚀 Support for RP2350 multicart Pirto-II-Duo
  • 🧾 No more config files for official ITV titles
  • ⌨️ New launcher navigation keys
  • 🎨 New launcher color scheme
  • 📁 Support for long filenames (up to 255 characters)
  • 📂 Increased maximum number of files per directory from 64 to 512
  • 💾 SD card support (with SukkoPera's PiRTOII board)
  • 🧩 Intellicart ROM support (.rom files)
  • ⚡ New page decoding data structure with O(1) lookup performance
  • 🗂️ VFS (Virtual File System) library included for storage access via FatFs and LittleFS
  • 💡 Full JLP support: hardware acceleration, expanded memory, and flash save/load support (for boards with microSD storage)
  • 🔊 ECS audio emulation with AY-3-8910 soft-core
  • 🧱 Support for an arbitrary number of patches defined in ROM configuration files
  • 🧭 New launcher firmware featuring icons and custom fonts, automatic saving of the last opened directory, and file information persistence during cfg-based browsing
  • 🕹️ Tons of ROMs tested — Minty can now run the Bad Apple demo (445 KB ROM with 52 memory pages) on RP235x boards

Screenshots

Table of features

board MCU RAM max ROM size JLP ECS audio ROM storage build target
Pirto RP2040 256 kB ~180kB microSD pirto
Pirto-II RP2040 256 kB ~100kB flash pirto_ii_default
Pirto-II-SD RP2040 256 kB ~180kB microSD pirto_ii_sd
Pirto-II-Duo RP2350 512 kB ~450 kB (Note 1) microSD pirto_ii_duo
PintyCard RP2354A 512 kB ~450kB flash pintycard

Note 1

  • route GP28 to EXT-AUDIO cartridge pin and add some passive components
  • enable CONFIG_ECS_AUDIO in boards/pirtn_ii_duo.cmake
  • comment MI_DBG_UART section in boards/pirto_ii_duo.h and uncomment MI_ECS_AUDIO_PIN

Firmware

Firmware files for different boards (.bin and .uf2) are available in release section.

Getting started

To simply program Pi Pico:

  • connect it to your PC/laptop using an USB-C cable while pressing Pico on-board button (boot MODE)
  • drag and drop .uf2 file inside root directory

Setup ROMs:

  • copy your ITV ROM to flash (or microSD) root directory
  • if ROM name is included in cfg/0game-maps.csv you do not need to add config (.cfg) file
  • enjoy your PiRTOII cart with Minty firmware !

User interface

Controller keys

Build (TL;DR)

Requirements

Commands

Replace BOARD with build target available on table of features.

cmake -B build/BOARD/debug -DPICO_BOARD=BOARD -DCMAKE_BUILD_TYPE=Debug
make -j -C build/pirto_ii_duo/debug
   or
cmake -B build/BOARD/release -DPICO_BOARD=BOARD -DCMAKE_BUILD_TYPE=Release
make -j -C build/pirto_ii_duo/release

After compilation Minty.bin and Minty.uf2 are generated.

To use Minty.bin to flash a board picotool is required. Run following command after setting Pi Pico in BOOT mode:

picotool load -f Minty.bin; picotool reboot

Credits

Thanks a lot to Andrea Ottaviani for his PiRTOII firmware (https://github.com/aotta/PiRTOII) and PCB files.

Thanks a lot to sukkopera for his PirtoII board with microSD card slot (https://github.com/SukkoPera/PiRTOII)

A special thanks to Minty new developer Yannick Erb for his priceless contribution on launcher and various patches and improvements on the firmware.

About

MultiCart for Mattel Intellivision

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors