mirror of
https://github.com/Pecusx/libretro-atari800.git
synced 2026-05-20 22:33:22 +02:00
244 lines
11 KiB
Plaintext
244 lines
11 KiB
Plaintext
Installation of the Atari800 Emulator
|
|
--------------------------------------
|
|
|
|
Irrespective of whether you are going to compile the emulator yourself
|
|
or install a pre-compiled binary version you must obtain a copy of the
|
|
Operating System ROMs.
|
|
|
|
The ROM images are distributed within the PC Xformer 2.5 package (other
|
|
versions of this program do not contain the ROMs in a suitable format)
|
|
which can be downloaded from:-
|
|
|
|
http://prdownloads.sf.net/atari800/xf25.zip
|
|
|
|
If you are creating the ROM images yourself they should be copied from
|
|
the following locations:-
|
|
|
|
1. Atari BASIC (8192 bytes between $a000 and $bfff)
|
|
Note: On a 400/800/1200XL system a BASIC cartridge must be inserted, and on
|
|
other systems the built-in BASIC must be enabled by setting bit 1 of PORTB
|
|
to 0.
|
|
2. Atari 400/800 OS (10240 bytes between $d800 and $ffff)
|
|
3. Atari XL/XE OS (16384 bytes between $c000 and $ffff)
|
|
Note: If you are extracting the XL/XE OS you will find that the ROM area
|
|
under the custom chip ($d000 to $d7ff) is mapped between $5000 and $57ff
|
|
when bit 7 of PORTB is set to 1. I.e. you should set bit 7 of PORTB and
|
|
then dump the memory out in the following order:- $c000 to $cfff,
|
|
$5000 to $57ff and finally $d800 to $ffff.
|
|
4. Atari XEGS built-in game (8192 bytes between $a000 and $bfff)
|
|
Note: the built-in game must be enabled by setting bit 1 of PORTB to 1 and
|
|
bit 6 to 0.
|
|
5. Atari 5200 BIOS (2048 bytes between $f800 and $ffff)
|
|
|
|
The first time you run the emulator you will be prompted for the
|
|
location of the ROMs and various other defaults. If you want to
|
|
change any of these in the future simply start the emulator with
|
|
the "-configure" command line option.
|
|
|
|
Compiling the Emulator
|
|
----------------------
|
|
|
|
The emulator can be compiled for the following systems (and probably
|
|
many others with a little work):-
|
|
|
|
1. X Window Version (including SUN OpenWindows) on a Unix Platform
|
|
(prefer the SDL version)
|
|
2. CURSES version
|
|
3. Graphical Version for the Amiga (not maintained)
|
|
4. Graphical version for the Atari TT/Falcon and compatible computers
|
|
5. "simple" version (no graphics). Should be straightforward to configure
|
|
for any 32-bit environment supporting ANSI C.
|
|
6. VGA Version for DOS
|
|
7. DirectX Version for Microsoft Windows (also try the SDL version)
|
|
8. SDL (Linux/Unix, Windows, BeOS)
|
|
9. WinCE
|
|
10. Java (various platforms)
|
|
|
|
Installed zlib (compression library) enables building the emulator with
|
|
compressed statesave images support. Additionally installed libpng
|
|
makes the emulator capable of generating screenshots in the PNG format.
|
|
|
|
Building the Emulator on most platforms
|
|
---------------------------------------
|
|
|
|
1. Change your working dir to the atari800/src path
|
|
2. Check if "configure" script is there. If it is skip to step 4.
|
|
3. Run "./autogen.sh" (make sure you have autoconf >= 2.5x installed).
|
|
4. Type "./configure".
|
|
5. Type "make".
|
|
6. Install the emulator by typing "make install".
|
|
|
|
By default, the "configure" script attempts to auto-detect the best interfaces
|
|
available to use for emulating video and sound. It is also possible to
|
|
override autodetection and select a specific interface by appending the
|
|
"--with-video=<value>" and "--with-sound=<value>" options to the command
|
|
in step 4. Below is the list of available values for these options:
|
|
a) Video interfaces (--with-video):
|
|
- dosvga: use direct access to VGA card, only under DOS/DJGPP
|
|
- sdl: use the Simple DirectMedia Library
|
|
- curses: use the curses library
|
|
- ncurses: use the ncurses library
|
|
- pdcurses: use the pdcurses library
|
|
- no: use only stdin/stdout for input/output. Supported on all platforms
|
|
b) Sound interfaces (--with-sound):
|
|
- win: use the WinMM library, only under Windows
|
|
- falcon: use Atari Falcon native sound
|
|
- dossb: use direct access to a Sound Blaster-compatible card, only under
|
|
DOS/DJGPP
|
|
- sdl: use the Simple DirectMedia Library
|
|
- oss: use Open Sound System
|
|
- no: disable sound altogether. Supported on all platforms
|
|
|
|
Only the video and sound interfaces listed above are autodetected, but the
|
|
emulator also supports other ones. To build for a platform that is
|
|
not automatically detected, replace step 4 of the above instructions with:
|
|
|
|
4a. Type "./configure --target=help" for a list of supported platforms.
|
|
4b. Type "./configure --target=<YourTarget>" (choose from the list above)
|
|
|
|
|
|
Building the Emulator for Curses
|
|
--------------------------------
|
|
|
|
Follow the instruction above but note that you must be using the
|
|
System V Curses Library. BSD Curses is lacking a few functions and
|
|
will not work (nodelay, attron, attroff, keypad and curs_set).
|
|
|
|
Building the Emulator for DOS
|
|
-----------------------------
|
|
|
|
To compile, use DJGPP the DOS port of gcc, which can be got from
|
|
http://www.delorie.com/djgpp/. You will need complete environment
|
|
in order to configure and build the executables.
|
|
You may need zlib (compression library) to use compressed statesave images
|
|
and libpng for PNG screenshots. To build curses (text mode) version install
|
|
curses-compatible library (e.g. PDCurses) and add
|
|
"--with-video=pdcurses" when invoking "./configure".
|
|
|
|
Since the source code contains files with long file names, you must unpack
|
|
and compile the source on a filesystem supporting long file names (for example
|
|
VFAT of Windows95). An additional change of DJGPP setting is required:
|
|
open the DJGPP.ENV file in editor and change the LFN= line to LFN=y
|
|
|
|
1. Run "configure_dos.bat".
|
|
2. Run "make" and "make joycfg".
|
|
3. If everything went good you should have atari800.exe and joycfg.exe -
|
|
copy them to destination directory.
|
|
|
|
Building the Emulator for Windows using Cygwin
|
|
----------------------------------------------
|
|
|
|
Atari800 for Windows can be built using Cygwin environment:
|
|
http://cygwin.com/
|
|
|
|
1. Get and install at least one of SDL or DirectX for MinGW.
|
|
2. For SDL, get the file SDL_win32_main.c from the SDL source that matches
|
|
your version and copy it into the Atari800 src directory.
|
|
3. Type "./configure --target=windx" for DirectX or "./configure
|
|
--with-video=sdl --with-sound=sdl" for SDL.
|
|
4. Type "make".
|
|
5. Copy atari800.exe to destination directory.
|
|
6. Copy the needed DLLs: /bin/mgwz.dll and (for SDL) sdl.dll
|
|
|
|
Building the Emulator for Windows using Microsoft 32-bit C/C++ Compiler
|
|
-----------------------------------------------------------------------
|
|
|
|
Atari800 for Windows can be built using command-line tools
|
|
from Microsoft Visual C++ 2005. Avoid older compilers such as VC++ 6
|
|
because they are buggy (even with service packs) and unsupported.
|
|
In addition to the compiler suite you need Windows Platform SDK (included
|
|
in Visual C++ 2008 or newer) and DirectX SDK (not newer than the August 2007
|
|
version, as it is the last one to contain the now-deprecated DirectInput
|
|
libraries.) Set "Path", "INCLUDE" and "LIB" environment variables to point to
|
|
the correct locations in VC++, PSDK and DXSDK.
|
|
|
|
1. Install the ZLIB library:
|
|
a. Download the source code from http://www.zlib.org
|
|
b. Remove -MD from CFLAGS in win32\Makefile.msc
|
|
c. Compile with "nmake /f win32\Makefile.msc zlib.lib".
|
|
d. Copy zlib.h and zconf.h to the Include directory of VC++.
|
|
e. Copy zlib.lib to the Lib directory of VC++.
|
|
2. Install the LIBPNG library:
|
|
a. Download the source code from http://www.libpng.org
|
|
b. Remove -MD from CFLAGS in scripts\makefile.vcwin32
|
|
c. Compile with "nmake /f scripts\makefile.vcwin32".
|
|
d. Copy png.h and pngconf.h to the Include directory of VC++.
|
|
e. Copy libpng.lib to the Lib directory of VC++.
|
|
OR
|
|
1&2. #undef HAVE_LIBPNG and HAVE_LIBZ in Atari800's src\win32\msc\config.h.
|
|
The compiled emulator won't handle zlib-compressed disk images
|
|
and state files and won't produce PNG screenshots.
|
|
3. Navigate to the src directory of Atari800 sources.
|
|
4. Type "nmake /f win32\msc\Makefile".
|
|
5. If you are getting linking errors saying something about MSVCRT
|
|
then you probably ignored step 1b or 2b.
|
|
6. Copy atari800.exe to destination directory.
|
|
|
|
Building the Emulator for Falcon
|
|
--------------------------------
|
|
|
|
You need a recent GCC, for example 2.7.2, running on a filesystem with long
|
|
file names (either minix-fs of MiNT, or VFAT of MagiC).
|
|
|
|
1. Type "./configure --target=falcon".
|
|
2. Type "make".
|
|
3. Copy atari800 to destination directory or try "make install".
|
|
|
|
You also can build the default target (by omitting the "--target" option)
|
|
with optional support for curses or SDL - see "Building the Emulator on most
|
|
platforms".
|
|
|
|
Building the Emulator for SDL
|
|
-----------------------------
|
|
|
|
1. Please install (and configure) SDL library (http://www.libsdl.org).
|
|
2. If you are using MinGW or Cygwin, get the file SDL_win32_main.c from the SDL
|
|
source (in src/main/win32) and copy it to the atari800 src directory.
|
|
3. If you want to build an OpenGL-capable version, you'll need OpenGL headers
|
|
installed. They should support OpenGL version 2.1 (support for the Pixel
|
|
Buffer Object extension). The result binary however will only need OpenGL
|
|
version 1.1 (PBOs simply won't be used). The same binary will work on
|
|
machines without OpenGL support - only software modes will be available.
|
|
For MinGW, get the OpenGL headers at
|
|
http://www.libsdl.org/extras/win32/common/opengl-devel.tar.gz
|
|
See also http://www.libsdl.org/extras/win32/mingw32/README.txt
|
|
4. Follow the instructions in the "Building the Emulator on most platforms"
|
|
section above. NOTE: If required, force using SDL by adding
|
|
"--with-video-input=sdl --with-sound=sdl" when calling "./configure". When
|
|
building using MinGW, you might also need to add "--with-sdl-prefix=/mingw".
|
|
|
|
Building the Emulator for Java using NestedVM
|
|
---------------------------------------------
|
|
1. Get and build NestedVM (nestedvm.ibex.org). make env.sh and unix_runtime.jar
|
|
2. source env.sh in the NestedVM directory.
|
|
3. Follow steps 1-5 of the "Building the Emulator on most platforms" section
|
|
above, but when calling ./configure, add these two parameters:
|
|
--host=mips-unknown-elf --disable-ide
|
|
ie.
|
|
./configure --host=mips-unknown-elf --disable-ide
|
|
You might want to add --enable-veryslow --disable-monitorbreak to the above.
|
|
This should result in creation of the file named atari800.jar.
|
|
4. atari800.jar requires unix_runtime.jar in the same directory. Copy it from
|
|
the NestedVM directory where you made it using "make unix_runtime.jar" as
|
|
stated above.
|
|
5. To run use: java -jar atari800.jar
|
|
Add -o UnixRuntime to the NestedVM compiler options to enable directory
|
|
browsing.
|
|
This requires changing Windows paths to the form: /c:/file in all configuration
|
|
files and on the command line. It will look for .atari800.cfg in your
|
|
Windows home directory.
|
|
Applet version:
|
|
You must compile with -o UnixRuntime
|
|
Apply UnixRuntime.patch to NestedVM.
|
|
To use:
|
|
<APPLET CODE="atari800.class" WIDTH=672 HEIGHT=480 ARCHIVE="atari800.jar, unix_runtime.jar">
|
|
<PARAM name=args value="-config /resource/http://atari800_applet.cfg -xlxe_rom /resource/http://ospp.rom -basic_rom none -nobasic -nopatchall /resource/http://disk.atr">
|
|
</APPLET>
|
|
All files should have /resource/http:// in front of their names.
|
|
Edit atari800_applet.cfg and add /resource/http:// to all rom files, even those
|
|
you are not providing.
|
|
Legal distribution of Atari800 as an applet cannot include the OS and BASIC
|
|
ROM Files. You can run without BASIC by using -basic_rom none and Thomas
|
|
Richter's Os++.
|
|
|