Amelinium - JavaScript demo
A live showcase of the embedded engine - clock, stopwatch, a
reaction game, a calculator, dice, colour mixer, theme, tabs, lists and a toast,
all driven by JavaScript with no page reloads. A full PASS/FAIL conformance run
sits at the very bottom.
JavaScript: OFF - open this in a _JS build (JS toggle ON).
1. Clock (Date + setInterval)
--:--
Updates once a minute. A full-screen redraw is costly on slower
Amigas, so no seconds hand (partial repaint, planned, would make it cheap).
2. Stopwatch (Date.now, no live tick)
0.0s
Start
Stop
Reset
Start, then Stop - elapsed is shown on Stop (no per-tick redraw).
3. Reaction timer (millisecond Date.now)
Press Start
Start
Wait for green, then click the box fast.
4. Calculator (eval)
0
789/
456*
123-
0.=+
Clear
5. Dice (Math.random)
-
Roll
6. Colour mixer (live style setters)
#888888
R - 136 +
G - 136 +
B - 136 +
7. Counter
-
0
+
8. Theme
Toggle dark / light
light
9. Tabs
Overview
Engine
Scope
Click the tabs - querySelectorAll + classList switch the active panel.
A tree-walking JS interpreter embedded in the browser EXE, build-optional.
Great for menus, toggles, validation, small widgets. Heavy SPAs are out of scope.
10. Accordion
What runs this?
The NodeAmiga engine on a classic Amiga (68020+). Each header toggles a CSS class.
How fast?
Fast enough for interactive widgets. Date.now() is true 64-bit so timers are precise.
11. Build a list (createElement + appendChild)
Add item
Clear
12. Timed toast (setTimeout)
Show toast (2 s)
Conformance test (PASS / FAIL)
Run conformance tests
If the cards respond to clicks, JavaScript is live. Pure ASCII on purpose.