LPTDAC.386: LPTDAC WaveOut Driver Version 1.0á
= SoundBlaster-Emulator auf LPTDAC-Basis f�r Windows und DOS-Boxen
- LPTDAC ð Digital-Analog-Umsetzer am Druckerport. Im einfachsten Fall
ein R-2R-Netzwerk ("16 singende Winderst„nde") im Donglegeh„use.
Auch bekannt als Covox(TM) Speech Thing oder Disney(TM) Sound Source
- Mein erster "groáer Fall" in Sachen 32-bit-, Protected-Mode- und
Ger„tetreiber-Programmierung. Ich wollte damit beweisen, daá auch auf
meinem 386/25 mehr als 1kHz "drin" sind. Ohne Kernelprogrammierung geht's
n„mlich 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 selbstverst„ndlich
Fehlende Funktionen in LPTDAC.386 Version 1.0á
- vollst„ndige Ger„tekonkurrenz-Behandlung
+ eine VM kann die Sample-Rate setzen und damit die andere VM beeinflussen
- Ger„tekonkurrenzbehandlung 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
+ Abw„rts-Z„hlrichtung
- CMS-Chipsatz-Funktionen
- AdLib-Funktionen
Erweiterte Funktionen
- Der DMA-Puffer kann eine 64-KB-Grenze �berschreiten
- Eine API erm”glicht die Ansteuerung des Treibers ohne die sonst
�blichen SB-"Klimmz�ge" und unterst�tzt Bl”cke > 64KB
In Zukunft
- Unterst�tzung 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 f�r Hard- noch Softwareschaden
Es handelt sich um ein "unreifes" Programm, das noch verbessert werden
m�áte, dazu l„uft mir aber die Zeit davon.
Installation
* Entweder regul„re 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 erg„nzen:
[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
Ge„ndertes seit letzter Version:
- Name des Treibers, da sich COVOX als ein amerikanischer Firmenname
herausstellte
- Dokumentation enthielt einen Fehler: der Treiber muáte 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
- Hinzugef�gte OEMSETUP.INF f�r 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
- f�r TASM eine ver„nderte VMM.INC, namentlich TVMM.INC
(Bezug direkt per email, da ”ffentliches Angebot im WWW problematisch.)
Detected encoding: ANSI (CP1252) | 4
|
|