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

Bill Pierce ooogalapasooo at aol.com
Sat Oct 10 13:54:53 EDT 2015


 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


 

 

-----Original Message-----
From: Stephen Pereira <spereira1952 at comcast.net>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Sent: Sat, Oct 10, 2015 11:50 am
Subject: Re: [Coco] How to import source code into NitrOS-9?


Hi Bill,

Thanks again, for all your attention and assistance with my NitrOS-9
newbie-ness.

Yes, when I used the ATTR command properly, I now have been able
to load and link the scdwv file.

Now, after I LOAD SCDWV, I can issue the
command:

dw server list c:/filename.ext

And I see the listing scroll on my
CoCo screen.  This is great progress for me!

When I issue the command:

dw
server list c:/filename.ext >/dd/filename.ext

I get ERROR 207 (memory full). I
am assuming that the error is on the CoCo side, but I am confused by this as I
seem to have 400K RAM available (the total posted by the MFREE command).

Is
there some mysterious (to me) command that I should issue in NitrOS-9 to make
memory available for this redirection to a file that I am trying to do?

Please
let me know if I need to go off and study NitrOS-9, rather than ask questions
about one command or error message at a time.

Thanks,
smp
--
Stephen M.
Pereira
Bedford, NH  03110
KB1SXE



 


More information about the Coco mailing list