home .. forth .. colorforth mail list archive ..

Re: [colorforth] modern block style / response


On Monday 17 March 2003 10:57, Fréderic DUBOIS wrote:

> > > And these tracks are loaded at address given by BLOCK, is it?
> >
> > No, these tracks are loaded at address 0x0000 in memory.
> > colorForth uses a flat memory model and blocks map to memory
> > locations simply
> > by
> >
> > : BLOCK 0x100 * ;
>
> That's what I was meaning to mean.  BTW you can end up with editing any
> memory place, including the kernel; what happens then?

The result will be quite unpredictable. That's why the colorForth homepage 
states: "Undebugged code can and will crash."

> Also, the user has to take care of the increase of dictionnary pointer with
> regards with preloaded tracks/blocks. I feel I miss something here.

Here is the memory layout from the original COLOR.ASM:
;   100000 dictionary
;    a0000 top of return stack
;    9f800 top of data stack
;    9d800 free

As you can see there is quite some room in the dictionary. Even more so as you 
usually do not allot memory for larger data structures in the dictionary, but 
use an unused block for this. Or at least this is how I understand it is 
supposed to work.

> A thing I wonder about: when you modify something, you got to issue a SAVE
> command, and it records back the loaded tracks? If nc increases too much it
> may become long.
>

Yes, but once you have written, say, 100 blocks of colorForth code you write a 
hard disk driver in no time, I guess :)

Cheers,

	Alex


---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com