Skip to main content


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 #Varvara #Uxntal

in reply to WimⓂ️

It's interesting 😀 I've made one of those in uxn-space a few months back, that's also how potato allocates memory for apps. 😀
in reply to Devine Lu Linvega

@neauoire I thought of doing it in uxn-space but I thought the performance hit would be considerable, and you need some indirection for the LDA/STA, isn't it? Good I didn't do it, since you already did.
I have two designs, the one I published is transparent but less good at reclaiming deallocated memory.
How do you get rid of holes on deallocation?
in reply to WimⓂ️

When I close an application I do a bit of garbage collection, the application API has a "reset" entry point where the application can do its own memory cleanup before its memory pointer changes.
This entry was edited (1 year ago)
in reply to Devine Lu Linvega

I see, the fact that you have applications makes it a bit different. What I have is a global virtual memory space, I assume you have one per application. I'll need to have a look at the potato code.
This entry was edited (1 year ago)

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.