Unterschiede CPC-Emulator zur Hardware

  • So, mal eben meinen Text aus dem Forum64 hier reinkopiert. :)


    Ich bastel gerade an meinem BASIC-Spiel herrum. Abgesehen von einem Bug im Z80-Code und "Bugs" im BASIC-Original, bin ich auf ein weiteres Problem mit dem WinCPC gestoßen.


    Wenn die Figur abstürzt, dann sollte eigentlich der Bildschirm wackeln. Ein Effekt den ich damals in einer Zeitschrift gesehen hatte und auf welchen ich das Spiel aufbaute.


    Nun ist es so, das NIX passiert wenn die Figur abstürzt. :motz:


    Auch im WinAPE passiert da nix. Jemand ne Idee woran sowas liegen kann?
    Kann ja nicht angehen das ich in BASIC einen Effekt hinbekomme, den dann ein simpler Emulator nicht schafft, der aber alle anderen Spiele schafft die es gibt.


    Nachtrag 1:
    Was für Möglichkeiten gibt es DSK-Files von und zum CPC zu bekommen? Auf 64er gibts da ja ne Menge Lösungen für. Wie sieht es bei anderen Systemen aus?


    Nachtrag 2:
    Zum Testen:


    Wackel an : out &bc00,8:out &bd00,1
    Wackel aus: out &bc00,8:out &bd00,2


    Ursprünglich hab ich das auf einen CPC 464 geschrieben. Geht aber auch mit meinem CPC 6128 den ich mittlerweile zuhause stehen habe.


    Nur in den Emulatoren nicht. :gruebel


    Nachtrag 3:
    CPCEMU kann das auch nicht? ?(

  • Verschieb doch einfach das komplette Bild hoch/runter. Über Register 7 glaube ich ging das. Siehe Link - da siehst Du auch die Vorgabe-Werte (damit Du dein Bild nach dem Schütteln wieder normal dargestellt bekommst) :-)

  • Ja, das sind eben diese Unzulänglichkeiten der damaligen Hardware, die man für solche Effekte ausgenutzt hat. Wenn die Emulatoren diese Unzulänglichkeiten nicht mit emulieren, gehen solche Sachen halt nicht...

  • Danke für den Hinweis. :thumbsup:


    Mit...


    Code
    10 out &bc00,7:out &bd00,32
    20 print "hallo"
    30 out &bc00,7:out &bd00,30


    bekomme ich ein ähnliches Ergebnis.
    Das PRINT muß da stehen, weil der Effekt sonst nicht zu sehen ist.

  • Ja, das sind eben diese Unzulänglichkeiten der damaligen Hardware, die man für solche Effekte ausgenutzt hat. Wenn die Emulatoren diese Unzulänglichkeiten nicht mit emulieren, gehen solche Sachen halt nicht...


    Ich dachte immer, Emulatoren wären so gut das sie selbst Unzulänglichkeiten und/oder Fehler Nachbilden können.
    Aber durch den Hinweis von Workaholic habe ich jetzt eine gute Alternative dafür gefunden.
    Da kann ich heute ja weiter basteln.

  • Mach statt PRINT lieber ein paar CALL &BD19 rein. Die Routine wartet 1x auf den Strahlrücklauf - damit synchronisiert Du dich quasi mit dem Bildschirm (damit kann man auch Flackern vermeiden, wenn man Bewegungen programmiert). Eventuell machst Du einfach mehrere CALL &BD19 hintereinander durch Doppelpunkt getrennt.


  • Ich dachte immer, Emulatoren wären so gut das sie selbst Unzulänglichkeiten und/oder Fehler Nachbilden können.


    Im Normalfall bemühen sie sich natürlich, andererseits will man ja auch nicht mit allen Schwächen weiterleben.
    Es mag zwar authentisch sein, wenn ein CPC-Emulator die Bildschirmausgabe auf dem PC-Fenster genauso unscharf darstellt wie der originale Monitor war und vieleicht auch das Flimmern nachbildet, aber die meisten Leute werden sich doch eher ein scharfes, flimmerfreies Bild wünschen (was sie vielleicht früher schon ersehnten ;) ). Und der Druckertreiber, der die Epson-Kommandos in die Windows-Druckerwarteschlange umsetzt muss auch nicht unbedingt das Geräusch eines 9-Nadeldruckers auf dem Dolby 5.1-Soundsystem des PC nachbilden...

  • Aber Emulatoren, die Floppymusik mit dem 1541 nachbilden sind schon wichtig - find ich 8-)
    Im Ernst, es hängt halt immer davon ob, was der Emulator emulieren soll. Ein anderes
    Extrembeispiel wäre, wenn man Anwendungssoftware weiterverwenden möchte. Da interessiert
    mich nichtmal die originale Ausführungsgeschwindigkeit - eher im Gegenteil.

  • Das ist in dem Fall richtig. DIe Ausführungsgeschwindigkeit von Anwendungssoftware darf sicher im Emulator schneller sein, bei Spielen sieht es schon anders aus. Nicht umsonst haben früher "IBM-Kompatible" PC einen "Turboschalter" gehabt, nicht um ihn schneller zu machen wenn man es eilig hatte (man hat ihn doch immer im "Turbo"-Modus betrieben" sondern um auch noch "Pacman" spielen zu können ohne nach Sekundenbruchteilen schon von den Monstern gefressen zu werden.
    Ein guter Emulator wird heute auch entsprechende Einstellmöglichkeiten haben.


    Es geht eben darum, was man will. Will man aus Nostalgie wie früher den Computer benutzen oder will man einfach die Anwendungen weiter verwenden?


    Gibt es denn C64-Emulatoren, auf denen man 1541-Floppymusik spielen kann?


  • Bischen ab vom Thema, aber das wird Dir bestimmt gefallen. ;)
    https://www.youtube.com/watch?v=dmoDLyiQYKw&x-yt-cl=85114404&x-yt-ts=1422579428


    Klasse...