09/07/08: Updating VCC .vhd hard drive with new version of NitrOS9 by willz88coco3, | Category: OS-9 | 16 comments - (Comments are closed)

Updating VCC .vhd hard drive with new version of NitrOS9

What is the best/easiest procedure for updating a virtual hard drive to the newest release of NitrOS9?

I’ts been about 10 years since I’ve worked with my real coco3. I remember how to create new boot disks using config and later, scripts when I discovered that config was just a front end for os9gen.

However if I remember correctly you needed to create the new boot on a new disk because two modules are written directly to the disk (OS9p1 and something else? REL maybe?) and then OS9Boot needs to reside in Sector 0 for the disk to boot properly.

Anyways, thought I would post the question before I start trashing virtual hard drive images.

Thanks in advance. Any help is appreciated.

Will

16 comments to Updating VCC .vhd hard drive with new version of NitrOS9

  • RobertGault

    Before anything else, MAKE A COPY OF THE .VHD IMAGE!! Once you have a copy, you can try updating either the original or copy without losing everything.

    Two things need to be done and there is no simple automatic way to do them. You must copy over to the .vhd image all the new files in the update replacing the older ones on the .vhd image. The current NitrOS-9 program Copy should replace older files (-r) without having to first delete them. Dsave -r will also overwrite files. The simplest way to replace all files would be to dsave the new version to the hard drive if the directory structure matches.
    However, you will probably need to boot from the .vhd image to access the hard drive. You don’t want to get a conflict by trying to load a file that is being rewritten, so load dsave and copy into memory before issuing the command.

    That still leaves creation of an appropriate boot disk for VCC. You could check to see if the kernel files have changed because if not, the old boot disk will still work. Best bet is to just make the new image. However, that means adding to the kernel the custom RGBDOS Boot and the emudsk.dr and descriptors.
    Copy the needed modules from your current system to the appropriate directories on the new version NitrOS-9 disk. Change the script files so that the needed modules will be used to create a new boot disk. Create a 35TSS boot disk (.dsk or .os9 image) and place it (BACKUP under RGBDOS) on the .vhd. Then run LINK under RGBDOS to correct lsn0 of the OS-9 portion of the hard drive.

    I think you can expect the first try or tries may not work well, so please please keep pristine copies of your .vhd hard drive.

  • willz88coco3

    I’m keen on part one with the dsave -r

    I assume this does not include the “os9boot” file.

    I still don’t understand the importance of creating the new boot on a floppy and then using this “LINK” program. What does this LINK program do? When is the new kernel written to the hard drive? Does it perfectly overwrite the old kernel?

    Thanks again for all of your help.

  • RobertGault

    Nope. This is a virtual drive on your PC hard drive as a .vhd file. Make a copy of the .vhd file. The OS-9 dsave has nothing to do with this. Dsave is for part two, when you are moving the NitrOS-9 update to your working .vhd image.

    The os9boot file is not on the OS-9 portion of the .vhd drive. It is on the boot disk stored in one of the 255 RSDOS drives on the .vhd image.

    LINK.BAS places the correct location of os9boot in LSN0 on the .vhd image so that OS-9 knows where it is located. Both the os9boot file and kernel are on one of the 255 “drives” as indicated above. LINK.BAS does not overwrite anything except the location of the boot file on LSN0 of the .vhd image. You must update the kernel and os9boot file.

  • willz88coco3

    Robert,

    Ok. I have updated my VCC .vhd (herein known as vhd or virtual hard drive or just hard drive) to the latest version of NitrOS-9, V3.2.8 2008/5/26

    However, I have one error that is bugging me.

    I copied over the pertinent files from the NitrOS-9 V3.2.8 disk image I downloaded from sourceforge, replacing those on the vhd. I created a custom boot list based on the included /h0/nitros9/6309l2/bootlists/hd1.bl, excluding some things I didn’t like and adding others I wanted (i.e. changed the VDG term to 80col, removed all but 2 VDG displays, added /w8 – /w15).

    To keep with the 35 track, single sided nature of DECB virtual floppy drives, I took a disk image of the original OS-9 Level 2 boot disk and made a copy of it and then inserted it into Drive 0. Then I formatted it as a single sided 35 track disk in NOS-9. I modified the /h0/nitros9/6309l2/scripts/mb script to format the floppy correctly as a single sided/35 track disk and added additional memory to os9gen using the #40k directive). The modified mb script correctly makes my boot disk in /d0. I then copy my new OS9Boot file from /d0 to /h0.

    I now reset VCC and type the following into RGBDOS:

    DRIVEOFF
    BACKUP 0 to 253 ** 253 is the current NOS-9 boot drive
    DRIVE 254 ** This is where the RGBDOS tools reside
    RUN “LINK”
    I then tell LINK that my drive is 253

    I then eject the boot disk from Drive 0 and type:

    DOS 253

    This is where my problems begin as I see this below…

    KREL Boot Krn tb

    …and then the machine crashes with some multicolored vertical lines on a white background.

    I then put the NOS-9 Boot image back into Drive 0, reset VCC and the type:

    DRIVEOFF
    DOS 0

    NitrOS-9 boots fine and executes my startup script on the vhd, everything looks great.

    I reset VCC again and type DOS 253. NitrOS-9 boots again and executes my startup script on the vhd. I eject the disk image from Drive 0 and the DOS 253, locks up again. After several more restarts I notice that when the NOS-9 Boot Image is in Drive 0 and I type DOS 253 that it still access a portion of something off of Drive 0 early on in the boot process. It looks like it is when the “0″ is being displayed and then all of the dots “…” and stops when the “bKrnP2″ is displayed.

    So I said “So what? I can live with this” so I did a:

    BACKUP 253 to 0 ** The virtual 0

    .. thinking that it could access what it needed from virtual disk 0. I ejected the disk image from drive 0 and did DOS 253. Lock. Then DOS 0. Lock. Put the virtual disk in Drive 0 and both DOS 0 and DOS 253 will boot NOS-9, but still accessing something off of the virtaul disk in Drive 0.

    I looks like I have missed a vital step in the latter portion of the process.

    Again, thanks for the help.

  • RobertGault

    Robert,

    Ok. I have updated my VCC .vhd (herein known as vhd or virtual hard drive or just hard drive) to the latest version of NitrOS-9, V3.2.8 2008/5/26

    However, I have one error that is bugging me.

    I copied over the pertinent files from the NitrOS-9 V3.2.8 disk image I downloaded from sourceforge, replacing those on the vhd. I created a custom boot list based on the included /h0/nitros9/6309l2/bootlists/hd1.bl, excluding some things I didn’t like and adding others I wanted (i.e. changed the VDG term to 80col, removed all but 2 VDG displays, added /w8 – /w15).

    I think you said you created a new script called hd1.bl in the indicated directory. That’s good but critical step are the specific changes made to your custom script.
    The boot list file permits selection of the driver used with the hard drive. However, the driver needed for a VCC hard drive is not included with the distribution.
    The script that permits selection of a custom Boot module is mb in /h0/nitros9/6309l2/scripts. However, the distribution does not include in the modules\\boottrack the needed boot module for VCC.

    To keep with the 35 track, single sided nature of DECB virtual floppy drives, I took a disk image of the original OS-9 Level 2 boot disk and made a copy of it and then inserted it into Drive 0. Then I formatted it as a single sided 35 track disk in NOS-9. I modified the /h0/nitros9/6309l2/scripts/mb script to format the floppy correctly as a single sided/35 track disk and added additional memory to os9gen using the #40k directive). The modified mb script correctly makes my boot disk in /d0.

    Now you have a single sided 35 track boot disk which will boot from a floppy. It does not have the necessary driver and descriptor for VCC hard drive use nor the boot module for hard drive use.
    If you left out of your description where you selected the correct driver, descriptor, and boot modules, let me know what was done.

    I then copy my new OS9Boot file from /d0 to /h0.

    The problem is that even if the os9boot file were what you wanted, it is not supposed to be copied to the OS-9 section of /h0. It stays on the floppy image and the entire image is copied ( BACKUP) to some drive# as you did below.

    I now reset VCC and type the following into RGBDOS:

    DRIVEOFF
    BACKUP 0 to 253 ** 253 is the current NOS-9 boot drive
    DRIVE 254 ** This is where the RGBDOS tools reside
    RUN “LINK”
    I then tell LINK that my drive is 253

    I then eject the boot disk from Drive 0 and type:

    DOS 253

    This part of the procedure was perfect. If the needed software had been on the image moved to drive 253, you would have been able to boot.

    This is where my problems begin as I see this below…

    KREL Boot Krn tb

    …and then the machine crashes with some multicolored vertical lines on a white background.

    I then put the NOS-9 Boot image back into Drive 0, reset VCC and the type:

    DRIVEOFF
    DOS 0

    NitrOS-9 boots fine and executes my startup script on the vhd, everything looks great.

    That’s to be expected as the boot module expects a floppy, but are you sure that startup was running on the hard drive and not the floppy? Could you actually access the hard drive?
    As I explained above, there is no indication that the new os9boot contains a hard disk driver for VCC.

    I reset VCC again and type DOS 253. NitrOS-9 boots again and executes my startup script on the vhd. I eject the disk image from Drive 0 and the DOS 253, locks up again. After several more restarts I notice that when the NOS-9 Boot Image is in Drive 0 and I type DOS 253 that it still access a portion of something off of Drive 0 early on in the boot process. It looks like it is when the “0″ is being displayed and then all of the dots “…” and stops when the “bKrnP2″ is displayed.

    So I said “So what? I can live with this” so I did a:

    BACKUP 253 to 0 ** The virtual 0

    .. thinking that it could access what it needed from virtual disk 0. I ejected the disk image from drive 0 and did DOS 253. Lock. Then DOS 0. Lock. Put the virtual disk in Drive 0 and both DOS 0 and DOS 253 will boot NOS-9, but still accessing something off of the virtaul disk in Drive 0.

    I looks like I have missed a vital step in the latter portion of the process.

    Again, thanks for the help.

    1) You must extract the needed Boot module from your original VCC .vhd by booting into OS-9 and
    save boot
    which will put the module in the OS-9 root directory. Now copy that module to the BOOTTRACK directory on the working NitrOS-9 distribution disk.
    copy boot /h0/NITROS9/6309L2/BOOTTRACK/bootVCC
    2) You must extract the driver and descriptor from VCC. Boot and then
    save emudsk
    save h0
    save dd
    Now copy these files to the distribution disk.
    copy emudsk /h0/NITROS9/6309L2/MODULES/RBF/emudsk.dr
    copy h0 /h0/NITROS9/6309L2/MODULES/RBF/h0_emu.dd
    copy dd /h0/NITROS9/6309L2/MODULES/RBF/dd_emu.dd

    Now edit your hd1.bl to indicate that emudsk.dr, h0_emu.dd, and dd_emu.dd will be used. Edit your md script so that bootVCC instead of boot_1773_6ms will be used.
    Create a new single sided 35 track boot disk. Backup that disk to drive 253 and run LINK.BAS.

    Let me know what happens. I think that the VCC .vhd image had DD pointing to the hard drive. If not, we’ll have to create the needed DD descriptor.

  • willz88coco3

    1) You must extract the needed Boot module from your original VCC .vhd by booting into OS-9 and
    save boot
    which will put the module in the OS-9 root directory. Now copy that module to the BOOTTRACK directory on the working NitrOS-9 distribution disk.
    copy boot /h0/NITROS9/6309L2/BOOTTRACK/bootVCC
    2) You must extract the driver and descriptor from VCC. Boot and then
    save emudsk
    save h0
    save dd
    Now copy these files to the distribution disk.
    copy emudsk /h0/NITROS9/6309L2/MODULES/RBF/emudsk.dr
    copy h0 /h0/NITROS9/6309L2/MODULES/RBF/h0_emu.dd
    copy dd /h0/NITROS9/6309L2/MODULES/RBF/dd_emu.dd

    Now edit your hd1.bl to indicate that emudsk.dr, h0_emu.dd, and dd_emu.dd will be used. Edit your md script so that bootVCC instead of boot_1773_6ms will be used.
    Create a new single sided 35 track boot disk. Backup that disk to drive 253 and run LINK.BAS.

    Let me know what happens. I think that the VCC .vhd image had DD pointing to the hard drive. If not, we’ll have to create the needed DD descriptor.

    That did the trick. Just goes to show that I still have a lot to learn about NitrOS-9.

    As usual I am having another problem but it is another subject so I will create a new thread.

    Thanks,

    William Carlin

  • BrendaEM

    Can you post the finished .vhd? : )

    [I have no idea what to do with the bootlist other than perhaps include a /h0 and /dd hard drive descripter, and I haven't work with Nitos9 boots yet.

    I never had a hard drive for my real Coco3, just two 720k drives in a FD502 case.]

  • willz88coco3

    Can you post the finished .vhd? : )

    [I have no idea what to do with the bootlist other than perhaps include a /h0 and /dd hard drive descripter, and I haven't work with Nitos9 boots yet.

    I never had a hard drive for my real Coco3, just two 720k drives in a FD502 case.]

    I’d love to. However, I do not know where to upload it where you can get to it. Is there user web space on coco3.com or do I just upload it to the Downloads section?

    My .vhd is far from complete and not everything is organized coherently. I have just recently incorporated all of the useful software from a .vhd supplied on the “Super CoCo Archive DVD” sold here on coco3.com (worth every penny I might add). So I currently have multiple documentation directories, multiple source code directories, some games but not all, tons of downloads from RTSI, the complete OCN collection from DownUnder. I may also have non Public Domain software here and there. I also have collected the CMDS from the “Super CoCo Archive DVD” .vhd that I could not recognize as being stock OS-9, NitrOS-9, or “enhanced” commands under /dd/TMP/altcmds.lzh.

    There is however, an extensive custom help system. Doing a dir of the /dd/HELP directory will give you a look at the help available for commands and packages. Typing “help help” will tell you about the help system and how to add to it.

    William H. Carlin, Jr.

  • BrendaEM

    Doing a test, I have found that an entire 129mb .VHD filled with OS9 Boot, (and KQ3) can be compressed down to 2mb, using 7-Zip ultra compression, non-solid. I would hazard to guess that whatever the empty sectors are, they are similar.

    7zip is free, as in beer.

    When you get it done, perhaps I can serve some from my site, unless they could be distributed from SourceForge : )

    Really what I was looking for for everyone and myself, was an updated quazi-standard Nitros09 boot .vhd, relatively minimal, with a good driver/descriptor complement for most occasions.

    [Sheer greed makes me wonder if, if NitrOS9 could be patched to accept the 8MB of memory that VCC can offer, as also done for the NoCan series hardware hacks.]

  • willz88coco3

    Doing a test, I have found that an entire 129mb .VHD filled with OS9 Boot, (and KQ3) can be compressed down to 2mb, using 7-Zip ultra compression, non-solid. I would hazard to guess that whatever the empty sectors are, they are similar.

    7zip is free, as in beer.

    When you get it done, perhaps I can serve some from my site, unless they could be distributed from SourceForge : )

    Really what I was looking for for everyone and myself, was an updated quazi-standard Nitros09 boot .vhd, relatively minimal, with a good driver/descriptor complement for most occasions.

    [Sheer greed makes me wonder if, if NitrOS9 could be patched to accept the 8MB of memory that VCC can offer, as also done for the NoCan series hardware hacks.]

    Ok. I’m familiar with 7-Zip.

    I can whip up something like that tomorrow. Post back with your obfuscated email address for delivery.

    i.e. brendaem [at] CANNEDHAM [dot] domain [dot] com

  • RobertGault

    BrendaEM,

    There is no good method to permit the NitrOS-9 system to use more than 2Meg memory on a routine basis. There is no reason why you could not write your own OS-9 programs to make use of the extra memory from 8Megs up to whatever is supported by your hardware. NoCan boards with more than 8Megs were built.

    The main problem would be whether NitrOS-9 truncates the bits it thinks are unused by the MMU and Video registers. If NitrOS-9 does that, then your program would crash every time the system processed an interrupt.
    If you program took complete control of the computer and prevented any time sharing, then using the extra memory would be safe. That, however, is not in keeping with the OS-9 philosophy of resource management and you would be better off with a stand-alone ml program under Disk Basic.

  • BrendaEM

    willz88coco3, I PM’ed my email address.

    RobertGault, I didn’t know the hack was not a good hack. I understand.

  • RobertGault

    The VCC hack is alright as is the NoCan hack where hack means hardware. The problem with OS-9 is that there is not enough room in the OS to handle the tables required by the extra memory. This has been discussed by the NitrOS-9 developers and it is not likely that routine use of 8MEGs or more will be incorporated into the system.

    I actually have an 8MEG NoCan board which will work with OS-9 but only shows 2MEGs memory available.

  • BrendaEM

    Are there any bits/bytes left for additional video modes?

  • RobertGault

    Are there any bits/bytes left for additional video modes?

    Can you ask that again but expand on your question? I don’t understand what you mean.

  • BrendaEM

    I started a new thread as not to off-topic.