Hallo Besucher, der Thread wurde 127k mal aufgerufen und enthält 933 Antworten

letzter Beitrag von AndiraC64 am

Sonic the Hedgehog für C64/128 mit REU

  • Du darfst aber nicht nach unten gedrückt halten, sondern musst loslassen, sobald du am kugeln bist.


    Sonst kommt am Ende der Rampe nur ein kleines Hüpferchen, statt dem Weitsprung.


    Je schneller, desto weiter geht es. Also am besten schon mit ein wenig Anlauf in die Rampe reinlaufen.

    Das wär natürlich super , wenn einige Leute bei Wikipedia (https://www.c64-wiki.de/wiki/Sonic_the_Hedgehog) das bei der Steuerung und mit Tips ergänzen würden.

  • Das wär natürlich super , wenn einige Leute bei Wikipedia (https://www.c64-wiki.de/wiki/Sonic_the_Hedgehog) das bei der Steuerung und mit Tips ergänzen würden.

    Den Artikel will ich ja noch ausbauen. Die Feinheiten der Steuerung sollten natürlich besser erklärt werden. Das darfst gerne auch du machen, ansonsten mache ich es früher oder später – eher früher :)

  • Ich vermute, dass der Fastloader den IEC-Bus während bestimmter kritischer Zyklen liest. Bei fastloading gibt es Zyklen, in denen der Bus nicht 100% zuverlässig gelesen werden kann. In VICE funktioniert es dann problemlos, und auf den meisten 1541ern funktioniert es auch, aber auf anderer Hardware, einschließlich der 1571, gibt es Probleme.

    Das wäre mir neu. Kannst Du das etwas ausführen? Was genau sorgt dafür, dass ein Zyklus (das wäre dann aber kein Taktzyklus einer der beiden Seiten?) auf dem IEC-Bus kritisch ist? Und dass das anscheinend nur bei Laufwerken außer der 1541 auftritt?

  • Beachtet dass root42 in seiner Signatur nur 1541er erwähnt, so dass ich vermute, dass das Problem definitiv auch bei 1541ern auftreten kann. Ich glaube das auch andere haben mitlerweile Probleme mit 1541s berichtet.


    Ich denke daß das Problem durch den Unterschied in der Taktrate zwischen C64 und 1541 verursacht wird (Untersuchungen sind nötig, um sicher zu sein). VICE ist taktgenau, d.h. 1 C64-Zyklus entspricht immer eine bestimmte1541-Zyklus. Die Taktzyklen sind aber synchron und Vice löst den Unterschied, durch die 1541 manchmal zwei Zyklen hintereinander ausführen zu lassen.


    In Wirklichkeit sind die Zyklen nicht synchron: Ein 1541-Zyklus kann in der Mitte eines C64-Zyklus beginnen. Es gibt also Zyklen, in denen der Status des IEC-Busses undefiniert ist und das Lesen des Busses einen random Wert ergibt. In VICE ist der Status des Busses immer definiert. Der Unterschied zwischen einer 1541 und einer anderen 1541 und auch der 1571 lässt sich möglicherweise durch eine unterschiedliche parasitäre Kapazität auf dem Bus erklären und möglicherweise auch durch kleine Unterschiede im Timing aufgrund der Verwendung von leicht unterschiedlicher 74xx-Chips.

  • Gefühlt haben Sie Sprites mehr als 4 Farben auch die Characterdaten. Ist das FLI ?

    Overlay Sprites, also mehr als ein Sprite übereinander. mrsid und v3to haben in diesem Thread verstreut schon ein wenig dazu geschrieben. Wenn du unten auf einer Seite bei "xxx Nutzer haben hier geschrieben" auf die entsprechenden Namen klickst, kannst du deren Beiträge hier in speziell diesem Thread gezielt durchsuchen.

  • Gefühlt haben Sie Sprites mehr als 4 Farben auch die Characterdaten. Ist das FLI ?

    Overlay Sprites, also mehr als ein Sprite übereinander. mrsid und v3to haben in diesem Thread verstreut schon ein wenig dazu geschrieben. Wenn du unten auf einer Seite bei "xxx Nutzer haben hier geschrieben" auf die entsprechenden Namen klickst, kannst du deren Beiträge hier in speziell diesem Thread gezielt durchsuchen.

    Mercie ! Das hab ich übersehen ! Danke nochmals, weisst jemand warum REU ? kann das nicht auf Easyflash auch gehen wenns nur um den RAM geht ?

  • In Wirklichkeit sind die Zyklen nicht synchron: Ein 1541-Zyklus kann in der Mitte eines C64-Zyklus beginnen. Es gibt also Zyklen, in denen der Status des IEC-Busses undefiniert ist und das Lesen des Busses einen random Wert ergibt. In VICE ist der Status des Busses immer definiert. Der Unterschied zwischen einer 1541 und einer anderen 1541 und auch der 1571 lässt sich möglicherweise durch eine unterschiedliche parasitäre Kapazität auf dem Bus erklären und möglicherweise auch durch kleine Unterschiede im Timing aufgrund der Verwendung von leicht unterschiedlicher 74xx-Chips.

    Asynchron laufende Uhren aller Busteilnehmer ist so ziemlich das zweite Problem, worüber man beim Eintippen eines Loaders stolpert und noch vor der ersten Release-Version löst. :)


    Dabei ist der Status des IEC-Busses aber nicht zufällig, sondern nur irgendein (analoger) Wert zwischen zwei wohldefinierten digitalen, wenn eine Leitung gerade umgeschaltet wurde, während gelesen wird.


    Wenn das hier das Problem ist, dann maximal nur, weil der relative Clock-Drift für bestimmte System-Konstellationen "da draußen" größer ist als in der Entwicklung und beim Testen (ja, beides auch auf echter Originalhardware) aufgetreten. Nicht allzu wahrscheinlich.


    Ich habe den Faden hier nur sporadisch verfolgt. Durch welche Beobachtungen kam dieser Verdacht auf?

  • Als Programmierer testet man natürlich hauptsächlich auf der eigenen Hardware, und auf dem Commodore 64 reicht das oft auch aus, aber in einige Fällen, wie in diesem, gibt es Toleranzen zwischen den Maschinen, und das ist bei Schnellladern sicherlich der Fall. Ich bin selbst auch darauf hereingefallen, als ich mit Schnellladeprogrammen zu tun hatte. Es scheint, dass die Daten beim Lesen beschädigt werden: Einige Dateien werden geladen, aber dann bleibt der Bildschirm schwarz. Dies stimmt mit dem Verlust einiger Bits überein und ist auch genau das gleiche Symptom, das damals mit dem Covert Bitops Fastloader auftrat.


    Wie auch immer, es ist kein Drama, das Spiel kann über den Compatloader gespielt werden. Frohe Weihnachten!

  • Als Programmierer testet man natürlich hauptsächlich auf der eigenen Hardware, und auf dem Commodore 64 reicht das oft auch aus, aber in einige Fällen, wie in diesem, gibt es Toleranzen zwischen den Maschinen, und das ist bei Schnellladern sicherlich der Fall. Ich bin selbst auch darauf hereingefallen, als ich mit Schnellladeprogrammen zu tun hatte. Es scheint, dass die Daten beim Lesen beschädigt werden: Einige Dateien werden geladen, aber dann bleibt der Bildschirm schwarz. Dies stimmt mit dem Verlust einiger Bits überein und ist auch genau das gleiche Symptom, das damals mit dem Covert Bitops Fastloader auftrat.


    Wie auch immer, es ist kein Drama, das Spiel kann über den Compatloader gespielt werden. Frohe Weihnachten!

    Der Loader läuft in mehreren Versionen aber schon seit etlichen Jahren in so einigen Produktionen und wurde natürlich nicht nur vom Erfinder beta-getestet.

    Das heißt jetzt natürlich nicht, dass Fehler oder Regressionen ausgeschlossen sind.


    "Lädt einige Dateien, aber dann bleibt der Bildschirm schwarz" ist jetzt eine relativ high-levelige Beobachtung.

    Das kann viele Gründe haben (auch außerhalb des Loaders selbst), und warum es die serielle Übertragung sein muss, erschließt sich mir erst mal noch nicht. :)


    Aber es gibt anscheinend einen Zusammenhang zum Laufwerks-Modell, ja? Wenn das Problem auftritt, dann meist auf der 1571, aber manchmal auf der 1541, mit der 1581 läuft es aber immer gut?