Hallo NG, mein 6510 Emulator ist jetzt nahezu fertig. Habe auch schon mal einen Vergleich zwischen C64 und dem Emulator (AT91SAM7S256) gemacht. Für ein Assemblerprogramm, wo der C64 1,5 Min benötigt, braucht der Emulator 1 Min. Es wird aktuell noch nicht auf die jeweils aktuellen Clockcycles "gewartet". Diese werden aber schon berechnet. Jetzt muss ich es irgendwie schaffen, mit der restlichen Zeit die Anbindung an den SID 6581 zu schaffen. Wie würdet ihr denn da vorgehen? Ich habe mir das so vorgestellt: (vereinfacht ohne gespiegelte Adressen) wenn ein Speicherzugriff (lesend oder schreiben) auf D400-D400+27 stattfindet, muss ich die Adressleitungen, Datenleitungen usw setzen. Aber wie genau gehe ich da vor? der SID erwartet ja auch einen - ich denke mal rel. konstanten - Takt von rund 1MHz... Danke für jeden Tip! Peter
>wenn ein Speicherzugriff (lesend oder schreiben) auf D400-D400+27 >stattfindet, muss ich die Adressleitungen, Datenleitungen usw setzen. >Aber wie genau gehe ich da vor? guckst du hier: http://www.htu.tugraz.at/~herwig/c64/sid.php am ende der seite findest du ein timing diagramm aber mal eine frage meienrseits: wie hast du den den sid angeschaltet? >der SID erwartet ja auch einen - ich >denke mal rel. konstanten - Takt von rund 1MHz... den kannst du mit dem at91sam7s256 erzeugen, guckst du im datenbaltt unter kapitel "Programmable Clock Output Controller". unte folgendem link findest du auch noch einen hinweis worauf du bei der takterzeugung aufpassen mußt: http://www.midibox.org/forum/index.php?topic=5748.0 und hier noch ein paar links mit interessanten infos zum sid: http://www.ucapps.de/ http://msc175.de/module/sid6581.htm gruss gerhard
Hallo Gerhard, also zunächst mal danke für den Link! Ich denke, damit kann ich schon mal was anfangen... >aber mal eine frage meienrseits: >wie hast du den den sid angeschaltet? ...das verstehe ich nicht, was meinst Du mit "angeschaltet"?
Er meint: Wie hast du den SID mit dem Controller verbunden (Schaltplan) ?
>Er meint: Wie hast du den SID mit dem Controller verbunden (Schaltplan) >? Noch gar nicht. Ich dachte, das geht aus meinem ersten Posting hervor: ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ SCHNIPP Jetzt muss ich es irgendwie schaffen, mit der restlichen Zeit die Anbindung an den SID 6581 zu schaffen. Wie würdet ihr denn da vorgehen? Ich habe mir das so vorgestellt: ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ SCHNAPP Ich würde halt für die Adressleitungen (4) Datenleitungen (8) CS (1) RW (1) ------------------------- = 14 Port-Pins ========================= vom ARM vorsehen. Habe extra wenig angeschlossen und die "sparvariante" des HD44780 verwendet. Wollteeigentlich mit dem Posting ein wenig über die vorgehensweise erfahren, wie ich das Teil einbinde. Im Emulator wird ja an mehreren Stellen auf den Speicher zugegriffen. Das kann lesend, als auch schreibend passieren. z.B. STA $D400 -> Akkumulatorinhalt an D400 schreiben. Jetzt ist es aber so, dass mit dem jeweiligen Befehl ja nur in den Speicher des ARM geschrieben wird. Ich muss aber in dem Fall alles, was zwischem $D400 und $D41C in den Speicher geschrieben wird an den SID "schicken". (im ARM wäre das natürlich an 0x020D400 zu finden). Mit dem Lesen sollte es dann natürlich so sein, dass wenn z.B. LDA $D400 gewünscht ist das Register vom SID ausgelesen wird und dann in dem Speicher des ARM landet, damit der Emulator später damit "weiterrechnen" kann...
Weiß jemand zufällig, wie Takt-tollerant der SID ist, wenn man davon ausgeht, die mindest-Timings einzuhalten? Also sprich: wenn ich die Leitungen gesetzt habe, kann ich dann auch eine Sekunde später Daten abholen bzw. schreiben? Der HD44780 ist da ja äußerst tollerant. Da kann man ja nahezu in jeder Geschwindigkeit > min schreiben...
> ..Vergleich zwischen C64 und dem Emulator (AT91SAM7S256) gemacht. Für ein > Assemblerprogramm, wo der C64 1,5 Min benötigt, braucht der Emulator 1 > Min. habe noch ein bischen optimieren können. Jetzt benötigt er z.Zt. 40 Sek! Hat nicht vielleicht noch jemand etwas zum Thema SID-Timing zu sagen/schreiben?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.