Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Brendan wrote:
The second picture is BCOS booting on a real machine (via. network). This was done as a headless boot, with the OS's output captured by a terminal emulator running on Windows:
Why no colors in this one? TeraTerm can do vt100 just fine.
TeraTerm can do ANSI colours just fine, but ANSI colours aren't part of VT100 and aren't supported by HyperTerminal. Bold, intensity and underline are part of VT100 though (but HyperTerminal doesn't support intensity either IIRC).
I use the subset of VT100 codes that give acceptable results on HyperTerminal (rather than a superset of VT100 that doesn't) because HyperTerminal is (unfortunately) the terminal emulator that most people will probably use...
Normally people will only see this if the OS fails to boot and the computer starts beeping at them (ie. when they can't log in via. network). The tricky part is writing it so that a dumb terminal can be connected at any time, so people can plug a terminal emulator in after the OS has failed to boot and still get all the information...
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Brendan wrote:
I use the subset of VT100 codes that give acceptable results on HyperTerminal (rather than a superset of VT100 that doesn't) because HyperTerminal is (unfortunately) the terminal emulator that most people will probably use...
Oh? I thought you'd support 95% of all terminal users if you have something that works in Linux console, the various xterm wannabes, and puTTY.
Honestly, HyperTerminal doesn't even ship with Windows anymore... you can consider it obsolete.
[edit]
As a curious detail: when you google for "hyperterminal vista" and scroll down the page, you'll see "related searches: putty hyperterminal" ... so mm.. why not accept that if you need a terminal in Windows, just get putty.
The real problem with goto is not with the control transfer, but with environments. Properly tail-recursive closures get both right.
OS_271105.JPG - Running in Bochs
Window.bmp - The 'skin' that is used to draw the windows
Pretty much stopped development due to a lot of work and real life, screen shot is from 2005.
Kernel: 32-bit pmode, paging (only loaded pages when written too), multitasking, real mode int calls, ide driver, file system driver, keyboard and mouse support. All adds up to about 8k compiled. Each process gets it's own memory space, but they all run at Ring 0 and map the kernel memory directly so there is no overhead (or protection) for the kernel. The GUI was written in C and is loaded as a user program.
heh, here is what i have put together so far.
-- my web host deleted everything in my databases of there own accord. i'll see if i have some backups somewhere else.
im still trying to work out the paging
and i need to fix up my printf functions formating,
--fixed broken picture link
Last edited by nully on Tue Mar 30, 2010 10:00 pm, edited 3 times in total.
I'll post mine tonight. It gives TONS of info, because it assumes the kernel's stderr is going to a serial port. It also assumes the serial port has vt100 emulation so has purty colours!
P.s. Nully that panic message looks awfully similar to the one in my tutorials (www.jamesmolloy.co.uk). Did you follow them perchance?
JamesM wrote:I'll post mine tonight. It gives TONS of info, because it assumes the kernel's stderr is going to a serial port. It also assumes the serial port has vt100 emulation so has purty colours!
My colours are ugly Exceptions in the kernel switch to a text-mode yellow on black screen, application exceptions use a yellow on red window (I don't intend to keep colours long term - just for now).
I'd love to know what makes people put so much effort into making a "nice" panic screen (I'm not complaining at everyone, I'm guilty of it myself, just it'd be interesting to know why we spend so long over it)
Also, once I've niced (if that's a word!) it up a bit more I'll post mine
It's an area in which it is relatively easy to be better than Windows, especially versions like 98. Error handling was fairly crap, so any attempt to make it better must be a good thing.