mirror of
https://github.com/Pecusx/libretro-atari800.git
synced 2026-05-21 06:39:36 +02:00
initial commit
This commit is contained in:
@@ -0,0 +1,243 @@
|
||||
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++.
|
||||
|
||||
Reference in New Issue
Block a user