4 ms·
It's hard. Building Mu has given me more of a flavor for just how hard it is. Some limitations of Mu: * It still requires firmware. There's a whole lot of C do
by akkartik 5y ago
It's hard. Building Mu has given me more of a flavor for just how hard it is. Some limitations of Mu:
* It still requires firmware. There's a whole lot of C down there. How deep do you want to go?
* No mouse. This is just my own ignorance. I can't get the damn IRQs and interrupts figured out.
* Doesn't work yet on real hardware. I live in Qemu. Debugging that is a whole new set of skills I need to learn.
* No networking, almost no persistent storage. Mu has a very simple and slow driver for ATA disks, but that probably won't suffice on most real-world machine configurations. There's 0 network drivers right now. I probably need a dozen to get any sort of coverage.
The stuff you mentioned around graphics and OS file dialogs, that feels easier once you're willing to put up with constraints like Mu's 1024x768 and so on. But yeah, there's major challenges on this road.
Partly due to these challenges, I've actually started to hedge my bets and make some compromises. My new project is https://github.com/akkartik/teliva https://github.com/akkartik/teliva which doesn't try to eliminate C, just minimize it. Linux kernel, libc, Lua (12k lines of C), some libraries for https. A gemini client is actually on my todo list there. I think I have everything I need to build it.