I've been working practically nonstop on this project. Trying to get something stable and release worthy at least for beta.
Skulltip
Creator of
Recent community posts
Almost ready to release LoomBASIC. Before I do, here’s a quick comparison. This isn’t meant to knock FastBasic in any way—FastBasic is an excellent, well‑designed language that’s been a huge inspiration. LoomBASIC simply takes a different approach in a few areas, and I want to highlight those differences for anyone deciding which tool fits their workflow.
Atari 8-Bit BASIC Speed Comparison
A performance comparison between FastBasic and LoomBASIC, using equivalent benchmark programs with no embedded assembly code.
Benchmark Results
| Compiler | Arithmetic | Branching | Array | Total Ticks |
|---|---|---|---|---|
| FastBasic (INT) | 1,228 | 1,126 | 858 | 3,212 |
| FastBasic (FP) | 1,228 | 1,116 | 858 | 3,202 |
| FastBasic via ByteLoom | 1,228 | 1,126 | 858 | 3,212 |
| Native LoomBASIC | 352 | 326 | 263 | 941 |
Lower tick counts indicate faster execution.
What Was Tested?
- Arithmetic: 30,000 iterations of integer arithmetic.
- Branching: 30,000 iterations involving conditional IF statements.
- Arrays: 20,480 byte-array updates.
- Correctness: All four programs produced identical expected checksums (30007, 61, 20480).
LoomBASIC Performance Improvement
| Test | Speedup vs FastBasic INT |
|---|---|
| Arithmetic | 3.49× faster |
| IF branching | 3.45× faster |
| Array operations | 3.26× faster |
| Overall | 3.41× faster |
Conclusion
In this benchmark, LoomBASIC completed the same workload approximately 3.4 times faster than compiled FastBasic, requiring about 71% fewer clock ticks.
FastBasic compiled directly and through ByteLoom Werx produced identical results. The FastBasic FP build performed nearly identically to the INT build; this test did not benchmark floating-point arithmetic.
All programs completed the same workloads and returned the same expected results.
These are preliminary synthetic benchmark results, not a claim that LoomBASIC is 3.4× faster in every application. Real-world performance will depend on program structure, graphics, I/O, and other operations.
And the code used to test in speedtest.lbas:
' Test 3 of 3: ByteLoom Werx v4.19 native LoomBASIC
' 100% BASIC source, no ASM blocks and no native engine calls.
DIM BUF(127) BYTE
WORD I,J,A,SUM,T0,T1,E1,E2,E3,TOTAL
GRAPHICS 0
PRINT "BASIC SPEED TEST"
PRINT "30K ARITH / 30K IF"
PRINT "20480 BYTE WRITES"
PRINT "TICKS: SMALLER=FASTER"
PRINT
' Test 1: 30000 iterations, two 16-bit arithmetic operations.
A=7
T0=PEEK(19)*256+PEEK(20)
FOR I=1 TO 30000
A=A+3
A=A-2
NEXT I
T1=PEEK(19)*256+PEEK(20)
E1=T1-T0
PRINT "ARITH TICKS ";E1
PRINT "CHECK A=";A
' Test 2: 30000 conditional paths.
A=1
T0=PEEK(19)*256+PEEK(20)
FOR I=1 TO 30000
IF A>80
A=A-79
ELSE
A=A+5
ENDIF
NEXT I
T1=PEEK(19)*256+PEEK(20)
E2=T1-T0
PRINT "BRANCH TICKS ";E2
PRINT "CHECK B=";A
' Test 3: 160 x 128 = 20480 byte-array updates.
FOR I=0 TO 127
BUF(I)=0
NEXT I
T0=PEEK(19)*256+PEEK(20)
FOR J=1 TO 160
FOR I=0 TO 127
BUF(I)=BUF(I)+1
NEXT I
NEXT J
T1=PEEK(19)*256+PEEK(20)
E3=T1-T0
SUM=0
FOR I=0 TO 127
SUM=SUM+BUF(I)
NEXT I
PRINT "ARRAY TICKS ";E3
PRINT "CHECK C=";SUM
TOTAL=E1+E2+E3
PRINT "TOTAL TICKS ";TOTAL
PRINT "EXPECTED 30007,61,20480"
PRINT "RESET TO EXIT"
DO
PAUSE
LOOP
You can use fonts from Mr Robot's github, but they must be 1024k in size to load in. Most of the .FNT files work that are in the original FNT folder. GitHub - a8bit/EightBit-Atari-Fonts: Fonts generated from original bitmaps from Atari 8bit computers · GitHub
Updates are below, feel free to provide comments, suggestions, or critiques.
.mill projects and ZIP project export. .ACT palette support; DLI values shown as hex + decimal. @DrawPMG, @MovePMG, @ShowPMG, @HidePMG, and @DisablePMG, including proper shared missile packing. PhotoImage canvas instead of thousands of Tk rectangles. I get what you’re saying, and I didn’t mean for my comment to come off like I was knocking your workflow or the tools you used. You definitely built it in legit 8‑bit software — I’m not questioning that at all. What I was trying to get at is just the vibe of the final track. Even stuff made with true 8‑bit tools can land in different stylistic pockets, and this one just doesn’t quite match the tone I’m aiming for in the game. Think I'll end up submitting a buggy and unfinished game if anything at all, never enough time anymore.
I see the message below, then I google tutorials and my eyes glaze over. Do i have to export to mac or is there an easy way around this? It shows
- invalid bundle identifier: identifier is missing.
- Warning: notarization is disabled. The exported project will be blocked by Gatekeeper if it's downloaded from an unknown source.
- Code signing: Using ad-hoc signature. The exported project will be blocked by Gatekeeper.
Ugh have it tweaked out a bit with Godot but when I try to upload the html5, install and run it just sits there with a full loading bar like it is stuck. Could someone help? I used this website but did not help at all. How to export a Godot 4 game to run on the web on itch.io | foosel.net Also, when i select 'type of game as html' i lose my graphics, font, backcolor etc for the project page.














