Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/biged/ioccc-6502
6502 and PET emulator from Stephen Sykes' IOCCC submission
https://github.com/biged/ioccc-6502
Last synced: about 2 months ago
JSON representation
6502 and PET emulator from Stephen Sykes' IOCCC submission
- Host: GitHub
- URL: https://github.com/biged/ioccc-6502
- Owner: BigEd
- License: cc0-1.0
- Created: 2014-04-16T16:42:56.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-27T19:20:43.000Z (9 months ago)
- Last Synced: 2024-10-15T20:23:48.440Z (3 months ago)
- Language: C
- Size: 539 KB
- Stars: 4
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ioccc-6502
==========6502 and PET emulator from Stephen Sykes' IOCCC submission - see [the official site](http://www.ioccc.org/2005/sykes/) and [Stephen's blog entry](http://www.stephensykes.com/blog_perm.html?112)
The purpose here is to host a bug-fixed version of the emulator, and some efforts at deobfuscation. See the [hint.text](hint.text) file for details of how to run it. (To run as a PET you will need a ROM image - instructions in the hint file.)
The original submission doesn't successfully run the in-ROM machine monitor, which alerted me to the possibility of bugs. Other than the absence of decimal mode (which is a relatively common omission and a relatively harmless one) I found these:
* BRK should be a 2-byte opcode
* Bit 4 of the pushed status byte (P) must be zero when pushed by IRQ and otherwise one.To find the bugs I ran [Klaus Dormann's test suite](https://github.com/Klaus2m5/6502_65C02_functional_tests). The emulator formerly failed and now passes (up to decimal mode.)
Here's a screenshot of the code:
![PET (shaped) emulator](screenshots/PET-source-code.png "Source code shaped like a PET")See also the post on gplus by mos6502 [here](https://plus.google.com/108984290462000253857/posts/FHjRVUPxQQU).
The rules at the time for submissions to the International Obfuscated C Code Contest put winning entries into the public domain - so I've applied a CC0 license.