LPTDAC.386: LPTDAC WaveOut Driver Version 1.0
= SoundBlaster-Emulator auf LPTDAC-Basis fr Windows und DOS-Boxen
- LPTDAC Digital-Analog-Umsetzer am Druckerport. Im einfachsten Fall
ein R-2R-Netzwerk ("16 singende Winderstnde") im Donglegehuse.
Auch bekannt als Covox(TM) Speech Thing oder Disney(TM) Sound Source
- Mein erster "groer Fall" in Sachen 32-bit-, Protected-Mode- und
Gertetreiber-Programmierung. Ich wollte damit beweisen, da auch auf
meinem 386/25 mehr als 1kHz "drin" sind. Ohne Kernelprogrammierung geht's
nmlich nicht (feste 8kHz von der Echtzeituhr ausgenommen)!
Erforderlich:
- 386 DX 25 (je schneller, desto besser)
- MS-Windows 3.1 Enhanced Mode oder Windows95 (NT, 2K, XP geht hiermit NICHT)
- das LPTDAC Speech Thing selbstverstndlich
Fehlende Funktionen in LPTDAC.386 Version 1.0
- vollstndige Gertekonkurrenz-Behandlung
+ eine VM kann die Sample-Rate setzen und damit die andere VM beeinflussen
- Gertekonkurrenzbehandlung beim Drucken ber dasselbe Port
+ Man sollte es daher vermeiden, gleichzeitig noch drucken zu wollen:-)
- einige API-Funktionen sind noch nicht implementiert
- Einstellbarkeit von SB-Port, -IRQ und -DMA-Kanal
Nicht emulierte Funktionen
- Einzel-Ausgabe
- Ausgabe komprimierter Daten
- Eingabe
- MIDI-Funktionen
- bestimmte DMA-Konfigurationen wie
+ zu kleiner oder unpassender DMA-Puffer
+ Abwrts-Zhlrichtung
- CMS-Chipsatz-Funktionen
- AdLib-Funktionen
Erweiterte Funktionen
- Der DMA-Puffer kann eine 64-KB-Grenze berschreiten
- Eine API ermglicht die Ansteuerung des Treibers ohne die sonst
blichen SB-"Klimmzge" und untersttzt Blcke > 64KB
In Zukunft
- Untersttzung von 2 DACs
- Emulierung der SoundBlaster Pro
- Eigener Windows-Treiber
- AdLib-Portadressen einer vorhandenen AdLib-Karte auf die SoundBlaster-
Adressen mappen
Garantien
- Ich bernehme keine Garantie, weder fr Hard- noch Softwareschaden
Es handelt sich um ein "unreifes" Programm, das noch verbessert werden
mte, dazu luft mir aber die Zeit davon.
Installation
* Entweder regulre Installation via OEMSETUP.INF
- Interrupt bevorzugt auf 5 (obwohl Vorgabe = 7) stellen
* oder von Hand:
- in die [386enh]-Sektion der SYSTEM.INI folgende Zeile:
device=LPTDAC.386 ;ggf. Pfad mit eintragen
- Ist das Port<>378h, dann folgende Zeilen ergnzen:
[LPTDAC]
port=xxx ;xxx=hexadezimale Portadresse
- in die [drivers]-Sektion den SB20SND.DRV eintragen:
wave=sb20snd.drv
- SoundBlaster-Treiber einstellen auf PORT220, IRQ5, DMA1,
oder (besser) sofort in der SYSTEM.INI eintragen:
[sndblst.drv]
port=220
int=5
dmachannel=1
- Windows starten
Autor
haftmann#software
Henrik Haftmann, Reichenhainer Str. 51 Zi. 105
email: henrik.haftmann@e-technik.tu-chemnitz.de
Neueste Version unter
http://www.tu-chemnitz.de/~heha/lptdac.zip
Gendertes seit letzter Version:
- Name des Treibers, da sich COVOX als ein amerikanischer Firmenname
herausstellte
- Dokumentation enthielt einen Fehler: der Treiber mute in die [drivers]-
Sektion (der SYSTEM.INI) eingetragen werden und NICHT in die [devices]-
Sektion (der WIN.INI).
- Die Emulationseinstellungen von LPTDAC richten sich nach der
[sndblst.drv]-Sektion in der SYSTEM.INI, dadurch keine Huddelei mit
falschem IRQ mehr
- Hinzugefgte OEMSETUP.INF fr einfachere Installation
Eigene Compilierung:
- Erforderlich ist "DDK-Lite", z.B. aus dem Buch
"Writing Windows Virtual Device Drivers" von D. Thielen und B. Woodruff.
- Dazu TASM oder (vielleicht auch) MASM
- fr TASM eine vernderte VMM.INC, namentlich TVMM.INC
(Bezug direkt per email, da ffentliches Angebot im WWW problematisch.)
Vorgefundene Kodierung: UTF-8 | 0
|