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

RE: [colorforth] Low res or low color ColorForth


Hi Chuck,

I'm always glad to hear of any progress! ;)
It occurs to me that 24 bit colour could be arranged as 24 bits colour + 8
bits for "pixel priority" in 32 bits. This could be useful for windows or
256 alpha channels... The changes to current 16 bit colour code would be
quite simple.

Am I right in thinking : that the word names are held in an array, with
pointers to their code in another array
The value in H is set to point to 0x100000, and this is where new definition
bodies are compiled.
So "tick" searches though a single array.

> The AAD24 chip compiled
> by OKAD defines more than 1024 words. I was amazed, though Jeff Fox tells
me
> that's not large for Forth systems.
BTW, Win32Forth reports the following :
 2,920 Words in Application dictionary
 1,445 Words in System dictionary
 4,365 Words total in dictionaries
 9,462 Windows Constants available
If you are interfacing to Windows, these are the sorts of numbers to expect,
and this is without an application loaded. This is one reason I really like
colorForth!

> In practice, I always reference variables in yellow.
This is interesting. Current code that uses green variables could be
converted automatically ( I think ). I have been a bit careless here,
prefering to revert to habit and make everything green, than use the
green/yellow transition to compile a literal variable address.

> Remaining to be done:
> [snip]
> * Code kernel in colorForth.
This is certainly a direction I approve of! My current CFDOS2.blk code
contains "ed" which loads colorForth source that produces the same pixels as
the kernel editor. I intend to finish it by adding the keypad code when time
allows... To do this I have to get key, depth, pack and a few other kernel
words converted to source. I find the keypad state changes a bit daunting ;)
One route is to define each keypad in its own block.

A problem I have come up against with the editor in colorForth is
"name-space polution" - the editor needs lots of short display type words -
.hex , .dec , .word etc - and these names clutter the dictionary in a way
that the assembler macros do not. Some of them might be useful, but most are
not. I have two solutions :
1. preface all editor support names with a "j" - j.hex, j.dec etc
2. define a special kernel vocabulary.
Any thoughts?

Regards

Howerd



-----Original Message-----
From: Chuck Moore [mailto:chipchuck@xxxxxxxxxxxxxx]
Sent: 29 February 2004 18:47
To: colorforth@xxxxxxxxxxxxxxxxxx
Subject: Re: [colorforth] Low res or low color ColorForth


I'd like to report my latest progress. Not in the direction some of you are
wishing.

I finally retrieved my colorForth MASM source code, lost in a laptop crash a
year ago. (Yep, my colorForth was stable for a year.)

I recompiled with 3 significant changes:

* Increased Forth dictionary size from 1024 to 2048. The AAD24 chip compiled
by OKAD defines more than 1024 words. I was amazed, though Jeff Fox tells me
that's not large for Forth systems.

* Eliminated the definition of a variable as MACRO as well as FORTH. In
practice, I always reference variables in yellow. The macro definition was
in case I forgot. Or more plausibly, redefined a variable as a definition
which could not be executed at compile time. But that's not been a problem.

* Changed the video mode to 24-bit color (VESA 4118h). It's still 1024x768,
but I'm shopping for a new 19" CRT that will display 1280x1024 or better. I
was going to get an LCD, but reported anomalies deterred me. I've plenty of
desk space, and CRTs are cheap. The 15" ViewSonic I'm using can be replaced
for $100. And its quality is excellent.

Remaining to be done:

* Move image from RAM to video card using AGP. Synchronize transfer with
vertical retrace.

* Take video out of the kernel, so customization is easier.

* Code kernel in colorForth.


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


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