Commit Graph

1000 Commits

Author SHA1 Message Date
gbeauche
57169c7923 Recognize lahf_lm from Dual Core Opterons. This enables use of LAHF/SETO
instructions in long mode (64-bit). However, there seems to be another bug
in the JIT preventing it from being fully supported. m68k.h & codegen_x86.h
are easily fixed bug another patch is still needed.
2005-04-21 09:08:57 +00:00
gbeauche
b4152fc466 cosmetics 2005-04-02 09:56:12 +00:00
gbeauche
85246b8408 Rewrite update_display_dga_vosf() for much improved performance and cope
with palette changes. Also slightly improve the generic code when we need
to further update the screen (e.g. SDL without hardware surface)
2005-04-02 09:50:17 +00:00
gbeauche
e8ac4897b6 Enable multiple depths in fullscreen DGA modes, i.e. add 1-bit to 16/32-bit
blitters, rewrite update_display_dga_vosf() to actually work with sub byte
pixels. Factor out update_display_window_vosf() since it's long time that
it is no longer checking for first column and last column that have changed.
2005-03-28 16:14:25 +00:00
gbeauche
7dedb433fd Gracefully catch SIGSEGV & SIGBUS for TEST_VM_PROT_* test cases. This should
avoid dumping core, and especially Windows fault alerts when natively
configuring with MinGW32.
2005-03-24 23:45:40 +00:00
gbeauche
a6070dcdf3 enable cross-compilation 2005-03-24 23:13:09 +00:00
gbeauche
35e8c8c9cd Enable instruction skipping for OpenBSD 3.4 on i386 2005-03-23 22:00:06 +00:00
gbeauche
f2908fe7bf instruction skipper for Solaris/i386 (Solaris 9) 2005-03-23 21:37:24 +00:00
gbeauche
5c001ba645 Allocate executable space to detect cpu features (cpuid). aka don't crash
on non-executable .data sections on x86-64 with NX support enabled.
2005-03-22 16:12:18 +00:00
gbeauche
569d916664 fix for 2.4.21 2005-03-22 13:43:50 +00:00
gbeauche
afe033a63d fix build with kernels >= 2.6.9 2005-03-22 13:31:13 +00:00
gbeauche
04a331e827 Avoid use of pthread_cancel() for redraw thread cancellation. Use an extra
variable to acknowledge cancellation. This avoids Xserver events queue
corruption when clipboard is in use. Concretely, this fixes following errors:
Xlib: unexpected async reply (sequence 0xHEX)!
2005-03-21 23:57:34 +00:00
gbeauche
2871aefa87 Use autogen.sh to generate configure scripts, likewise for Windows 2005-03-21 22:45:09 +00:00
gbeauche
f028a9d217 Extra changes I forgot to mention in the ChangeLog 2005-03-21 22:39:59 +00:00
gbeauche
5892c6c286 more sdl key conversions 2005-03-20 23:43:17 +00:00
gbeauche
7b6d062c9d Check that drivers are installed (e.g. CD-ROM driver) 2005-03-19 19:01:49 +00:00
gbeauche
143b18c752 Make ethernet really work on 64-bit platforms, especially x86-64 2005-03-19 17:43:03 +00:00
gbeauche
ae6555fd46 SDL_ListModes() sometimes does not return a sorted list from largest to
smallest screen dimensions (e.g. on windows)
2005-03-19 05:34:15 +00:00
gbeauche
016b58007a And finally the Windows specific configure script to be generated with
../Unix/autogen.sh. Who would be the first to see Basilisk II is fully
buildable from CVS now with SDL and Cygwin? ;-)
2005-03-17 00:27:54 +00:00
gbeauche
535a658c72 Windows specific Makefile, this could be improved though 2005-03-17 00:25:50 +00:00
gbeauche
7f7b2185c2 Windows specific sysdeps.h 2005-03-17 00:24:25 +00:00
gbeauche
87c8860b92 add missing windows specific header files 2005-03-17 00:22:37 +00:00
gbeauche
608c1f65bd close opened files and make sure to flush stdout on exit, this used to
cause weird results on windows otherwise
2005-03-17 00:21:36 +00:00
gbeauche
fcb323c511 Default to BasiliskII_keycodes file on Windows if user wants keycodes but
no keycodefile is specified
2005-03-17 00:19:39 +00:00
gbeauche
f29eb7dd1d nanosleep() delays seem better suited to MacOS X, instead of select() 2005-02-21 22:57:03 +00:00
gbeauche
10f38d4b50 NetBSD/ppc support 2005-02-20 11:39:12 +00:00
gbeauche
3aeed84471 <machine/soundcard.h> was simply a compatibility symlink on FreeBSD and it
is now gone away.
2005-02-13 17:56:55 +00:00
gbeauche
30632aed4f Happy New Year! 2005-01-30 21:42:16 +00:00
gbeauche
cfff01f846 fix parsing of the keycode table 2005-01-22 17:41:33 +00:00
gbeauche
fd7d8cd625 Implement RGB555 mode on 16-bit displays, big endian, native byte order (MacOS X) 2005-01-19 20:27:14 +00:00
gbeauche
d075282607 new way to allocate dt_store 2005-01-08 08:57:53 +00:00
gbeauche
09d6712bdb Fixes for NetBSD 2.0 2005-01-04 23:38:01 +00:00
gbeauche
64ff64d500 cross compile fixes 2004-12-26 23:24:34 +00:00
gbeauche
3032cb417c enable build with kernel 2.6 2004-12-19 15:55:31 +00:00
gbeauche
50eee913b8 s/vm_page_size/vm_get_page_size/ to avoid name clash on MacOS X 2004-12-18 22:20:27 +00:00
gbeauche
61e223471b Force use of MacX mappings with Apple's X server 2004-12-18 19:28:33 +00:00
gbeauche
1406b615c7 Make EtherInterrupt/packet[] "static" so that it is allocated in the .data
section, which is likely accessible under 32-bit address on 64-bit platforms
2004-12-18 18:10:40 +00:00
gbeauche
854478a048 support for kernel 2.6 (from MOL) 2004-12-18 17:49:12 +00:00
gbeauche
c10046c137 Check that we can really read at the faulty eip in Windows prior to decoding
the instruction. Also fix the unrecoverable fault dump to really be useful.
2004-12-11 13:07:38 +00:00
gbeauche
a80e76111f remove obsolete headers inclusion, implement vosf lock with native windows
mutexes, use new vm_page_size() accessor
2004-12-11 10:20:32 +00:00
gbeauche
fc47096ef8 implement vm_page_size() to get the actual size of a page 2004-12-11 10:19:34 +00:00
gbeauche
ceba60d76f native windows mutexes as (fast) critical sections 2004-12-11 10:16:42 +00:00
gbeauche
2bbbde1e2b thread wrappers 2004-12-11 09:41:13 +00:00
gbeauche
912479d0d1 ethernet related prefs items 2004-12-06 23:42:19 +00:00
gbeauche
fb4dacd6a6 Raw import of ether_windows.cpp from original Basilisk II for Windows.
Fix code so that it builds in Cygwin/Mingw32.
2004-12-06 23:31:03 +00:00
gbeauche
ead0de6fdf Refactor native windows system support routines from sys_unix.cpp. This
includes CD-ROM support but still lacks original B2 features involving
floppies, real hard disk, and hard file options
2004-12-05 17:11:15 +00:00
gbeauche
0c7dbfd290 Import some extra functions from Win32 libraries. Expose OS versions. 2004-12-05 16:54:14 +00:00
gbeauche
553127f8f3 import original b2ether code from B2/Win32 2004-12-05 16:51:29 +00:00
gbeauche
2de1c1760f import NAT-Router code from original Basilisk II for Windows 2004-12-05 16:48:36 +00:00
gbeauche
eec1f6928a add --cdboot command line option akin to MoL's 2004-12-05 15:28:39 +00:00
gbeauche
af8e95642e merge in "pollmedia" prefs item 2004-12-05 15:05:25 +00:00
gbeauche
892a50a233 currently in 2004 ;-) 2004-12-05 15:04:30 +00:00
gbeauche
c26be68be4 cdenable interface 2004-12-05 15:03:05 +00:00
gbeauche
67399201bb more extfs related prefs items (debugextfs, extdrives) 2004-12-03 22:59:39 +00:00
gbeauche
2e9253743d Requires Windows NT >= 4.0, implement ErrorAlert(), WarningAlert() 2004-12-03 22:48:08 +00:00
gbeauche
02a406d538 renamed SysTimerInit() to timer_init() 2004-12-03 22:05:36 +00:00
gbeauche
2014ab7918 cosmetics 2004-12-03 22:05:11 +00:00
gbeauche
7b3a535f2f Add Windows specific "enableextfs" prefs items. There, the "extfs" path is
replaced by a virtual desktop containing all current drives.
2004-12-03 22:04:24 +00:00
gbeauche
238c68c8df Merge and upgrade native filesystem support from B2/Win. The nice
"My Computer" icon is now back. Adapt from recent extfs_unix.cpp.
2004-12-03 22:03:12 +00:00
gbeauche
3094372e34 Merge util_windows.cpp (exists, get_file_size, create_file) from original
Basilisk II for Windows
2004-12-03 22:01:47 +00:00
gbeauche
0e52edfbd0 ppc64 fixes 2004-12-02 23:29:52 +00:00
gbeauche
08a15ff00b fully native (no cygwin dep) version of main_windows.cpp 2004-11-30 23:40:24 +00:00
gbeauche
ffcf51b99d Merge in "My Computer" user strings from original B2/win 2004-11-29 23:31:30 +00:00
gbeauche
e813acfeab native win32 XPRAM handling for both Basilisk II and SheepShaver 2004-11-29 22:43:22 +00:00
gbeauche
fbff8b1b3c typos 2004-11-29 21:59:03 +00:00
gbeauche
1ead478ece native win32 implementation for prefs file (BasiliskII_prefs) 2004-11-29 21:54:09 +00:00
gbeauche
5b58485720 fix win32 timer_host2mac_time() 2004-11-29 00:15:14 +00:00
gbeauche
08a3e449d3 Always use vm_acquire* to allocate frame buffers, so that cygwin/x86 version
can have a chance in case VOSF is not profitable (on video mode switches)
Improve video mode switches in SheepShaver/SDL, aka avoid crashes on win32
as there is apparently no thread canceleation algorithm used in SDL/win32.
2004-11-28 19:31:11 +00:00
gbeauche
f8cd0231a0 add native windows timers 2004-11-28 17:54:05 +00:00
gbeauche
aa6e44d380 Generate CursorDeviceDispatch() call onto the SheepShaver Procedures region 2004-11-22 22:42:55 +00:00
gbeauche
655269516d Windows debug functions only in native win32 mode 2004-11-21 08:11:20 +00:00
gbeauche
a6bf2d0928 add some code to gather stats on m68k registers used in translated blocks 2004-11-20 23:35:16 +00:00
gbeauche
01a1d4e8b2 Use Windows clipboard code with SDL graphics only. X11 output will use
the X server glue anyway
2004-11-17 00:59:04 +00:00
gbeauche
c427f0f536 Windows clipboard support (copy-paste) 2004-11-17 00:57:06 +00:00
gbeauche
ce67261af4 lock X11 display better around update_display_window_vosf() 2004-11-15 23:40:23 +00:00
gbeauche
e85f4397c8 Backport copy-paste of 'TEXT' from SheepShaver 2004-11-15 23:27:43 +00:00
gbeauche
e7fb4be12f Fast spinlocks from SheepShaver for X11 clipboard handling 2004-11-15 23:24:09 +00:00
gbeauche
df471bbbe6 Fix build on Windows with recent gcc (winbug) 2004-11-15 00:24:16 +00:00
gbeauche
dc13732db0 Add Lauri's icon for Basilisk II builds on Windows 2004-11-15 00:07:54 +00:00
gbeauche
df85bf7885 Windows resources (icon) 2004-11-14 23:47:22 +00:00
gbeauche
5f44aa0266 Check for egrep early, as AC_EGREP_CPP wouldn't work correctly otherwise
(e.g. GCC version not detected, likewise for ANSI C headers). Add check
for Windows exceptions support. Some cosmetics for Cygwin.
2004-11-14 23:24:51 +00:00
gbeauche
cb99e7673d Don't use pthread_mutexattr_setprotocol() on Cygwin targets as
PTHREAD_PRIO_INHERIT is not defined correctly and it probably wouldn't
work as expected anyway.
2004-11-14 23:23:07 +00:00
gbeauche
adf82c8f45 Handle .exe suffix for Windows builds. Remove obsolete rules for cpuopti. 2004-11-14 23:21:54 +00:00
gbeauche
87a73ed054 Windows keycodes 2004-11-14 23:01:18 +00:00
gbeauche
48b39b9eb1 Implement RGB555 mode on 16-bit displays (Windows) 2004-11-14 21:41:46 +00:00
gbeauche
68083d1102 Integrate SIGSEGV recovery from libsigsegv for Windows and Cygwin.
Also implement instruction skipper for Windows/x86.
2004-11-13 23:44:11 +00:00
gbeauche
347f7ce77b Windows memory allocators 2004-11-13 23:39:58 +00:00
gbeauche
7533cac203 Implement Direct Addressing mode for SheepShaver. 2004-11-13 14:28:49 +00:00
gbeauche
6774a0821d fix tester for BSF flags handling 2004-11-11 07:07:55 +00:00
gbeauche
a4a6233dab fix detection of <linux/if.h> (thanks Bob Deblier) 2004-11-10 07:33:15 +00:00
gbeauche
20f5f531ca fix inline dispatcher to really generate a cmove on x86-64 (silly bug!) 2004-11-08 23:24:54 +00:00
gbeauche
0c255e1fbd Merge BSF simulation on P4 from Amithlon. Use 33-bit memory addressing model. 2004-11-08 21:10:46 +00:00
gbeauche
e3c5f1769d Enable 33-bit memory addressing on 64-bit JIT capable platforms (e.g. x86-64).
This is useful to get rid of address offset sign extensions. It uses POSIX
shared memory to create aliased regions, fallback to usual sign-extension
way if shm_open et al. don't work (e.g. no /dev/shm mounted)
2004-11-08 21:07:07 +00:00
gbeauche
0ba075050c Enable RIP-relative addressing, optimize REX conditions processing in
! X86_FLAT_REGISTERS mode, fix __REX_mem encodings (e.g. POPLm)
2004-11-08 20:48:19 +00:00
gbeauche
1e4fcc21bf update for SDL audio/video + JIT compiler for x86_64 2004-11-03 00:07:35 +00:00
gbeauche
c21650b7a8 fix protection changes on translation cache + cosmetic fixlet 2004-11-02 23:52:00 +00:00
gbeauche
3fcceb052c fix JIT FPU for x86_64 2004-11-02 23:28:19 +00:00
gbeauche
cfaddce448 disable store motion on gcc >= 3.3-hammer (and normal 3.4), where the option
is available actually
2004-11-02 20:40:54 +00:00
gbeauche
129f80faf6 preserve r11 as the register used to resolve pointers to functions 2004-11-01 18:40:30 +00:00
gbeauche
b3bd00f159 - affine need_to_preserve[] to get close to linux/x86_64 ABI
- optimize NOP fillers on x86-64 (based on GNU as implementation)
2004-11-01 17:12:55 +00:00
gbeauche
382294ef55 enable JIT on x86_64 2004-11-01 16:07:39 +00:00
gbeauche
e58fbc745b revive and fix almost two-year old port to x86_64 2004-11-01 16:01:51 +00:00
gbeauche
730364ac1e - optimize absolute addresses into RIP relative, if possible
- fix MOVQir as the operand is 64-bit
- fix IMULWrr, IMULLrr, IMULQrr, MOVSBWrr, MOVZBWrr
2004-11-01 15:37:40 +00:00
gbeauche
c12d2fa0ea add dumb but handy brute-force runtime assembler verifier, someone will
probably want to rewrite it to use BFD/opcodes internals for checks
2004-11-01 15:30:46 +00:00
gbeauche
33be2e8ace Reorder SPL, BPL, SIL, DIL IDs so that 8-bit register allocation is simpler
Fix MOVZBL and MOVSBL encodings with those extended 8-bit registers
2004-10-31 16:02:04 +00:00
gbeauche
87b79bdc20 fix SIB encoding with base=r13
fix PUSH/POP with x86_64 extended registers
fix CALL/JMP REX prefixes
2004-10-24 22:22:49 +00:00
gbeauche
bfd1c7b659 Try to fix 16 bpp over 32 bpp on MacOS X. 2004-07-27 21:40:52 +00:00
gbeauche
eed5724b80 SDL audio support 2004-07-19 19:25:07 +00:00
gbeauche
585a96c8be NQD moved to SheepShaver src/gfxaccel.cpp 2004-07-02 06:08:01 +00:00
gbeauche
a4eb3b19ab Don't try to make a cast value an lvalue (Brian Johnson). Add some explicit
casts to (int) in order to avaoid this warning:
warning: comparison between `const enum video_depth' and `enum <anonymous>'
2004-06-29 21:50:23 +00:00
gbeauche
05c503f09f Indentation fixes. Sorry, my OS X ~/.emacs is total garbage. 2004-06-27 22:22:42 +00:00
gbeauche
f3fbf06674 Add configure macros to check for -framework Carbon & -framework IOKit so
that we choose to include ../MacOSX/clip_macosx.cpp, sys_darwin.cpp or not.
2004-06-27 22:06:02 +00:00
gbeauche
babd0f887c typo 2004-06-27 20:36:09 +00:00
gbeauche
aec6f00f03 Clipboard handling on MacOS X. 2004-06-27 20:15:56 +00:00
gbeauche
4b7c7d22a1 Handle SDL scancode -> Mac keycode map files 2004-06-27 18:14:43 +00:00
gbeauche
1d86d66bd7 SDL scancodes -> Mac keycodes translation file 2004-06-27 17:31:52 +00:00
gbeauche
b6e1e6e536 Force processing of modifier keys through SDL keysyms. Fix mapping of
Option & Command keys on MacOS X. Fix scroll lock on MacOS X too.
2004-06-27 17:31:21 +00:00
gbeauche
4ea24edaf3 Fix video_vosf_init() for BasiliskII/SDL 2004-06-26 17:20:35 +00:00
gbeauche
6482f7b7a6 Try a better VOSF run-time performance check heuristic. 2004-06-26 16:26:07 +00:00
gbeauche
808b3e34c8 Add heuristic to deitermine run-time effect of VOSF acceleration, and
disable it if it turns out to not be profitable
2004-06-26 15:22:02 +00:00
gbeauche
46a9054861 Enable hardware cursor acceleration in SheepShaver/SDL version too. 2004-06-24 22:38:42 +00:00
gbeauche
1b5a3a6069 Check for the "true" command better with AC_PATH_PROG. aka fix BLESS
command checking on MacOS X.
2004-06-24 22:34:43 +00:00
gbeauche
3706fbc70d Try to get maximum display width by assuming that would match maximum
possible resolution for fullscreen+hwsurface. Fix, termination of VModes[].
Really handle "windowmodes" prefs item, but this needs code factoring.
2004-06-24 21:46:55 +00:00
gbeauche
2d05122bdb Initial SDL support for SheepShaver, though it seems to slow down the
emulator somehow. Also use better timing in redraw_func().
2004-06-24 15:25:57 +00:00
gbeauche
b76aab08e4 Move VideoMode wrappers to video_blit.h. 2004-06-24 15:19:56 +00:00
gbeauche
8948ce2a49 Use atexit(SDL_Quit) idiom. XCloseDisplay() only when using X11 graphics. 2004-06-24 15:18:42 +00:00
gbeauche
14587bed4d SDL_WaitThread() works better when the thread arg is valid. ;-) 2004-06-23 22:55:47 +00:00
gbeauche
6b903f3d18 Fix events processing on MacOS X, though mouse motion is still not smooth
enough.
2004-06-23 22:37:33 +00:00
gbeauche
c6ff8bc709 Use clip_unix.cpp only with X11 targets. Otherwise, default to clip_dummy.cpp 2004-06-23 22:33:45 +00:00
gbeauche
cc61fe9dd2 Add GetScrap(). Use FOURCC for Mac 4-char codes 2004-06-23 16:32:00 +00:00
gbeauche
19494038b3 Initial SDL/video support. Fix VOSF code could lead to a crash on run-time
resolution/depth switching. Rearrange blitter lookup code, aka make it cleaner.
2004-06-23 14:30:48 +00:00
gbeauche
7af8aaed40 Initial SDL support. 2004-06-23 13:47:20 +00:00
gbeauche
25f205c535 Fix double mappings in "MacX" section, aka do recognize 'r' key. 2004-06-22 22:42:37 +00:00
gbeauche
342db1fb26 Handle Control key in "MacX" mappings. 2004-06-22 20:04:51 +00:00
cebix
d048916fda updated 2004-05-27 13:58:07 +00:00
nigel
a141e8dd9e New Autorelease pool stuff for NNTimer 2004-05-25 07:50:14 +00:00
nigel
826329a1c8 New Autorelease pool stuff for NNTimer 2004-05-25 07:38:27 +00:00
nigel
44e1e0455e Some confusion about method name in NNTimer. Renamed it. 2004-05-25 07:37:52 +00:00
nigel
12e723e9a4 Force an autorelease pool around the redraw thread.
Requires an updated NNThread class
2004-05-25 05:26:41 +00:00
nigel
451d7b22c9 v16-classic 2004-05-25 04:26:54 +00:00
nigel
e77112aab0 Added howto import files using Disk Copy 2004-05-25 04:24:01 +00:00
nigel
8eb9ead7cd Added Classic building option 2004-05-25 04:22:49 +00:00
gbeauche
237ab8ffc6 Delay_usec() for BeOS too 2004-05-15 16:21:37 +00:00
gbeauche
9445ccb5ad typos 2004-05-12 11:46:34 +00:00
gbeauche
a8c8c1d4d9 Move and fix tun interface shutdown call 2004-05-09 16:32:12 +00:00
gbeauche
2ce9491e96 TUN/TAP support 2004-05-09 16:16:05 +00:00
gbeauche
fa0ea48eed Try to document TUN/TAP use. 2004-05-09 16:15:36 +00:00
nigel
0cee6a8fba Added notes about the classic version of the app 2004-05-02 11:34:49 +00:00
nigel
4441484404 Working code to locate floppy drives 2004-05-02 11:12:07 +00:00
nigel
c44036a4ce Always remove cdrom & floppy prefs, as we always need to locate them freshly 2004-05-02 11:09:25 +00:00