Thread with 31 posts

jump to expanded post

these last few weeks, @lynn and me have been working on a c compiler for uxn, based on rui ueyama's โ€œchibiccโ€. it's been a lot of fun! it's such a cute little vmโ€ฆ assembly for this tiny stack machine involved so many little puzzles.

i made a demo https://github.com/lynn/chibicc/blob/uxn/examples/star.c :3

Open thread at this post

i am pleased to announce oneko-uxn: a port of oneko-sakura to #uxn. this is a version of the classic software โ€Nekoโ€! ๐Ÿˆ๐Ÿ–ฑ

https://github.com/hikari-no-yume/oneko-uxn

ๆ—ฅๆœฌ่ชž็‰ˆใ‚‚ๆœ‰ใ‚Šใพใ™ใ€‚

this all was made possible with chibicc-uxn, the c compiler for uxn that @lynn and i have worked on together.

have fun!

Open thread at this post

i found a bug in oneko-uxn: the 16-bit Euclidean distance calculation can overflow even for 8-bit inputs :(

but @lynn found a great alternative: the average of the L1 norm and Lโˆž norms is within ~6% of the Euclidean distance, and way easier to compute!

https://github.com/hikari-no-yume/oneko-uxn/commit/060bc664e647e3ea6d1362fa5d882c1d1b95a87c

Open thread at this post

@cr1901 @lynn

0 โ‰ค x โ‰ค 2ฯ€

cx = cos(x)
sx = sin(x)

i plot a point at (cx, sx)

interpreting (cx, sx) as a vector from (0, 0), the euclidean distance is always going to be 1, right

i then calculate the same distance with our approximation, and plot a point at (cx * distance, sx * distance)

so the red line shows how far it strays from euclidean distance at various angles

Open thread at this post

@cr1901 @lynn you can see that at 0ยฐ, 90ยฐ, 180ยฐ and 270ยฐ, there's no difference, which should be intuitive considering that these are exactly the directions for which euclidean distance, L1/manhattan distance and Lโˆž/chebyshev distance are identical, so an average of these last two should be the same as the first of these

Open thread at this post
lhp , @lhp@mastodon.social
(open profile)

@hikari @lynn Coincidentally I also recently used the old neko bitmaps for a personal project! If anyone wants code snippets for displaying them on Wayland using pixman, let me know. It is straight-forward, but pixman enforces a minimum stride and a minimum buffer size, which means you can't use the original sizes of the bitmap sprites. I ended up stitching them together into a texture atlas.

Open remote post (opens in a new window)