[Oberon] QEMU target implementation for Oberon RISC architecture
Charles Perkins
chuck at kuracali.com
Mon Dec 30 16:11:33 CET 2019
Hi Paul and Jörg,
Sometimes I am too clever for my own good. I thought I saw a way out of the
name confusion. I'll make it clear that RISC5 is the correct name for the
architecture. Also, I missed the CPU version bits in the emulator -- I will
have to make sure the SYSTEM.H code works too... after I correct DIV for
negative operands and finish floating point!
Of course this is just another emulator and the Oberon community already
has plenty of those but I wanted to work with just one emulation platform
across several porting efforts, and QEMU is to me the obvious choice. And
as a side benefit it seems quite fast, comparatively.
Cheers,
Chuck
On Mon, Dec 30, 2019 at 1:43 AM Jörg <joerg.straube at iaeth.ch> wrote:
> Hi
>
> You can ask the RISC processor to reveal its version with this code
>
> cpu := SYSTEM.H(2019) MOD 80H;
> IF cpu = 53H THEN (* RISC5: with interrupts + floating-point,
> 31.8.2018 *)
> ELSIF cpu = 54H THEN (* RISC5a: no interrupts, no floating-point,
> 1.9.2018*)
> ELSIF cpu = A0H THEN (* RISC0, 26.12.2013 *)
> END;
>
> br
> Jörg
>
> Am 30.12.19, 09:56 schrieb "Oberon im Auftrag von Paul Reed" <
> oberon-bounces at lists.inf.ethz.ch im Auftrag von paulreed at paddedcell.com>:
>
> Hi Chuck,
>
> > ...the target is named risc6
> > to avoid confusion with the already existing riscv target in qemu and
> > because in one communication (An Update of the RISC5 Implementation
> > [1]) Professor Wirth defines module RISC6 to introduce interrupts
> into
> > the architecture.
>
> Sorry I think that's a mis-print since it's the only occurrence, I'm
> pretty sure the intention was to keep it as RISC5. Apologies for any
> confusion.
>
> As it happens most of the stuff for interrupts was there originally
> anyway before the update, especially in the compiler. The RISC5
> source
> on Prof. Wirth's site definitely contains the interrupt code now.
> There's also a RISC5a version, without interrupts and without
> floating-point.
>
> Cheers,
> Paul
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related
> systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>
>
>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20191230/c73fd430/attachment.html>
More information about the Oberon
mailing list