Search
Items tagged with: Uxn
Just fixed a CPU bug where something was just slightly off by one. That was a tough one to find, but more test ROMs are working now.
I started out with an 18MHz clock speed on the Pocket, which ought to be more than enough for everyone right? 😅 I’m gonna try to see if I can increase that speed. Maybe I can also get some more instructions to complete in fewer cycles. Then finally, I’ll go back to working on sprites!
I finally completed the varvara Screen device yesterday (with a lot of help from the #uxn irc channel (mainly @neauoire)! not sure what's up with the physics in this demo, but look at those sprites 😀
#uxn #varvara #osdev #theWorkshop #theFurnace
Here is my initial draft of #uxn in tcl/tk called tuxn 😆
https://git.sr.ht/~kr1sp1n/tuxn
.Console/write and .Screen/pixel is roughly implemented.
#varvara #tcl #tcltk #programming #tuxn
A little more progress on the Uxn core for Analogue Pocket! Screen vectors are working, at least partially. This means that “game logic” code, which needs to execute once per frame, is handled correctly. This is assuming we are starting on a new frame where the CPU isn’t already busy. Otherwise, it will wait another frame to try again.
“What’s your vector, Victor?” 😀
Spent the evening implementing basic support for varvara's screen device in uxnfloppy!
#uxn #osdev #vga #theWorkshop #theFurnace
https://github.com/remko/uxn.wasm
GitHub - remko/uxn.wasm: WebAssembly implementation of uxn
WebAssembly implementation of uxn. Contribute to remko/uxn.wasm development by creating an account on GitHub.GitHub
Thanks! There is a #tclkit creator online (https://kitcreator.rkeene.org/kitcreator) that builds a #tcl #tk interpreter for sooo many different platforms. So my hope is that my implementation will bring #uxn and it's ecosystem to many more machines in the bright future 🙌 I will definetely hop on irc.esper.net if I need a hand.
https://git.sr.ht/~rabbits/uxn5/
Today, @d6 wrote an excellent little guide on how to use negative numbers, aka signed numbers, in #uxn because it's a recurring question on IRC.
The guide also includes implementations of most logical and arithmetic operations.
http://wiki.xxiivv.com/site/uxntal_signed
I considered building a #UXN chip on an FPGA, but dropped the idea. Hard to compete with UXN running on an RP2040.
One forth core is not competititive, but many small Forth cores maybe.
A very interesting board!
finished my #uxn implementation the other day.
https://github.com/omentic/nim-uxn/blob/main/src/uxn/uxn.nim
as a spec it's interesting because it's so simple and so aesthetic. very Quite-OK style. and the official implementations (in C and JavaScript) are neat and tidy and tiny too (https://sr.ht/~rabbits/uxn/)
but when you go to implement it in a typed language... almost all of the tricks used by the C and JS implementations fall through. you just, can't write it in the same style. and so all of the typed implementations i've seen just put everything in one big switch statement, repeat some logic, call it a day.
i ended up doing some funky metaprogramming to get it working without repetition of logic. which did force me to learn how to properly write Nim macros, huzzah! but man... the spec screams "there is a short & simple way to implement this", and there is, but i think you need either a poorly typed language or good metaprogramming support. kind of interesting.
anyway, on to varvara! (and tests!)
Made a tiny implementation of #sixels rendering for #uxn. Here it is in the very odd case anyone else needs it.
source: https://git.sr.ht/~rabbits/uxn-utils/tree/main/item/gui/sixels/sixels.tal#L15
docs: https://wiki.xxiivv.com/site/sixels.html
just watched @neauoire's #strangeloop talk. wish i had been there but it was still fun to watch later on.
i don't think they even say the word #uxn in the talk but the talk does relate to a lot of the work that they (and i and others) have been interested in for awhile now:
https://invidious.slipfox.xyz/watch?v=T3u7bGgVspM
"An approach to computing and sustainability inspired from permaculture" by Devine Lu Linvega
In this session, I will explore some playful low-power, sometimes analog, computation systems and esoteric programming languages, designed to work offline, on salvaged devices, advised from spending the past 7 years sailing around the Pacific Ocean.Strange Loop Conference | Invidious
Got an initial patch for the new #uxn audio device functionality in the SDL emulator.
Same features as the PD version:
- Sample xfading to avoid clicks when switching sounds
- Duration support with ms timing
- New ADSR envelope
Needs more testing but all seems good so far. I also included the audio-tests.tal file in the projects/examples/devices folder.
How do you prefer the patch @neauoire? Email? Feel free to run clang-format and make changes to better suit your style BTW.
The new #uxn audio device supports all 4 channels now and I accidentally did a Steve Reich with the "popcorn" demo lol
Still gotta add the "wait for zero crossing" option to reduce audio clicks but this should be functional enough for some testing.
You can find this test rom here: https://badd10de.dev/share/audio-test.tal
shorty's #oekaki guide:
Pick up a pencil. Lick the graphite. Install BSD. Compile uxn. Compile oekaki. Surrender your hand to the machine.
#uxn #unix_surrealism almost #monochrome
specs: https://git.phial.org/d6/nxu/src/branch/main/audio-v2.md
forum: https://forum.merveilles.town/thread/21/uxn-real-time-audio-15/
Hi Uxn folks,
I created a simple memory management unit for the Uxn VM.
It provides support for dynamic memory allocation (malloc/free style), and it's done using a virtual memory approach so to access the allocated memory LDA/STA works.
If anyone's interested, I will explain more. There's a README and a rough draft of a DESIGN doc (linked from the README).
https://codeberg.org/wimvanderbauwhede/uxn-mmu
uxn-mmu
A simple memory management unit for Uxn, to support allocate/deallocate paged virtual memory.Codeberg.org
Finished an initial audio implementation for uxn-playdate with some caveats:
- The pitch/rate LUT needs to be adjusted, we go out of tune as we go away of C4. Not sure if this is the Playdate sample player's fault or my own but no matter.
- ADSR works as an AD instead. The way uxn does sustain is different to anything else out there.
I'm done with this port for now. Will revisit it once @neauoire and @rek start working on the PD version of Oquonie and I get the device to test.
Finished optimizing the main drawing functions for uxn-playdate getting speedups ranging from 1.98x to 4.38x.
Only screen_fill missing and then it's time to do audio and filesystem stuff. At this point the playdate should be able to handle pretty much any rom you throw at it (within reason). I think there is full speed parity for Oquonie compared with uxnemu.
More testing is needed of course, and I could make things faster but not worth it until I can test on hardware.
https://regnsloja.itch.io/psycard
Hello :uxn: foks!
Just updated uxngba with a much more performant ARM-UXN core. In addition to that, the last ppu changes have been implemented and there is a new system for loading roms, which now enable bank switching, meaning you can load bigger roms like Oquonie on it!
The new core makes it almost playable and I believe it could be locked at 60Hz if the graphics updated only every other frame (needs to happen on the TAL side)
https://git.sr.ht/~rabbits/uxn-gba
https://git.badd10de.dev/uxngba/
Hi Uxn folks,
I created a concurrent version of the Uxn VM. It breaks up long-running tasks in chunks, the purpose is to improve responsiveness, in particular of audio. You need to add some code to your .tal to make use of it.
If anyone's interested, I will explain more.
Haven't had time to write up how it works, the current README is just the default Uxn one.
https://codeberg.org/wimvanderbauwhede/concurrent-uxn
concurrent-uxn
The aim is to add a very simple round-robin scheduler for device vectors to uxn.Codeberg.org