CPC Workbench

Hallo zusammen! :slight_smile:

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 :wink:

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)

Hier ist er: https://cpcworkbench.gradew.net

Lasst mich wissen, was ihr denkt :wink:

14 „Gefällt mir“

Einige nette Features wie das NOP-Display! :+1:

1 „Gefällt mir“

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 :wink:

Sieht ziemlich cool aus, aber mein GX4000-Spiel läuft darauf nicht:

Ronald In The Maze (GX4000) - Games! - CPCWiki

Das läuft in Arnold und Retro Virtual Machine.

Wäre echt klasse, wenn das noch eingebaut werden könnte! :slight_smile:

Dabzy

1 „Gefällt mir“

Danke für das Feedback, ich mache mich sofort dran! :smiley:

Du meinst, du kriegst es nicht gestartet? Denn hier scheint es problemlos zu laufen:

Ich habe es über Machine>Cartridge geladen

Könnte das dasselbe Problem sein, auf das ich beim Spielen auf cpcec gestoßen bin und unter Ronald In The Maze (GX4000) - #5 by cpcitor gemeldet habe?

1 „Gefällt mir“

Mmmm… Es wollte nicht starten… Ich versuche es noch mal! :slight_smile:

EDIT: Tja, es ist gelaufen… Aber es zeichnet die Hardware-Sprites nicht (Ronald und die Gegner) :slight_smile:

Dabzy

2 „Gefällt mir“

Alles klar, ich sehe mir das an!

2 „Gefällt mir“

Upps, mein Fehler :smiley: Ich habe den Bug behoben, die Sprites werden jetzt korrekt angezeigt.

Danke für diese ROM, sie ist für zwei Dinge echt super:

  • Bugs vernichten
  • macht mir richtig Lust, es zu spielen :smiley:
3 „Gefällt mir“

Super! :slight_smile:

Freut mich, dass Ronald helfen konnte! :wink: hehehe

Dabzy

2 „Gefällt mir“

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.

1 „Gefällt mir“

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 :clap:

1 „Gefällt mir“

Danke für das Feedback!
Diese Demo ist wirklich wieder eine Goldgrube für mich, ich mache mich sofort an die Arbeit :slight_smile:

Danke für das Feedback!

Guter Punkt mit den Bildlaufleisten, warum bin ich da nicht drauf gekommen… :smiley:

Ich habe sie gerade hinzugefügt, du solltest sie jetzt sehen können (sowohl Web als auch Standalone).

1 „Gefällt mir“

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 :smiley: 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.

MAP.asm (108,6 KB)

1 „Gefällt mir“

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 :slight_smile: Ich schau mir das jetzt an, könnte da an etwas dran sein…

2 „Gefällt mir“

Ok, die 4 Zeilen sind weg, deine Karte wird jetzt perfekt angezeigt :slight_smile: 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 :stuck_out_tongue:)

Jetzt mache ich mich wieder an die Arbeit am CRTC 2-Branch, weil mir da noch was Fieses aufgefallen ist :smiley:

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!

1 „Gefällt mir“