OS bootloader
ZXNet echo conference «code.zx»
From Wladimir Nikolaev → To All 16 January 2000
┌─ Forwarded by Wladimir Nikolaev ─────Not─a─niger───
│ Posted from: REAL.NEOS
│ From: Alexander Bondarenko (34:1/90.1) Wed 22 Dec 1999 14:31:16
│ To : All ()
│ Subj: [FWD] OS loader
└────────────────────────────── ───────────────────────────────
=== So get forwarded msg, All ===
-= STUDIO STALL =-
GOOD DAY, All!
Yesterday I had nothing to do, I gave birth to a message, 6 kilos.
As usually happens, a good thought comes later.
In short - the idea about the bootloader is not to reinvent the bike,
and follow the already beaten path - use the 9th sector
with a length greater than 256 bytes. This technique will allow the system to boot to any
machine, regardless of the ROM firmware. True, if there is no BIOS, you will have to
load.
Here is the minimum required for the system:
1. Computer with typical TR-DOS.
2. Memory - 128k.
In this case, the system will sit somewhere in the page, for example - in the 1st, in
the printer buffer will have a sour kernal, and it is also quite possible that there will be
some more areas up to #6000 are involved
From #6000 to #C000 - program area. You can also use from #C000 to #FFFF in
zero page.
The system will take about a page (meaning a very compact version). Yes
What, the user has 40 kilobytes left, plus 64 kilobytes, in total - about 100 kilobytes
free memory. Quite normal.It's a different matter when there are bells and whistles like pseudo-ROM. In this case, the system will
placed there. Although, in case someone wants to use this memory -
You can throw the core up.
Here EVG believes that programs for this OS should be 100% relocatable. I
I agree with him 100%. This will allow you to completely forget about the location of your
programs, and using memory is more cost-effective.
Calling programs from other pages can be done in two ways:
1.
...
CALL call_prg_0
DW addr_prg
DB page_prg
...
(ts) EVG
2.
...
LD A,page_prg
LD HL,addr_prg
CALL call_prg_1
The user will figure out which method is preferable.
Oh, by the way, I completely forgot - what should be placed in the ROM?
It’s best to cram in low-level procedures for working with the drive,
screw, memory; Also, it’s worth putting a printing procedure with a font there, a survey
keyboards; Any service options for working with this system -
NMI handler, some kind of RESET SERVICE. As a result, the bootloader will load
only the upper levels of the system.
In short, the system first determines the configuration, estimates the most
optimal position and loads what you need there.
SEE YOU, All!
-+-----▄█▄--▄--▄▄▄▄--■-▄█▄▄---------[STUDIO STALL]-[ZX-CLUB]---
-+-(C)▐█▄█▌▐█▌▐█▐▌█▌▐█▌▐█▌-/STALL---[ASSM]-[GFX]-[GAMEMAKING]---+-----▀-▀--▀▀-▀--▀--▀--▀▀▀---------[BEER]-[SAMOGON]-[PC-SUXX]-
-+- Lara Croft MED 4.40 ---------------------------------------
+ Origin: Where are the new origins? (34:1/90.1)
=== CUT ===
Hi, All!
With Best regards, Lynx^XPL0S!VE ...
[team Plutonium] [Firestarter] [Girls] [GMD]
{ Our name is Legion. }