Page 1 of 3

Volunteer assembly developer needed for FAT12 driver: closed

Posted: Mon Dec 15, 2008 10:18 pm
by Troy Martin
Hi all,

I really, really need someone good at assembly to volunteer to write a FAT12 floppy writing driver for TBOS. The (real mode) OS has a stable base, and a syscall interrupt on 54h for programs.

Thanks,
Troy

EDIT: Need a FAT12 writing driver now, so I'm rezzing this thread.

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 12:06 am
by eddyb
Troy Martin wrote:volunteer
If you would pay, maybe you would get someone :D

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 12:39 am
by JackScott
@shiner: To me, this seems almost the 'perfect' volunteer request. He's asking for something small and manageable, with no hugely unrealistic expectations. Troy is a good forum member, and not some random person walking in off the street and expecting a whole OS written in 6 days. That said, 80286 real mode assembly programming isn't that common anymore. Still, one would expect some useful replies.

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 12:59 am
by kmtdk
well
i might help, but thees days, im not having time, but within a week i can.
And i only need to know how fat 12 works, and what functions to read, and write to disk....


KMT dk

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 3:49 am
by Combuster
public domain sourcecode, anyone?
[ FAT12 bootloader ]

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 9:42 am
by Troy Martin
I have a bootloader, the problem is the last two times I tried to use code from it to load a file from my kernel (without jumping to it), epic fail.

But thanks for the offer, Combuster!

EDIT: Gonna try again, shouldn't be too hard. I think I was failing with converting filenames with dots to padded FAT12 filenames. But if it fails, which I'm sure it will, I still need some help. :roll:

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 11:36 am
by Dex
Take a look at MinDos a simple realmode dos clone, that i wrote, that is less than 2k in size, which has a sample fat12 driver, that reusers the bootload code to load files from the fdd.
You can get it here: http://board.flatassembler.net/topic.php?t=5275&start=0
Here is the convert file name part, that you was having problems with

Code: Select all

 ;----------------------------------------------------;
 ; Convert File Name.                                 ;
 ;----------------------------------------------------;
ConvertFileName:
        pusha                               ; Save genral regs        
        push  es                            ; Save ES
        push  ds                            ; Save DS
 ;----------------------------------------------------;
 ; Convert command line Name to root name.            ;
 ;----------------------------------------------------;
        mov   si,CommandBuffer              ; Move the address of CommandBuffer in SI              
        mov   di,RootConvertedFileName      ; Move the address of RootConvertedFileName in DI    
        mov   cx,8                          ; Move count 8
ConvertCliFileName:
        cmp   byte [ds:si],'.'              ; Check for a '.'
        je    @f                            ; If = jump to label
        cld                                 ; Make movs prosess from left to right.
        movsb                               ; Move what ds:si points to, to what es:di points to
        dec   cx                            ; Decreass counter.
        jnz   ConvertCliFileName            ; If counter not 0, loop
        jmp   FinConertCliFname             ; If 0 jump label  
@@:
        mov   al,0x20                       ; Move  ' ' into AL 
        cld                                 ; Make movs prosess from left to right.
        rep   stosb                         ; Move what in AL, to the address es:di points to
FinConertCliFname:
        cmp   byte [ds:si],'.'              ; Check for a '.'
        jne   @f                            ; If not jump label
        inc   si                            ; If = add a byte to SI
@@:
        mov   cx,6                          ; Move 6 into count reg
        cld                                 ; Make movs prosess from left to right.
        rep   movsb                         ; Move what ds:si points to, to what es:di points to
        mov   di,RootConvertedFileName      ; Move the address of RootConvertedFileName in DI  
        add   di,8                          ; Point to the ext
        cmp   word[es:di],'DE'              ; Check for "DEx"
        je    ConvertCliFileNameError       ; If = jump error
        cmp   word[es:di],'BI'              ; Check for "BIn"
        je    ConvertCliFileNameError       ; If = jump error
        cmp   word[es:di],'MO'              ; Check for "MOd"
        je    ConvertCliFileNameError       ; If = jump error
        pop   ds                            ; Restore DS
        pop   es                            ; Restore ES
        popa                                ; Restore general regs
        clc                                 ; Do not set CF to 1
        ret                                 ; Return
