<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>