forked from sent/waves
50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
Commodore Clicker
|
|
=================
|
|
|
|
A JavaScript incremental game which drives the clock of a Commodore 64 emulation. Or at least, that's the eventual goal.
|
|
[Play the game here.](http://c64clicker.com/)
|
|
|
|
Usage
|
|
-----
|
|
|
|
The emulated C64 boots into the incremental game, but this can be interrupted in the usual manner of hitting Run/Stop + Restore. After interruption, the game can be restarted using the statement: SYS 49152
|
|
|
|
A joystick is plugged into port 2 of the C64, and its directions are mapped to the arrow keys. The joystick is used in-game to allow movement of the sprite. Alt is the Fire key, but this is not used in-game at this time.
|
|
|
|
The keyboard corresponds to that of a British C64, and is mapped in similar fashion to VICE's mapping. The following keys are non-obvious mappings:
|
|
|
|
* F1, F2, F3, F4 are mapped to the C64's F1, F3, F5, F7. Shift-F1 is the C64's F2, and so on.
|
|
* Escape is Run/Stop; F8 is Restore.
|
|
* Tab is the C64's Control; the host's Control maps to the Commodore key.
|
|
|
|
Key map entries not mentioned here are documented in the CIA emulation.
|
|
|
|
Credits
|
|
-------
|
|
|
|
Libraries included:
|
|
|
|
* [BigInteger, by Matthew Crumley and John Tobey](http://silentmatt.com/biginteger/)
|
|
* [jQuery.PowerTip, by Steven Benner](http://stevenbenner.github.com/jquery-powertip/)
|
|
* [Require.js, by the Dojo Foundation](http://github.com/jrburke/requirejs)
|
|
* [jQuery-Ajax-Blob-ArrayBuffer, by Christopher Keefer](https://gist.github.com/SaneMethod/7548768)
|
|
* [JSZip, by Stuart Knightley](https://github.com/Stuk/jszip)
|
|
* And, of course, jQuery.
|
|
|
|
Test ROMs included:
|
|
|
|
* [Klaus Dormann's 6502 functional tests](https://github.com/redline6561/cl-6502/blob/b0087903/tests/6502_functional_test.a65)
|
|
|
|
Resources that have been infinitely useful:
|
|
|
|
* [The C64 memory map](http://sta.c64.org/cbm64mem.html)
|
|
* [The VIC-II For Beginners series, by actraiser, 2013](http://dustlayer.com/vic-ii/2013/4/22/when-visibility-matters)
|
|
* ["The MOS 6567/6569 video controller and its application in the Commodore 64", by Christian Bauer, 1996](http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt)
|
|
* ["Documentation for the NMOS 65xx instruction set", by John West and Marko Makela, 1994](http://www.zimmers.net/anonftp/pub/cbm/documents/chipdata/64doc)
|
|
* [6502 opcode matrix, by Graham/Oxyron, 2012](http://www.oxyron.de/html/opcodes02.html)
|
|
* [Opcode pseudocode from VICE, compiled at Nesdev](http://nesdev.com/6502.txt)
|
|
* ["Internals of BRK/IRQ/NMI/RESET on a MOS 6502", by Michael Steil, 2010](http://www.pagetable.com/?p=410)
|
|
* [CIA register map, on the C64 Wiki](http://www.c64-wiki.com/index.php/CIA)
|
|
* [Kernal/BASIC disassembly, by Marko Makela, 1994](http://www.ffd2.com/fridge/docs/c64-diss.html)
|
|
* ["How the VIC/64 Serial Bus Works", by Jim Butterfield, 1983](ftp://ftp.zimmers.net/pub/cbm/programming/serial-bus.pdf)
|