Avatar @movq

I recently got an email with this byte sequence:

\xf0\x9f\x8e\x81\xf0\x9f\x95\xaf\xef\xb8\x8f

That’s U+1F381, U+1F56F, U+FE0F. The last one is a “variation selector”:

https://unicodeplus.com/U+FE0F

My toolkit renders this incorrectly – and so do tmux and GNU screen.

Unicode ain’t easy. 🥴

vor ≈2 Tagen | #pu4km3a |
Avatar @bender | #qpsyz6q

/me clones the repository, calls gemini-cli, and asks for an executive summary. Gemini-CLI replies "Don't bother!" LOL.

vor ≈2 Tagen | #bkzrqsq |
Avatar @lyse | #hddm6pa

@prologic Tada! Maybe one day I might look into this lowlevel stuff, too. But I can't see it on the horizon yet. Happy hacking! :-)

vor ≈2 Tagen | #5jaocrq |
Avatar @movq | #hddm6pa

@prologic I’d love to take a look at the code. 😅

I'm kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? 🤔

Can’t really answer that, because I only made a working kernel for 16-bit real mode yet. That is 99% C, though, only syscall entry points are Assembly. (The OpenWatcom compiler provides C wrappers for triggering software interrupts, which makes things easier.)

But in long mode? No idea yet. 😅 At least changing the page tables will require a tiny little bit of Assembly.

vor ≈2 Tagen | #hgl7mjq |
Avatar @prologic | #hddm6pa

I'm kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? 🤔

vor ≈2 Tagen | #34ppkca |
Avatar @prologic | #hddm6pa

I've only got a handful of syscalls working right now. Taking inspiration from the calling convention of the Linux kernel and even made the service/interrupt handler int 0x80h 🤣 I've only got read, write, alloc and exit working righ tnow 🥲

vor ≈2 Tagen | #hu7yu6a |
Avatar @prologic | #hddm6pa

@movq Yes!

Did you do the whole dance with BIOS boot and everything?

Yup! Fark'n LBA shit and all, loading up the GDT, TSS and switching to x86_64 long mode 🤣

vor ≈2 Tagen | #urgec7q |