Hi guys, after a long postponement, I finally released my ATA IDE PIO library. This is version 1.0 of the library. Procedures and functions are written in NASM and they use the StdCall calling convention. I have also coded an INVOKE macro for calling procedures/functions using the aforementioned calling convention. All of the procedures/functions are fully commented with heavy documentation. You can download the library from here for free.

If you have any questions and/or comments, please post them here. Thank you for reading this message.
Posted on 2007-11-11 11:04:57 by XCHG
Ewww, GPL :(

Anyway, PIO is okay when you're doing initial testing in your kernel, but you'll want to move to DMA ASAP :)
Posted on 2007-11-11 13:34:54 by f0dder
f0dder,

Yeah I have recently got my hands on a good PCI reference book. My goal is to use UDMA for IDE access in my OS too. I don't like PIO but since there are not much information about UDMA and PCI for free, I wrote this library first.
Posted on 2007-11-11 14:26:26 by XCHG

Yeah I have recently got my hands on a good PCI reference book.

Could I have the name of book, please
I have to get one too :)

@f0dder:
I'm just curious, why do you "ewwwing" to GPL ?
Posted on 2007-11-11 14:53:09 by Dite

@f0dder:
I'm just curious, why do you "ewwwing" to GPL ?

GPL forces you to share the complete sourcecode of the project, where you use the GPL-ed code. Even if you're not making commercial software (to live through the month), in most cases the library/snippet of interest is too tiny compared to (your) project. It looks like "you wrote 1000 lines of code, but because you copy/pasted my 2 lines - your project all belongs to the world". Or so I guess.
Posted on 2007-11-11 16:24:50 by Ultrano
Nice documentation ^^ There's more documentation than there's code xd Nice to see someone with good 'commenting' habits ;)

but since there are not much information about UDMA and PCI for free

UDMA is thoroughly documented for Intel chipsets, IIRC, and PCI itself is quite self-explainatory, isn't it? What I would really like to read is a decent (and I mean DECENT) book about AGP or -more preferably- PCI-express ^^ Any suggestions here?

GPL forces you to share the complete sourcecode of the project, where you use the GPL-ed code

Doesn't it say that you have to include the source in "source distributions" (in other words: when you actually give THE SOURCE of your app, not its binary code) ? I'm not a lawyer, but that's how I understand it ^^'

/edit
minor update.
Posted on 2007-11-11 16:32:26 by ti_mo_n

Could I have the name of book, please
I have to get one too :)


Of course; it is for PCI Revision 2.1. I will put it as a bibliographic reference below (good practice for my Academic Development classes lol):

Shanley, T and Anderson, D: PCI System Architecture: PC System Architecture Series, 3rd Ed. NY: MINDSHARE, INC, 1995.


Nice documentation ^^ There's more documentation than there's code xd Nice to see someone with good 'commenting' habits ;)


I have lost control over many of my coding projects in the past just because of lack of documentation and/or comments; so I just try not to make that horrible mistake again. But anyway, thanks for giving feedback  8)
Posted on 2007-11-13 00:30:29 by XCHG