ConvertCliFileNameError:
        pop   ds                            ; Restore DS
        pop   es                            ; Restore ES
        popa                                ; Restore general regs
        stc                                 ; Set CF to 1
        ret                                 ; Return

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Tue Dec 16, 2008 5:16 pm
by Troy Martin
You like your comments don't you? :P

Thanks, I'll try it out. Want any credit?

EDIT: Nifty, my file loading code works (mostly) if the filename is all uppercase and the padding is done! Now to add Dex's code and TBOS will have FAT12 support! Woot!!

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Wed Dec 17, 2008 12:14 pm
by Dex
Troy Martin wrote: Thanks, I'll try it out. Want any credit?
That's up to you ;) , as for the uppercase its best to convert any commands or program names from the CLI to upper case anyway.
All you need do is test for "enter", than add a zero to the command line input and than do this

Code: Select all

        mov   di,CommandBuffer              ; Move the address of CommandBuffer in DI
        call  UpperCase                     ; Call UpperCase function
        ; More code here
;====================================================;
;  UpperCase.                                        ;
;====================================================;
UpperCase:
        pusha                              ; Save genral regs
        push  es                           ; Save ES
UcaseNextChar:
        mov   al,byte[es:di]               ; Move what ES:DI points to, into AL.
        cmp   al,0                         ; Compear it to 0
        je    UcaseDone                    ; Jump = to label UcaseDone 
        cmp   al,0x61                      ; Compear it to 0x61
        jb    DontUcaseChar                ; Jump bellow to lalel DontUcaseChar
        cmp   al,0x7a                      ; Compear it to 0x7a
        ja    DontUcaseChar                ; Jump above to lalel DontUcaseChar
        sub   al,0x20                      ; Subtract 32 from AL
        mov   byte[es:di],al               ; Move it to the address ES:DI points too
DontUcaseChar:
        inc   di                           ; Move the pointer by 1 byte
        jmp   UcaseNextChar                ; Jump to label UcaseNextChar
UcaseDone:
        pop   es                           ; Restore ES
        popa                               ; Restore genral regs
        ret                                ; Return
This way you can input upper or lower case into the CLI.

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Wed Dec 17, 2008 8:08 pm
by Troy Martin
Yeah, I have a routine to do that, but I LIKES ME MAH CASE SENSITIVITY! :P

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Sun Jan 11, 2009 7:22 pm
by Troy Martin
The necromancer says: I need a FAT12 floppy writing driver, so I'm rezzing this thread so it can write it for me. CODE, DAMN YOU!!
The developer says: I need a volunteer to code a FAT12 floppy writing driver so I can release the next version of my OS.
The noob says: HAI GIZ I N33D A F4T DRIVAR 4 MY 0S!!!11 PLZZ H3LP!!!11oneone KTHXBIE!!111!!!1!!111one!oneone!!!1!!

Take your pick, I just need a FAT12 floppy writing driver! :)

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Sun Jan 11, 2009 7:53 pm
by Love4Boobies
Lol, look what happened to the *almost perfect* volunteer request, JackScott! You just had to spoil it... :P

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Sun Jan 11, 2009 8:13 pm
by Troy Martin
I added the noob version for kicks (and cotton nostalgia.)

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Sun Jan 11, 2009 8:22 pm
by Love4Boobies
Troy Martin wrote:I added the noob version for kicks (and cotton nostalgia.)
I doubt he knew either L33T or LOLCODE :D

Re: Volunteer assembly developer needed for FAT12 driver

Posted: Sun Jan 11, 2009 8:23 pm
by Troy Martin
Hmm, maybe I should port LOLCODE to TBOS....

NOOOOOOooooooooooooooooo................. Bad Idea (tm)