Mattise 3.0 Released!
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: Mattise 3.0 Released!
Did what froggey did, broke it as well!
Backspace still broken, attached .gif.
Thanks for the meminfo Does it actually do anything other than print out 100 MB in GB, KB, and bytes?
Backspace still broken, attached .gif.
Thanks for the meminfo Does it actually do anything other than print out 100 MB in GB, KB, and bytes?
- Attachments
-
- I Got The... Broken Backspace Blues
- mattise0.gif (7.76 KiB) Viewed 4354 times
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
This morning I have around an hour of spare time in which I plan to implement a proper keyboard driver (instead of implementing it within the TTY driver) that'll initialise the keyboard correctly - including emptying the buffer, doing a reset, etc...One thing you might want to try in bochs is to smack the keyboard a few times during boot to fill the buffer and see if the driver can empty that.
Seems to be quite simple, hehe . I'll look into that bug as well, it looks like it's faulting within the shell - probably time for a rewrite.I broke it!
Thanks - backspace definitely works here. As I said before, I'm planning on moving the keyboard driver out of the TTY driver and at around the same time I hope to implement VT100 compatibility into the TTY driver. Then when I get around to rewriting the shell I can use the VT100 protocol instead of hacking my way through.Backspace still broken, attached .gif.
And, finally...
Depending on the amount of RAM you gave the system, there will always be a certain amount at startup (that's just a given). One of the main things I use meminfo for is to find leaks after loading, running, and unloading an executable. Because there's no support in the shell for background execution (which is of course possible) you shouldn't see it changing more than one or two pages.Thanks for the meminfo Does it actually do anything other than print out 100 MB in GB, KB, and bytes?
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
Hi everyone, just an update.
I'm going to release 3.0.2 after some minor changes including a rewrite of the shell. I'm also working on the memory usage problem and I plan to fix this by rewriting my malloc/free/realloc to be able to dynamically expand. This way I can start off with (even less than, potentially) a page for each heap implementation and have it grow as more memory is needed. The effect will hopefully be a faster startup time and better RAM usage - meaning my OS is less of a resource hog.
Combuster, would I be able to get you to test a floppy image if needed so I can figure out this keyboard/not init bug on your systems? I think I may have fixed the keyboard problem (I now do a full reset and initialise the keyboard in my KB driver) but the slow load time is worrying me.
Thanks
I'm going to release 3.0.2 after some minor changes including a rewrite of the shell. I'm also working on the memory usage problem and I plan to fix this by rewriting my malloc/free/realloc to be able to dynamically expand. This way I can start off with (even less than, potentially) a page for each heap implementation and have it grow as more memory is needed. The effect will hopefully be a faster startup time and better RAM usage - meaning my OS is less of a resource hog.
Combuster, would I be able to get you to test a floppy image if needed so I can figure out this keyboard/not init bug on your systems? I think I may have fixed the keyboard problem (I now do a full reset and initialise the keyboard in my KB driver) but the slow load time is worrying me.
Thanks
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: Mattise 3.0 Released!
Hey Matt,
Looking forward to testing 3.0.2 for you!
Maybe if you could test my OS (TBOS, one post below yours on the forum screen ) as well that would be great too!
--Troy
Looking forward to testing 3.0.2 for you!
Maybe if you could test my OS (TBOS, one post below yours on the forum screen ) as well that would be great too!
--Troy
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Mattise 3.0 Released!
Sure. Just one tiny problem: I don't have access to my test cluster during the weeks, so if you can wait for that...pcmattman wrote:Combuster, would I be able to get you to test a floppy image if needed so I can figure out this keyboard/not init bug on your systems? I think I may have fixed the keyboard problem (I now do a full reset and initialise the keyboard in my KB driver) but the slow load time is worrying me.
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
Combuster: no problem, it'll take me until the weekend to get a working image ready for you (dynamically expanding heap is working, but now I have my ramfs being corrupted between load and usage - good fun to fix these sorts of bugs).
Troy: Tested and replied
Troy: Tested and replied
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
This version is still buggy (and worse backspace support than before, sorry ) - for instance the "adjk!" thing still crashes.
But I'm pretty sure that it'll work on anything with more than 16 MB of RAM (maybe even less, but I'm not willing to take a chance - it ran on 8 MB before I turned on refcount-based GC again). The keyboard problem should be a thing of the past now as well.
I'm not releasing this on the SF project site, because I still have debugging and testing to do.
Download it here.
But I'm pretty sure that it'll work on anything with more than 16 MB of RAM (maybe even less, but I'm not willing to take a chance - it ran on 8 MB before I turned on refcount-based GC again). The keyboard problem should be a thing of the past now as well.
I'm not releasing this on the SF project site, because I still have debugging and testing to do.
Download it here.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Mattise 3.0 Released!
Different test box (Amalthea), different results:
It just hates my Pentium II boxes
Code: Select all
Welcome blabla
== PAGE FAULT ==
EIP=0x108812, CS=0x8, PID=-1
CR3=0x451000, CR2=0x17
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Mattise 3.0 Released!
Tested that last version on Io again, this time it wouldn't even get past the blank screen.
If you have any specific testing code, you'll have to be quick unless you want to skip another week
If you have any specific testing code, you'll have to be quick unless you want to skip another week
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
Ok, it looks like there's some serious issues that emulators don't show (the curse of emulators). As a side note, if there's a serial port I do write all my debugging information to the serial line, which would help me a lot as I'd be able to figure out exactly where it dies. You'd probably need a null modem cable and all that though to make it work (not to mention serial ports on the test box and the read box). For example, with that page fault on Amalthea, I get a call stack over the serial line which makes debugging a hundred times easier. But I'll leave it up to you .
This week is block exams until Thursday afternoon so I doubt I'll be doing much coding. If I do get any spare time I'll either be playing TF2 or configuring my new linux partition, rather than coding.
Thanks for testing and pointing out that there are still problems. I think this shows an excellent example of what happens when you only test on emulators
This week is block exams until Thursday afternoon so I doubt I'll be doing much coding. If I do get any spare time I'll either be playing TF2 or configuring my new linux partition, rather than coding.
Thanks for testing and pointing out that there are still problems. I think this shows an excellent example of what happens when you only test on emulators
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
I've spent some time tearing apart my old code and fixing it up and have since also been able to reproduce the "Real computer" bugs mentioned here.
Changes include fixing the ATA driver to be more compatible with the new spec (and not depending on "Retired" IDENTIFY DEVICE data), fixing up cleanup functions, fixing kill() bugs, and trying to reduce load time. Hopefully this version works better than the ones before!
I've uploaded another image to http://www.wikiforall.net/mattise.tar.gz.
Changes include fixing the ATA driver to be more compatible with the new spec (and not depending on "Retired" IDENTIFY DEVICE data), fixing up cleanup functions, fixing kill() bugs, and trying to reduce load time. Hopefully this version works better than the ones before!
I've uploaded another image to http://www.wikiforall.net/mattise.tar.gz.
Re: Mattise 3.0 Released!
Tested on the same hardware...
Booting from GRUB to the OS shell took suprising 30 seconds - it's somewhat slow. 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. The whole kernel as you can see crashed within 5 seconds of booting with mine "assistance".
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. 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.
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]
Back to the topic, ECHO works, but writing "echo loophole maniac" will write just "loophole".
MEMINFO command doesnt work (everything is zero)
Executing NASM will write "no input file" and PAGE FAULT again. *switches off the machine*
That's my two cent. Unfortunately you have a good truckload of bugs to fix....
Booting from GRUB to the OS shell took suprising 30 seconds - it's somewhat slow. 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. The whole kernel as you can see crashed within 5 seconds of booting with mine "assistance".
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. 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.
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]
Back to the topic, ECHO works, but writing "echo loophole maniac" will write just "loophole".
MEMINFO command doesnt work (everything is zero)
Executing NASM will write "no input file" and PAGE FAULT again. *switches off the machine*
That's my two cent. Unfortunately you have a good truckload of bugs to fix....
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: Mattise 3.0 Released!
Matt, looks like you have a keyboard driver to rewrite. I think it doesn't like non-alphanumeric symbols like ,$#@-].= and ô
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: Mattise 3.0 Released!
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
I might take a look at the IPS Bochs config line and see if I can tune the speed a bit.
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.
Always helpfulTested on the same hardware...
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).Booting from GRUB to the OS shell took suprising 30 seconds - it's somewhat slow.
I might take a look at the IPS Bochs config line and see if I can tune the speed a bit.
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.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.
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.
Maybe I should make it a headless server OSThe whole kernel as you can see crashed within 5 seconds of booting with mine "assistance".
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.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.
Again, most likely page fault thanks to a faulty FAT driver.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.
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.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]
ECHO only prints the first argument for now.Back to the topic, ECHO works, but writing "echo loophole maniac" will write just "loophole".
I just noticed that myself. Slightly odd, but there's only one or two locations that it's referenced.MEMINFO command doesnt work (everything is zero)
I've tried it myself and it faulted, so now I have a call stack and can trace the bug.Executing NASM will write "no input file" and PAGE FAULT again.
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!That's my two cent. Unfortunately you have a good truckload of bugs to fix....
Re: Mattise 3.0 Released!
Seems like I can't compile it. I'm using cygwin i586-elf cross-compiler.
Oh and, there is no way VMware can boot it.
Oh and, there is no way VMware can boot it.
"Programmers are tools for converting caffeine into code."