gbeauche
bf17f78ac4
Disable testandset() locks, use pthread's as SheepShaver occasionnally hangs
...
with spinlocks. Weird as those are derived from x86 linuxthreads.
2004-06-02 16:11:49 +00:00
gbeauche
76c06c52e0
Fix and enable NQD (bitblt, fillrect) on little-endian platforms too
2004-06-02 15:41:34 +00:00
gbeauche
c8d897b558
Disable DR Cache for now, as I don't know why it occasionnally crashes.
2004-05-31 11:00:13 +00:00
gbeauche
374101ee9e
Make DR Cache executable by default in native PowerPC mode.
2004-05-31 10:55:42 +00:00
gbeauche
389dd61d0d
Check for SIGSEGVs from DR Cache code too.
2004-05-31 10:08:31 +00:00
gbeauche
a533a9c455
Enable DR emulator with OldWorld ROMs too. It turned out that translated
...
code was also trying to access Serial memory.
Note however that I noticed some rare crashes with the DR emulator.
Probably caused by nested runs from EmulOps? We'd really want a native
68k emulator too for Execute68k() things.
2004-05-31 10:02:20 +00:00
gbeauche
7bc86b27ee
Enable Apple DR emulator from NewWorld ROMs only.
2004-05-31 09:04:44 +00:00
gbeauche
0241704587
Add GUI items for "idlewait" and "gfxaccel"
2004-05-25 16:12:14 +00:00
gbeauche
6eb7262000
STR_1152x768_CTRL => "Fullscreen 1152x768"
2004-05-25 15:33:24 +00:00
gbeauche
619aa9b319
Translate LMW, STMW and DCBZ instructions.
2004-05-23 16:34:38 +00:00
gbeauche
b0aae35951
Do FOLLOW_CONST_JUMPS for bcl 20,BI,TARGET branches too, since that's an
...
unconditional jump and we don't need the LR in that case.
Also fix this:
SheepShaver: ../kpx_cpu/src/cpu/ppc/ppc-translate.cpp:1499: powerpc_block_info* powerpc_cpu::compile_block(unsigned int): Assertion `dg.jmp_addr[i] != __null' failed.
Aborted
aka. StuffIt Expander + pressing the 'Cancel' button.
2004-05-23 06:41:25 +00:00
gbeauche
05bd5f40b4
Fix NativeOp code generation, especially in PPC_REENTRANT_JIT mode
2004-05-23 05:28:12 +00:00
gbeauche
f376933138
Attempt to fix direct block chaining code in corner cases. e.g. really
...
chain only blocks within page boundaries (compare against block entry point)
2004-05-22 17:57:36 +00:00
gbeauche
d9168c9869
add and fix testandset for x86_64
2004-05-20 17:46:49 +00:00
gbeauche
3a033cf79b
atomic spcflags
2004-05-20 17:19:59 +00:00
gbeauche
bd6eaf680a
Get rid of old (and broken) ASYNC_IRQ / MUTICORE code
2004-05-20 12:33:58 +00:00
gbeauche
3a960764ea
Don't allow "recursive" NanoKernel interrupts
2004-05-20 11:47:27 +00:00
gbeauche
ec6c98035b
Better interrupt context checking code
2004-05-20 11:05:30 +00:00
gbeauche
c3f2342f47
Make NativeOp() handler a sheepshaver_cpu handler, thus getting rid of ugly
...
GPR macro definition.
Make the JIT engine somewhat reentrant. This brings a massive performance
boost for applications that cause many Execute68k(). e.g. audio in PlayerPRO.
2004-05-19 21:23:17 +00:00
gbeauche
76bb058d70
Use memmove() in NQD_bitblt() in order to avoid possible overlaps
2004-05-16 15:48:25 +00:00
gbeauche
ae0e7293dd
Don't take an EMUL_OP mode switch for Microseconds() and SynchIdleTime()
2004-05-15 17:26:28 +00:00
gbeauche
28eb840182
"idlewait" support for Linux and NewWorld ROMs
2004-05-15 16:36:44 +00:00
gbeauche
65e1edb5b2
Fix bus frequency detection for more realistic timers.
...
Also add bus-frequency and timebase-frequency values to the Name Registry.
2004-05-15 11:07:11 +00:00
gbeauche
3904a421d4
Use assembly optimizations on x86 for adde/addo/etc. emulation
2004-05-14 08:25:30 +00:00
gbeauche
2ee1e604eb
Revert to use hw mac cursor acceleration in windowed mode
2004-05-14 08:24:31 +00:00
gbeauche
7da40bee5c
Handle SAFE_INTERRUPT_PPC to check possible nested calls (and this happens)
2004-05-12 15:54:23 +00:00
gbeauche
4571aa1c23
Typos. In EtherIRQ sheep_net case, really grab size bytes from device
2004-05-12 11:42:12 +00:00
gbeauche
8f6a408701
chmod 755 installed tunconfig
2004-05-12 11:39:00 +00:00
gbeauche
f75394db90
Direct block chaining works on all supported platforms, enabled by default
2004-05-12 11:38:16 +00:00
gbeauche
05fad61b21
Direct block chaining works on all supported platforms
2004-05-12 11:36:39 +00:00
gbeauche
81ae2fee40
Direct block chaining on x86 and amd64 too. Optimize do_execute_branch_bo<>
...
No need to update Program Counter if we have direct linked blocks.
TODO: remove obsolete PC-related generators
2004-05-12 10:44:04 +00:00
gbeauche
15a0779328
Size optimization: don't generate jump_next_A0() code in block chaining
...
mode since the only case we would reach that is when there are pending
interrupts, thus needing to exit from this basic block ASAP. Otherwise,
we jumped to linker trampolines
2004-05-11 21:53:48 +00:00
gbeauche
08bcd2653d
direct block chaining, aka faster block dispatcher
2004-05-11 20:53:25 +00:00
gbeauche
6c0e2a9f2a
Disable MacOS -> X11 copying of cursor in windowed mode too. You can
...
recompile with "mac_cursor_enabled" constant set to true. Disabling it
causes a better looking cursor that is not "disappearing" sometimes with
e.g. Microsoft Internet Explorer.
2004-05-10 16:42:37 +00:00
gbeauche
21607e19ad
Provide Mac_sysalloc() and Mac_sysfree() for memory allocation in MacOS
...
system heap zone. Use them for network related data dynamically allocated.
TODO: check performance in emulated mode!
2004-05-10 16:16:26 +00:00
gbeauche
f32e5ee9ab
Optimize for 32-bit big endian platforms
2004-05-10 15:42:35 +00:00
gbeauche
fd8b5bbb7a
Tentative little-endian fixes
2004-05-10 12:05:45 +00:00
gbeauche
cbc77b202d
Link keycodes & tunconfig files, DESTDIR'ify Unix/Makefile
2004-05-09 17:55:11 +00:00
gbeauche
85347b85c7
TUN/TAP support
2004-05-09 17:44:18 +00:00
gbeauche
5164fc9dfc
parentesisation
2004-05-07 14:19:50 +00:00
gbeauche
2eda71a795
build fixes for x86 and some older compilers
2004-05-07 13:27:26 +00:00
gbeauche
ba7bfc478e
Extend NativeOp count to 64 (6-bit value), aka fix NATIVE_FILLRECT opcpdes.
...
Translate NQD_{bitblt,fillrect,invrect} to direct native calls.
Use Mac2HostAddr() for converting Mac base address to native.
2004-04-22 22:54:47 +00:00
gbeauche
8b40a7e721
NQD: use ReadMacInt*() and WriteMacInt*() accessors, i.e. code should now
...
be little-endian and 64-bit safe.
2004-04-22 21:45:18 +00:00
gbeauche
b4ac3fb507
Basic fillrect/invrect NQD. Code may need to be factored out somehow.
...
Verify that bitblt NQD transfer modes are really CopyBits() ones [MB5].
2004-04-22 20:57:31 +00:00
gbeauche
04dcff8ab4
Constrain NQD to powerpc (32-bit big endian) at this time
2004-04-18 23:17:54 +00:00
gbeauche
a65a6c6db2
Start Native QuickDraw acceleration
2004-04-18 23:03:53 +00:00
gbeauche
123a5210e4
Fix nested ppc_interrupt() stack corruption problem by allocating yet
...
another stack when next signal is triggered. I am still unsure if
even MacOS would normally handle nested calls to NanoKernel interrupt
routine.
2004-04-14 20:25:26 +00:00
gbeauche
fd474d041d
Fix DGA mode for emulated PPC targets. It currently doesn't work in native
...
mode as the stack is corrupted and we are jumping to garbage when moving
the mouse. Also add 1152x768 resolution from PBG4, but make timing match
the 1152x870 version.
Cleanups, further merges from Basilisk II tree.
2004-04-13 22:22:22 +00:00
gbeauche
e6a05869ac
Disable VidMode extension by default as some video cards don't support it
...
well, thus causing a black screen. Besides, fix up sigsegv_recovery logic
2004-04-13 22:13:19 +00:00
gbeauche
61aa371b48
Handle NO_CONFIGURE variable if we are only generating the configure script
2004-04-13 22:12:27 +00:00