Hi Enoch,

> How can I reclaim the Flash memory of the crc8_msb_table word itself?
> 
> (1) Our Tools Ext don't include FORGET.
> 
> (2) I could use Core Ext MARKER if we had a deferred facility of
> sort. I.e., create a deferred table and fill it using a transient
> crc8_msb_table (which MARKER would afterwards help to remove).

There is no simple way. I did not actually test it, but I'd
start as follows. First define the dictionary header for the data
(create), allocate the flash room for it (dp 128 + to dp), now the
marker and finally all the words that you want to dispose after filling
the data flash area (use !i, not , ). Hmm. sounds not only difficult, it
is indeed.

> Among Forth main strengths is the ability to change itself at run-time
> (aka "reflection"). Can we apply it without the penalty of accumulating
> redundant code?

The major problem (and the reason why I dropped FORGET) is
fragmentation. The current memory "management" is the trivial
append/remove approach. The last time FORGET worked for the
dictionary was until the introduction of wordlists. A flash
memory manager that can deal with fragmentation is unlikly
to earn its own size (your CRC table could be pre-computed
on the host side as well and only the resulting table goes
to the controller. Just like the magic numbers in lib/sinus.frt).

Matthias
PS: how long last the pastebin files? They look good.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to