Questions about the future of the tutorial.

If you are new to OS Development, plan on spending some time here first before going into the other forums.

Moderator: Moderators

Post Reply
Wizecoder
Posts: 1
Joined: Sun Jun 21, 2009 3:51 pm

Questions about the future of the tutorial.

Post by Wizecoder » Sun Jun 21, 2009 3:55 pm

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!

User avatar
Mike
Site Admin
Posts: 465
Joined: Sat Oct 20, 2007 7:58 pm
Contact:

Re: Questions about the future of the tutorial.

Post by Mike » Sun Jun 21, 2009 5:03 pm

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.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com

gedd
Posts: 12
Joined: Mon Jun 08, 2009 7:08 am

Re: Questions about the future of the tutorial.

Post by gedd » Mon Jun 22, 2009 6:47 am

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 ...

User avatar
Monkey
Posts: 2
Joined: Sun Jun 21, 2009 7:59 am

Re: Questions about the future of the tutorial.

Post by Monkey » Wed Jun 24, 2009 6:18 am

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"

gedd
Posts: 12
Joined: Mon Jun 08, 2009 7:08 am

Re: Questions about the future of the tutorial.

Post by gedd » Wed Jun 24, 2009 6:59 am

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

Tubash88
Posts: 5
Joined: Sat Jun 20, 2009 2:09 pm
Location: USA, San Diego

Re: Questions about the future of the tutorial.

Post by Tubash88 » Wed Jun 24, 2009 11:36 pm

whats VESA? :oops:

User avatar
Mike
Site Admin
Posts: 465
Joined: Sat Oct 20, 2007 7:58 pm
Contact:

Re: Questions about the future of the tutorial.

Post by Mike » Thu Jun 25, 2009 2:54 am

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.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com

Tubash88
Posts: 5
Joined: Sat Jun 20, 2009 2:09 pm
Location: USA, San Diego

Re: Questions about the future of the tutorial.

Post by Tubash88 » Thu Jun 25, 2009 4:42 am

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

ehenkes
Posts: 34
Joined: Fri Jul 24, 2009 5:35 pm

Re: Questions about the future of the tutorial.

Post by ehenkes » Sun Aug 16, 2009 10:27 am

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

Andyhhp
Moderator
Posts: 387
Joined: Tue Oct 23, 2007 10:05 am
Location: 127.0.0.1
Contact:

Re: Questions about the future of the tutorial.

Post by Andyhhp » Sun Aug 16, 2009 9:58 pm

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
Image

User avatar
Mike
Site Admin
Posts: 465
Joined: Sat Oct 20, 2007 7:58 pm
Contact:

Re: Questions about the future of the tutorial.

Post by Mike » Sun Aug 16, 2009 10:54 pm

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.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com

ehenkes
Posts: 34
Joined: Fri Jul 24, 2009 5:35 pm

Re: Questions about the future of the tutorial.

Post by ehenkes » Sun Aug 16, 2009 11:08 pm

Great! Thank you. :D

Post Reply