[Coco] ok i am learning but not fast enough
Tormod Volden
lists.tormod at gmail.com
Thu Feb 18 18:12:53 EST 2016
On Thu, Feb 18, 2016 at 6:50 PM, Bill Pierce via Coco wrote:
> Tormod, for use with HDBDOS or RGBDOS for mutipartition VHDs in Drivewire or the emulators, it's actually pretty simple. If the right "boot" module is there, all that's really needed on the 35trk disk is the kernel track (track 34)... nuthing more.
>
> When the kernel loads from 255 (or any other partition), the "boot" module will look to it's native format for the os9boot... at that point, hdbdos and the rsdos partition is forgotten, so it loads from whatever the boot specifies..
>
> boot_DW4 boots to /x0 so the os9boot needs to be on the OS9 /x0 partition, along wth the CMDS and all the rest.
Actually to be precise, boot_dw does not have any concept of /x0 and
does not use descriptors etc, it simply reads in sectors from the
first DriveWire drive using its own code. I guess this is the same for
all boot_* modules. But I see what you mean, this is the partition
that will be referenced to as /x0 once descriptors are loaded from
os9boot.
>
> boot_EmuDsk boots from H0 (actually boot_vhd)
OK, so that is boot_vhd from 3rdparty/booters/boot_vhd.asm
OK, so if I understand right, what VCC users need is a 35trk floppy
disk image that has a kernel track with boot_vhd (and an init
specifying /H0 ?), and nothing needed on the file system. That sounds
doable.
>
> When using a real Coco with Drivewire AND a real HD, and you want the HD to be "/DD", then you put the HD boot (boot_scsi, boot_ide etc) in the kernel on 255 then the OS9 boot goes on the HD.
>
> That's why we have all those boots and what they're for. You set the drive you want as your system as "/DD" and use the boot for that type drive and that's where the proper boot module will look.
>
> I can make a boot disk on a real floppy with "boot_dw" in the kernel, stick it in a real fd-502 drive 3, type DRIVE3:DOS and it will not boot unless OS9Boot is on /x0.
>
> Floppies boot from floppies and need everything. The disks we have work fine, but again... RSDOS does not know 40trk or 80 track and users can't back them up to real floopies... We need a 35 track just for this.
>
> On a boot disk, (real), all that is needed for OS9 to boot is the kernel, OS9boot, sysgo, CMDS/grfdrv, CMDS/shell, startup and what ever the startup needs (like load, link copy etc). After that, it's up to the user.
>
> I could explain 100 ways to set up the boot, and still not cover them all. You can use "boot_1773" and then you'll need OS9Boot and sysgo on the disk (for booting to another drive)... Boot_1773 will look to the current floppy for OS9boot, then when all the inits are done, it loads sysgo... but if sysgo points to /dd, then all the rest need to be where ever /dd is. If you want a scsi hd as /dd, the the rest is there. That's just another way...
Good examples. So the os9boot must be customized (include the right
drivers, and the right /dd descriptor) depending on where the file
system is. The kernel track must be customized depending on where
os9boot is to be found. And its init module defines whether the
default drive is called /dd or something else... Definitely many
combinations possible.
I think more people should look into Brett's CoCoBoot. The idea is an
intelligent bootloader loaded and run from e.g. BASIC stuffs the
kernel and os9boot into memory and then starts NitrOS-9 from there.
NitrOS-9 is currently using itself as a bootloader. An elegant
thought, and very efficient for the original use cases of booting from
ROM and limited media, but not the easiest to work with. That it ends
up requiring separate, minimized drivers as boot_* modules instead of
using its proper drivers is also not so elegant IMHO.
Tormod
More information about the Coco
mailing list