Showing posts with label io. Show all posts
Showing posts with label io. Show all posts

Saturday, May 10, 2008

Release 2008.05.10

This is a pretty small release. I've been very busy (and a bit sick), so haven't had time to do much.
  • The video refresh port is now set properly after outputting a character
  • Ngaro JS now supports the video refresh port
  • Ngaro JS now stores the video output apart from the form output textarea
  • Strings are now rendered after all characters are drawn to the video buffer rather than character by character
  • update (enable/disable screen redraws) was added
  • redraw (redraw the screen if update is on) is now in the dictionary
  • Graphics module now does video updates after drawing shapes
  • Removed the FFI from Toka.
As shown, most of my time has been spent in enabling proper use of the video refresh support provided by Ngaro. This allows a noticeable performance increase in bits that are text heavy (try words) by delaying renders until the output is finished. It's also helpful with graphics, allowing filled shapes to be rendered more quickly.

I also removed the FFI functionality from Toka for this release. The FFI words are not used by the cross-compiler, and serves only to slow down the build of Toka and increase the number of dependencies. (This only affects the copy of Toka included in the Retro package; the full Toka still has FFI).

Thursday, April 24, 2008

Release 2008.04.26

From this point on, I'm going to try to do a release at the end of any week that sees improvements to the Retro codebase.

This week brings a couple of minor changes and improvements:
  • Ngaro JS now included in the package
  • A tool (in Toka) to build an image.js for Ngaro JS
    (This does not work properly on 64-bit systems, I'll try to fix in the next week or two)
  • A new (remap-keys) hook has been added to allow alteration of the values returned by key before they can be processed by other words
  • New whitespace module, which uses (remap-keys) to convert TAB, CR, and LF to SPACE
  • retro.config renamed to extensions
  • Minor cleanups to start organizing the modules
My short term plans are to finish organizing the module sources, and to put up an online tool for building a custom forth.image without requiring anything other than a web browser.

Possible change to 'key'

As mentioned by Snoopy42 on #retro, the Retro 10 system has been ignoring any whitespace separators other than space. Since this can be a problem, I've modified key to convert other whitespace forms (return, tab) into spaces. I'm not sure I like this, so stay tuned.