Posts

Showing posts from March, 2008

Moo Cards

Image
We're getting a fresh batch of business cards at work c/o Moo Cards and this time can use custom screenshots. Here are some I snapped today which will be on the back of my cards:

Yes, that's how good Second Life graphics are these days. I really am that shiny. :)

St. Patrick's Day

Image
I decorated my av in a seasonal fashion:



I showed up for a meeting green, and someone didn't "get it". So I had to make the hat.

Paper Satellites

In the Oakley Centre library was a book describing early (so, 1960's) communication satellites. They were simple geometric solids (tetrahedron, cube, octahedron, etc) covered with solar cells, and the book had plans for making paper models (cut, fold, glue).
Googling isn't turning anything up. Anyone out there able to find it?

ONERR RESUME and such

I added ONERR GOTO linenum / RESUME / POKE 216,0 support to my Applesoft Interpreter.
It turned out to be pretty simple. ONERR sets a handler address. On an exception, check if it's cachable (i.e. the program caused it, it's not the interpreter reporting a bug). If so, store the current execution point and jump to the handler. If the handler calls RESUME, restore the previous execution point. The only wrinkle is that IF...THEN... is considered a single statement, so the IF part needs to be resumed and I was cheating an treating the bit after THEN as a separate statement. I don't twiddle the stack at all, so I'm not positive the behavior there is consistent with a real Apple.
This is not a feature I used when I programmed in BASIC. I didn't have very good examples to learn from. Also, initial experiments with RESUME made me wonder "WTF?". For example, consider this:

5 ONERR GOTO 10000 10 INPUT "Open file?";F$ : REM prompt user for file name
20 PRINT …