As for the keyboard driver not supporting SHIFT (and thus any SHIFTed characters) - during the rewrite I was mainly working at getting to a working keyboard driver (and I rarely use shift, so it was OK for testing). I'm pretty sure right SHIFT works, just not left (don't worry, I do know how
). That's definitely one of the things on my TODO list, just so you don't think I overlooked it
Tested on the same hardware...
Always helpful
Booting from GRUB to the OS shell took suprising 30 seconds - it's somewhat slow.
It should not be taking that long. The problem is that all my testing is done on emulators which run at > 2 GHz, so while for me my code is blazing fast for you on a real computer which might be slower it can be painfully slow. If there's no text on the screen at all then it's taking a long time in the basic kernel initialization (which it shouldn't be).
I might take a look at the IPS Bochs config line and see if I can tune the speed a bit.
After booting, I realized that your OS didn't support uppercase characters - bug in SHIFT key. After writing "|_" what the shift key does and pressing ENTER, there was a page fault.
See above about the SHIFT key. As for the non-alpha characters - I believe that's a bug in either my FAT driver or in my ramfs driver (either way, it's in a filesystem driver
). I'm pointing at the FAT driver because that's the buggiest thing I've ever written.
On the other hand, I've noticed with
correct emulations of the IDE interface my FAT driver loves dying (CR2=0, EIP=101c5a [memcpy]). If you stick to the ramfs you should be fine.
The whole kernel as you can see crashed within 5 seconds of booting with mine "assistance".
Maybe I should make it a headless server OS
After rebooting, typing something and "backspacing it" moves the cursor back, but doesnt erase what has been written. I can "backspace" even the user prompt.
Yes, that's known behavior. I haven't yet implemented proper support into my virtual terminals for things like backspace and other VT100 protocol elements. This is also a TODO.
When I backspace everything and hit ENTER, it will write "command not found" but when I type e.g. "helpp" or make these weird characters with the shift key, page fault immediately after pressing ENTER. The thing is, if i write "asôkdkjf" it wont page fault, but if I would write "helpp, meminfoa" it does.
Again, most likely page fault thanks to a faulty FAT driver.
Ah, the stability of microkernels... monolithic ftw: next_ver_of_a_microkernel_OS = new_bugs + 580! A typical Linux infrastructure: one bugged kernel with infinite number of bugged drivers with X numbers of patches and add-on programs, which make the system stable. A great loophole [joking]
You should've seen Mattise 2.0 - never released! I took on a microkernel interface which was somewhat stable but was awfully slow and it liked crashing a lot.
Back to the topic, ECHO works, but writing "echo loophole maniac" will write just "loophole".
ECHO only prints the first argument for now.
MEMINFO command doesnt work (everything is zero)
I just noticed that myself. Slightly odd, but there's only one or two locations that it's referenced.
Executing NASM will write "no input file" and PAGE FAULT again.
I've tried it myself and it faulted, so now I have a call stack and can trace the bug.
That's my two cent. Unfortunately you have a good truckload of bugs to fix....
I imagined I would have a lot of bugs, but thanks once again for taking the time to try things out. The only way this OS will get better is by having people try it out. I'd rather be fixing bugs that people keep finding than going off and implementing new features that cause even more bugs!