Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Diskussion zum Thema Programmierung unter DOS (Intel x86)
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1977
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Beitrag von ChrisR3tro »

Also ich bin jetzt nicht sicher wie das überhaupt funktioniert mit CD-ROMs an Soundkarten und ob die Controller auf den Karten überhaupt "IDE" sprechen. Hab' sowas auch noch nie gemacht. Funktionieren denn Standardtreiber wie der vide-cdd.sys + MSCDEX damit?
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3745
Registriert: Mi 24. Mai 2006, 20:29

Beitrag von Dosenware »

'tuerlich ist ja auch eine Atapischnittstelle - nur Festplatten koennen die AFAIK nicht (damit wird evtl. auch was aus dem IDE-Befehlssatz fehlen) - die ESS zumindest, da wird die Portadresse erst nach dem Post festgelegt, also keine Chance fuer das Bios da irgendwas zu initialisieren...

muesste mal testen ob Win eine Festplatte an der Soundkarte erkennt...

EDIT: also nssi erkennt eine Festplatte an der Soundkarte (sogar mit allen technischen daten)

gibts irgendwo einen Treiber der die kleine Initialisieren koennte?

EDIT2: COOL: Speedsys erkennt die auch

EDIT3: kann sie aber nicht benchen :cry:

Bild
siehe QS

EDIT4: W98SE erkennt das Plaettchen nicht...
EDIT5: was daran liegt, dass sie auf dem K6 ueberhaupt nicht erkannt wird...
EDIT6: - man sollte die Platte natuerlich auch am richtigen Kabel betreiben - dann klappts auch mit dem erkennen (unter 98SE) :roll:
und glatt mal mit Speedsys gebencht: Pio0, 755kb/s Linear Read und ganze 885kb/s buffered Read - ist irgendwie nicht so der bringer... dennoch: hat wer 'nen passenden Treiber?

Edit7: und grade ist hier eine 6,4Gb Platte zu 30Gb Platte mutiert...
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Bei den damaligen Soundkarten war sowas nicht dabei. Aber im Prinzip muesste ein allgemeiner IDE Treiber fuer einen 3ten IDE Controller gehen. Vielleicht ist da was bei Freedos dabei.

Viel mehr als PIO0 wirst du von der Soundkarte auch nicht bekommen. Ich glaube nicht, dass eine der Soundkarten mit CD-Anschluss auch DMA-Datentransfer leistet.
Hmm vielleicht die SB16 SCSI aber das ist eine andere Liga ;).

Vielleicht siehst Du auch eine Festplatte an der Soundkarte unter einem NT basierten OS. Da der Controller recht einfach gestrickt ist, gehen sicher auch Festplatten jenseits 128 GB.
Diverse Retro-Computer vorhanden.
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3745
Registriert: Mi 24. Mai 2006, 20:29

Beitrag von Dosenware »

PIO4 sollte schon drin sein - so langsam sind die CDLWs auch nicht...

nach einem generischen Treiber habe ich schon gesucht... bisher aber nichts gefunden...
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Dosenware hat geschrieben:PIO4 sollte schon drin sein - so langsam sind die CDLWs auch nicht...

nach einem generischen Treiber habe ich schon gesucht... bisher aber nichts gefunden...
Ok PIO4 koennte man mal setzen und schauen ob die Signale noch ohne Fehler kommen bei dem Takt.
Was die CD Laufwerke angeht, war doch etwa bei 6x schon Schluss bei denen, die an einer Soundkarte betrieben wurden.
Die proprietaeren wie Sony / Mitsumi / Panasonic bzw. Creative laufen auch alle im PIO Modus und die Laufwerke waren bis 4x Speed soweit ich mich entsinne noch fuer diese Schnittstellen verfuegbar.
Die Nachfolgende IDE Schnittstelle auf den Soundkarten war auch nur dafuer gedacht, dass die 386/486er User mit Multi I/O Karte mit einem IDE Kanal wo sie unter Umstaenden schon 2 HDDs laufen hatten noch einen weiteren IDE Kanal fuer das CD-ROM zur Verfuegung zu stellen.
Parallel zu den proprietaeren Laufwerken war SCSI sehr verbreitet, vielleicht auch weil die sich mit dem ATAPI Standard Zeit gelassen hatten.
Zumindest ist es aber so, dass irgendwann die Pentium Boards (Triton I) mit 2 IDE Kanaelen kamen, womit sich ein IDE CD-Laufwerk an der Soundkarte erledigt hatte. Ich denke, dass so die letzten IDE CD-Laufwerke an Soundkarten auf 486er Boards (oder Neptun Chipsets) 8x Laufwerke waren.

