Repository navigation
Releases
FujiNet Go Adam v1.1.0
Talking to FujiNet is much faster. Listing a directory in CONFIG used to stop between every entry, and an EOS cold boot paused for several seconds right after the bus reset. Neither happens on a real ADAM, and neither was FujiNet's fault — the same firmware is fast under ADAMEm talking to fujinet-pc. Both were in how the emulator drove the AdamNet link.
Directory listings — about 5x faster (351 ms → 67 ms per entry)
Every FujiNet command was preceded by a probe asking the device whether it had a leftover response to discard. The device answers that probe in a way the probe could not interpret, so it always ran to its full timeout, adding a quarter of a second to every single command. Real hardware sends no such probe, so it is gone. Replies are also collected the moment they arrive now, rather than on the next emulated frame.
Cold boot no longer stalls (4222 ms → 383 ms for the bus roll-call)
The ADAM asks every bus address in turn who is there. The addresses FujiNet does not answer for were each given the long grace period meant for a device that is present but still starting up — five of them, back to back. Once FujiNet has shown it is responding, silence from an address is now taken to mean nothing is attached, which is what it means.
Both mattered more on Android than on desktop: the timeouts behind these stalls were sized for the hundreds-of-milliseconds process stalls a phone can produce.
What is left: roughly 67 ms per directory entry, which is CONFIG's own drawing time — only keyboard polls appear on the wire there.
Install
fujinet-go-adam-v1.1.0.apk — all packaged ABIs, Android 8.0+. The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
No system ROMs are bundled. They must be imported before the machine can boot.
🤖 Generated with Claude Code
FujiNet Go Adam v1.0.5
The bundled FujiNet runtime is rebuilt from upstream master (fujinet-firmware 13465cdd).
The previous build came from force-mbedtls-3 (07e1bed3), a branch that was never an ancestor of master, so the runtime had been standing still while upstream moved on. The Mbed TLS 3.x requirement it was branched for landed as #1595, which makes the branch unnecessary.
From the firmware
- The new
DaisyChainclass, centralising device-chain management across buses (#1594). - The DriveWire
.casmedia format (#1596).
Still missing on Adam: the AdamNet device-spec padding fix has never landed on the firmware's mainline, so moving to master does not restore it. N: opens on AdamNet can still see the padding that follows the device spec, and a GCAL day view in particular may come back empty. It returns once the AdamNet work is merged upstream.
Not a change here: calendar compose/edit and Gmail composition arrived in 1.0.4 and are unaffected.
Install
fujinet-go-adam-v1.0.5.apk — all packaged ABIs, Android 8.0+. The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
No system ROMs are bundled. They must be imported before the machine can boot.
🤖 Generated with Claude Code
FujiNet Go Adam v1.0.4
The bundled FujiNet runtime moves to a firmware build that refuses to compile against Mbed TLS 4.x.
That release removed the low-level crypto headers the runtime's TLS backend needs and split the rest into a separate library. A build machine whose system Mbed TLS had moved on to 4.x could produce a runtime with quietly broken TLS instead of failing outright. The build now finds a 3.x install, or stops and says so.
The runtime also picks up Gmail message composition, and calendar events that can be created and edited rather than only read.
Known issue
AdamNet N: opens can again see the padding that follows the device spec. The fix released in 1.0.2 has not yet landed on the firmware's mainline, and this build tracks mainline. A protocol that reads the device spec byte for byte — GCAL in particular — may fetch an empty result. The fix returns once the AdamNet work is merged upstream.
Install
fujinet-go-adam-v1.0.4.apk — all packaged ABIs, Android 8.0+. The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
No system ROMs are bundled. They must be imported before the machine can boot.
🤖 Generated with Claude Code
FujiNet Go Adam v1.0.3
Every on-screen control now answers with a tactile blip.
The ADAM keyboard, the ColecoVision keypad, the SmartKeys bar, the stick and the fire buttons already pulsed under a fingertip. The app's own controls said nothing back. Now the toolbar buttons, the whole Settings dialog (the haptics switches themselves included, which was a particular irony), the palette / expansion / joystick-mode / button-swap / keypad-reverse pickers, the ColecoVision reset button, Apply and Cancel, and the first-run ROM-import gate all give the same short confirmation.
Interface haptics
Settings gains a third switch, Interface haptics, governing the app's own controls only. Silence the toolbar and the dialogs without giving up the pulse under the keyboard and the controller, or the other way round. On by default, and its pulse is deliberately lighter than a keypress: tapping Settings is incidental, pressing a key is the point.
Install
fujinet-go-adam-v1.0.3.apk — all packaged ABIs, Android 8.0+. The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
No system ROMs are bundled. They must be imported before the machine can boot.
🤖 Generated with Claude Code
FujiNet Go Adam v1.0.2
FujiNet runtime fix: the bundled firmware moves from a4b35d18 to a7a4fd3a (fujinet-firmware).
- An AdamNet
N:open no longer carries the padding that follows the device spec. The client library copies the URL into a fixed 256-byte field and sends the whole block, and the runtime read that payload by length, so the padding rode along inside the string — invisible in the logs, but not to a protocol that reads the device spec byte for byte.N:GCAL:///DAY/<date>was parsed as a calendar named after its own date instead of as a DAY view, so day, week and month listings came back empty. The runtime now stops at the end of the string, as the other buses already do.
The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
FujiNet Go Adam v1.0.1
FujiNet runtime refresh: the bundled firmware moves from 3e888b1c to a4b35d18 (fujinet-firmware).
- Web UI: an optional global password, and an SD card file manager.
- N: gains the
CALENDAR,GCALandICALprotocols. - CONFIG's slot-assignment screen shows the right filenames again.
- Opening an AdamNet network connection no longer crashes on a null device.
- A zero-length app key write clears the key instead of failing.
The APK is debug-signed, as every release here has been — keep the same signing identity or sideload upgrades break.
FujiNet Go Adam v1.0.0
First stable release — Google Play ready.
- Coleco system ROMs (OS7/EOS/WP) are no longer bundled. On first run, import your own dumps at the ROM gate (Storage Access Framework); imports are CRC32-verified and stay in app-private storage.
- The session refuses to start without ROMs instead of showing a silent black screen.
- Release builds are mechanically verified ROM-free (
verifyNoEmbeddedRomsbyte probe, fail-closed). - Cleartext HTTP is scoped to the loopback FujiNet web UI; release builds carry full native debug symbols.
- Release signing +
tools/release-play.sh(signed AAB), privacy policy and Play submission checklist underdocs/.
The emulator core is adamcore (clean-room, GPLv3) with the in-process FujiNet runtime.
FujiNet Go Adam v0.14.0
- Update the emulator core to adamcore
d37f055— now public at tschak909/adamcore - AdamNet BoIP: recover a block-number SEND that FujiNet discarded, instead of stalling five seconds mid-boot
- AdamNet BoIP: fix duplicate blocks after a CLR re-poll, and retire block reads properly
- VDP: deliver the VBlank NMI at the start of the blanking line
- The bundled ADAM system ROMs are now public domain
- The core revision an APK was built from is now pinned and recorded
FujiNet Go Adam v0.11.1
- Add landscape drapes
FujiNet Go Adam v0.11.0
- Add haptic feedback.