Commit Graph

980 Commits

Author SHA1 Message Date
nigel
710140c04b Project file for Xcode (10.3 development IDE) 2004-01-27 11:48:19 +00:00
nigel
9cdba256f8 Corrected removal of bad serial prefs data 2004-01-27 11:31:01 +00:00
nigel
a77b3c7204 Typo in comment 2004-01-27 11:28:19 +00:00
nigel
35d3ea9991 Code to cope with errors from an incomplete preferences file 2004-01-27 11:20:24 +00:00
nigel
c9af62f191 Happy New Year :) 2004-01-27 04:44:36 +00:00
nigel
4a61b727af On 10.1, parse_screen_prefs() was being called with a nil string
(i.e. PrefsInit wasn't getting a screen pref item). Cope with that.
2004-01-27 04:39:33 +00:00
nigel
db3c11dd75 Can only use floppy location code on OS X 10.2 or above? 2004-01-27 04:37:23 +00:00
nigel
5e528f2d6f Some latest changes from Unix version, add subterfuge test back in
(even though it will still hang - it is not needed on OS X),
use DIRECT/REAL_ADDRESSING/FPU_IEEE/UAE from config
2004-01-27 04:35:30 +00:00
nigel
7f20240b34 Link to new Darwin test apps, copy some Unix source that has to be compiled
using the local sysdeps.h, REAL ADDRESSING configure example
2004-01-27 01:18:02 +00:00
nigel
ef0dfde608 Cleanup extra Darwin generated link and programs, stuff from 10.3's autoconf,
OS X finder cache, ide rule now uses xcode, oldide rule for Project Builder.
2004-01-27 01:15:17 +00:00
nigel
e166715fcd JIT flush changes from latest unix_main.cpp 2004-01-27 00:18:24 +00:00
nigel
a8b53dcb8e Added AQUA symbol, made more like latest Unix version 2004-01-26 12:06:02 +00:00
nigel
a51ba44ffe Added code to remove my broken old floppy & serial prefs values 2004-01-26 11:12:46 +00:00
nigel
631aa2003a Special serial/floppy device locating code 2004-01-26 11:11:33 +00:00
nigel
9c57351dba Tidy up Aqua/Darwin specific code 2004-01-26 11:08:52 +00:00
nigel
885eb469b1 Version 15 changes 2004-01-26 11:06:11 +00:00
nigel
5224682cb3 Floppy/real addressing changes 2004-01-26 11:01:13 +00:00
gbeauche
93c472ec0a cosmetic fixes when printing movsbq operation summary 2004-01-22 00:00:55 +00:00
gbeauche
7a0681c44b handle (skip) x86 movsbl instructions 2004-01-21 23:50:06 +00:00
gbeauche
1a6c128ab2 Summary: possible support of SheepShaver on Zaurus PDAs
Add Linux/ARM instruction skipping, includes support for ARMv4+ halfword
and signed data transfer instructions. Note that load/store multiple are
not handled and someone has to make sure post-incr/write-back logic is
correctly implemented.
2004-01-21 23:14:28 +00:00
nigel
2208c5460b Added missing switch value to eliminate a warning 2004-01-20 23:49:32 +00:00
nigel
69a30f4c8e Updated screen update comment. 10.3 can achieve over 600fps! 2004-01-20 23:44:13 +00:00
nigel
4f566d62b4 Fix for non CGIMAGEREF drawing, dummy Screen_fault_handler() 2004-01-20 23:41:11 +00:00
nigel
9579c58008 Incorporate recent changes from Unix/sysdeps.h 2004-01-20 23:35:47 +00:00
nigel
ff36326ea8 Use correct (non-deprecated) names for some keys 2004-01-20 23:31:46 +00:00
nigel
3d4961887c Make distclean remove some extra files/dirs generated by autoconf,
and some Darwin test programs generated by configure.
Note - Ideally it would also remove configure?
2004-01-20 03:30:52 +00:00
gbeauche
d09df6d1fa ARM/linux sigsegv handler. Instruction skipper yet to be written for
happy Zaurus owners.
2004-01-19 16:59:13 +00:00
cebix
5098c8ae83 Happy New Year! 2004-01-12 15:55:51 +00:00
cebix
9e7932abf0 Happy New Year! :) 2004-01-12 15:29:31 +00:00
gbeauche
3b68b863c7 Make sure 68k procedures are stored on 16-bit word boundaries. 2004-01-10 08:54:14 +00:00
gbeauche
866919579f Force DSP_RESET on AudioExit() so that we don't get "clicks" (?). 2004-01-04 16:35:32 +00:00
gbeauche
f054ce8648 Always prefer our (inlined) spinlocks. 2004-01-04 06:11:49 +00:00
gbeauche
3fd927f404 Force device to stop immediately with an SNDCTL_DSP_RESET. Otherwise, a
regular close() sends SNDCTL_DSP_SYNC which can hang (and does on PPC)
2004-01-04 05:47:08 +00:00
gbeauche
c48515b6d5 Instruction skipper for Solaris/SPARC. 2003-12-20 23:22:25 +00:00
gbeauche
47f64bdcb8 Add support for Linux/hppa, FreeBSD/alpha. Misc debugging output. 2003-12-20 21:50:08 +00:00
gbeauche
36ee9370a6 Fix build with DEC C++ compiler on Tru64. 2003-12-20 21:44:52 +00:00
gbeauche
9b99a095f0 MIPS instruction skipper. TODO: check LWL/LWR semantics. 2003-12-20 10:06:18 +00:00
gbeauche
fdf5970c28 Fix subterfuge mode on IRIX/mips. Get PC in both modes for Irix too 2003-12-20 07:43:56 +00:00
cebix
ea0d909ce5 run depmod after installing module 2003-11-28 15:49:16 +00:00
gbeauche
10c04e2654 Enable possibility to manually pass VM_MAP_32BIT & friends. This is needed
for the PowerPC "JIT1" engine.
2003-11-24 23:27:18 +00:00
gbeauche
45df157a5e Implement lazy icache range invalidation. Disable for now until it shows
a real benefit over only 2%
2003-11-21 14:20:01 +00:00
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
cebix
a69dcbb18f some cleanups 2003-02-06 19:24:09 +00:00
cebix
4bca966e18 added "install" target 2003-02-06 19:10:08 +00:00
gbeauche
45289042e6 Add some FPU instructions. Minor clean-ups. 2003-01-31 23:48:10 +00:00
gbeauche
ee7cea923a Add new run-time assembler derived from GNU lightning. It is suitable for
both i386 and x86-64 architectures. Still needs some work (see TODO) and
an actual glue to the JIT backend.

