8-bit systems to ESP32 WiFi Multifunction Firmware https://fujinet.online
Find a file
Thomas Cherryhomes f3586b99b8
[network-protocol][Protocol] refactor translation. (#1470)
Replace hard-coded compile time constants with saner code.
2026-07-18 19:08:25 -05:00
.github/workflows Use debug_version.py style version ID with git commit hash in LWM (#1438) 2026-07-10 11:13:29 -07:00
boards Created TUI tool for creating and reconfiguring FujiNet boards (#1298) 2026-05-17 08:20:38 -05:00
build-platforms Get MSX Fujiversal Proto 260402 working with ESP32 (#1305) 2026-05-19 17:00:34 -07:00
components Update components (#1458) 2026-07-14 22:18:25 -04:00
components_pc [coco] move transaction_* methods up to virtualDevice (#1408) 2026-06-30 08:57:57 -07:00
data/webui Add onedrive protocol (#1461) 2026-07-15 16:24:54 -05:00
distfiles [apple2] update to support 8 SP devices & updated config image v2 (#1244) 2026-04-13 10:36:16 -07:00
docs [fujinet] added docs folder 2024-08-11 10:14:51 -04:00
include [network-protocol][Protocol] refactor translation. (#1470) 2026-07-18 19:08:25 -05:00
lib [network-protocol][Protocol] refactor translation. (#1470) 2026-07-18 19:08:25 -05:00
mcuconfig Get MSX Fujiversal Proto 260402 working with ESP32 (#1305) 2026-05-19 17:00:34 -07:00
notes Merge branch 'master' 2024-01-12 21:10:21 +01:00
pico [intellivision] add pico code based on PirtoII loop (#995) 2025-08-16 11:05:20 -05:00
platformio-ini-files Build config cleanup (#1128) 2026-01-13 19:12:01 -06:00
src [adam] Introduce FujiAdamPacket (#1467) 2026-07-16 20:22:08 -05:00
test Merge branch 'master' 2024-01-12 21:10:21 +01:00
tests Applying @fenrock's FujiBusPacket unit tests 2026-06-22 14:22:21 -05:00
tools Add onedrive protocol (#1461) 2026-07-15 16:24:54 -05:00
.clang-format Created coding-standard.py to check whitespace/formatting of plain text files (#981) 2025-07-27 16:32:16 -05:00
.dir-locals.el Created coding-standard.py to check whitespace/formatting of plain text files (#981) 2025-07-27 16:32:16 -05:00
.gitignore [iwm] Make all devices use only transaction methods (#1450) 2026-07-12 11:54:01 -07:00
.travis.yml Add jinja2 templating for webUI 2022-12-03 15:47:19 +00:00
bisect-helper.py Make bisect-helper.py able to work with custom names instead of bad/good. (#1370) 2026-06-21 08:57:11 -05:00
build-sh.md [build.sh] move core ini files needed out of root dir so Andy does not delete them. update docs. remove comments 2024-05-27 18:39:11 +01:00
build.sh [adam] AdamNet bus-over-IP transport and ADAM PC target (talk to ADAMEm) (#1379) 2026-06-25 17:05:14 -07:00
build_firmwarezip.py Adds xdrive device support (#1005) 2025-09-02 13:41:49 -05:00
build_packages.py Update build.sh to also do PC builds 2024-01-13 17:21:28 +00:00
build_version.py Update components (#1458) 2026-07-14 22:18:25 -04:00
build_version_pc.py Created common library for version getting scripts (#1442) 2026-07-11 15:51:15 -07:00
build_webui.py Fixes while investigating mongoose problems with webui in fujinet-pc 2024-03-28 16:08:36 +00:00
CMakeLists.txt Applying @fenrock's FujiBusPacket unit tests 2026-06-22 14:22:21 -05:00
coding-standard.py Unification, part 1: Rename fuji device source code to match class name. (#1050) 2025-11-05 10:05:59 -05:00
create-platformio-ini.py Add debug_version.py to put commit ID into FN_VERSION_FULL during build without altering include/version.h 2024-10-16 10:29:30 -04:00
CREDITS.md Small XEX bootloader change... 2020-08-04 15:28:27 -07:00
debug_version.py Created common library for version getting scripts (#1442) 2026-07-11 15:51:15 -07:00
fujinet.py Building for Atari 2022-02-02 01:05:36 -06:00
fujinet_firmware_uploader.md [fujinet] added a new python script to upload releases from cli 2024-08-10 18:58:54 -04:00
fujinet_firmware_uploader.py Allow specifying firmware zip on command line (#865) 2025-03-19 22:51:18 -04:00
fujinet_partitions_4MB.csv Update partition tables and mount point in prep for custom OTA functionality (#949) 2025-06-16 09:23:50 -05:00
fujinet_partitions_4MB_noupdate.csv Adds xdrive device support (#1005) 2025-09-02 13:41:49 -05:00
fujinet_partitions_8MB.csv Update partition tables and mount point in prep for custom OTA functionality (#949) 2025-06-16 09:23:50 -05:00
fujinet_partitions_16MB.csv Update partition tables and mount point in prep for custom OTA functionality (#949) 2025-06-16 09:23:50 -05:00
fujinet_pc.cmake Add mail protocol (#1468) 2026-07-16 20:47:18 -05:00
install_python_modules.sh Fixes while investigating mongoose problems with webui in fujinet-pc 2024-03-28 16:08:36 +00:00
LICENSE convert lf to crlf 2023-06-29 11:43:46 -05:00
Makefile Rename BeckerSocket to BoIPChannel and add options to prepare it for Adam LWM. (#1383) 2026-06-25 14:16:43 -05:00
pc_merge_notes.md [PC] re-add get_general_label() 2024-01-08 17:12:44 +01:00
platformio-sample.ini Add Lynx Rev1 ESP32 S3 support (#1271) 2026-04-28 12:40:49 -05:00
python_modules.txt Fixes while investigating mongoose problems with webui in fujinet-pc 2024-03-28 16:08:36 +00:00
README.md fix typos in documentation markdown 2024-05-26 09:17:46 -05:00
README_wifi.md fix typos in documentation markdown 2024-05-26 09:17:46 -05:00
sdkconfig.defaults Get VFS_MAX fix from v1.5.2 (#1270) 2026-04-30 11:06:10 -07:00
sdkconfig.fujiapple-rev0 Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujinet-adam-v1 [adam] Introduce FujiAdamPacket (#1467) 2026-07-16 20:22:08 -05:00
sdkconfig.fujinet-atari-esp32-s3-wroom-1-n16r8 Get VFS_MAX fix from v1.5.2 (#1270) 2026-04-30 11:06:10 -07:00
sdkconfig.fujinet-coco-esp32-s3-wroom-1-n8r8 Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujinet-coco-esp32-s3-wroom-1-n16r8 Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujinet-iec-fujiapple Get VFS_MAX fix from v1.5.2 (#1270) 2026-04-30 11:06:10 -07:00
sdkconfig.fujinet-iec-lolin-d32 Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujinet-iec-nugget Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujinet-rs232-s3 Decouple NetworkProtocol from Atari SIO (#1191) 2026-02-24 11:45:28 -06:00
sdkconfig.fujiversal-drivewire Create fujiversal-drivewire board for use with CoCo bus Fuji Proto 260402 hardware (#1303) 2026-05-17 12:36:50 -07:00
sdkconfig.fujiversal-rs232 Get MSX Fujiversal Proto 260402 working with ESP32 (#1305) 2026-05-19 17:00:34 -07:00
upstream.sh fixup rebase for build.sh 2024-01-22 18:37:33 -05:00
version_common.py Created common library for version getting scripts (#1442) 2026-07-11 15:51:15 -07:00

FujiNet

A multi-function peripheral built on ESP32 hardware being developed for the multiple 8-bit systems

Please see the GitHub wiki for documentation and additional details.

A dedicated web site is also available at https://fujinet.online/

MAJOR ANNOUNCEMENT FOR ANYONE WORKING ON FIRMWARE CODE:

Fujinet-platformio has been ported forward to the new PlatformIO Esp32 3.0. The changes made mean that it no longer builds under 1.12.x or 2.0, so you must upgrade in order to work on this firmware.

To upgrade:

  • Select Platforms from PIO Home in Quick Access

  • You should see an upgrade notice for Espressif 32. Upgrade it. After the upgrade, you will move from 1.12.x or 2.0 to 3.0.

  • Once this is done, delete your .vscode and .pio folders, and re-start vs.code.


Generating platformio configuration for your board

See build.sh documentation for full documentation on using build.sh to configure your platformio ini files.

ATARI

FujiNet currently provides the following devices for the Atari 8-bit system:

  • D: for disk emulation, allowing disk images to be read or written to on SD cards or TNFS servers over the local network or Internet.
  • P: for printing emulation, providing printer emulation for various types of popular printers, including Atari-branded, Epson, and other alternatives.
  • R: for RS-232 emulation, providing a Wi-Fi modem that can be used by existing communications programs that work with an Atari 850 interface.
  • N: providing a network adapter that can talk TCP, HTTP, UDP, and other protocols to other TCP/IP hosts.

This is the primary ESP32 firmware project. In addition, there are several related Github projects:

  • fujinet-config: Atari 8bit program to configure FujiNet
  • fujinet-nhandler: Atari 8bit "N:" device handler
  • fujinet-config-tools: Additional Atari 8bit programs to directly control FujiNet
  • fujinet-hardware: Schematics and design files for FujiNet hardware

Coleco ADAM

  • Disk and Tape emulation, allowing disk images to be read or written to on SD cards or TNFS servers over the local network or Internet.
  • Printing emulation, providing printer emulation for various types of popular printers, including Atari-branded, Epson, and other alternatives.
  • A network adapter that can talk TCP, HTTP, UDP, and other protocols to other TCP/IP hosts.

Apple

  • Floppy and Hard drive emulation
  • Printing emulation
  • An N device that allows Applesoft to use a network adapter that can talk TCP, HTTP, UDP, and other protocols to other TCP/IP hosts.

Other works in progress

Atari Lynx, IEC devices (Commodore 64, Commander X16), RC2014, S100 and more are coming all the time

How to contact us outside of GitHub:

There is active discussion and work on Discord: https://discord.gg/7MfFTvD

There are two active threads on the AtariAge forums: