annotate README @ 478:2e4a4188cfb0

Fix DMA fill so that it does not cause observable changes to the FIFO. Get DMA copy mostly correct from an observable ffect perspective. DMA copy probably does not reflect internal implementation still given that evidence seems to suggest no FIFO usage at all.
author Mike Pavone <pavone@retrodev.com>
date Tue, 17 Sep 2013 00:11:45 -0700
parents 949c7d875693
children 69cfdc81a87c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 BlastEm 0.1.0
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 -------------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 Installation
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 ------------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 Extract this tarball to a directory of your choosing. If you wish to change the
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 configuration settings, copy default.cfg to ~/.config/blastem/blastem.cfg and
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 modify the copy. You may also whish to add the blastem directory to your PATH
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 environment variable.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 Configuration
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 -------------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 Configuration is read from the file at ~/.config/blastem/blastem.cfg if it
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 exists othwerise it is read from default.cfg from the same directory as the
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 blastem executable. Sections are denoted by a section name followed by an open
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 curly bracket, the section's contents and a closing curly bracket. Individual
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19 configuration values are set by entering the value's name followed by a space
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20 or tab and followed by the desired value.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
21
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
22 Bindings
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
23 --------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
24
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25 The keys subsection of bindings maps keyboard keys to gamepad buttons or UI
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
26 actions. The key name goes on the left and the action is on the right.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
27 Most keys are named for the character they produce when pressed. Additionally,
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
28 the arrow, enter and escape keys have the symbolic names up, down, left, right,
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
29 enter and esc respectively. Other keys that do not produce characters are not
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
30 yet supported.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
31
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
32 The pads subsection is used to map gamepads and joysticks. Analog axes are not
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
33 currently supported. An example configuration is provided in default.cfg to map
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
34 SDL joystick 0 to the second controller.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
35
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
36 Video
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
37 -----
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
38
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
39 Currently the only setting in the video section is "width", which is the width
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
40 of the window in pixels. Height is calculated from this value. Both width and
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
41 height can be overridden from the command line.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
42
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
43 Audio
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
44 -----
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
45
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
46 The audio section has two config values: rate and buffer. rate selects the
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
47 sample rate and buffer sets the size of the output buffer in samples. 512 is
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
48 generally a good value, but if you're experiencing audio dropouts you might
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
49 want to increase it to 1024.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
50
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
51 Debugger
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
52 --------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
53
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
54 BlastEm has an integrated command-line debugger loosely based on GDB's
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
55 interface. The interface is very rough at the moment. Available commands in the
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
56 68K debugger are:
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
57 b ADDRESS - Set a breakpoint at ADDRESS
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
58 a ADDRESS - Advance to address
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
59 n - Advance to next instruction
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
60 c - Continue
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
61 p[/(x|X|d|c)] VALUE - Print a register or memory location
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
62 vs - Print VDP sprite list
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
63 vr - Print VDP register info
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
64 zb - Set a Z80 breakpoint
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
65 q - Quit BlastEm
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
66 Available commands in the Z80 debugger are:
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
67 b ADDRESS - Set a breakpoint at ADDRESS
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68 a ADDRESS - Advance to address
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69 n - Advance to next instruction
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 c - Continue
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
71 p[/(x|X|d|c)] VALUE - Print a register or memory location
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
72 di[/(x|X|d|c)] VALUE - Print VALUE before every debugger prompt
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
73 de BREAKPOINT - Delete a Z80 breakpoint
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
74 q - Quit BlastEm
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
75
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
76 The -d flag can be used to cause BlastEm to start in the debugger.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
77 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
78 by default)to enter the debugger while a game is running.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
79
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
80 License
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
81 -------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
82
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
83 BlastEm is free software distributed under the terms of the GNU General Public
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
84 License version 3 or higher. This gives you the right to redistribute and/or
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
85 modify the program as long as you follow the terms of the license. See the file
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
86 COPYING for full license details.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
87