FreeBASIC and OMA games for AROS ================================ This directory contains my FreeBASIC 1.20.3 packages for AROS, the matching Developer packages needed to compile programs, and AROS builds of the OMA games, OpenSlicks, fb-VNC, and the OpenSesh MIDI editor. There are three separate targets here: x86_64 PC x86-64 arm Raspberry Pi ARM hard-float m68k Amiga m68k, 68000 and soft-float Use packages for the AROS system you are actually running. Packages for the three targets are not interchangeable. Installing the compiler ----------------------- FreeBASIC generates C and then calls GCC and binutils. A working native compiler therefore has two parts: the FreeBASIC package and the matching AROS Developer package. Install the two packages for your target in this order from an AROS shell. For x86-64: Unpack FreeBASIC-Developer-1.20.3-r1-aros-x86_64.pkg TO SYS: Unpack FreeBASIC-1.20.3-r1-aros-x86_64.pkg TO SYS: For Raspberry Pi ARM: Unpack FreeBASIC-Developer-1.20.3-r1-aros-arm.pkg TO SYS: Unpack FreeBASIC-1.20.3-r1-aros-arm.pkg TO SYS: For Amiga m68k: Unpack FreeBASIC-Developer-1.20.3-r1-aros-m68k.pkg TO SYS: Unpack FreeBASIC-1.20.3-r1-aros-m68k.pkg TO SYS: If your AROS installation already has a complete Developer: tree from the same target and SDK revision, you can use that instead of my Developer package. Do not mix a Developer package from another architecture. The ZIP downloads contain the corresponding .pkg and a short package README. Download either the .pkg directly or its ZIP. There is no reason to install both copies. The .pkg downloads are already bzip2-wrapped in the form expected by AROS C:Unpack. Do not decompress them first. A Developer package is much larger than the FreeBASIC package because it contains the complete native GCC and binutils supply chain. After installing the two matching parts, reboot AROS or run: Execute SYS:FreeBASIC/S/FreeBASIC-Startup On x86-64 and m68k, compile and run a small program with: fbc -target aros -m hello hello.bas hello On ARM, the compiler package is experimental. Use the full compiler path when testing it: Stack 16777216 SYS:FreeBASIC/bin/fbc -target aros -m hello hello.bas hello The ARM startup file configures the native tools with absolute paths. It does not add FreeBASIC:bin to Path because the current ARM FAT handler can block while Path compares a newly installed directory lock. GCC also uses native AROS file and directory checks and finds cc1 below SYS:Developer/libexec/gcc. The larger shell stack is needed by the native ARM compiler and GCC front end. The installed ARM fbc front end and the individual GCC tools work, but the complete fbc -> gcc -> cc1 command chain is not reliable yet. A nested compiler stage can lose or stall its command stream at the AROS process boundary. I am providing the package for testing the ARM port and its separate tools, but I do not consider one-command native ARM compilation proven at this point. The compiler package includes the headers, normal and multithreaded runtime, gfxlib2, sfxlib and libffi. Graphics use Intuition and CyberGraphX. Sound uses ahi.device when AHI is available. Clean installation check ------------------------ I tested all three package pairs on clean AROS guests on 31 August and 1 September 2026: x86_64 QEMU/KVM with a clean PC x86-64 ISO arm QEMU Raspberry Pi 2 with a new 4 GB SD image m68k FS-UAE with the AROS open ROM and a clean Amiga m68k ISO The x86-64 and m68k test ISOs had the build tree's Developer directory removed. The ARM image was assembled without Developer or FreeBASIC. Each guest used its native C:Unpack command to install the matching Developer and FreeBASIC .pkg files. The x86-64 and m68k tests then ran the installed GCC, assembler and linker and used the installed fbc to compile and link a new BASIC program. A pass required the program to write its marker file, return status 73, and have the expected executable format. The m68k result was checked as an Amiga Hunk executable and the x86-64 result as an AROS ELF executable. The ARM test proved that both packages install with C:Unpack and that the expected compiler and Developer files are present. Direct compiler-component checks also work, but the final nested-driver compile fails as described above, so ARM is not included in the full native compile-and-run claim. Package hashes, installer return codes, compiler output, program output and guest serial logs were retained with the build. The package builder also decompresses every finished .pkg, validates its PKG1 records, compares the extracted tree with the staged source tree, and checks that the copy inside each ZIP is identical to the separate .pkg download. Installing a game ----------------- The game packages are under oma/. Pick the package for your architecture. Each ZIP contains one installable .pkg and its README. From an AROS shell, unpack the .pkg to SYS:. For example: Unpack OMA-Behold-r1-aros-m68k.pkg TO SYS: The README inside each game ZIP gives the exact Start command for that game. The games contain the FreeBASIC code they need, so the compiler and Developer package are not required just to play them. The OpenSlicks package includes a small original test track. It does not contain the original Slicks 'n Slide data. Copy legally owned .SS or .SZT tracks into the installed TRACKS directory to add courses. Installing fb-VNC ----------------- fb-VNC is available for all three AROS targets: fb-VNC-r1-aros-x86_64.pkg fb-VNC-r1-aros-arm.pkg fb-VNC-r1-aros-m68k.pkg The matching ZIP contains the same .pkg and its README. Install one copy, not both. For example, on x86-64: Unpack fb-VNC-r1-aros-x86_64.pkg TO SYS: Execute SYS:Utilities/fb-VNC/Start The Start script opens the connection window. You can also give the viewer a server directly: SYS:Utilities/fb-VNC/fbvnc 192.168.1.10::5900 A single colon selects a VNC display number. Two colons select the literal TCP port, so keep both colons in that command. fb-VNC contains the FreeBASIC runtime code it needs. The FreeBASIC and Developer packages are not required just to run it. A working AROS TCP stack, the network driver for the machine, and the package matching the CPU are still required. Some AROS display drivers do not provide resizable gfxlib windows; fb-VNC falls back to a fixed-size window on those systems. On 1 September 2026 I installed the x86-64 package with C:Unpack on a clean QEMU AROS image that contained no Developer or FreeBASIC tree. The installed viewer started its window, connected through the guest TCP stack to the VNC test server on my PC, completed RFB negotiation, and received a complete 1920 by 1080 Raw framebuffer. The three finished .pkg files were also extracted and compared byte for byte with their architecture-specific staging trees before publication. Classic VNC authentication does not encrypt the session. I only use this viewer on a trusted LAN or through a tunnel. Installing OpenSesh ------------------- OpenSesh is available for all three AROS targets: OpenSesh-0.9.0-dev-r3-aros-x86_64.pkg OpenSesh-0.9.0-dev-r3-aros-arm.pkg OpenSesh-0.9.0-dev-r3-aros-m68k.pkg The matching ZIP contains the same .pkg and its README. Install the package matching the CPU in the machine. For example, on x86-64: Unpack OpenSesh-0.9.0-dev-r3-aros-x86_64.pkg TO SYS: Execute SYS:Utilities/OpenSesh/Start OpenSesh contains the FreeBASIC runtime code it needs. The compiler and Developer packages are not required just to use the editor. It can create, open, edit, play, and export MIDI files. The software synth is included, but the package does not include a SoundFont. This port does not have an AROS hardware-MIDI backend yet. MIDI files, the on-screen keyboard, the drum pads, and software-synth playback work. The external MIDI Input and MIDI Output device lists are empty for now. On 1 September 2026 I installed the x86-64 package with C:Unpack on a clean QEMU AROS ISO after removing its Developer and FreeBASIC trees. The installed editor stayed active for the 20-second check and the captured framebuffer showed the complete score and mixer interface. The ARM and m68k packages were also extracted and compared byte for byte with their staging trees, and their executables were checked as AROS ARM ELF and Amiga Hunk files respectively. Checksums --------- SHA256SUMS contains the SHA-256 hash of every package and this README. The manifest does not hash itself. Check the download before installing it if you are moving packages through another computer or removable media. end of readme.txt