[Coco] [COCO] Putting NitrOS-9 boot track in ROM

David Ladd davidwladd at gmail.com
Sun Feb 1 22:04:27 EST 2015


Hello everyone,

I thought I would share something with everyone that I have been tinkering
with.

Last night I was thinking about NitrOS-9 in ROM, but not the OS9Boot file
like the docs normally talk about.  I was actually thinking of putting the
boot track for the given device into ROM.

The first reason I thought about doing this is saving the 4608 bytes that
is normally locked out of a given volume used for the boot track.  So I
figured if I put it into ROM I could gain back that space.  Plus this might
make it a bit easier to just link LSN0 to a specific boot file.
Here is my test code thus far:
------------------------------*bootrom.asm*
        org     $C000
START   EQU     *
        fcc     "DK"
        lbra    ENTRY
        fill    $FF,9*256
ENTRY   EQU     *
        ldx     #$2600
        ldu     #BOOTTRK
LOOP1   ldd     ,u++
        std     ,x++
        cmpu    #BOOTEND
        bne     LOOP1
        jmp     $2602
BOOTTRK EQU     *
        use     boottrack.asm
BOOTEND EQU     *
RMSIZE  EQU     BOOTEND-START
        fill    $39,$2000-RMSIZE
​
------------------------------
Now to create the boottrack.asm file I use the os9 tool from toolshed.
Example as follows:
os9 dump -a kernel_becker >boottrack.asm

Then you just need to run lwasm on bootrom.asm and it will build the ROM
image of the boot track you selected.

Now so far I have tested this with becker, CoCoSDC, EmuDisk, and IDE.
Becker, CoCoSDC, and EmuDisk work fine no problems.  So far I couldn't get
IDE to work.  I will have to examine the source code for boot_ide.asm to
see how it works more closely.

Now the only problem I have ran into thus far is a easy way to update the
OS9Boot file on a pre-existing volume without writing a boot track to the
volume.  So far os9gen and cobbler both require writing a boot track to the
volume.

What I would like to know if anyone has run across a native OS-9/NitrOS-9
utility that will link a file as being the OS9Boot file to the information
that would need to be set in LSN0?

Thanks :D


​
​
+----------+
|David Ladd|
+----------+


More information about the Coco mailing list