#uxn — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #uxn, aggregated by home.social.
-
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.
-
I made some progress on the "Uxntal Koans":
https://git.sr.ht/~ismael-vc/uxntal-koans
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 cleanInstead 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!
-
Zental testing framework in 1 KiB for Uxntal, version 1.0.0!
Code:
https://git.sr.ht/~ismael-vc/zentalDocs and examples:
https://uxnomicon.miraheze.org/wiki/ZentalI 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
-
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 )
-
I just realized that I can pipe ANY streamable image data.... so I accidently also made a #uxn webcam!
-
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 )
-
CW: cursed code, not screen-reader friendly
-
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 ( -- ) JMP2rmakes organizing OOP stuff a lot easier!
#uxntal #uxn #0018 #0018 -
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
-
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.
-
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
-
hexdump -C needed a spa day, so I gave it a massage:
https://paste.sr.ht/~ismael-vc/a074bf4e12d557fce43da4a13cfd038baf275f09
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!)
-
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.
-
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 :>
-
Live coding Zen an Uxntal testing library:
https://www.youtube.com/watch?v=YEp6Vhtfta0
#uxn #uxntal #varvara #TDD #virtualmachine #fantasycomputer #assemblylanguage
-
...and just like that we're passing all of opctest.rom's #uxn tests! 🧙♂️
-
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
-
I made an article at #Uxnomicon documenting the API of Zen, my tny #Uxntal testing framework:
https://uxnomicon.miraheze.org/wiki/Zental
I hope it might be helpful for others as it has been to me!
: )
-
#Uxntal #testing #framework in 760 bytes.
https://paste.sr.ht/~ismael-vc/2f2d41f245481d121632654f86effbcdf25457ac
I have called it Zental, in the images you can see it testing itself (the failed tests are expected).
Usage: https://paste.sr.ht/~ismael-vc/82d44be228adaf7be199e2e2bca77bd1c36ad729
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
-
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.
-
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
-
poll: i need a cv/portfolio for something #uxn related i want to apply for.
should i...?
-
Today I have implemented malloc in 76 bytes in #Uxntal .
https://paste.sr.ht/~ismael-vc/21de76cd6c103a469ff06f33696a95c49bf87508
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.
-