Tiny Emulators – Sammlung kleiner Emulatoren
(floooh.github.io)- Von klassischen CPUs über 8-Bit-Computer bis hin zu Arcade-Systemen sind Emulator-Seiten an einem Ort versammelt, auf denen sich die Software der jeweiligen Systeme sofort ausführen lässt
- Neben Visual 6502 Remix und Visual Z80 Remix werden verschiedene Systeme wie Amstrad CPC, ZX Spectrum, Commodore, Acorn Atom und die Robotron-Familie angeboten
- Über die URL-Parameter
type,file,input,joystick,expundmodlassen sich Systemtyp und Disk-Image, anfängliche Eingaben, Joystick, RAM-Erweiterung und Modulkonfiguration festlegen - Enthalten sind BASIC, FORTH, ASMDEV, CP/M 2.2 sowie zahlreiche Demos und Spiele für CPC, C64, VIC-20 und KC85; Werke wie Boulderdash lassen sich als Versionen für mehrere Systeme direkt vergleichen und ausführen
- Einige Einträge erfordern Starttasten oder Befehlseingaben sowie die Auswahl eines Joysticks, und bei Demoizart gibt es eine Stroboskop-Warnung, daher sollten die Ausführungsbedingungen mit geprüft werden
Visualisierung der CPU-Funktionsweise
- Visual 6502 Remix: 6502-Visualisierung
- Visual Z80 Remix: Z80-Visualisierung
Unterstützte Computer-Emulatoren
-
Amstrad-Familie
-
ZX-Spectrum-Familie
-
Commodore-Familie
-
Weitere Systeme
- Acorn Atom
- LC-80
- Robotron Z1013
- Robotron Z9001: Enthält BASIC und ein RAM-Modul
- Robotron KC87: Nach dem Start von BASIC Enter drücken
Sprachen und Entwicklungsumgebungen
- FORTH for KC85/4: Legt das Modul M026, das Image
forth.853und anfängliche Befehlseingaben fest - FORTH for Z1013: Läuft in der Z1013-64KB-Konfiguration
- BASIC for Z1013: Verwendet die Z1013-64KB-Konfiguration und
kc_basic.z80 - ASMDEV for KC85/4: Legt das Modul M027, das Image
develop.853und anfängliche Befehle fest - CP/M 2.2 for CPC: Lädt
6128sp_4.dskund gibt danach|cpmein
Amstrad-CPC-Demos
-
Frühe CPC-Demos
- DTC
- Tire Au Flan: Zum Fortfahren
Spacedrücken - Wolfenstrad
- Byte'98
- Ecole Buissonniere
- Demoizart: mit Stroboskop-Warnung
- Logon's Run
- YAP!
- Backtro
- Isometrikum
-
Weitere CPC-Demos
- SotB Demo:
Preview 1auswählen und dannSpacedrücken - Points Barres: Zum Fortfahren
Spacedrücken - Still Rising
- Octopus Pocus
- Gloire a Piou!
- phX / Condense
- Batman Forever
- CRTC
- Wunderbar
- Phortem
- Pheelone
- Phreaks
- Phat 2
- Wobbler
- Battro
- SotB Demo:
Commodore-C64- und VIC-20-Demos
-
C64-Demos
-
VIC-20-Demos
- PPY: verwendet die Erweiterung
maxram - Muna.Paluu: verwendet die 8-KB-RAM-Erweiterung
- PPY: verwendet die Erweiterung
KC85-Demos und -Spiele
-
KC85/4-Demos
-
KC85/3-Spiele
- Digger: verwendet das Modul M022
- Jungle: verwendet das Modul M022
- Pengo
- House
- Cave
- Alternative Version von Cave: eine bessere alternative Version
- Labyrinth
- Pacman: gibt
PACMANautomatisch ein - Ladder: gibt
LADDERautomatisch ein - Mad Breakin: verwendet das Modul M022
-
KC85/4-Spiele
- Chess: gibt
CHESSautomatisch ein - Enterprise
- Tetris
- Sokoban
- Chess: gibt
Spiele für mehrere Systeme
-
Boulderdash
-
Bomb Jack
-
Cybernoid
-
Arkanoid-Reihe
- Arkanoid for CPC
- Arkanoid RoD for CPC
- Arkanoid RoD for ZX128: Sinclair-1-Joystick verwenden
-
Silkworm
-
Chase HQ
-
Ghosts'n'Goblins
-
Bruce Lee
-
Head over Heels
-
Nebulus
Einzelne Systeme und Arcade-Spiele
-
Arcade und C64
- Pengo Arcade: Mit
1eine Münze einwerfen und mit Enter starten - Zaxxon for C64
- Dig Dug for C64
- Pengo Arcade: Mit
-
CPC-Spiele
- Fruity Frank
- 1943
- Dragon Ninja
- Gryzor
- Astro Marine Corps
- Intern.Karate
- IK+
- Ikari Warriors
- Rick Dangerous
- Prince of Persia
- Live and Let Die: Läuft in der CPC464-Konfiguration
-
ZX-Spectrum-Spiele
- Batty for ZX48K
- Great Escape for ZX128: Kempston-Joystick auswählen
- Flying Shark for ZX48K: Kempston-Joystick auswählen
- Cyclone for ZX48k: Kempston-Joystick auswählen
- Exolon for ZX48k: Kempston-Joystick auswählen
- Quazatron for ZX128: Kempston-Joystick auswählen
- Rainbow Islands for ZX
- Sir Fred for ZX48K: Kempston-Joystick auswählen
-
KC85/3
- Breakout:
BREAKOUTwird automatisch eingegeben
- Breakout:
-
Acorn Atom
- Chucky Egg: Nach
*LOADmit der Leertaste starten - Jet Set Willy: Nach
*LOADJOYMMCauswählen
- Chucky Egg: Nach
-
VIC-20
-
Robotron Z1013
1 Kommentare
Hacker-News-Kommentare
URLs mit
-previewwurden erstellt, um ein paar Dinge auszuprobieren, und sind alte Adressen, die seit 2021 nicht mehr aktualisiert wurden. Die aktuelle Adresse ist https://floooh.github.io/tiny8bit/Neben der Pin-Emulation ist interessant, dass die CPU auf Zyklus-Ebene fortgeschritten wird. Die CPU fungiert nicht als besonderer Controller des Systems, sondern bewegt sich zusammen mit den anderen Chips bei jedem Tick. Beim Z80 gibt es nicht einen Branch pro Instruktion, sondern einen
switch-case-Branch pro Instruktionszyklus; die genaue Vorgehensweise ist unter https://floooh.github.io/2021/12/17/cycle-stepped-z80.html zusammengefasstUrsprünglich war das ein Projekt, an dem ich hauptsächlich in den Weihnachtsferien gearbeitet habe, und seit 2023 konnte ich es kaum noch anfassen. Seitdem habe ich nur die Abhängigkeiten von sokol und Dear ImGui aktualisiert und gelegentlich neue Demos ergänzt, die auf https://www.pouet.net/ und https://csdb.dk/ erschienen sind
Dieses Projekt erinnert mich stark an 0x10c. Ich bin noch immer fasziniert von einem Setting, in dem es virtuelle Minicomputer gibt, und habe mir auf Basis von Raumfahrt und Cyberpunk ein paar Dinge ausgedacht, Zachtronics-artige Elemente in das Chipdesign gemischt und sogar über Fantasy-Varianten nachgedacht
Trotzdem werde ich den Gedanken nicht los, dass das ein extrem nischiges Thema ist. Wer Interesse hat, kann hier schreiben oder mich über die E-Mail im Profil kontaktieren. Referenz: https://en.wikipedia.org/wiki/0x10c
Schon die Frage ist schwierig, ob Nutzer wirklich ein komplettes Betriebssystem selbst bauen wollen, nur um die Hardware ihres Raumschiffs zu steuern, oder ob man im Spiel lieber einen Software-Marktplatz haben sollte, auf dem Programme zur Raumschiffsteuerung gekauft und verkauft werden. Ob wirklich jemand ohne Belohnung Windows 3.1 für die DCPU bauen würde, ist fraglich
Ich möchte, dass es erfolgreich wird, aber ein früheres Open-Source-Spiel war bis auf BIOS-Ebene heruntergebrochen und für die meisten dadurch viel zu technisch. Nur um ein Raumschiff zu bewegen, wollen wohl die wenigsten erst mit API-/ABI-Arbeit anfangen
Mir gefällt der Pin-Level-Emulations-Ansatz dieses Projekts. Jede Komponente arbeitet in sich geschlossen und modular, was viel Flexibilität bringt
Extrem schlanke, aber explizit definierte Interfaces könnten in Sachen Interoperabilität noch ein zu wenig erforschtes Feld sein. Wenn beide Seiten Werte zu festgelegten Zeitpunkten sampeln und nur eine kleine Zahl von Signalen für den zeitlichen Zugriff bereitstellen, sind Konformitätstests ein hervorragendes Zielobjekt — egal ob es um Pins, ein paar Register oder einen Memory-Mapped-Bereich geht
Im Zeitalter von AI-generiertem Code könnten modulare Komponenten mit expliziten Konformitätsanforderungen besonders nützlich sein. Solange die geforderte Funktion eingehalten wird, muss einen nicht kümmern, wie das Innere der Blackbox implementiert ist
Tatsächlich braucht es ein wenig Disziplin, um in sich geschlossene Bibliotheken zu bauen, und man darf nicht zu sehr auf die hören, die ständig DRY predigen
Deshalb habe ich auch einen
"soldered"-Modus hinzugefügt, der etwas Modularität aufgibt, um schneller zu sein. Dort lässt sich das CRTC nicht abtrennen, und am Ende habe ich zusätzlich noch einen High-Speed-Modus eingebaut. Trotzdem ist die Pin-Level-Implementierung ein hervorragender Verifikations-Orakel, mit dem sich die Korrektheit jederzeit prüfen lässt, und allein deshalb sehr wertvollJetzt möchte ich einen über USB angebundenen Erweiterungsport bauen und echte Hardware komplett anschließen. Den Pin-Level-Code habe ich noch nicht veröffentlicht, aber in etwa einer Woche ist es so weit
Wirklich großartig. Als ich klein war, dauerte es gefühlt ewig, ein Spiel von Kassette zu laden, und heute startet es sofort. Ich mochte besonders Bruce Lee auf dem ZX Spectrum
Es braucht auch mehr Oric: https://oric.games/
Bei einigen Spielen ist die Lautstärke ziemlich hoch eingestellt. Das merkt man erst, wenn man das Spiel direkt anklickt
Es wäre gut, wenn man in der UI der Website die Lautstärke regeln könnte. Bei einigen Spielen ist der Sound zu laut
Bitte aktualisiert die Adresse auf https://floooh.github.io/tiny8bit/. Das ist die offiziell verlinkte Adresse, sie wurde auch in früheren Einreichungen verwendet, und der Entwickler hat das letztes Jahr unter https://news.ycombinator.com/item?id=43821756 ebenfalls mitgeteilt
Mich würde auch interessieren, wo der Einreicher diese Preview-Adresse gefunden hat und ob sie noch irgendwo anders verlinkt war
Dieses Projekt existiert schon mindestens seit 8 Jahren: https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...