C64 emulator written in PHP
PHP Python HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
rom
src
web
.gitignore
1541.php
README.md
c64-debug.php
c64-debugger.php
c64-screenshot-01.png
c64-screenshot-02.png
c64-test.php
c64-ws.php
c64.php
composer.json
composer.lock
logo.png
monitor.py

README.md

C64 Emulator written in PHP

For the love of everything that is holy, why, oh god, why!!!!???!!

Screenshot 1 Screenshot 2

TODO:

  • Complete the debugger
  • Load C64 disks and tapes (we can do PRG though)
  • Enable SID
  • Fix up VIC sprites

Bugs & Things

  • Many.. but we have a functional testsuite that passes (hurrah!)

Running the emulator

Since PHP isn't really capable of displaying graphics (PHP-GTK, maybe), we are using a shared memory block which is read from a python (2.7) program (monitor.py).

This means that the following must take place:

  • Make sure you have pygame installed: pip install pygame
  • Start the monitor: python monitor.py
  • Start the emulator in another console: php c64.php

Files

  • c64.php <file.prg> Actual c64 emulator (with shm monitor output)

  • c64-debug.php <file.prg> Actual c64 emulator with debug information visible

  • c64-ws.php Websocket edition. Use with web/index.html to display monitor

  • c64-debugger.php Full debugger. Still much in progress.

  • c64-test.php Functional test system for all opcodes. Seems to be passing.