PR 1108 Atari Testing Procedure - FujiNetWIFI/fujinet-firmware GitHub Wiki

Hardware Setup

  • ATARI 400/800/XL/XE Computer with 48K RAM minimum
  • FujiNet connected to SIO port
  • NO other disk drives, printers, or other peripherals
  • SD card to hold FujiNet configuration, 2GB to 32GB. Formatted FAT32, already used by FujiNet and having an fnconfig.ini
  • A working WiFi Network

Firmware to Test

Before testing, The following firmware should be uploaded to your device using the FujiNet flasher: fujinet-ATARI-PR-1108.zip

A copy of the FujiNet Flasher is here: FujiNet Flasher v1.5.0

Once testing is completed, the most recent production firmware may be loaded back onto the FujiNet, if desired.

Test Procedures

Procedure 1: Flash and verify Debug information

  1. Power off ATARI, if not already powered off.
  2. Download FujiNet Flasher, if not downloaded.
  3. Download the PR 1108 firmware, if not already downloaded.
  4. Load FujiNet Flasher.
  5. Press Browse next to "Custom Firmware File (optional)"
  6. Select the firmware file from above.
  7. Press "Flash FujiNet Firmware"
  8. Verify output is similar to:
Installing Custom Firmware
Using '/dev/ttyUSB0' as serial port.
Using '460800' as baud rate.
Starting firmware upgrade...
File 1: bootloader.bin, Offset: 0x1000
File 2: partitions.bin, Offset: 0x8000
File 3: firmware.bin, Offset: 0x10000
File 4: update.bin, Offset: 0xA10000
File 5: littlefs.bin, Offset: 0xA70000
FujiNet Version: v1.5.1
Version Date: 2025-09-08 07:43:48
Git Commit: 226908333
Connecting......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Connecting...
Uploading stub...
Running stub...
Stub running...

Chip Info:
 - Family: ESP32
 - Model: ESP32-D0WD (revision v1.0)
 - Mac: 0C:B8:15:6C:C1:DC
 - Is Esp32: None
 - Num Cores: 2
 - Cpu Frequency: 240MHz
 - Has Bluetooth: True
 - Has Embedded Flash: False
 - Has Factory Calibrated Adc: True
Changing baud rate to 460800
Changed.
Flash Size: 16384KB, SPIFFS Offset: 10688KB
 - Flash Mode: dio
 - Flash Frequency: 40MHz
