Commit Graph

789 Commits

Author SHA1 Message Date
gbeauche
1af0362296 fix loff_t & caddr_t type checks 2003-11-21 14:16:02 +00:00
gbeauche
3630404307 fix fp_do_sgn1() for "double"-targets 2003-11-21 13:27:47 +00:00
nigel
d9a7e20b8b Latest changes from Unix version (which I don't think work) 2003-11-18 11:19:35 +00:00
nigel
39cc371988 Latest changes from Unix version (mostly signal/page zero fixes) 2003-11-18 11:17:55 +00:00
nigel
ee0958380c Compile fix for OS X (which does not define loff_t) 2003-11-18 11:14:43 +00:00
gbeauche
d4ad77d734 really fix writes to byte registers 2003-11-11 00:10:39 +00:00
gbeauche
4bce0876c0 fix configure tests. i.e. move up arch_insn_skipper_tests() 2003-11-10 23:54:31 +00:00
gbeauche
1169001df7 Extend x86 instruction skipper to AMD64. Add plenty of arch dependent
opcodes to test it. Also fix DEBUG output & writes (zero'ing) to %xH regs
2003-11-10 23:47:39 +00:00
gbeauche
9057fda327 - FreeBSD/i386 sigcontext subterfuge support for instruction skipper
- NetBSD/alpha support from Boehm GC
- NetBSD/i386 won't work in sigcontext subterfuge mode unless instruction
  is decoded more accurately to compute the effective address. Also note
  that NetBSD 1.6 does not support siginfo_t yet.
2003-10-21 23:10:19 +00:00
gbeauche
f8a0f363ea Solaris/SPARC support for SIGSEGV_FAULT_INSTRUCTION 2003-10-21 21:59:41 +00:00
gbeauche
309c2f0bd5 Add "jitblacklist" prefs item so that opcodes ranges could be excluded for
translation. This should help debugging of (badly) translated code.

Usage: jitblacklist xxxx(-yyyy)?(;xxxx(-yyyy)?)*
where xxxx/yyyy are hexadecimal numbers
2003-10-14 10:29:19 +00:00
gbeauche
75df809ff7 fix merge with Mach exception filters, we have preconditions to check 2003-10-13 20:15:41 +00:00
gbeauche
6a60d56bf2 indentation fixes, optimize handle_badaccess() to receive only necessary
data and don't copy a struct sigcontext again on x86.
2003-10-13 19:56:17 +00:00
gbeauche
14b51b9519 return something more convenient to debug on errors 2003-10-13 19:43:09 +00:00
gbeauche
45c30ba9f2 Merge in __PAGEZERO hack from Michael Z. Sliczniak so that REAL_ADDRESSING
mode can work under Darwin.
2003-10-12 22:39:59 +00:00
gbeauche
4641be3209 Really make sure VERSION & PACKAGE macros are defined when generating a
configure script with autoconf 2.52.
2003-10-12 21:58:02 +00:00
gbeauche
c04603adce Add hacks to disable "floppy" & "serial[ab]" entries that would cause
Basilisk II to hang on MacOS X as an X11 build. I am not sure this is
supposed to work in an Aqua build so I leave that enable there, assuming
<AvailabilityMacros.h> is included somehow, thus defining MAC_OS_X_VERSION_*
and friends.
2003-10-12 21:55:44 +00:00
gbeauche
46dc8c5391 Make sure reported fault instruction address falls into the expected code
range. This is a configure-time safety net that depends on the GCC "Labels
as Values" extension.
2003-10-12 21:41:19 +00:00
gbeauche
006f72c9fe Report failure to install the SIGSEGV handler correctly 2003-10-12 21:21:35 +00:00
gbeauche
cf3d36a3a7 Mach memory fault recovery from Michael Z. Sliczniak 2003-10-12 21:15:52 +00:00
gbeauche
b2fee2f576 Mach bad access recovery support from Michael Z. Sliczniak 2003-10-12 15:56:00 +00:00
gbeauche
192943f46c Fix vm_acquire() and friend on MacOS X 2003-10-12 11:00:12 +00:00
gbeauche
b66f5972f9 Make sure a 32-bit B2/JIT works reasonnably well on AMD64 too. This implies
to force RAMBaseHost < 0x80000000. This is empirically determined to work on
Linux/x86 and Linux/amd64.
2003-10-03 18:18:15 +00:00
gbeauche
87e4d48b3e flags are live after a call to fflags_into_flags_internal() 2003-10-02 09:51:14 +00:00
gbeauche
c464b19f06 get a chance to see some illegal instruction variants if we ever come to
encounter them.
2003-10-02 09:48:10 +00:00
cebix
ddcfbe2bda parallel build uses NCPU jobs instead of NCPU+1 2003-09-29 13:30:29 +00:00
gbeauche
f9dd276a47 use spinlocks on SheepShaver/Linux/PPC, and possibly others where spinlocks
are available. TODO: check the fastest & safest means to lock VOSF stuff.
2003-09-29 08:27:24 +00:00
gbeauche
23c4ebcdf3 really fix typo! 2003-09-29 08:04:22 +00:00
gbeauche
aa61c47591 fix typo 2003-09-29 08:02:04 +00:00
gbeauche
a48a804c15 New SIGSEGV API so that skip-instruction requests are more explicit. Yes,
that's api change, but that's cooler now for SheepShaver. ;-)
2003-09-29 07:02:58 +00:00
gbeauche
505455c8c4 Check for readline headers in the headers check section as otherwise, and
I don't exactly know why, AC_HEADER_STDC would fail with newer autoconf
versions.
2003-08-17 11:58:00 +00:00
gbeauche
ac027954dc Bring x86 instruction skipper back to life 2003-08-17 10:52:52 +00:00
gbeauche
797cb8825a Aliases for PACKAGE and VERSION used for localisation if compiling cxmon
now that we check for AM_GNU_GETTEXT. Yes, life sucks sometimes.
2003-08-17 10:35:18 +00:00
gbeauche
ff483b7800 #define log printf in B2 stubs 2003-08-17 10:20:22 +00:00
gbeauche
f40f7ab91f AM_GNU_GETTEXT for gnome stuff 2003-08-17 10:16:23 +00:00
nigel
c7f5e13813 Corrected names in keyboard menu 2003-08-17 00:27:34 +00:00
nigel
415c2721bc Cope with invalid keyboard ids 2003-08-16 11:16:36 +00:00
nigel
14a5fd6aaf Restart now works if the emulator is paused
(i.e. it unpauses it first)
2003-08-16 11:14:50 +00:00
nigel
35fcf4d98c Added new keyboardtype preference (stolen from the Windows port) 2003-08-16 03:28:58 +00:00
nigel
ddb433382d Added new keyboardtype popup menu 2003-08-16 03:03:52 +00:00
nigel
09bb402d31 Corrected path on some Unix source, added HowTo.html,
updated vers. no, turned off debugging
2003-08-16 02:59:17 +00:00
nigel
583fb6cd74 New version (still at beta), new ideas, slight reformatting 2003-08-16 02:53:50 +00:00
nigel
a861c1c322 Extra code for keyboardtype popup menu, renamed a variable 2003-08-16 02:51:46 +00:00
nigel
cb6adb6291 Default app for HowTo.html (instead of TextEdit), formatting (spaces->tabs) 2003-08-16 02:47:27 +00:00
nigel
75f84b51ce Some segmentation trap changes from latest main_unix.cpp 2003-08-02 11:03:15 +00:00
nigel
786072d3a6 extfs now defaults to user's home directory (mounting / is a bit dangerous, and slow) 2003-08-02 10:43:06 +00:00
nigel
665ef27a0e Added OS X sections 2003-08-02 08:48:38 +00:00
nigel
4b4a2de13e Small tidyup 2003-08-02 08:47:26 +00:00
nigel
74b3b4b669 Updated Unix config.{guess,sub} which know about Darwin means that
we can use them instead of looking for the OS X installed versions.
2003-08-02 08:19:48 +00:00
nigel
ff841e7ea3 App needs Unix/sigsegv.cpp. How did I miss this? 2003-08-02 07:26:17 +00:00
nigel
7934f6d322 Added minor changes from latest Unix version 2003-08-02 06:22:54 +00:00
cebix
91c9cf1879 fixed the test for GCC [Brian J. Johnson] 2003-07-25 13:45:25 +00:00
cebix
2257e7be3f fix for no-threads case for an emulated 68k [Todd Vierling] 2003-07-25 13:41:58 +00:00
cebix
16b21014ef added format switching and other improvements [Brian Johnson] 2003-07-12 11:04:38 +00:00
cebix
0074b3346e modernized the autoconf stuff 2003-07-01 18:10:38 +00:00
cebix
c945f0484e updated autoconf auxiliary files 2003-06-27 13:59:16 +00:00
nigel
846715a208 New items for changing prefs file 2003-06-03 12:46:33 +00:00
nigel
c5e4d8dbb4 Incomporated some more stuff from latest Unix version, formatting changes 2003-06-03 12:40:02 +00:00
nigel
da5f337873 Reformatted raw text, added latest changes (preliminarily for next version) 2003-06-03 12:32:00 +00:00
nigel
d71e2ec8eb Removed publish suggestion 2003-06-03 12:28:46 +00:00
nigel
1b0c7c081d Added RCS Id 2003-06-03 12:27:12 +00:00
nigel
b75827d41d Better ROM copying doco (as suggested by Sacha Mitchell) 2003-06-03 12:26:28 +00:00
nigel
4de2b90c6f Sorted methods 2003-06-03 12:22:30 +00:00
nigel
2ae95d0f95 Minor doco changes 2003-06-03 12:14:45 +00:00
gbeauche
f3ad33ed58 Call correct PUSHF/POPF macro 2003-06-03 09:01:03 +00:00
gbeauche
04167990a6 workaround a compiler bug on SPARC (Milan) 2003-05-28 10:17:43 +00:00
gbeauche
ccdec0782b really make long double values (Milan) 2003-05-28 10:14:14 +00:00
gbeauche
548e5a3dfd Rearrange video_vosf.h to accomodate both SheepShaver and BasiliskII video
infrastructure. Make video_blit.cpp a little more emulator independent.
2003-05-22 22:13:56 +00:00
gbeauche
3863961d26 - Fix "extended register" predicate to exclude X86_NOREG and X86_RIP
- Really handle requested 32-bit absolute address in AMD64 target
- Fix REX prefixes in 16-bit ALU instructions
- Fix POPF, remove useless? POPFD and PUSHFD
2003-05-19 17:15:17 +00:00
gbeauche
deb3da2e9f New API to ignore a SIGSEGV fault. This should help on SheepShaver/x86 for now
since I still don't know why MacOS would like to write to ROM on a particular
test.
2003-05-14 06:50:05 +00:00
gbeauche
61e40b3e55 Fix check against return value of memset() in vm_acquire_fixed 2003-05-13 16:56:37 +00:00
gbeauche
f5a1a93d2c Fix check for mmap()'able low mem globals 2003-05-13 16:33:06 +00:00
gbeauche
ffd603b472 Little-endian fixes for SheepShaver 2003-05-13 12:34:09 +00:00
nigel
69d04276e8 Extra code for changing preferences file 2003-04-02 02:19:53 +00:00
nigel
73ebbba57b Extra methods and outlets for changing preferences file,
slight tidyup
2003-04-02 02:18:05 +00:00
nigel
d30306e659 Allow prefs file path from args,
include some extra stuff from latest unix version of file
2003-04-02 02:15:52 +00:00
nigel
2e41901fb0 Arg processing for prefs file path, include some extra stuff
(SEGV and JIT) from latest unix version of file
2003-04-02 00:50:40 +00:00
nigel
b97f09221e Eliminate a few warnings 2003-04-02 00:37:34 +00:00
nigel
21c4e9da5b Building on GCC 2 causes errors:
../uae_cpu/gencpu.c: In function `void gen_opcode(long unsigned int)':
../uae_cpu/gencpu.c:874: conversion from `unsigned int' to `enum wordsizes'
../uae_cpu/gencpu.c:875: conversion from `unsigned int' to `enum amodes'
due to mismatching of types in struct instr and types in function prototypes.
However, this only started happening recently and I don't know why :-(
2003-04-01 05:26:07 +00:00
nigel
f28e590583 Some extra versions tested, extra tips, ExtFS 7.5.3 2003-04-01 03:17:47 +00:00
nigel
4cac5119a7 Final v13 changelist 2003-04-01 01:58:11 +00:00
nigel
4d14181d12 Allow changes in Prefs window while emulator is running 2003-04-01 01:56:41 +00:00
nigel
dc836dc547 Extra Help menu items, change RAM size without pressing return 2003-04-01 01:55:12 +00:00
nigel
6b7e006f01 Controller classes for extra Help menu items 2003-04-01 01:53:54 +00:00
nigel
427d135d6f Copyright symbol corrected (edited the file in vi and did an option G.
It now looks wrong in something like TextEdit, but appears correct in
the About panel and the Finder).
2003-04-01 01:52:24 +00:00
nigel
f619fca6bc Added v13, updated bugs 2003-03-27 00:04:13 +00:00
nigel
1cbb3395d2 1) Publish methods for clearing and blackening the bitmap
2) Always do the calculations for a possibly scaled view.
Even if we prevent the user from changing the view size,
the Monitors control panel in the emulator may still try to
select a resolution which is too large for the screen,
and thus the window will have to be reduced to fit,
and thus the screen and bitmap co-ords may not match
2003-03-26 23:37:42 +00:00
nigel
18c58aa9d7 Publish methods for clearing and blackening the bitmap 2003-03-26 23:35:23 +00:00
nigel
5b1f064815 Re-entry fix (purge vectors in VideoExit()),
animate resizing of window, and centre afterwards
2003-03-26 23:08:20 +00:00
nigel
1140676a8c Fixes for safe Restart()ing, some tidying up 2003-03-26 23:04:46 +00:00
nigel
afcb32e804 Starter documentation (in response to some users' FAQs) 2003-03-26 22:26:32 +00:00
nigel
b3787f0885 Correctly deal with error conditions from InitEmulator() 2003-03-26 01:45:31 +00:00
nigel
003d6cfbe3 Repair QuitEmulator replacement macro.
(we was incorrectly returning after the call to InitAll() )
2003-03-26 00:26:38 +00:00
nigel
0ba592d6f4 Extra help menu action (for HowTo) 2003-03-26 00:20:54 +00:00
nigel
5f7830a3d5 Increase default windowed screen height to the minimum
for a colour Mac (was appropriate for B&W only)
2003-03-26 00:18:05 +00:00
nigel
e8522126d5 Minor UI error from removal of OpenGL button 2003-03-25 01:47:37 +00:00
nigel
be7c9b0f72 When in CGIMAGEREF windowed mode; cleanup
when changing modes, future mask generation code.
2003-03-25 01:46:45 +00:00
nigel
b39a1d7729 Extra warning for ROM path not set,
try to terminate in QuitEmulator()
2003-03-25 01:44:16 +00:00
nigel
aaf7c9e10d Incorporate x86_64 changes from latest Unix version 2003-03-25 01:42:41 +00:00
nigel
447f269ef7 Oops. QuitEmuNoExit() was exiting the NSApp. 2003-03-24 22:50:55 +00:00
nigel
32a526474c Fixes for latest FPU emulation source.
(We add the FPU_* into config.h so that the IDE can pick it up automatically)
2003-03-24 11:41:32 +00:00
nigel
7c4972328e timer_unix.cpp in current directory, fpu_ieee.cpp instead of fpu_uae.cpp 2003-03-24 11:31:03 +00:00
nigel
b855865ea2 Unix/timer_unix.cpp was also being compiled with the wrong sysdeps.h
(the one from the Unix directory)
2003-03-24 10:18:23 +00:00
nigel
a79d56c449 Compile fix for latest uae_cpu 2003-03-24 06:42:56 +00:00
nigel
bc1d80ebf8 I was compiling ../Unix/sys_unix.cpp, but that meant the compiler
was pulling in ../Unix/sysdeps.h that did not define loff_t.
So, I now generate and compile a symlink to that file instead
2003-03-24 06:18:22 +00:00
nigel
9f6a9d6487 audio_defs.h compatible with OS X 2003-03-23 23:42:04 +00:00
nigel
0e7a8fb638 Start of audio hacking 2003-03-23 23:36:04 +00:00
gbeauche
9ed554b3a9 Remove some dead code. Start implementation of optimized calls to interpretive
fallbacks for untranslatable instruction handlers. Disabled for now since
call_m_01() is not correctly imeplemented yet.
2003-03-21 19:12:44 +00:00
nigel
ffaf4cbd56 Prevent progress indicator from growing when window resized 2003-03-21 13:04:26 +00:00
nigel
a3d30b9798 Removed unused outlets and buttons 2003-03-21 12:57:36 +00:00
nigel
88c7c5a761 Oops. Those files are in CVS. Comment out the TIFF repair commands 2003-03-21 12:38:04 +00:00
nigel
4c375f68b3 Oops. Stuffed up a CVS file, and added these in the wrong place 2003-03-21 12:32:29 +00:00
nigel
fd727644b1 Updated version and year in copyright, added source file 2003-03-21 12:28:21 +00:00
nigel
338d0ef4e5 Smaller reset & shutdown buttons - resized & moved a few items 2003-03-21 12:24:21 +00:00
nigel
18efc23894 Generate some icons used by Interface from OS X's login panel 2003-03-21 12:22:35 +00:00
nigel
886ca6c348 Removed any OpenGL stuff 2003-03-21 12:04:34 +00:00
nigel
6180b4246a Some Interface Builder files that somehow weren't checked in? 2003-03-21 11:46:55 +00:00
nigel
82afd86ca5 New version, removed a few things from ToDo list 2003-03-21 10:07:54 +00:00
nigel
c106019389 Removed OpenGL relerences, updated description of windowed mode 2003-03-21 09:14:34 +00:00
nigel
f1a09b3155 Darwin-specific CD code. 2003-03-21 07:05:28 +00:00
nigel
fda7b93625 Darwin-specific prefs and initial CD code. Since some of the CD code is just too weird to include here, I just call extern functions which I currently implement in a file sys_darwin.cpp 2003-03-21 07:03:05 +00:00
nigel
f537fee92f When using CGIMAGEREF drawing strategy, allow any bit depth 2003-03-21 06:44:14 +00:00
nigel
762b76f565 Allow snapshot of window, no matter what the drawing strategy. Mention drawing strategy in benchmark results 2003-03-21 06:41:04 +00:00
nigel
3fe9f5701e Now supports all bit depth when in windowed mode
(but only when using CGIMAGEREF drawing strategy)
2003-03-21 06:29:28 +00:00
nigel
dea9029450 Use CGIMAGEREF as drawing strategy, and update comments explaining why 2003-03-21 06:14:22 +00:00
gbeauche
b48a5a3253 Detect x86-64 2003-03-20 13:49:49 +00:00
gbeauche
96ae75cd7e Optimize TEST[BWLQ]ir case where dest register is %rax
Add JCCSii and JCCii which directly takes the displacement value to encode
2003-03-19 17:06:22 +00:00
gbeauche
ecab19aa4e Emulate CMOV in the new code generator for processors that don't support
this intruction
2003-03-19 17:05:02 +00:00
gbeauche
06af072a40 Add missing wrappers of the new runtime-assembler primitives 2003-03-19 16:32:51 +00:00
gbeauche
a3b815366a Add facility to filter out some opcodes from the compfunctbl[] et al. 2003-03-19 16:28:23 +00:00
gbeauche
547bd6ab2c Fix MOVBrr 2003-03-19 16:25:12 +00:00
gbeauche
c4bf8e0695 Fix 0(%rbp,<reg>,1) operand encoding 2003-03-19 11:34:10 +00:00
gbeauche
da8d81509e Add new backend, disabled for until it's proofread and fully functional
Remove obsolete string-related instructions
2003-03-18 17:26:32 +00:00
gbeauche
5fb74e3592 Add sign/zero-extend instructions 2003-03-18 17:01:44 +00:00
gbeauche
29f636c2eb Fix _REXBmr(). Add CPUID. Some C++ compiler fixes. Make x86_emit_failure()
be void, and let x86_emit_failure0() be an int expression instead.
2003-03-18 16:28:23 +00:00
gbeauche
8271c0503e Add CMOV and BSF/BSR instructions 2003-03-18 13:12:56 +00:00
gbeauche
e07bfdbc8b Handle absolute and RIP addressing modes in x86-64 2003-03-18 10:08:16 +00:00
gbeauche
ce3d90ff5e clobber "cc" for flags, not "flags". Thanks Milan for noticing it. 2003-03-17 22:37:55 +00:00
gbeauche
08e9f936eb Add some SSE/SSE2 instructions 2003-03-17 17:18:24 +00:00
gbeauche
32e53e7b3b typo 2003-03-14 17:11:49 +00:00
gbeauche
9da9568525 Document current JIT options. 2003-03-14 17:10:47 +00:00
gbeauche
df97c3d02e JIT compiler is integrated but not yet the default for Linux/x86 and
FreeBSD/x86.
2003-03-14 17:10:19 +00:00
gbeauche
c2566295af Implement a generic setzflg_l() for P4, thus permitting to re-enable
translation of ADDX/SUBX/BCLR/BTST/BSET/BCHG instructions. i.e. make
it faster. ;-)
2003-03-13 20:34:34 +00:00
gbeauche
0cfa3126b3 Workaround change in flags handling for BSF instruction on Pentium 4.
i.e. currently disable translation of ADDX/SUBX/B<CHG,CLR,SET,TST> instructions
in that case. That is to say, better (much?) slower than inaccurate. :-(
2003-03-13 15:57:01 +00:00
gbeauche
a8e76deb69 Fix align_target with a padding of 0 bytes 2003-03-13 09:51:31 +00:00
nigel
bd29aa7a27 Mouse position fixes when in fullscreen mode. 2003-03-11 11:44:14 +00:00
nigel
029178546f Minor doco updates 2003-03-11 11:32:51 +00:00
nigel
8a62df5ae7 32bit defaults for windowed mode. 2003-03-11 11:31:56 +00:00
nigel
7726ef1b05 Simplified (and sped up) mouse movement processing when in fullscreen mode. 2003-03-11 11:31:01 +00:00
nigel
ef73063528 Corrected mouse co-ordinate processing after full screen resizing,
simplified mouse movement processing for full screen, added a few comments.
2003-03-11 11:27:20 +00:00