[Oberon] RISC emulator and floating-point

Paul Reed paulreed at paddedcell.com
Tue Mar 25 11:59:25 CET 2014

Hi Peter,

> Good idea. But simply forcing the window full screen will screw up the
> aspect ratio on widescreen displays, so I implemented it in a different
> way (sadly quite a bit more complicated).

Sorry for the extra work!  I think maybe it happened to be ok for me
because my real screen was exactly 768 pixels high.  But to answer your
question, both that and the Alt key were both really hacks to enable me to
add and test the PCLink stuff (you really do need a real three-button
mouse to work with original Oberon).  Thanks for the improvements!!!

> By the way, I've been working the past few days on emulating the
> floating point instructions and I *think* I've implemented them
> correctly. But I'm completely confused by the instructions the Oberon
> system executes. (I'm using the image from your website dated
> 15.2.2014). It looks like every floating point constant got compiled as
> 67711C80H?
> E.g. if you look at the disassembly of ORS.Tens, both x and e get
> initialized to that number. And in Texts.WriteReal, that number is also
> used instead of zero...
> There's also something wrong with Texts.WriteInt, trying to print
> 80000000H results in a trap.

Yes that's definitely weird, probably a consequence of the circuitous
cross-compilation route (via my own RISC VM) I used to create the image. 
I will look at this further and let you know in due course.  Sorry for any
inconvenience and thanks for the feedback!

Best regards,

More information about the Oberon mailing list