Erasing flash (this may take a while)...
Chip erase completed successfully in 50.8 seconds.
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x00231fff...
Flash will be erased from 0x00a10000 to 0x00a6ffff...
Flash will be erased from 0x00a70000 to 0x00ffffff...
SHA digest in image updated
Compressed 19440 bytes to 13041...
Writing at 0x00001000... (100 %)
Wrote 19440 bytes (13041 compressed) at 0x00001000 in 0.6 seconds (effective 259.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 116...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (116 compressed) at 0x00008000 in 0.1 seconds (effective 440.9 kbit/s)...
Hash of data verified.
Compressed 2235296 bytes to 1288618...
Writing at 0x00010000... (1 %)
Writing at 0x0001b3cd... (2 %)
Writing at 0x000274ee... (3 %)
Writing at 0x00035f28... (5 %)
Writing at 0x00046280... (6 %)
Writing at 0x0005213e... (7 %)
Writing at 0x0005a58e... (8 %)
Writing at 0x00063265... (10 %)
Writing at 0x0006ea3e... (11 %)
Writing at 0x00075b26... (12 %)
Writing at 0x0007bb91... (13 %)
Writing at 0x00082460... (15 %)
Writing at 0x0008847e... (16 %)
Writing at 0x0008e874... (17 %)
Writing at 0x000953e1... (18 %)
Writing at 0x0009c123... (20 %)
Writing at 0x000a1eea... (21 %)
Writing at 0x000a83c6... (22 %)
Writing at 0x000aecc1... (24 %)
Writing at 0x000b5914... (25 %)
Writing at 0x000bbc48... (26 %)
Writing at 0x000c2b88... (27 %)
Writing at 0x000c926c... (29 %)
Writing at 0x000cf6e1... (30 %)
Writing at 0x000d5203... (31 %)
Writing at 0x000db0cb... (32 %)
Writing at 0x000e2761... (34 %)
Writing at 0x000e9f9d... (35 %)
Writing at 0x000f065d... (36 %)
Writing at 0x000f630f... (37 %)
Writing at 0x000fc30d... (39 %)
Writing at 0x00101f79... (40 %)
Writing at 0x0010831e... (41 %)
Writing at 0x0010eb44... (43 %)
Writing at 0x00114b3e... (44 %)
Writing at 0x0011b140... (45 %)
Writing at 0x001215a6... (46 %)
Writing at 0x00127574... (48 %)
Writing at 0x0012e654... (49 %)
Writing at 0x00134c00... (50 %)
Writing at 0x0013ae95... (51 %)
Writing at 0x00140a89... (53 %)
Writing at 0x00146b94... (54 %)
Writing at 0x0014cb7f... (55 %)
Writing at 0x00152ae7... (56 %)
Writing at 0x00158e50... (58 %)
Writing at 0x0015f1d4... (59 %)
Writing at 0x00165371... (60 %)
Writing at 0x0016b38b... (62 %)
Writing at 0x001713b9... (63 %)
Writing at 0x00177c61... (64 %)
Writing at 0x0017dc6d... (65 %)
Writing at 0x00183b8c... (67 %)
Writing at 0x00189aa9... (68 %)
Writing at 0x0018ee80... (69 %)
Writing at 0x0019408a... (70 %)
Writing at 0x001997db... (72 %)
Writing at 0x0019eeb1... (73 %)
Writing at 0x001a42e0... (74 %)
Writing at 0x001a9656... (75 %)
Writing at 0x001af0f2... (77 %)
Writing at 0x001b6278... (78 %)
Writing at 0x001bf4bd... (79 %)
Writing at 0x001c7457... (81 %)
Writing at 0x001cec33... (82 %)
Writing at 0x001d5405... (83 %)
Writing at 0x001dadc1... (84 %)
Writing at 0x001e1c3e... (86 %)
Writing at 0x001e8c13... (87 %)
Writing at 0x001f085d... (88 %)
Writing at 0x001f9c19... (89 %)
Writing at 0x002012bf... (91 %)
Writing at 0x00208204... (92 %)
Writing at 0x0020d38a... (93 %)
Writing at 0x00215f35... (94 %)
Writing at 0x0021c124... (96 %)
Writing at 0x00221c4c... (97 %)
Writing at 0x00227510... (98 %)
Writing at 0x0022dac3... (100 %)
Wrote 2235296 bytes (1288618 compressed) at 0x00010000 in 29.8 seconds (effective 600.3 kbit/s)...
Hash of data verified.
Compressed 393216 bytes to 404...
Writing at 0x00a10000... (100 %)
Wrote 393216 bytes (404 compressed) at 0x00a10000 in 2.7 seconds (effective 1165.2 kbit/s)...
Hash of data verified.
Compressed 5832704 bytes to 673414...
Writing at 0x00a70000... (2 %)
Writing at 0x00a76a7d... (4 %)
Writing at 0x00a7aa77... (7 %)
Writing at 0x00a7ea72... (9 %)
Writing at 0x00a87f85... (11 %)
Writing at 0x00a913a3... (14 %)
Writing at 0x00a9936b... (16 %)
Writing at 0x00a9e581... (19 %)
Writing at 0x00aa3f48... (21 %)
Writing at 0x00aa7f65... (23 %)
Writing at 0x00aad648... (26 %)
Writing at 0x00abade3... (28 %)
Writing at 0x00ac095c... (30 %)
Writing at 0x00ac78a2... (33 %)
Writing at 0x00ace208... (35 %)
Writing at 0x00ad2d77... (38 %)
Writing at 0x00ad8cd0... (40 %)
Writing at 0x00ae38e6... (42 %)
Writing at 0x00f46059... (45 %)
Writing at 0x00f4f279... (47 %)
Writing at 0x00f659f6... (50 %)
Writing at 0x00f6a88c... (52 %)
Writing at 0x00f6e887... (54 %)
Writing at 0x00f7364c... (57 %)
Writing at 0x00f8290d... (59 %)
Writing at 0x00f8a846... (61 %)
Writing at 0x00f90d95... (64 %)
Writing at 0x00facaf5... (66 %)
Writing at 0x00fb52af... (69 %)
Writing at 0x00fb9914... (71 %)
Writing at 0x00fbe05d... (73 %)
Writing at 0x00fc4a63... (76 %)
Writing at 0x00fc9d8c... (78 %)
Writing at 0x00fcffe3... (80 %)
Writing at 0x00fd5112... (83 %)
Writing at 0x00fdaec9... (85 %)
Writing at 0x00fe00bd... (88 %)
Writing at 0x00fe49a0... (90 %)
Writing at 0x00fe9c93... (92 %)
Writing at 0x00ff3207... (95 %)
Writing at 0x00ffb983... (97 %)
Writing at 0x00fff97e... (100 %)
Wrote 5832704 bytes (673414 compressed) at 0x00a70000 in 40.6 seconds (effective 1147.9 kbit/s)...
Hash of data verified.

Leaving...
Hard Resetting...
Hard resetting via RTS pin...
Done! Flashing is complete!

Showing logs:
[17:41:17] x[17:41:17] 
[17:41:17] --~--~--~--
[17:41:17] FujiNet v1.5.1 2025-09-08 07:43:48 (ATARI) Started @ 7
[17:41:17] Starting heap: 4288304
[17:41:17] [src/main.cpp:157] main_setup(): Heap: 151711
[17:41:17] 
[17:41:17] Detected Hardware Version: 1.6.1 and up
[17:41:17] Button A Enabled on IO0
[17:41:17] Button B Enabled on IO34
[17:41:17] Button C (Safe Reset) Enabled on IO14
[17:41:17] LittleFS mounted.
[17:41:17] SD mounted.
[17:41:17] fnConfig::load
[17:41:17] Load fnconfig.ini from SD
[17:41:17] fopen = /fnconfig.ini rb : ok
[17:41:17] fnConfig::load read 1377 bytes from config file
[17:41:17] Reading wifi section
[17:41:17] Reading stored wifi section for index: 0
[17:41:17] Reading stored wifi section for index: 1
[17:41:17] FLASH Config Storage: Enabled
[17:41:17] fnConfig::load read 601 bytes from FLASH config file
[17:41:17] Copying SD config file to FLASH
[17:41:17] copy_file "/fnconfig.ini" -> "/fnconfig.ini"
[17:41:17] fopen = /fnconfig.ini rb : ok
[17:41:17] copy_file copied 1377 bytes
[17:41:17] FileSystemLittleFS::filehandler_open /autorun.atr rb
[17:41:17] FileSystem::filesize from FileHandler returned 92176
[17:41:17] disk MOUNT
[17:41:17] ATR MOUNT
[17:41:17] mounted ATR: paragraphs=5760, sect_size=128, sect_count=720, disk_size=92176
[17:41:17] PCLINK[1] MOUNT "/sd"
[17:41:17] Creating a default printer using FS_SDFAT storage and type 5
[17:41:17] SIO SETUP
[17:41:17] [lib/hardware/ESP32UARTChannel.cpp:24] begin(): speed: 19200
[17:41:17] Set HSIO baud from 19200 to 54905 (index 9), alt=55420
[17:41:17] 
[17:41:17] Available heap: 4185924
[17:41:17] Setup complete @ 516 (509ms)
[17:41:17] [src/main.cpp:468] main_setup(): Low Heap: 127099
[17:41:17] WiFiManager::start() complete
[17:41:17] WiFiManager attempting to connect:
[17:41:17] ssid = Cherryhomes
[17:41:17] WiFi connect attempt to SSID "Cherryhomes"
[17:41:17] WIFI_EVENT_STA_STARTesp_wifi_connect returned 0
[17:41:17] 
[17:41:20] WIFI_EVENT_STA_CONNECTED
[17:41:22] IP_EVENT_STA_GOT_IP
[17:41:22] Obtained IP address: 192.168.1.16
[17:41:22] SNTP client start
[17:41:22] Starting web server on port 80
[17:41:26] SNTP time sync event: Sat Jan  3, 17:41:26 2026 -0600

Procedure 2: Verify Boot into Config

  1. Turn On ATARI
  2. Verify that CONFIG boots.
  3. Verify that Host List and Drive Slots are present.
  4. Verify that fujinet.online is present as a host slot.

Procedure 3: Verify WiFi Scan and Configuration

  1. Press C for config
  2. Verify network configuration matches your network.
  3. Press S, to change SSID
  4. Verify that "WELCOME TO FUJINET" screen appears
  5. Verify that MAC Address has a value (6 hex numbers separated by colons)
  6. Select your WiFi network.
  7. Enter Password
  8. Verify Wifi reconnects
  9. Verify back to HOST LIST DRIVE SLOTS screen

Procedure 4: Mount and boot Jumpman

  1. Select 'fujinet.online' from HOST LIST
  2. Verify the following DISK IMAGES list appears:
# ADAM/
# APPLE2/
# ATARI/
# CBM/
# COCO/
# LINKS/
  1. Select ATARI/
  2. Select games/
  3. Go to second page.
  4. Select Jumpman.atr
  5. Verify MOUNT TO DRIVE SLOT appears
  6. Verify the following file metadata
 FILE: Jumpman.atr
MTIME: 2020-07-28 19:07:19
 SIZE: 90 K
  1. Select Slot 1
  2. Press RETURN for Read Only
  3. Verify that DISK IMAGES re-appears.
  4. Press ESC
  5. Verify HOST LIST/DRIVE SLOTS re-appears
  6. Verify Jumpman.atr is in slot 1.
  7. Hold down OPTION to boot. Keep Holding option.
  8. Verify that Jumpman PLEASE WAIT appears, and that Jumpman loads.