Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Skulltip

137
Posts
22
Topics
31
Followers
31
Following
A member registered Feb 05, 2016 · View creator page →

Creator of

Recent community posts

I've been working practically nonstop on this project. Trying to get something stable and release worthy at least for beta.

I must have overlaid this game with a different test build. I'll revisit this in the future.

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

CompilerArithmeticBranchingArrayTotal Ticks
FastBasic (INT)1,2281,1268583,212
FastBasic (FP)1,2281,1168583,202
FastBasic via ByteLoom1,2281,1268583,212
Native LoomBASIC352326263941

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

TestSpeedup vs FastBasic INT
Arithmetic3.49× faster
IF branching3.45× faster
Array operations3.26× faster
Overall3.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

(1 edit)

Next stop - LoomBASIC.. a basic-like syntax, compiling directly to assembler.

Check the devlog, added an IDE. Anyone who wants to help beta-test parts - let me know if you want to be added to credits as a beta tester, and/or what you tested and what worked or bugs you discovered.

Fixed and added quite a few features and tweaks.

It's a little buggy but I've added blitter objects, similar to how Action! works. Check out the devlog.

(1 edit)

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

Since I started with the word 'Loom' I decided to call a project file a 'Mill'. Also added a snippets section, hopefully making it easy to keep things organized.

Looks like you have to be in at least 800xl mode (64k instead of 48k), but will try to remake this using the byteloom editor.

(1 edit)

Updates are below, feel free to provide comments, suggestions, or critiques.

  • 8 font banks instead of 4, with bank animation and editing.
  • Mill project system — save/open/close/autoload .mill projects and ZIP project export.
  • Multi-song music library with named songs and FastBasic music export.
  • FastBasic Game Builder — choose exactly which fonts/assets/songs to export, with live memory estimates and remembered selections.
  • DLI / Color Band Editor — visual editing, finite/persistent bands, real FastBasic DLI runtime generation, and Graphics 0-aware timing.
  • DLI WYSIWYG preview can display the actual 40×24 tile map and live font banks.
  • Improved Atari colors — NTSC Standard, PAL Standard, and external .ACT palette support; DLI values shown as hex + decimal.
  • NTSC palette Rev 2 — substantially improved Atari blues and luminance levels.
  • PMG Editor — Players 0–3 and Missiles 0–3, animation frames, single/double width, X/Y positioning, and drag positioning.
  • PMG FastBasic runtime — @DrawPMG, @MovePMG, @ShowPMG, @HidePMG, and @DisablePMG, including proper shared missile packing.
  • Scene Preview — place PM graphics over the current tile map or bitmap graphics screen.
  • Graphics Editor expanded to GR.3, 5, 7, 8, 9, 10, 11, and 15.
  • Graphics drawing tools — Pencil, Line, Box, Filled Box, Circle, Filled Circle, brushes, and contiguous Fill.
  • Rubber-band previews for lines, boxes, and circles before committing the shape.
  • Faster graphics drawing using a PhotoImage canvas instead of thousands of Tk rectangles.
  • Removed the experimental GR.8 artifacting from the Graphics Editor.
  • Removed the global A = Animate shortcut; animation is button-only.
  • Thanks, working on some improvements and another demo.

    For the fbcodetest.xex, you can use altirra or other emulator and move a ship around using the arrow keys (joystick not enabled or plugged in).

    Check out fbcodetext.xex in an emulator. Use the arrow keys (no mouse) option to move a ship around the ocean. This was a quick demo I threw together.

    lol  too funny.. please dont shoot my comment.

    Very neat, loving the vibe of the game. 

    it was crunch time yesterday and I got too busy. I'll go ahead and check yours out.

    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 appreciate the effort, was looking for more like a simple tune with no effects. The graphics are '8 bit' styled

    Sure, let me know what name to credit you.

    Think ultima 3 on the c64 or atari. Simple single song/tune, space themed. credit will be given. Thanks.

    i would be interested. Been wanting to get back into jams.

    soo uploaded to itch as a draft but not published in a jam is ok?

    Should/can it run under an emulator, or be atari-like using windows/linux/mac ?

    That was it, thank you.

    Very cool, thanks. Dont know enough about +REU but am getting quite a few 'Multiplcation could lose precision(Ttmp7,Ttmp17)' when trying out samples like the drawing circles and randomchars.bas

    I would like to change the emulator of choice from vice to Denise, is that possible from within ugBASIC?

    windows export, when i try to launch an 'installer' it gives me option to keep or remove as a security risk. is there a way around this build process to allow other users not to encounter this? Also would like a standalone style exe, is that possible?

    Sorry I tried that with 4.3, doesn't work for some reason. Shows up as a black screen with the completed loading bar and godot icon on itch and I've tried different things, even building it with 4.2

    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.

    the invite is expired or invalid

    what engines are recommended? I know godot can export to HTML5 but maybe there are better alternatives?  PhaserIO but the editor must be paid for by subscription.

    dos-like community · Created a new topic fonts

    can i load different ttf fonts?

    neat,  what engine or code did you use for it?

    does anyone else have this problem? Some games I try to download and I get a blank Install box, had this problem seemingly forever.  I'm on Windows 11, latest. My To Location: is filled out, but the Install:  is blank. Can't download or install it.

    I try to download the .ATR but the Install field is blank.  What am i doing wrong?  

    Tried sending a message on discord, wouldn't let me. My D ID is:  skulltip#4049

    character set, but i can see to get around it can use the get image.. when i tried the MOB sample I get this message from the compiler:  Datatype mismatch: BYTE,MOB    


    BITMAP ENABLE (2)       
    airplaneImage = LOAD IMAGE("mytest.png" AS "airplanebw")
    airplane = 0   
    MOB airplane, airplaneImage