<div dir="ltr">Hi Paul and Jörg,<div><br></div><div>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!  </div><div><br></div><div>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. </div><div><br></div><div>Cheers,</div><div>Chuck</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 30, 2019 at 1:43 AM Jörg <<a href="mailto:joerg.straube@iaeth.ch">joerg.straube@iaeth.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi<br>
<br>
You can ask the RISC processor to reveal its version with this code<br>
<br>
   cpu := SYSTEM.H(2019) MOD 80H;<br>
   IF cpu = 53H THEN       (* RISC5: with interrupts + floating-point, 31.8.2018 *)<br>
   ELSIF cpu = 54H THEN (* RISC5a: no interrupts, no floating-point, 1.9.2018*)<br>
   ELSIF cpu = A0H THEN (* RISC0, 26.12.2013 *)<br>
   END;<br>
<br>
br<br>
Jörg<br>
<br>
Am 30.12.19, 09:56 schrieb "Oberon im Auftrag von Paul Reed" <<a href="mailto:oberon-bounces@lists.inf.ethz.ch" target="_blank">oberon-bounces@lists.inf.ethz.ch</a> im Auftrag von <a href="mailto:paulreed@paddedcell.com" target="_blank">paulreed@paddedcell.com</a>>:<br>
<br>
    Hi Chuck,<br>
<br>
    > ...the target is named risc6<br>
    > to avoid confusion with the already existing riscv target in qemu and<br>
    > because in one communication (An Update of the RISC5 Implementation<br>
    > [1]) Professor Wirth defines module RISC6 to introduce interrupts into<br>
    > the architecture.<br>
<br>
    Sorry I think that's a mis-print since it's the only occurrence, I'm <br>
    pretty sure the intention was to keep it as RISC5.  Apologies for any <br>
    confusion.<br>
<br>
    As it happens most of the stuff for interrupts was there originally <br>
    anyway before the update, especially in the compiler.  The RISC5 source <br>
    on Prof. Wirth's site definitely contains the interrupt code now.  <br>
    There's also a RISC5a version, without interrupts and without <br>
    floating-point.<br>
<br>
    Cheers,<br>
    Paul<br>
    --<br>
    <a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
    <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
<br>
<br>
<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div>