FujiNetWIFI / fujinet-config

#FujiNet cross-platform CONFIG program
GNU General Public License v3.0
6 stars 19 forks source link

fujinet-config

More documentation to be written as it takes shape.

This repo is the primary repo for the CONFIG application for every supported platform on FujiNet.

In the beginning there was only Atari. And so the CONFIG application was just called fujinet-config. Then came the ADAM and now common code for all the platforms began to take shape in this repo. Apple II soon joined, then RC2014 and soon C64. Atari was merged back in here in 2022 Fall by frachel so there is one place for all platform CONFIGs going forward.

What is CONFIG?

CONFIG is the primary management application for the FujiNet device. It manages the WIFI connections and credentials, the SD card if one is inserted , and it traverses the HOSTS for images to mount in the Virtual SLOTS. The main page of CONFIG is the familiar HOSTS and SLOTS view that greets most people at boot with a FN device active on their system. CONFIG also can copy images to and from the SD card (Atari) and it has it's own configuration screen that shows the current network configuration of the ESP32 on your local network.

The CONFIG application must be coded and compiled to build a native binary application for each host platform. Then there are some scripts used to copy the CONFIG application to a bootable disk image for each platform. The process for those steps varies by platform. The final bootable disk image is then used in the main fujinet repo to flash the fs on the FN with the disk image, which is then loaded and mounted when you are booting the system without a virtual mounted disk.

Compiling on the Atari

To compile, currently requires:

CC65 built and installed on your system

Pull down cc65 code

Build cc65

For unix environments:

$ PREFIX=/usr/local/cc65 make
$ sudo PREFIX=/usr/local/cc65 make install

For MSYS2 environments, you must be in an MSYS2 shell, and then install with

$ PREFIX=/usr/local/cc65 make
$ PREFIX=/usr/local/cc65 make install

Note the lack of sudo.

After this, you can use any subsystem shell (e.g. UCRT64) to run cc65 as normal.

WARNING: If you are in a MinGW shell or any other sub-environment, the install will work, but will not be able to find the installed cfg, lib etc files. You must be in the MSYS2 shell for compiling and installing cc65, but not to run it.

Additional Tools

Building config also requires these additional tools:

Now with those prerequisites out of the way:

$ make -f Makefile.atari clean dist

Check for any errors. If sucessful there will be a log line:

created image "autorun.atr"

copy autorun.atr to ~//fujinet-platformio/data/BUILD_ATARI/ and then using PIO "Upload Filesystem Image" to load the new image onto the FujiNet. Your new CONFIG should be ready to test and use.

Compiling on the Apple II

To compile, currently requires:

CC65 built and installed on your system

Pull down cc65 code

Build cc65:

$ PREFIX=/usr/local/cc65 make
$ sudo PREFIX=/usr/local/cc65 make install

Pull PlatformIO repo & config repo

git clone https://github.com/FujiNetWIFI/fujinet-platformio.git
git clone https://github.com/FujiNetWIFI/fujinet-config.git

Now with those prerequisites out of the way:

cd fujinet-config-adam.git
$ make -f Makefile.apple2 clean dist

Check for any errors. If sucessful there will be logs that say:

...
java -jar dist.apple2/ac.jar -as dist.apple2/dist.po config.system sys <config
cp dist.apple2/dist.po ../fujinet-platformio/data/BUILD_APPLE/autorun.po

you will find your autorun.po in the directory indicated above. You can now flash this to the FN using the PIO's Upload Filesytem Image.

Compiling on the Apple IIgs

These instructions allow Apple IIgs users to build native GS/OS versions of CONFIG. Note that for generating the firmware version, instructions under Compiling on the Apple II above still apply.

Two makefiles allow building GS/OS versions of CONFIG:

To compile, currently requires:

GoldenGate built and installed on your system

Note: you'll have to buy GoldenGate before being able to build it. See the project page: https://goldengate.gitlab.io/.

A copy of the Byte Works ORCA/C and its libraries is also required. You can get it there: https://juiced.gs/store/opus-ii-software/.

Pull down GoldenGate code

Build GoldenGate:

Detailed instuctions for building the GoldenGate binaries are given in the project README.md. For installation of GoldenGate and ORCA/C components, see https://goldengate.gitlab.io/manual/#installation.

Now with those prerequisites out of the way:

To build the ORCA shell EXE:

$ cd fujinet-config
$ make -f Makefile.apple2gs
$ make -f Makefile.apple2gs dist

Check for any errors. If successful there will be logs that say:

...
cp dist.apple2/bootable.po dist.apple2/dist.po
java -jar dist.apple2/ac.jar -p dist.apple2/dist.po config exe <config

You will find the CONFIG shell EXE in the disp.po image. Just copy it under prefix #17, then add this to 15:SYSCMND:
CONFIG U configure Fujinet

Restart ORCA shell or issue a commands 15:syscmnd and you're ready.

To build the CDA:

cd fujinet-config
$ make -f Makefile.apple2cda
$ make -f Makefile.apple2cda dist

Check for any errors. If successful there will be logs that say:

...
cp dist.apple2/bootable.po dist.apple2/dist.po
java -jar dist.apple2/ac.jar -p dist.apple2/dist.po fuji.da cda <config

You will find the FUJI.DA CDA in the disp.po image. Just copy it on your GS/OS boot disk under System/Desc.Accs and you'll have FujiNet Config in the Desk Accessories menu after a reboot.

Compiling on the ADAM

To compile, currently requires:

Make using 'make -f ' where file is Makefile.

Compiling on the RC2014

To compiled, currently requires:

Make using make -f Makefile.rc2014

Screen Shots

CONFIG on the ADAM

ADAM CONFIG

CONFIG on the AppleII

Apple II CONFIG

CONFIG on the Atari

Atari CONFIG