Disclaimer: The ColecoVision design has been done, but it has not been tested. The Rev0 cartridge is schematic- and layout-complete and the firmware and software run in emulation, but no board has been built and nothing has run on a real ColecoVision yet. We could use some help validating and testing the design: reviewing the schematic and layout, building Rev0 boards, and trying the firmware and software on real consoles. If you can help, please get in touch on the FujiNet Discord.

Status

The firmware and software for the ColecoVision bring-up are working in emulation (a patched MAME, against FujiNet-PC). The cartridge mailbox round-trips with a live FujiNet, and the console can mount a .col cartridge image over the network and boot it. The cartridge serves flat images and the MegaCart, X-in-1, Activision and Opcode SGC mappers, up to 128K, and APPBANK lets a FujiNet program grow past 30K. CONFIG is merged and baked into the cartridge firmware: it handles WiFi, hosts, a file browser, copying, info, the game lobby, and booting a game with a progress window. FujiNet Go ColecoVision Desktop runs it today (see FujiNet Go, below). The Rev0 cartridge is fully designed but has not yet been built, so nothing has run on a real console yet.

Firmware

Current firmware can be pulled from https://github.com/FujiNetWIFI/fujinet-firmware

The cartridge is a new design: an RP2040-class chip that serves the Z80’s 32K cartridge window in software. The ColecoVision cartridge edge has no /RD, /WR, A15, clock or reset, only four chip selects, so the mailbox is made entirely of reads: the console reads hotspots at $FD00, $FE00 and $FF00 to send, and reads the whole 1K reply at $F800. A program claims the mailbox with “FUJI” at $FCFC. The console has only 1K of RAM, so FujiNet programs read replies in place. A program over 30K is built as an APPBANK image: a 32K boot window plus 8K pages, one of which shows at $C000 (read $FD80+n to select page n).

The RP2040 section of the firmware is in pico/coleco/firmware. Build instructions in pico/coleco/README.md

The ESP32S3 version of the firmware can be built with:

./build.sh -s fujiversal-coleco
./build.sh -cbufm

The cartridge is a separate chip joined to the ESP32S3 by USB, so the ESP32S3 build does not carry the cartridge firmware; build it in pico/coleco with ./build-cart.sh. The build for the Rev0 board’s RP2350A (fujicoleco_rp2350a, which also raises the image limit to 256K) is in fujinet-firmware PR #2303, not merged yet. The first things to check with a scope on real hardware are the cartridge’s data-out timing (the firmware has about 285 ns after the chip select falls), and the 5 V console levels into the 74LVC245A and the RP2350A.

Hardware

Current PCB has been laid out by Thomas Cherryhomes in KiCad: https://github.com/FujiNetWIFI/fujinet-hardware/tree/master/ColecoVision/FujiNet-ColecoVision-Rev0

Rev0 is an all-in-one, 4-layer board, 40.2 x 82.4 mm, on the ColecoVision cartridge outline, with 2 x 15 gold fingers on the edge (RP2350A with a W25Q16 flash, a 74LVC245A data buffer, ESP32-S3, microSD, and USB-C with a CP2102N). The cartridge runs from USB-C when it is plugged in, otherwise from the console’s 5 V. case/ has a printed shell; fitting an original Coleco shell has not been checked. The board is schematic- and layout-complete and packaged for JLCPCB and PCBWay, with every design check passing, but it has not yet been built. The edge pinout was checked against MAME’s cartridge slot and two built, open ColecoVision carts.

There is no DIY option yet; until boards are built, the ColecoVision side can be tried in emulation. pico/coleco/emu/apply.sh adds the FujiNet cartridge to a MAME source tree (run it with -cartslot fujinet), and pico/coleco/run.sh runs it against FujiNet-PC. Console BIOS dumps are not distributed; supply your own.

Software

Current FujiNet Software Ported:

ProgramGitHub
Confighttps://github.com/FujiNetWIFI/fujinet-config in coleco/
5 Card Stud Pokerhttps://github.com/FujiNetWIFI/fujinet-5cardstud in src/coleco/
Battleshiphttps://github.com/FujiNetWIFI/fujinet-battleship in src/coleco/
Texas Hold’emhttps://github.com/FujiNetWIFI/fujinet-texasHoldEm in src/coleco/
Fujitzeehttps://github.com/FujiNetWIFI/fujinet-fujitzee in coleco/
M.U.L.E.https://github.com/FujiNetWIFI/fujinet-multiplayer-mule in clients/coleco/
Lobbyhttps://github.com/FujiNetWIFI/fujinet-lobby in coleco/

CONFIG, Fujitzee and M.U.L.E. are standalone Z80 assembly, and the lobby is standalone C. M.U.L.E. is a 56K APPBANK image. 5 Card Stud, Battleship and Texas Hold’em are C built with z88dk on fujinet-lib’s ColecoVision target, which is fujinet-lib PR #281, not merged yet.

FujiNet Go

Documentation

Wiki Pages