Marcel Kilgus wrote:

> For anybody interested: I've just written a short essay about the low
> level boot process of SMSQ/E for anybody daring enough to try to
> understand it:
> 
> http://www.kilgus.net/2016/03/17/smsqe-boot-sequence/
> 
> Cheers, Marcel

Thanks for the nice essay. A few remarks:

The "LOWRAM" mode of the Q40/Q60, where read access at $0 to $17FFF 
is mapped to shadow RAM, was mostly used for ROM emulation in the 
early days. The Q60 had to use two 16 bit EPROMs, because the design 
rule was strictly without SMD components. No space saving solution 
with Flash was possible at the time, since the 68060 needs memory 
always 32 bit wide physically, unlike a 68020. The ROM emulation 
saved me from having to UV-erase the EPROMs too often. 

On a hardware level, write operations in this mode do not actually 
fail, and the mainboard does not generate a bus error exception. 
They take place, but are ignored.

The CPU does not get its initial instruction pointer from address 
$8, as mentioned in the blog, but from $4. (The vector at $8 is 
assigned to the bus error exception.)

Funny that an LRESPRed Q40/Q60 SMSQ/E copies itself to $28480, and 
not to the more rounded $30000 like QPC. And I did not yet know, 
that Q40/Q60 SMSQ/E copies itself twice, not just once.

I think I can guess the reason why SMSQ/E cleared the first 256 
bytes of legacy screen RAM at $00020000: Debugging! At very early 
stage of firmware development, one usually has no working serial 
driver, nor character output on the screen. The easiest thing to 
generate some debug output is to "poke" to the screen, when the code 
reaches certain locations. At least that's how I worked myself ;-)
Of course one needs to clear that area first, because reset or 
power-off does not reset video memory contents.

After reading the essay, I will add a little new feature to the Q68 
bootloader. It will not just load "ROM" binaries at $0 (used for 
QDOS and Minerva), but also "RAM" binaries to $30000. This shall 
save SMSQ/E one self-copy ;)

Peter

_______________________________________________
QL-Users Mailing List

Reply via email to