Die proprietaeren Schnittstellen haben heutzutage noch einen Sinn, weil man fuer ein altes proprietaeres Laufwerk nicht die extra ISA Controllerkarte benoetigt und somit einen Slot frei bekommt.
An den IDE Controller Karten, die bei ATAPI CD-ROMs dabei waren ist aber auch nicht viel dran: http://mail.lipsia.de/~enigma/neu/pics/ide_card.jpg
Diverse Retro-Computer vorhanden.
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3745
Registriert: Mi 24. Mai 2006, 20:29

Beitrag von Dosenware »

elianda hat geschrieben: An den IDE Controller Karten, die bei ATAPI CD-ROMs dabei waren ist aber auch nicht viel dran: http://mail.lipsia.de/~enigma/neu/pics/ide_card.jpg
*g* genau so ein Ding habe ich hier auch herumliegen...

muesste mal testen was mein 52x Laufwerk an der Soundkarte sagt...

EDIT: 950kb/s - schnell ist anders
oerg866
Norton Commander
Beiträge: 142
Registriert: Fr 30. Dez 2005, 10:42
Wohnort: Friedberg (Hessen)
Kontaktdaten:

Re: Laute 99x-CD-ROMs unter DOS - Hoffentlich Abhilfe!

Beitrag von oerg866 »