Original work is LGPL, but per section 3 of this license, I opt for GPL v2
for Basilisk II purposes.
2003-01-31 20:39:53 +00:00
cebix
26f5e92427 read_toc() dumps the entire TOC when DEBUG=1 2003-01-16 18:33:40 +00:00
nigel
f19f18175b Change MIN_HEIGHT, add new one for classic mode 2003-01-10 23:18:02 +00:00
nigel
a0a00b77f5 Corrections for 10.1 (which has a much older autoconf) 2003-01-10 23:16:47 +00:00
nigel
f7e84c7569 Updates for latest (though as yet unreleased) version 2003-01-10 23:12:37 +00:00
nigel
ca5f5e1b01 Make cpuemu[1-8].cpp if a for loop, a few minor corrections 2003-01-10 23:05:06 +00:00
nigel
5a9ec56a21 Extra methods for new Help menu items 2003-01-10 23:01:48 +00:00
nigel
25ea75ff32 Added a few notes on different compilation strategies 2003-01-10 23:00:43 +00:00
nigel
1527cac014 10.2 enhancements, eliminated some warnings, added alpha channel mask stuff 2002-12-19 10:40:40 +00:00
nigel
75e3b116a2 Corrected 10.2 problem, add 10.1 compile fix for newer configure.in 2002-12-18 12:13:28 +00:00
nigel
d94d399de8 Better comments about drawing strategies,
new define to specify using the alpha channel
2002-12-18 12:05:48 +00:00
nigel
b7d39be14d [[blah alloc] init] -> [blah new],
error checking when deleting volume files
2002-12-18 11:56:12 +00:00
nigel
3bc22a52d2 [[blah alloc] init] -> [blah new] 2002-12-18 11:54:17 +00:00
nigel
470adec0e6 Allow randomise to work with different drawing strategies 2002-12-18 11:53:11 +00:00
nigel
bfbeb17a96 [[blah alloc] init] becomes [blah new] 2002-12-18 11:50:12 +00:00
nigel
fc8a542d53 JIT 2002-12-18 11:33:37 +00:00
gbeauche
1477b501d1 Add changes from Brian Johnson:
- Update MIPSpro compiler flags
- Only define static variables if they are to be used
- Try to lock the pthreads mutex prior to unlocking/destroying it
2002-11-24 20:07:25 +00:00
gbeauche
3711aa4520 Update ASM_SYM_FOR_FUNC to match x86-64 too, may be useful later. 2002-11-16 15:38:53 +00:00
gbeauche
144e6f4e87 Use old x87 FPU stack on x86-64 too because we now use long doubles there for
better accuracy. Aka. prefer compatibility over speed.
2002-11-16 15:28:25 +00:00
gbeauche
bc5d7f9490 OPTIMIZED_FLAGS for x86-64 with the pushf/pop method since sahf/lahf are
invalid in long mode.
2002-11-05 11:59:12 +00:00
gbeauche
abaa9fb2cd Add configury for x86-64 2002-11-05 11:58:40 +00:00
gbeauche
862273a9d5 Updates to reflect recent cxmon 64bit changes 2002-11-05 10:33:06 +00:00
gbeauche
58b3aaba5b Get rid of CPU_* defines as nobody actually used them and are useless 2002-11-05 10:32:42 +00:00
gbeauche
3bf7843db1 x86-64 can do unaligned accesses 2002-11-05 10:32:05 +00:00
gbeauche
0a201217bf Remove obsolete CFLOW_* constants but keep cpuop_{begin,end} for an
inline-threaded core.
2002-11-02 18:13:29 +00:00
gbeauche
2cda26edae Fix buffer overflow reported by Aranym people 2002-11-02 17:23:20 +00:00
nigel
45b2765c21 Eliminate compile warning 2002-10-31 08:54:21 +00:00
nigel
c8218bbb11 SOme 10.2 compile fixes 2002-10-31 08:52:59 +00:00
nigel
6a0f9df867 Fixes for compiling on 10.2 2002-10-29 14:28:52 +00:00
nigel
c68df84838 Eliminate warning 2002-10-29 14:27:00 +00:00
nigel
9745e40ddb Correct path for some Unix files 2002-10-29 14:26:26 +00:00
nigel
954ee59832 Now generated by autoheader 2002-10-29 14:23:31 +00:00
nigel
9791c82ce4 Added Id, overwrite existing symlinks, run autoheader 2002-10-29 14:18:22 +00:00
nigel
0af0f74ea3 Added rules to generate MacOSX archive 2002-10-28 10:56:23 +00:00
nigel
a591d0e0cb Added info about documentation 2002-10-22 12:11:45 +00:00
nigel
5f755a4baa Add include to eliminate warning 2002-10-22 12:10:18 +00:00
nigel
47e9fe084c Corrected dependency for non-ide building
(makefile was not generating cpuemu*.cpp)
2002-10-22 12:09:17 +00:00
cebix
466fc971f6 Unix: new prefs options "dsp" and "mixer" to set the OSS device names instead
of the hardcoded '/dev/dsp' and '/dev/mixer'
2002-10-15 16:25:04 +00:00
gbeauche
2cb7e02c9e Some instructions assume offsets are only 1-byte long. I don't think this
is 100% correct. Therefore, insert some asserts so that would fail.
2002-10-13 11:14:24 +00:00
gbeauche
aa6b264d21 Add raw_emit_nop_filler() with more efficient no-op fillers stolen from
GNU binutils 2.12.90.0.15. Speed bump is marginal (less than 6%). Make it
default though, that's conditionalized by tune_nop_fillers constant.
2002-10-12 16:27:13 +00:00
nigel
7914fdc677 Incorporate several changes from latest Unix version of file 2002-10-06 23:29:59 +00:00
nigel
ce0bca286f Change required for GCC 3.1 (stdc++ library needed in C++ program link),
general tidy-up (now use G++ to compile several files at once for gencpu)
2002-10-06 23:28:58 +00:00
nigel
162cc94bcd Newer prototype required by GCC 3.1 2002-10-06 23:26:07 +00:00
nigel
dd6025502d MacOS 10.2 compatibility (diffeent config.sub & config.guess location),
argument processing (like Unix autogen.sh)
2002-10-06 23:23:10 +00:00
gbeauche
8bf60db5ee Real addressing mode also works on Linux/ppc. Uhoh, what was the initial
problem anyway?
2002-10-03 19:57:12 +00:00
gbeauche
78ac3e667f Don't forget to note CPU detection code mostly comes from Linux kernel. 2002-10-03 16:16:57 +00:00
gbeauche
d4ed937de6 JIT add copyright notices just to notify people that's real derivative
work from GPL code (UAE-JIT). Additions and improvements are from B2
developers.
2002-10-03 16:13:46 +00:00
gbeauche
ff85d804d0 Real addressing is reported to work on FreeBSD/i386 too 2002-10-03 15:50:13 +00:00
gbeauche
177cdee820 configure script is reportedly no longer crashing on FreeBSD when
SIGSEGV_SKIP_INSTRUCTION is set.
2002-10-03 15:49:14 +00:00
gbeauche
3efbc30695 B2 maintainer for FreeBSD reported <sys/soundcard.h> is the one to use in all
recent versions of FreeBSD.
2002-10-03 15:47:59 +00:00
gbeauche
8de7ad1091 - Turn on runtime detection of loop and jump alignment as Aranym people
reported they got some improvement with it and larger loops. Small
  loops are an issue for now until unrolling is implemented for DBcc.
