Project Oberon / Linux

Project Oberon / Linux will become a port of Project Oberon to Linux on ARMv7 (32Bit), RISC-V (32Bit) and MIPS32 CPUs. Possible other targets are X86/X64, ARM64, LLVM and WebAssembly. Long term goal is to run Project Oberon highly optimized on every relevant CPU architecture via LLVM or WebAssembly or something similar. All native versions will run well via qemu on all other architectures. Symbol files are the same for all architectures. Object files get new endings. cp2o and cp2u are native commands programmed in Oberon to copy files from Linux to Oberon disk image resp. vice versa. Format is "./cp2o disk.img file1 file2 …".

Project Oberon / ARM Linux

The CPU needs ARMv7 instruction set and the DIV instruction. Cortex-A7 (like Raspberry PI 2) and newer CPUs are fine. Non-Cortex and Cortex-A8 and Cortex-A9 are not supported. It compiles itself. It uses X11 window system. Used memory is fixed at 16MB excluding stack. Object files are named file.arm. Bugs where PO accesses non existent memory were discovered and not yet fixed. RISC-5 hardware ignores access to non-existent memory locations while Linux crashes. Starting and compiling is extremely fast. Performance of this simple compiler is on par with other ARM compilers, including OP2 without register variables.

Available native ARM Linux files:
poa: command to start Project Oberon /ARM Linux. If disk image is Oberon.dsk in same directory than just execute "./poa" otherwise "./poa imagename.dsk".
cp2o: copy files to Oberon disk image.
cp2u: copy files from Oberon disk image.

pol.tgz: contains disk file Oberon.dsk and all ARM Linux commands; uncompress with "tar xzf pol.tgz"

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License