Hallo, die Links gehen nicht mehr :(
Discord: EricV#9999
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1977
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: Laute 99x-CD-ROMs unter DOS - Hoffentlich Abhilfe!

Beitrag von ChrisR3tro »

Örg hat geschrieben:Hallo, die Links gehen nicht mehr :(
Habe die Links gefixt.
acer85

Re: Laute 99x-CD-ROMs unter DOS - Hoffentlich Abhilfe!

Beitrag von acer85 »

Vielen Dank für dieses Programm, echt genial!

Ich nutze ein Lite-On LTR 52327S 52x Laufwerk welches ordentlich Krach macht... dank CDBQ schnurrt es nun wie ein Kätzchen auf 4x. :-)
Zwar muss ich nach jedem Öffnen der Schublade CDBQ erneut ausführen, aber das ist ja schnell erledigt.
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von freecrac »

Locutus hat geschrieben:0.7b Source
Ja das sieht sehr beindruckend gut aus, auch kann ich es rel. gut lesen.
Wie ich erkennen konnte wird der IDE-Controller über Port direkt angesprochen.
Ich selber habe mich davor immer gedrückt so etwas zu machen, aus der Sorge Daten zu verlieren.

Dirk
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1977
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von ChrisR3tro »

freecrac hat geschrieben:Wie ich erkennen konnte wird der IDE-Controller über Port direkt angesprochen.
Wie hast du es denn gemacht? Gibt es für Assembler etwa Libraries für sowas?
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von freecrac »

Locutus hat geschrieben:
freecrac hat geschrieben:Wie ich erkennen konnte wird der IDE-Controller über Port direkt angesprochen.
Wie hast du es denn gemacht? Gibt es für Assembler etwa Libraries für sowas?
Da bin ich überfragt, doch für Windows und dem MASM32-Projekt wird es so etwas bestimmt geben. Selber habe ich weder Makros noch Libraries je benutzt.

...

Dieses kleine Programm von mir das ich hierhin gepostet habe: http://www.dosforum.de/viewtopic.php?f= ... 317#p16317
öffnet/schliesst nur die Schublade vom CD-Laufwerk mit IOCTL AX=4403h und int 21h und über den CD-Rom-Treiber der vorher gesucht wird. (Nun habe ich dort eine betreffende Erklärung eingefügt, die fehlte bisher.)

Wie man ein CD-Laufwerk ausbremst beginne ich nun erstmalig von dir zu lernen. Ich habe mir die Listings von dir angeschaut und dann die betreffenden Stellen gefunden(Portzugriffe über 01F0h und 0170h ).
Für Datei-Operationen benutzte ich bisher nur Filehandle von DOS, damit kann man eigentlich nicht unbeabsichtigt die Platte löschen.
Bei Portzugriifen auf den Festplattencontroller sollte man wirklich wissen was man macht. Das habe ich bisher noch nicht gelernt.

...

Als ich damals ausschlieslich nur DOS verwendet habe benutzte ich ein CD-Laufwerk von Teac 8x. Das war immer sehr leise im Betrieb.

Dirk
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1977
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von ChrisR3tro »

@freecrac: Also grundsätzlich kann es schon sein, daß Daten kaputt gehen, wenn man die Register des IDE-Controllers direkt bearbeitet, aber selbst dann ist es noch unwahrscheinlich, weil man schon eine ganze Menge beachten muß, um die richtige Befehlsfolge dafür zu generieren. Das wäre schon ein ziemlicher Zufall wenn genau das Resultat dabei herauskäme.

Was dein Programm angeht: Du schreibst ja, du suchst den CD-ROM-Treiber. Gibt es irgendwo eine Referenz, welche Funktionen der CD-ROM-Treiber anbietet? Evtl. trägt er diese "SET CD SPEED"-Funktion ja nach außen und ich brauche gar nicht so hardware-nah zu programmieren. Meinst du mit "CD-ROM-Treiber" eigentlich MSCDEX oder den SYS-Treiber selbst?

Gruß,
locutus
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von freecrac »

Locutus hat geschrieben:@freecrac: Also grundsätzlich kann es schon sein, daß Daten kaputt gehen, wenn man die Register des IDE-Controllers direkt bearbeitet, aber selbst dann ist es noch unwahrscheinlich, weil man schon eine ganze Menge beachten muß, um die richtige Befehlsfolge dafür zu generieren. Das wäre schon ein ziemlicher Zufall wenn genau das Resultat dabei herauskäme.
Das klingt gut.
Was dein Programm angeht: Du schreibst ja, du suchst den CD-ROM-Treiber. Gibt es irgendwo eine Referenz, welche Funktionen der CD-ROM-Treiber anbietet?
Ich habe gestern mal im Internet danach gesucht und heute mein PC Intern 5 (Data Becker) danach durchgeschaut....
Evtl. trägt er diese "SET CD SPEED"-Funktion ja nach außen und ich brauche gar nicht so hardware-nah zu programmieren.
...doch leider keinen einzigen Hinweis darüber gefunden mit man die Laufwerksgeschwindigkeit (für ein CDROM unter DOS) einstellen kann.

Ich habe viele Beispiele gefunden die ebenfalls über IOCTL die Schublade öffnen und schließen.
Z.B. diese kleine Batchdatei von Todd Vargo:
http://groups.google.de/group/alt.msdos ... 07ccb40e2c

Code: Alles auswählen

echo OPEN "CDROM1" FOR OUTPUT AS #1>cdclopen.bas
echo PRINT "cdrom open/close util">>cdclopen.bas
echo DO UNTIL i$ = "x">>cdclopen.bas
echo INPUT "c/o/x"; i$>>cdclopen.bas
echo IF i$ = "c" THEN>>cdclopen.bas
echo IOCTL #1, CHR$(5)>>cdclopen.bas
echo ELSEIF i$ = "o" THEN>>cdclopen.bas
echo IOCTL #1, CHR$(0)>>cdclopen.bas
echo END IF>>cdclopen.bas
echo LOOP>>cdclopen.bas
echo SYSTEM>>>>cdclopen.bas
QBASIC /RUN CDclopen.BAS 
Meinst du mit "CD-ROM-Treiber" eigentlich MSCDEX oder den SYS-Treiber selbst?

Gruß,
locutus
Es wird dort der SYS-CDROM-Treiber gesucht, weil unter MSDEX finde ich keine solchen Funktionsnummern.

Dirk
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1977
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: Laute CD-Laufwerke unter DOS - Abhilfe mit CDBeQuiet!

Beitrag von ChrisR3tro »

Genau, im PC Intern 5 stehen ja alle MSCDEX-Funktionen. Dort habe ich nachgesehen und auch nichts brauchbares entdeckt. Der Ansatz, mit dem IDE-Controller direkt zu sprechen wird also erstmal weiterverfolgt. Was ich als nächstes machen will ist, IDE-Code und Programmcode zu trennen, also das Programm etwas modularisieren. Mal sehen wann ich dazu komme...
Antworten