Updates from November

2 views
Skip to first unread message

crc

unread,
Nov 26, 2009, 9:35:56 AM11/26/09
to RETRO 10
I took some time off to work on a different project (now complete), so
I'm back to active work on Retro again.

Some highlights from the last month:

VM:
- docl provided a new font [based on Terminus] for the SDL-based
implementation
- javascript port has *optional* support for saving the image (under
firefox and safari)
- yiyus (JGL) has begun writing an implementation in the Go language:
http://www.anarchyinthetubes.com/hg/go/ngaro/

Image:
- "macro:" was dropped; replaced by "immediate"
- Added "compile-only" and ".compiler" class
- Stripped out some debugging code from my work on the metacompiler
- Decompiler now shows both values and symbolic names
- Added "later" to core.retro
- Various internal cleanups
- Quotes were dropped
- Bugfix to decompiler (it was occasionally leaving values on the
stack)

-- crc

crc

unread,
Nov 28, 2009, 6:36:51 PM11/28/09
to RETRO 10
Regarding the Go language implementation from JGL; there's now a blog
entry at http://www.anarchyinthetubes.com/blg/2009/11/28/0/ that
mentions it. The code is now complete enough for me to include in the
main ngaro repository, and I'm trying to keep it in sync with his hg
repo as much as possible. It's already able to load and run a standard
retroImage, and has some nifty features for creating children and
communicating between them.

-- crc

Charles Childers

unread,
Jan 22, 2010, 7:09:28 AM1/22/10
to Samwyn, RETRO 10
This is actually a documentation issue: the "or equal to" behavior is what I want. I've updated the documentation on this in the development repository.

If anyone wants to change the behavior in their copies:

t-<if and t->if in core.retro need to be modified to inline the 1+ and 1- opcodes. With the current (development) code for core.retro:

   t: t->if    ( R: xy-  C: -a )  26 # t-, 11 # jump: (if)
   t: t-<if    ( R: xy-  C: -a )  27 # t-, 10 # jump: (if)

Note that since the "or equal to" is assumed, some things in the core/library/examples may need tweaking to work properly if you do this.

-- crc


On Fri, Jan 22, 2010 at 4:12 AM, Samwyn <sam...@s9.dion.ne.jp> wrote:
Hi, I was astonished at Retro's simplicity and came to like it very
much.
So I read the source out and I found a bug.

In meta.retro,
 : <if  ( -a ) >jump, cond ;
 : >if  ( -a ) <jump, cond ;
These work as =<if and >=if, that is, these don't jump when the two
values are equal.
If such behaviour isn't intended, I think these should be
 : <if  ( -a ) 1-, >jump, cond ;
 : >if  ( -a ) 1+, <jump, cond ;

Reply all
Reply to author
Forward
0 new messages