Commit Graph

467 Commits

Author SHA1 Message Date
gbeauche
e423a07632 Recognize POWER5 CPUs. ;-) 2005-06-08 12:12:50 +00:00
gbeauche
89643dbce0 Enable VidMode extension by default though some Xservers may still be
broken. Probably run-time check for the right VidMode version? My tests
were done with X.org 6.8.2 (VidMode 2.2)
2005-05-12 11:21:10 +00:00
gbeauche
0bce152c20 - Sync with latest B2 video_vosf.h updates.
- Enable VidMode extension with FBDev DGA graphics.
- Factor out FBDev/XF86 DGA code.
- Fix pointer grab in fbdev DGA mode, thus fixing scrolling screens in
  lower VidModes.
- Only select VidModes that match the requested resolutions, exactly.
- Fix VideoQuitFullScreen() in non FBDev mode.
2005-05-12 11:20:00 +00:00
gbeauche
1853c38130 fix inline asm for gcc4 2005-04-24 17:22:49 +00:00
gbeauche
8db2a3ef62 implement lvsl/lvsr instructions 2005-04-15 17:03:49 +00:00
gbeauche
ac6b7d760e What a silly thing I wrote! Really nuke the generated file, not the original
source. IOW, don't commit stuff when you are ill.
2005-04-07 22:35:47 +00:00
gbeauche
8f80b5ddba remove generated ppc_asm.S on make clean 2005-04-03 15:35:20 +00:00
gbeauche
8e512ca7fe Better lock and zero VOSF data, especially for DGA mode. Also make sure
that we really update the whole screen when sub-8bpp modes are used
2005-04-02 09:54:16 +00:00
gbeauche
b46eb9ae45 Only support True Color frame buffers. Make it possible to run-time switch
depth in FBDev DGA fullscreen mode.
2005-03-28 16:19:28 +00:00
gbeauche
f9e3fd28a1 better logics in sigstack allocation on native platforms 2005-03-28 09:50:58 +00:00
gbeauche
88b493bf38 fix make modules for Linux NetDriver 2005-03-28 09:06:46 +00:00
gbeauche
0f4440f99f Handle "screen fbdev/WIDTH/HEIGHT" to force use of FBDev DGA instead of XF86
DGA mode. In other words, root user can now use FBDev DGA though it's always
recommended to run SheepShaver with a normal user. Increase "ramsize" bounds
in the GUI and fully migrate to new "screen" modes. Remove "windowmodes" and
"screenmodes" defaults.
2005-03-28 09:05:28 +00:00
gbeauche
5810c6a764 Use "screen TYPE/WIDTH/HEIGHT" prefs item by default on Unix systems. The
former options (windowmodes/screenmodes) are migrated if the user uses the
GUI. Also make a note about EXPERIMENTAL state for jit68k.
2005-03-27 22:32:46 +00:00
gbeauche
abd2c5406f Add "screen" prefs item similar to Basilisk II. Don't ignore SEGV by default
as this could hide real bugs.
2005-03-27 22:08:33 +00:00
gbeauche
08e30a894e disable 68k DR emulator for now (not stable enough yet) 2005-03-27 22:06:52 +00:00
gbeauche
d27832cb1c - Implement fullscreen DGA via fbdev access under Linux. Besides, r/w access
to /dev/mem is required on Linux to use XF86 DGA mode. Otherwise, there is
now a fallback to fbdev.
- Forward port some features from Basilisk II (set_window_name,
disable_mouse_accel).
- Don't SIGSTOP the emulation thread on suspend since that would completely
stop the process on Linux. Use a frame buffer lock instead (as B2 does)
2005-03-27 19:05:18 +00:00
gbeauche
0bc6418ea6 Implement screen win/WIDTH/HEIGHT prefs item that overrides any other value
for windowmodes and screenmodes. Necessary for arbitrary full screen mode
sizes.
2005-03-27 14:53:04 +00:00
gbeauche
fbe378f780 Add custom video modes for full screen in unsual resolutions (e.g. 1400x1050).
X11 and SDL infrastructures have yet to be implemented
2005-03-27 13:44:45 +00:00
gbeauche
ca7a87465b Disable high-res timings as it could still hang. The advantage is that we
now can use special mutexes to debug deadlocks
2005-03-27 13:41:46 +00:00
gbeauche
d9a8a5c10f cross-compilation fixes 2005-03-24 23:39:19 +00:00
gbeauche
35a29f57df rearrange for win32 cross-compilation 2005-03-24 23:38:10 +00:00
gbeauche
2d6df7d54d Respin snapshot with functional Windows port + extra SDL keysym translations
in case keycodes were not used (e.g. includes key-'3')
2005-03-20 23:58:43 +00:00
gbeauche
86b049678f Windows specific configure script and Makefile 2005-03-20 23:45:17 +00:00
gbeauche
0db0d48bf0 Avoid the use of floating-point when loading/storing from/to memory. This
could have caused some rounding thus alterations to integer registers on
context switches when lfd/stfd instructions were used. e.g. cygwin compilers
defaulted to i686 code generation and exhibed this behaviour, you could also
see this behavior with -march=i586 -mtune=pentiumpro. GCC is perfectly right
to do those optimizations.
2005-03-20 23:07:11 +00:00
gbeauche
1fb076bc7b Check that we are running a Windows NT kernel >= 4.0 and drivers are
installed correctly (namely cdenable.sys)
2005-03-19 19:09:44 +00:00
gbeauche
9383e5bd50 Enable build with gtk2 and default to that UI if found. Otherwise, it's
still possible to select GTK1 as --with-gtk=gtk1 or --with-gtk=gtk.
2005-03-19 09:59:30 +00:00
gbeauche
b29b5e4e23 let it build against gtk2 2005-03-19 09:35:01 +00:00
gbeauche
8071d90849 workaround weird bug lying somewhere in cygwin generated micro-ops for
FP load/store of doubles
2005-03-19 07:18:18 +00:00
gbeauche
7fcb230d67 the current ethernet code is not direct addressing clean, so enable it only
if real addressing mode is available (e.g. this excludes win32 platforms for
now)
2005-03-19 04:31:59 +00:00
gbeauche
c044b1d8eb add windows specific sysdeps.h as they are stable enough now. lowered constant
offset to 0x02000000 so that we can cope with the new RAM_BASE value.
2005-03-18 00:03:32 +00:00
gbeauche
2990a3ddfc add missing AboutWindow file for Windows, that have yet to be fully
implemented however
2005-03-18 00:01:37 +00:00
gbeauche
cf16210d3a add other symlinks to B2/Windows files 2005-03-17 23:56:04 +00:00
gbeauche
0f90a78b5a Always set RAM_BASE to 0x20000000 for now as there could be some weird
problems depending on the amount of memory requested. Also fix
initialization of the system dependent timers. Remove unixism.
2005-03-17 23:48:50 +00:00
gbeauche
068e2075fc fix for native compilation under windows 2005-03-17 23:45:28 +00:00
gbeauche
536c81f641 fix when cross-compiling or using cygwin 2005-03-17 23:44:48 +00:00
gbeauche
287296b363 it makes more sense to dump the crash dump header to stderr 2005-03-17 23:40:01 +00:00
gbeauche
dd7b09ebe8 Use a mutex to protect wakeup_time instead of a semaphore, do we want some
sort of barrier synchronisation? Anyhow, the current implementation looks
reasonable enough now when using old LinuxThreads without TLS.