- Const jumps are identified in readcpu. I don't want to duplicate code
  uselessly. Rather, it's the JIT job to know whether we are doing block
  inlining and un-marking those instructions as end-of-block.
2002-10-03 15:05:01 +00:00
gbeauche
a60c6da7c3 Turn on block inlining so that people could test this feature and report
if they do gain something or renders JIT less stable.
2002-10-03 15:01:53 +00:00
gbeauche
724516511a Do translate BSR.L, we don't have any issue with that even if we are
doing block inlining since we have a complete chain of information about
the blocks to checksum.
2002-10-03 14:59:35 +00:00
gbeauche
e11dd3d375 Do translate FMUL instructions, the core needs to be fixed and this is
not translation of that instruction. I believe this is related to some
misgeneration of FPU core sequence and allocation of FP registers?
2002-10-03 14:58:02 +00:00
gbeauche
e9584dbcc1 Add PROFILE_UNTRANSLATED_INSNS information. Interestingly, the following
are the bottleneck now: DIVS, BSR.L (why isn't it translated yet?),
bit-field instructions (I need to self-motivate enough for that), and
A-Traps.
2002-10-02 16:22:51 +00:00
gbeauche
94a9038826 - Remove dead code in readcpu.cpp concerning CONST_JUMP control flow.
- Replace unused fl_compiled with fl_const_jump
- Implement block inlining enabled with USE_INLINING && USE_CHECKSUM_INFO.
  However, this is currently disabled as it doesn't give much and exhibits
  even more a cache/code generation problem with FPU JIT compiled code.
- Actual checksum values are now integral part of a blockinfo regardless
  of USE_CHECKSUM_INFO is set or not. Reduce number of elements in that
  structure and speeds up a little calculation of checksum of chained blocks.
- Don't care about show_checksum() for now.
2002-10-02 15:55:10 +00:00
gbeauche
21909f1eed - Rewrite blockinfo allocator et al. Use a template class so that this
can work with other types related to blockinfos.
- Add new method to compute checksums. This should permit code inlining
  and follow-ups of const_jumps without breaking the lazy cache invalidator.
  aka. chain infos for checksuming. TODO: Incomplete support thus disabled.
2002-10-01 16:22:36 +00:00
gbeauche
518f982775 - CAN_JIT=yes has to be moved into the actual block containing JITSRCS.
- Optimistically reenable gas/x86 assembly optimizations and JIT for FreeBSD
  as it used to work in the past there. If not, beat me.
2002-10-01 09:58:08 +00:00
gbeauche
13e8cb3eec Huh, am I still asleep? Actually use the cpuemuX_nf.cpp pattern rather
than the *.s variant.
2002-10-01 09:51:09 +00:00
gbeauche
75de104c92 - Optimize use of quit_program variable. This is a real boolean for B2.
- Remove unused/dead code concerning surroundings of (debugging).
- m68k_compile_execute() is generated and optimized code now.
2002-10-01 09:39:55 +00:00
gbeauche
bdf9d76bb8 - #include "flags_x86.h" here to get NATICE_CC_?? helper macros
- Add raw_cmp_b_mi() and raw_call_m_indexed() for generated
  m68k_compile_execute() function
2002-10-01 09:37:03 +00:00
gbeauche
c492269143 Drop cpuopti on x86 now that we have a fast JIT. I don't want to bother
fixing cpuopti or workarounding code for any known and unknown gcc bug.
2002-10-01 09:34:47 +00:00
gbeauche
98d1246815 - Let fullscreen DGA mode work again, even with a DirectColor visual. In
that case, we do need add it when creating the window otherwise we
  result int a nice BadMatch for X_CreateWindow request. FIXME?
- Fix typo and do enable VOSF in DGA mode, if necessary.
2002-09-28 12:42:39 +00:00
gbeauche
8748b48b7a Disable USE_QUAD_DOUBLE for now and probably for good as (i) the emulator
implementation is not correct, (ii) I don't know of any CPU which
handles this kind of format *natively* with conformance to IEEE.
2002-09-20 16:52:48 +00:00
gbeauche
ec92457d68 Fix align_jumps for athlon, that's really "16" and gcc-3.2 sources contained
the same error. ;-)
2002-09-20 14:55:50 +00:00
gbeauche
d7c677d077 - Implement {make,extract}_extended() for USE_QUAD_DOUBLE
- Don't forget to fill in mantissa3 member for USE_QUAD_DOUBLE in
  make_extended_*() but make sure NaN, inf, zeros are handled beforehand
