romanzolotarev.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.

This server runs the snac software and there is no automatic sign-up process.

Site description
/pub
Admin account
@hi@romanzolotarev.com

Search results for tag #uxn

[?]MVU » 🌐
@mvu@sunny.garden

Ok! Spent all weekend starting on a exploration by implementing uxn from scratch.

Ended up using JavaScript even after all my complaining because I'm intending to make a single shareable .html file that acts both as the full vm implementation inlined, but also generates documentation from its own opcode definitions, which is fun~

I'm also making the code painfully verbose for each opcode. There's only and handful of them and they're not complicated but all the official implementations are suuuuper compact code, which caused me misunderstandings when trying to understand some.

Every time I play with uxn I need 2-3 wiki pages and a hex calculator open, so hopefully if I finish this I'll have myself a full single-page version with a hex calculator and a uxn implementation and a text-editor.

Here's a cute little live vm-viewer component I just finished adding to the page~

Alt...A small terminal-looking box shows the two stacks and a small slice of RAM from a uxn virtual machine. A mouse cursor clicks the "step" button a whole bunch.

    [?]Devine Lu Linvega » 🌐
    @neauoire@merveilles.town

    Taking a stab at making myself a little portable file manager.

      Tomáš boosted

      [?]@<jn> ( -- ) #6118 DEO JMP2r » 🌐
      @jn@boopsnoot.de

      Now also on itch.io, where you can play it without downloading:

      jnnnn.itch.io/kamiokande-dreams

        [?]Chloe [she/they] » 🌐
        @angelwood@merveilles.town

        Finally got a few hours to sit down and made little techdemo for my new fully-featured RPG text-renderer ^__^

        All the dialogue uses a DSL I wrote overtop of TAL, an example is here: paste.sr.ht/~angelwood/4ecd016

        ( The Framerate in the recording is a little messed up but the text speed is faster/slower in an emulator )

        Alt...A little gif where i play around with my RPG player, It can do custom colours, custom speeds, and custom timing's for character dialogue

          R E K boosted

          [?]Devine Lu Linvega » 🌐
          @neauoire@merveilles.town

          's ridiculous face on the Playdate looks like it's wearing a yellow parka and that only the narrow of the face is showing.

          Uxn emulator on playdate.

          Alt...Uxn emulator on playdate.

            [?]Ƶ̗̥̎ POP2kr » 🌐
            @snufkin_vc@mastodon.social

            μxn-100 is ready!

            I have done some tests and I like this, let me know if you have any suggestions. I will make a live stream later today and then edit that into a nice intro video to uxn.

            I recommend using light colors and pencils to reuse the sheet if needed (printing a page is all you need).

            Best to print on both sides or use recycled paper if you want a bunch. Should be a perfect teaching and learning tool for children and adults alike.

            PDF: git.sr.ht/~ismael-vc/muxn-100/

            μxn-100

            Alt...μxn-100

            μxn-100 hello world

            Alt...μxn-100 hello world

            μxn-100 echo

            Alt...μxn-100 echo

              [?]xaxalxe lucía 6lex ange [she/her&they/them] » 🌐
              @xaxalxe@sunny.garden

              tools in (w/ wayland, tohu, havoc)

                [?]Hiro Lynx 🐾♫🐧 [he/him] » 🌐
                @Hiro@loutre.info

                List of English words forbidden as labels in uxntal:

                a
                abed
                accede
                acceded
                ace
                aced
                ad
                add
                added
                b
                baa
                baaed
                babe
                bad
                bade
                be
                bead
                beaded
                bed
                bedded
                bee
                beef
                beefed
                c
                ca
                cab
                cabbed
                cad
                cc
                cede
                ceded
                cf
                d
                dab
                dabbed
                dad
                dd
                dded
                dead
                deaf
                deb
                decade
                decaf
                deed
                deeded
                deface
                defaced
                e
                ea
                ebb
                ebbed
                ed
                efface
                effaced
                f
                fa
                facade
                face
                faced
                fad
                fade
                faded
                fed
                fee
                feed

                  [?]notchoc » 🌐
                  @notchoc@app.wafrn.net

                  trying to design a simple programming language, not screen-reader friendly [SENSITIVE CONTENT]
                  =0a |\n
                  =18 |Console/write
                  
                  {putc ( char -- ) .LIT .Console/write .DEO }
                  
                  [ ( push address ) '' @ ]
                    .LDAk ^putc .INC2 ( >> )
                  {println ( str* -- )
                    .LDAk [ ( consume address ) *^? ]
                    .LIT2 .\n .Console/write .DEO }
                  
                  'hello world' *println
                  

                  syntax: <whitespace...> [rune][data] <whitespace...> [rune][data]

                  parser skips until first non-whitespace byte, then handles that as a rune

                  runes are like reader macros, they have access to the input stream and can read as much data as they want
                  for ', " and (, they would read until the matching char
                  for the rest, they would read a word

                  word can be a number or a label, it's up to the rune to handle it

                  e.g. .label expects a label and writes its lower byte, while =0a expects a hex string and writes it as a short

                  runes execute immediately

                  • write
                  • opcode
                  • literal
                  • subroutine call
                  • read (is this useful?)
                  • call subroutine
                  • push literal
                  • string "hello world"
                  • number -42 =cafe
                  • define label
                  • move write head

                  labels have values

                  • constants
                  • address of global variables
                  • struct field offsets
                  • compile-time variables
                  • compile state
                  • function pointers
                  • call routine

                  feels kinda verbose idk what do yall think

                  especially compared to a lang like painterForth (https://git.sr.ht/~hocwp/painterForth) which switches state, might look something like:

                  - .LIT2 .\n .Console/write .DEO
                  + .LIT2 \n Console/write DEO
                  

                  visually cleaner! but can make parsing ambiguous (what counts as a rune?)


                  #uxn

                    [?]Chloe [she/they] » 🌐
                    @angelwood@merveilles.town

                    Took a little bit to figure out libraries and such, but I finally figured out how to render .ttf true type fonts into .uf2 files for rendering in

                    git.sr.ht/~angelwood/ufxttf

                    A screenshot of Turye displaying a uf2 font, and a font display tool showing the same font being rendered in truetype

                    Alt...A screenshot of Turye displaying a uf2 font, and a font display tool showing the same font being rendered in truetype

                      [?]MVU » 🌐
                      @mvu@sunny.garden

                      Venting, code stuff [SENSITIVE CONTENT]

                      I want to learn and (I've written a couple small programs in zig 0.13 and liked it), but all my (15+ y) real experience is in python and javascript. I use those at work and they've started to feel... dirty? Infected?

                      They've become productivity-coded to me because of work, and I want to code for the love of coding but all my py/js experience makes lower level langs feel unintuitive and needlessly complex.

                      I also *detest* the compile step. Makefiles and linked libraries make me want to gag the same way package managers seem to set off systems devs, and any time I get to the part where i need to tinker with a build.zig or figure out how to make SDL3 work I get super turned off, even if I enjoy the structure and control the languages afford.

                      (Watching a wall of warnings fly by as I try to compile hello world for an esp32 does not instill confidence in my code or feel low level to me lol)

                      My recent experience with was the best experience of my life -- knowing my code did what i wanted byte-for-byte, and that the compile step was effectively just turning symbols straight into bytes was super intuitive. It was also far enough from py/js that my bad habits didn't impact my experience. Uxn is intentionally small, though... not for everything.

                      I'm still toying with the idea of starting to write raw . It doesn't spark as much joy as uxn does, but has a similar mouthfeel.

                      This essay doesn't have a real conclusion; just venting.

                        [?]@<jn> ( -- ) #6118 DEO JMP2r » 🌐
                        @jn@boopsnoot.de

                        uxn rambling [SENSITIVE CONTENT]

                        ok, silly concept: Uxn programs have a chirality, identified by which of the two stacks is used for return addresses and which is used for values. as long as there is no self-modifying code to the degree that opcodes are changed at runtime, i *think* you can statically transpose a program from one chirality to the other, just find every opcode (with the exception of BRK, JCI, JMI, JSI, and avoiding immediates) and flip 0x40... almost. JCI only reads from WST. :(

                          [?]∴ esoterik ∴ [he/him/etc] » 🌐
                          @d6@merveilles.town

                          it was brutally slow to run on an emulated mac plus but the mandelbrot2 rom actually looks kinda awesome in black & white

                          Screenshot of an emulated Macintosh Plus running in Minivmac. The main window shows a Mandelbrot fractal. Normally Uxn programs have 4 colors and the ROM is using dithering to create more false colors. However, since the 68k Mac is black and white, half those colors map to black and half to white. So the dithering ends up looking different but still kind of striking.

                          Alt...Screenshot of an emulated Macintosh Plus running in Minivmac. The main window shows a Mandelbrot fractal. Normally Uxn programs have 4 colors and the ROM is using dithering to create more false colors. However, since the 68k Mac is black and white, half those colors map to black and half to white. So the dithering ends up looking different but still kind of striking.

                            [?]@<jn> ( -- ) #6118 DEO JMP2r » 🌐
                            @jn@boopsnoot.de

                            Friends of pixel art and cozy computers, i made a thing. i adapted @j-g00da's KAMIOKANDE DREAMS as an Uxn ROM!

                            codeberg.org/neuschaefer/dream

                            screenshot of the main menu, listing pages of the comic. black monospace pixel font on pale yellow background

                            Alt...screenshot of the main menu, listing pages of the comic. black monospace pixel font on pale yellow background

                              [?]tbsp [he/him] » 🌐
                              @tbsp@merveilles.town

                              I made a sliding puzzle with random layouts to (try to) match for my uxn-like VM for catjam. It's kind of amazing how much gameplay can come out of such a simple idea.

                              Two 4x4 grids of mis-matched pixelated images (key, boat, apple, etc) with some assembly language code in the background

                              Alt...Two 4x4 grids of mis-matched pixelated images (key, boat, apple, etc) with some assembly language code in the background

                                [?]Chloe [she/they] » 🌐
                                @angelwood@merveilles.town

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

                                Alt...A video of my waving, Doing the peace sign, then doing a heart with my hands on the dithered output

                                  roman boosted

                                  [?]Devine Lu Linvega » 🌐
                                  @neauoire@merveilles.town

                                  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

                                  Compiling a uxn binary with drifblim.

                                  Alt...Compiling a uxn binary with drifblim.

                                  Running mandelbrot

                                  Alt...Running mandelbrot

                                    R E K boosted

                                    [?]Devine Lu Linvega » 🌐
                                    @neauoire@merveilles.town

                                    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 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 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/

                                      [?]∴ esoterik ∴ [he/him/etc] » 🌐
                                      @d6@merveilles.town

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

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

                                      plastic-idolatry.com/erik/2026

                                        roman boosted

                                        [?]Devine Lu Linvega » 🌐
                                        @neauoire@merveilles.town

                                        Someone just demonstrated that the entire Uxn toolchain can be reconstructed from nothing but a POSIX shell, xxd and sed. It's down to taking 34 minutes to build the Uxntal assembler.
                                        bootstrap: joe.cz/uxn/uxn1b-drifloon.txt
                                        repo: gitlab.com/racketeer/uxnsh

                                          roman boosted

                                          [?]Devine Lu Linvega » 🌐
                                          @neauoire@merveilles.town

                                          I made a zine, it's called Fractions Are Everything, it invites the reader into looking at fractions a little differently.

                                          The typesetting is done entirely in .

                                          wiki.xxiivv.com/site/pocket_fr

                                          8 pager, the cover is a AND gate with the primes 2 and 3, on one side, and 5 on the other.

                                          Alt...8 pager, the cover is a AND gate with the primes 2 and 3, on one side, and 5 on the other.