Pegasus-Sounds in Turbo-Basic?


Pegasus-Sounds in Turbo-Basic?

von Sleepy » Mi 7. Jul 2004, 23:27
Hi,

wer kann mir kurz beschreiben wie ich ein mit dem Pegasus Sound Monitor 2.09 erstelltes Musikstück unter Turbo Basic an´s laufen kriege?

Ich habe es mit dem Packer von Magazin 36 gepackt, mit der als Beispiel angegebenen Adresse $7800.

Unter TB habe ich das COM-File mt BLOAD geladen, und versucht mit A=USR(7800) zu starten - klappt leider nicht.

Die Anleitung zur Jahresgabe ist in dieser Hinsicht etwas übersichtlich ausgefallen (zumindest für einen Sound-Grünschnabel wie mich;-)

Wie geht´s?

Sleepy

Pegasus-Sounds in Turbo-Basic?

von The_Great_Loser » Do 8. Jul 2004, 20:16
Hallo Sleepy,

bevor ich ein Lied in ein Turbobasicprogramm eingebunden habe, habe ich vorher mit einem kleinen Programm geschaut an welcher Stelle ich genug Speicher für das Lied frei habe. Zuerst habe ich das Lied mt dem Packer auf die Adresse $0000 gepackt, um rauszufinden wie gross die Datei wird. Danach kann man ja ausrechnen wie viel Speicher das Lied braucht, indem man die Anzahl der Sektoren mal die Bytes pro Sektor nimmt. Das Ergebnis habe ich dann noch etwas aufgerundet und in das folgende Programm eingefügt

10 W=0:X= Aufgerundeter Speicherverbrauch für das Lied
15 FOR Q=0 TO $8000
20 IF PEEK(Q)=0 AND W=0 THEN E=Q:W=W+1:NEXT Q
25 IF PEEK(Q)=0 THEN W=W+1
30 IF PEEK(Q)<>0 THEN W=0
35 IF W=X THEN GR.0:? HEX$(E):END
40 ? HEX$(Q),PEEK(Q)
45 NEXT Q
50 ? \"ENDE DER SUCHE\":END

Die Speichersuche kann man in Zeile 15 noch nach eigenem Bedarf anpassen.

Wenn man das Programm durchlaufen lässt wird am Ende die Anfangsadresse angezeigt an der man das Lied dann packen kann. Falls \"ENDE DER SUCHE\" angezeigt wird ist nicht genügend Speicher für das Lied frei.

Alle Angaben ohne Gewähr. Bei mir hat es so jedenfalls bis jetzt immer geklappt.

Gruss

The Great Loser

Pegasus-Sounds in Turbo-Basic?

von Sleepy » Fr 9. Jul 2004, 06:41
vorredner hat geschrieben:...dass der Parameter vom USR-Befehl
eine Dezimalzahl und die Einsprungadresse der
Soundroutine Hexadezimal $7800 ist?? Muesste das
dann nicht A=USR(30720) heissen?


Hmpf, das wird´s wohl sein! :o
Ich habe tatsächlich die Ziffern des HEX-Wertes als Dezimalzahl eingegeben... Klar - das KANN nicht funktionieren!
Was für ein doofer Fehler:D

Keine Angst, ich haue doch keinen der versucht zu Helfen!;)

Das Prog ist eine nützliche Sache; ich hatte auch schon Überlegt wie ich überhaupt ein freies Stück Speicher ausfindig machen kann.

Dann werde ich am Wochenende mal sehen ob´s jetzt funzt!

Danke an Beide, Sleepy

Pegasus-Sounds in Turbo-Basic?

von Sleepy » Fr 9. Jul 2004, 16:04
vorredner hat geschrieben:Muesste das
dann nicht A=USR(30720) heissen?


Hi Martin

A=usr($7800) tut´s auch!

Jetzt läufts!
Danke!

Good Byte, Sleepy