[Oberon] Standalone BootLoader format

Tomas Kral thomas.kral at email.cz
Thu May 14 17:24:34 CEST 2020


On Thu, 14 May 2020 15:57:41 +0100
Paul Reed <paulreed at paddedcell.com> wrote:

> OK thanks.  Then ignore my second message and look mainly at the
> sample bootfile.

Will read as well, as SB linked list did not occur to me yet. But that
plays its part in regular modular compiler, right?

Standalone module has just one fixed SB, set early in the code, even if
we had inside module several procedures?

Multi section boot file is kind of cool, I currently have only one
single small (or big section Oberon0.bin interpreter), that loads
everything in one chunk.

I use `ORC.Load Risc.bin', under Oberon at arm (RPI).

Or right from RPI, it has hardcoded load address, and is also limited to
one (size block 0000).

#!/bin/sh
# ORC.Load

file=$1

# convert file size to little endian
fs=$( stat -c%s $file )
fs=$( printf %08x $fs )

/bin/echo -ne \\x$( echo $fs | cut -b7-8 ) > /dev/ttyUSB1
/bin/echo -ne \\x$( echo $fs | cut -b5-6 ) > /dev/ttyUSB1
/bin/echo -ne \\x$( echo $fs | cut -b3-4 ) > /dev/ttyUSB1
/bin/echo -ne \\x$( echo $fs | cut -b1-2 ) > /dev/ttyUSB1

# load address
printf '\0\0\0\0' > /dev/ttyUSB1
cp $file /dev/ttyUSB1

# zero size terminates stream
printf '\0\0\0\0' > /dev/ttyUSB1

-- 
Tomas Kral <thomas.kral at email.cz>


More information about the Oberon mailing list