File: /~heha/hs/lptdac.zip/LPTDAC.TXT

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: OEM (CP437)1
Wrong umlauts? - Assume file is ANSI (CP1252) encoded