2.2.0 beta3

parent d57e527f
...@@ -12,7 +12,7 @@ be sufficient to allow you to use most popular AmigaOS network ...@@ -12,7 +12,7 @@ be sufficient to allow you to use most popular AmigaOS network
clients, such as web browsers and mail readers. clients, such as web browsers and mail readers.
To enable the bsdsocket.library emulation (assuming you are using a To enable the bsdsocket.library emulation (assuming you are using a
version of E-UAE with this feature compiled in), add the option version of PUAE with this feature compiled in), add the option
bsdsocket_emu=true bsdsocket_emu=true
...@@ -28,6 +28,6 @@ emulated Amiga environment. For example, Amiga software will not be ...@@ -28,6 +28,6 @@ emulated Amiga environment. For example, Amiga software will not be
able to bind to ports already in use by host software, and your host able to bind to ports already in use by host software, and your host
operating system may impose access controls on certain ranges of ports. operating system may impose access controls on certain ranges of ports.
Older versions of E-UAE required that a bsdsocket.library wrapper file Older versions of PUAE required that a bsdsocket.library wrapper file
be installed somewhere in the LIBS: path in your Amiga environment. be installed somewhere in the LIBS: path in your Amiga environment.
This is no longer the case, and this file should now be removed. This is no longer the case, and this file should now be removed.
Command line options for E-UAE Command line options for PUAE
============================== ==============================
E-UAE supports the following command-line options. Note that, where PUAE supports the following command-line options. Note that, where
applicable, these will over-ride any similar options specified in the applicable, these will over-ride any similar options specified in the
default configuration file. default configuration file.
...@@ -28,7 +28,7 @@ This document (like the rest of the documentation) is a work-in-progress. ...@@ -28,7 +28,7 @@ This document (like the rest of the documentation) is a work-in-progress.
-s ntsc=true -s ntsc=true
to start E-UAE in NTSC mode. to start PUAE in NTSC mode.
See configuration.txt for supported options. See configuration.txt for supported options.
...@@ -60,6 +60,7 @@ This document (like the rest of the documentation) is a work-in-progress. ...@@ -60,6 +60,7 @@ This document (like the rest of the documentation) is a work-in-progress.
2: 68020 2: 68020
3: 68020/68881 3: 68020/68881
4: 68040 4: 68040
6: 68060
-w<n> -w<n>
...@@ -90,7 +91,7 @@ This document (like the rest of the documentation) is a work-in-progress. ...@@ -90,7 +91,7 @@ This document (like the rest of the documentation) is a work-in-progress.
-c4 -c4
will cause E-UAE to emulate 2 MB of Chip memory. will cause PUAE to emulate 2 MB of Chip memory.
-b<n> -b<n>
...@@ -164,12 +165,12 @@ Options specific to the X11 graphics driver ...@@ -164,12 +165,12 @@ Options specific to the X11 graphics driver
-L -L
Use "low-bandwidth" mode, which may reduce the amount of data transferred Use "low-bandwidth" mode, which may reduce the amount of data transferred
between E-UAE and the X server. That's particularly an advantage when these between PUAE and the X server. That's particularly an advantage when these
are running on two different machines in a network. are running on two different machines in a network.
-T -T
Use the MIT-SHM extension. This may not be available on all machines, and Use the MIT-SHM extension. This may not be available on all machines, and
it will not work if E-UAE and the X server are not running on the same it will not work if PUAE and the X server are not running on the same
machine. In all other configurations, turning on this option will give you machine. In all other configurations, turning on this option will give you
a huge speed improvement. a huge speed improvement.
......
Compiling E-UAE Compiling PUAE
=============== ===============
E-UAE should be able to compile on any platform with a POSIX-like shell PUAE should be able to compile on any platform with a POSIX-like shell
environment, a C compiler and make. Version 2.95 or newer of the GNU C environment, a C compiler and make. Version 2.95 or newer of the GNU C
Compiler is recommended as is GNU make, but alternative compilers and Compiler is recommended as is GNU make, but alternative compilers and
versions of make may work. Some features may be GCC-specific, however. versions of make may work. Some features may be GCC-specific, however.
...@@ -9,15 +9,26 @@ Currently, for example, the JIT - the compiler which dynamically ...@@ -9,15 +9,26 @@ Currently, for example, the JIT - the compiler which dynamically
translate 68k opcodes to x86 opcodes - does require GCC (and GAS, the translate 68k opcodes to x86 opcodes - does require GCC (and GAS, the
GNU assembler). GNU assembler).
Currently zlib is also required to build E-UAE for all supported Currently zlib is also required to build PUAE for all supported
platforms. This isn't much of hardship since zlib is available platforms. This isn't much of hardship since zlib is available
everywhere, but shout loudly enough and I'll fix this. everywhere, but shout loudly enough and I'll fix this.
Required Stuff
==============
(for debian based Linux)
apt-get install build-essential
apt-get install automake
apt-get install zlib1g
apt-get install libsdl1.2-dev
apt-get install libgtk2.0-dev
apt-get install xorg-core
Configuring Configuring
=========== ===========
The first step to compiling E-UAE is to generate a makefile suitable The first step to compiling PUAE is to generate a makefile suitable
for your intended target system. This is done by running the configure for your intended target system. This is done by running the configure
script. script.
...@@ -85,6 +96,10 @@ selecting what features are built into UAE. Here's a selection: ...@@ -85,6 +96,10 @@ selecting what features are built into UAE. Here's a selection:
bsdsocket.library). This works only on Unix platforms at the moment bsdsocket.library). This works only on Unix platforms at the moment
(including Linux, Solaris and OS X). (including Linux, Solaris and OS X).
--enable-gccopt
Enable CPU specific optimization parameters. Script will check for your CPU's
features and set additional compile flags.
--with-caps --with-caps
Build with support for IPF (CAPS) images. This requires the IPF Build with support for IPF (CAPS) images. This requires the IPF
development files from http://www.caps-project.org/ development files from http://www.caps-project.org/
...@@ -130,22 +145,22 @@ box. ...@@ -130,22 +145,22 @@ box.
Building the SCSI emulation Building the SCSI emulation
--------------------------- ---------------------------
E-UAE's SCSI emulation may use libscg, the SCSI transport layer from PUAE's SCSI emulation may use libscg, the SCSI transport layer from
the cdrtools project (see http://cdrecord.berlios.de). Note, however, the cdrtools project (see http://cdrecord.berlios.de). Note, however,
due to a license change in the cdrtools project, only versions of due to a license change in the cdrtools project, only versions of
cdrtools up to 2.01.01a08 inclusive may be used. cdrtools up to 2.01.01a08 inclusive may be used.
If libscg is not available on your build system, download a recent If libscg is not available on your build system, download a recent
version of cdrecord and compile it. Then run the ./src/install_libscg version of cdrecord and compile it. Then run the ./src/install_libscg
script in the E-UAE source archive to move the relevant files from script in the PUAE source archive to move the relevant files from
cdrecord to the E-UAE source directory. cdrecord to the PUAE source directory.
If your system has the libscg headers and library installed in a If your system has the libscg headers and library installed in a
non-standard location, you can pass the --with-libscg-prefix option or non-standard location, you can pass the --with-libscg-prefix option or
the --with-libscg-includedir and --with-libscg-libdir options to the the --with-libscg-includedir and --with-libscg-libdir options to the
configure script to specify where these are installed. configure script to specify where these are installed.
On Linux systems, if libscg is not available, E-UAE tries to use a On Linux systems, if libscg is not available, PUAE tries to use a
Linux-specific SCSI emulation that is based on some ioctl() commands. Linux-specific SCSI emulation that is based on some ioctl() commands.
......
This diff is collapsed.
Floppy drive emulation Floppy drive emulation
====================== ======================
E-UAE emulates up to four floppy drives. Standard PC floppy drives cannot PUAE emulates up to four floppy drives. Standard PC floppy drives cannot
read Amiga floppies, so floppy disks are currently supported as image files read Amiga floppies, so floppy disks are currently supported as image files
(support for Catweasel hardware, a floppy controller which can read Amiga (support for Catweasel hardware, a floppy controller which can read Amiga
floppies - and other unusual disk formats - will be added in a future floppies - and other unusual disk formats - will be added in a future
version). version).
E-UAE supports a number of floppy image formats, optionally compressed by PUAE supports a number of floppy image formats, optionally compressed by
gzip or packed inside a Zip archive. gzip or packed inside a Zip archive.
ADF ADF
...@@ -20,7 +20,7 @@ formatted contents. ...@@ -20,7 +20,7 @@ formatted contents.
DMS DMS
--- ---
DMS was a popular disk image cruncher. E-UAE can transparently read DMS DMS was a popular disk image cruncher. PUAE can transparently read DMS
images. images.
......
...@@ -3,13 +3,13 @@ Joystick port emulation ...@@ -3,13 +3,13 @@ Joystick port emulation
An Amiga has two joystick ports. Port 0 typically has a mouse attached to it An Amiga has two joystick ports. Port 0 typically has a mouse attached to it
and port 1 may have a digital joystick, joypad or some other device and port 1 may have a digital joystick, joypad or some other device
connected. E-UAE can emulate Amiga mice and joysticks using either input connected. PUAE can emulate Amiga mice and joysticks using either input
from a physical mouse or joystick or by using specific key presses on the from a physical mouse or joystick or by using specific key presses on the
keyboard to synthesize mouse and joystick movements or button clicks. keyboard to synthesize mouse and joystick movements or button clicks.
The device connected to port 0 can be configured with the joyport0=<mode> The device connected to port 0 can be configured with the joyport0=<mode>
configuration file option and the device at port 1 with joyport1=<mode>. configuration file option and the device at port 1 with joyport1=<mode>.
Additionally, some versions of E-UAE may supply a GUI controls to configure Additionally, some versions of PUAE may supply a GUI controls to configure
the joystick. the joystick.
Here <mode> can be one of: Here <mode> can be one of:
...@@ -19,7 +19,7 @@ none - no device is connected to this port. ...@@ -19,7 +19,7 @@ none - no device is connected to this port.
mouse - a mouse will be emulated on this port using the host's default mouse - a mouse will be emulated on this port using the host's default
mouse (usually the device you use to move the mouse pointer on your mouse (usually the device you use to move the mouse pointer on your
desktop). Up to three mouse buttons are supported and a scroll desktop). Up to three mouse buttons are supported and a scroll
wheel is currently supported when using E-UAE's X11 or SDL wheel is currently supported when using PUAE's X11 or SDL
graphics drivers. graphics drivers.
joy0 - a digital joystick will be emulated on this port using input from joy0 - a digital joystick will be emulated on this port using input from
...@@ -78,7 +78,7 @@ joystick input - they will not produce normal key presses. ...@@ -78,7 +78,7 @@ joystick input - they will not produce normal key presses.
Emulating a CD32 controller Emulating a CD32 controller
=========================== ===========================
When emulating a CD32 (to do this, E-UAE must be booted with CD32 ROMs) the When emulating a CD32 (to do this, PUAE must be booted with CD32 ROMs) the
joystick configured to port 1 may emulate a CD32 controller. The buttons on joystick configured to port 1 may emulate a CD32 controller. The buttons on
the joystick will be mapped to CD32 controller buttons as follows: the joystick will be mapped to CD32 controller buttons as follows:
......
Keyboard emulation Keyboard emulation
================== ==================
E-UAE emulates an Amiga keyboard layout by a straightforward mapping - where PUAE emulates an Amiga keyboard layout by a straightforward mapping - where
possible - of host keys to Amiga keys. In general, the alphanumeric keys, possible - of host keys to Amiga keys. In general, the alphanumeric keys,
function keys, numbers, punctuation, cursor keys, numeric keypad, etc. function keys, numbers, punctuation, cursor keys, numeric keypad, etc.
should work as expected (that is, the symbol on the key cap should be should work as expected (that is, the symbol on the key cap should be
...@@ -23,14 +23,14 @@ keyboard, Amiga keys on an Amiga keyboard, etc. Note that most Mac keyboards ...@@ -23,14 +23,14 @@ keyboard, Amiga keys on an Amiga keyboard, etc. Note that most Mac keyboards
don't differentiate between left and right Option keys, and both will don't differentiate between left and right Option keys, and both will
produce a Left Amiga. produce a Left Amiga.
Currently, E-UAE's keyboard mapping is not user-configurable. This will be Currently, PUAE's keyboard mapping is not user-configurable. This will be
addressed in a future release. addressed in a future release.
International keyboards International keyboards
======================= =======================
If you are using E-UAE built with the X11 or SDL graphics drivers then you If you are using PUAE built with the X11 or SDL graphics drivers then you
may set the kbd_lang= option to specify your keyboard layout (you also need may set the kbd_lang= option to specify your keyboard layout (you also need
to pick an appropriate keyboard driver in AmigaOS). to pick an appropriate keyboard driver in AmigaOS).
...@@ -51,7 +51,7 @@ Support for some layouts is currently poor - for example, numeric and ...@@ -51,7 +51,7 @@ Support for some layouts is currently poor - for example, numeric and
punctuation keys are interchanged on the French layout - and SDL poorly punctuation keys are interchanged on the French layout - and SDL poorly
supports international keys. supports international keys.
A partial solution is to use E-UAE's raw key mapping (see below). A partial solution is to use PUAE's raw key mapping (see below).
Command key sequences Command key sequences
...@@ -126,10 +126,10 @@ your keymap settings to produce (if your keymap is correct) a value which ...@@ -126,10 +126,10 @@ your keymap settings to produce (if your keymap is correct) a value which
actually does correspond to the symbol painted on the physical key on your actually does correspond to the symbol painted on the physical key on your
keyboard. keyboard.
If E-UAE tries to work with this translated key symbol, it then has to If PUAE tries to work with this translated key symbol, it then has to
somehow convert that back into a raw keycode appropriate to if that key somehow convert that back into a raw keycode appropriate to if that key
were pressed on an Amiga keyboard (and then AmigaOS will use its keymap were pressed on an Amiga keyboard (and then AmigaOS will use its keymap
settings to translate it into a key symbol again). This requires that E-UAE settings to translate it into a key symbol again). This requires that PUAE
know about international keyboard layouts, and requires the graphics system know about international keyboard layouts, and requires the graphics system
to report unique events for all host keys (SDL does not completely support to report unique events for all host keys (SDL does not completely support
some international layouts, for example). some international layouts, for example).
...@@ -148,14 +148,14 @@ logically or even physically identical keys. ...@@ -148,14 +148,14 @@ logically or even physically identical keys.
The upshot of all this is that raw key-mapping is currently (optionally) The upshot of all this is that raw key-mapping is currently (optionally)
supported when: supported when:
a) E-UAE is built with the X11 graphics driver, your X server supports the a) PUAE is built with the X11 graphics driver, your X server supports the
XKB extension and you are using a keyboard which produces xfree86 XKB extension and you are using a keyboard which produces xfree86
keycodes (e.g., PC and Mac keyboards with XFree86 on Linux do); keycodes (e.g., PC and Mac keyboards with XFree86 on Linux do);
b) E-UAE is built with the SDL graphics driver and you are running it on b) PUAE is built with the SDL graphics driver and you are running it on
Linux on XFree86 with a PC or Mac keyboard, on MacOS X, on BeOS or on Linux on XFree86 with a PC or Mac keyboard, on MacOS X, on BeOS or on
AmigaOS (or an AmigaOS clone); AmigaOS (or an AmigaOS clone);
c) E-UAE is built with the BeOS graphics driver; or c) PUAE is built with the BeOS graphics driver; or
d) E-UAE is built with the AmigaOS graphics driver. d) PUAE is built with the AmigaOS graphics driver.
As I said above, raw key-mapping better supports international keyboards, so As I said above, raw key-mapping better supports international keyboards, so
is recommended for most users, although its not terribly well tested and is recommended for most users, although its not terribly well tested and
...@@ -175,7 +175,7 @@ x11.map_raw_keys=true ...@@ -175,7 +175,7 @@ x11.map_raw_keys=true
Both the SDL and X11 graphics driver will try to enable raw key-mapping by Both the SDL and X11 graphics driver will try to enable raw key-mapping by
default if they can support it on your host platform. default if they can support it on your host platform.
Note that the AmigaOS version of E-UAE when built with native AmigaOS Note that the AmigaOS version of PUAE when built with native AmigaOS
graphic support and the BeOS version when built with native BeOS graphics graphic support and the BeOS version when built with native BeOS graphics
support both always do raw key mapping, so no comparable config options is support both always do raw key mapping, so no comparable config options is
supported or required in these situations. Note also, however, that the supported or required in these situations. Note also, however, that the
......
...@@ -2,7 +2,7 @@ make_hdf ...@@ -2,7 +2,7 @@ make_hdf
======== ========
make_hdf is a command-line tool for creating unformatted hard disk make_hdf is a command-line tool for creating unformatted hard disk
images (hard files) for E-UAE (and other versions of UAE). It will images (hard files) for PUAE (and other versions of UAE). It will
also print a config option that can be added to a UAE config file to also print a config option that can be added to a UAE config file to
mount the created disk image. mount the created disk image.
......
SCSI emulation SCSI emulation
============== ==============
E-UAE's SCSI emulation allows any CD-ROM drives on the host machine to be PUAE's SCSI emulation allows any CD-ROM drives on the host machine to be
used as Amiga SCSI devices within the emulation. You can use this to fully used as Amiga SCSI devices within the emulation. You can use this to fully
support CD-ROMs, audio discs, CD-writing, etc. in AmigaOS. SCSI emulation is support CD-ROMs, audio discs, CD-writing, etc. in AmigaOS. SCSI emulation is
also required to emulate a CD-TV or CD32. also required to emulate a CD-TV or CD32.
In general, to enable SCSI emulation simply add the 'scsi=true' option to In general, to enable SCSI emulation simply add the 'scsi=true' option to
your config file. Any useable CD or DVD devices that E-UAE finds will be your config file. Any useable CD or DVD devices that PUAE finds will be
available to AmigaOS via the device driver 'uaescsi.device' on consecutive available to AmigaOS via the device driver 'uaescsi.device' on consecutive
unit numbers starting at unit 0. However, depending on your host platform, unit numbers starting at unit 0. However, depending on your host platform,
there may a number of host configuration issues which can make using the there may a number of host configuration issues which can make using the
SCSI emulation problematic. SCSI emulation problematic.
I'll start with the easy stuff. If you're running E-UAE on AmigaOS (or a I'll start with the easy stuff. If you're running PUAE on AmigaOS (or a
clone) or BeOS, then don't worry. The SCSI emulation works transparently. clone) or BeOS, then don't worry. The SCSI emulation works transparently.
Just set the 'scsi=true' config option and away you go. Just set the 'scsi=true' config option and away you go.
...@@ -21,7 +21,7 @@ Just set the 'scsi=true' config option and away you go. ...@@ -21,7 +21,7 @@ Just set the 'scsi=true' config option and away you go.
Linux Linux
----- -----
Starting with version 0.8.29, E-UAE's SCSI emulation can directly Starting with version 0.8.29, PUAE's SCSI emulation can directly
communicate with the Linux kernel's CD-ROM driver to access a single communicate with the Linux kernel's CD-ROM driver to access a single
CD/DVD drive (it currently doesn't support multiple drives, unlike the CD/DVD drive (it currently doesn't support multiple drives, unlike the
libscg back-end). libscg back-end).
...@@ -31,13 +31,13 @@ option 'scsi_device=' (as well as, obviously, 'scsi=true'. For example: ...@@ -31,13 +31,13 @@ option 'scsi_device=' (as well as, obviously, 'scsi=true'. For example:
scsi_device=/dev/hdc scsi_device=/dev/hdc
You should ensure that the account you use to run E-UAE has permission You should ensure that the account you use to run PUAE has permission
to access this device file. to access this device file.
You may run into problems if your Linux distribution has the HAL You may run into problems if your Linux distribution has the HAL
daemon installed. This software continually polls your removable media daemon installed. This software continually polls your removable media
drives to detect insertion/removal of discs, and this activity may drives to detect insertion/removal of discs, and this activity may
interfere with E-UAE's SCSI emulation. A solution to this problem interfere with PUAE's SCSI emulation. A solution to this problem
needs to be investigated. needs to be investigated.
This Linux-native SCSI back-end is less well-tested than the libscg This Linux-native SCSI back-end is less well-tested than the libscg
...@@ -64,9 +64,9 @@ we'll come to that in a minute.) ...@@ -64,9 +64,9 @@ we'll come to that in a minute.)
If you're using sg or ide-scsi and sg, then your devices are accessed via If you're using sg or ide-scsi and sg, then your devices are accessed via
device nodes of the form /dev/sg0, /dev/sg1, etc. You need read and write device nodes of the form /dev/sg0, /dev/sg1, etc. You need read and write
permission on all of these for SCSI emulation in E-UAE to work (Note that permission on all of these for SCSI emulation in PUAE to work (Note that
cdrecord is typically installed SUID root, so typically the default cdrecord is typically installed SUID root, so typically the default
permissions on the /dev/sgx nodes will not be sufficient. Installing E-UAE as permissions on the /dev/sgx nodes will not be sufficient. Installing PUAE as
SUID root is one possibility, but not a terribly good idea security-wise. SUID root is one possibility, but not a terribly good idea security-wise.
One solution to this is to set the owner of the /dev/sgx nodes as the group One solution to this is to set the owner of the /dev/sgx nodes as the group
'cdrom' and add you own user account to that group. For example, as root, do 'cdrom' and add you own user account to that group. For example, as root, do
...@@ -80,9 +80,9 @@ If your system doesn't have the adduser command, you can always manually ...@@ -80,9 +80,9 @@ If your system doesn't have the adduser command, you can always manually
edit the /etc/group file or use some whizz-bang, GUI-based user/group edit the /etc/group file or use some whizz-bang, GUI-based user/group
configuration utility to do the job. configuration utility to do the job.
If you log in as yourself again and start E-UAE (remember to add 'scsi=true' If you log in as yourself again and start PUAE (remember to add 'scsi=true'
to your config file first), then the SCSI emulation should work. If so you'll to your config file first), then the SCSI emulation should work. If so you'll
see something like this logged to the console when E-UAE starts up. see something like this logged to the console when PUAE starts up.
scsibus0: scsibus0:
0,0,0 0 'BTC ' 'BCE1610IM ' 'A.20' CD-ROM 0,0,0 0 'BTC ' 'BCE1610IM ' 'A.20' CD-ROM
...@@ -96,7 +96,7 @@ scsibus0: ...@@ -96,7 +96,7 @@ scsibus0:
SCSIDEV: 1 devices found SCSIDEV: 1 devices found
support_scsi = 1 support_ioctl = 0 support_scsi = 1 support_ioctl = 0
If you're using a 2.6 kernel, E-UAE can access ATAPI devices on the host If you're using a 2.6 kernel, PUAE can access ATAPI devices on the host
directly via the kernel ide-cd driver without the sg kernel module. To do directly via the kernel ide-cd driver without the sg kernel module. To do
this on older 2.6 kernels, add the config option this on older 2.6 kernels, add the config option
...@@ -116,7 +116,7 @@ scsi_device=/dev/hdc ...@@ -116,7 +116,7 @@ scsi_device=/dev/hdc
MacOS X MacOS X
------- -------
Now we get to the real problems. SCSI emulation with E-UAE on OS X is Now we get to the real problems. SCSI emulation with PUAE on OS X is
currently a real pig, due to some features and limitations of OS X. The big currently a real pig, due to some features and limitations of OS X. The big
problem is that you need a writable device - a CD or DVD burner - for SCSI problem is that you need a writable device - a CD or DVD burner - for SCSI
emulation to work at all. This is because the OS X kernel will only let you emulation to work at all. This is because the OS X kernel will only let you
......
...@@ -2049,7 +2049,7 @@ empty_fs: ...@@ -2049,7 +2049,7 @@ empty_fs:
#ifdef FILESYS #ifdef FILESYS
add_filesys_config (p, -1, dname, aname, str, ro, secs, heads, reserved, bs, bp, fs, hdcv, 0); add_filesys_config (p, -1, dname, aname, str, ro, secs, heads, reserved, bs, bp, fs, hdcv, 0);
#endif #endif
free (str); free (str);
return 1; return 1;
invalid_fs: invalid_fs:
......
This diff is collapsed.
...@@ -47,8 +47,8 @@ extern uaecptr need_uae_boot_rom (void); ...@@ -47,8 +47,8 @@ extern uaecptr need_uae_boot_rom (void);
struct mountedinfo struct mountedinfo
{ {
uae_u64 size; uae_u64 size;
int ismounted; bool ismounted;
int ismedia; bool ismedia;
int nrcyls; int nrcyls;
}; };
...@@ -59,7 +59,7 @@ struct mountedinfo ...@@ -59,7 +59,7 @@ struct mountedinfo
extern char *validatedevicename (char *s); extern char *validatedevicename (char *s);
extern char *validatevolumename (char *s); extern char *validatevolumename (char *s);
int filesys_insert(int nr, char *volume, const char *rootdir, int readonly, int flags); int filesys_insert (int nr, TCHAR *volume, const TCHAR *rootdir, bool readonly, int flags);
int filesys_eject(int nr); int filesys_eject(int nr);
int filesys_media_change (const char *rootdir, int inserted, struct uaedev_config_info *uci); int filesys_media_change (const char *rootdir, int inserted, struct uaedev_config_info *uci);
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
typedef union { typedef union {
int i; int i;
uae_u32 u32; uae_u32 u32;
const void *pv; void *pv;
} uae_pt; } uae_pt;
/* These currently require the maximum size to be known at initialization /* These currently require the maximum size to be known at initialization
...@@ -55,8 +55,8 @@ STATIC_INLINE void maybe_wake_reader (smp_comm_pipe *p, int no_buffer) ...@@ -55,8 +55,8 @@ STATIC_INLINE void maybe_wake_reader (smp_comm_pipe *p, int no_buffer)
if (p->reader_waiting if (p->reader_waiting
&& (no_buffer || ((p->wrp - p->rdp + p->size) % p->size) >= p->chunks)) && (no_buffer || ((p->wrp - p->rdp + p->size) % p->size) >= p->chunks))
{ {
p->reader_waiting = 0; p->reader_waiting = 0;
uae_sem_post (&p->reader_wait); uae_sem_post (&p->reader_wait);
} }
} }
...@@ -65,23 +65,23 @@ STATIC_INLINE void write_comm_pipe_pt (smp_comm_pipe *p, uae_pt data, int no_buf ...@@ -65,23 +65,23 @@ STATIC_INLINE void write_comm_pipe_pt (smp_comm_pipe *p, uae_pt data, int no_buf
int nxwrp = (p->wrp + 1) % p->size; int nxwrp = (p->wrp + 1) % p->size;
if (p->reader_waiting) { if (p->reader_waiting) {
/* No need to do all the locking */ /* No need to do all the locking */
p->data[p->wrp] = data; p->data[p->wrp] = data;
p->wrp = nxwrp; p->wrp = nxwrp;
maybe_wake_reader (p, no_buffer); maybe_wake_reader (p, no_buffer);
return; return;
} }
uae_sem_wait (&p->lock); uae_sem_wait (&p->lock);
if (nxwrp == p->rdp) { if (nxwrp == p->rdp) {
/* Pipe full! */ /* Pipe full! */
p->writer_waiting = 1; p->writer_waiting = 1;
uae_sem_post (&p->lock); uae_sem_post (&p->lock);
/* Note that the reader could get in between here and do a /* Note that the reader could get in between here and do a
* sem_post on writer_wait before we wait on it. That's harmless. * sem_post on writer_wait before we wait on it. That's harmless.
* There's a similar case in read_comm_pipe_int_blocking. */ * There's a similar case in read_comm_pipe_int_blocking. */
uae_sem_wait (&p->writer_wait); uae_sem_wait (&p->writer_wait);
uae_sem_wait (&p->lock); uae_sem_wait (&p->lock);
} }
p->data[p->wrp] = data; p->data[p->wrp] = data;
p->wrp = nxwrp; p->wrp = nxwrp;
...@@ -95,18 +95,18 @@ STATIC_INLINE uae_pt read_comm_pipe_pt_blocking (smp_comm_pipe *p) ...@@ -95,18 +95,18 @@ STATIC_INLINE uae_pt read_comm_pipe_pt_blocking (smp_comm_pipe *p)
uae_sem_wait (&p->lock); uae_sem_wait (&p->lock);
if (p->rdp == p->wrp) { if (p->rdp == p->wrp) {
p->reader_waiting = 1; p->reader_waiting = 1;
uae_sem_post (&p->lock); uae_sem_post (&p->lock);
uae_sem_wait (&p->reader_wait); uae_sem_wait (&p->reader_wait);
uae_sem_wait (&p->lock); uae_sem_wait (&p->lock);
} }
data = p->data[p->rdp]; data = p->data[p->rdp];
p->rdp = (p->rdp + 1) % p->size; p->rdp = (p->rdp + 1) % p->size;
/* We ignore chunks here. If this is a problem, make the size bigger in the init call. */ /* We ignore chunks here. If this is a problem, make the size bigger in the init call. */
if (p->writer_waiting) { if (p->writer_waiting) {
p->writer_waiting = 0; p->writer_waiting = 0;
uae_sem_post (&p->writer_wait); uae_sem_post (&p->writer_wait);
} }
uae_sem_post (&p->lock); uae_sem_post (&p->lock);
return data; return data;
...@@ -128,7 +128,7 @@ STATIC_INLINE uae_u32 read_comm_pipe_u32_blocking (smp_comm_pipe *p) ...@@ -128,7 +128,7 @@ STATIC_INLINE uae_u32 read_comm_pipe_u32_blocking (smp_comm_pipe *p)
return foo.u32; return foo.u32;
} }
STATIC_INLINE const void *read_comm_pipe_pvoid_blocking (smp_comm_pipe *p) STATIC_INLINE void *read_comm_pipe_pvoid_blocking (smp_comm_pipe *p)
{ {
uae_pt foo = read_comm_pipe_pt_blocking (p); uae_pt foo = read_comm_pipe_pt_blocking (p);
return foo.pv; return foo.pv;
...@@ -148,7 +148,7 @@ STATIC_INLINE void write_comm_pipe_u32 (smp_comm_pipe *p, int data, int no_buffe ...@@ -148,7 +148,7 @@ STATIC_INLINE void write_comm_pipe_u32 (smp_comm_pipe *p, int data, int no_buffe
write_comm_pipe_pt (p, foo, no_buffer); write_comm_pipe_pt (p, foo, no_buffer);
} }
STATIC_INLINE void write_comm_pipe_pvoid (smp_comm_pipe *p, const void *data, int no_buffer) STATIC_INLINE void write_comm_pipe_pvoid (smp_comm_pipe *p, void *data, int no_buffer)
{ {
uae_pt foo; uae_pt foo;
foo.pv = data; foo.pv = data;
......
...@@ -13,14 +13,14 @@ ...@@ -13,14 +13,14 @@
#define UAE_STRING_H #define UAE_STRING_H
#ifdef HAVE_STRINGS_H #ifdef HAVE_STRINGS_H
# include <strings.h> #include <strings.h>
#endif #endif
#ifdef HAVE_STRING_H #ifdef HAVE_STRING_H
# include <string.h> #include <string.h>
#endif #endif
#ifdef HAVE_STRDUP #ifdef HAVE_STRDUP
# define my_strdup strdup #define my_strdup strdup
#else #else
extern char *my_strdup (const char *s); extern char *my_strdup (const char *s);
#endif #endif
......
...@@ -486,7 +486,7 @@ void setmouseactive (int active) ...@@ -486,7 +486,7 @@ void setmouseactive (int active)
char *au_fs_copy (char *dst, int maxlen, const char *src) char *au_fs_copy (char *dst, int maxlen, const char *src)
{ {
int i; unsigned int i;
for (i = 0; src[i] && i < maxlen - 1; i++) for (i = 0; src[i] && i < maxlen - 1; i++)
dst[i] = src[i]; dst[i] = src[i];
...@@ -496,13 +496,13 @@ char *au_fs_copy (char *dst, int maxlen, const char *src) ...@@ -496,13 +496,13 @@ char *au_fs_copy (char *dst, int maxlen, const char *src)
int my_existsfile (const char *name) int my_existsfile (const char *name)
{ {
struct stat sonuc; struct stat sonuc;
if (lstat (name, &sonuc) == -1) { if (lstat (name, &sonuc) == -1) {
return 0; return 0;
} else { } else {
if (!S_ISDIR(sonuc.st_mode)) if (!S_ISDIR(sonuc.st_mode))
return 1; return 1;
} }
return 0; return 0;
} }
......
...@@ -445,7 +445,7 @@ configure:4344: $? = 0 ...@@ -445,7 +445,7 @@ configure:4344: $? = 0
configure:4344: result: yes configure:4344: result: yes
configure:4350: checking for _doprnt configure:4350: checking for _doprnt
configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc9SecbZ.o: In function `main': /tmp/ccBiDfLi.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt' /home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4350: $? = 1 configure:4350: $? = 1
...@@ -533,7 +533,7 @@ configure:4364: $? = 0 ...@@ -533,7 +533,7 @@ configure:4364: $? = 0
configure:4364: result: yes configure:4364: result: yes
configure:4364: checking for strcmpi configure:4364: checking for strcmpi
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccXI8Zie.o: In function `main': /tmp/ccpI9QLu.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
...@@ -613,7 +613,7 @@ configure: failed program was: ...@@ -613,7 +613,7 @@ configure: failed program was:
configure:4364: result: no configure:4364: result: no
configure:4364: checking for stricmp configure:4364: checking for stricmp
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccaQV0Wi.o: In function `main': /tmp/cc94CjOB.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment