Ich habe an meinem eigenen Emulator für den CPC gearbeitet, mit einem starken Fokus auf Entwicklungs-Tools. Ich habe mich entschieden, ihn hier zu teilen, falls er für andere nützlich sein könnte
Ich will gar nicht so viel Text schreiben, aber im Wesentlichen:
in C/WASM geschrieben, läuft also im Browser
auch in Electron verpackt, daher ebenso als eigenständige App verfügbar (für Windows und Linux)
so entwickelt, dass er die meisten Shaker-Tests von Longshot für eine hohe Genauigkeit besteht
unterstützt CPC 464, 664, 6128, 464 Plus, 6128 Plus und GX4000
integrierter Bildkonverter, Sprite-Editor, Schriftarten-Editor und Paletten-Editor
Debugger mit Beam Tracer, Haltepunkten (Breakpoints), I/O-Haltepunkten sowie bedingten Haltepunkten
ein Profiler mit einer Speicher-Heatmap
ein Cartridge-Builder
ein integrierter Assembler-Editor, der direkt anzeigt, wie viele NOPs eine Anweisung benötigt
ein integrierter BASIC-Editor, um Code einfach zu extrahieren oder wieder einzufügen
ein integrierter Disk-Editor (Dateien oder Hex-Sektoren)
Danke! Ja, das war irgendwie schon immer etwas, das ich mir gewünscht habe, seit ich WinApe benutze, um endlich meine eigenen Raster-Effekte zu programmieren
Das ist eine wirklich gute Zusammenstellung von Tools, kombiniert in einer IDE und überall leicht verfügbar. Beeindruckend, was heutzutage im Browser alles möglich ist. Als WinAPE-Nutzer habe ich die meisten Dinge, die ich oft verwende, problemlos wiedergefunden.
Zum Testen habe ich neben den bereitgestellten Testprogrammen auch meine kleine Pre-Demo „circles“ verwendet, um zu sehen, ob die CRTC-Emulation wie erwartet funktioniert. Und das tut sie! Es gibt nur ein kleines Detail: Am unteren Bildschirmrand sehen die letzten vier Pixelzeilen nicht so aus, wie sie sollten. Es wirkt, als wäre das Bild um diese vier Pixelzeilen nach oben verschoben. Ich kann es zwar nicht auf echter Hardware testen, aber andere Emulatoren zeigen diesen Effekt nicht. Die Demo richtet genau 272 Pixelzeilen ein und kümmert sich nicht um die restlichen 40 Pixelzeilen. Irgendwie scheint der sichtbare Bereich etwas verschoben zu sein. Auf echter Hardware wird das möglicherweise vom Monitorrahmen verdeckt.
Beeindruckende Arbeit, Glückwunsch! Wenn du bitte nur noch ein paar Scrollbalken am Debugger-Fenster hinzufügen könntest, wäre das perfekt.
Der TV-Filter sieht besonders gut aus und entspricht wirklich dem, was ich damals hatte
Kurze Frage: Bei welchem CRTC hattest du das Problem? Ich sehe, dass es bei CRTC 3 völlig kaputt ist, mehr als nur ein paar Pixellinien Ich mache mich zuerst da ran.
Ja, ich habe auch einen kleinen Fehler bei Overscan-Bildern bemerkt. Es werden unten ein paar zusätzliche Zeilen angezeigt.
Dieses Bild ist 192x272. Ich füge den Quellcode bei, falls das hilft. Es scheint alle CRTC-Typen zu betreffen.
Ich habe das Problem mit CRTC 3 behoben, das ein völlig fehlerhaftes Bild angezeigt hat.
Ich konnte das Problem mit deinen fehlenden Zeilen reproduzieren – das riecht nach einem typischen Timing-Problem Ich schau mir das jetzt an, könnte da an etwas dran sein…
Ok, die 4 Zeilen sind weg, deine Karte wird jetzt perfekt angezeigt Vielen Dank für das Feedback und die Quellen, das hat sehr geholfen <3
Der Web-Emulator wurde aktualisiert und die Standalone-Version v1.1 neu gebaut (ich arbeite gerade noch an einem ordentlichen CI/CD- und Release-Prozess, deshalb helfe ich mir aktuell noch etwas hemdsärmelig weiter )
Jetzt mache ich mich wieder an die Arbeit am CRTC 2-Branch, weil mir da noch was Fieses aufgefallen ist
Dein Problem sollte mit der veröffentlichten Version (Web und Standalone) jetzt behoben sein. Gib mir gerne Bescheid, falls dir noch etwas Merkwürdiges auffällt, und vielen Dank für all die Infos und die Demo, die du bereitgestellt hast!