Commit Graph

605 Commits

Author SHA1 Message Date
gbeauche
1012da75dd - Cleanups & make sure PPC emulator config is setup in sysdeps.h
- Log r24 in SheepShaver mode as this represents the 68k emulator PC
2003-10-11 09:03:03 +00:00
gbeauche
be50ff1b42 Adapt ROM patches space to Gossamer ROMs layout. Weird that it passed the
other day.
2003-10-07 19:28:09 +00:00
gbeauche
ad0aea0403 fix parcels decoder 2003-10-06 21:23:53 +00:00
gbeauche
0cb51c42dd cleanups :-) 2003-10-06 21:01:22 +00:00
gbeauche
974ebd5d91 - Add checks against ROM patches space
- Make sure to also load the floppy disk driver with Gossamer ROMs so
  that exfs feature can work too
2003-10-06 21:00:48 +00:00
gbeauche
c9b8dd6628 tm_task is actually correct for both nw & gossamer ROMs 2003-10-05 23:49:19 +00:00
gbeauche
84ce1f2b0d fix tm_task patch for Gossamer ROMs 2003-10-05 23:38:07 +00:00
gbeauche
3768573d35 Add support for Gossamer ROMs (DTG3) 2003-10-05 23:05:05 +00:00
gbeauche
19053d4992 little endian fixes, note that trampolines are still not 64-bit clean either 2003-09-29 22:50:31 +00:00
gbeauche
663b536257 Little endian fixes to Serial trampolines. 2003-09-29 22:49:23 +00:00
gbeauche
7ac3170cb4 More little endian fixes 2003-09-29 22:48:22 +00:00
gbeauche
aafd6e4898 Little endian fixes to FindLibSymbol(). This is not 64-bit clean and this
needs to go through a more appropriate thunking mechanism.
2003-09-29 22:47:39 +00:00
gbeauche
5229b42622 basic implementation for missing functions (signbit/isless/isgreater) in
older C libraries
2003-09-29 22:45:31 +00:00
gbeauche
1713a26a3f NULL is the null pointer to member function 2003-09-29 22:42:53 +00:00
gbeauche
792bef8e61 Make older & bogus compilers happy. aka. force "static" storage class
for SPIN_LOCK_UNLOCKED constant.
2003-09-29 22:41:50 +00:00
gbeauche
c7dd356f7f VSLNewInterruptService() returns a serviceID in big endian format 2003-09-29 20:31:47 +00:00
gbeauche
3d4ed54488 first round of little endian fixes 2003-09-29 20:30:21 +00:00
gbeauche
b8b139faf2 - Share EmulatorData & KernelData struct definitions
- Introduce new SheepShaver data area for alternate stacks, thunks, etc.
- Experimental asynchronous interrupts handling. This improves performance
  by 30% but some (rare) lockups may occur. To be debugged!
2003-09-29 15:46:09 +00:00
gbeauche
2d92ad6dfb spinlocks from QEMU 2003-09-29 08:27:56 +00:00
gbeauche
1c2fa89e31 use B2 sigsegv API instead of rewriting yet another sigsegv handler for x86 2003-09-29 07:05:15 +00:00
gbeauche
5b57fde6ce New NativeOps for DisableInterrupt() & EnableInterrupt(). 2003-09-28 21:27:55 +00:00
gbeauche
3851071ecd Try to handle XLM_IRQ_NEST atomically in emulated PPC views. Fix placement
of fake SCSIGlobals (disabled for now). Switch back to mono core emulation
until things are debugged enough. Implement get_resource() et al.
2003-09-28 21:27:34 +00:00
gbeauche
2a86a4f62a Handle dcbz. Ignore unaligned load/store multiple. Fix icbi/isync. 2003-09-28 21:22:59 +00:00
gbeauche
4e5e13d92d make do_execute() a template so that execution loop prologues/epilogues
can be performed in derived engines
2003-09-28 21:22:09 +00:00
gbeauche
2f13888ea8 plain interpretive mode for debugging purposes 2003-09-28 21:21:07 +00:00
gbeauche
28ae4b0028 Disable SIGUSR2 handler in EMULATED_PPC mode for now 2003-09-28 21:20:38 +00:00
gbeauche
9914de4a09 Define HAVE_PTHREADS, if available 2003-09-28 21:19:06 +00:00
gbeauche
2a756136e4 more tests 2003-09-21 22:13:09 +00:00
gbeauche
2cc3b4edab fix xoris 2003-09-21 21:45:05 +00:00
gbeauche
089247fcff Merge in cpu core:
- make cache invalidation routines public
- fix shift instructions, especially for invalid shift counts
- fix mullwo to set overflow only if the product can't be represented in
  32 bits
