View Full Version : FrogAspi - v0.25 - a free WnASPI32.dll clone
Millenod
28th September 2005, 21:11
Hi,
I've decided to write a wnaspi32.dll clone, available for free, even for writing engine.
The File can be downloaded here (http://www.frogaspi.org/downloads/FrogAspi.dll)
So I need testers, developpers wishes, suggestions, help (for development or web site)
How to use my aspi?
- find software which use the "wnaspi32.dll" file
- make a backup of this file
- rename my aspi into "wnaspi32.dll"
- replace the original aspi with mine
Please report me all tested softwares and version. it's for the web site compatibility page.
Change Log :
{
- V0.13 (2005-10-??) (public) :
* first public release
- V0.14 (2005-10-10) (public) :
* USB\Firewire drives are now supported (thanks to Alexander Noé )
* Added function 'GetASPI32DLLVersion'
- V0.14.1 (2005-10-11) (internal) :
* Added function 'NTHaveAdminPrivilege'
- V0.14.2 (2005-10-11) (internal) :
* Fixed a runtime error discovered by Alexander Noé
* Rename function 'NTHaveAdminPrivilege' to 'HaveAdminPrivilege'
* Added function 'GetDriveHandleByDriveLetter'
* Added function 'GetScsiAddressByDriveLetter'
* Added function 'RescanSCSI'
- V0.14.3 (2005-10-12) (internal) :
* Added function 'GetDriveHandleByDriveNo'
* Added function 'GetDriveHandleBySCSIAddr'
* Added function 'GetScsiAddressByCdRomID'
- v0.20.5 (2005-10-13 to 2005-10-14) (internal) :
* reorganization of the dll
* better drive detection : Now the dll has 2 detection mode
* Now, FrogAspi doesn't detect only CD devices
* Only supports the 2 mandatory aspi functions
- v0.20.6 (2005-10-16)
* Sort SCSI Adresses
* All previous functions are acessibles again
* Fix Device Type detection
- v0.21 (2005-10-18)
* Code optimization (100KB to 52KB)
* Mascot icon included in the dll
* Project now compiled with Delphi 2005
- v0.22 (2005-10-20) (internal)
* Fixed some unicode structure size (thanks to Bill)
* Thanks to Bill to his Detection Code, more structurated than my version
* Only detection mode 1 is active
- v0.24 (2005-10-31) (internal)
* Code optimisation : now the dll is ONLY 23KB in normal mode (remove the sysutils unit used by delphi. 40KB reduction)
* Always have a bug with "Nero Info Tool" (it's the only known software to crash. I don't know why :S)
- v0.25 (2005-11-17) (internal)
* Nero Info Tool crash fixed! Thanks to Paul Fisher for his code, which helped me to discover the structure size problem
* Fix a bug on scsi adress assignment. Thanks to Christophe Fantoni and his HP printer (detected as printer, scanner and hard drive :S)
---
Special thanks to :
- Truman (CDFreaks) for all his advices and code example
- Bill, for his examples
- Robert Juzyna (Droppix) for his advices
- Philippe Vitali (Droppix) for his advices
- Wesson (VSO), for my first job in cd media world, and for all the documentation and advices
- Alexander Noé, for his advices and tests
- Christophe Fantoni for the documentation, web server and his friendship for years
- AMcD for the ASM X86 help
- Paul Fisher (Dancemammal) for his code example, which allow me to fix nero info tool crash
- Jukka Poikolainen (Easy CD-DA extractor) for his examples
- José Estève (Le Merou) for the mascot
and....
- Winamp. Coding without winamp????!!
}
Millenod
6th October 2005, 22:42
Hi,
As I said in my previous post, I'm trying to release a free wnaspi32.dll clone (the dll can be used freely with writing software, without any restriction).
At this time, for my first test, this dll is adaptec and ahead compatible.
To use it, just rename it "wnaspi32.dll" and replace your actual files (make a backup) with my one, in your favorite application.
Why posting this dll?
I'm a student, and this dll is a part of my final studies project.
So, I actually need :
- testers
- suggestions \ advices
- partners to help me
Source files can be available on demand.
If you want I publish other files, freely, please support my work by giving me advices, documentation, time, and why not helping me
Thanks in advance.
Sirber
7th October 2005, 00:50
Did you write it from scratch?
Will you post the source?
I don't mind testing it :D
Millenod
7th October 2005, 01:10
Did you write it from scratch?
I started my syudies about ASPI last year.
For months I used ahead aspi, which was better than the other ones I tested.
I had to developp some applications for my projects. But due to my lack of knowledged about aspi (other programers as Ahead ones, Olly, Wesson, Lightning UK, ... know thousand things I don't). So I've written some "spy" tools, read T10 drafts....
I dedided to work on my engine entierely in Delphi 7 (my favorite language).
But at time I had some memory management problems.. between classes and standards functions...
so to bypass the problem, the easiest way was to write my own dll compliant with aspi ones.
Well, my computers are under windows XP\2k3, and I used the native way of these OS : SPTI
I just implement a little these functions.
You can find on the web, some code about "Sergey Kabikov" or "akrip" project.
I'm using a different way than the above projects, to detect drives.
The first projects scan drives letters, to determines drivers type...
For my part, Windowd kernel, tells me directly the optical drives...
After, you can find the mandatory functions "SendAspi32Command" and "GetAspiSupportInfo".
So, after many weeks\months of research, I have a valid dll.
Will you post the source?
Maybe. Some collaborators already have my sources.
All people who will help me will have source access.
And my post are here to publish one partt of my project, and to find other people who could help me.
So if you have some knowledge and want to participate to my work, don't hesitate to contact me.
Sirber
7th October 2005, 13:34
I have no knowledge but I burn a lot, so I can be tester. :D
Millenod
7th October 2005, 18:05
Testers are welcome :)
if you have any problem, please report :
- cd\dvd software + version
- what you did exactly (on which button you click, ...)
- a short description, if possible
Regards
Millenod
7th October 2005, 19:30
This topic can be followed here too :
http://club.cdfreaks.com/showthread.php?t=151421
First tester report that this dll is working with PxScan
Millenod
10th October 2005, 08:02
The bug reported by Alexander Noé are now fixed.
I'll work on Truman bug this week.
If someone knows how to implement the Buffer functions...
list changes :
{
- V0.13 (2005-09) :
* first public release
- V0.14 (2005-09-10) :
* USB\Firewire drives are now supported (reported by Alexander Noé )
* Added function 'GetASPI32DLLVersion'
---
Special thanks to :
- Truman (CDFreaks) for all his advices and code example
- Robert Juzyna (Droppix) for his advices
- Philippe Vitali (Droppix) for his advices
- Wesson (VSO), for my first job in cd media world, and for all the documentation and advices
- Alexander Noé, for his advices and tests
- Christophe Fantoni for the documentation, web server and his friendship for years
- AMcD for the ASM X86 help
- Bill
- José Estève (Le Merou) for the mascot
and....
- Winamp. Coding without winamp????!!
}
Millenod
16th October 2005, 15:33
Here is the actual version of my aspi, named "Frog Aspi".
The file can be downloaded here (http://www.frogaspi.org/downloads/FrogAspi.dll)
Please report me your bug, comments, wishes.
Thanks in advance for your tests.
(I've added all the changes into the first message)
Nic
17th October 2005, 16:16
@Millenod: Nice work :) Does it work on Win95/8 as well? I wrote an ASPI DLL once that just supported GetASPI32SupportInfo & SendASPI32Command really and all they did was map to DeviceIoControl functions. Which is adequate enough, but only works on Win2k/XP.
Will you release your source once done? I'd like to look at it just out of curiosity :)
-Nic
Millenod
17th October 2005, 17:23
@Nic
Sadly I don't have W9x :(
The bad thing is I didn't find real documentation on this subject for w9x system.
The only way I know is to write a specific driver (who cares today of w9x ?).
I'm a student, and this aspi is a part of my final study projects. It's right I don't have months to spend on this problem :(
If you know developpers who would like to work on this project, i will share my code (written in delphi... don't I've money to work with driver studio)
For the aspi under w2k system, the only way I know is to use spti and DeviceIoControl.
All codes you can find on this subject over the net are the same. (it's the author of akrip who gives the first sources If I remember).
So i use these code and a better detection of devices (not only cd and dvd).
I'd like to write a kind of same aspi manager for linux too.... but i need documentation too :)
My main goal with this project was to publish a free aspi without restrictions as the others ones :
- must have specific material (adaptec)
- can't use the aspi with writing softwares (ahead)
For these reasons I worked on the project.
Actually I try to create a dll which is compatible with a majority of ahead functions.
For the sources PM me with your email.
Regards
Nic
17th October 2005, 18:13
@Millenod:
That's why I created my ASPI emulator too. Writing one that would support win9x is hard, but as you say, who cares? ;)
I don't think I ever released it. I'd never heard of the akrip one, i'll read up on that too. If you ever want my C based one, let me know :)
Cheers,
-Nic
Millenod
17th October 2005, 18:32
If I had the time and knowledge, I will write an aspi for W9x...
But when I remember the work it was for my previous employer... I prefer using IOCTL.
And another reason :
If you have N cd softwares you have N aspi drivers loaded with windows...
how to you want to don't have conflicts...
So I thought the proper way, to don't corrupt the system was a library loaded when necessary.
I'm interested in your code too :)
and in th ecase you want to work with me on the project ;)
PS : i've sended you my codes.
Millenod
18th October 2005, 17:56
some changes...
- v0.21 (2005-10-18)
* Code optimization (100KB to 52KB)
* Mascot icon included in the dll
* Project now compiled with Delphi 2005
Millenod
17th November 2005, 22:15
aspi upgraded to v0.25.
see change log on the first message
ljpp
16th December 2005, 19:22
It seems (I am not 100% sure) that recording test DVD-Rs with Nero CD DVD Speed using FrogAspi (latest version available today) gives me write errors with my NEC 110D. Switched back to Nero ASPI and writing hasn't failed since.
Millenod
18th December 2005, 01:06
Ok, I'll study the problem.
The actual beta version (v0.29.4), available for testers, integrate many new improvement and compatibility :
- Events management
- Symantec Ghost 8 Bug Fix
- Paragon HardDisk Manager 6 Bug fix : Added compatibility with starwind Aspi
Millenod
18th December 2005, 20:23
finally v0.29.4 has been release to public.
i tested nero drive speed : it doesn't supports Nero Aspi or FrogAspi :S
For nero CD-Speed, many tests after the hollidays. For the moment, it's not my priority.
LoloMc
5th January 2006, 00:04
Hi Millenod
Your work could be VERY interesting for the ReactOS (http://www.reactos.org)
project !!!
Will you consider to contribute to this fantastic M$ Windows XP's clone ?
I already posted on the ReactOS forum, just to inform the developpers that someone is doing this job and "could" provide a free aspi. Maybe even he could open sourced it ????????
Please consider this way.
Regards,
NB : Je suis français, et ne parle pas franchement bien l'anglais. Ce sera peut être plus simple...!
Millenod
5th January 2006, 00:49
Bonjour LoloMc,
On m'avait déjà parler il y a quelque semaines de proposer mon travail au projet ReactOS.
Je ne vois pas d'objection à ce que reactOS utilise FrogAspi.
J'émet seulement quelques doutes.
- Je ne sais pas comment ReactOS gère les périphériques. Le moteur de détection que j'utilise est, dans la version actuelle, est assez proche du système, du fait de la conversion ASPI -> SPTI
Un autre problème : FrogAspi n'est pas open source, malgré la diffusion gratuite du projet.
Du fait du grand pillage des codes par de nombreuses sociétés, je souhaite rester maître de mon code.
Mais cela ne m'empêchera pas de travailler sur la future version de FrogAspi, avec d'autres programmeurs.
LoloMc
5th January 2006, 03:36
Salut Millenod,
Je comprends tes préocupations (légitimes) sur l'utilisation de ton code, à tel point que je n'essaierais même pas de t"en dissuader...(même si ça me démange!) :)
Malheureusement je présume que pour utiliser ton aspi dans ReactOS, il faudrait que celui ci soit open source...
Peut être qu'une "simple" version compilée, distribuée avec l'OS serait envisageable et/ou envisagée... A la condition minimale, que l'un d'entre eux lise au moins une fois le code... (Mais tu n'y sembles pas opposé)
M'enfin si tu changes d'avis ou si le succès de ton aspi n'est pas celui escompté et que tu ne veux pas le laisser dans l'oubli ;)
Pour ce qui est de sa capacité à fonctionner avec ReactOS : je ne doute pas que, ton aspi fonctionnant très bien sous M$, cela fonctionne. Ils écrivent une dll, la remplace sous Windows, et regarde si ça fonctionne. Il clone l'organisation totale de l'OS.
Sinon concernant tes tests, qu'est ce que je peux essayer ?
Je veux bien te tester une gravure d'iso GameCube avec NERO et une avec ImgBurn. Gamecube car la tolérance aux erreurs de gravure est la plus faible possible
@+
Millenod
5th January 2006, 17:53
J'ai laissé un messsage sur ton topic sur le site de ReactOS.
Pour les tests :
- renommer frogaspi en "wnaspi32.dll"
- faire un backup du fichier wnaspi32.dll que l'on va remplacer par frogaspi.
Sinon avec Nero 6.x ca passe. nero 7.x ne semble plus utiliser wnaspi32.dll
pour imgburn je ne l'ai pas testé. j'attends ton rapport :)
je ferais aussi des tests dans les semaines à venir.
merci pour ton aide
LoloMc
6th January 2006, 00:41
I send you a PM Millenod, please check
++
Henrikx
20th June 2007, 13:44
I replaced wnaspi32.dll (Windows XP) with FrogAspi (already renamed as wnaspi32.dll).
For example, ImgBurn works better with Frogaspi, than with the original. Did someone make similar experiences?
Try out!
http://www.frogaspi.org/
LIGHTNING UK!
22nd June 2007, 00:02
ImgBurn works best with SPTI, that's what I use day in, day out and so is the interface that undergoes all the testing.
Also, as FrogASPI is just an SPTI wrapper anyway, it's one more layer of code to slow the I/O down.
Henrikx
22nd June 2007, 08:44
@LIGHTNING UK!
Thanks for your answer !
Example: Sony DRU 710A Vebatim DVD+R makes only problems. With Frogaspi it works better.
Why ?
LIGHTNING UK!
26th June 2007, 18:40
I can't really answer that because you've not provided enough info.
Why were you using ASPI in the first place? Which ASPI implementation were you using before the FrogASPI one?
The I/O interface shouldn't make any different to burn quality or whatever, it's simply the road used to transport the commands from the software to the drive.
Henrikx
26th June 2007, 19:17
@LIGHTNING UK!
THX for answering !
Before FrogASPI = Aspi_v472a2 (Adaptec)
I don´t no why, but I have only trouble with SPTI.
SPTI with ImgBurn, makes broken each DVD RW.
(Prefer Properly Formated +RW = OUT)
SPTI with DVDFAB does not go also. DVDFab read again and again.(Same trouble with my DVD Reader)
SONY DRU 710A DMA = ON (Admin) XP SP2
Last Firmware, ORGINAL or Codeguys. Both the same trouble, with SPTI.
I can change Firmware to Lite-On 1653S, but the same.
Please do not understand wrongly, I do not criticize ImgBurn, only SPTI/ASPI.
LIGHTNING UK!
30th June 2007, 15:45
Define 'broken' ?!
Can ImgBurn not write+verify the discs you're using successfully? If the write+verify goes ok, there shouldn't be anything wrong with the disc.
What errors are you seeing when you say it's 'broken' ?
Henrikx
30th June 2007, 18:03
@LIGHTNING UK!
Define 'broken' ?!
Totally broken!
Can ImgBurn not write+verify
NO. Sectors defect.
The DVD RW was new
Also nero failed then to write+verify the broken DVDs.
The new DVD´s directly with nero , was not a problem.
Nero has its own Aspi driver.
So, it´s a problem with SPTI/ASPI...
I will buy at Monday new DVD RWs, new cables for Harddisk and DVD-Drive , then I can say details to you…
THX
Henrikx
3rd July 2007, 12:48
@LIGHTNING UK!
Cable changed. DVD reader clamped. (U-DMA 33) Sony DRU 710A (UDMA 66) + ImgBurn runs now with SPTI.
Write+verify was possible with TDK DVD +RW and Medion DVD +RW.
Tevion DVD +RW was defined as broken. (did not function ever) .
It functions only, without the DVD reader. Why ? I dont know ?
(First slave, second slave,Auto or UDMA 33, all the same trouble)
LigH
24th September 2007, 21:38
An LG GSA-H42N was not able to burn a DVD image via FrogASPI 0.29.4 and ImgBurn 2.3.2.0 - it stopped after 20 times "Power On, Reset, or Bus Device Reset Occurred"; I've uploaded an archive with logs (http://www.ligh.de/tmp/LG_ASPI_logs.zip).
An LG GSA-H54N made it after the 5th try.
No issues for both drives burning with SPTI.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.