Pinned post

one day i'll wake up in my forest hut, put on my witch hat and head out, leaving all this behind in a forgotten dream.

uxn display device mode idea: unicode mode, like string mode in the console device but for printing to the screen

i have no idea how i'm going to implement sound support for ruxn because sound doesn't work on my pinebook

awful thing to do in production but when you're just experimenting and trying to see if an idea works without committing to refcells or whatever? why not?

Show thread

basically a complete borrow checker bypass, with all the awful consequences you'd expect from it.

Show thread

here's a nice bit of code i am definitely not keeping

#[allow(mutable_transmutes)]
fn evil_ref(&self) -> &mut Self {
unsafe { std::mem::transmute(self) }
}

and of course it could be done manually too like how console currently works

Show thread

what if uxn devices could be interacted with by repeatedly reading or writing to a memory location? It could either be done manually or even with dedicated ops, something like:
IOR (IORead): Pop source byte address, pop number of bytes to read, pop destination buffer address, then repeatedly read the source byte address to fill the buffer
IOS (IOStore): Pop source buffer address, pop buffer length, pop destination byte address, then write every byte in the buffer to the byte address repeatedly

Show thread

not sure how i can implement sprites without direct memory access since right now devices can't read anything outside of their own memory and i'd like to not enable that if it can be avoided ;_;

Show thread

@neauoire @alderwick also i want to think up of way so make it possible to interact with the devices without giving them unrestricted memory access, it should be possible to do file write/read by repeatedly reading/writing to the same address for example

Show thread

@neauoire
@alderwick a thought after seeing the stuff about vectors on the uxnemu page:
if the first byte of each device's memory is used as a vector, interrupts can be handled by the uxn machine itself: every cycle, check if the first byte of each device is not zero, if so, execute the code at the vector, then set it to zero

0x7D2B boosted

@neauoire @xiroux very weird how, in 13 years of using and advocating for FLOSS, I never thought of wording it that way: “the right to repair software”. I think it is a way more effective argument and realistic/achievable action than “the right to create a modified version or to add a new feature”.
Love it, thanks!

i'm more of a 16 bit kind of witch but i gave writing my own uxn vm a shot~

the computer's here, just need the peripherals...

@neauoire Are op codes 0x0E and 0x0F reserved for the future or unused?

i made a rust crate which lets you parse bytes from readers into structs

i think it's pretty neat

github.com/0x7D2B/hex-magic
docs.rs/hex-magic

Show older
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!