Sunday, January 25, 2009

Misc. Updates and an introduction to Motu

10.0 (Stable) has been out for a while now, and I'm nearing completion on 10.0.1 (documentation updates to cover missing words, a fixed version of ' and movement of a few state variables to specific places at the start of the image).

In addition, I've been working on reviving an app I first created back in the Retro 7 days. The current incarnation of this is Motu, a notepad with a Retro system built in. I used to use it to keep notes and bits of code I was working on together.

Motu is implemented as a client-side web app, storing data in a cookie, and allowing trial and debugging of code. I've tested it in Safari, FireFox, and Chrome. (It will *not* work in IE). Chrome users need to start Chrome with the --enable-file-cookies flag for this to work.

Motu uses a 10.0.1 (development) image, and needs access to the state variables I mentioned earlier (it uses them to allow resetting the image to a default state without a restart). 

You can get a copy of Motu from the git repository:

git clone git://github.com/crcx/motu

Wednesday, December 24, 2008

GIT repository open (at last)

I've still had problems with BerliOS, so I setup a repository at github.com

To checkout a copy:

git clone git://github.com/crcx/retro10

This is up to date with my latest source, so anyone with patches pending should check them against this and then send them in.

For inclusion in the 10.0-stable release, I'll be needing the code/patches by Dec. 31st. (The release should be finished and made public by January 5, 2009)

Tuesday, December 23, 2008

Nearly there

I'm almost done cleaning up the source tree for the 10.0-stable release.

It'll include: C implementations (mine and Mat's) for console and framebuffer, javascript vm, Toka, Retro source, and docs.

The library will be made into a second download.

Binaries will be provided for various systems. If you have requests please let me know so I can obtain the relevant systems for building.

Sunday, November 30, 2008

Getting closer to a stable release

I'm finally planning to do a stable release (hopefully in late December or early January) for the 10th generation of Retro.

It's almost ready. The core language is solid, and will see few if any changes. The library still needs works, but it's getting closer. The documentation is a bit light, but has been well received by those who have read it.

A big step forward: as of today a separate image file is no longer needed to get started with Retro. The VM will still try to load a retroImage (or another file, if specified on the command line), but if one can't be found, it'll initialize the stable image from an internal function. If you use the internal image and save your session, a new separate retroImage will be created.

For those wanting to try it out, grab a copy from http://rx-core.org/retro-10.tar.gz and run 'make vm'.

Another update: I'm working on setting up a code repository at Berlios, hopefully this will be ready later this week. This repo will be open to all contributors, so keep an eye out for the announcement when it's ready.

Friday, November 7, 2008

Some notes on my block editor

In my previous post I mentioned my block editor. This is a small editor that I've used for several years now.

My image contains 1024 blocks of 512 characters each. The blocks are formatted as 8 lines, with 64 character per line. The editor allows the user to enter text on each line, or at a particular place in the line. You can delete lines, or the entire block. It is possible to evaluate code contained in a block. Editing is done through a set of short words.

Though primitive, it's served me well through the years. I see it as a decent starting point for a better editor (in fact, in older Retro systems, this editor was extended to have a VI-style modal editing model and a syntax-highlighted viewer). I'll post more details on it in the near future.

Thursday, October 30, 2008

Things I'm working on...

I've been having trouble with my internet connection, so here's an overview of what I'm working on:

Core
  • Exposed ok (to allow control of the prompt)
Expanded the forth94 (ANS FORTH) layer. Now more compliant with the spec :)
 
Additions
  • extras/bootstrap.retro
  • extras/retro.nanorc
  • library/debug.retro
  • library/does.retro
  • library/date.retro
  • library/math.retro
  • library/value.retro
Removals
  •   core: removed unused bits left over from old compile-time module support
  •   cross compiler: removed unused bits left over from old compile-time module support
  •   library/square-root.retro [merged with library/math.retro]
Documentation
  • Tutorial
The bootstrap.reto is my personal startup file, which includes the block editor I've used for the last several years.

Wednesday, October 22, 2008

Release 2008.10.22

I've finally finished work on a new build. This has a few changes and should help me make it easier to extend Retro in the future.
  • Three VMs included
    • Console [curses backend]
    • Framebuffer [SDL backend]
    • JavaScript
  • Major Bugs Fixed:
    • Saving of images now works reliably on Windows
    • Scrolling works properly in the console build
  • Compile-time modules replaced by a new library of modules that can be loaded from the command line
  • The core now reserves a smaller piece of memory for its own use (10k rather than 32k), leaving a little more room for applications
  • Small improvements to the 1994 ANS FORTH layer
  • Documentation has received some minor updates to formatting and a little explanation of how to load modules at the command line.
Documentation is included in PDF and ePub formats. Additional formats can be found on feedbooks.com

This release also has an updated binary package with console binaries for Linux (x86-32, x86-64, and Alpha), MacOS X (Intel), and Windows.