Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9837 | turbocat | 1 | -------------------------------------------------------------------------------- |
2 | WHAT IS THIS? |
||
3 | -------------------------------------------------------------------------------- |
||
4 | This is DGen/SDL, a semi-fantastic emulator for Unix-esque operating systems |
||
5 | supported by the Simple DirectMedia Layer (SDL) library. It produces a virtual |
||
6 | environment in which Sega Genesis (MegaDrive outside the US) games may run |
||
7 | with fairly accurate audio and video. |
||
8 | |||
9 | -------------------------------------------------------------------------------- |
||
10 | HOW DO I INSTALL IT? |
||
11 | -------------------------------------------------------------------------------- |
||
12 | You'll need SDL version 1.0 or greater. Fetch it from |
||
13 | http://www.libsdl.org/, and install it. Make sure, if you're |
||
14 | using prepackaged rpm's or deb's, to get both the SDL and SDL-devel packages. |
||
15 | |||
16 | For Intel/AMD/Cyrix CPUs, you'll also need NASM, which can be found at |
||
17 | http://www.web-sites.co.uk/nasm/, in order to utilize the assembler |
||
18 | optimizations. *WARNING*: The NASM that comes prepackaged with RedHat 7.x is |
||
19 | broken! Install the rpm from RedHat 6.x, and it should work. One such rpm can |
||
20 | be found at http://pknet.com/~joe/nasm-0.98-2.i386.rpm. |
||
21 | |||
22 | Now you should be able to build and install DGen like any other |
||
23 | autoconf-using package: |
||
24 | |||
25 | sh ./configure && make && make install |
||
26 | |||
27 | If you have egcs or GCC >= 2.95, you can give configure the '--with-extra-opt' |
||
28 | switch, which will add some insane optimization to the CFLAGS used to compile |
||
29 | the program, giving the binary a very decent speed boost. |
||
30 | |||
31 | The control configuration and other options available in DGen/SDL are set |
||
32 | through a file dgenrc, which should be in the location $HOME/.dgen/dgenrc. |
||
33 | The sample.dgenrc file in this archive documents all the fields, and so does the |
||
34 | dgenrc(5) manpage. If it doesn't exist, an empty one will be created when |
||
35 | dgen is run. |
||
36 | |||
37 | Now that it's been installed, running 'dgen ROMFILE' should run the Genesis |
||
38 | program contained in ROMFILE. For a list of all the fancy options supported, |
||
39 | run either 'dgen' with no options, or see the dgen(1) manpage for more detail. |
||
40 | |||
41 | -------------------------------------------------------------------------------- |
||
42 | IT'S TOO SLOW! |
||
43 | -------------------------------------------------------------------------------- |
||
44 | Well, sorry. Here are some ideas to help accelerate it: |
||
45 | |||
46 | - Lower the value of "int_nice" in your dgenrc. 0 is good for short tempers :-) |
||
47 | - Turn off sound. |
||
48 | - Run fullscreen, if possible. |
||
49 | - Increase int_soundsegs to 16 or (if you're desperate) 32. |
||
50 | - Buy a faster computer. (sorry, had to say it ;) |
||
51 | |||
52 | -------------------------------------------------------------------------------- |
||
53 | IT'S TOO FAST! |
||
54 | -------------------------------------------------------------------------------- |
||
55 | I couldn't believe it either, but someone asked me this. If you happen to find |
||
56 | yourself in this unfortunate predicament, here's how to slow it down: |
||
57 | |||
58 | - Raise the sound rate to 44100Hz. It sounds a LOT better, and is a LOT slower. |
||
59 | - Increase the value of int_nice in your dgenrc. This is the best way to slow |
||
60 | things down, since it makes dgen much more CPU friendly. |
||
61 | - In the game, press the key set to 'dgen_cpu_toggle' (which defaults to F11), |
||
62 | to use the Musashi CPU core, which is slower and more accurate than |
||
63 | StarScream. |
||
64 | |||
65 | -------------------------------------------------------------------------------- |
||
66 | FREQUENTLY ASKED QUESTIONS |
||
67 | -------------------------------------------------------------------------------- |
||
68 | Q: DGen segfaults on startup! |
||
69 | A: The two most common causes of this are a broken NASM, or an absent NASM. |
||
70 | RedHat 7.x distributions ship with a prepackaged NASM which doesn't work. |
||
71 | You'll need to use an RPM from a different distribution, or RedHat 6.x. |
||
72 | |||
73 | Q: How do I set up OpenGL mode? |
||
74 | A: OpenGL mode can be activated either from the commandline, or from the dgenrc |
||
75 | file. Using the '-G XxY' switch will activate OpenGL mode. The switch takes |
||
76 | the desired resolution as an argument. For example: |
||
77 | $ dgen -G 640x480 sonic.bin |
||
78 | will run with a 640x480 screen resolution. |
||
79 | |||
80 | So that you do not have to type this switch every time you use dgen, you |
||
81 | can add the following lines to ~/.dgen/dgenrc so that dgen will start in |
||
82 | OpenGL mode every time: |
||
83 | bool_opengl = yes |
||
84 | int_opengl_width = 640 |
||
85 | int_opengl_height = 480 |
||
86 | int_opengl_width and int_opengl_height can be changed to suit your own |
||
87 | preferences. |
||
88 | |||
89 | Q: I make dgen setuid-root, and try to run it fullscreen, and all I get is |
||
90 | a black screen with the game running in the middle of it. |
||
91 | A: You need to have your X server set up with a 320x240 video mode. For XFree86, |
||
92 | if you have XF86Setup installed (which is more than likely): |
||
93 | - Close all X sessions you have running. |
||
94 | - From a console, as root, run "XF86Setup". When asked "Would you like to use |
||
95 | the existing XF86Config file for defaults?" say Yes. |
||
96 | - After 30 seconds or so the X server should start in VGA mode, and put you |
||
97 | in the setup program. Everything else is set up, just click on the |
||
98 | "Modeselection" button in the top right-hand corner. |
||
99 | - From the list of possible modes, choose 1024x768 (or whatever mode you use |
||
100 | regularly), and 320x240 (which is the mode DGen wants). Choose a bits-per- |
||
101 | pixel from the list on the bottom (DGen works best in 15- or 16-bpp). |
||
102 | - Press "Done", then "Okay". |
||
103 | - It should restart the X server. When you see the message |
||
104 | "Congratulations!...", try pressing CTRL-ALT-KEYPAD+ to switch to your new |
||
105 | 320x240 mode, just to make sure it works. Press CTRL-ALT-KEYPAD- to switch |
||
106 | back, and press "Save the configuration and exit". |
||
107 | - Restart your X session. If you use xdm, press CTRL-ALT-BACKSPACE to kill |
||
108 | the X server and restart it. Fullscreen should work now. |
||
109 | |||
110 | Q: DGen's colors are messed up! |
||
111 | A: Some video cards, such as most Riva cards, use different pixel formats |
||
112 | for true-color modes. If you use 16-bpp bit depth, try 15- or 32-bpp bit |
||
113 | depth. |
||
114 | |||
115 | Q: I try compiling, but when I run ./configure, it tells me it can't find |
||
116 | sdl-config. I installed SDL from the rpm's. |
||
117 | A: You need to install the SDL-devel rpm as well: |
||
118 | http://www.devolution.com/~slouken/SDL/release/SDL-devel- |
||
119 | |||
120 | Q: Sonic 2 freezes right before the title screen! |
||
121 | A: There is a bug in the StarScream CPU core which causes Sonic 2 to freeze |
||
122 | at this point. Press F11 to switch to the Musashi core, until you get to |
||
123 | the title sequence, then press it again to switch back to StarScream. Save |
||
124 | a snapshot here, so you don't have to go through it again. :) |
||
125 | |||
126 | -------------------------------------------------------------------------------- |
||
127 | BUGS |
||
128 | -------------------------------------------------------------------------------- |
||
129 | Of course the chances of finding a bug are unlikely, but if you do, tell me |
||
130 | about it. Send me a patch too, if possible :-) Also, check the FAQ above before |
||
131 | reporting bugs, to see if your question's already been answered. |
||
132 | |||
133 | Enjoy DGen! |