[Coco] Re: Does NitrOS9 limit apps to =<64K?
Robert Gault
robert.gault at worldnet.att.net
Tue Aug 10 17:16:00 EDT 2004
David J Bush wrote:
> --- Robert Gault <robert.gault at ...> wrote:
>
>>Do some experimenting with Allocate RAM os9 F$AllRAM, Allocate High RAM
>>os9 F$AllHRAM, map specific block os9 F$MapBlk, clear specified block
>>os9 F$ClrBlk, and deallocate RAM blocks os9 F$DelRAM.
>>...
>>You should be able to have about as much control of your Coco's memory
>>as you would from Disk Basic.
>
>
> Fantastic, thanks for the info! I regret my CoCo isn't working now,
> but I'm glad to hear apps can stake out whatever physical and logical
> pages they want. I wonder, about how much RAM does NitrOS9 need for
> itself?
>
Depends what is running and the number of open windows. The core grabs a
64K block of RAM in Level2.
> This suggests that ML programs written for RSDOS might be portable to OS9
> without making them entirely position-independent. Just "wrap them up" in
> some PI code which will request the memory regions the app uses when
> running under Disk Basic.
That is not a good idea. There is no way to force OS-9 to place a
requested block of memory in any specific location. The only thing
certain is that the blocks will be contiguous if there is room in your
user space.
It is relatively easy to adapt RSDOS ml programs to the OS-9
environment. It is much easier to do any kind of disk I/O under OS-9.
>Then the wrapper code will copy the app to the
> new location. Switch to ROM mode if necessary, so the I/O Disk Basic
> routines would be accessible. (This assumes your OS9 CoCo would still have
> an RSDOS ROM in it somewhere.)
The ROMs don't go anywhere but switching to them requires very careful
manipulation of the MMU and GIME registers. This kind of system hacking
is better done from Disk Basic with assembly programs rather than from
OS-9. There is little in the ROMs that is not done better in OS-9.
> Or, maybe the wrapper could contain the
> RSDOS routines needed, which it would copy to the proper locations (which
> it requested from OS9) in RAM mode. Then transfer control. Then when the
> program exits, deallocate the memory as you said. Does this make any sense
> at all?
>
There was a program (from B&B I think) to run ROM Basic programs under
OS-9. In my opinion, this is pointless as Basic-09 is much better than
Disk Basic.
====================
The point of OS-9 / NitrOS-9 is to have a multitasking system with much
better features for talking to hardware than you get with Disk Basic.
Learn to use the OS and as needed, Basic-09, C, Pascal, and assembly.
If you intend to grab all the hardware and don't care about
multitasking, don't bother with OS-9. Stick to Disk Basic and write
assembly programs.
More information about the Coco
mailing list