2003-09-15 22:48:57 +00:00
gbeauche
09c674f63a factor out -I usage 2003-09-14 22:11:42 +00:00
gbeauche
b5b471b4f1 add PowerPC emulator tester 2003-09-14 22:10:58 +00:00
gbeauche
fb8fbf71ed PowerPC emulator fixes:
- make divw. behaviour more realistic (vs ppc 7410) when rB == 0
- fix carry/overflow computations to fix SUBFME handling
- fix nand duplicate with wrong operand
2003-09-14 22:09:13 +00:00
gbeauche
cb1dd6dac5 - Integrate new NativeOp instructions to be used as trampolines to call
native functions from ppc code.
- Little endian fixes in emul_op.cpp
- Add new 'gpch' 750 patch to workaround crash with MacOS 8.6
- Don't crash in Process Manager on reset/shutdown with MacOS 8.6
- We also have an experimental interrupt thread in emulation mode
2003-09-07 14:33:54 +00:00
gbeauche
15a1208483 Handle new ppc emulator 2003-09-07 14:26:15 +00:00
gbeauche
6ff594e32d Handle manual updates with kpx_cpu core 2003-09-07 14:25:48 +00:00
gbeauche
029a7fd85b Merge in old kpx_cpu snapshot for debugging 2003-09-07 14:25:05 +00:00
gbeauche
10aa71cb58 Handle --enable-ppc-emulator. Add Kheperix cpu emulator to sources 2003-09-07 14:21:20 +00:00
gbeauche
3f9b589eea Add byteswap routines 2003-09-07 14:19:25 +00:00
gbeauche
9e7670c922 Import VOSF from Basilisk II for faster and more accurate video refresh.
There may be some bugs left though. Rework sigsegv_handler() a little to
accomodate VOSF way of life.

TODO: merge video drivers infrastructure from B2.
2003-05-22 22:12:05 +00:00
gbeauche
d29a00c17f Don't call FE0A opcode in Shutdown Manager: handle better NewWorld ROMs.
i.e. don't force a "bra" if there was no "beq" beforehand.
2003-05-21 19:31:57 +00:00
gbeauche
f47379e887 Force installation of floppy driver with NewWorld ROMs otherwise we fail
to open it and further install ExtFS & NQD acceleration.
2003-05-21 18:57:17 +00:00
gbeauche
dd4877eaf2 Fix import and call to IOCommandIsComplete() 2003-05-20 20:30:50 +00:00
gbeauche
5843470f9f Finally enable boot on MacOS 8.6 Update CD from iMac DV
- Don't read PVR at ROM_BASE + 0x314600
- Generated code for FC1E and FE0A don't really match comments
- Move FC1E routine base to ROM_BASE + 0x36fb00
- Recognize iMacUpdate 1.1 ROM (nwrom v1.2.1)
2003-05-17 08:42:34 +00:00
gbeauche
0e223c55a3 Correctly print offset to current parcel, not next 2003-05-14 22:11:59 +00:00
gbeauche
94ec8c82ca Use vm_acquire/vm_acquire_fixed/vm_release API. Prepare use of SIGSEGV
handlers and instruction skippers. Fix test prior to including posix_sem.cpp.
2003-05-13 16:59:57 +00:00
gbeauche
5bd60842d6 Make EmulOp() and check_load_invoc() extern "C" so that we are C++ name
mangling independent for asm_linux.S
2003-04-12 10:14:09 +00:00
gbeauche
43f1cdb401 Sync with changes from cxmon and B2. I have yet to find out why my old
disk image (8.1 based) no longer boots completely. :-/
2003-01-04 12:23:39 +00:00
gbeauche
def097803e - B2_TOPDIR: new macro specifying where Basilisk II directory can be found.
Update "links" rule to take care of it and don't PREFIX with current path
  if B2_TOPDIR yields an absolute path.
  (Simply cosmetic so that I can have multiple SS work dirs, effortlessly ;-)
2002-05-09 09:55:45 +00:00
gbeauche
665c64b4aa Add support to decode parcels-based ROMs
- include/rom_patches.h (DecodeROM): Declare.
- rom_patches.cpp (DecodeROM): Define.
- Unix/main_unix.cpp, BeOS/main_beos.cpp (decode_lzss): Move to...
- rom_patches.cpp (decode_lzss): ... here.
- Unix/main_unix.cpp (main): Call DecodeROM().
- BeOS/main_beos.cpp (SheepShaver::load_rom): Call DecodeROM().
2002-04-21 15:07:09 +00:00
gbeauche
05d3e990a5 - Do match APPLE_16_BIT to the underlying X depth (either 15 or 16 bpp) 2002-04-21 11:47:18 +00:00
gbeauche
e89d481489 Match changes from glibc 2.2 (?)
- #define status as __status
- #define spinlock as __spinlock
2002-04-21 11:42:30 +00:00
gbeauche
d1b8e62cc9 - Invert AC_CHECK_LIB for readline and termcap so that the test program
for readline detection is actually linked against -ltermcap -lreadline.
  Also add other term libs and finally prefer ncurses over the rest.
2002-04-21 11:21:26 +00:00
cebix
b7e0269519 added dummy Set_pthread_attr() 2002-02-21 15:12:12 +00:00
cebix
8e4d5e5f40 Imported sources 2002-02-04 16:58:13 +00:00