You are not logged in.
bubach wrote:
I finally got something cooler working..
I've set mem 0x6c00 or something as the IDT address, and builds the IDT dynamically by calling set_IDT with a pointer to the unhandled_int function.
After that I can add INT's whenever I feel like it by calling add_int. I'm pretty proud of it. Way cooler then a static table..
/ Christoffer
I was thinking of having a dynamicly builded IDT table, but I seriously don't need it. So I have a static table, BUT I can easily add interrupts .
Offline
bubach wrote:
Well, thanks for the compliments about my code..
Por nada!
babach wrote:
Anyway I need a VFS first, that can handle a uniform access to all kinds of drives and FS's.
Must go, missing my bus as usual.
Yeah, I've been working on this lately too. The filesystem manager needs to be able to call each files system differently, but the programs or API calls to the filesystem manager the same way everytime. Conventions for directory changes etcetera will need to be the same across the board, that is if you're using multiple file systems. I may leave the conventions for each as they are for a particular file system, I need to make my mind up on this soon.
Offline
Same here..
Offline
You want to know my goals for 0.04 and 0.05 (unless you mean when i am going to port
outlook express. ) ? Sorry, bad joke..
For version 0.04 I want to be able to read and maybe write sectors to floppy, and fix
a better enviorment for user programs. Most things (except floppy) are done for the next
version. I have cleaned up and fixed alot of stuff..
For version 0.05 I'll add a VFS and support for loading programs/drivers. Alot more
module-like..
Sorry for the short, non-intresting and badly spelled (as usual) post. I am very tired at the moment,
and can't think straight..
/ Christoffer
Offline
Life has a way of doing that...so long as you're having fun!
You know, after re-reading my post, I suppose it could have been construde that way. Porting Outlook to another OS would be something. But then you'd have to bloat the code to be as close to the rel thing as possible.
Good luck with the floppy driver. I will be working on that after I've parsed teh VENDORS.TXT file for PCI enumaeration. I was able to pre-load files in unreal mode and interface it with the memory manager. Now I'm back the PMODE coding the PCI enumeration for vendors and devices. I'm still struggling with an executeable format. I may make device drivers in my own way. I just have to devise a way to make certain I can still find the data elements as files can be loaded anywhere in memory. Latest Screen Shot of pre-loaded files:
smiddy's OS (C) 2004, 2005. All Rights Reserved. Version 1.00.00.00000095 CPU: Pentium or equivelent A20 Gate: Initializing; A20 gate enabled... E820: 1,073,741,824 bytes. E801: 1,073,741,824 bytes. 88xx: 16,777,216 bytes. CMOS: 67,108,864 bytes. Entering UnReal Mode... Probe: 1,073,741,824 bytes. Mapping Memory 1: 1,073,741,824 installed: E820: Mapping Memory 2: Bitmap Initialized at 14MB: 1,056,964,608 bytes free for use. Looking for SMIDDYOS. in root...Found! Loading SMIDDYOS. , a directory, check location. The next file can be loaded at: 01000200h Looking for Devices. in root...Unable to find file! Looking for FLOPPY.SYS in root...Unable to find file! Looking for ATA.SYS in root...Unable to find file! Looking for KEYBOARD.SYS in root...Unable to find file! Looking for VENDORS.TXT in root...Found! Loading VENDORS.TXT 198,194 bytes. The next file can be loaded at: 01030A00h Stack Initialized at 00FFFFFFh; Growing Down. We made it to PMode, WOW! BIOS32 Entry Found at: 000F9D90h Revision: 0 PCI32 BIOS Found at: 000F9DD0h PCIIRQ Table found: 000FA030h Slots: 6 Bus: 0 Device: 01h Function: 00h PCI IRQ Slot: 0 Bus: 0 Device: 01h INT A#: 60h PCI IRQ Slot: 1 Bus: 0 Device: 02h INT A#: 61h PCI IRQ Slot: 2 Bus: 0 Device: 03h INT A#: 62h PCI IRQ Slot: 3 Bus: 0 Device: 04h INT A#: 63h PCI IRQ Slot: 4 Bus: 0 Device: 05h INT A#: 60h PCI IRQ Slot: 5 Bus: 0 Device: 06h INT A#: 61h Start End Size (bytes) Type Owner/Description --------- --------- ------------- --- ----------------- 00000000h 000003FFh 1,024 02h Interrupt Vector Table (IVT) 00000400h 000004FFh 256 02h BIOS Data Area (BDA) 00000500h 000005FFh 256 02h smiddyOS Data Area (OSDA) 00000600h 0009FBFFh 652,800 02h smiddyOS code 0009FC00h 0009FFFFh 1,024 02h Extended BIOS Data Area (EBDA) 000A0000h 000BFFFFh 131,072 02h VGA Buffer Area 000C0000h 000FFFFFh 262,144 02h ROM/BIOS Area 00100000h 00FFFFFFh 15,728,640 02h smiddyOS code 01000000h 010001FFh 512 02h SMIDDYOS 01000200h 010309FFh 198,656 02h VENDORS TXT 01030A00h 3FFFFFFFh 1,056,765,440 01h <Free Useable Memory> 40000000h FFFFFFFFh 3,221,225,472 02h Unuseable addressable memory area 00D00000 SMIDDYOS 01000000 00000200 00D0001B 00D0001B VENDORS TXT 01000200 00030800 00000000 Boot up time> 07:45:38 System Time> 07:45:41 Current Time> 07:45:53
Have a great weekend and get some rest!
Offline
Thanks, I'll try. Just have to watch Star Wars III now at nine..
BTW: Your OS looks great. Looks like you spended quite some time on doing
all the tings I am too lazy to do myself..
/ Christoffer
Offline
I have a tendancy to be a bit anal, probably due to my training in electrical engineering. So depending on your perspective will depend on who is correct about our approaches.
Thanks for the complement. It is too bad that Bochs doesn't support PCIBIOS32 though...I have to test the next portion via real hardware. It could take some time... I suspect you'll be done sonner than I will be.
I don't expect to see Star Wars III until it is out on DVD. We have a two year old and no baby sitter so we stay home. I saw the originals way back when and was a huge fan then, but not so much any longer. I expect it will be just as thrilling though. Hope it was good!
Offline
Ok. It's way better then the firt 2 new ones. But I still think that much could have been better.
I should have directed it..
/ Christoffer
Offline
Nice OS smiddy. You're using the BIOS ? Some things I have to do is detecting the PCI devices. Of course doing it without the BIOS has my preference .
Btw, why are you putting your stack at 0xFFFFFF ?
PS. Porting Outlook to another OS is like porting a disaster to a wonderful world; in other words; DON'T!
PPS. @Smiddy: maybe my website is now better for you
Offline
bubach wrote:
Ok. It's way better then the firt 2 new ones. But I still think that much could have been better.
I should have directed it..
ROTFLMAO! Well, I think if you directed it it would be easy to understand and really clean; without bugs!
Offline
DennisCGc wrote:
Nice OS smiddy. You're using the BIOS ? Some things I have to do is detecting the PCI devices. Of course doing it without the BIOS has my preference .
I will have the ability to do PCI through ports as well as the BIOS. Currently it is using the BIOS...it is fairly easy to find it and use and I intend to model my use of PCI similar to the BIOS so that the transition is easier for programmers. The systems I'm targeting will all have PCIBIOS32 implemented though so I figured why not use it if it is available.
DenisCGc wrote:
Btw, why are you putting your stack at 0xFFFFFF ?
The only reason I have is it is out of the way for now. This will change to someplace else below 16MB. I'm adding somewhere in the neighborhood of 2-5kB of code per month. The kernel (albeit bloated with DEBUG information) is currently 47+kB, and is loaded at linear 2000h. I don't expect that the stack will be that high up when I do the first release (optimistically expected in September). I have also considered tagging the top 1MB of memory for the stack. I really need to analize the amount of stack I'll need to run multiple applications (say around 10 - 20) at once and weather I'm going to do hardware (I prefer hardware for coding) or software multitasking. this will play into the executeable code that I intend to use too. I intend to avoid a paging type scheme without any virtualization of memory.
DennisCGc wrote:
PS. Porting Outlook to another OS is like porting a disaster to a wonderful world; in other words; DON'T!
ICK! I won't be doing that... It would be pretty funny though...
DennisCGc wrote:
PPS. @Smiddy: maybe my website is now better for you
I check it out this evening when I am able...
BTW, thanks for the complement on my OS. I only hope that my device drivers work as well as your's do...
Offline