-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
110 lines (71 loc) · 3.37 KB
/
Copy pathREADME
File metadata and controls
110 lines (71 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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.