2002-09-19 20:52:50 +00:00
gbeauche
a5ba7ea5ac Don't define USE_LONG_DOUBLE when sizeof(long double) == 16. This still
is not very clean but it should build now. Probably live with USE_LONG_DOUBLE
for any case where native long double exists and sizeof > 8 ?
2002-09-19 16:02:13 +00:00
gbeauche
b765112cf9 Get rid of any "extern inline" bits. Use static inline instead as MIPS
compilers don't really like the former syntax.
2002-09-19 15:42:16 +00:00
gbeauche
ecd3db832e - Rewrite raw_init_cpu() to match more details, from kernel sources.
- Add possibility to tune code alignment to the underlying processor. However,
  this is turned off as I don't see much improvement and align_jumps = 64
  for Athlon looks suspicious to me.
- Remove two extra align_target() that are already covered.
- Remove unused may_trap() predicate.
2002-09-19 14:59:03 +00:00
gbeauche
feca66d43e Optimize runtime assembler with shorter equivalents when the accumulator
(%eax) is referenced along with immediates.
2002-09-18 15:56:17 +00:00
gbeauche
f2a9938685 Ensure the IEEE fpu core is used when building the JIT compiler 2002-09-18 13:06:49 +00:00
gbeauche
54ac7a1493 Move -DSAHF_SETO_PROFITABLE down in x86 & gas specific block. Also ensure
SAHF_SETO_PROFITABLE is defined when compiling the JIT. Aka I don't want
to support obsolete and probably bogus code nowadays.
2002-09-18 11:41:56 +00:00
gbeauche
e268a5a072 Define SAHF_SETO_PROFITABLE on x86, aka restore full performance of the
JIT compiler. ;-) BTW, also fixes some valgrind warnings.
2002-09-18 10:25:05 +00:00
gbeauche
c40279294a Don't forget to use vm_realease() to free up translation cache. Also free
the right amount of memory that was previously allocated.
2002-09-18 09:55:37 +00:00
gbeauche
599f7e845f Use vm_acquire() to allocate translation cache 2002-09-18 07:50:55 +00:00
gbeauche
5df172aa53 Additions for the JIT compiler opcode translators + NOFLAGS variant of
regular instruction handlers.
2002-09-17 16:09:25 +00:00
gbeauche
8c7254e4c8 Additions for the JIT compiler (--enable-jit-compiler, --enable-jit-debug) 2002-09-17 16:08:41 +00:00
gbeauche
6f3a214a15 Make FlushCodeRange aware of the JIT compiler's flush_icache() 2002-09-17 16:08:07 +00:00
gbeauche
0b001e81a5 Additional string defs for JIT-specific options 2002-09-17 16:07:21 +00:00
gbeauche
ea8bdf1941 Update prefs editor with "JIT Compiler" pane 2002-09-17 16:06:37 +00:00
gbeauche
4fc127c8df - Changes to support 68040 -> x86 dynamic translator
- Globalize FLIGHT_RECORDER, possibly used in compiler/ sources as well
2002-09-17 16:05:39 +00:00
gbeauche
c0526db089 Import JIT compiler 2002-09-17 16:04:06 +00:00
gbeauche
ba346aa0d2 Check for for C99 math functions in the form *l() 2002-09-16 15:40:48 +00:00
gbeauche
6af88bc787 Only use *l() math functions when they are available 2002-09-16 15:40:23 +00:00
gbeauche
ea98d02ce8 Conditionalize use of pthread_mutexattr_setpshared() as this is an optional
POSIX feature from _POSIX_THREAD_PROCESS_SHARED group. Besides, Ulrich Drepper
mentions "the kernel support for this option wasn't available until 2.5.7.
Future versions of the thread library will support this option."
<http://people.redhat.com/drepper/posix-option-groups.html>

