-
Notifications
You must be signed in to change notification settings - Fork 68
The Complete OSX CLI Guide
Build Fujinet Firmware on your Macintosh using just the terminal
Tested on OSX Sonoma, 14.5, with Apple Silicon M3 chip.
install brew - will install xcode command line tools (build-env) and allow easier package installation and management.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Make sure brew is in your path. Then use it to install these packages:
brew install python
brew install virtualenv
brew install cmake
brew install mbedtls
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Note: you must install Rosetta2 in order to build with Cmake, as there is no apple silicon cmake target as of 2024.
cd ~
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
python3 ./get-platformio.py
export PATH=$PATH:~/.platformio/penv/bin
pio platform install espressif32
source ./.platformio/penv/bin/activate
python3 -m pip install Jinja2
python3 -m pip install --upgrade pip setuptools
cd ~/code
git clone https://github.com/FujiNetWIFI/fujinet-firmware.git
git clone https://github.com/FujiNetWIFI/fujinet-apps.git
cd fujinet-firmware/
Ensure you have connected the FN via USB and it's powered on so the Mac can see it.
$ ls -l /dev | grep tty.usb
/dev/tty.usbserial-1140
Save the output for the ini file.
Setup a target platform with build.sh
~/code/fujinet-firmware (master) $ ./build.sh -s fujinet-atari-v1
Now edit platform.local.ini that was created in the directory. Add:
[env]
upload_speed = 460800 ;921600
upload_port = /dev/tty.usbserial-1140
monitor_speed = 460800 ;921600
monitor_port = /dev/tty.usbserial-1140
Change your device to match the output of you system.
./build.sh -cb
[builds for the platform....]
dillera@Andrews-MBP ~ $ pio system info
PlatformIO Core 6.1.15 Python 3.12.3-final.0 System Type darwin_arm64 Platform macOS-14.5 File System Encoding utf-8 Locale Encoding UTF-8 PlatformIO Core Directory /Users/dillera/.platformio PlatformIO Core Executable /Users/dillera/.platformio/penv/bin/platformio Python Executable /Users/dillera/.platformio/penv/bin/python Global Libraries 0 Development Platforms 2 Tools & Toolchains 8
This works just as well on X86 Systems, you just don't need to install Rosetta.
## Benchmarks:
Xeon E5 3.5Ghz:
Retrieving maximum program size .pio/build/fujinet-atari-v1/firmware.elf ... ==== [SUCCESS] Took 65.36 seconds ======
ARM - M3 Pro:
Retrieving maximum program size .pio/build/fujinet-atari-v1/firmware.elf ... ==== [SUCCESS] Took 11.92 seconds =========
Copyright 2024 Contributors to the FujiNetWIFI project.
Join us on Discord: https://discord.gg/7MfFTvD
- Home
- What is FujiNet?
- The Definition of Done
- Board bring up for FujiNet Platform.IO code
- The Complete Linux CLI Guide
- The Complete macOS CLI Guide
- Development Env for Apps
- FujiNet-Development-Guidelines
- System Quickstarts
- FujiNet Flasher
- Setting up a TNFS Server
- FujiNet Configuration File: fnconfig.ini
- AppKey Registry - SIO Command $DC Open App Key
- CP-M Support
- BBS
- Official Hardware Versions
- Prototype Board Revisions
- FujiNet Development Guidelines
- Atari Programming
- Apple Programming
- C64 Programming
- ADAM Programming
- Testing Plan
- Hacker List
- FujiNet VirtualMachine