Is Oberon Workstation available for Mac OS X 10.9 and earlier?

The new Mac App Store release of Oberon Workstation (v1.1) requires OS X 10.10 or later, because we don't have testing facilities for older platform versions. Also, the Oberon Workstation application is programmed in Swift, which is not available on pre-OS X 10.9 Macs.


There is however (again) a build of the application that requires only 10.9 but it is not tested by us on an actual OS X 10.9 system. This build is available as a direct download. If you use it, please send a mail to confirm it works on OS X 10.9 or report an issue. You can also use this on the newer OS X versions, in case you prefer to not obtain it from the Mac App Store. The application is functionally equivalent to the App Store build.

Can the Oberon window be zoomed to get larger text?

The current version works with a fixed-size bitmap and window zooming is disabled. This was decided during development, since the Oberon bitmap - when resampled to arbitrary sizes - produces poor text quality on our (non-retina) Macs.

To get a larger Oberon Window you can use one the following.

Is there a way to enable the arrow keys for cursor control?

In Oberon Workstation the keyboard does generate ascii control codes for the arrow-keys, but these are not picked up in the current (Project Oberon) system.

Since it is our aim for Oberon Workstation to mirror Wirth's Project Oberon code, no features are added. The only changes we make are fixing a few spots that cause obvious problems such as illegal memory accesses (outside the valid memory address range).

You can however change the Oberon system to suit your personal taste or add desired features by changing system modules yourself.


To obtain cursor control, you could use a ready-made solution, suggested to us by Jörg Straube.

Add the red lines to TextFrames.Write as follows:


	ELSIF ch = 18X THEN (*ctrl-x,  cut*)
		IF F.hasSel THEN
			NEW(TBuf); Texts.OpenBuf(TBuf); Texts.Delete(F.text, F.selbeg.pos, F.selend.pos, TBuf)
		END
	ELSIF ch = 11X THEN (* left *)
		IF F.carloc.pos > 0 THEN RemoveCaret(F); SetCaret(F, F.carloc.pos - 1) END
	ELSIF ch = 12X THEN (* right *)
		IF F.carloc.pos < F.text.len THEN RemoveCaret(F); SetCaret(F, F.carloc.pos + 1) END
	ELSIF ch = 13X THEN (* up *)
		RemoveCaret(F); SetCaret(F, Pos(F, F.X + F.carloc.x, F.Y + F.carloc.y + F.lsp))
	ELSIF ch = 14X THEN (* down *)
		RemoveCaret(F); SetCaret(F, Pos(F, F.X + F.carloc.x, F.Y + F.carloc.y - F.lsp))
	ELSIF (20X <= ch) & (ch <= DEL) OR (ch = CR) OR (ch = TAB) THEN

Can i get the slowed-down RISC5 also in non-Alt-boot mode?

There is no real difference between normal boot and Alt boot modes, except that normal boot is the default.

To see a throttled RISC5 with the normal system, you can use "File > Set Alt Startup File", and set it to "Modules.rsc", the principal module of the standard system.

Then use "RISC5 > Alt Speed" to select e.g. 1 Mc/s.

When you now restart Oberon by using "RISC5 > Alt Restart Once", the normal system runs at 1 Mc/s.