Skip to content

OP2 compiler works within the Oberon System for i386 and arm32

Latest

Choose a tag to compare

@rochus-keller rochus-keller released this 23 Jul 15:53

Finally I found the time to properly integrate, test and debug my OP2 version into the Oberon System. I made some attempts earlier but found a crash on ARMv7 when running Compiler.Compile. That was pretty misterious since I use the same compiler to build the whole system (but transpiled to C); as it turned out, I forgot to initialize a pointer variable in OPP which caused a crash when run on the Oberon System, but not when run as a C program; took some time to trace down, but now it works. I successfully tested OP2 on i386 and arm32 QEMU and on the Raspi Zero 2.

I also fixed an annoyance which was an unwanted side effect of the Zero 2 USB driver overhaul, which made keyboard operation on QEMU (ARM only) unreliable. I fixed this by adding a new configuration option "Qemu=1" in which case the original async interrupt handling is restored (which doesn't work on the Raspi, but on QEMU).

With this fixes and the working compiler, the Oberon System can be considered sufficiently complete and I can focus on other things
(such as transpiling the whole source code to my new Micron language and continue development of the system in this language).

Attached are

  • precompiled image and drive for i386 QEMU
  • precompiled image and drive for ARM32 QEMU
  • ready image to flash an SD card for Raspberry Pi 3b and Zero 2