[Coco] Grumpy santa
Gene Heskett
gheskett at shentel.net
Tue Dec 25 23:46:12 EST 2018
On Tuesday 25 December 2018 20:03:27 rietveld rietveld wrote:
> Level 3 is making me a grumpy Santa tonight
>
> Sent from my BlackBerry
Its busted. It does NOT manage the memory correctly, methinks because of
missing code, but I could not quite get my head around what it is
supposed to do, so never managed to make it do what the general outline
that Alan Dekock wrote up, said it was doing. That, and drivewire having
modules that needed both rbf mapped in and scf at the same time, so
there is no clear boundary between the two file systems if drivewire is
used. I think what needs to be done is to pick the rbf code out of dw
and put it in a separate module, and the scf stuff left over could then
be loaded into the scf mapped blocks.
Thats the first fix, get the boundaries between the two functions clearly
delineated again, then 2: fix the loader at boot time so it looks at the
module header and automaticly puts rbf stuff in the rbf reserved blocks,
and scf stuff in the reserved scf blocks. That would remove the need for
us to presort the os9boot file. This sorting belongs in parsing the
individual modules of the os9 boot file once the memory has been mapped
by the first new module. Not by having a marker module to separate the
filesystems in the bootfile. That was a kludge from the gitgo.
And it should be possible to do away with the _end module if done right.
Each of those is a suck on system memory we don't need. Even the load
parser should run in low memory, deleting itself and freeing the memory
its using once the boot file has been loaded and sorted to its assigned
memory blocks, note the s.
I also suspect that it may not work on any 128k machine. The second
memory allocation almost has to fail if using any hirez gfx screens.
To summerize, drivewire is incompletely separated. It may be handy to
first write a utility that based on the header marker as to whether its
rbf, scf, or something else, that scans the rest of that module,
throwing an error when an os9,call is found thats out of spec, like an
scf call in a module marked rbf (or vice versa). Thats just so we'll
have a comprehensive list of modules that actually need fixed.
I'm sure that a younger brain will see other things that need done. The
concept Alan originally planned was laid out long before drivewire was
even dreamed of, that level3 code we have was originally done when
Nitros9 was at "about" 1.16, and drivewire violated the rbf/scf
separation rules quite a few times since. And drivewire, to me, is
something that MUST be maintained in functional condition, its too
valuable an addition to nitros9 to ever consider giving it up just to
make level3 work.
Frankly my own system was the most advanced and versatile at about
nitros9 V1.22, and has gone steadily downhill since. Every change since
has managed to eat system memory like theres an unlimited amount of it.
I took the os9boot file apart for a boot of 1.22 that could drive two
monitors, format a floppy and run multivue flawlessly. It had these
modules in the os9boot file:
====
OS9p2 OS9p3 OS9p4 IOMan Init
Clock RBF CC3Disk D0 D1
D2 RAM R0 SCSISYS h2
dd SCF SACIA T2 T3
Midi CC3IO VDGInt WindInt Term
W W1 W2 W3 W4
W5 W6 W7 W8 W9
W10 V0 V1 V2 V3
V4 Parallel LP PipeMan Piper
Pipe VRN Nil FTDD Wpdrv
Wp Wecho
====
And I had 20 kilobytes of smap free. Now?
{t2|08}/DD/OLD-FAITHFUL:smap
0 1 2 3 4 5 6 7 8 9 A B C D E F
# = = = = = = = = = = = = = = = =
0 U U U U U U U U U U U U U U U U
1 U U U U U U U U U U U U U U U U
2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
4 _ _ _ _ _ _ _ _ _ _ _ _ _ U U U
5 U U U U U U U U U U U U U U U U
6 U U U U U U U U U U U U U U U U
7 U U U U U U U U U U U U U U U U
8 U U U U U U U U U U U U U U U U
9 U U U U U U U U U U U U U U U U
A U U U U U U U U U U U U U U U U
B U U U U U U U U U U U U U U U U
C U U U U U U U U U U U U U U U U
D U U U U U U U U U U U U U U U U
E U U U U U U U U U U U U U U U U
F U U U U U U U U U U U U U U U .
Number of Free Pages: 45
RAM Free in KBytes: 11
Looks like enough to format a floppy, right? I haven't been able to
format a floppy in 2 decades or more, format crashes sometime in writing
the first 4 or 5 tracks... Multivue crashes, out of system memory. And
my complaints about the profligate use of system ram have been ignored.
I used to run /t2 with at least 4 pages of buffer, its running on 1 now
and that cripples rzsz's speed. And I have no functioning 7 wire
protocol on /t2, and software flow control useing xoff/xon hasn't worked
in 15 years or more. So if drivewires not working, I am reduced to
running /t2 at 4800 baud, and limiting the window to 256 bytes if this
machine is the sender.
Its very discouraging to put it mildly.
But hey, I hope everyone has had a very enjoyable Christmas. ;-) We must
never forget the real reason we celebrate today.
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
More information about the Coco
mailing list