XXX: in the past, the sem_post in sigsuspend_handler would not release the
calling thread thus entering into a mutual waiting condition.
2005-03-16 00:35:51 +00:00
gbeauche
260614a873 fix initialization of timer thread that could be put in indefinite suspended
state from the start.
2005-03-15 20:46:50 +00:00
gbeauche
cd31ea2d80 mention improvements to the altivec code 2005-03-14 00:32:12 +00:00
gbeauche
cbf0c3debf shorten vsldoi native code by one instruction, aka. avoid superfluous
shuffle of stale vector value
2005-03-14 00:30:44 +00:00
gbeauche
4918fe8d2d default to 8 MB cache size on non-{alpha,powerpc} platforms 2005-03-13 23:41:42 +00:00
gbeauche
05a7453d54 MMX/SSE/SSE2 optimizations are now converted to full inline assembly code,
aka avoid use of (possibly broken) GCC intrinsics. Add some SSE2 optimizations.
Translate VSLDOI, MFVSCR, MTVSCR instructions. AltiVec Fractal Carbon now
shows more than 1 GFlops performance!
2005-03-13 12:49:30 +00:00
gbeauche
7cc49ca739 fix vsldoi implementation and testsuite 2005-03-13 11:38:35 +00:00
gbeauche
4d96076c62 fix SheepShaver wrappers in PowerPC CPU tester 2005-03-13 11:23:52 +00:00
gbeauche
fa6c3a521b Try to document major changes between released snapshots 2005-03-09 00:12:27 +00:00
gbeauche
e7d8a54e21 Enable high precision timings on POSIX systems supporting clock_nanosleep().
Since pthread_suspend_np() is not available to Linux (but NetBSD 2.0), thread
suspend is implemented likewise to boehm-gc.
2005-03-05 19:07:35 +00:00
gbeauche
48213aa5eb Revert to no nested native ppc interrupt processing, also filter out cases
where InterruptFlags is 0.
2005-03-05 18:33:30 +00:00
gbeauche
fb42e00b8d Don't require an instruction skipper to fake SCSI globals 2005-03-05 15:44:03 +00:00
gbeauche
9019e71cfc Preserve all necessary registers on interrupt, thus also permitting nested
interrupts to occur. SheepShaver locks should now be reduced.
2005-03-05 15:25:10 +00:00
gbeauche
663facbf97 Fix native Linux/ppc with recent enough glibc that supports TLS; r2 is used
in that case. Tell me if I broke other arches, e.g. r13 is no longer saved
in Video and Ethernet stubs, though it seems to be OK.

Colateral feature: SheepShaver should now run on Linux/ppc64 with relevant
32-bit runtime. Native Linux/ppc64 support is harder as low mem globals are
32-bit in mind and e.g. the TLS register there is %r13, %r2 is the TOC
(PowerOpen/AIX ABI)
2005-02-27 21:52:06 +00:00