gbeauche
016dfddd79
Sync with the new SIGSEGV API.
2007-12-30 08:47:34 +00:00
gbeauche
902079ec8e
Improve API for systems that require explicit calls to functions to retrieve
...
the memory addresses that triggered a SIGSEGV (e.g. MacOS X).
2007-12-30 08:45:18 +00:00
gbeauche
25c5b9599e
Update to slirp sources from QEMU 0.9.0:
...
- fix UDP (Jason Wessel)
- enable TCP_NODELAY for slirp redirection (Daniel Jacobowitz)
2007-11-03 16:36:35 +00:00
gbeauche
b899d55068
Don't raise SIGPIPE, let errno be set to EPIPE. i.e. this fixes slirp ethernet
...
mode with no listening port on the remote host.
2007-11-03 11:31:36 +00:00
gbeauche
d7eb0f4d6d
Update to slirp sources from QEMU 0.8.2:
...
- set slirp client hostname
- fix slirp redirection on systems without a useful host IP address
- separate alias_addr (10.0.2.2) from our_addr (Ed Swierk)
- fix 32+ KB packets handling (Ed Swierk)
- fix UDP broadcast translation error
- solaris port (Ben Taylor)
2007-11-03 11:11:42 +00:00
gbeauche
c3a75ac75a
Add VERSION file so that to track differences from "upstream" slirp sources, i.e. QEMU.
2007-11-03 10:01:27 +00:00
gbeauche
d83c11faa2
Host OS name representation must be large enough to handle any kind of native
...
encoding (e.g. UTF-8 on MacOS X).
2007-11-03 09:59:39 +00:00
gbeauche
9000d4f54c
Rewrite ExtFS support for MacOS X. This implementation uses xattrs (metadata)
...
on Tiger+ to store FInfo and FXInfo. Otherwise, plain old .finfo/ helpers are
used. "Safe" flags and fields are always synchronized to/from MacOS X.
BTW, CFString leak was fixed at the same time.
2007-11-01 15:33:22 +00:00
asvitkine
a70c79b3cb
support for prefs stuff
2007-07-28 15:45:12 +00:00
gbeauche
a5778cd5cb
Fix xBCD instruction for 68040 emulation: the NV flags shall not be affected.
2007-06-30 08:00:31 +00:00
gbeauche
35bf8b2c25
Use NSIMAGE graphics mode for MacOS X on Intel platforms for now. Otherwise
...
it's crashing in some Apple code.
2007-06-30 07:33:30 +00:00
gbeauche
7f2dfe7f4f
Fix LSL & LSR instructions so that they preserve the X flags when the
...
shift count is 0. Likewise for ASR + another improvement to avoid shifting
by halves (propagated bit is reset to original's when necessary).
2007-06-29 16:53:04 +00:00
gbeauche
9c13d5cda9
Implement CMOV.B and CMOV.W translations. Only the latter has a native
...
x86 equivalent however.
2007-06-29 16:36:03 +00:00
gbeauche
b3f62598b7
More human readable instruction names (from e-uae).
2007-06-29 16:32:05 +00:00
gbeauche
e3f9d46556
Improve heuristic for VOSF profitability: we should not spend more than
...
the half of a video interrupt quantum for updating the screen. Also improve
the wording of the result.
2007-06-16 07:24:39 +00:00
gbeauche
320b4ccd61
Add Darwin/x86_64 support. Fix EDX register index for i386 insn decoder.
2007-06-16 06:21:57 +00:00
gbeauche
e9c5625ada
Fix REAL_ADDRESSING mode on MacOS X, aka move Mach defines to config_macosx.h
...
and fix lowmem (BLESS) to handle other-endian binaries.
2007-06-15 22:54:24 +00:00
gbeauche
41df47a596
Disable cxmon by default for MacOS X builds. Add hackery to cross-compile
...
a working 10.2/ppc binary.
2007-06-15 21:46:25 +00:00
gbeauche
92ff210e4f
Enable universal builds with --enable-universal
...
Move arch-dependent definitions to config_macosx.h, i.e. make them compile
time instead of configure time. Support IEEE FPU emulation core only.
2007-06-15 17:11:46 +00:00
gbeauche
7015458281
Fix cxmon files inclusion. Drop support for non ppc & x86 MacOS X arches.
...
Make JIT files & defs selection at build-time, not configure-time (FATs).
NOTE: be careful, larger changes are yet to come.
2007-06-15 10:11:28 +00:00
gbeauche
e2e8558ff1
Build MacOS X binaries only from the command line. Prepare the configure
...
scripts as follows: [NO_CONFIGURE=1] ../Unix/autogen.sh
Second round will be to build FAT binaries.
2007-06-15 09:16:58 +00:00
gbeauche
9617ca3033
Fix MOVEC for 68020/68030 emulation (MSP & ISP are supported control regs).
2007-06-15 08:10:48 +00:00
gbeauche
b05833a86b
Fix JIT for 68020/68030 emulation mode.
2007-06-15 08:09:01 +00:00
gbeauche
3f535d30da
Add support for comma-separated elements in "jitblacklist" item.
2007-06-15 07:55:03 +00:00
gbeauche
0a7fe2eaf8
Workaround video mode switch problems. IOW, make sure to always allocate
...
the frame buffer at the same base address.
2007-06-14 14:45:54 +00:00
gbeauche
b1900fbd06
Handle "idlewait" option.
2007-06-13 16:11:31 +00:00
gbeauche
31a754b2e6
Raise INTFLAG_1HZ in RTCInterrupt()
2007-06-13 16:10:05 +00:00
gbeauche
f20c1ca30b
Remove dead code, B2 doesn't use valid_address()
2007-06-13 15:57:46 +00:00
gbeauche
03833e4c56
Fix autogen.sh to automatically include the local m4 directory, used as a
...
fallback if system-wide defs are not found.
2007-06-13 13:27:40 +00:00
gbeauche
4ec66db185
Add MIPS files from cxmon.
2007-06-07 11:52:14 +00:00
gbeauche
974f086a8c
Arrangements for Linux/mips.
2007-06-05 13:15:57 +00:00
asvitkine
5bbda1a589
byteswap styled text (clipboard) on little endian host OS X
2007-02-18 21:11:41 +00:00
asvitkine
e2cde00af4
fix compile warning & potential buffer overflow at the same time
2007-01-24 05:42:23 +00:00
asvitkine
f12f5173be
macroman_to_host_encoding - so it works the other way around too
2007-01-24 02:37:06 +00:00
asvitkine
ab86a395da
Since Guest and Host OS may use different text encodings for filenames,
...
I am adding functionality to support this. For the moment, I've only
added the platform-specific conversion for MacOSX (ie: UTF8 -> MacRoman),
but others can be added later.
2007-01-22 17:14:06 +00:00
asvitkine
efa4fee4ac
cleanup: use get_device_path() since we already have it, instead of doing
...
the same thing manually with duplicated code
2007-01-22 14:58:33 +00:00
asvitkine
dc68e99f7c
fix compile warnings w/ slirp caused by not including stdlib
2007-01-22 14:48:40 +00:00
asvitkine
48907db336
Ok, now this works properly (Fix resolution switching without affecting audio).
2007-01-22 00:36:32 +00:00
asvitkine
268af8086b
back out my previous change, it breaks audio
2007-01-22 00:32:25 +00:00
asvitkine
473a3f2e22
Fix for resolution switching corruption under SDL (Mac OS X).
2007-01-21 19:33:13 +00:00
asvitkine
a3c2413f3b
ignore disks on which you can't get size
2007-01-21 18:06:39 +00:00
asvitkine
16bb0823b8
some documentation of status codes not yet implemented
2007-01-21 17:40:00 +00:00
asvitkine
28d7af3820
newline in error msgs
2007-01-21 17:27:15 +00:00
asvitkine
e9fbc36368
fix compile warnings on OS X
2007-01-21 17:10:49 +00:00
asvitkine
10b342e064
Byteswapping fixes for Mac OS X x86
2007-01-21 17:04:47 +00:00
gbeauche
3c100abdb2
Fix CMOV emulation on x86_64 in case the CPU doesn't support that instruction
...
(which is very unlikely).
2007-01-14 13:23:36 +00:00
gbeauche
8d2f2a335b
The older code generator is now deprecated on x86-32 too.
2007-01-14 13:07:22 +00:00
gbeauche
1f2e561a6f
Use SAHF_SETO_PROFITABLE wherever possible on x86-64, it's faster. This can't
...
be the default because some very ancient CPUs don't support LAHF in long mode
2007-01-14 12:23:29 +00:00
gbeauche
2e95c43bf2
Remove the 33-bit addressing hack as it's overly complex for not much gain.
...
Rather, use an address override prefix (0x67) though Intel Core optimization
reference guide says to avoid LCP prefixes. In practise, impact on performance
is measurably marginal on e.g. Speedometer tests.
2007-01-13 18:21:30 +00:00
gbeauche
9e252b413e
Fix 64-bit builds in REAL_ADDRESSING mode with gcc4.1.
2007-01-13 17:21:08 +00:00
nigel
a8e7114df2
Do'h. Checked in and shipped a DEBUG=1. Thanks to Steve Green for his fast eyes.
2006-08-01 03:31:46 +00:00
nigel
9a3097705d
Clarify CD insertion state, add widescreen suggestion
2006-07-31 11:10:59 +00:00
nigel
1b25d07fd6
Final doco changes before a new release
2006-07-31 10:51:24 +00:00
nigel
acb3384366
Sound done, VOSF pointless, Cut/paste half working, CD insert
2006-07-31 10:10:48 +00:00
nigel
9e9e20325e
Use Gwenole's clip_macosx.cpp instead of the dummy version
2006-07-31 08:52:33 +00:00
nigel
ecf2403c46
ether_unix.cpp somehow pulls something in that needs mem_banks.
...
If it isn't compiled in this directory, the wrong config.h is used.
2006-07-31 08:47:52 +00:00
nigel
1dad46a8ad
Project file updates for the new audio source files.
2006-07-29 02:24:15 +00:00
nigel
c68e5d916d
Working audio output by Daniel Sumorok.
...
Not quite the way I wanted to do it but it will do for now.
(on a real Mac, the real audio hardware should be able to pull/grab the data
from our buffers - an extra thread with its own set of buffers is wasteful!)
2006-07-28 13:42:29 +00:00
nigel
938c61485c
Resync with latest src/Unix/configure.ac
2006-07-28 13:28:54 +00:00
nigel
3e21f0377b
Giving up on the Objective-C version, also need to remove it from the makefile
2006-07-28 13:18:12 +00:00
nigel
f44d37bac8
Working audio output by Daniel Sumorok.
...
Not quite the way I wanted to do it but it will do for now.
(on a real Mac, the real audio hardware should be able to pull/grab the data
from our buffers - an extra thread with its own set of buffers is wasteful!)
2006-07-28 13:15:18 +00:00
gbeauche
7af6665619
icc9.1 & gcc4.1 warning fixes
2006-07-23 10:20:23 +00:00
gbeauche
87e1518e96
A few fixlets to the SIGSEGV library:
...
- Don't export transfer types definitions (formerly used by older API)
- Handle ADD instructions in ix86_skip_instruction() (generated by icc 9.1)
- Use "%p" format for EIP/RIP addresses
2006-07-19 21:31:10 +00:00
gbeauche
d1d7d5bd4c
Fix remove_shm_range() to actually return something
2006-07-19 21:23:41 +00:00
gbeauche
f39c252fbd
Fix 33-bit addressing mode check when compiling with icc 9.1
2006-07-19 21:22:41 +00:00
gbeauche
53f79caf8c
Add LEALQmr, EMMS, SSE CMP and a series of new SSE opcodes (auto-generated)
2006-07-17 04:07:41 +00:00
gbeauche
9e64c3af94
Add more SSE templates for new SheepShaver's code generator -- though it
...
should be made independent of this file.
2006-07-14 16:53:48 +00:00
gbeauche
b4768fc62c
Run-time assembler fixes:
...
- Check for RIP register only in 64-bit mode
- Add missing macros and arguments (BT*im)
- MOVSWQ/MOVZWQ are 64-bit mode instructions only
2006-07-14 09:09:12 +00:00
nigel
c071cd14f6
libgenemu can't find regflags in the XCode built newcpu.o,
...
so we compile it from the makefile into the lib, and not in the project
2006-05-25 05:03:03 +00:00
gbeauche
e4f5757403
Merge from the QEMU tree:
...
- Fix IP packet re-assembly logic (Ed Swierk)
- Suppress unaligned accesses (Fabrice Bellard)
2006-05-14 17:27:38 +00:00
gbeauche
ab1565ced2
Support up to 1GB in SheepShaver for Windows now.
2006-05-14 16:13:54 +00:00
gbeauche
7660affe77
Windows apparently needs an extra mouse event to make the new cursor image
...
visible.
2006-05-14 14:11:46 +00:00
gbeauche
3aa9d912b7
Fix build on Windows (<malloc.h> for alloca())
2006-05-14 13:49:53 +00:00
nigel
1a7d3714fb
Compile the CPU emulator in the makefile, so that it picks up configure-
...
generated #defines that are needed for running on X86 (vs PPC) emulator
2006-05-14 11:58:41 +00:00
nigel
c5c748f7e2
Some windowed graphics drawing methods cause the snapshot code to fail
...
if you have changed the depth since boot (seems to be something strange
with the parameters that I still haven't worked out). If this happens,
we now put a suggested workaround in the warning message.
2006-05-14 10:17:06 +00:00
gbeauche
98675da523
Fix NQD bounds checking -- don't overwrite the CLEAR Page Guard.
2006-05-14 08:32:05 +00:00
gbeauche
26a71e5417
Fix page alignment
2006-05-14 07:11:23 +00:00
gbeauche
1470a8af13
NQD dirty boxes, SDL backend.
...
This reduces the number of Screen_fault_handler() calls by 80%. i.e. VOSF
is now viable on this turtle MacOS X. Besides, since there is no buffer
comparison, idle sleep can really be effective. SheepShaver in idle mode
on my PBG4 now goes below 8% of CPU resources instead of 70-80% with
bounding boxes based video refreshes.
Caveat: if your program doesn't use standard MacOS routines that call NQD,
then you can expect slower (visual) performance. However, I do think the
new default behavior (VOSF+NQD) is the most common.
2006-05-13 16:58:44 +00:00
gbeauche
e4015e069f
Use NQD dirty boxes, VOSF backend
...
+ make video_vosf_profitable() NQD accel aware
+ call vm_protect() only if PFLAG_CLEAR(page)
2006-05-13 16:48:47 +00:00
gbeauche
3b07ba27e4
Introduce a new video refresh function that uses smaller bounding boxes.
...
This does not improve graphics performance but helps CPU because it reduces
the number of bytes transfered to actual screen. I saw an improvement by up
to 26% in frameskip 4 800x600x16 but also a hit by 3% with frameskip 0.
The next step is to use NQD bounding boxes to help detecting dirty areas.
So far, this is the best I can do without VOSF working (MacOS X performance
bugs -- pitifully slow Mach syscalls)
2006-05-11 07:51:32 +00:00
gbeauche
5019174a22
SDL Video updates:
...
- Properly handle migration from "screenmodes" and "windowmodes" to "screen"
- Fix has_mode() logic to really test for actual mode availability. i.e.
no longer start in large screen mode if user specified a max size.
2006-05-09 21:41:02 +00:00
gbeauche
4c225b2705
MacOS X exception handling updates:
...
- Call user handler for KERN_INVALID_ADDRESS too (SIGBUS)
- Check for VALID_THREAD_STATE_FLAVOR in forward_exception()
- Return KERN_FAILURE if forward_exception() got an unknown behavior code
2006-05-09 06:24:05 +00:00
gbeauche
24af8d27c3
Fix for LAZY_FLUSH_ICACHE_RANGE. Blocks are indexed by native addresses.
2006-05-08 16:56:07 +00:00
gbeauche
ecdc036c69
Adapt for new functions (DarwinSysInit() & DarwinSysExit())
2006-05-08 15:22:56 +00:00
gbeauche
61a2e86594
Rewrite MacOS X CD-ROM support.
...
Other bugs fixed:
- CD-ROM media are polled and now can be changed without rebooting
- Buffer overflow, memory leak and extra wait in CD-ROM ejection code
2006-05-08 12:15:58 +00:00
gbeauche
ff950c35e6
fix underquoted definition warning
2006-05-05 07:37:14 +00:00
gbeauche
5d3f53943d
Add another NULL pointer check
2006-05-05 06:00:17 +00:00
gbeauche
1314f09a68
remove
2006-05-05 05:56:52 +00:00
gbeauche
2bff888cee
updates
2006-05-05 05:56:20 +00:00
gbeauche
828b53b990
fix rev 1.22 commit for windows (extraneous return -1 left)
2006-05-02 19:49:25 +00:00
gbeauche
51a5e4c0da
Don't build a built-in GUI if --enable-standalone-gui was requested.
...
The following configurations were tested:
./configure --without-mon --with-gtk=gtk1 --enable-jit-compiler [B.GTK1]
./configure --without-mon [B.GTK2]
./configure --without-mon --enable-standalone-gui --without-gtk [no GUI]
./configure --without-mon --enable-standalone-gui --with-gtk=gtk1 [S.GTK1]
./configure --enable-jit-compiler --enable-standalone-gui [S.GTK2]
2006-05-02 05:36:42 +00:00
gbeauche
62389bb3c0
Add my local changes to GTK+OSX 0.7 -- it's only correct for Basilisk II
...
and SheepShaver purposes. i.e. it's not fully suitable as a generic
g_main_run() replacement.
2006-05-01 23:09:12 +00:00
gbeauche
daa0af4da6
improve locks
2006-05-01 13:13:18 +00:00
gbeauche
f853ce6c5b
Handle compatibility with older preferences files.
...
- routerenabled true
- ether GUID
both have priority over regular options.
2006-05-01 10:42:00 +00:00
gbeauche
c9c21cf70d
Add ether "tap" support to the GUI. Also fix "slirp" callback.
2006-05-01 10:27:17 +00:00
gbeauche
11ff11d205
Add experimental TAP-Win32 support. It looks rather sluggish to me, something
...
is probably wrong somewhere...
2006-05-01 10:23:47 +00:00
gbeauche
6590198dd8
aha, quick fix ;-)
2006-05-01 06:14:08 +00:00
gbeauche
5fed65456b
Implement better Windows suspend/resume routines so that we don't oversleep.
...
i.e. really wake up the thread on next TriggerInterrupt().
2006-05-01 06:12:50 +00:00
gbeauche
8ccf336660
Add "idlewait" to Basilisk II for Windows
2006-04-30 21:46:31 +00:00
gbeauche
5aa8c9f86f
Tentative fixes to BeOS idle suspend/resume routines. Well, I have no-op'ed
...
them. So, if someone has BeOS and wants to give it a try, please change and
test this new code. Corner case could be a resume_thread() when emul_thread
is not suspended.
Fixlet to powerrom_cpu: call idle_resume() from TriggerInterrupt().
2006-04-30 21:26:21 +00:00
gbeauche
4f07113555
Patch SynchIdleTime() to implement new "idlewait" prefs item.
2006-04-30 21:16:48 +00:00
gbeauche
52ff4b209b
Implement dummy idle suspend/resume routines for AmigOS
2006-04-30 21:13:21 +00:00
gbeauche
8fa12f4819
Fix PutScrap() patch with Mac Classic ROMs. Untested but it should work
...
again provided you build with --enable-addressing=banks
2006-04-30 17:27:55 +00:00
gbeauche
c9ae122d1b
handle creation time on MacOS X
2006-04-30 15:46:55 +00:00
gbeauche
5c9e121b7d
Workaround finderFlags problem on folders in MacOS X 10.4.
...
TODO: implement the same ".finf/" trickery as for Unix versions.
2006-04-30 14:46:15 +00:00
gbeauche
6a035aa279
update GUI with ether "slirp" on win32
2006-04-29 14:15:01 +00:00
gbeauche
08a6e383e8
slirp now works on windows
2006-04-29 10:57:56 +00:00
gbeauche
08b783d52b
slight updates for win32...
2006-04-29 10:54:12 +00:00
gbeauche
f0d77218c8
fix build on win32
2006-04-29 10:41:25 +00:00
gbeauche
8ca74c4eac
FAST_TIMO is 2 ms not 2 usec. Noticed on Windows but this obviously can't
...
fix my problem with slirp_select_fill() there as it still doesn't fill in
any socket descriptor. :-/ I think I won't bother much for Windows...
2006-04-26 06:26:14 +00:00
gbeauche
02c1747d34
Update the GUI with the new ethernet configuration changes. Handle migrations
...
from the GUI. Also move from a combo to a fixed popdown menu with pretty
printed ethernet interfaces.
2006-04-23 15:40:23 +00:00
gbeauche
732109eff2
Some clean-ups. Rewrite ethernet config interpreter. This implies some
...
prefs items changes but it should now be simpler to add other ethernet
emulation means (slirp, tap-win32).
# Basilisk II driver mode
ether {guid}
becomes
ether b2ether
etherguid {guid}
# Basilisk II Router mode
routerenabled true
becomes
ether router
2006-04-23 15:36:51 +00:00
gbeauche
9232fbe4df
Avoid the use of min(). Add helpers to access the network control panel
...
registry -- aka get pretty printed names from GUID ethernet devices.
2006-04-23 15:20:31 +00:00
gbeauche
2d5c088601
Make it possible to build Basilisk II for Windows with SDL libraries
...
statically linked in.
2006-04-20 22:36:26 +00:00
gbeauche
fb332c4e38
Add mkstandalone -- make a standalone bundle with GTK runtime
2006-04-19 22:51:27 +00:00
gbeauche
6d15429156
Always build the STANDALONE_GUI hooks into Basilisk II.
2006-04-19 06:55:54 +00:00
gbeauche
180f3edafd
Enable build of RPC code without pthreads (for Basilisk II and SheepShaver)
...
since we use our own custom message dispatch loop
2006-04-19 06:47:15 +00:00
gbeauche
622eca9068
Handle MacOS X bundles, search order: BasiliskII.app in the same directory
...
as BasiliskIIGUI.app, or /Applications/BasiliskII.app if none was found.
Also make yet another arrangement for MacOS X "difference". This scenario
was not working: WarningAlert -> ErrorAlert, the latter was not performed
because the exit status was not properly filled in sip->si_status...
2006-04-18 22:17:31 +00:00
gbeauche
d2e672c38f
Fix NO_B2_EXE_FOUND (again) -- catch it very early, hence the SIGCHLD. Use
...
new rpc_wait_dispatch() function and gracefully get out of the main loop
when the child returns, though this is caught but the sigchld_handler().
2006-04-18 21:29:01 +00:00
gbeauche
758050ac73
Implement rpc_wait_dispatch()
2006-04-18 21:24:12 +00:00
gbeauche
3fda1a3af7
- Only start the emulator if requested (click on the "Start" button)
...
- Rewrote dispatch loop to accomodate GTK+1.2 for MacOS X (which doesn't
like threads nor forks(!)). The latter also requires an additional patch
to the version 0.7 available on SourceForge
- Run-time detect JIT capability so that we could hopefully use the ppc GUI
on intel based Macs (check!)
2006-04-17 21:22:01 +00:00
gbeauche
02c24ed6c2
Create MacOS X bundle for BasiliskIIGUI.app. Also make sure to only link in
...
necessary GUI_LIBS and not all of the LIBS.
2006-04-17 15:32:37 +00:00
gbeauche
a295eea890
Fixes for GTK+1.2 GUI on MacOS X
2006-04-17 14:25:57 +00:00
gbeauche
5b1977b9f2
Fixes for MacOS X (10.2 has no <sys/poll.h> and 10.4 version is broken).
2006-04-17 09:06:32 +00:00
gbeauche
252f396ff3
Make Basilisk II main application not use GTK libraries when compiling with
...
STANDALONE_GUI. This is the second step towards a more interesting GUI alike
to VMware. Communication from/to the GUI is held by some lightweight RPC.
Note: The step should be enough to provide a tiny GTK GUI for MacOS X.
2006-04-16 21:25:41 +00:00
gbeauche
6994ab671e
Enable build of a standalone GUI (first step).
2006-04-16 16:32:45 +00:00
gbeauche
5f3874c853
Apply the qemu-slirp-performance.patch from Kenneth Duda available here:
...
<http://lists.nongnu.org/archive/html/qemu-devel/2006-04/msg00245.html >
This does improve slirp performance a lot, especially in FTP passive mode
transfers. i.e. now, they are equally as fast as non passive mode. I get
approx. 800 KB/sec in B2 and 500 KB/sec in SheepShaver (over a DSL line).
In native env, the max download data rate from my ISP is around 950 KB/sec.
2006-04-13 22:15:02 +00:00
gbeauche
0222915bc4
Fix long double support for x86 targets if -m128bit-long-double.
2006-04-09 13:40:27 +00:00
gbeauche
bc9c586afc
cleanups
2006-04-04 07:08:12 +00:00
gbeauche
896ada92dc
Try to improve slirp performance again (though passive mode is still slower)
2006-04-02 21:06:50 +00:00
gbeauche
7c68ef5418
fix memory leak (1.0.17)
2006-04-02 08:47:39 +00:00
gbeauche
db76383246
decode movslq (generated by gcc4.1)
2006-03-30 22:45:49 +00:00
gbeauche
99241183a5
Fix pollmedia on Windows, it's no longer necessary to boot with a CD-ROM in
...
the drive to use it. Side effect: media can be changed without problems now
2006-03-28 07:01:19 +00:00
gbeauche
dfbb829055
Use GetMainWindowHandle() provided by main_windows.cpp
2006-03-28 06:59:30 +00:00
gbeauche
8d73299187
cleanups, it's only worth supporting x86 arches
2006-03-28 06:58:30 +00:00
gbeauche
29396b547b
cosmetics
2006-03-27 22:04:36 +00:00
gbeauche
61fb95dd6f
Merge in slirp updates from QEMU:
...
- improved performance (still not visible in B2 part, especially passive mode)
- set SO_REUSEADDR before calling bind()
- win32 compile fix
2006-03-25 07:57:38 +00:00
gbeauche
a4a070bc4a
- add Linux/PPC linker script
...
- always relocate Basilisk II binary to 0x78048000 on MacOS X (including x86,
to be tested later)
2006-03-25 07:08:50 +00:00
gbeauche
dc286967dc
fix clipboard handling for MacOS X
2006-03-21 06:43:02 +00:00
nigel
d2c45bd4f2
GweloleÌ fixed ether_unix exit problem (and my hacky workaround), so the enhancement comment can go
2006-03-16 04:23:47 +00:00
nigel
8eddb42a60
Better documentation of Snapshot bug
2006-03-16 04:14:12 +00:00
gbeauche
41ee2520b6
freebsd linker script
2006-03-15 06:54:34 +00:00
gbeauche
b662e6acec
Add linker script for FreeBSD 5.3 (and probably newer). Verified to allocate
...
up to 1 GB of Mac RAM in both REAL_ADDRESSING and DIRECT_ADDRESSING modes.
NetBSD 2.0 can use the Linux linker script. However, I could not verify 1G
support since my installation does not permit this.
2006-03-15 06:54:07 +00:00
gbeauche
449c6496ff
Link with AppKit framework on MacOS X. This should enable X11 builds when
...
there is no SDL available (suggested by Dara Hazeghi)
2006-03-14 22:14:13 +00:00
gbeauche
7ee9cb43dc
Relocate MacOS X executable to 0x78048000 akin to linker scripts on Linux
...
arches. This probably already worked in the past but I have just verified
that Basilisk II works with up to 1 GB of Mac RAM in DIRECT_ADDRESSING or
REAL_ADDRESSING mode.
BTW, a quick Speedometer 4 CPU performance test showed a +15% speed increase
in real addressing mode vs. direct addressing. x86 arches don't benefit much
from that mode since they support complex address modes already (beyond plain
load/store).
TODO: check on MacOS X for Intel so that to reduce the test to darwin*:*)
2006-03-14 21:18:44 +00:00
nigel
fa84cf9a51
1. Happy New Year. 2. Minor syntax error
2006-03-14 09:38:24 +00:00
nigel
cce2d58228
Incorporate recent changes from Unix equivalent files
2006-03-11 11:45:25 +00:00
nigel
0fc35d5a91
Ensure event processing works in fullscreen mode
2006-03-10 08:16:56 +00:00
gbeauche
b80e9651f5
fix cross-block initializer
2006-02-27 13:39:29 +00:00
gbeauche
cafa8c8c89
add some barriers to make sure L_e_region* really come after the test insns
2006-02-27 13:38:52 +00:00
gbeauche
c19cc7a81b
Updates
2006-02-27 07:25:43 +00:00
gbeauche
74c62b9095
- Try to allocate Mac memory only once on 32-bit systems
...
- Cap Mac memory to 1023 MB, Apple Personal Diagnostics crashes at 1 GB
- Scratch memory is meant to be addressed from Mac programs too
2006-02-27 07:24:58 +00:00
gbeauche
f446d610f8
Start allocating memory from 0x10000000 with linker scripts since the system
...
sometimes has a problem to make a decision when next_address == 0.
NOTE: this makes it possible to allocate up to 1 GB with DIRECT_ADDRESSING
2006-02-27 07:16:40 +00:00
gbeauche
9aab8c7d85
Move up _start base
2006-02-27 07:14:39 +00:00
gbeauche
93d918097b
Fix vm_acquire_mac() fallback to non 33-bit addressing mode. Support 33-bit
...
addressing in REAL_ADDRESSING mode. Only support platforms with proper
linker scripts to map the whole Mac memory from address 0. Warning fix.
NOTE: when compiled with --enable-addressing=real on Linux {x86,x86_64},
you can not address up to 1.5 GB in Basilisk II.
2006-02-27 00:15:39 +00:00
gbeauche
2ef9d6e708
Add linker scripts for correct REAL_ADDRESSING support
2006-02-27 00:11:49 +00:00
gbeauche
077a232acc
Memory allocated through win32 VirtualAlloc() is zero-filled. Likewise for
...
memory mmap()'ed with MAP_ANONYMOUS (equivalent to /dev/zero mapping but
faster)
2006-02-27 00:04:12 +00:00
gbeauche
735c332ab7
add 33-bit addressing support to vm_acquire_fixed()
2006-02-26 23:45:07 +00:00
gbeauche
dbc467e316
prefer lower indexes in register allocation, this avoids REX prefixes on
...
x86_64 when %r8 - %r15 are used (very light speedup expected)
2006-02-26 18:58:18 +00:00
gbeauche
91babf4bb5
fix FETOX & FTWOTOX translations for x86_64
2006-02-26 18:49:55 +00:00
gbeauche
c374d519a3
fix ROM85 bug fix for AppleShare extension
2006-02-19 14:18:29 +00:00
gbeauche
294664b726
Fix SAHF_SETO_PROFITABLE code for x86-64 platforms.
...
This was only an experiment. Improvement was marginal: only +3% on AMD64
(an Athlon 64 3200+). However, it may be interesting to test it on EM64T
(e.g. newer P4s) since an older P3/800, hence in 32-bit mode, got a +15%
improvement in Speedometer 4 benchmarks.
Rationale: lahf/seto sequences avoid load/stores to the stack (push/pop)
and it was thus hoped to be faster.
Anyhow, SAHF_SETO_PROFITABLE can only be enabled manually at this time.
Edit your generated Makefile for testing, but first make sure your CPU
supports lahf in 64-bit mode (lahf_lm flag in /proc/cpuinfo).
2006-02-06 23:06:54 +00:00
gbeauche
3b94dfb1a9
Cosmetics, fix %rh cases in !X86_FLAT_REGISTERS mode, lahf/sahf are now
...
valid instructions in long mode (recent enough CPU revisions: lahf_lm).
2006-02-06 22:57:18 +00:00
gbeauche
9ccf62f7b0
Manually emit LAHF instructions so that 64-bit assemblers can grok it
2006-02-06 22:55:44 +00:00
gbeauche
360a9457c6
fix logic
2006-01-27 23:49:01 +00:00
gbeauche
9d984b3b34
Check whether compiler supports byte bit-fields. If so, we can enable slirp
...
emulation code since it pure C+sockets code.
2006-01-27 23:41:43 +00:00
gbeauche
e9e3ad9a4b
Further unaligned access fixes on IRIX (Brian J. Johnson). Configury needed
...
to ensure compiler supports bit-field members of unsigned char type.
2006-01-27 23:31:38 +00:00
gbeauche
a615a4ac24
Use the most portable POSIX-style non-blocking I/O (O_NONBLOCK) instead of
...
BSD-style through FIONBIO. It turns out Tru64 and probably IRIX don't support
the latter when fd is a pipe (slirp case).
2006-01-24 23:46:19 +00:00
gbeauche
064973dbc7
ugly cast games
2006-01-24 21:33:26 +00:00
gbeauche
e0a966ee15
Code I wrote yesterday was totally broken. It's enough to make sure nPC is
...
correctly updated too... Instruction skipper now works on Solaris/SPARC.
2006-01-23 23:57:41 +00:00
gbeauche
99f5dcf66f
- Fix SPARC Store Doubleword transfer_size in decoder.
...
- In the instruction skipper code, add a huge kludge (trampoline) to forcibly
zero out %global registers when requested. Otherwise, Solaris/SPARC turned
out to use %g1 during signal handling, and the zero we could have written
to there vanished. This assumes [%sp-8] is valid to use (ABI states data
below %sp is undefined though)
2006-01-22 23:14:48 +00:00
gbeauche
100a3e1abd
Adapt for MacOS X for Intel, also fix thread_state type in forward_exception()
2006-01-22 00:05:05 +00:00
gbeauche
f0f76cd7ad
Remove nigel's hack, I am confident the problem was MacOS X implementation of
...
poll() that was not a cancellation point, which I fixed (OSX/Intel 10.4.4)
2006-01-21 20:48:17 +00:00
gbeauche
ceb7488a77
poll() and select() are still not cancellation points in MacOS X 10.4.4...
2006-01-21 16:19:47 +00:00
gbeauche
a6156a17b7
streamline for standalone VOSF performance testing
2006-01-21 16:00:17 +00:00
gbeauche
335a9dd7f3
MacOS X bundle
2006-01-21 13:06:32 +00:00
gbeauche
5ee0a6741b
Packet headers can be examined through unaligned addresses. This patch
...
fixes this, especially for MIPS & SPARC platforms. [Initial patch from
Brian J. Johnson]
2006-01-17 21:19:12 +00:00
nigel
998e1f7f7b
A few more clashes with OS X headers (10.3 only?), update year
2006-01-16 23:10:33 +00:00
nigel
078efac834
Added the cosmetic feature that I forgot was in v17
2006-01-16 23:09:53 +00:00
nigel
ff7665cb2e
Add a Networking section, update formatting in other parts of the text
2006-01-16 23:07:22 +00:00
gbeauche
e534b07a70
more precise callee-saved register set
2006-01-16 21:31:41 +00:00
gbeauche
12f103a83a
JIT generated code is not guaranteed to be leaf, e.g. there could be a call
...
to a generic instruction handler (untranslated code). This caused problems
on MacOS X for Intel where the unaligned stack conditions turned out to be
more visible. Performance loss is really neglectable and this is the right
fix now anyway.
2006-01-16 21:31:08 +00:00
gbeauche
1b99c9501f
fix stack alignment (theoritically but it was OK in practise) in generated
...
functions, move m68k_compile_execute() to compiler/ dir since it's JIT
generic and it now depends on USE_PUSH_POP (as it should)
2006-01-15 22:42:51 +00:00
gbeauche
2bc7887bc1
fix framework detection on OSX/intel (thanks toshi for the remote access ;-)
2006-01-15 11:38:41 +00:00
nigel
a398b4a32a
10.4 builds are fine, but not when using Xcode
2006-01-05 03:37:56 +00:00
nigel
fc83144337
Update in what OSs this compiles under
2006-01-05 00:36:20 +00:00
nigel
681187bfc2
Another two years!
2006-01-04 06:23:57 +00:00
nigel
bdf1e05605
Version 17 test was a bit messy
2006-01-04 06:20:38 +00:00
nigel
ca2dba38fe
Another year, another version
2006-01-04 06:14:55 +00:00
nigel
e47c1c50cd
There is now a fix (er, hack) for the ethernet thread exit problem,
...
so move it from bugs to "wouldn't it be nice if ..."
2006-01-04 06:14:26 +00:00
nigel
4b000e4dad
Clean up after configure
2006-01-04 06:11:04 +00:00
gbeauche
a2840298b0
- factor out native_byte_order determination
...
- fix ExpandMap[] when client X image byte order is different than host's
e.g. { mips, ppc } -> x86 in 8 bpp mode
2006-01-03 22:03:27 +00:00
nigel
c08ed3ccd5
Add SLIRP changes to Project Builder file (10.0 and 10.1)
2005-12-30 01:56:03 +00:00
nigel
641fa2c01e
Compiling on Mac OS X 10.2 doesn't define uint8_t using the standard headers.
...
Including stdint.h should be safe, but if it clashes, we could put an OS X
specific wrapper around it: #if (defined(__MACH__) && defined(__APPLE__))
2005-12-30 01:19:53 +00:00
nigel
5d09d2b6c4
Small hack for clean exits on Nigel's OS X port
2005-12-29 13:40:25 +00:00
nigel
3802e35346
Working EtherNet (SLIRP), minor doco update, semaphore.h needed for Unix src.
2005-12-29 13:06:12 +00:00
nigel
a4bac33b8b
A few more updates from latest Unix configure.ac
2005-12-29 00:32:43 +00:00
gbeauche
bdcf8efe2e
Link with math library (-lm) on IRIX so that to get support for long double
...
arithmetic. Also make sure to only use -IPA with MIPSPro Compilers.
2005-12-04 15:45:09 +00:00
gbeauche
0ca22128d6
Fixes for IRIX/mips build with MIPSPro compilers
2005-12-04 15:23:02 +00:00
gbeauche
dbd5736f1d
Fix Serial build on IRIX, remove the STDC_HEADERS manually defined macro
...
since it now works (egrep was missing previously, IIRC)
2005-12-04 15:03:11 +00:00
gbeauche
41fb85a3e7
Protect the SDL events queue when changing the cursor map in SheepShaver,
...
aka fix "Xlib: unexpected async reply" messages in SDL/x11 builds.
2005-11-29 23:20:31 +00:00
gbeauche
56f0207ebe
Initial support for NDIS interfaces selection (very preliminary but working
...
for me on Windows XP, and actually faster than NAT/Router ethernet emulation)
2005-11-29 22:59:44 +00:00
gbeauche
f16f343b76
add support for "cdrom" drive selection
2005-11-29 20:54:57 +00:00
gbeauche
434ad38a1f
SheepShaver GUI, remove extraneous "slirp" currently inexistent for Windows
2005-11-27 23:51:47 +00:00
gbeauche
a2cb2c6280
SheepShaver glue for Ethernet support. Remove duplicate "Set source address"
...
case from common code.
2005-11-27 22:18:29 +00:00
cebix
9cdff5117f
ignore floppy device open fail in Sys_open() so the floppy drive will be
...
operative even if no disk was inserted at startup
2005-11-24 17:23:43 +00:00
cebix
92551146fc
modernized Linux sound device detection
2005-11-24 17:03:15 +00:00
cebix
f450308b2f
modernized Linux floppy detection
2005-11-24 17:02:59 +00:00
cebix
a415ed6117
added missing virtual destructor
2005-11-24 16:43:11 +00:00
gbeauche
b57b53ee75
Windows GUI: set "frameskip" to 1 when switching to fullscreen mode
2005-11-22 22:57:30 +00:00
gbeauche
1f66e31423
undo unwanted change for now (double check this one later)
2005-11-22 21:57:59 +00:00
gbeauche
af7973a79c
fix build with gtk-1.2
2005-11-22 21:53:24 +00:00
gbeauche
4c4b24026f
fix copyright dates
2005-11-22 20:29:46 +00:00
gbeauche
dd2b492086
"jitlazyflush" prefs item type was changed to bool some time ago, this fixes
...
this and enables the GUI to set it to true by default, as expected.
2005-11-22 06:48:55 +00:00
gbeauche
5fbaa95fbc
Windows HACK: default to the DIB driver as it looks smoother to me and
...
doesn't require locking the surfaces, which probably the cause of apparent
slowness when using the DirectX backend. This needs to be investigated more
2005-11-22 06:26:35 +00:00
gbeauche
a7da877356
Remove obsolete Cygwin/X11 addressing hack. Fix DirectX fullscreen mode
...
with hardware surface. On the other hand, DIB (SDL_VIDEODRIVER=windib)
always seems the fastest on my system for both windowed and fullscreen
modes.
2005-11-21 23:38:46 +00:00
gbeauche
934975e12b
add support for instruction skipping on windows too
2005-11-21 22:13:56 +00:00
gbeauche
88246b3622
don't remove config.h.in in make distclean
2005-11-21 22:03:53 +00:00
gbeauche
9c06a00dd2
GUI cosmetics from the Windows port: add "browse" button to ROM & keycodes
...
file selectors, improve "Memory/Misc" pane to be more attractive and simplify
RAM size selection, rename to "Keyboard/Mouse" pane to match the actual order
of elements in the pane, make "<control>-S" save/start the config.
2005-11-21 21:39:08 +00:00
gbeauche
c830fd7f02
Windows GUI: don't mess the button pad, map '<ctrl>-S' to Start/Save config
2005-11-20 23:59:18 +00:00
gbeauche
2fadb1707c
Try to be a bit more descriptive
2005-11-20 23:55:17 +00:00
gbeauche
3ab9970f0c
Windows GUI: disable SCSI settings for now since they are not merged yet,
...
handle Ethernet (NAT/Router module, None) and actually execute BasiliskII.exe
2005-11-20 23:47:42 +00:00
gbeauche
3cd04e58e1
GUI cosmetics: translation cache size is expressed in Kilo Bytes (KB)
2005-11-20 21:58:30 +00:00
gbeauche
ad4f3b2afd
Windows GUI: fix creation of new volumes, handle "Enable external file system",
...
"Enable polling", add "Browse" button for keycodes file chooser.
2005-11-20 21:56:06 +00:00
gbeauche
148a4d1647
Windows GUI resources
2005-11-20 17:45:29 +00:00
gbeauche
b52fd5535b
GUI cosmetics
2005-11-20 17:26:16 +00:00
nigel
185141ee4b
Another minor 10.4 fix, Marcus Gail's CD-ROM boot UI fix
2005-10-15 10:38:22 +00:00
nigel
b78c71dab6
Update official B2 web page
2005-10-15 10:22:27 +00:00
nigel
1f5092a9af
Fixes from latest Unix version (no more black screen bug!)
2005-09-19 07:49:12 +00:00
nigel
891e284c40
Re-sync with Unix version. Fixes black screen bug
2005-09-19 07:45:07 +00:00
nigel
0c96c9bbbf
No need for classic mode
2005-09-19 07:38:55 +00:00
nigel
9ef0599095
Recent fixes mean there is no "classic" build, so update doco
2005-09-19 07:24:10 +00:00
nigel
110318fb69
Some more 10.4 fixes by Kirk Kerekes
2005-09-19 06:02:47 +00:00
gbeauche
a750963a94
don't grab in -mdynamic-no-pic with icc, note that you need icc >= 9.0.25
...
to have a working build
2005-08-18 22:10:15 +00:00
nigel
82e6f0cbd4
Added a few more bugs
2005-08-14 12:24:40 +00:00
nigel
029c61ff20
Added install item
2005-08-14 12:22:31 +00:00
nigel
d8c85284f4
Stylistic (and possible GCC3/4) fix
2005-08-14 12:21:27 +00:00
nigel
ffb2e01535
Started including 10.4 compile fixed from Kirk Kerekes,
...
Confirmation on disk image Delete requested by Markus Gail.
2005-08-09 03:28:53 +00:00
gbeauche
e694311703
Drop the old _llseek() hack. That was causing problems and we "now" use the
...
right approach with LFS for a few years now.
2005-08-01 05:23:02 +00:00
gbeauche
ba5ef9cd31
Stop abort()'ing when we fail to recognize the underlying processor, assume
...
an obsolete i386 instead. Keep report on stderr though.
2005-07-24 14:57:11 +00:00
gbeauche
ef5a50e2af
recognize more P4 cores
2005-07-24 14:48:27 +00:00
gbeauche
6ee23f0eba
Fix a long standing typo, now enabling use of volumes larger than 4 GB!
2005-07-24 14:05:16 +00:00
gbeauche
77208f85b0
sys_darwin.cpp depends on CoreFoundation stuff, disable it for OpenDarwin
2005-07-10 16:42:04 +00:00
gbeauche
43c8792b6e
Fix detection of GCC versions (J.P. Larocque)
2005-07-06 05:25:05 +00:00
gbeauche
9d7e5017d9
Factor out stuff for SheepShaver compatibility.
2005-07-03 08:21:32 +00:00
gbeauche
858c3b9719
- Check for <stdint.h> ourselves if AC_HEADER_STDC didn't do that
...
- Build with -mdynamic-no-pic on MacOS X, this brings up to 20% performance
improvement in the CPU core.
2005-07-01 05:57:07 +00:00
gbeauche
01b34da3d9
Don't remove config.h.in in distclean rule if we are still keeping configure
2005-07-01 05:54:58 +00:00
gbeauche
eaa0f6576b
Import m4 macros for external packages in case one would want to regenerate
...
a configure script without having those installed (e.g. on MacOS X).
2005-07-01 05:54:20 +00:00
cebix
fa5ae3ab6e
minor cleanups
2005-06-30 21:25:26 +00:00
gbeauche
e867749999
POSIX conforming use of pthread_cond_wait().
2005-06-30 10:34:31 +00:00
gbeauche
e355c83f59
Add system-specific implementations of idle_{wait,resume} functions.
2005-06-30 10:20:18 +00:00
gbeauche
a8ba24aecf
Use fast spinlocks only for small enough atomic operations. Otherwise, you
...
run into some performance problems in e.g. video graphics experience because
of busywaits in the current spin_lock() implementation.
2005-06-25 11:40:29 +00:00
gbeauche
12eb8b670f
Avoid C99-isms in C code for old compilers (e.g. gcc "2.96" on MDK 8.1)
2005-06-22 08:51:04 +00:00
gbeauche
1421bca4a7
Comment typo and return handled status in handle_selection()
2005-06-22 08:50:07 +00:00
gbeauche
3e532be645
Check for GTK for the GUI. Also add serial_windows.cpp to SRCS files
2005-06-20 08:43:50 +00:00
gbeauche
1e7c27958d
WIP prefs editor for Windows in GTK
2005-06-20 08:40:34 +00:00
gbeauche
c57c81879c
merge in serial ports emulation from original B2/win port
2005-06-20 06:11:28 +00:00
gbeauche
3a0b4ed999
Get real page size on Windows for vm_get_page_size() [64 KB]
2005-06-20 03:54:46 +00:00
gbeauche
d0fd88f7b2
gtk2 gui support
2005-06-19 15:52:09 +00:00
gbeauche
7f3e40883a
Only close clipboard hidden window only if created. This fixes errors on
...
early exit from the GUI.
2005-06-19 15:50:52 +00:00
gbeauche
fe99211e75
Support USE_CPU_EMUL_SERVICES in SDL/video driver. Only trigger ethernet
...
interrupt in one_tick() if no pthreads at all are used, i.e. ether_dummy
is effective in that case. Otherwise, don't trigger ethernet again if
pthreads are available (and ether_unix) and cpu emul services are active.
2005-06-14 22:35:42 +00:00
gbeauche
957bee00cf
Always allocate RAM and ROM areas at the same time. This avoids having ROM
...
suddenly allocated below RAM and thus not working. Besides, this may fix a
latent deallocation bug in real addressing mode (i.e. release the whole
block allocated at once, not separately).
Side effect: this makes Basilisk II work in direct addressing mode with JIT
on Darwin 8.0.1 for x86.
2005-06-13 20:19:15 +00:00
gbeauche
334f9ce018
Check for CoreFoundation framework (Darwin 8.0.1). Likewise for
...
IOKit/storage/IOBlockStorageDevice.h which is not available there on x86
2005-06-12 23:36:34 +00:00
gbeauche
2bc79fd857
Enable Basilisk II to work even if slirp_init() failed. Disable ethernet
...
emulation in that case, don't exit(1).
2005-06-12 22:48:48 +00:00
gbeauche
e308e5441b
Mach exception recovery and instruction skipping for Darwin/x86.
2005-06-12 21:47:46 +00:00
gbeauche
369d01cf16
%Ld is for long double, not long long (%lld)
2005-06-11 06:52:22 +00:00
gbeauche
0f0b06b099
Much improved responsiveness on NetBSD systems.
...
On those systems, it's really hard to get high resolution timings and the
system oftens fails to honour a timeout in less than 20 ms. The idea here
is to have an average m68k instruction count (countdown quantum) that
triggers real interrupt checks. The quantum is calibrated every 10 ticks
and has a 1000 Hz resolution on average.
2005-06-11 06:43:24 +00:00
gbeauche
57e618990c
Add experimental fullscreen SDL video graphics. Map Windows keys to Option.
2005-06-06 21:20:28 +00:00
gbeauche
8532e34485
Update GTK Prefs Editor with support for "jitinline" and "slirp" ethernet.
2005-06-06 20:11:50 +00:00
gbeauche
6b9f8e85c5
Robustify: only close zero_fd if actually allocated
2005-06-06 19:40:17 +00:00
gbeauche
452b7b9638
Properly QuitEmulator() on unhandled SIGSEGV even if not ENABLE_MON.
2005-06-06 19:39:36 +00:00
gbeauche
f784bf5c05
Restrict mandatory SLIRP_CFLAGS to minimum, i.e. -fno-strict-aliasing.
2005-06-06 19:31:22 +00:00
gbeauche
c0cc43a87b
Really make translation through constant jumps functional. This can be
...
disabled with the new prefs item "jitinline". Some rapid Speedometer 4
benchmarks showed only a 4% improvement.
2005-06-06 19:22:56 +00:00
gbeauche
83b228cf30
Add support for hardware locks on x86_64 too
2005-06-06 18:49:51 +00:00
gbeauche
6c65ae370e
Fix build with NO_INLINE_MEMORY_ACCESS set
2005-06-05 07:32:23 +00:00
gbeauche
830bf0f65c
Fix build on 32-bit platforms with REAL_ADDRESSING mode
2005-06-05 07:03:12 +00:00
gbeauche
08c4acd21f
Enable FLIGHT_RECORDER for generated code but don't record registers in
...
that case (yet).
2005-06-04 16:47:14 +00:00
gbeauche
a4caa8ab09
Handle all slirp input/output from a single thread, thus fixing occasional
...
hangs on slower systems (concurrent read/write in 68k mode). Reduce timeout
to 10 ms.
2005-05-21 17:48:21 +00:00
gbeauche
02714e46a8
Fix and factor out ether_exit(). Pitifully, MacOS X 10.2 does not make select()
...
a cancellation point when it is passed a NULL timeout. Workarounded in
receive_func() with a full inline of poll_fd() + pthread_testcancel().
2005-05-15 17:22:12 +00:00
gbeauche
71c3199a42
Add "fbcon" keycodes (Linux Framebuffer Console)
2005-05-15 07:55:05 +00:00
gbeauche
dab65b1211
Enable ethernet on MacOS X even though slirp seems to have some small
...
problems on big endian systems. IOW, Basilisk II can hang there. I also
noticed that on Linux/ppc so that's probably not MacOS X specific, assuming
the same problem. ==> A packet arrives but Basilisk II can't seem to trigger
an interrupt (need to try sheep_net/tun in linux to make sure)
2005-05-14 17:40:05 +00:00
gbeauche
84c9d99d18
Remove bootp debug code as it uses varargs macros that are not supported in
...
all foreign compilers (including preprocessor shipped with MacOS X!). Also
fix build on platforms not including <stdint.h> by default.
2005-05-14 17:37:07 +00:00
gbeauche
77446db25d
fix poll() emulation
2005-05-14 17:33:57 +00:00
gbeauche
1b53603138
MacOS X doesn't implement unnamed POSIX semaphores even though their libc
...
defines the functions. Use Mach semaphores instead.
2005-05-14 17:32:55 +00:00
gbeauche
85db30f78d
add missing rule to build extfs_macosx.mm
2005-05-14 16:37:21 +00:00
gbeauche
fd61ad2b0c
Try to improve the documentation concerning the "tun" interface. Take note
...
that that kernel module must be loaded and IP forwarding enabled. Also add
slight improvements to the "tunconfig" script so that sudo /sbin/ifconfig
and sudo /sbin/iptables are really supported for current user if not root.
2005-05-14 16:08:17 +00:00
gbeauche
722eedd6e2
ethernet/slirp works on netbsd too
2005-05-14 08:42:39 +00:00
gbeauche
eff6830415
detect slirp at configure time, aka fix build when ether_dummy.cpp is used
2005-05-14 08:10:49 +00:00
gbeauche
4bf4a1d2b0
fix for new packet interface
2005-05-14 08:10:09 +00:00
gbeauche
63015fd6d3
Use a custom poll_fd() function implemented as select() on platforms that
...
don't support poll() natively, e.g. MacOS X and some older BSDs.
2005-05-13 17:43:38 +00:00
gbeauche
d9839e7079
Fix build on MacOS X: dedicated extfs_macosx.mm & static SDL libs
2005-05-13 17:32:13 +00:00
gbeauche
fdfcd3eb86
Some 64-bit fixes to bootp, icmp, udp (cu-seeme). However, it can happen
...
that on certain occasions, it doesn't work. Some timing problem?
2005-05-13 14:02:37 +00:00
gbeauche
745bc86678
fix CFLAGS preservation
2005-05-13 11:13:26 +00:00
gbeauche
d91e8b2a8f
fix "banks" addressing mode for 64-bit platforms
2005-05-13 11:05:56 +00:00
gbeauche
20fcf38e30
Recognize Intel Compilers. Add user mode network stack with slirp from qemu.
...
Simply use "ether slirp" in the prefs file, no kernel module required. I
could perform up to 450 KB/sec on my DSL line.
2005-05-13 09:21:21 +00:00
gbeauche
5fffe6e2cd
slirp user mode network emulation code from qemu
2005-05-13 09:00:59 +00:00
gbeauche
a532ff64c8
Improve SDL/fullscreen mode when not used in DGA mode, i.e. cases when
...
screen needs to be updated too. This needs better boxes characterisation.
2005-05-12 16:55:16 +00:00
gbeauche
9f8b4bcc0d
Fix SDL/DGA build. Drop useless "inline" for updates. Overlapping scanlines
...
optimization.
2005-05-12 14:39:56 +00:00
gbeauche
31f80e338b
Fix DGA when visible screen is smaller than virtual display, aka fix
...
fullscreen mode when VidMode extension is enabled. Also fix SDL fullscreen
to really update the screen as this is necessary by default on Linux since
simple windowed is used (and not DGA for fullscreen).
Always prefer the 64 pixel chunks update code.
Rearrange B2 video_x.cpp to match video_vosf.h updates
2005-05-12 11:09:31 +00:00
gbeauche
380a9ed970
ensure allocated code fits under 32-bit boundaries
2005-04-24 23:02:48 +00:00
gbeauche
165b32da39
Fix build with gcc4 on x86-64: ignore errors when casting pointers to int
...
from regs & fpu members + code cache. This is possible because data is
allocated in 32-bit space and we force allocation of translation cache to
those bounds too.
2005-04-24 23:00:08 +00:00
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
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
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
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
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
nigel
b0c4669f04
v16, now in two flavours!
2004-05-02 11:06:14 +00:00
nigel
69d86724a1
More ideas
2004-05-02 11:03:32 +00:00
nigel
2fb48eaab2
Cope with non-ASCII directory/file names
2004-05-02 11:02:34 +00:00
gbeauche
815390707a
Decode MOVSX r32, r/m16 (generated by icc v8.0 on x86)
2004-02-16 16:02:48 +00:00
nigel
c0db6d3f47
Typo in IDE auto-detection
2004-01-29 12:28:53 +00:00
nigel
4a33797b48
On second thoughts, not many people will be building on 10.1,
...
so it is better to create a dummy file now.
2004-01-29 12:26:28 +00:00
nigel
d2602583e2
Try to get nowrite.icns from 10.1 install
2004-01-29 12:24:43 +00:00
nigel
622a0e6e23
Some project files had absolute paths (i.e. ~nigel), and the compiler
...
-D flags had values that are more correctly picked up from config.h
2004-01-29 12:20:59 +00:00
nigel
6412114eab
Properties of target when built in Xcode
2004-01-29 12:15:18 +00:00
nigel
f2d79b7773
Protect from bug/crash when a click in the window would
...
try to send ADB mouse events to a non-existant emulator
2004-01-29 12:10:47 +00:00
nigel
de2d213c88
Remove defines for OS_, BSD_COMP, *_ADDRESSING and FPU_, as these should be
...
included by config.h, and defining them here makes them hard to change
2004-01-28 07:31:03 +00:00
nigel
cd15959140
John Daniel's changes; CarbonCore is hard to find (sub framework of the
...
CoreServices framework). Easier to include full Carbon header instead
(and remove extra defs).
2004-01-28 07:29:38 +00:00
nigel
8f50d27091
/bin/true isn't on OS X, auto-detect Xcode (vs Project Builder),
...
some textual changes to make it even more like Unix/autoconfigure.ac
2004-01-28 07:26:00 +00:00
nigel
c983b0e80f
Xcode vs Project Builder is now automatically configured - no extra rules
2004-01-28 07:24:31 +00:00
nigel
8f2870ac0e
Correct comment about ENABLE_MULTIPLE
2004-01-28 07:21:32 +00:00
nigel
c9d4da6303
Mention Xcode, add note about strange 10.1 linking bug
2004-01-28 07:20:36 +00:00
nigel
9798e97c5b
Added help items on some buttons
2004-01-28 04:09:24 +00:00
nigel
28263d86c3
Shorten slightly - General Public License didn't fit in the about window
2004-01-28 04:07:59 +00:00
nigel
d42aeaa95d
Use xcode for app target, too (thanks to John Daniel)
2004-01-27 22:04:12 +00:00
nigel
5bbde8f9fe
Minor changes for latest code
2004-01-27 11:54:37 +00:00
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
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