playfulkittykat/u6502
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
u6502 - 6502 Microprocessor Emulator Version: 0.1 WHAT IF I'M TOO LAZY TO READ 'README'S? mkdir build meson setup build cd build meson compile meson install more examples/README WHAT IS U6502? u6502 is a library that emulates the 6502 microprocessor. u6502 is distributed under the MIT license: it is non-infectious and will not make your projects contagious to others the instant you choose to use u6502 in them. See the file COPYING for details. WHERE IS THE LATEST SOURCE CODE? Source code for u6502 is at 'https://github.com/playfulkittykat/u6502'. You can download the most recent release or use git to get the very latest sources. WHERE IS THE DOCUMENTATION? Manual pages for u6502 (and all the functions it exports) should be available once it is installed. Each includes a short 'examples' section. Use the 'man' command to read them. Your best place to start looking for documentation on the 6502 itself is 'http://6502.org'. A google search of the web will also turn up vast quantities of information about (and programs for) the 6502. HOW DO I INSTALL IT? Install meson, then after unpacking the archive, just type: mkdir build meson setup build cd build meson compile If you really can't make the compiler happy you've found a bug (read the next section but one). Otherwise, if you want it put it somewhere more permanent then type: meson install (as root) to install it. It goes into /usr/local by default; if you want it elsewhere then set prefix in the setup command. For example: meson setup -Dprefix=/usr will put everything under '/usr'. WHAT CAN I DO WITH IT? See the file EXAMPLES for some suggestions (all of them polite). HOW DO I REPORT PROBLEMS? Send e-mail to the author at: pkk (at) tabby (dot) rocks HOW CAN I HELP? Use it. Find bugs. Fix bugs. Make it faster. Evangelism: spread it to as many other projects as possible, especially those that might be using a slower emulator! Read the manual pages to see what's considered missing, then add it, then send it in. (One thing that would be be really handy, and isn't mentioned in the manual pages, is a test suite. Figure out how to test every mode in every instruction with every possible combination of operand values and condition codes and verify the behaviour is correct. Then write it down in the form of a program and send it in. If it's a self-contained program that runs once to completion then we can probably find some real hardware to test against the test suite.) WHO WROTE THIS STUFF, AND WHY? lib6502 was written by Ian Piumarta. u6502 was tweaked by Playful KittyKat While writing ccg (an entirely different project that creates runtime assemblers for dynamic code generators) Ian decided to include support for an 8-bit microprocessor, just for fun. He chose the 6502 because it was used in the first computer he owned and programmed (an Ohio Scientific Superboard II, when he was 14) as well as the second (an Acorn 'BBC Model B', about four years later). u6502 started as a 'glorified switch statement' that ran some small test programs spewed into memory by ccg, but rapidly got out of control over the course of a weekend. Twenty years later, pkk wanted to run some untrusted code on a microcontroller, and tweaked lib6502 to run on low memory devices. You're looking at the result.