BTW, this nukes a warning when build on FreeBSD 4.6
2002-09-16 15:06:24 +00:00
cebix
7c1352a5f7 updated autogen.sh to AutoGen(TM) 8.0 Professional :-) 2002-09-16 14:54:19 +00:00
gbeauche
d16a54362c #include <pthread.h> to get pthread_attr_t definition 2002-09-16 14:48:53 +00:00
gbeauche
a04889fe03 Portability fixes: use a switch to test for ac_cv_c_float_format 2002-09-16 14:17:20 +00:00
gbeauche
a0d72c749b Remove acconfig.h, obsoleted by new autoconf2.5 stuff 2002-09-16 14:10:21 +00:00
gbeauche
b60198fc17 - Moved minium autoconf support to 2.52+
- Add large file support for 2+ GB hard disk images
2002-09-16 13:32:33 +00:00
gbeauche
453c6de0e2 Now use autoconf 2.52+ as it provides nice AC_SYS_LARGEFILE check and a
fixed check for exit() prototype.
2002-09-16 13:29:33 +00:00
gbeauche
5be5714a9e Remove TYPE_SOCKLEN_T check as it was merged in main configure script already. 2002-09-16 13:28:17 +00:00
gbeauche
9cc4185fa2 - Make "ieee" core default, where applicable
- Import gcc configury to determine HOST_FLOAT_FORMAT
2002-09-16 12:03:07 +00:00
gbeauche
48986febc6 - FP endianness is now testing at configure time
- Fix junk introduced in previous rev for extract_extended()
2002-09-16 12:01:38 +00:00
gbeauche
e59e4904d3 Fix "ieee" FPU core on big endian and without long double > double support
- Handle conversions to/from host double for m68k long doubles formats
- Make mathlib aware of sizeof(long double) == sizeof(double) arches
- Attempt to fix FSCALE implementation
2002-09-15 18:21:13 +00:00
gbeauche
57e73de5f6 USE_LONG_DOUBLE guards 2002-09-13 15:06:42 +00:00
gbeauche
dbc92fb334 Updates for new FPU core architecture, add "ieee" core (x86 for now) 2002-09-13 12:51:24 +00:00
gbeauche
a50871f87c Updates for new FPU core architecture 2002-09-13 12:50:56 +00:00
gbeauche
c327eee41b * Basilisk II JIT integration, phase 2:
- Add new FPU core architecture
- Clean fpu_x86_asm.h as it is no longer automatically generated
2002-09-13 12:50:40 +00:00
gbeauche
d3bda319a8 Use B2_mutex instead of pthread mutexes when ENABLE_EXCLUSIVE_SPCFLAGS is
set. However, this is not used at the moment. Is there an advantage? People
may want to add arch-optimized SPCFLAGS_{SET,CLEAR}.
2002-09-01 16:32:02 +00:00
gbeauche
7972082c56 - Merge with Basilisk II/JIT cpu core, interpretive part for now
- Clean use of USE_PREFETCH_BUFFER macro and dependent bits
2002-09-01 15:17:13 +00:00
cebix
4f8d06b671 - implemented direct SCSI transfers (bypassing the buffer)
- minor fixes
2002-09-01 12:01:46 +00:00
cebix
3d2bac9f15 - it is now possible to make the serial drivers pipe their input/output
to programs by using a '|' followed by a command line as the modem or
  printer port setting (instead of a device name like '/dev/ttyS0')
  [Brian Johnson]
- the option "--config FILE" tells B2 to use a different config file
2002-07-31 16:46:14 +00:00
cebix
586d299bfc fixes by Steven N. Hirsch (versioned symbols, module license) 2002-07-23 18:02:47 +00:00
gbeauche
281460fba0 - New arch support for IP retrieval on SIGSEGV. 2002-07-17 06:51:05 +00:00
nigel
370d5dcb95 Updated for latest Controller and EmulatorView class methods 2002-07-02 10:23:39 +00:00