Quelltext /~heha/hs/lptdac.zip/LPTDAC.TXT

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-80