home.social

#uxn — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #uxn, aggregated by home.social.

fetched live
  1. CW: uxn for 68k macs

    major milestone!

    was just able to run the drifblim assembler ROM and assemble and run a non-trivial #uxn program (print all the prime numbers less than 4096).

    i recorded a video, in case you want to wait in suspense as the assembler runs on an emulated 8 MHz processor.

  2. I made some progress on the "Uxntal Koans":

    git.sr.ht/~ismael-vc/uxntal-ko

    Since this is for the #catjam, I decided to manage my own build tool in Tal with a thin wrapper in Forth, so I just call:

    $ ./bake
    $ ./bake clean

    Instead of:

    $ bin/uxncli bin/bakefile.rom clean

    And the setup has to be done either way outside uxntal; make sure bin dir exists, compile uxncli with subprocess support and assemble the bakefile.tal.

    Once that is done, the rest will be handled 100% by uxn!

    #uxn #uxntal #varvara

  3. Zental testing framework in 1 KiB for Uxntal, version 1.0.0!

    Code:
    git.sr.ht/~ismael-vc/zental

    Docs and examples:
    uxnomicon.miraheze.org/wiki/Ze

    I still have one month before the #catjam ends in which I'll try to implement "Uxntal Koans". 📜

    Inspired by the original "Ruby Koans", an introductory tutorial to the language as a series of test cases the learner has to fix in order to reach enlightenment! 🧘

    I intended to make a TUI game at first but I like the idea of koans better. :P

    #uxn #uxntal #varvara

  4. I spent some more time optimizing my buffers and my glue code.... And now I have music playing WITHIN the #uxn emulator itself!!! ( Instead of controlling MPD like last time )

    Completely unpractical but I HAD to give it a shot. Had to slightly change the how audio was implemented within uxn2 to get this to work, but it is still completely within spec! ( but the patch makes CPU usage 7x its normal counterpart )

  5. I just realized that I can pipe ANY streamable image data.... so I accidently also made a #uxn webcam!

  6. my new #uxn music play can now display song infromation & art :)

    ( I even added the ability for the image to be streamed in if the MPD instance is over the network )

  7. CW: cursed code, not screen-reader friendly

    in vanilla uxntal this would look like

    @type
    &Frob $1
    &Knob $1
    &Smob $1
    
    ...
    
    &vtable
    =&frobnicate
    =&knobnicate
    =&smobnicate
    

    much simpler, yes!

    but now the definitions are spread across multiple places, forget splitting entities into their own files…


    #uxntal #uxn
  8. CW: cursed code, not screen-reader friendly

    hacked modifiable labels into uxntal, for spooky action at a distance :P

    |0 @type/Ptr+
    
    ...
    
    @type
    %/[ { >{  ( } ) |&Ptr+ }
    %/] { &Ptr+ |}_ } 
    
    &vtable &vtable/Ptr+
    %/{ { >{ ( } ) |&vtable/Ptr+ }
    %/} { &vtable/Ptr+ |}_ }
    
    &dispatch ( type -- )
      #0018 SFT2 ;&vtable ADD2 LDA2 JMP2
    
    ~frob.tal
    ~knob.tal
    ~smob.tal
    
    ( | frob.tal )
    /[ &Frob $1 /]
    /{ =&frobnicate /}
    &frobnicate ( -- ) JMP2r
    

    makes organizing OOP stuff a lot easier!


    #uxntal #uxn #0018 #0018
  9. If I had Assembly experience and actually understood fourth logic, I would learn #uxn and write a text editor that could run on a spec of dust floating past my field of vision

  10. My Varvara implementation allows to optionally route console input/output not to stdin/stdout but to arbitrary streams (abstracted by #zig reader and writer interfaces).

    This gives me the ability to load an uxntal source file, assemble it in memory with a sandboxed, transient, auxiliary #uxn + Varvara instance that embeds a copy of drifblim, and load the generated ROM into the main uxn+Varvara instance. In just 30 lines.

    I can't accurately put into words how much fun I am having right now.

  11. I know I shouldn't be surprised that it just works as is, but still cool, I can build compile uxn binaries directly inside dos.

    wcl -bt=dos -ml -fe=bin/uxnmol.exe src/uxnmol.c

    wiki.xxiivv.com/etc/uxnmol.c.t
    #uxn

  12. @sotolf @tuxjam @thelovebug

    Similar to how #uxn (inspired by #forth) was designed expressly to be as easy to port as possible, with the main emulator (without any i/o) being only about 100 lines of C ;)

  13. hexdump -C needed a spa day, so I gave it a massage:

    paste.sr.ht/~ismael-vc/a074bf4

    :3 #uxn #uxntal #varvara

    Though I'm making my hexdump a tool that can be passed a ROM file as an argument (it was inspired by hexdump -C), it is nice to see that with a little effort is doable as well with the existing tools.

    I also bought the awk pocket reference, so useful.

    (If there is a better way to do this with awk, I'd love to learn!)

  14. @jakehamilton

    Sounds like you're describing #permacomputing, or at least, some elements of it.

    #uxn and #CollapseOS / #DuskOS are worth looking into, if you're not familiar with them already.

  15. I am rewriting my #uxn music player, And the main thing I want in this version is album art! So I just finished writing my glue code to automatically dither, process, and convert any album art (including art embeded inside of audio files) into .icn files at runtime :>

  16. ...and just like that we're passing all of opctest.rom's #uxn tests! 🧙‍♂️

  17. participating in #Catjam again!

    last year I wanted to make an eco-sim but I didn't have time, so it got squished into a sort of garden demo

    this year I have a solid month ahead of me :)

    time to upgrade hexgarden into an actual game!


    #uxn #Catjam
  18. CW: occ summary

    at the end of the #occ2026 week i managed to push through the "crashing the emulator constantly" phase of System 7 development and get into the "opctest.rom fails in weird ways" phase.

    still need to write up the last couple of days but overall i had a great time and i'm optimistic for the future of the yet-to-be-named mac68k #uxn emulator

  19. I made an article at #Uxnomicon documenting the API of Zen, my tny #Uxntal testing framework:

    uxnomicon.miraheze.org/wiki/Ze

    I hope it might be helpful for others as it has been to me!

    : )

    #uxn #varvara #TDD

  20. #Uxntal #testing #framework in 760 bytes.

    paste.sr.ht/~ismael-vc/2f2d41f

    I have called it Zental, in the images you can see it testing itself (the failed tests are expected).

    Usage: paste.sr.ht/~ismael-vc/82d44be

    Just create a routine under the @ test scope, ie:

    @ test/foo ( -> )
    /verbose
    { "some 20 "set } /set
    { "some 20 "subset } /subset
    #01 #0101 EQU /assert
    /end-subset
    /end-set
    /summary
    BRK

    ~zen.tal

    I'll put it in a repo soon. :3

    #uxn #varvara #TDD

  21. Some days we have no power, others no reception, once in a while we have neither. Today was such a day, the oppressing low skies suffocating the signal and covering our solar panels didn't allow for much virtual fussing.

    But while penciling out storyboards for our #Catjam entry, Rek pointed out that it might be nice to have a Yufo cameo aboard the train. Genius idea! Let's look at the actual state of that ol' thing.

    Written in a haste during the Virtual Pet Jam a few years ago, its codebase was horrendous; Uxn was quite young at the time, the linter in its infancy too. It ran just fine but needed a bit of love if the codebase was ever going to be something worthy of being looked at by anyone.

    So, I spent the little power I had left in my laptop rewriting it all in a more standard Uxntal style, with the typical video game OOP patterns that makes the more recent roms somewhat robust. It runs faster, looks and feel nicer too. I've published a new build with metadata and all the other niceties of modern #Uxn projects.

    If anyone ever asks who that weird antlered creature on the train is, at least we can be proud to point to Yufo.

    rabbits.srht.site/decadv/
    #occ2026

  22. CW: occ day 4

    it doesn't look like much but this screenshot represents a (small) #uxn program running correctly on an emulated mac plus

  23. poll: i need a cv/portfolio for something #uxn related i want to apply for.

    should i...?

  24. Today I have implemented malloc in 76 bytes in #Uxntal .

    paste.sr.ht/~ismael-vc/21de76c

    After fiddling with this all afternoon, I finally have implemented a malloc other than the simple "bump pointer allocator" I was using.

    I'll work on mfree, but that will be for tomorrow.

    I changed the unit size to byte instead of 64 bytes because there is no MMU expecting it in 64 bytes in #Uxn as it was in the PDP, so it makes no sense in Uxn? might bite me later.

    Catmon was indispensable.

    #varvara #unix #pdp

  25. With #discord 's newest security ai thing, I can no longer send the art I draw to my friends. Because, noodle in #uxn makes heavy use of grids and checkered lines to add depth. So now that can get me banned. Yay.

  26. Trying to install #uxn on macos is quite infuriating.

  27. alright, i'm officially working on implementing a #uxn environment for 68k macs (system 7 specifically) for #occ2026

    will this work? who knows! but it's something i'll be doing next week.

    plastic-idolatry.com/erik/2026