Introducing the Å-machine

Version 0.4.4 is a small upgrade:

  • C64 interpreter: Added French accented characters to the font. Thanks @farvardin!

  • Web interpreter: Improved support for scrolling with page up and page down when the input field is active. This failed on some browsers before.

  • aambundle: Added target web:story for generating just the story.js file for the web interpreter. This can sometimes make it easier to fit the Å-machine tools into a larger build process. Thanks @Mikawa!

If you use the web:story target, please be aware that the web interpreter also expects to find the original .aastory file in the resources directory, with a mangled filename. This is the file that gets served when the player selects “Download story file” from the menu.

4 Likes

Here’s the Å-machine toolkit, version 0.5.1. This is a companion release to Dialog version 0m/01.

Version 0.5 of the specification includes:

  • Optional support for multiple status areas, with the ability to detect which status areas are available at runtime.

  • Optional ability to clear the current div.

  • Optional ability to clear all text that the player has had a chance to read.

  • Words that consist of a single digit are now consistently represented by numbers. This affects line input, keypress input, word splitting, and word joining.

  • Some new opcodes and opcode variants.

  • Updates and clarifications.

Improvements to the web-based interpreter include:

  • Support for an inline status area. Ability to clear the current div. Ability to clear all text that the player has had a chance to read.

  • Ability to view the current transcript without saving it.

  • Ragged right margin by default.

  • Checkbox to turn off hyperlinks.

  • Checkbox to toggle smooth scrolling.

  • Checkbox settings are remembered in local web storage.

  • In the transcript, non-zero div margins become paragraph breaks.

  • Improved remote transcript functionality.

6 Likes

Version 0.5.2 of the Å-machine toolkit makes a small but significant change to the web interpreter:

  • Hovering over a link no longer causes the link target to appear in the input field. The feature can be re-enabled with a checkbox, but I assume most players will leave it off. Clicking works as before.

Originally, the hover effect was created for two reasons: It would communicate to the player that links are shorthand for typing, and it would give the player a chance to see what they were about to do.

The effect is now removed (by default) because it gets in the way. Links are primarily useful on touch-screen devices, where there’s no hovering anyway. On the desktop, many players switch to typing because it is faster. But as new text scrolls into view, a link may slide in under the mouse cursor, and text is unexpectedly entered at the prompt. This is particularly annoying if the player is typing several commands in rapid succession, for instance while walking around the map. The feature has also been causing trouble for players with low vision.

1 Like

Perhaps you could use a tooltip/title on hover instead? That should be less disruptive.

This is a good change for me. I have low vision and have trouble tracking a mouse cursor. I only see a small fraction of the screen and usually don’t have any idea where the mouse cursor is located. I can only use a mouse when I place my primary focus on the mouse cursor. When the input is automatically placed at the command prompt due to hovering, it can become a problem.

Thank you

1 Like

Here is version 0.5.3 of the Å-machine toolkit.

Web interpreter

  • Change mouse pointer over clickable links. Thanks @mathbrush!

6502 interpreter

  • Reserve a smaller paging area during early startup, to accomodate stories that need a lot of RAM.

  • Don’t corrupt memory when loading storyfile chunks with a size divisible by 256.

Aambox frontend (6502)

  • Accept 3-byte unicode input.

  • Handle unexpected unicode characters without crashing.

  • Don’t hang after 2^32 clock cycles.

  • Limit undo history to 50 steps.

With these bugfixes, it is now possible to run The Impossible Bottle on the aambox virtual computer. This is an important step towards making it run on the C64.

5 Likes

Hi again!

A very tiny upgrade, by request: Version 0.5.4 of the Å-machine toolkit adds support for the German eszett (ß) character to the C64 interpreter.

13 Likes

At the minute on IFWiki the only pages in this topic seem to be pages that redirect to Dialog - IFWiki (the redirect pages are Å-machine - IFWiki and Aa-machine - IFWiki). Would it be worth adding some information to the wiki?

2 Likes