Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
PUAE
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
PUAE
Commits
332ed3d1
Commit
332ed3d1
authored
Jul 08, 2010
by
Mustafa 'GnoStiC' TUFAN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sync 2.2.1
parent
716e8cfa
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
2021 additions
and
913 deletions
+2021
-913
adide.c
src/adide.c
+7
-7
cpummu.c
src/cpummu.c
+23
-23
debug.c
src/debug.c
+1407
-583
filesys.c
src/filesys.c
+1
-0
menu.c
src/gui-sdl/menu.c
+8
-32
debug.h
src/include/debug.h
+1
-1
sysdeps.h
src/include/sysdeps.h
+1
-0
inputdevice.c
src/inputdevice.c
+270
-0
m68k.h
src/md-i386-gcc/m68k.h
+1
-1
m68k.h
src/md-ppc-gcc/m68k.h
+18
-17
m68kops.h
src/md-ppc-gcc/m68kops.h
+56
-63
misc.c
src/misc.c
+42
-0
ncr_scsi.c
src/ncr_scsi.c
+30
-30
readcpu.c
src/readcpu.c
+6
-6
serial.c
src/serial.c
+4
-4
config.log
src/tools/config.log
+3
-3
traps.c
src/traps.c
+143
-143
No files found.
src/adide.c
View file @
332ed3d1
/*
/*
* UAE - The Un*x Amiga Emulator
* UAE - The Un*x Amiga Emulator
*
*
* ADIDE
* ADIDE
*
*
* (c) 2009 Toni Wilen
* (c) 2009 Toni Wilen
*/
*/
#include "sysconfig.h"
#include "sysconfig.h"
#include "sysdeps.h"
#include "sysdeps.h"
...
...
src/cpummu.c
View file @
332ed3d1
/*
/*
* cpummu.cpp - MMU emulation
* cpummu.cpp - MMU emulation
*
*
* Copyright (c) 2001-2004 Milan Jurik of ARAnyM dev team (see AUTHORS)
* Copyright (c) 2001-2004 Milan Jurik of ARAnyM dev team (see AUTHORS)
*
*
* Inspired by UAE MMU patch
* Inspired by UAE MMU patch
*
*
* This file is part of the ARAnyM project which builds a new and powerful
* This file is part of the ARAnyM project which builds a new and powerful
* TOS/FreeMiNT compatible virtual machine running on almost any hardware.
* TOS/FreeMiNT compatible virtual machine running on almost any hardware.
*
*
* ARAnyM is free software; you can redistribute it and/or modify
* ARAnyM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* (at your option) any later version.
*
*
* ARAnyM is distributed in the hope that it will be useful,
* ARAnyM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License
* along with ARAnyM; if not, write to the Free Software
* along with ARAnyM; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
*/
#define DEBUG 0
#define DEBUG 0
#include "sysconfig.h"
#include "sysconfig.h"
...
...
src/debug.c
View file @
332ed3d1
This diff is collapsed.
Click to expand it.
src/filesys.c
View file @
332ed3d1
...
@@ -68,6 +68,7 @@
...
@@ -68,6 +68,7 @@
//FIXME: ---end
//FIXME: ---end
#define TRACING_ENABLED 0
#define TRACING_ENABLED 0
#define TRACE2(x) do { write_log x; } while(0)
#if TRACING_ENABLED
#if TRACING_ENABLED
#define TRACE(x) do { write_log x; } while(0)
#define TRACE(x) do { write_log x; } while(0)
#define DUMPLOCK(u,x) dumplock(u,x)
#define DUMPLOCK(u,x) dumplock(u,x)
...
...
src/gui-sdl/menu.c
View file @
332ed3d1
...
@@ -207,11 +207,11 @@ int gui_display(int shortcut){
...
@@ -207,11 +207,11 @@ int gui_display(int shortcut){
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_floppy
,
menu_sel_floppy
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_floppy
,
menu_sel_floppy
);
blit_image
(
icon_floppy
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_floppy
,
iconpos_x
,
iconpos_y
);
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_preferences
,
menu_sel_prefs
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_preferences
,
menu_sel_prefs
);
blit_image
(
icon_preferences
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_preferences
,
iconpos_x
,
iconpos_y
);
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_tweaks
,
menu_sel_tweaks
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_tweaks
,
menu_sel_tweaks
);
blit_image
(
icon_tweaks
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_tweaks
,
iconpos_x
,
iconpos_y
);
...
@@ -219,7 +219,7 @@ int gui_display(int shortcut){
...
@@ -219,7 +219,7 @@ int gui_display(int shortcut){
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_keymaps
,
menu_sel_keymaps
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_keymaps
,
menu_sel_keymaps
);
blit_image
(
icon_keymaps
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_keymaps
,
iconpos_x
,
iconpos_y
);
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_expansion
,
menu_sel_expansion
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_expansion
,
menu_sel_expansion
);
blit_image
(
icon_expansion
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_expansion
,
iconpos_x
,
iconpos_y
);
...
@@ -237,7 +237,7 @@ int gui_display(int shortcut){
...
@@ -237,7 +237,7 @@ int gui_display(int shortcut){
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_run
,
menu_sel_run
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_run
,
menu_sel_run
);
blit_image
(
icon_run
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_run
,
iconpos_x
,
iconpos_y
);
iconpos_x
+=
iconsizex
+
bosluk
;
iconpos_x
+=
iconsizex
+
bosluk
;
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_exit
,
menu_sel_exit
);
secilimi
(
iconpos_x
,
iconpos_y
,
mouse_x
,
mouse_y
,
icon_exit
,
menu_sel_exit
);
blit_image
(
icon_exit
,
iconpos_x
,
iconpos_y
);
blit_image
(
icon_exit
,
iconpos_x
,
iconpos_y
);
...
@@ -279,8 +279,8 @@ int gui_display(int shortcut){
...
@@ -279,8 +279,8 @@ int gui_display(int shortcut){
return
menu_exitcode
;
return
menu_exitcode
;
}
}
void
write_text
(
int
x
,
int
y
,
char
*
txt
)
{
void
write_text
(
int
x
,
int
y
,
char
*
txt
)
{
SDL_Surface
*
pText_Surface
=
TTF_RenderText_Solid
(
amiga_font
,
txt
,
text_color
);
SDL_Surface
*
pText_Surface
=
TTF_RenderText_Solid
(
amiga_font
,
txt
,
text_color
);
rect
.
x
=
x
;
rect
.
x
=
x
;
...
@@ -291,7 +291,8 @@ void write_text(int x, int y, char* txt) {
...
@@ -291,7 +291,8 @@ void write_text(int x, int y, char* txt) {
SDL_BlitSurface
(
pText_Surface
,
NULL
,
tmpSDLScreen
,
&
rect
);
SDL_BlitSurface
(
pText_Surface
,
NULL
,
tmpSDLScreen
,
&
rect
);
SDL_FreeSurface
(
pText_Surface
);
SDL_FreeSurface
(
pText_Surface
);
}
}
void
blit_image
(
SDL_Surface
*
img
,
int
x
,
int
y
)
{
void
blit_image
(
SDL_Surface
*
img
,
int
x
,
int
y
)
{
SDL_Rect
dest
;
SDL_Rect
dest
;
dest
.
x
=
x
;
dest
.
x
=
x
;
dest
.
y
=
y
;
dest
.
y
=
y
;
...
@@ -313,28 +314,3 @@ void secilimi (int ix, int iy, int mx, int my, SDL_Surface* img, int hangi) {
...
@@ -313,28 +314,3 @@ void secilimi (int ix, int iy, int mx, int my, SDL_Surface* img, int hangi) {
}
}
}
}
//
//
static
void
sigchldhandler
(
int
foo
)
{}
int
gui_update
(
void
){
return
0
;
}
void
gui_fps
(
int
fps
,
int
idle
){
gui_data
.
fps
=
fps
;
gui_data
.
idle
=
idle
;
}
void
gui_flicker_led
(
int
led
,
int
unitnum
,
int
status
){}
void
gui_led
(
int
led
,
int
on
){}
void
gui_filename
(
int
num
,
const
char
*
name
){}
void
gui_handle_events
(
void
){}
void
gui_changesettings
(
void
){}
void
gui_update_gfx
(
void
){}
void
gui_lock
(
void
){}
void
gui_unlock
(
void
){}
void
gui_message
(
const
char
*
format
,...){
char
msg
[
2048
];
va_list
parms
;
va_start
(
parms
,
format
);
vsprintf
(
msg
,
format
,
parms
);
va_end
(
parms
);
write_log
(
msg
);
}
src/include/debug.h
View file @
332ed3d1
...
@@ -37,7 +37,7 @@ extern void memory_map_dump (void);
...
@@ -37,7 +37,7 @@ extern void memory_map_dump (void);
extern
void
debug_help
(
void
);
extern
void
debug_help
(
void
);
extern
uaecptr
dumpmem2
(
uaecptr
addr
,
char
*
out
,
int
osize
);
extern
uaecptr
dumpmem2
(
uaecptr
addr
,
char
*
out
,
int
osize
);
extern
void
update_debug_info
(
void
);
extern
void
update_debug_info
(
void
);
extern
int
instruction_breakpoint
(
const
char
**
c
);
extern
int
instruction_breakpoint
(
TCHAR
**
c
);
extern
int
debug_bankchange
(
int
);
extern
int
debug_bankchange
(
int
);
#define BREAKPOINT_TOTAL 8
#define BREAKPOINT_TOTAL 8
...
...
src/include/sysdeps.h
View file @
332ed3d1
...
@@ -424,4 +424,5 @@ extern void xfree (const void*);
...
@@ -424,4 +424,5 @@ extern void xfree (const void*);
#define bool _Bool
#define bool _Bool
#define true 1
#define true 1
#define false 0
#define false 0
#define _vsntprintf vsnprintf
#endif
#endif
src/inputdevice.c
View file @
332ed3d1
...
@@ -147,6 +147,233 @@ static int bouncy;
...
@@ -147,6 +147,233 @@ static int bouncy;
static
signed
long
bouncy_cycles
;
static
signed
long
bouncy_cycles
;
#define BOUNCY_CYCLES 30
#define BOUNCY_CYCLES 30
#ifdef INPREC
int
inprec_open
(
TCHAR
*
fname
,
int
record
)
{
uae_u32
t
=
(
uae_u32
)
time
(
0
);
int
i
;
inprec_close
();
inprec_zf
=
zfile_fopen
(
fname
,
record
>
0
?
"wb"
:
"rb"
,
ZFD_NORMAL
);
if
(
inprec_zf
==
NULL
)
return
0
;
inprec_size
=
10000
;
inprec_div
=
1
;
if
(
record
<
0
)
{
uae_u32
id
;
zfile_fseek
(
inprec_zf
,
0
,
SEEK_END
);
inprec_size
=
zfile_ftell
(
inprec_zf
);
zfile_fseek
(
inprec_zf
,
0
,
SEEK_SET
);
inprec_buffer
=
inprec_p
=
xmalloc
(
uae_u8
,
inprec_size
);
zfile_fread
(
inprec_buffer
,
inprec_size
,
1
,
inprec_zf
);
inprec_plastptr
=
inprec_buffer
;
id
=
inprec_pu32
();
if
(
id
!=
'
UAE
\
0
'
)
{
inprec_close
();
return
0
;
}
inprec_pu32
();
t
=
inprec_pu32
();
i
=
inprec_pu32
();
while
(
i
--
>
0
)
inprec_pu8
();
inprec_p
=
inprec_plastptr
;
oldbuttons
[
0
]
=
oldbuttons
[
1
]
=
oldbuttons
[
2
]
=
oldbuttons
[
3
]
=
0
;
oldjoy
[
0
]
=
oldjoy
[
1
]
=
0
;
if
(
record
<
-
1
)
inprec_div
=
maxvpos
;
}
else
if
(
record
>
0
)
{
inprec_buffer
=
inprec_p
=
xmalloc
(
uae_u8
,
inprec_size
);
inprec_ru32
(
'
UAE
\
0
'
);
inprec_ru8
(
1
);
inprec_ru8
(
UAEMAJOR
);
inprec_ru8
(
UAEMINOR
);
inprec_ru8
(
UAESUBREV
);
inprec_ru32
(
t
);
inprec_ru32
(
0
);
// extra header size
}
else
{
return
0
;
}
input_recording
=
record
;
srand
(
t
);
CIA_inprec_prepare
();
write_log
(
"inprec initialized '%s', mode=%d
\n
"
,
fname
,
input_recording
);
return
1
;
}
void
inprec_close
(
void
)
{
if
(
!
inprec_zf
)
return
;
if
(
inprec_buffer
&&
input_recording
>
0
)
{
hsync_counter
++
;
inprec_rstart
(
INPREC_END
);
inprec_rend
();
hsync_counter
--
;
zfile_fwrite
(
inprec_buffer
,
inprec_p
-
inprec_buffer
,
1
,
inprec_zf
);
inprec_p
=
inprec_buffer
;
}
zfile_fclose
(
inprec_zf
);
inprec_zf
=
NULL
;
xfree
(
inprec_buffer
);
inprec_buffer
=
NULL
;
input_recording
=
0
;
write_log
(
"inprec finished
\n
"
);
}
void
inprec_ru8
(
uae_u8
v
)
{
*
inprec_p
++=
v
;
}
void
inprec_ru16
(
uae_u16
v
)
{
inprec_ru8
((
uae_u8
)(
v
>>
8
));
inprec_ru8
((
uae_u8
)
v
);
}
void
inprec_ru32
(
uae_u32
v
)
{
inprec_ru16
((
uae_u16
)(
v
>>
16
));
inprec_ru16
((
uae_u16
)
v
);
}
void
inprec_rstr
(
const
TCHAR
*
src
)
{
char
*
s
=
ua
(
src
);
while
(
*
s
)
{
inprec_ru8
(
*
s
);
s
++
;
}
inprec_ru8
(
0
);
xfree
(
s
);
}
void
inprec_rstart
(
uae_u8
type
)
{
write_log
(
"INPREC: %08X: %d
\n
"
,
hsync_counter
,
type
);
inprec_ru32
(
hsync_counter
);
inprec_ru8
(
0
);
inprec_plast
=
inprec_p
;
inprec_ru8
(
0xff
);
inprec_ru8
(
type
);
}
void
inprec_rend
(
void
)
{
*
inprec_plast
=
inprec_p
-
(
inprec_plast
+
2
);
if
(
inprec_p
>=
inprec_buffer
+
inprec_size
-
256
)
{
zfile_fwrite
(
inprec_buffer
,
inprec_p
-
inprec_buffer
,
1
,
inprec_zf
);
inprec_p
=
inprec_buffer
;
}
}
int
inprec_pstart
(
uae_u8
type
)
{
uae_u8
*
p
=
inprec_p
;
uae_u32
hc
=
hsync_counter
;
static
uae_u8
*
lastp
;
uae_u32
hc_orig
,
hc2_orig
;
if
(
savestate_state
)
return
0
;
if
(
p
[
5
+
1
]
==
INPREC_END
)
{
inprec_close
();
return
0
;
}
else
if
(
p
[
5
+
1
]
==
INPREC_QUIT
)
{
inprec_close
();
uae_quit
();
return
0
;
}
hc_orig
=
hc
;
hc
/=
inprec_div
;
hc
*=
inprec_div
;
for
(;;)
{
uae_u32
hc2
=
(
p
[
0
]
<<
24
)
|
(
p
[
1
]
<<
16
)
|
(
p
[
2
]
<<
8
)
|
p
[
3
];
if
(
p
>
lastp
)
{
write_log
(
"INPREC: Next %08x (%08x=%d): %d (%d)
\n
"
,
hc2
,
hc
,
hc2
-
hc
,
p
[
5
+
1
],
p
[
5
]);
lastp
=
p
;
}
hc2_orig
=
hc2
;
hc2
/=
inprec_div
;
hc2
*=
inprec_div
;
if
(
hc
>
hc2
)
{
write_log
(
"INPREC: %08x > %08x: %d (%d) missed!
\n
"
,
hc
,
hc2
,
p
[
5
+
1
],
p
[
5
]);
inprec_close
();
return
0
;
}
if
(
hc2
!=
hc
)
{
lastp
=
p
;
break
;
}
if
(
p
[
5
+
1
]
==
type
)
{
write_log
(
"INPREC: %08x: %d (%d) (%+d)
\n
"
,
hc
,
type
,
p
[
5
],
hc_orig
-
hc2_orig
);
inprec_plast
=
p
;
inprec_plastptr
=
p
+
5
+
2
;
return
1
;
}
p
+=
5
+
2
+
p
[
5
];
}
inprec_plast
=
NULL
;
return
0
;
}
void
inprec_pend
(
void
)
{
uae_u8
*
p
=
inprec_p
;
uae_u32
hc
=
hsync_counter
;
if
(
!
inprec_plast
)
return
;
inprec_plast
[
5
+
1
]
=
0
;
inprec_plast
=
NULL
;
inprec_plastptr
=
NULL
;
hc
/=
inprec_div
;
hc
*=
inprec_div
;
for
(;;)
{
uae_u32
hc2
=
(
p
[
0
]
<<
24
)
|
(
p
[
1
]
<<
16
)
|
(
p
[
2
]
<<
8
)
|
p
[
3
];
hc2
/=
inprec_div
;
hc2
*=
inprec_div
;
if
(
hc2
!=
hc
)
break
;
if
(
p
[
5
+
1
]
!=
0
)
return
;
p
+=
5
+
2
+
p
[
5
];
}
inprec_p
=
p
;
if
(
p
[
5
+
1
]
==
INPREC_END
)
inprec_close
();
}
uae_u8
inprec_pu8
(
void
)
{
return
*
inprec_plastptr
++
;
}
uae_u16
inprec_pu16
(
void
)
{
uae_u16
v
=
inprec_pu8
()
<<
8
;
v
|=
inprec_pu8
();
return
v
;
}
uae_u32
inprec_pu32
(
void
)
{
uae_u32
v
=
inprec_pu16
()
<<
16
;
v
|=
inprec_pu16
();
return
v
;
}
int
inprec_pstr
(
TCHAR
*
dst
)
{
char
tmp
[
MAX_DPATH
];
char
*
s
;
int
len
=
0
;
s
=
tmp
;
for
(;;)
{
uae_u8
v
=
inprec_pu8
();
*
s
++
=
v
;
if
(
!
v
)
break
;
len
++
;
}
au_copy
(
dst
,
MAX_DPATH
,
tmp
);
return
len
;
}
#endif
static
int
isdevice
(
const
struct
uae_input_device
*
id
)
static
int
isdevice
(
const
struct
uae_input_device
*
id
)
{
{
int
i
,
j
;
int
i
,
j
;
...
@@ -1571,7 +1798,35 @@ STATIC_INLINE int adjust (int val)
...
@@ -1571,7 +1798,35 @@ STATIC_INLINE int adjust (int val)
int
getbuttonstate
(
int
joy
,
int
button
)
int
getbuttonstate
(
int
joy
,
int
button
)
{
{
#ifdef INPREC
int
v
;
v
=
(
joybutton
[
joy
]
&
(
1
<<
button
))
?
1
:
0
;
if
(
input_recording
>
0
&&
((
joybutton
[
joy
]
^
oldbuttons
[
joy
])
&
(
1
<<
button
)))
{
oldbuttons
[
joy
]
&=
~
(
1
<<
button
);
if
(
v
)
oldbuttons
[
joy
]
|=
1
<<
button
;
inprec_rstart
(
INPREC_JOYBUTTON
);
inprec_ru8
(
joy
);
inprec_ru8
(
button
);
inprec_ru8
(
v
);
inprec_rend
();
}
else
if
(
input_recording
<
0
)
{
while
(
inprec_pstart
(
INPREC_JOYBUTTON
))
{
uae_u8
j
=
inprec_pu8
();
uae_u8
but
=
inprec_pu8
();
uae_u8
vv
=
inprec_pu8
();
inprec_pend
();
oldbuttons
[
j
]
&=
~
(
1
<<
but
);
if
(
vv
)
oldbuttons
[
j
]
|=
1
<<
but
;
}
v
=
(
oldbuttons
[
joy
]
&
(
1
<<
button
))
?
1
:
0
;
}
return
v
;
#else
return
(
joybutton
[
joy
]
&
(
1
<<
button
))
?
1
:
0
;
return
(
joybutton
[
joy
]
&
(
1
<<
button
))
?
1
:
0
;
#endif
}
}
static
int
getvelocity
(
int
num
,
int
subnum
,
int
pct
)
static
int
getvelocity
(
int
num
,
int
subnum
,
int
pct
)
...
@@ -1731,6 +1986,21 @@ int getjoystate (int joy)
...
@@ -1731,6 +1986,21 @@ int getjoystate (int joy)
#ifdef DONGLE_DEBUG
#ifdef DONGLE_DEBUG
if
(
notinrom
())
if
(
notinrom
())
write_log
(
"JOY%dDAT %04X %s
\n
"
,
joy
,
v
,
debuginfo
(
0
));
write_log
(
"JOY%dDAT %04X %s
\n
"
,
joy
,
v
,
debuginfo
(
0
));
#endif
#ifdef INPREC
if
(
input_recording
>
0
&&
oldjoy
[
joy
]
!=
v
)
{
oldjoy
[
joy
]
=
v
;
inprec_rstart
(
INPREC_JOYPORT
);
inprec_ru16
(
v
);
inprec_rend
();
}
else
if
(
input_recording
<
0
)
{
v
=
oldjoy
[
joy
];
if
(
inprec_pstart
(
INPREC_JOYPORT
))
{
v
=
inprec_pu16
();
inprec_pend
();
}
oldjoy
[
joy
]
=
v
;
}
#endif
#endif
return
v
;
return
v
;
}
}
...
...
src/md-i386-gcc/m68k.h
View file @
332ed3d1
...
@@ -24,7 +24,7 @@ extern struct flag_struct regflags;
...
@@ -24,7 +24,7 @@ extern struct flag_struct regflags;
* with a setto %AL instr and the other flags copied to AH with an
* with a setto %AL instr and the other flags copied to AH with an
* lahf instr).
* lahf instr).
*
*
* The 68k CZNV flags are thus assi
ng
ed in cznv as:
* The 68k CZNV flags are thus assi
gn
ed in cznv as:
*
*
* <--AL--> <--AH-->
* <--AL--> <--AH-->
* 76543210 FEDCBA98 --------- ---------
* 76543210 FEDCBA98 --------- ---------
...
...
src/md-ppc-gcc/m68k.h
View file @
332ed3d1
...
@@ -56,31 +56,32 @@ extern struct flag_struct regflags;
...
@@ -56,31 +56,32 @@ extern struct flag_struct regflags;
#define FLAGVAL_V (1 << FLAGBIT_V)
#define FLAGVAL_V (1 << FLAGBIT_V)
#define FLAGVAL_X (1 << FLAGBIT_X)
#define FLAGVAL_X (1 << FLAGBIT_X)
#define SET_ZFLG(
flags, y) ((flags)->cznv = ((flags)->cznv & ~FLAGVAL_Z) | ((y
) << FLAGBIT_Z))
#define SET_ZFLG(
y) (regflags.cznv = (regflags.cznv & ~FLAGVAL_Z) | (((y) ? 1 : 0
) << FLAGBIT_Z))
#define SET_CFLG(
flags, y) ((flags)->cznv = ((flags)->cznv & ~FLAGVAL_C) | ((y
) << FLAGBIT_C))
#define SET_CFLG(
y) (regflags.cznv = (regflags.cznv & ~FLAGVAL_C) | (((y) ? 1 : 0
) << FLAGBIT_C))
#define SET_VFLG(
flags, y) ((flags)->cznv = ((flags)->cznv & ~FLAGVAL_V) | ((y
) << FLAGBIT_V))
#define SET_VFLG(
y) (regflags.cznv = (regflags.cznv & ~FLAGVAL_V) | (((y) ? 1 : 0
) << FLAGBIT_V))
#define SET_NFLG(
flags, y) ((flags)->cznv = ((flags)->cznv & ~FLAGVAL_N) | ((y
) << FLAGBIT_N))
#define SET_NFLG(
y) (regflags.cznv = (regflags.cznv & ~FLAGVAL_N) | (((y) ? 1 : 0
) << FLAGBIT_N))
#define SET_XFLG(
flags, y) ((flags)->x = ((y) << FLAGBIT_X)
)
#define SET_XFLG(
y) (regflags.x = ((y) ? 1 : 0) << FLAGBIT_X
)
#define GET_ZFLG(
flags) (((flags)->
cznv >> FLAGBIT_Z) & 1)
#define GET_ZFLG(
) ((regflags.
cznv >> FLAGBIT_Z) & 1)
#define GET_CFLG(
flags) (((flags)->
cznv >> FLAGBIT_C) & 1)
#define GET_CFLG(
) ((regflags.
cznv >> FLAGBIT_C) & 1)
#define GET_VFLG(
flags) (((flags)->
cznv >> FLAGBIT_V) & 1)
#define GET_VFLG(
) ((regflags.
cznv >> FLAGBIT_V) & 1)
#define GET_NFLG(
flags) (((flags)->
cznv >> FLAGBIT_N) & 1)
#define GET_NFLG(
) ((regflags.
cznv >> FLAGBIT_N) & 1)
#define GET_XFLG(
flags) (((flags)->x
>> FLAGBIT_X) & 1)
#define GET_XFLG(
) ((regflags.x
>> FLAGBIT_X) & 1)
#define CLEAR_CZNV(flags) ((flags)->cznv = 0)
#define CLEAR_CZNV() (regflags.cznv = 0)
#define GET_CZNV(flags) ((flags)->cznv)
#define GET_CZNV (regflags.cznv)
#define IOR_CZNV(flags, X) ((flags)->cznv |= (X))
#define IOR_CZNV(X) (regflags.cznv |= (X))
#define SET_CZNV(flags, X) ((flags)->cznv = (X))
#define SET_CZNV(X) (regflags.cznv = (X))
#define COPY_CARRY (regflags.x = regflags.cznv)
#define COPY_CARRY(flags) ((flags)->x = (flags)->cznv)
/*
/*
* Test CCR condition
* Test CCR condition
*/
*/
STATIC_INLINE
int
cctrue
(
const
struct
flag_struct
*
flags
,
int
cc
)
STATIC_INLINE
int
cctrue
(
int
cc
)
{
{
uae_u32
cznv
=
flags
->
cznv
;
uae_u32
cznv
=
regflags
.
cznv
;
switch
(
cc
)
{
switch
(
cc
)
{
case
0
:
return
1
;
/* T */
case
0
:
return
1
;
/* T */
...
...
src/md-ppc-gcc/m68kops.h
View file @
332ed3d1
...
@@ -31,89 +31,82 @@
...
@@ -31,89 +31,82 @@
*
*
* Evaluate operand and set Z and N flags. Always clear C and V.
* Evaluate operand and set Z and N flags. Always clear C and V.
*/
*/
#define optflag_testl(regs, v) \
#define optflag_testl (v) \
do { \
do { \
uae_u32 tmp; \
asm ( \
asm ( \
"cmpi cr0, %2, 0 \n\t" \
"cmpi cr0, %2, 0 \n\t" \
"mfcr %1 \n\t" \
"mfcr %1 \n\t" \
"rlwinm %0, %1, 0, 0, 3 \n\t" \
"rlwinm %0, %1, 0, 0, 3 \n\t" \
\
\
:: "r" (v) \
: "=r" ((regs)->ccrflags.cznv), \
: "cr0" \
"=r" (tmp) \
); \
: "r" (v) \
: "cr0" \
); \
} while (0)
} while (0)
#define optflag_testw(
regs, v) optflag_testl(regs,
(uae_s32)(v))
#define optflag_testw(
v) optflag_testl(
(uae_s32)(v))
#define optflag_testb(
regs, v) optflag_testl(regs,
(uae_s32)(v))
#define optflag_testb(
v) optflag_testl(
(uae_s32)(v))
/*
/*
* Add operations
* Add operations
*
*
* Perform v = s + d and set ZNCV accordingly
* Perform v = s + d and set ZNCV accordingly
*/
*/
#define optflag_addl(
regs,
v, s, d) \
#define optflag_addl(v, s, d) \
do {
\
do { \
asm (
\
asm ( \
"addco. %1, %2, %3 \n\t"
\
"addco. %1, %2, %3 \n\t" \
"mcrxr cr2 \n\t"
\
"mcrxr cr2 \n\t" \
"mfcr %0 \n\t"
\
"mfcr %0 \n\t" \
\
\
: "=r" (
(regs)->ccrflags.cznv), "=r" (v)
\
: "=r" (
v)
\
: "r" (s), "r" (d)
\
: "r" (s), "r" (d) \
: "cr0", "cr2" DEP_XER
\
: "cr0", "cr2" DEP_XER \
);
\
); \
COPY_CARRY(&(regs)->ccrflags);
\
regflags.x = regflags.cznv;
\
} while (0)
} while (0)
#define optflag_addw(
regs, v, s, d) do { optflag_addl(regs,
(v), (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_addw(
v, s, d) do { optflag_addl(
(v), (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_addb(
regs, v, s, d) do { optflag_addl(regs,
(v), (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_addb(
v, s, d) do { optflag_addl(
(v), (s) << 24, (d) << 24); v = v >> 24; } while (0)
/*
/*
* Subtraction operations
* Subtraction operations
*
*
* Perform v = d - s and set ZNCV accordingly
* Perform v = d - s and set ZNCV accordingly
*/
*/
#define optflag_subl(regs, v, s, d) \
#define optflag_subl(v, s, d) \
do { \
do { \
asm ( \
asm ( \
"subfco. %1, %2, %3 \n\t" \
"subfco. %1, %2, %3 \n\t" \
"mcrxr cr2 \n\t" \
"mcrxr cr2 \n\t" \
"mfcr %0 \n\t" \
"mfcr %0 \n\t" \
"xoris %0,%0,32 \n\t" \
"xoris %0,%0,32 \n\t" \
\
\
: "=r" ((regs)->ccrflags.cznv), \
: "=r" (v) \
"=r" (v) \
: "r" (s), \
: "r" (s), \
"r" (d) \
"r" (d) \
: "cr0", "cr2" DEP_XER \
: "cr0", "cr2" DEP_XER \
); \
); \
regflags.x = regflags.cznv; \
COPY_CARRY(&(regs)->ccrflags); \
} while (0)
} while (0)
#define optflag_subw(
regs, v, s, d) do { optflag_subl(regs,
v, (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_subw(
v, s, d) do { optflag_subl(
v, (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_subb(
regs, v, s, d) do { optflag_subl(regs,
v, (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_subb(
v, s, d) do { optflag_subl(
v, (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_cmpl(regs, s, d) \
#define optflag_cmpl(s, d) \
do { \
do { \
uae_s32 tmp; \
asm ( \
asm ( \
"subfco. %1, %2, %3 \n\t" \
"subfco. %1, %2, %3 \n\t" \
"mcrxr cr2 \n\t" \
"mcrxr cr2 \n\t" \
"mfcr %0 \n\t" \
"mfcr %0 \n\t" \
"xoris %0,%0,32 \n\t" \
"xoris %0,%0,32 \n\t" \
\
\
:: "r" (s), \
: "=r" ((regs)->ccrflags.cznv), \
"r" (d) \
"=r" (tmp) \
: "cr0", "cr2" DEP_XER \
: "r" (s), \
); \
"r" (d) \
: "cr0", "cr2" DEP_XER \
); \
} while (0)
} while (0)
#define optflag_cmpw(
regs, s, d) optflag_cmpl(regs,
(s) << 16, (d) << 16)
#define optflag_cmpw(
s, d) optflag_cmpl(
(s) << 16, (d) << 16)
#define optflag_cmpb(
regs, s, d) optflag_cmpl(regs,
(s) << 24, (d) << 24)
#define optflag_cmpb(
s, d) optflag_cmpl(
(s) << 24, (d) << 24)
#endif
/* EUAE_MACHDEP_M68KOPS_H */
#endif
/* EUAE_MACHDEP_M68KOPS_H */
src/misc.c
View file @
332ed3d1
...
@@ -925,3 +925,45 @@ TCHAR *au_copy (TCHAR *dst, int maxlen, const char *src)
...
@@ -925,3 +925,45 @@ TCHAR *au_copy (TCHAR *dst, int maxlen, const char *src)
memcpy
(
dst
,
src
,
maxlen
);
memcpy
(
dst
,
src
,
maxlen
);
return
dst
;
return
dst
;
}
}
//writelog.cpp
int
consoleopen
=
0
;
static
int
realconsole
=
1
;
static
int
debugger_type
=
-
1
;
static
void
openconsole
(
void
)
{
if
(
realconsole
)
{
if
(
debugger_type
==
2
)
{
//open_debug_window ();
consoleopen
=
1
;
}
else
{
//close_debug_window ();
consoleopen
=
-
1
;
}
return
;
}
}
void
close_console
(
void
)
{
if
(
realconsole
)
return
;
}
void
debugger_change
(
int
mode
)
{
if
(
mode
<
0
)
debugger_type
=
debugger_type
==
2
?
1
:
2
;
else
debugger_type
=
mode
;
if
(
debugger_type
!=
1
&&
debugger_type
!=
2
)
debugger_type
=
2
;
// regsetint (NULL, "DebuggerType", debugger_type);
openconsole
();
}
//unicode.c
char
*
ua
(
const
TCHAR
*
s
)
{
return
s
;
}
src/ncr_scsi.c
View file @
332ed3d1
/*
/*
* UAE - The Un*x Amiga Emulator
* UAE - The Un*x Amiga Emulator
*
*
* A4000T NCR 53C710 SCSI (nothing done yet)
* A4000T NCR 53C710 SCSI (nothing done yet)
*
*
* (c) 2007 Toni Wilen
* (c) 2007 Toni Wilen
*/
*/
#ifdef NCR
#ifdef NCR
#define NCR_LOG 1
#define NCR_LOG 1
...
@@ -47,24 +47,24 @@ static struct ncrscsi regsinfo[] =
...
@@ -47,24 +47,24 @@ static struct ncrscsi regsinfo[] =
{
{
"SCNTL0"
,
0
,
3
,
"SCNTL0"
,
0
,
3
,
"SCNTL1"
,
1
,
2
,
"SCNTL1"
,
1
,
2
,
"SDID"
,
2
,
1
,
"SDID"
,
2
,
1
,
"SIEN"
,
3
,
0
,
"SIEN"
,
3
,
0
,
"SCID"
,
4
,
7
,
"SCID"
,
4
,
7
,
"SXFER"
,
5
,
6
,
"SXFER"
,
5
,
6
,
"SODL"
,
6
,
5
,
"SODL"
,
6
,
5
,
"SOCL"
,
7
,
4
,
"SOCL"
,
7
,
4
,
"SFBR"
,
8
,
11
,
"SFBR"
,
8
,
11
,
"SIDL"
,
9
,
10
,
"SIDL"
,
9
,
10
,
"SBDL"
,
10
,
-
1
,
"SBDL"
,
10
,
-
1
,
"SBCL"
,
11
,
8
,
"SBCL"
,
11
,
8
,
"DSTAT"
,
12
,
15
,
"DSTAT"
,
12
,
15
,
"SSTAT0"
,
13
,
14
,
"SSTAT0"
,
13
,
14
,
"SSTAT1"
,
14
,
13
,
"SSTAT1"
,
14
,
13
,
"SSTAT2"
,
15
,
12
,
"SSTAT2"
,
15
,
12
,
"DSA0"
,
16
,
19
,
"DSA0"
,
16
,
19
,
"DSA1"
,
17
,
18
,
"DSA1"
,
17
,
18
,
"DSA2"
,
18
,
17
,
"DSA2"
,
18
,
17
,
"DSA3"
,
19
,
16
,
"DSA3"
,
19
,
16
,
"CTEST0"
,
20
,
23
,
"CTEST0"
,
20
,
23
,
"CTEST1"
,
21
,
22
,
"CTEST1"
,
21
,
22
,
"CTEST2"
,
22
,
21
,
"CTEST2"
,
22
,
21
,
...
@@ -80,19 +80,19 @@ static struct ncrscsi regsinfo[] =
...
@@ -80,19 +80,19 @@ static struct ncrscsi regsinfo[] =
"DFIFO"
,
32
,
35
,
"DFIFO"
,
32
,
35
,
"ISTAT"
,
33
,
34
,
"ISTAT"
,
33
,
34
,
"CTEST8"
,
34
,
33
,
"CTEST8"
,
34
,
33
,
"LCRC"
,
35
,
32
,
"LCRC"
,
35
,
32
,
"DBC0"
,
36
,
39
,
"DBC0"
,
36
,
39
,
"DBC1"
,
37
,
38
,
"DBC1"
,
37
,
38
,
"DBC2"
,
38
,
37
,
"DBC2"
,
38
,
37
,
"DCMD"
,
39
,
36
,
"DCMD"
,
39
,
36
,
"DNAD0"
,
40
,
43
,
"DNAD0"
,
40
,
43
,
"DNAD1"
,
41
,
42
,
"DNAD1"
,
41
,
42
,
"DNAD2"
,
42
,
41
,
"DNAD2"
,
42
,
41
,
"DNAD3"
,
43
,
40
,
"DNAD3"
,
43
,
40
,
"DSP0"
,
44
,
47
,
"DSP0"
,
44
,
47
,
"DSP1"
,
45
,
46
,
"DSP1"
,
45
,
46
,
"DSP2"
,
46
,
45
,
"DSP2"
,
46
,
45
,
"DSP3"
,
47
,
44
,
"DSP3"
,
47
,
44
,
"DSPS0"
,
48
,
51
,
"DSPS0"
,
48
,
51
,
"DSPS1"
,
49
,
50
,
"DSPS1"
,
49
,
50
,
"DSPS2"
,
50
,
49
,
"DSPS2"
,
50
,
49
,
...
@@ -102,8 +102,8 @@ static struct ncrscsi regsinfo[] =
...
@@ -102,8 +102,8 @@ static struct ncrscsi regsinfo[] =
"SCRATCH2"
,
54
,
53
,
"SCRATCH2"
,
54
,
53
,
"SCRATCH3"
,
55
,
52
,
"SCRATCH3"
,
55
,
52
,
"DMODE"
,
56
,
59
,
"DMODE"
,
56
,
59
,
"DIEN"
,
57
,
58
,
"DIEN"
,
57
,
58
,
"DWT"
,
58
,
57
,
"DWT"
,
58
,
57
,
"DCNTL"
,
59
,
56
,
"DCNTL"
,
59
,
56
,
"ADDER0"
,
60
,
63
,
"ADDER0"
,
60
,
63
,
"ADDER1"
,
61
,
62
,
"ADDER1"
,
61
,
62
,
...
...
src/readcpu.c
View file @
332ed3d1
...
@@ -797,7 +797,7 @@ void read_table68k (void)
...
@@ -797,7 +797,7 @@ void read_table68k (void)
}
}
}
}
static
int
mismatch
;
static
int
i
mismatch
;
static
void
handle_merges
(
long
int
opcode
)
static
void
handle_merges
(
long
int
opcode
)
{
{
...
@@ -852,20 +852,20 @@ static void handle_merges (long int opcode)
...
@@ -852,20 +852,20 @@ static void handle_merges (long int opcode)
||
table68k
[
code
].
suse
!=
table68k
[
opcode
].
suse
||
table68k
[
code
].
suse
!=
table68k
[
opcode
].
suse
||
table68k
[
code
].
duse
!=
table68k
[
opcode
].
duse
)
||
table68k
[
code
].
duse
!=
table68k
[
opcode
].
duse
)
{
{
mismatch
++
;
continue
;
i
mismatch
++
;
continue
;
}
}
if
(
table68k
[
opcode
].
suse
if
(
table68k
[
opcode
].
suse
&&
(
table68k
[
opcode
].
spos
!=
table68k
[
code
].
spos
&&
(
table68k
[
opcode
].
spos
!=
table68k
[
code
].
spos
||
table68k
[
opcode
].
smode
!=
table68k
[
code
].
smode
||
table68k
[
opcode
].
smode
!=
table68k
[
code
].
smode
||
table68k
[
opcode
].
stype
!=
table68k
[
code
].
stype
))
||
table68k
[
opcode
].
stype
!=
table68k
[
code
].
stype
))
{
{
mismatch
++
;
continue
;
i
mismatch
++
;
continue
;
}
}
if
(
table68k
[
opcode
].
duse
if
(
table68k
[
opcode
].
duse
&&
(
table68k
[
opcode
].
dpos
!=
table68k
[
code
].
dpos
&&
(
table68k
[
opcode
].
dpos
!=
table68k
[
code
].
dpos
||
table68k
[
opcode
].
dmode
!=
table68k
[
code
].
dmode
))
||
table68k
[
opcode
].
dmode
!=
table68k
[
code
].
dmode
))
{
{
mismatch
++
;
continue
;
i
mismatch
++
;
continue
;
}
}
if
(
code
!=
opcode
)
if
(
code
!=
opcode
)
...
@@ -878,7 +878,7 @@ void do_merges (void)
...
@@ -878,7 +878,7 @@ void do_merges (void)
{
{
long
int
opcode
;
long
int
opcode
;
int
nr
=
0
;
int
nr
=
0
;
mismatch
=
0
;
i
mismatch
=
0
;
for
(
opcode
=
0
;
opcode
<
65536
;
opcode
++
)
{
for
(
opcode
=
0
;
opcode
<
65536
;
opcode
++
)
{
if
(
table68k
[
opcode
].
handler
!=
-
1
||
table68k
[
opcode
].
mnemo
==
i_ILLG
)
if
(
table68k
[
opcode
].
handler
!=
-
1
||
table68k
[
opcode
].
mnemo
==
i_ILLG
)
continue
;
continue
;
...
@@ -890,5 +890,5 @@ void do_merges (void)
...
@@ -890,5 +890,5 @@ void do_merges (void)
int
get_no_mismatches
(
void
)
int
get_no_mismatches
(
void
)
{
{
return
mismatch
;
return
i
mismatch
;
}
}
src/serial.c
View file @
332ed3d1
...
@@ -42,11 +42,11 @@
...
@@ -42,11 +42,11 @@
#define O_NONBLOCK O_NDELAY
#define O_NONBLOCK O_NDELAY
#endif
#endif
#define SERIALDEBUG
1
/* 0, 1, 2 3 */
#define SERIALDEBUG
1
/* 0, 1, 2 3 */
#define MODEMTEST
0
/* 0 or 1 */
#define MODEMTEST
0
/* 0 or 1 */
void
serial_open
(
void
);
void
serial_open
(
void
);
void
serial_close
(
void
);
void
serial_close
(
void
);
void
serial_init
(
void
);
void
serial_init
(
void
);
void
serial_exit
(
void
);
void
serial_exit
(
void
);
...
...
src/tools/config.log
View file @
332ed3d1
...
@@ -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/cc
Jt8Zal
.o: In function `main':
/tmp/cc
NsQ6E6
.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/cc
mv4giy
.o: In function `main':
/tmp/cc
ttoGGl
.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/cc
zfg0cD
.o: In function `main':
/tmp/cc
ls9BAq
.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
...
...
src/traps.c
View file @
332ed3d1
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment