Autor Thema: Verdammtes Timing...  (Gelesen 5587 mal)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« am: 23. June 2005, 17:36 »
Mein Anliegen ist folgendes:

Ich habe mir laut einem Schaltplan einen DAC für den Parallelport (auch Covox Speech Thing genannt) gebastelt zur Soundausgabe für mein Notebook (486/33).
Da das Gerät keinen Puffer hat, muss ich also relativ timing-kritisch programmieren, um Originaltempo zu erhalten. Mein bisheriges Programm hatte kein Timing, lief etwas zu schnell. Dann habe ich die Handbremse gelöst (statt 1 Byte lese ich 64 auf einmal ein) und es war _viel_ zu schnell. Auf meinem Athlon hör ich garnix mehr :(
Darum möchte ich ein neues Prog schreiben mit Timing drin.

Meine Testdatei hat 8 Bit und 11.025 kHz (Mono). Liege ich richtig, wenn ich dann 11.025 Bytes je Sekunde auf den Parallelport schicken muss?
Einen Mod-Player (für DOS) kann ich mit bis zu 36 kHz benutzen, einen anderen bis 48 kHz. Unter Windows 3.1 schaffe ich nur 22 kHz, da ist dann wohl der Prozessor etwas zu träge (und MP3's sind fast ohne Aussetzer :roll:)

Ich vermute mal, dass ich einen Interrupt umbiegen müsste, wahrscheinlich den Timer-Interrupt. Leider kackt mir dabei immer der gesamte Rechner ab und ich habe keinen Schimmer, wieso...

Kann mir jemand ein Tutorial für Int-Verbiegereien (unter DOS) empfehlen oder sagen, wie man das korrekt angeht?
Ich vermute, dass ich irgendwie den Original-Int versaue.

Ach ja, Sprache ist Assembler mit NASM für DOS/16.

Sebastian

mastermesh

  • Beiträge: 341
    • Profil anzeigen
    • http://www.kostenloser-laptop.de/
Gespeichert
« Antwort #1 am: 23. June 2005, 18:24 »
Siehe Lowlevel/2, siehe OS-Dev Tutorial + Nachtrag

GhostCoder

  • Beiträge: 187
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 24. June 2005, 19:52 »
Hi,

zum Interrupt:
Also ich würde einfach...
...den Original Segment:Offset speichern,...
...dann überschreiben,...
... und nach deiner Int Routine einen Farjump auf den Original Handler machen.

Vielleicht hilft dir das: http://www.nondot.org/sabre/os/files/MiscHW/PIT.txt

Gruß GhostCoder
A man, a legend!

 

Einloggen