[Coco] How to import source code into NitrOS-9?

K. Pruitt pruittk at roadrunner.com
Sat Oct 10 20:32:01 EDT 2015


I'm actually the one at fault here. When Stephen was having issues getting 
the dw command working I suggested just loading the missing modules rather 
than building a new bootfile until he could test it out. It works so it is 
definitely time for a new boot file.


----- Original Message ----- 
From: "Bill Nobel" <b_nobel at hotmail.com>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Saturday, October 10, 2015 5:23 PM
Subject: Re: [Coco] How to import source code into NitrOS-9?


> Hey Stephen,  I have been a lurker on this thread.  I think I figured out 
> what your problem is,  the OS9Boot file you mention IS the bootfile.  The 
> command to identify what is in that file use the utility ‘ident’ from the 
> CMDS directory, i.e. ‘ident /dx/os9boot -s’ changing x to the drive where 
> your os9boot file is.  This will produce a list of the system modules 
> merged together to make up the OS9Boot file.  That file is the one you 
> need to edit with any of the boot file editors available, to have it 
> contain what you need.  My favourite is ‘ kwikgen' from Wes Gale.  The 
> core of OS9 is a little trickier to modify.  KRN has extra data outside of 
> itself that map to the very top of RAM for the Reset and IRQ vectors. 
> Also the boot track must be perfectly padded to achieve boot.
>
> As William Astle, in a post in another thread says… “if you actually trace 
> the boot process, it's pretty clear that the original form of OS9 Level II 
> was a hack piled on top of a kludge.”
>
> Bill Nobel
>
>> On Oct 10, 2015, at 2:07 PM, Stephen Pereira <spereira1952 at comcast.net> 
>> wrote:
>>
>> Hi Bill,
>>
>> You are an absolute saint for sticking with me on this.  Thanks very 
>> much, once again, for your detailed explanations and your guidance.
>>
>> I got everything you said in your last message.  Before I embark on a new 
>> effort to get the scdwv file into my boot process, I decided to try 
>> another NitrOS-9 boot disk.  I went to the NitrOS-9 Project page on 
>> Sourceforge and I downloaded a new copy of nos96809l2v030300coco3.zip 
>> <http://sourceforge.net/projects/nitros9/files/releases/v3.3.0/nos96809l2v030300coco3.zip/download>. 
>> They say that the CoCo3FPGA is supposed to operate exactly like a CoCo 3 
>> with floppy disks, and Drivewire is supposed to be invisible, so I used a 
>> normal CoCo 3 boot disk from the .zip file.
>>
>> Yes, it boots on my CoCo3FPGA system just fine.  Where SMAP said I had 
>> 16K RAM free before, with this load SMAP says I have 24K RAM free.  So, I 
>> did the MERGE you suggested again for this boot disk, and I did the ATTR 
>> to get the permissions right.  I did the LOAD and LINK, all just as 
>> before.
>>
>> The only problem here is that with this new boot disk, I get the ERROR 
>> 216 (path name not found).  SIGH.
>>
>> So I dumped all that and went back to my original boot disk where I at 
>> lease can get the Drivewire Server command somewhat working.
>>
>> I did all of your suggestions for editing the startup file.  Commenting 
>> out utilpak1 and rebooting does not change the behavior of my system at 
>> all.  I can still do:  dw server list c:/filename.ext  and see it scroll 
>> by on the screen, and when I try to redirect the output to a file on a 
>> disk, it indicates that memory is full.
>>
>> So, can you tell me where to find my boot file?  I see a file called 
>> OS9Boot, but it appears to be machine language, as I can’t LIST it.  If I 
>> can find the file you are speaking about, I can attempt to edit it to 
>> contain the files you suggest.  Is there a special command for editing 
>> the boot file?
>>
>> Thanks very much, again.  I hope that others are learning things along 
>> with me.
>>
>> smp
>> --
>> Stephen M. Pereira
>> Bedford, NH  03110
>> KB1SXE
>>
>>
>>> On Oct 10, 2015, at 1:54 PM, Bill Pierce via Coco <coco at maltedmedia.com> 
>>> wrote:
>>>
>>>
>>> Stephen, This kind of error is actually pretty common when loading what 
>>> 'should' be bootfiles into the system ram as you are doing with scdwv. 
>>> The error #207 is reporting you are out of "system" ram.. (it's actually 
>>> used for both system and machine memory) that means it didn't have 
>>> enough ram in the system workspace (64k) to load a needed module. All 
>>> running modules occupy a block(s) in system memory. This is part of how 
>>> OS9 multitasks.. When you load a module, it loads into system ram, the 
>>> OS9 copies it to a workspace in user memory for it to run from there. If 
>>> you are already running a module (already in system mem) and want to run 
>>> another instance of the same module in another window, it just copies a 
>>> new instance from system memory to a new 64k worksapce and creates the 
>>> instance.
>>>
>>> Mfree reports 'machine memory'.. which is total 'free' ram available on 
>>> that machine. To get system memory, try 'smap'. Smap will show a chart 
>>> of the 64k system ram in 256 byte blocks and displays what is allocated 
>>> and what is not and reports how much system ram you have free at the 
>>> bottom.
>>>
>>> What it boils down to, it that your boot is too large or too many things 
>>> are loaded after the boot (i say the later).
>>> OS9 loads modules in 8k blocks... meaning no matter how small or large, 
>>> the memory allocates multiples of 8k. If a module is only 256 bytes, it 
>>> allocates 8k. If a modules is 9k in size, it allocates 16k and so on... 
>>> This is why I told you to 'merge' those modules because to have loaded 
>>> them individually, it would have used 24k, and merged they only use 8k 
>>> (os9 sees it as one module though it's really 3).
>>>
>>> One thing you can possibly do... I'm pretty sure since I've seen this on 
>>> just about every 'premade' bootdisk I've delt with (except my own) that 
>>> your 'startup' script (which runs on boot) loads 'utilpak1' which is an 
>>> 8k block of cmds. This is done so some of your 'basic' cmds (load, del, 
>>> dir etc) are loaded on startup therefore saving a lot of disk access 
>>> each time you use them. There is also a block of cmds merged with 
>>> 'shell' but shell would use 8k anyway, so it's safe to fill the rest of 
>>> the 8k up with cmds.
>>>
>>> So, as a test to see if system memory is your problem, comment out the 
>>> 'Load utilpak1' line from your 'startup' script. The 'startup' file 
>>> should be in your root directory of '/dd'.
>>> If 'minted' is in your cmds dir, it can be used to edit the startup 
>>> file. To get help with minted, just (from the cmd line) type 'help 
>>> minted'. To get startup into minted, just type "minted /dd/startup". 
>>> Minted should start and lo9ad startup to the screen.
>>>
>>> Once 'startup is on the screen, scroll with the arrows down to the line 
>>> containing 'load utilpak1'. At the beginning of that line type '* ', 
>>> which is * plus a space.
>>> Then press <cntrl><S> to save it, then <BREAK> to exit.
>>> Reboot you system and try using 'scdwv again.
>>>
>>> If you want to add the line back in to startup, just use the above 
>>> instructions and use <shift><right> to delete the * and space. 
>>> <cntrl><S> to save again.
>>>
>>> The absolute best way to solve this problem is to put those modules in 
>>> your bootfile. They will take up much less memory and always be there. 
>>> If the DriveWire drivers are there (rbdw,dwio), then 'scdwv', the '/Nx' 
>>> descriptors (at least '/n' & '/n1'), 'scdwp', '/p', '/midi' and at least 
>>> one '/Zx' descriptor should be left in the boot. These files are 
>>> specifically for dw4 use and can make life with dw4 much easier. People 
>>> remove them mostly because they have no clue what they can do. They are 
>>> very powerful modules and they should be on all dw boots and only 
>>> removed if the user wants them removed.
>>>
>>> Just so you know....
>>> The standard OS9 'merged' files loaded on boot (on all repo disks)...
>>>
>>> Utilpak1 contains:
>>> attr, build, copy, del, deldir, dir, display, list, makdir, mdir,merge, 
>>> mfree, procs, rename, & tmode.
>>>
>>> Shell contains:
>>> shell, date, deiniz, echo, iniz, link, load, save, unlink.
>>>
>>> I changed these on my system looong ago as I have found better (and more 
>>> useful) cmds to replace those.
>>>
>>>
>>>
>>>
>>> Bill Pierce
>>> "Charlie stole the handle, and the train it won't stop going, no way to 
>>> slow down!" - Ian Anderson - Jethro Tull
>>>
>>>
>>>
>>> My Music from the Tandy/Radio Shack Color Computer 2 & 3
>>> https://sites.google.com/site/dabarnstudio/
>>> Co-Contributor, Co-Editor for CocoPedia
>>> http://www.cocopedia.com/wiki/index.php/Main_Page
>>> Global Moderator for TRS-80/Tandy Color Computer Forums
>>> http://www.tandycoco.com/forum/
>>>
>>> E-Mail: ooogalapasooo at aol.com
>>>
>>
>>
>> -- 
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>
>
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
> 



More information about the Coco mailing list