Skip to content

Commit 7a76fd7

Browse files
committed
updated README
1 parent 4207932 commit 7a76fd7

File tree

1 file changed

+61
-91
lines changed

1 file changed

+61
-91
lines changed

README.md

Lines changed: 61 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,46 @@
11
# Gopher2600
22

3-
<img align="right" src="https://github.com/JetSetIlly/Gopher2600-Dev-Docs/blob/master/gopher2600_logo/logo4.png" width="250" alt="gopher2600 logo"/>
4-
5-
Gopher2600 is an emulator for the Atari 2600 written in Go.
6-
7-
See here for [Current Status](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Current-Status)
8-
9-
Accuracy is very high and and there are no known problems with the emulation of the 6507, TIA or RIOT chips.
10-
11-
The key features of the emulator:
12-
13-
* [Support for many of the known cartridge formats](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Supported-Cartridge-Mappers)
14-
* emulation of the [Supercharger](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Supercharger) - supports loading from WAV files
15-
* Emulation of the [ARM7TDMI](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/ATM7TDMI-Emulation) as found in the `Harmony` cartridge
16-
* Preliminary support for the ARMv7-M as used in the `UnoCart` and `PlusCart` is also included
17-
* Network access through [PlusROM](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/PlusROM) emulation
18-
* [AtariVox and SaveKey](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/AtariVox-and-SaveKey) support
19-
* Speech support via `Festival`
20-
* CRT TV Effects
21-
* Flexible [screenshot](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Creating-Screenshots) features
22-
* Accurate audio reproduction (and optional stereo output)
23-
* Support for common [TIA revisions](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/TIA-Revisions)
24-
* Implementation of [Movie Cart](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Movie-Cart)
25-
* [Gameplay rewinding](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Rewinding)
26-
* Tracker/Piano Keys visualisation
27-
* [Gameplay recording and playback](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Recording-Gamplay)
28-
* Support for (and auto-detection of) the stick, paddle, keypad and also Sega Genesis style [controllers](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Hand-Controllers-and-Front-Panel)
29-
* ROM selector with live emulation preview and optional support for
30-
[boxart and the standard stella.pro file](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Box-Art-and-stella.pro-file)
31-
32-
The graphical [debugger](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Debugger):
33-
34-
* CPU and Color Clock level interaction
35-
* Breakpoints, traps, watches on various CPU, TIA and RIOT targets
36-
* Terminal interface (headless operation optional)
37-
* Advanced ARM monitoring
38-
* Performance profiling
39-
* Source code inspection and breakpoints
40-
* DWARF support (global & local variable inspection)
41-
42-
Logo is based on [Gopherize.me](https://github.com/matryer/gopherize.me) which itself is based on the work of [Ashley McNamara](https://github.com/ashleymcnamara/gophers) and is [licensed under the Creative Commons](https://github.com/ashleymcnamara/gophers/blob/master/LICENSE).
43-
44-
## Documentation
45-
46-
User documentation for the emulator can be found in the [Gopher2600-Docs repository](https://github.com/JetSetIlly/Gopher2600-Docs/) and in particular the [live wiki](https://github.com/JetSetIlly/Gopher2600-Docs/wiki).
47-
48-
Development & Maintenance documentation can be found in the [Gopher2600-Dev-Docs repository](https://github.com/JetSetIlly/Gopher2600-Dev-Docs/). Also, source level documentation (for the most recent release) can be found on [go.dev](https://pkg.go.dev/github.com/jetsetilly/gopher2600).
49-
50-
## Example Screenshots
51-
52-
The following [screenshots](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Creating-Screenshots) were taken in `playmode` with CRT effects enabled.
53-
54-
<table align="center">
55-
<tr>
56-
<td align="center">
57-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/pitfall.jpg" height="150" alt="pitfall"/>
58-
</td>
59-
<td align="center">
60-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/chiphead.jpg" height="150" alt="chiphead"/>
61-
</td>
62-
<td align="center">
63-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/thrust.jpg" height="150" alt="thrust"/>
64-
</td>
65-
</tr>
66-
<tr>
67-
<td align="center">
68-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/mangoesdown.jpg" height="150" alt="man goes down"/>
69-
</td>
70-
<td align="center">
71-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/beast.jpg" height="150" alt="soul of the beast"/>
72-
</td>
73-
<td align="center">
74-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/genesis.jpg" height="150" alt="egypt genesis"/>
75-
</td>
76-
</tr>
77-
<tr>
78-
<td align="center">
79-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/draconian.jpg" height="150" alt="draconian"/>
80-
</td>
81-
<td align="center">
82-
<img src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/zookeeper.jpg" height="150" alt="zookeeper"/>
83-
</td>
84-
</tr>
85-
</table>
86-
87-
ROMs shown: Pitfall; [Chiphead](https://www.pouet.net/prod.php?which=68505); Thrust; Man Goes Down; [Soul of the Beast](https://aeriform.itch.io/beast); [Egypt 2600BC](https://www.pouet.net/prod.php?which=72716) ; Draconian; [Zookeeper](https://champ.games/downloads)
3+
<img align="right" src="https://github.com/JetSetIlly/Gopher2600-Docs/blob/master/screenshots/new_pitfall_as_banner.png" height=50% width=50%/>
4+
5+
Gopher2600 is an emulator for the Atari 2600. Accuracy is very high and and there are no known problems with the emulation of the 6507, TIA or RIOT chips.
6+
7+
The emulator is suitable for both playing 2600 games and for developing new games. In particular, the debugging features available for developers of CDFJ, DPC+ and ELF type ROMs that make use of an ARM coprocessor, are unique.
8+
9+
Most ["bank switching"](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Supported-Cartridge-Mappers) types are supported, including the above mentioned CDFJ, DPC+ and ELF types. Also notable is the support for [Supercharger](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Supercharger) and in particular, the loading of Supercharger tapes stored as a WAV or MP3 file. Also supported is the [Movie Cart](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Movie-Cart)
10+
11+
Games using [PlusROM](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/PlusROM) features are also supported.
12+
13+
The [AtariVox and SaveKey](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/AtariVox-and-SaveKey) peripherals are emulated. Uniquely, the AtariVox voice features can be emulated with the third-party application `Festival`. While this is imperfect being able to hear feedback for AtariVox voice commands can be helpful.
14+
15+
The vintage CRT television, contemporaneous with the console, is emulated with a selection of interference effects and bevel images. This is an ongoing area of development and will be improved further in the future.
16+
17+
Flexible [screenshot](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Creating-Screenshots) features so that games using "flicker" kernels can be effectively captured.
18+
19+
Accurate audio reproduction with optional stereo output. The intensity of the stereo effect can be altered.
20+
21+
Over the course of its lifetime, the Atari2600 came in several versions which introduced subtle variations in the TIA chip. Gopher2600 supports the common [TIA revisions](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/TIA-Revisions)
22+
23+
For the player who wants to master a game quickly there is convenient [gameplay rewinding](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Rewinding). The rewinding feature is also available in the emulator's debugger in the form of a "timeline" window.
24+
25+
Gameplay can also be [recorded and played back](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Recording-Gamplay). In addition to keeping gameplay sessions for future study or enjoyment, recordings are also useful for testing purposes during ROM development.
26+
27+
The standard controllers are supported. The joystick, the paddle, the keypad and also Sega Genesis style [controllers](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Hand-Controllers-and-Front-Panel)
28+
29+
The graphical [debugger](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Debugger) provides a powerful interface to the internals of the Atari 2600. The state of the console can be inspected and rewound at the CPU and Colour Clock level. Breakpoints and watches can be set on many areas of the CPU, TIA and RIOT and the same areas can be be peeked and poked as required.
30+
31+
In addition to the graphical windows of the debugger, a terminal interface is provided.
32+
33+
The most powerful use of the debugger however is the debugging and profiling of ROMs that use an ARM coprocessor (Harmony, PlusCart, etc.) When [compiled correctly](https://github.com/JetSetIlly/Gopher2600-Docs/wiki/Preparing-ARM-Enabled-Projects-for-the-Gopher2600-Debugger) Gopher2600 can use standard DWARF information to help profile performance; to identify incorrect code flow; and to identify incorrect use of the program's global and local variables.
34+
35+
## Documentation and Help
36+
37+
User documentation for the emulator can be found in the project [wiki](https://github.com/JetSetIlly/Gopher2600-Docs/wiki).
38+
39+
Development & Maintenance documentation can be found in the [Gopher2600-Dev-Docs repository](https://github.com/JetSetIlly/Gopher2600-Dev-Docs/).
40+
41+
Source level documentation can be found on the [Go package documentation site](https://pkg.go.dev/github.com/jetsetilly/gopher2600).
42+
43+
There is also a project [blog](https://jetsetilly.github.io/Gopher2600-Blog/) which will be updated periodically with topical articles.
8844

8945
## Resources used
9046

@@ -274,9 +230,23 @@ http://www.festvox.org/docs/manual-2.4.0/festival_toc.html
274230

275231
## Personal Thanks and Acknowledgements
276232

277-
At various times during the development of this project, the following people
278-
have provided advice and encouragement: Andrew Rice, David Kelly. And those
279-
from AtariAge who have provided testing, advice and most importantly,
280-
encouragement (alphabetically): alex_79; Al Nafuur; Andrew Davie; Batari;
281-
DirtyHairy; John Champeau; MarcoJ; MrSQL; Rob Bairos; Spiceware; Thomas
282-
Jenztsch; Zachary Scolaro; ZeroPageHomebrew
233+
<img align="right" src="https://github.com/JetSetIlly/Gopher2600-Dev-Docs/blob/master/gopher2600_logo/logo4.png" height="400px" />
234+
235+
* Andrew Rice
236+
* David Kelly
237+
* And those from the wider Atari community:
238+
* alex_79
239+
* Al Nafuur
240+
* Andrew Davie
241+
* Batari
242+
* Darrell Spice (Spiceware)
243+
* DirtyHairy
244+
* John Champeau (Champ Games)
245+
* MarcoJ
246+
* MrSQL
247+
* Rob Bairos
248+
* Thomas Jenztsch
249+
* Zachary Scolaro
250+
* ZeroPageHomebrew
251+
252+
_Logo is based on [Gopherize.me](https://github.com/matryer/gopherize.me) which itself is based on the work of [Ashley McNamara](https://github.com/ashleymcnamara/gophers) and is [licensed under the Creative Commons](https://github.com/ashleymcnamara/gophers/blob/master/LICENSE)_

0 commit comments

Comments
 (0)