flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Dex4u fasm code |
Author |
|
Dex4u 06 Apr 2005, 16:03
I have decided to release the fasm code for "Dex4u" it is a 32bit pmode OS with drivers for pmode floppy and Atapi (CD/DVD), vesa, loads programs, fat12 etc.
May be some help to people making there own OS. The web site and forum for "Dex4u" is here: http://falconrybells.co.uk/ http://dex.7.forumer.com/ Note: Dex4u fasm code has been removed, as is being added to web site. Last edited by Dex4u on 21 Jun 2005, 20:57; edited 3 times in total |
|||
06 Apr 2005, 16:03 |
|
joachim_neu 06 Apr 2005, 19:42
thank you!
|
|||
06 Apr 2005, 19:42 |
|
smiddy 08 Apr 2005, 11:30
You have the code, change it to your own tastes. You wanna read sector 1 for geometry, do it. The procedures are there...all you need to do is re-write the code to be dynamic for your purposes. Can't you do that?
|
|||
08 Apr 2005, 11:30 |
|
Dex4u 08 Apr 2005, 16:52
The trouble, with people who start making OS is they try to make things to complected, i like things to be done the KISS way, the fact that i have not used any floppy disk other that a 1.44MB, is why i chose to hardcode the floppy driver to 1.44MB, you may find that you need other disk sizer, if so add it to the code, post the new code with the mods, so other can use it.
Here is the info, for reading 1 sector, just fill in the regs and call the function "FddRead" Code: ;----------------------------------------------------; ; Fdd read ; ;----------------------------------------------------; ; ; ; Input: ; ; CH = Track/cylinder ; ; CL = Sector ; ; DH = Head ; ; DL = Drive (only A: drive used 00 ) ; ; ; ; Output: ; ; AH = Status ; ; AL = Sector number read ; ; CF = 0 If successful ; ; = 1 If error ; ; (100%) ; ;....................................................; You would call the floppy drive some thing like this, if you wanted to read number of sectors. Code: call FddReSet call FddRecalibrate; first time you call floppy call the above;after that you can just call "FddRead" unles error. xor ax,ax mov dh,01 ;side 01 mov dl,00 ;drive mov ch,01 ;track mov cl,03 ;cl Sector call FddRead jc @F;Do some thing here; the above code will fill the dma buffer with 512bytes; just dump it to screen, you will needed to set floppy int and; timer int, into the fdd.inc .@@: mov si,FloppyErrorMsg call print_string NOTE: You should also retry the above three times on error. Last edited by Dex4u on 09 Apr 2005, 15:07; edited 1 time in total |
|||
08 Apr 2005, 16:52 |
|
JMD 09 Apr 2005, 06:00
thank you for the responce Dex4u, excellent code btw. dont see a write routine tho, guess that hasnt been implemented yet. But thank you for the contribution and i like the structured coding style, makes it easier to read then most code i run accross.
|
|||
09 Apr 2005, 06:00 |
|
Dex4u 09 Apr 2005, 15:06
Thanks JMD, your right i have not implemented the write routine yet, but the only difference between the read and write function is the command number and the DMA, so most people have the same function for read/write, but check for a number in a reg and then call the read or write command.
PS: You can test the floppy or CD driver by down loading the the "Dex.zip" from here: http://falconrybells.co.uk/ or you can run kernel32.exe from pure Dos. Below is a screenshot of Dex4u's Gui (in the making).
Last edited by Dex4u on 16 Apr 2005, 21:15; edited 1 time in total |
||||||||||
09 Apr 2005, 15:06 |
|
franz79 12 Apr 2005, 08:29
Can you send my source code of yours os ...
on web page i can't find |
|||
12 Apr 2005, 08:29 |
|
Dex4u 13 Apr 2005, 16:33
It will be on the web site by the weekend .
|
|||
13 Apr 2005, 16:33 |
|
smiddy 13 Apr 2005, 18:23
Nice code ASHLEY4.
|
|||
13 Apr 2005, 18:23 |
|
Dex4u 13 Apr 2005, 18:57
@smiddy, I thought "ASHLEY4" was a girl , did you get the OS source code ?.
|
|||
13 Apr 2005, 18:57 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.