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 ?
Hallo Besucher, der Thread wurde 4,4k mal aufgerufen und enthält 26 Antworten
letzter Beitrag von DrCreep am
-
-
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 20die 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 loopgruss,
tecM0 -
Super, genau solche kurze Abpsiel-Routinen habe ich gesucht!!!!
-
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 übereinEs 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 loopEs 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.
-
wenn die Musiken bei $1000 anfangen, kannst du sie beispielsweise mit folgenden Basiczeilen starten:
10 SYS 4096
11 FORX=1TO9:NEXT
12 SYS 4099:GOTO11 -
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
-
Hallo Champ!
Auch dir danke für deine Antwort
Allerdings auch diese Angaben:
10 SYS 4096
11 FORX=1TO9:NEXT
12 SYS 4099:GOTO11Nutzen 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 NachtMatze
-
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?
-
lass das LOAD"$",8 am anfang weg. oder tippe mal LIST um den fehler auf die schliche zu kommen.
-
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.
-
ich hab jetzt mal versuchsweise ein .sid als .dat gespeichert und im header war ganz normal 00 10 (=$1000). warum $1000-2 ?
-
Hmh, wenn das laut Header so ist, nehme ich alles zurück und behaupte das Gegenteil.
-
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
-
Kann das Programm vielleicht auch direkt von einem SD2IEC sid abspielen?
-
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
-