Page 1 of 1

Questions about the future of the tutorial.

Posted: Sun Jun 21, 2009 3:55 pm
by Wizecoder
Lately i started being interested in OS Dev and i found this site. I haven't gone through all of the tutorials yet but they seem good and there are a couple things i was wondering about. First, do you think you will still do the tutorials on the Cygwin build environment and the vga driver? Second, if so do you have any ideas when they might be done?

Thanks. :)


P.S First Post!

Re: Questions about the future of the tutorial.

Posted: Sun Jun 21, 2009 5:03 pm
by Mike
Hello and Welcome! :D

We do plan to complete tutorials on Cygwin and GCC. This might be after the main series is completed. With regards to a video tutorial, we are still considering it. VGA itself is very complex but more standardized then VESA. VESA is easier to work with, but requires some real or v86 mode code.

None of the above have been started yet. We might work on completing the GCC/Cygwin tutorials before the video tutorials however.

Re: Questions about the future of the tutorial.

Posted: Mon Jun 22, 2009 6:47 am
by gedd
I was using Eclipse/cygwin/gcc before using Visual studio.
At this time i have adapted the brokenthorn tutorial serie.
Thing you have to do is
- build a cross compiler (elf) : cywin build win32 executable format and ld is unable to do some opération on this format (under cywin)
- change binary ouput format --> flat binary (cross ld will do this)
- use makefile and ld script
When all this things are running just minor change in code are necessary

I also use VESA, just few function in stage 2 to have some info and init then you can use it easyly in PM.
- get vesa info
- get mode info
- init mode
- then use LFB mode (Linear Frame Buffering) to write in video memory (now you have to draw each letter)

But that is true, until you have no v86 mode you will not able to init another mode.

If i can help on any subject ...

Re: Questions about the future of the tutorial.

Posted: Wed Jun 24, 2009 6:18 am
by Monkey
gedd wrote: I also use VESA, just few function in stage 2 to have some info and init then you can use it easyly in PM.
- get vesa info
- get mode info
- init mode
- then use LFB mode (Linear Frame Buffering) to write in video memory (now you have to draw each letter)
While your method works fine for Bochs, it will almost certainly fail on real hardware - reason being that as of VESA 2.0 there are no standard mode numbers. This requires you to write a function that retrieves the list of modes and examines them one by one, searching for the one with specifications matching yours.

Also, it would be a wise idea to incorporate banked mode as well as LFB, as many older machines do not support LFB. In fact, my 2 year-old laptop doesn't even support it. Anyways, hope your system is going well!

-Kyle "Monkey"

Re: Questions about the future of the tutorial.

Posted: Wed Jun 24, 2009 6:59 am
by gedd
Monkey wrote: This requires you to write a function that retrieves the list of modes and examines them one by one, searching for the one with specifications matching yours.
It's exactly what i do and what i mean by "- get mode info "

It work fine , thanks !
http://dnaworkstation.codeplex.com

For bank switch, maybe later, i will try for your 2year old laptop :D

Re: Questions about the future of the tutorial.

Posted: Wed Jun 24, 2009 11:36 pm
by Tubash88
whats VESA? :oops:

Re: Questions about the future of the tutorial.

Posted: Thu Jun 25, 2009 2:54 am
by Mike
VESA is Video Electronics Standards Association responsible for the Video Bios Extensions (VBE) specs (being discussed here) that provides a way to interface with SVGA modes in a standard way. It has limitations (like relying on the Bios in real mode, or its not very supported protected mode interface.) but is the only way of using SVGA modes in a standard way.

Without it, you would need to program either VGA or SVGA cards directly. While VGA is pretty standard, SVGA is not and is generally card or adapter specific meaning you will need to write a driver for almost every type of graphics adapter if you wish to use SVGA or higher.

Re: Questions about the future of the tutorial.

Posted: Thu Jun 25, 2009 4:42 am
by Tubash88
Ooh, Kool. Will we be learning how to use either one of those later on in the OS Development series?

What are your next plans for the series, if you dont mind me asking, :D

Re: Questions about the future of the tutorial.

Posted: Sun Aug 16, 2009 10:27 am
by ehenkes
I would propose to read and write to USB sticks, because floppy discs are not widespread nowadays and will not be rampant in the future. :D

Re: Questions about the future of the tutorial.

Posted: Sun Aug 16, 2009 9:58 pm
by Andyhhp
I would propose to read and write to USB sticks
There was another thread on this topic.

The BIOS can boot from usb drives these days by emulating them to be accessable using the int 0x13 interrupt.

the only difference you need to make to the bootloader is change the boot drive parameter when making the int 0x13 read sector calls.

To help you, when the BIOS first executes your bootsector, it leaves the boot drive in the dl register. All you need to do is save this instead of trashing it, then reload it each time you read a sector.

This has the added advantage of making your bootsector able to boot off multiple devices without modification. However, if you want to support larger USB drives, you will have to modify the bootloader to use FAT 16/32 instead of FAT12 as FAT12 has a physical limit of 32MB.

FAT16 is not too different from FAT12 - it has 16bit cluster addressing rather than 12bit. FAT32 on the other hand is somewhat different but easier overall.

@Mike - Can I suggest we have this information avaliable somewhere in the tutorials as ehenkes does have a good point

~Andrew

Re: Questions about the future of the tutorial.

Posted: Sun Aug 16, 2009 10:54 pm
by Mike
Andyhhp wrote:@Mike - Can I suggest we have this information avaliable somewhere in the tutorials as ehenkes does have a good point
This has been suggested before. Chapters covering different file systems [like fat32] and disk drives [like hard disks and native CD booting] are planned a little later.

Re: Questions about the future of the tutorial.

Posted: Sun Aug 16, 2009 11:08 pm
by ehenkes
Great! Thank you. :D