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
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.
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?
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!
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...
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
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)