Plus/4-Mysterium: sd2iec-Crahses bei aktiviertem RAM-Zeichensatz

Es gibt 28 Antworten in diesem Thema, welches 4.478 mal aufgerufen wurde. Der letzte Beitrag (14. September 2019 um 19:15) ist von plus4.

  • Nein, st=0 ist der Normalfall. Wann immer st nicht gleich null ist, geht irgendwas auf dem Bus schief (Timeout, Device not ready...)

    (vielen, vielen Dank fürs Testen, übrigens!)

  • Fehlermeldungen hatte ich nicht. Es wurde nur das PRG beendet

    a. man sollte nicht alles glauben was man denkt

    b. nicht Wundern, sondern Staunen

    c. Computer helfen uns Probleme zu lösen die wir ohne sie nicht hätten !

    d. Manchmal muss man einfach eine Gesunde Portion Ignoranz an den Tag legen !

  • Ja, sorry, da hatte ich mich mißverständlich ausgedrückt; ich hab das Testprogramm auch nur schnell rausgehauen und nicht wirklich dokumentiert.

    Das oben in Deinem Screenshot (gread try 3 -> st is 66) ist eine Fehlermeldung.

    Im Normalfall sollte das einfach weiterlaufen. Aber st geht auf plötzlich 66, das ist timeout + end of file, was nicht passieren dürfte. Das zeigt, dass der Bus hohl dreht, wenn das RAM-Charset aktiviert ist.

  • Interessantes Problem... An der Busbelegung durch TED (und damit den für die CPU verfügbaren Zyklen) ändert sich ja nichts wenn man von ROM zu RAM umschaltet. TED erzeugt dann nur /CAS anstatt /CS für das ROM. Es sollte also keinen Unterschied machen.

  • Ich befürchte, es kommt noch besser... weil mir die Sache keine Ruhe ließ, hab ich es jetzt mal mit der Ultimate-II ausprobiert, welche die 1541 ja zyklengenau emuliert: Gleiches Ergebnis.

    :gruebel

    Bitte melde dich an, um diesen Anhang zu sehen.

    Ich dachte die ganze Zeit, es liegt an der plus/4 - sd2iec Kombi... aber so wie das aussieht, möchte ich beinahe wetten, dass mit einer richtigen 1541 genau das Gleiche passiert...

    Das würde aber heißen, der plus/4 hat grundsätzlich auf dem IEC-Bus ein Problem, wenn ein Zeichensatz bei $f000 liegt. Wie kann das sein, und ist es wirklich möglich, dass das noch nie vorher jemandem aufgefallen ist? Oder ist in meinem Testprogramm ein ganz enormer Denkfehler?

  • Update!

    Ok, das ist mir jetzt einigermaßen peinlich. Also zuallererst, vielen tausend Dank an alle die getestet haben.

    Die gute Nachricht: Eure Maschinen sind nicht kaputt, und meine war es auch nie, und es gibt auch keinen bislang noch nie entdeckten Fehler im Plus/4. Es gibt nur meine eigene, grenzenlose Dummheit.

    :aerger:

    Für diejenigen, die wissen wollen, was passiert:

    Eine frühe Version meines RPGs hatte eine kleine Routine, die einen Teil des Zeichensatzes mit eigenen Definitionen übeschreibt, um den Dungeon darzustellen. Die Berechnung, wo die Zeichensatzdaten hinmüssen, steht im Assembler-Quelltext als

    gamechars = ramchars + $400 + ($5b*8)

    wobei "ramchars" bei $f000 liegt (da, wo der kopierte Zeichensatz hinkommt).

    Dummerweise setze ich $ff13 aber dann beim Aktivieren des neuen Zeichensatzes nicht auf das highbyte von "ramchars", sondern auf das highbyte von "gamechars".

    Dieses lautet aber $f6 ($f000 + $400 + $2d8 = $f6d8), womit in $ff13 Bit 1 gesetzt wird, was wiederum den TED in den "Single Clock Mode" haut, was schließlich das IEC-Timing gehörig durcheinander schüttelt.

    (und genau so tut es auch meine Testroutine im Testprogramm, weil die 1:1 aus dem Spiel kopiert ist).

    Aaaargh, ich könnt' mich hauen!!!

    Also, nochmals, vielen vielen Dank fürs Testen, und nichts für ungut, und an alle die mitgemacht haben: Sobald mein Game fertig ist, bekommt ihr eine Version mit Widmung ;)

  • Solche Fauxpas sind uns doch alle schon passiert :D

    Also, nochmals, vielen vielen Dank fürs Testen, und nichts für ungut, und an alle die mitgemacht haben: Sobald mein Game fertig ist, bekommt ihr eine Version mit Widmung ;)

    Wir werden dich definitiv daran erinnern! ;)

    Kannst du denn schon etwas zum geplanten Spiel erzählen, eventuell sogar schon etwas zeigen?

    "I refuse to join any club that would have me as a member."

    -Groucho Marx-

  • Zitat

    Wir werden dich definitiv daran erinnern! ;)

    Sehr gerne :)

    Zitat

    Kannst du denn schon etwas zum geplanten Spiel erzählen, eventuell sogar schon etwas zeigen?

    Das Ganze wird ein klassisches RPG; von der Engine her angelehnt an die "Bitte melde dich an, um diesen Link zu sehen."-Reihe, aber mit einer modernen Toolchain inkl. Map-Editor und Dungeon-Compiler. Mein Hauptaugenmerk liegt gerade darauf, vernünftige Tools und eine stabile Engine an den Start zu bringen, um ohne allzu großen Aufwand eine gute Story implementieren zu können.

    Grafisch ist noch nicht allzu viel da, das Ganze ist sehr work-in-progress... wirklich spielbar wird das frühestens im Winter sein... aber es ist Open Source, jeder kann reinschauen wenn er mag :)

    Bitte melde dich an, um diesen Link zu sehen.

    Unten im readme.md gibt's auch ein paar Screenshots ;)

  • da wünsche ich dir weiterhin viel Spaß beim programmieren.

    Manchmal ist man einfach zu sehr fixiert um das eigentliche Problem zu sehen.

    Bin schon gespannt auf das Spiel

    :thumbup:

    a. man sollte nicht alles glauben was man denkt

    b. nicht Wundern, sondern Staunen

    c. Computer helfen uns Probleme zu lösen die wir ohne sie nicht hätten !

    d. Manchmal muss man einfach eine Gesunde Portion Ignoranz an den Tag legen !