[Oberon] ORX.WriteFile

Jörg joerg.straube at iaeth.ch
Thu Oct 17 09:18:35 CEST 2019


Wojtek

ORX (or Boot) has nothing to do with the "FPGA Oberon distribution" per se as it does not run in FPGA Oberon but on the system you build your FPGA Oberon on.
ORX.WriteFile "just" exports the code block of a .rsc file and dumps it as hex words in an ASCII file. Typically this is used to generate the PROM file used by the FPGA bootloader
Unless you changed the bootloader, you don't need it at all as the PROM file for the existing bootloader exists.

You can build your FPGA Oberon system on any system (Mac, Windows, Linux) and even without any Oberon at all. The equivalent of ORX.WriteFile could be written in C, Lisp or FORTRAN ☺
This is most probably the reason why it is not included, as the build systems are quite different.

If you build your system from scratch you don't only need this PROM file (basically the bootloader as RISC-5 assembler code as ASCII text file) but also the disk image, where all the Oberon files reside.
On your build system you "burn" your disk image to an SD card. Then you insert it in the FPGA board and boot form it. The same disk image is used by RISC-5 emulators.
I use my ISO tools to copy Oberon files to and from this disk image.
Another approach to copy files to this Oberon disk image is: you run the FPGA Oberon and connect another computer to it via a serial cable and start a serial transfer to copy Oberon files from the build system to your FPGA system. But you only can do this, if you have a correct disk image in the first place!!

br
Jörg

Am 17.10.19, 05:45 schrieb "Oberon im Auftrag von Skulski, Wojciech" <oberon-bounces at lists.inf.ethz.ch im Auftrag von skulski at pas.rochester.edu>:

    Joerg:
    
    thank you for the files. I am now a bit confused. What do you mean by the ISO file? Which emulator are you using? I will be happy to use the same.
    
    Do you have any documentation concerning these ISO tools? An overview perhaps?
    
    My original question was a little bit different from your answer. If I understand correctly, the command ORX.WriteFile is making the PROM file which is then added to the FPGA bit file which is loaded into the FPGA configuration memory. Then, when you boot the FPGA, it has the bootloader in the BRAM which can boot the Oberon System from the SD card.
    
    So the ORX.Mod is the module which converts the compiled "MODULE* BootLoader" into the format which Xilinx tools can pack into the FPGA configuration bit file.
    
    I hope I am not confusing the issue. If I am correct then the ORX is a format converter. This ORX.Mod is missing from the FPGA Oberon 2013 distribution. Or perhaps I do not know where to look.
    
    Thank you,
    Wojtek
    ________________________________________
    From: Oberon [oberon-bounces at lists.inf.ethz.ch] on behalf of Jörg [joerg.straube at iaeth.ch]
    Sent: Tuesday, October 15, 2019 5:36 AM
    To: ETH Oberon and related systems
    Subject: Re: [Oberon] ORX.WriteFile
    
    Wojtek
    
    Here my Linz sources as is
    
    https://1drv.ms/u/s!AhkM6Cvn4toojmDj5RKCgDqB7CzA?e=j3ct3z
    
    
    Some remarks:
    
    - The Oberon-07 cross-compiler is a ported version of an older NW compiler. I would have to re-do the porting for the newest compiler version. It’s not a big deal but needs time I don’t have at the moment.
    
    - ISO.Mod: the highest module offering all the commands. See examples at the end of the source file.
      ISOKernel.Mod: in the CONST section you have to enable the correct “ISOFile” and “FSoffset” of the emulator’s ISO image you want to write to/read from
    
    br
    
    Jörg
    
    Am 14.10.19, 06:16 schrieb "Oberon im Auftrag von Jörg" <oberon-bounces at lists.inf.ethz.ch im Auftrag von joerg.straube at iaeth.ch>:
    
        Hi
    
        So far, I only detected one issue with Linz Oberon:
    
        Linz Oberon generates temporary files where the "Windows uptime" is used to make the temp file name unique.
    
        If your Windows is up and running for more than 24.8 days, the filename routine has a bug, the temp file cannot be generated, Linz Oberon stops working.
    
        In short: boot your PC before using Linz Oberon. Restart won't work.
    
        I ported NW's compiler to LinzOberon quite some time back. I would have to port over the latest ProjectOberon source again.
    
        I will see whether I can make my ISO module available. You know there is quite a difference of making something work for me quick and dirty and make it work for others as well with documentation etc.
    
        br
    
        Jörg
    
    
    
        Am 14.10.19, 02:01 schrieb "Oberon im Auftrag von Skulski, Wojciech" <oberon-bounces at lists.inf.ethz.ch im Auftrag von skulski at pas.rochester.edu>:
    
            Joerg:
    
            > As build environment I use the Oberon-07 emulator on the Mac.
            I use Windows. I am typing this on Windows XP. My W10 laptop is sleeping nearby.
    
            > I also ported the Oberon-07 compiler to Linz Oberon on Windows 10 as cross compiler.
            This is very interesting. Is your port available? I have LinzV4 on both Windows XP, W7, and W10. Linz V4 seems to have some problems on higher Windows, but I have not seen a pattern yet.
            It would be nice to use BlackBox for the cross environment. It is more friendly, though less kosher.
    
            > In this environment I use my command ISO.CopyTo to copy files to an Oberon. img file.
            > With my module ISO.Mod I get rid of the serial file transfer between Windows and Oberon-07
            > With the command CopyFrom I can copy from Oberon-07 to Windows.
            Very interesting. I would love to use your tools. I will pursue a few steps with RiskFive before designing a successor board.
    
            > You could do the same for A2 but I did not do it so far.
    
            No A2 in my plans.
    
            Thank you,
    
            Wojtek
    
    --
    Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
    https://lists.inf.ethz.ch/mailman/listinfo/oberon
    




More information about the Oberon mailing list