Unter Basic/Asm : SID files anhören?

  • Wie lauten die Befehle um ein herkömmliches SID (zuerst in ein *.dat verwandelt) unter Basic zu starten ($1000, $1003). Das ganze muss nicht stabil laufen.
    (Ganz Nebenbei: Nein PSID64 will ich in diesem Fall nicht benutzen)
    Kennt jedmand zufällig eine Art tutorial wo man diverse Abspiellarten verschiedentster tunes in Basic oder Assembler lernt ?

  • wenn die tunes init:$1000 und play:$1003 haben kannst du's mal mit folgendem probieren:


    10 sys$1000
    20 sys$1003
    30 for q=0 to 10: next q
    40 goto 20


    die forNext musst du noch auf den richtigen "speed" timen.



    oder schnell im monitor:


    lda #00
    jsr $1000
    sei
    loop
    lda #$80
    cmp $d012
    bne *-3
    inc $d020
    jsr$1003
    dec $d020
    jmp loop


    gruss,
    tecM0

  • Hallöchen!


    Hab da mal ne Frage, da ich ja demnächst nen Cevi bekomme mit dem ich dutzende von Sidsongs auf die einfachste aber korrekteste Art und Weise abspielen möchte.


    Bin ich mal dem Beispiel von "TecM0" im Emulator nachgegangen, zunächst erstellte ich ein D64 Image auf dem ich eine *.dat Datei, welche vorher eine Sid war, importiert habe, nun liegt mir also ein D64 Datei / Diskettenimage vor, welche die Datei -> Sunflex.dat prg beinhaltet, im Basic Fenster (emulator) habe ich den Disketteninhalt also erfolgreich eingelesen.


    Ich habe sogar die Datei "Sunflex.dat" mit dem Befehl LOAD"SUNFLEX.DAT",8 erfolgreich geladen aber was dann?


    Nun ist die Frage wie ich mit Hilfe der folgenden Befehle:


    10 sys$1000
    20 sys$1003
    30 for q=0 to 10: next q
    40 goto 20


    ..den Song starte? da passiert ja nichts wenn man das alles eingibt, was fehlt noch wichtiges?
    Die Init und Play Adressen stimmen bei dieser Sid überein


    Es geht mir hier einfach nur um einen Test, wie ich die Dat Datei starte und eventuell den Song hören könnte, vorallem später auf dem realen C64 schonmal einige Befehle und umgang mit grundlegenden Befehlen in Basic.


    Die andere alternative ist mir ebenso ein Rätsel, ich kann im Emulator bequem das "Monitorfenster" öffnen allerdings ist dort das gleiche Problem, was nutzen mir die folgenden Befehle...wie gebe ich sie ein, der Monitor gibt eine Fehlermeldung heraus.Wobei das mit der Alternative "Monitor" jetzt keine so große Rolle spielen soll, eher das mit dem in Basic einzugebenen Befehlen und starten und abspielen des Songs




    lda #00
    jsr $1000
    sei
    loop
    lda #$80
    cmp $d012
    bne *-3
    inc $d020
    jsr$1003
    dec $d020
    jmp loop


    Es grüßt


    Der Matze

  • LOAD"MUZAK.DAT",8,1


    die init und play adresse musst du, sofern du das nicht schon getan hast, auf dezimal umrechnen, also SYS4096. c64 basic kann kein hex.


    es gibt aber sicher komfortablere methoden um sich sids anzuhören, leider streikt csdb bei mir gerade.

  • Hey zerozillion!


    Fummle gerade im Emulator mit dem kleinen Programm "RealSid" herum, das entprechende *.prg File hab ich in eine D64 Datei getan und im Emulator attached, allerdings klappt das irgendwie nicht...


    Jetzt zum Thema, du meinst:


    LOAD"MUZAK.DAT",8,1 <--diese Eingabe ohne diese Befehle? Wenn die Befehle -> ja, wann und wie?


    Und mit welchem Faktor muß ich was nochmal umrechnen? Was hat es mit "sys4096"auf sich?


    Nette Grüße, ich fummle indess mit dem RealSid Programm herum


    Hier das Dokument über das Programm


    ftp://ftp.pitt.edu/software/cb…o/players/RealSIDPlay.doc

  • Hallo Champ!


    Auch dir danke für deine Antwort


    Allerdings auch diese Angaben:


    10 SYS 4096
    11 FORX=1TO9:NEXT
    12 SYS 4099:GOTO11


    Nutzen mir aktuell noch immer nichts, ich habe eben folgendes eingegeben:


    load"sunflex.dat",8


    SEARCHING FOR SUNFLEX.DAT
    LOADING
    READY


    ...und jetzt würde ich, hatte ich:


    10 SYS 4096
    11 FORX=1TO9:NEXT
    12 SYS 4099:GOTO11 .......eingegeben, passiert aber nix ?!


    Gruß Matze

  • eigentlich müsste das kleine Basic-Programm das abspielen, wenn der Tune bei $1000 anfängt, den du reinlädst, versuche es doch einfach mal mit einem anderen.. es könnte auch sein, weil du das Musikstück nur mit ,8 geladen hast, versuche es mal mit ,8,1

  • mit LOAD"PROGRAMM",8 lädst du das programm immer nach 2048 ($800), den anfang für basicprogramme. mit LOAD"PROGRAMM",8,1 lädst du absolut, d.h. an die adresse die in den ersten zwei bytes der datei enthalten sind. also in dem fall 4096 (eben $1000). du musst das .dat sidfile auf jeden fall absolut laden damit es dann richtig im speicher steht und von basic aus angesprungen werden kann. siehe: http://www.c64-wiki.de/index.php/LOAD


    computer arbeiten hexadezimal. also beim c64, der einen 16bit breiten adressbus hat, kann man daten in einem bereich von $0000 bis $FFFF lesen/schreiben, was dezimal 0 bis 65535 entspricht. das sind zwei verschiedene zahlensysteme, nix faktor. siehe: http://de.wikipedia.org/wiki/Hexadezimalsystem


    ich hoffe ich konnte alle klarheiten beseitigen ;)

  • Hallo Zerozillon!


    Danke für die Info, ich werd mich mal morgen belesen. Was das grundlegende angeht mit dem Laden in einen gewissen Speicherbereich.


    Ich wollte hier gerade ein Screenshot einfügen aber vom Bilder Host Image(shack), wieso ist das zensiert?
    Ansonsten muß ich jetzt ins Bett, allen eine Gute Nacht :)


    Matze

  • Guten Morgen!


    Jetzt hab ich mal, von dem was ich in Basic eingebe, ein Screenshot erstellt, bisher weiß ich immer noch nicht wie ich das umsetze.


    Die einfache und kurze Frage an dieser Stelle, was ist dort genau falsch? Sollte an der Stelle keiner meine Eingaben falsch sein, ist es vielleicht die *.dat Datei -> sunflex.dat selbst die einen Fehler beherbergt.


    Man erinnert sich, ich habe die Original Sid Datei sunflex.sid in Sidplay2 als eine *.dat Datei -> sunreflex.dat abgespeichert und mit dem Programm "D64 Editor, bequem in eine Blanke D64 Datei importiert, die Datei abgespeichert und im Emulator wie auf dem Screenshot abgebildet / zu sehen geladen, was ist an dieser Stelle zu verbessern? :)



    Es grüßt


    Matthias#


    PS:Wie fügt man Bilder ein, die nicht nur Thumbnails darstellen sondern in einer Größe erscheinen, die man nicht mit der Lupe suchen oder müheselig durch einen Klick vergrößern muss?

  • Geht halt auch nicht mit jedem beliebigen SID, sondern nur mit denen, die bei $1000 geladen werden. Schnelle Info kriegt man über Sid2Play--> Eigenschaften über die Adressen des jeweiligen SIDs. Ach ja, und beim Kovertieren zu .DAT per Sid2Play war glaube ich noch irgendwas mit den ersten 2 Bytes zu berücksichtigen. IIRC werden diese Teile dämlicherweise nicht nach $1000, sondern nach $1000-2 geladen. :winke:

  • Hallo :)


    Danke erneut für eure Antworten, der Song Sunflex.sid bzw Sunflex.dat hat, wie ich zuvor bereits schon überprüfte, Folgende Init und Playadress:



    Zerozillion du meintest -> "


    lass das LOAD"$",8 am anfang weg. oder tippe mal LIST um den fehler auf die schliche zu kommen."


    Wie meinst du das, "LIST" eingeben, natürlich könnte ich LIST eingeben, das habe ich sogar schon mehrere male gemacht um den Disketteninhalt einzusehen aber dort sehe ich ja dann die Sunflex.dat prg und die für Testzwecke befindlichen Sid Songs, zum abspielen etweder über Basic mit den diesen Befehlen 10 SYS 4096
    11 FORX=1TO9:NEXT
    12 SYS 4099:GOTO11, wo ich noch hoffe Antworten zu finden wie man das richtig handhabt?!
    Und als weitere eigentlich simple Variante, das benutzen einer C64 Software, in dem Fall das kleine Programm RealsidPlay, welche ich zumindest schon erfolgreich geladen habe.



    Dieses kleine C64 Programme "Realsid", welches mir als PRG Datei vorliegt, wo ich bereits einfach mal so probierte einfach damit Sidsongs abzuspielen, welche ich in ein D64 Image importiert habe, auf diesem D64 Image befindet sich dann auch das PRG File, welches ich von Basic aus per LOAD prozedur starten kann, allerdings schaffte ich es bisher kein SID Song mit diesem Player zu starten.


    Obwohl eigentlich es relativ einfach beschrieben in dieser DOC Datei beschrieben steht:


    ftp://ftp.pitt.edu/software/cbm/funet/cbm/c64/audio/players/RealSIDPlay.doc




    Falls einer Lust hat auch mal zu probieren ob das bei ihm geht, dann ist hier der Link zum Download


    ftp://ftp.pitt.edu/software/cbm/funet/cbm/c64/audio/players/RealSIDPlay_v2.20.prg


    Appropos prg Files gibts da im Emulator irgendetwas zu beachten, wenn ich Dateien auf eine Diskette schreibe, scheint jede Datei die Dateierweiterung PRG zu erhalten?!


    Mal sehen ich wann ich es schaffe entweder mit der manuellen Eingabe eine Dat Sid zu starten oder man sollte annehmen, mit der leichteren Lösung, einem C64 Sid Player, in diesem Fall "RealPlaySid" einen Psid Song zu starten ;)

  • Hallo Der Schatten!


    Was meinst du mit "SD2IEC" und welches Programm meinst du, RealSidplay?


    Ich versuche auch für Testzwecke diverse Sid Abspielmöglichkeiten für mich zu entdecken und da der reale C64 noch nicht da ist, kann es nicht schaden schonmal im Emulator grundlegende Dinge zu lernen, zu verstehen.


    Ich muß verstehen lernen wie ich Anwendersoftware auf dem C64 richtig laden und benutzen kann.Das ist längst nicht wie DOS, so bequem, mit dem ich groß geworden bin ;)


    Aber ich mag manuelle Eingaben, das hat was :)


    Matze