Commit Graph

873 Commits

Author SHA1 Message Date
nigel
470adec0e6 Allow randomise to work with different drawing strategies 2002-12-18 11:53:11 +00:00
nigel
bfbeb17a96 [[blah alloc] init] becomes [blah new] 2002-12-18 11:50:12 +00:00
nigel
fc8a542d53 JIT 2002-12-18 11:33:37 +00:00
gbeauche
1477b501d1 Add changes from Brian Johnson:
- Update MIPSpro compiler flags
- Only define static variables if they are to be used
- Try to lock the pthreads mutex prior to unlocking/destroying it
2002-11-24 20:07:25 +00:00
gbeauche
3711aa4520 Update ASM_SYM_FOR_FUNC to match x86-64 too, may be useful later. 2002-11-16 15:38:53 +00:00
gbeauche
144e6f4e87 Use old x87 FPU stack on x86-64 too because we now use long doubles there for
better accuracy. Aka. prefer compatibility over speed.
2002-11-16 15:28:25 +00:00
gbeauche
bc5d7f9490 OPTIMIZED_FLAGS for x86-64 with the pushf/pop method since sahf/lahf are
invalid in long mode.
2002-11-05 11:59:12 +00:00
gbeauche
abaa9fb2cd Add configury for x86-64 2002-11-05 11:58:40 +00:00
gbeauche
862273a9d5 Updates to reflect recent cxmon 64bit changes 2002-11-05 10:33:06 +00:00
gbeauche
58b3aaba5b Get rid of CPU_* defines as nobody actually used them and are useless 2002-11-05 10:32:42 +00:00
gbeauche
3bf7843db1 x86-64 can do unaligned accesses 2002-11-05 10:32:05 +00:00
gbeauche
0a201217bf Remove obsolete CFLOW_* constants but keep cpuop_{begin,end} for an
inline-threaded core.
2002-11-02 18:13:29 +00:00
gbeauche
2cda26edae Fix buffer overflow reported by Aranym people 2002-11-02 17:23:20 +00:00
nigel
45b2765c21 Eliminate compile warning 2002-10-31 08:54:21 +00:00
nigel
c8218bbb11 SOme 10.2 compile fixes 2002-10-31 08:52:59 +00:00
nigel
6a0f9df867 Fixes for compiling on 10.2 2002-10-29 14:28:52 +00:00
nigel
c68df84838 Eliminate warning 2002-10-29 14:27:00 +00:00
nigel
9745e40ddb Correct path for some Unix files 2002-10-29 14:26:26 +00:00
nigel
954ee59832 Now generated by autoheader 2002-10-29 14:23:31 +00:00
nigel
9791c82ce4 Added Id, overwrite existing symlinks, run autoheader 2002-10-29 14:18:22 +00:00
nigel
0af0f74ea3 Added rules to generate MacOSX archive 2002-10-28 10:56:23 +00:00
nigel
a591d0e0cb Added info about documentation 2002-10-22 12:11:45 +00:00
nigel
5f755a4baa Add include to eliminate warning 2002-10-22 12:10:18 +00:00
nigel
47e9fe084c Corrected dependency for non-ide building
(makefile was not generating cpuemu*.cpp)
2002-10-22 12:09:17 +00:00
cebix
466fc971f6 Unix: new prefs options "dsp" and "mixer" to set the OSS device names instead
of the hardcoded '/dev/dsp' and '/dev/mixer'
2002-10-15 16:25:04 +00:00
gbeauche
2cb7e02c9e Some instructions assume offsets are only 1-byte long. I don't think this
is 100% correct. Therefore, insert some asserts so that would fail.
2002-10-13 11:14:24 +00:00
gbeauche
aa6b264d21 Add raw_emit_nop_filler() with more efficient no-op fillers stolen from
GNU binutils 2.12.90.0.15. Speed bump is marginal (less than 6%). Make it
default though, that's conditionalized by tune_nop_fillers constant.
2002-10-12 16:27:13 +00:00
nigel
7914fdc677 Incorporate several changes from latest Unix version of file 2002-10-06 23:29:59 +00:00
nigel
ce0bca286f Change required for GCC 3.1 (stdc++ library needed in C++ program link),
general tidy-up (now use G++ to compile several files at once for gencpu)
2002-10-06 23:28:58 +00:00
nigel
162cc94bcd Newer prototype required by GCC 3.1 2002-10-06 23:26:07 +00:00
nigel
dd6025502d MacOS 10.2 compatibility (diffeent config.sub & config.guess location),
argument processing (like Unix autogen.sh)
2002-10-06 23:23:10 +00:00
gbeauche
8bf60db5ee Real addressing mode also works on Linux/ppc. Uhoh, what was the initial
problem anyway?
2002-10-03 19:57:12 +00:00
gbeauche
78ac3e667f Don't forget to note CPU detection code mostly comes from Linux kernel. 2002-10-03 16:16:57 +00:00
gbeauche
d4ed937de6 JIT add copyright notices just to notify people that's real derivative
work from GPL code (UAE-JIT). Additions and improvements are from B2
developers.
2002-10-03 16:13:46 +00:00
gbeauche
ff85d804d0 Real addressing is reported to work on FreeBSD/i386 too 2002-10-03 15:50:13 +00:00
gbeauche
177cdee820 configure script is reportedly no longer crashing on FreeBSD when
SIGSEGV_SKIP_INSTRUCTION is set.
2002-10-03 15:49:14 +00:00
gbeauche
3efbc30695 B2 maintainer for FreeBSD reported <sys/soundcard.h> is the one to use in all
recent versions of FreeBSD.
2002-10-03 15:47:59 +00:00
gbeauche
8de7ad1091 - Turn on runtime detection of loop and jump alignment as Aranym people
reported they got some improvement with it and larger loops. Small
  loops are an issue for now until unrolling is implemented for DBcc.
- Const jumps are identified in readcpu. I don't want to duplicate code
  uselessly. Rather, it's the JIT job to know whether we are doing block
  inlining and un-marking those instructions as end-of-block.
2002-10-03 15:05:01 +00:00
gbeauche
a60c6da7c3 Turn on block inlining so that people could test this feature and report
if they do gain something or renders JIT less stable.
2002-10-03 15:01:53 +00:00
gbeauche
724516511a Do translate BSR.L, we don't have any issue with that even if we are
doing block inlining since we have a complete chain of information about
the blocks to checksum.
2002-10-03 14:59:35 +00:00
gbeauche
e11dd3d375 Do translate FMUL instructions, the core needs to be fixed and this is
not translation of that instruction. I believe this is related to some
misgeneration of FPU core sequence and allocation of FP registers?
2002-10-03 14:58:02 +00:00
gbeauche
e9584dbcc1 Add PROFILE_UNTRANSLATED_INSNS information. Interestingly, the following
are the bottleneck now: DIVS, BSR.L (why isn't it translated yet?),
bit-field instructions (I need to self-motivate enough for that), and
A-Traps.
2002-10-02 16:22:51 +00:00
gbeauche
94a9038826 - Remove dead code in readcpu.cpp concerning CONST_JUMP control flow.
- Replace unused fl_compiled with fl_const_jump
- Implement block inlining enabled with USE_INLINING && USE_CHECKSUM_INFO.
  However, this is currently disabled as it doesn't give much and exhibits
  even more a cache/code generation problem with FPU JIT compiled code.
- Actual checksum values are now integral part of a blockinfo regardless
  of USE_CHECKSUM_INFO is set or not. Reduce number of elements in that
  structure and speeds up a little calculation of checksum of chained blocks.
- Don't care about show_checksum() for now.
2002-10-02 15:55:10 +00:00
gbeauche
21909f1eed - Rewrite blockinfo allocator et al. Use a template class so that this
can work with other types related to blockinfos.
- Add new method to compute checksums. This should permit code inlining
  and follow-ups of const_jumps without breaking the lazy cache invalidator.
  aka. chain infos for checksuming. TODO: Incomplete support thus disabled.
2002-10-01 16:22:36 +00:00
gbeauche
518f982775 - CAN_JIT=yes has to be moved into the actual block containing JITSRCS.
- Optimistically reenable gas/x86 assembly optimizations and JIT for FreeBSD
  as it used to work in the past there. If not, beat me.
2002-10-01 09:58:08 +00:00
gbeauche
13e8cb3eec Huh, am I still asleep? Actually use the cpuemuX_nf.cpp pattern rather
than the *.s variant.
2002-10-01 09:51:09 +00:00
gbeauche
75de104c92 - Optimize use of quit_program variable. This is a real boolean for B2.
- Remove unused/dead code concerning surroundings of (debugging).
- m68k_compile_execute() is generated and optimized code now.
2002-10-01 09:39:55 +00:00
gbeauche
bdf9d76bb8 - #include "flags_x86.h" here to get NATICE_CC_?? helper macros
- Add raw_cmp_b_mi() and raw_call_m_indexed() for generated
  m68k_compile_execute() function
2002-10-01 09:37:03 +00:00
gbeauche
c492269143 Drop cpuopti on x86 now that we have a fast JIT. I don't want to bother
fixing cpuopti or workarounding code for any known and unknown gcc bug.
2002-10-01 09:34:47 +00:00
gbeauche
98d1246815 - Let fullscreen DGA mode work again, even with a DirectColor visual. In
that case, we do need add it when creating the window otherwise we
  result int a nice BadMatch for X_CreateWindow request. FIXME?
- Fix typo and do enable VOSF in DGA mode, if necessary.
2002-09-28 12:42:39 +00:00
gbeauche
8748b48b7a Disable USE_QUAD_DOUBLE for now and probably for good as (i) the emulator
implementation is not correct, (ii) I don't know of any CPU which
handles this kind of format *natively* with conformance to IEEE.
2002-09-20 16:52:48 +00:00
gbeauche
ec92457d68 Fix align_jumps for athlon, that's really "16" and gcc-3.2 sources contained
the same error. ;-)
2002-09-20 14:55:50 +00:00
gbeauche
d7c677d077 - Implement {make,extract}_extended() for USE_QUAD_DOUBLE
- Don't forget to fill in mantissa3 member for USE_QUAD_DOUBLE in
  make_extended_*() but make sure NaN, inf, zeros are handled beforehand
2002-09-19 20:52:50 +00:00
gbeauche
a5ba7ea5ac Don't define USE_LONG_DOUBLE when sizeof(long double) == 16. This still
is not very clean but it should build now. Probably live with USE_LONG_DOUBLE
for any case where native long double exists and sizeof > 8 ?
2002-09-19 16:02:13 +00:00
gbeauche
b765112cf9 Get rid of any "extern inline" bits. Use static inline instead as MIPS
compilers don't really like the former syntax.
2002-09-19 15:42:16 +00:00
gbeauche
ecd3db832e - Rewrite raw_init_cpu() to match more details, from kernel sources.
- Add possibility to tune code alignment to the underlying processor. However,
  this is turned off as I don't see much improvement and align_jumps = 64
  for Athlon looks suspicious to me.
- Remove two extra align_target() that are already covered.
- Remove unused may_trap() predicate.
2002-09-19 14:59:03 +00:00
gbeauche
feca66d43e Optimize runtime assembler with shorter equivalents when the accumulator
(%eax) is referenced along with immediates.
2002-09-18 15:56:17 +00:00
gbeauche
f2a9938685 Ensure the IEEE fpu core is used when building the JIT compiler 2002-09-18 13:06:49 +00:00
gbeauche
54ac7a1493 Move -DSAHF_SETO_PROFITABLE down in x86 & gas specific block. Also ensure
SAHF_SETO_PROFITABLE is defined when compiling the JIT. Aka I don't want
to support obsolete and probably bogus code nowadays.
2002-09-18 11:41:56 +00:00
gbeauche
e268a5a072 Define SAHF_SETO_PROFITABLE on x86, aka restore full performance of the
JIT compiler. ;-) BTW, also fixes some valgrind warnings.
2002-09-18 10:25:05 +00:00
gbeauche
c40279294a Don't forget to use vm_realease() to free up translation cache. Also free
the right amount of memory that was previously allocated.
2002-09-18 09:55:37 +00:00
gbeauche
599f7e845f Use vm_acquire() to allocate translation cache 2002-09-18 07:50:55 +00:00
gbeauche
5df172aa53 Additions for the JIT compiler opcode translators + NOFLAGS variant of
regular instruction handlers.
2002-09-17 16:09:25 +00:00
gbeauche
8c7254e4c8 Additions for the JIT compiler (--enable-jit-compiler, --enable-jit-debug) 2002-09-17 16:08:41 +00:00
gbeauche
6f3a214a15 Make FlushCodeRange aware of the JIT compiler's flush_icache() 2002-09-17 16:08:07 +00:00
gbeauche
0b001e81a5 Additional string defs for JIT-specific options 2002-09-17 16:07:21 +00:00
gbeauche
ea8bdf1941 Update prefs editor with "JIT Compiler" pane 2002-09-17 16:06:37 +00:00
gbeauche
4fc127c8df - Changes to support 68040 -> x86 dynamic translator
- Globalize FLIGHT_RECORDER, possibly used in compiler/ sources as well
2002-09-17 16:05:39 +00:00
gbeauche
c0526db089 Import JIT compiler 2002-09-17 16:04:06 +00:00
gbeauche
ba346aa0d2 Check for for C99 math functions in the form *l() 2002-09-16 15:40:48 +00:00
gbeauche
6af88bc787 Only use *l() math functions when they are available 2002-09-16 15:40:23 +00:00
gbeauche
ea98d02ce8 Conditionalize use of pthread_mutexattr_setpshared() as this is an optional
POSIX feature from _POSIX_THREAD_PROCESS_SHARED group. Besides, Ulrich Drepper
mentions "the kernel support for this option wasn't available until 2.5.7.
Future versions of the thread library will support this option."
<http://people.redhat.com/drepper/posix-option-groups.html>

BTW, this nukes a warning when build on FreeBSD 4.6
2002-09-16 15:06:24 +00:00
cebix
7c1352a5f7 updated autogen.sh to AutoGen(TM) 8.0 Professional :-) 2002-09-16 14:54:19 +00:00
gbeauche
d16a54362c #include <pthread.h> to get pthread_attr_t definition 2002-09-16 14:48:53 +00:00
gbeauche
a04889fe03 Portability fixes: use a switch to test for ac_cv_c_float_format 2002-09-16 14:17:20 +00:00
gbeauche
a0d72c749b Remove acconfig.h, obsoleted by new autoconf2.5 stuff 2002-09-16 14:10:21 +00:00
gbeauche
b60198fc17 - Moved minium autoconf support to 2.52+
- Add large file support for 2+ GB hard disk images
2002-09-16 13:32:33 +00:00
gbeauche
453c6de0e2 Now use autoconf 2.52+ as it provides nice AC_SYS_LARGEFILE check and a
fixed check for exit() prototype.
2002-09-16 13:29:33 +00:00
gbeauche
5be5714a9e Remove TYPE_SOCKLEN_T check as it was merged in main configure script already. 2002-09-16 13:28:17 +00:00
gbeauche
9cc4185fa2 - Make "ieee" core default, where applicable
- Import gcc configury to determine HOST_FLOAT_FORMAT
2002-09-16 12:03:07 +00:00
gbeauche
48986febc6 - FP endianness is now testing at configure time
- Fix junk introduced in previous rev for extract_extended()
2002-09-16 12:01:38 +00:00
gbeauche
e59e4904d3 Fix "ieee" FPU core on big endian and without long double > double support
- Handle conversions to/from host double for m68k long doubles formats
- Make mathlib aware of sizeof(long double) == sizeof(double) arches
- Attempt to fix FSCALE implementation
2002-09-15 18:21:13 +00:00
gbeauche
57e73de5f6 USE_LONG_DOUBLE guards 2002-09-13 15:06:42 +00:00
gbeauche
dbc92fb334 Updates for new FPU core architecture, add "ieee" core (x86 for now) 2002-09-13 12:51:24 +00:00
gbeauche
a50871f87c Updates for new FPU core architecture 2002-09-13 12:50:56 +00:00
gbeauche
c327eee41b * Basilisk II JIT integration, phase 2:
- Add new FPU core architecture
- Clean fpu_x86_asm.h as it is no longer automatically generated
2002-09-13 12:50:40 +00:00
gbeauche
d3bda319a8 Use B2_mutex instead of pthread mutexes when ENABLE_EXCLUSIVE_SPCFLAGS is
set. However, this is not used at the moment. Is there an advantage? People
may want to add arch-optimized SPCFLAGS_{SET,CLEAR}.
2002-09-01 16:32:02 +00:00
gbeauche
7972082c56 - Merge with Basilisk II/JIT cpu core, interpretive part for now
- Clean use of USE_PREFETCH_BUFFER macro and dependent bits
2002-09-01 15:17:13 +00:00
cebix
4f8d06b671 - implemented direct SCSI transfers (bypassing the buffer)
- minor fixes
2002-09-01 12:01:46 +00:00
cebix
3d2bac9f15 - it is now possible to make the serial drivers pipe their input/output
to programs by using a '|' followed by a command line as the modem or
  printer port setting (instead of a device name like '/dev/ttyS0')
  [Brian Johnson]
- the option "--config FILE" tells B2 to use a different config file
2002-07-31 16:46:14 +00:00
cebix
586d299bfc fixes by Steven N. Hirsch (versioned symbols, module license) 2002-07-23 18:02:47 +00:00
gbeauche
281460fba0 - New arch support for IP retrieval on SIGSEGV. 2002-07-17 06:51:05 +00:00
nigel
370d5dcb95 Updated for latest Controller and EmulatorView class methods 2002-07-02 10:23:39 +00:00
nigel
5ef6d3d08c Compatibility with latest C++ monitor object. Unfortunately this requires
a terrible hack to guess the number of bytes per row for each mode, which
is terribly hardware dependant, but is the only way at the moment.
2002-07-02 09:47:57 +00:00
gbeauche
69847c3ea2 Correctly guard FreeBSD bits 2002-06-27 14:28:59 +00:00
jlachmann
abcf74039d Adapted to OO video scheme; Audio volume/muting/sample rate now settable 2002-06-23 08:27:05 +00:00
nigel
ca896c0838 Better mouse event control for full screen mode 2002-06-05 10:18:51 +00:00
nigel
15baaf886a Sequencing changes in init_screen(), removed some global vars and functions,
assorted tidyup, big changes to video_switch_to_mode()
2002-06-05 10:11:40 +00:00
nigel
2880cf6251 Debug statements were not in D() macros 2002-06-05 09:41:27 +00:00
nigel
3319c41d9d Un-necessary function and global int 2002-06-02 12:20:38 +00:00
nigel
f2749d2222 Hanging after minimising icon no longer relevant (I don't minimise anymore).
Replaced with "fullscreen cursor jump" error.
2002-06-02 10:26:55 +00:00
nigel
fdac401a5a Sheet and fullscreen-safe input processing, small tidyup 2002-05-30 12:50:21 +00:00
nigel
3053defd16 New way of storing if emulator is in full screen mode 2002-05-30 12:46:15 +00:00
nigel
3b2c66602f Removed duplicate modes, new way of checking fullscreen mode, use sheets
instead of panels for warnings & errors
2002-05-30 12:43:32 +00:00
nigel
26f40f2630 Minor tidyup 2002-05-30 12:36:17 +00:00
nigel
dc41a2b10c EndSheet() to end non-modal (i.e. non Error) sheets, fixed leak in ErrorSheet() 2002-05-30 12:28:38 +00:00
nigel
c0201dfc68 A better screens prefs change 2002-05-26 00:12:32 +00:00
nigel
edc98d37d2 Removed redundant (old C++ environment) stuff 2002-05-25 23:58:51 +00:00
nigel
0dcf103d24 Fix for screen radio-button selection bug, general tidyup. 2002-05-25 23:56:05 +00:00
nigel
d5995f053a Blocking sheet presentation routines, simpler interfaces 2002-05-25 23:54:39 +00:00
nigel
72129b9348 Added simpler interfaces to panels (less arguments).
Note that this file is now Objective C++ only, so I should rename it to .hh
2002-05-25 23:54:02 +00:00
nigel
5288bdcb94 Extfs version doco change 2002-05-23 12:57:07 +00:00
nigel
8bcd6c180e Added ScreenHideShow: action 2002-05-23 12:48:38 +00:00
gbeauche
d7c4d7afbf Backout "ignoresegv" support on FreeBSD/x86 for now. Unfortunately, the
configure script would hang whereas standalone testing will pass all tests.
Any idea why??
- Unix/sigsegv.cpp (ix86_skip_instruction): Add decoder for mozbl instruction.
  (SIGSEGV_REGISTER_FILE [FreeBSD/x86]): Note why we start at EDI offset
  rather than plain sigcontext pointer. i.e. I don't know sigset_t size
  beforehand and don't intend to.
2002-05-20 18:12:01 +00:00
gbeauche
edb377f181 Implement "ignoresegv" feature on FreeBSD/x86
- Update README and ChangeLog accordingly.
2002-05-20 17:50:39 +00:00
gbeauche
2bd9ee71e8 Implement "ignoresegv" feature on FreeBSD/x86 (tested on FreeBSD 4.5)
- sigsegv.cpp (ix86_skip_instruction): Add decoder for movzwl instructions.
  (main): oddly, FreeBSD doesn't seem to let a write to a page if it is
  write-only. Aka. make the page readable too.
2002-05-20 17:49:04 +00:00
gbeauche
b9e84cfb94 - Notify "ignoresegv" feature in ChangeLog 2002-05-20 16:06:24 +00:00
gbeauche
ae93f1e0d8 - Fix compilation on Linux/x86 with SIGCONTEXT_SUBTERFUGE 2002-05-20 16:03:37 +00:00
gbeauche
c2d3d08a7a - sigsegv.cpp (ix86_skip_instruction): Fix DEBUG compilation. 2002-05-20 16:00:07 +00:00
gbeauche
e81b9ace6d Implement "ignoresegv" feature on Darwin/ppc (tested on MacOS X)
- Unix/sigsegv.cpp (powerpc_decode_instruction): New.
  (get_fault_instruction [MacOS X]): Factorize code.
  (get_fault_instruction [Linux/m68k]): Don't use expression statement.
- README (ignoresegv): Add Darwin/ppc to list of supported platforms.
2002-05-20 15:56:13 +00:00
gbeauche
c47819020c Implement "ignoresegv" feature on Linux/ppc:
- Unix/sigsegv.cpp (powerpc_skip_instruction): New from SheepShaver code.
- README (ignoresegv): Add Linux/ppc to list of supported platforms.
2002-05-19 21:58:42 +00:00
gbeauche
39d97f5b04 - video_vosh.h (Screen_fault_handler): Move unrecoverable fault case to...
- main_unix.cpp (sigsegv_dump_state): ... Here.
- sigsegv.h (sigsegv_fault_handler_t): Rename from sigsegv_handler_t.
- sigsegv.h (sigsegv_state_dumper_t): New.
2002-05-16 15:48:06 +00:00
gbeauche
d5be07f449 - Merge with clisp SIGSEGV library version 1.2 with support added for
HP-UX (contributed by Paolo Bonzini)
- Add missing? include <ucontext.h> for Irix and OSF/1 support
2002-05-12 13:51:22 +00:00
gbeauche
266fc18f8a Implement the "ignoresegv" feature from SheepShaver. This is Unix-specific
so far. Target platform is currently Linux/x86.
2002-05-12 11:10:50 +00:00
nigel
d9892009cc Took out redundant method (was used before event handling re-write) 2002-05-12 10:34:16 +00:00
nigel
0b27de2c57 Minor corrections 2002-05-05 09:48:17 +00:00
nigel
7244cdf618 Changes from recent Unix version 2002-04-29 11:23:59 +00:00
nigel
3e76d393e1 Minor doco changes 2002-04-29 11:17:29 +00:00
cebix
cc423d283f default CD-ROM drive is /dev/cd0c on NetBSD 2002-04-28 14:06:17 +00:00
cebix
00a32a9afb fixed compilation problem in fbdev code 2002-04-28 12:09:23 +00:00
cebix
72bb930435 added some safety checks 2002-04-25 13:14:11 +00:00
cebix
8871da753d - added infrastructure for multi-monitor support; only video_x.cpp is
converted for the new scheme; not actually tested with a mult-monitor
  setup yet but at least single-monitor display doesn't seem to be broken
  (UAE banked addressing would definitely require some extensions to handle
  multiple frame buffers)
- struct video_mode has an extra field that is free for use by platform-
  specific code
2002-04-25 11:00:31 +00:00
nigel
4b96b51050 caddr_t change (to go with vm_alloc.* change?) from Unix files 2002-04-05 13:00:05 +00:00
nigel
71c4389094 Modify getCFint32() to cope with values of zero
(it was assuming 0 was an error condition)
2002-04-05 12:15:34 +00:00
gbeauche
c9563ddb5c - Clarified test of access() return value
- s/strcpy/sprintf/ for cd_dev concatenation
- Statically allocate fd_dev[] and cd_dev[]
Better testing is yet to be done
2002-03-29 16:24:18 +00:00
nigel
15ce8c14f9 Added 'nogui' to unimplemented 2002-03-29 01:30:58 +00:00
cebix
5f9f63dea3 support for Linux devfs 2002-03-27 20:11:12 +00:00
gbeauche
9534ec2fc8 - Update to fix build with gcc-3.1 and -O3 optimization level 2002-03-27 10:45:59 +00:00
gbeauche
f5e58c95d6 - When X86_ASSEMBLY is set, aka when cpuopti is used, do call the
instruction handler by hand and make sure to save %ebp too
- Really merge cpu core with uae-0.8.21:
  - Trace mode fixes (Bernd Roesch & Bernd Schmidt)
  - Reintegrate PTEST and PFLUSH instructions back as no-ops
2002-03-23 13:57:38 +00:00
cebix
ed628a548b fix for IRIX [Marcus Herbert] 2002-03-20 19:37:37 +00:00
cebix
78254ebddd added missing return values 2002-03-20 19:03:41 +00:00
cebix
640130c275 XPRAM gets loaded with default values if "NuMc" signature isn't found. This is
done so the correct (default) video mode is used if the PRAM was wiped.
2002-03-19 14:25:50 +00:00
gbeauche
a42a559bf1 - Close log file 2002-03-18 21:25:07 +00:00
gbeauche
097b4509ee - Add even more term libs and prefer ncurses over the rest. 2002-03-18 13:30:07 +00:00
gbeauche
faa3d07211 - Invert AC_CHECK_LIB for readline and termcap so that the test program
for readline detection is actually linked against -ltermcap -lreadline.
2002-03-18 12:59:44 +00:00
nigel
93cf51385f New script to set up everything for doing a make 2002-03-18 11:40:41 +00:00
nigel
9f7affe816 Updated version to 10 2002-03-18 11:07:27 +00:00
nigel
3d6bd6c5cf Added to comment for add_rsrc() 2002-03-18 11:05:43 +00:00
nigel
bfbfcd22e8 Added version 10 2002-03-18 11:04:15 +00:00
nigel
37ff77fa2c Noted fix of cursor key bug, added 'full screen startup' bug,
corrected memory mapping (mmap) comment
2002-03-18 11:02:16 +00:00
nigel
262c59442e Extra code to map cursor keys 2002-03-18 11:00:27 +00:00
nigel
cfca085155 Simplified for use with new '1_prepare_files.sh' script 2002-03-18 10:58:49 +00:00
nigel
abbc3cc253 Bug fix. Key events were not being passed in full screen mode,
because the window, having been minimised, is no longer 'Key.'
2002-03-18 10:48:25 +00:00
gbeauche
b8ffa860a2 - Add fault instruction recovery for Linux/ppc and siginfo_t handlers 2002-03-16 21:36:12 +00:00
gbeauche
2762a7dd48 - Add Flight Recorder for m68k too. That helps. ;-) 2002-03-16 16:31:54 +00:00
nigel
e9963fa5fb New script to generate symlinks, remove any symlink generation from Makefile,
Makefile now generates 8 wrappers for cpuemu.cpp to slightly improve compile
time, added the 8 wrappers to the Project Builder file, updated doco
2002-03-16 11:50:45 +00:00
gbeauche
2161b984ab - Large File support is now specific to Linux since it breaks build on
other platforms like Solaris/SPARC and I could only test under Linux.
  TODO: Better use the AC_SYS_LARGEFILE macro from autoconf-2.5.
2002-03-16 10:58:22 +00:00
gbeauche
99efbfc712 - Check for caddr_t. On some systems like Solaris/SPARC, mmap() address
type (first parameter) is caddr_t instead of void *. Explicitly cast
  address to (caddr_t) type and C++ implicit pointer conversion rules
  will do the rest. aka. caddr_t -> void * is OK unlike the opposite.
2002-03-16 10:51:17 +00:00
gbeauche
7ec7300784 - Also include <sys/types.h> if system has <unistd.h> 2002-03-16 10:49:00 +00:00
gbeauche
00a63b5e88 - Expand TYPE_SOCKLEN_T as it is a non-standard autoconf macro that lives
in ac-archive/Miscellaneous. Extracted from version 1.2 (2000/07/19) by
  Lars Brinkhoff <lars@nocrew.org>.
2002-03-16 10:12:49 +00:00
nigel
bae4d3e29e Initial revision of Mac OS X port code. Uses Objective-C++. Needs Mac OS 10.1 2002-03-16 10:03:35 +00:00
nigel
a102f8da2c Added latest changes in Unix version 2002-03-16 09:16:18 +00:00
nigel
c9c818cde6 Added BasiliskII.icns (needed to build the application), and a rule
to generate it (empty file) if the developer doesn't supply an icon
2002-03-16 09:09:19 +00:00
nigel
3612015d2c Updated final "make" message 2002-03-16 05:47:12 +00:00
nigel
2d9f3673fb Add Project builder and resource directories 2002-03-16 05:47:11 +00:00
nigel
08a00c378e Added Mac OS X screen preferences, Mac OS X to the 'ported to' list,
my details to the Acknowledgements/Contributions
2002-03-16 05:27:56 +00:00
nigel
a3051c90fe Initial revision of Mac OS X port code. Uses Objective-C++. Needs Mac OS 10.1 2002-03-16 04:01:09 +00:00
nigel
496ab59297 Initial revision of Mac OS X port code. Uses Objective-C++. Needs Mac OS 10.1 2002-03-16 04:00:35 +00:00
cebix
491d75a9aa minor cleanups 2002-03-10 20:17:14 +00:00
cebix
9009fc63a0 some cleanups in the sound component 2002-03-10 19:34:11 +00:00
cebix
3e58028cb1 fixed floppy disk change detection problems under Linux 2002-02-23 17:54:24 +00:00
cebix
5ac532edfd - default floppy device under Linux is now /dev/fd?u1440 because /dev/fd?H1440
is deprecated
2002-02-22 17:48:31 +00:00
gbeauche
2f652a42e5 - vm_acquire_fixed: Fix memset() and vm_protect() calls so that the address
is really the one specified instead of always zero.
2002-02-11 14:28:02 +00:00
cebix
7627f346ee cleaned up pthread attributes [Brian Johnson] 2002-02-07 16:10:57 +00:00
cebix
dc4d9a56c7 direct addressing works under FreeBSD (says Michael Alyn Miller :-) 2002-02-01 19:25:49 +00:00
cebix
d6d7976939 - scsi_linux.cpp uses SCSI generic interface version 2
- slightly more verbose SCSI debugging messages
2002-01-26 18:10:13 +00:00
cebix
0662d7a1f1 added missing file 2002-01-25 12:14:21 +00:00
cebix
7385602242 GNOME-style about box and GNOME file entries are used if libgnomeui is present 2002-01-22 17:15:10 +00:00
cebix
3c7535d252 aclocal.m4 is generated by aclocal via autogen.sh 2002-01-22 16:07:29 +00:00
cebix
e3cfaffb1c 2001 -> 2002 2002-01-20 16:58:56 +00:00
cebix
fe9643c0e9 - fixed the problem with Ticks getting incremented on every interrupt, not
just 60Hz (e.g. moving the mouse made the caret blink faster)
- removed the TAB characters from the ChangeLog file
2002-01-18 21:06:03 +00:00
cebix
53509f02d7 added mon_lowmem.cpp to mon sources 2002-01-18 19:14:46 +00:00
cebix
077d335584 patch for compilation problem under Irix 2002-01-17 20:31:01 +00:00
cebix
628533940d - documentation updates
- 2001 -> 2002
- version 0.9 -> 1.0
2002-01-15 14:58:43 +00:00
gbeauche
00ef1ff5da - Add EIP recovery on Linux/x86 when using siginfo_t based signal handlers 2002-01-07 16:30:39 +00:00
cebix
8fb29cf11b updated for kernel 2.4.9 2002-01-06 14:05:35 +00:00
gbeauche
74e6688987 - Add 64-bit file size support, at least for Linux 2002-01-06 08:22:08 +00:00
gbeauche
eec091e56b - Fix condition codes handling for BFINS instructions (uae 0.8.20) 2002-01-06 08:21:09 +00:00
jlachmann
e3e86a68a9 AmigaOS: Improved video mode switching - more strict error checking 2001-10-16 17:27:52 +00:00
jlachmann
583f0cdbbf AmigaOS: added Video depth/resolution switching 2001-10-14 18:00:44 +00:00
cebix
b36675d9c2 prepared XPRAM code for PowerMac emulation (8192 bytes NVRAM) 2001-10-07 19:50:21 +00:00
cebix
3492bae5e2 updated autoconf/automake helper files 2001-09-18 17:16:47 +00:00
cebix
67eddf896a - added IRIX patches from Brian Johnson
- the existence of socklen_t is now checked by the configure script
2001-09-02 13:50:05 +00:00
gbeauche
4852a06dd2 - 64-bit blitters will use native "quad"-sized loads/stores, if available. 2001-08-19 17:38:11 +00:00
gbeauche
f93d1b483d - merge 680x0 emulation core with uae 0.8.17 2001-08-19 16:21:01 +00:00
gbeauche
bcc6b4b0ac - configure.in: actually save CXXFLAGS instead of CFLAGS in the code to
detect whether the compiler supports -fno-merge-constants or not
- Makefile.in: make sure to link gencpu with g++ since it contains objects
  compiled from C++ code. Fix build problems with gcc 3.0.1
2001-08-19 16:18:30 +00:00
gbeauche
d64a00ed62 * Don't merge constants (pass -fno-merge-constants to the compiler) since
it breaks B2 in fpu/fpu_x86.cpp on the second call to fpu_init(), at the
  fsave instruction. This problem appeared with the following compilers:
  - "Official" : gcc-3.1 (mainline CVS)
  - Mandrake   : gcc-2.96 >= 0.59mdk, gcc-3.0.1 >= 0.1mdk
  - Red Hat    : gcc-2.96 >= 89, gcc-3.0 >= 1
2001-08-02 13:52:24 +00:00
cebix
52e18c5874 fstab parsing ignores comment lines 2001-07-31 14:10:35 +00:00
cebix
52ad76b49e - UDP tunneling works under BeOS
- fixed BeOS compilation problems
2001-07-15 14:19:08 +00:00
gbeauche
3e27acb9d4 - audio_oss_esd.cpp (open_esd): even return false if !ENABLE_ESD and shut
up the compiler by the way
2001-07-15 05:40:12 +00:00
cebix
08cbd41f78 fixed indentation 2001-07-15 02:34:23 +00:00
cebix
0cc4091041 return value from ether_init() was missing 2001-07-15 02:26:20 +00:00
cebix
d9d9a0d9ec - documentation updated
- UDP tunnelling not only works with AppleTalk but at least with TCP/IP and
  MacIPX as well
2001-07-15 02:15:49 +00:00
cebix
54bfc83cfe - disk.cpp looks for HFS partition info in the disk image; this makes it
possible to, for example, use MacOS-partitioned hard disks and removable
  media under B2/Unix even if the OS doesn't understand Mac partition maps
  by specifying the appropriate block device name as a Mac volume
- fixed typo in audio_dummy.cpp
- added minimally required UDP tunneling code to ether_dummy.cpp
- main_unix.cpp: if pthreads are not supported, we trigger the Ethernet
  interrupt in the 60Hz ticker; this makes UDP tunneling work under
  NetBSD/m68k (as the only form of networking)
2001-07-14 20:01:20 +00:00
gbeauche
55df210d27 - video_x.cpp: the_buffer shall always be mapped through vm_alloc() so
that it can be vm_protect()'ed at will afterwards
- video_x.cpp: let driver_base free() the_buffer_copy and the_host_buffer,
  if necessary
- video_vosf.h: reverted to use malloc() for mainBuffer.dirtyPages and
  mainBuffer.pageInfo
- vm_alloc.cpp: small cleanups
- fixed typos
2001-07-14 18:41:05 +00:00
cebix
20db0c7260 - 1-bit mode under X11 always uses default visual
- fixed possible crash in driver_window dtor (image data would be freed twice,
  once by XDestroyImage() and once in driver_base dtor)
- fixed compilation problems with banked memory
- fixed typos
2001-07-14 15:02:49 +00:00
cebix
78c97c3f20 - outgoing packet source address is set in ether.cpp
- UDP tunnelling sends packets to Ethernet broadcast address as IP broadcasts
2001-07-13 18:49:29 +00:00
cebix
72c7f0db7a - updated the TECH document
- EtherReset() clears the UDP protocol list
- audio_oss_esd.cpp: AudioExit() calls close_audio()
- ether_unix.cpp: uses map<> for protocol handlers
- updated audio_dummy.cpp and ether_dummy.cpp
2001-07-13 15:39:25 +00:00
gbeauche
1c6d6d7cb2 - merged some code from uae-0.8.16 2001-07-13 10:13:58 +00:00
cebix
6c35c2a9e8 - Implemented AppleTalk-over-UDP tunnelling, activated by setting "udptunnel"
to "true". This uses the BSD socket API, so it's fairly portable (currently
  only imeplemented under Unix, though). This works by sending raw Ethernet
  packets as UDP packets to a fixed port number ("udpport", default is 6066),
  using IP broadcasts to simulate Ethernet broad- and multicasts. Currently
  only tested with AppleTalk.
2001-07-12 19:48:28 +00:00
cebix
90c7198b75 fixed a couple of compiler warnings 2001-07-11 19:26:14 +00:00
cebix
5fa9b2abe9 - find_visual_for_depth() did not return true on success 2001-07-11 17:04:41 +00:00
cebix
456830630c - background_pixel, border_pixel and colormap attributes of window are now
always set as this seems to be required for non-default visuals
2001-07-10 15:50:57 +00:00
cebix
305b9ef7f2 Irix needs pthread cond variables which need the pthread.h header file 2001-07-09 15:44:58 +00:00
cebix
5868a40a37 - ADB has its own interrupt flag, INTFLAG_ADB
- ADBMouseMoved(), ADBMouseDown/Up() and ADBKeyDown/Up() trigger the ADB
  interrupt
- ADB mutex is only used for mouse movement (the only input state where it
  matters)
- adb.cpp: toggling relative mouse mode resets mouse_x/y
- PrimeTime(0) schedules a timer task with 0 delay time; this is still not
  the correct implementation, but it makes MacSyndicate work...
- Unix: pthreads are preferred to POSIX.4 timers for 60Hz ticks because the
  timers drift badly under Linux and the thread can compensate for drifting
  well enough
- Unix: moved GetTicks_usec() and Delay_usec() to timer_unix.cpp
- video_x.cpp: X mouse acceleration is disabled in relative mouse mode because
  MacOS does its own acceleration
- video_x.cpp: palette[].pixel and palette[].flags are always preset
- video_x.cpp: decoupled X event handling from 60Hz video refresh cycle by
  using select() with a timeout on the X fd
2001-07-09 11:22:01 +00:00
gbeauche
8d733ed691 - added video_vosf_init()/video_vosf_exit() for initialization and destruction
of the internal structures used for the VOSF system
- use vm_acquire()/vm_release() for VOSF buffers and hope the_buffer is
  allocated above RAM address space (temporary workaround for 64-bit
  addressing systems)
- don't free() screen buffers in driver_base dtor
- don't free() memory mapped buffers in driver_base dtor
2001-07-07 09:14:47 +00:00
gbeauche
054e33c8fc - small fixes for Linux/ia64 2001-07-07 09:12:15 +00:00
gbeauche
cb59a85240 - Experimental fixes for 64-bit addressing systems (e.g. Linux/ia64). The
cpu emulation almost work correctly. FP emulation seems totaly boguous.
2001-07-07 09:08:54 +00:00
gbeauche
3896344ca1 - Try to map memory contiguously with base addresses returned in increasing
order. No host memory region used for Mac emulation (ScratchMem, RAM, ROM,
  frame buffer) shall be allocated below the RAM space. Actually, MEMBaseDiff
  should be set to the min(above-mentioned address spaces).
  ==> Temporary fix for 64-bit addressing systems (e.g. Linux/ia64)
2001-07-07 09:07:38 +00:00
cebix
64eb0dcad1 fixed memory leaks in video mode switching 2001-07-06 22:37:23 +00:00
cebix
0e7b5acffe added support for 2/4-bit modes on 8-bit visuals 2001-07-06 22:00:39 +00:00
cebix
6ff613c341 small fixes 2001-07-06 21:04:52 +00:00
cebix
1186b42a20 - an appropriate visual is selected for the requested Mac color depth
- the list of supported Mac color depths is constructed from the list of
  depth and visuals supported by the X server
2001-07-06 20:49:53 +00:00
cebix
e7a13421df replaced TIME_OFFSET constant by portable TimeToMacTime() function 2001-07-06 17:36:09 +00:00
cebix
791baa8f6f some cleanups 2001-07-05 21:24:45 +00:00
cebix
7eb6ed2b86 - supported audio formats are now kept in STL vectors
- added run-time audio parameter switching for OSS/ESD audio output
- setting ESPEAKER env variable causes B2 to try ESD before OSS
2001-07-05 20:30:54 +00:00
cebix
abd6539568 some small fixes 2001-07-04 11:12:20 +00:00
cebix
680ff996eb fixed typo and added VideoQuitFullScreen() 2001-07-03 19:26:51 +00:00
cebix
d0a4b3e5fc - improved compatibility of multiple depth/resolution handling with versions
of MacOS before 7.6:
   - Apple mode IDs are now allocated contiguously from 0x80 (the video_*.cpp
     module must call video_init_depth_list() after adding all modes)
   - if the video driver didn't receive a GetVideoParameters call, it patches
     ScrnBase and the main GDevice upon a video mode switch (otherwise MacOS
     will continue to use the old frame buffer base)
   - the rowBytes values in the video parameters slot resources are correct
     for all bit depths
2001-07-03 19:20:47 +00:00
cebix
cf22cb032a - added support for platform-independant mutexes, currently only properly
implemented under Unix
- adb.cpp uses mutexes for thread-safe mouse handling
- video_x.cpp: pressing Ctrl-F5 in windowed mode switches to a "grabbed"
  relative mouse mode, useful for some games
- video_x.cpp: fixed some bugs relating to the hotkeys (key releases are no
  longer treated as hotkeys)
2001-07-03 15:59:49 +00:00
gbeauche
6aff4fb327 - there is no implicit conversion from vector<T>::iterator to T& 2001-07-02 11:59:31 +00:00
cebix
5bd08dac88 - video_set_palette() gets passed the number of used palette entries
- video_x.cpp supports 2- and 4-bit modes on truecolor screens
2001-07-01 21:09:30 +00:00
cebix
f4243a191b added support for 8-bit windowed modes on 16 and 32-bit screens (for the
games, man, the games! :-)
2001-07-01 19:57:55 +00:00
cebix
af35353cf0 - sony.cpp/disk.cpp/cdrom.cpp use vector<> of drive_info objects instead of
linked list
- color depth switching updates slot ROM
- video_x.cpp always supports 1-bit window modes
- timer_create()/clock_gettime() are pulled from librt if present
2001-07-01 14:38:03 +00:00
cebix
73912e732e fixed compilation problems on BeOS/ppc 2001-07-01 12:42:04 +00:00
cebix
a4b36fd674 - added some documentation
- VidLocal.sp -> VidLocal.slot_param
- X11 color map is loaded with ramp upon startup to avoid the annoying black
  screen during initialization
2001-07-01 00:46:38 +00:00
cebix
50520dcf2f gamma tables work with X11 2001-06-30 22:23:44 +00:00
cebix
a3ea4f3ead - fixed compilation problems in fbdev DGA code
- nicer "about" dialog in GTK prefs editor
- display refresh is inhibited during mode switch if !HAVE_PTHREADS
2001-06-30 20:18:36 +00:00
cebix
b0b21f7fe6 - experimental gamma table support
- restructured video_x.cpp: uses classes for display types
2001-06-30 17:21:56 +00:00
gbeauche
d56ea02151 typo ;-) 2001-06-30 14:48:27 +00:00
cebix
f17b9006d6 - fixed compilation problems under AmigaOS
- fsave/frestore on AmigaOS and NetBSD/m68k always use a 68882/68040-style
  FPU frame, eliminating the need for 68060 FPU patches
2001-06-30 12:58:08 +00:00
cebix
738fa25344 slot ROM checksum is recalculated after patching during resolution switch 2001-06-29 12:51:21 +00:00
gbeauche
d011594d4e zero_fd is not longer used since vm_alloc.cpp should handle that correctly.
However, vm_init() and vm_exit() are called in main_unix.cpp to ensure proper
initialization of the internal zero_fd descriptor, if needed. i.e. no
anonymous mapping for mmap()-based memory allocation.
2001-06-28 22:06:18 +00:00
gbeauche
2ab43425c5 vector<> is in namespace std 2001-06-28 21:36:46 +00:00
cebix
0cf3f32b7d video_x.cpp supports resolution switching in windowed mode: the available
resolutions are 512x384, 640x480, 800x600, 1024x768 and 1280x1024 (the prefs
editor has to be updated to reflect this). The resolution selected in the
prefs editor is used as the default, but it can be changed in the Monitors
control panel. So far only tested with direct addressing.
2001-06-28 21:20:02 +00:00
cebix
0fe2584d92 depth/resolution switching infrastructure should be complete now; slot ROM
contains all supported depths, default mode is stored in XPRAM upon startup,
and added video_switch_to_mode() call (currently unimplemented in all drivers)
2001-06-27 20:05:31 +00:00
cebix
1be8a821a8 added infrastructure for resolution/depth switching (currently, all video
drivers only support one mode, the one selected by the user)
2001-06-27 19:03:38 +00:00
gbeauche
dae4fb627c - added SIGSEGV support for Linux/Alpha (to be checked), Darwin/PPC
- added uniform virtual memory allocation
  (supports mmap(), vm_allocate(), or fallbacks to malloc()/free())
- cleaned up memory allocation in main_unix.cpp
2001-06-26 22:35:42 +00:00
gbeauche
673c53231f - In banked addressing mode, the UAE memory handlers should already handle
reads/writes to/from the frame buffer correctly. i.e. specialised blitters
  should not be used there.
2001-06-22 08:34:49 +00:00
gbeauche
4d03a57251 - cleaned up removal of '-g' for gcc 2001-06-19 08:29:50 +00:00
gbeauche
da9f22d930 - config.guess: import CVS version 1.195
- config.sub: import CVS version 1.212
As a side effect, it now recognizes MacOS X
2001-06-19 08:29:07 +00:00
gbeauche
19cda89b5e - NEGX may use X & Z flags 2001-06-05 12:23:27 +00:00
gbeauche
fe6ad83317 - use "volatile" to prevent from optimization for writes to page 2001-06-05 12:16:34 +00:00
cebix
ea1f0a0761 fixed location of FPU source for PPC 2001-05-31 21:46:25 +00:00
cebix
ad7fbb0698 final adjustments for 0.9 release 2001-05-31 20:53:53 +00:00
cebix
31610651eb small cleanup 2001-05-31 15:36:33 +00:00
cebix
0cb5ef8767 don't call aclocal 2001-05-31 15:33:44 +00:00
cebix
dbf260f29b updated source archive name 2001-05-31 14:34:52 +00:00
cebix
560636ee8d prepared for snapshot release 2001-05-29 15:02:16 +00:00
cebix
b652896918 "About" window looks nicer 2001-05-26 12:31:00 +00:00
cebix
8c6f419c37 - VOSF is enabled by default 2001-05-24 15:06:13 +00:00
cebix
68310129fe - AmigaOS: SCSI buffer memory type can be selected via prefs 2001-05-24 14:31:07 +00:00
cebix
d88fac31e1 default FPUSRC was wrong 2001-05-22 19:01:44 +00:00
gbeauche
b7d1ee252c - fixed "SIGSEGV recovery" not supported case 2001-05-21 03:21:54 +00:00
gbeauche
98192c4ba9 - new and updated SIGSEGV support functions:
+ configure script cleanups
  + possible support for Direct Addressing / VOSF on other platforms
2001-05-20 20:31:50 +00:00
cebix
8e93379eb4 PrefsExit() sets the_prefs to NULL 2001-05-15 14:24:25 +00:00
gbeauche
fedb56d8af - fixes for gcc-3.0 2001-04-25 14:53:45 +00:00
cebix
eba40b9865 fixed bug with -Ofast on IRIX 2001-04-10 18:33:57 +00:00
cebix
017fc451b7 fixed compilation problems under BeOS/x86 2001-04-10 11:05:13 +00:00
gbeauche
ebb5be06cf - fixed operand number for source register (do_fmod) 2001-04-09 14:19:58 +00:00
cebix
3fcce55c7d serial_unix.cpp: input/output_thread_cancel weren't initialized [Kolja Waschk] 2001-04-08 12:21:46 +00:00
cebix
e0307117d2 - added help for command line options
- PrefsInit() removes all processed options
2001-04-01 12:11:45 +00:00
cebix
5ffe6505dc - fixed bugs in the BeOS extfs file types handling 2001-03-31 14:32:01 +00:00
cebix
085855e083 updated copyright dates 2001-03-31 11:44:48 +00:00
cebix
3b54f1f8de - FreeBSD configure script cleanups [Michael Alyn Miller]
- ether_linux.cpp moved and renamed to ether_unix.cpp, now also works with
  the tap driver under FreeBSD [Michael Alyn Miller]
- fpu_x86_asm.h: fixed problem in with newer GCC pre-processors
2001-03-29 14:20:55 +00:00
cebix
0cf579b49e - "-Ofast" option is supplied to MIPSPro compiler [Brian J. Johnson
- workaround for IRIX pthreads bug in Delay_usec() [Brian J. Johnson]
2001-03-28 16:53:39 +00:00
cebix
3c0d6f6e43 cleaned up a little 2001-03-28 14:18:58 +00:00
gbeauche
d1ea113beb - fixed FPU core auto-detection for non-x86 architectures 2001-03-24 08:56:15 +00:00
gbeauche
6059507910 Moved FPU emulation code sources to uae_cpu/fpu/ 2001-03-20 18:05:36 +00:00
gbeauche
28b71c0972 - removed old JIT compiler, its related support functions and files
(compiler.{h,cpp})
2001-03-20 17:35:46 +00:00
gbeauche
7535a1042f Additions:
- MOVE16 (Ay)+,(xxx).L
- MOVE16 (xxx).L,(Ay)+
- MOVE16 (Ay),(xxx).L
- MOVE16 (xxx).L,(Ay)

Fixes:
- MOVE16 (Ax)+,(Ay)+ where x == y: address register shall be incremented
  only once
- CINV, CPUSH: 'p' field matches correctly the instruction 'cache field'
2001-03-19 13:11:40 +00:00
cebix
53973d4b84 backported the changes from the Mac-On-Linux project:
- now compiles under Linux 2.4 kernels
 - Ethernet hardware address is virtualized on the Mac side
 - automatically filters IP packets based on the IP address of the Mac side
2001-03-18 15:41:17 +00:00
cebix
ff01052ee4 testing the basilisk-cvs mailing list 2001-03-11 16:03:14 +00:00
cebix
e985209cd0 This is a test. Ignore. 2001-03-11 14:25:15 +00:00
cebix
a3bf445958 testing again 2001-03-11 14:24:03 +00:00
cebix
f1187fc1b0 testing the basilisk-cvs list 2001-03-11 14:21:18 +00:00
cebix
050a1a9177 testing the basilisk-cvs list 2001-03-11 13:39:58 +00:00
cebix
11030b234b testing again 2001-03-11 13:38:42 +00:00
cebix
ce802f5dfd testing the basilisk-cvs list 2001-03-11 13:30:26 +00:00
cebix
eec6b9acf6 testing the basilisk-cvs list 2001-03-11 13:21:38 +00:00
cebix
4d5028655f added patches from Brian J. Johnson (better VOSF performance and responsiveness) 2001-03-06 18:41:12 +00:00
cebix
8c39ddb2a2 added date of CVS snapshot 2001-02-17 16:35:39 +00:00
cebix
6494332010 documentation update (networking under BeOS) 2001-02-10 20:58:03 +00:00
cebix
cb4d38e711 fixed compilation problem under BeOS/x86 2001-02-10 20:46:17 +00:00
cebix
1cca65ee5b compilation aborts on x86 machines 2001-02-10 20:42:46 +00:00
cebix
7e29a242e0 documentation updates 2001-02-10 20:04:17 +00:00
cebix
57c4e2dcda floppy driver updates DskErr 2001-02-10 20:03:55 +00:00
cebix
73872e23cb added missing TriggerNMI() function 2001-02-10 19:58:46 +00:00
cebix
16203c298f "make install" failed when driver was already installed 2001-02-10 19:58:20 +00:00
cebix
4b2c1d9a23 implemented VOSF on Linux/ppc 2001-02-10 15:29:01 +00:00
gbeauche
a76e2d5da4 - added code to fake HWBases to scratch memory area 2001-02-10 11:37:42 +00:00
gbeauche
52d36668fe Mode of operations
- detailed a little more Banked Memory Addressing
- added a description of Direct (Constant-Offset) Addressing
- real addressing works on some non-68k, little-endian systems
2001-02-10 09:20:54 +00:00
cebix
4785ea2b9a fixed compilation problems under BeOS 2001-02-09 20:04:15 +00:00
cebix
c23567ab14 - bumped version number to 0.9
- updated copyright dates
2001-02-02 20:53:00 +00:00
gbeauche
e8862d8cbe - Added blitters for BGR 555 mode 2001-01-31 21:28:58 +00:00
gbeauche
9b2ed3594e - Faked VIA, SCCRd, SCCWr base addressed to scratch memory area in
EMUL_OP_INSTALL_DRIVERS
2001-01-30 07:27:23 +00:00
gbeauche
e94d644b19 Mainly changes to the VOSF code:
- improved blitters selection
- improved blitters performance if UNALIGNED_PROFITABLE is set
- cleaned up 8 bpp blitters
2001-01-28 14:05:19 +00:00
gbeauche
069a1ba3ad - removed --enable-16bit-vidmode (unused and useless) 2001-01-28 14:04:32 +00:00
gbeauche
97d7dcc005 - added do_byteswap_16() and do_byteswap_32() 2001-01-28 14:03:19 +00:00
cebix
81f357c42c - AmigaOS: implemented XPRAM watchdog thread
- AmigaOS: disabled 68060 Super Bypass mode because of CPU bug triggered
  by MacOS 8
- minor documentation updates
2001-01-25 22:24:36 +00:00
cebix
049092ac3d added numeric values to video driver control/status codes 2001-01-25 21:37:41 +00:00
cebix
aa018d1bdd updated autogen.sh script 2001-01-16 14:14:10 +00:00
gbeauche
252d602e96 - Cleaned up some comments again
- The dirtyPages[] array overrun conditions should be really safe now
2001-01-11 18:00:40 +00:00
gbeauche
5d671689db - Added UNALIGNED_PROFITABLE to the list of i386 macro definitions
- Changed OPTFLAGS macro definitions to OPTIMIZED_FLAGS
2001-01-11 16:39:25 +00:00
gbeauche
bd3734e10a Changes made to the update routines
- Cleaned up the process for determining the ranges of pages touched
  that have to be blitted onto the screen (find_next_page_set() and
  find_next_page_clear() functions)
Changes made to do_handle_screen_fault()
- An unhandled address is now dealt by the default SIGSEGV handler
- Print out the address of the instruction that caused the exception
2001-01-11 16:39:08 +00:00
gbeauche
d583307d6b - Cleaned up the process for determining the ranges of pages touched
that have to be blitted onto the screen (find_next_page_set() and
  find_next_page_clear() functions)
- Cleaned up some comments
Changes from Brian J. Johnson
- Fixed mainBuffer.dirtyPages[] array overrun in VOSF code
- Fixed calculation of the frames-per-second value
2001-01-11 16:38:48 +00:00
gbeauche
d21cbd327d - From Lauri's ChangeLog: "Fixed a bug in FPU FTAN opcode (didn't pop the value
1.0 that x86 partial tangent FPTAN always pushes to stack for 8087/287
  compatibility)."
2001-01-11 13:19:30 +00:00
cebix
c7d71ae1ab XFree() doesn't need casting 2001-01-06 22:15:35 +00:00
cebix
6b92e785c7 - removed the INT16 prefs item type; use INT32 instead
- AmigaOS/Unix: it's now possible to specify preferences items on the
  command line
- Unix: command line options now take "--"-prefix, e.g. "--rominfo"
2001-01-04 19:50:23 +00:00
cebix
29768a331f - man page is included in RPM whether or not it is compressed 2001-01-02 21:03:27 +00:00
cebix
a27c99d440 - removed USE_MAPPED_MEMORY (unused)
- fixed Delay_usec() on Solaris
2000-11-30 16:20:52 +00:00
cebix
bc2b95f73b fixed fbcopy_16_obo on big-endian systems 2000-11-30 16:09:03 +00:00
cebix
4fa9af7465 added sources for "sheep" driver and "sheep_net" network add-on 2000-11-13 16:59:42 +00:00
cebix
4162bfeffb window close widget now maps to Mac "power" key 2000-11-03 18:27:55 +00:00
cebix
3a777718bd - clicking on the "close" widget of the MacOS display window rings the bell
but doesn't actually close the window to prevent Basilisk II from being
  accidentally killed without a proper shutdown of MacOS
- replaced many #ifdef HAVE_PTHREADS constructs with LOCK/UNLOCK macros
- minor cleanups
2000-11-03 18:21:43 +00:00
cebix
3e6bb33b15 removed unnecessary window attributes 2000-11-03 12:23:49 +00:00
cebix
ed6e74340c - fixed Delay_usec() on IRIX
- xpram_func() calls Delay_usec() with a time of <1 second
2000-11-02 19:41:52 +00:00
cebix
348606cc5d - added audio support for IRIX [Brian J. Johnson]
- improved Delay_usec() under FreeBSD and IRIX
- fixed typo ("HAVE_PTHREDS") in video_x.cpp
2000-11-02 14:45:17 +00:00
cebix
c3df0cee5a video_x.cpp: window asks for input focus with XSetWMHints() 2000-10-27 17:01:40 +00:00
cebix
0df6c7e19c - FPU is now available under NetBSD/m68k
- main_unix.cpp: added more emulated privileged instructions
2000-10-17 12:24:59 +00:00
cebix
1158d091da fixed compilation problems 2000-10-16 17:37:58 +00:00
cebix
10f4035c6e - updated for latest version of mon 2000-10-15 15:08:24 +00:00
cebix
1b751e0339 - configure.in patches for Irix from bjjohnson
- extfs: .bin files get Stuffit Expander type/creator
2000-10-14 16:30:54 +00:00
cebix
01d43035d5 - replaced floating-point page shift calculation by integer routine, fixing
the VOSF problems under NetBSD/m68k
- fixed off-by-7 error in 1-bit window update routines
2000-10-13 16:47:52 +00:00
cebix
33892da9ef marked fbdevices and keycodes files as config files 2000-10-11 18:07:05 +00:00
cebix
a1097b080d - added a few more emulated privileged instructions to NetBSD/m68k
- tried to make VOSF run under NetBSD/m68k, little success (shows stripes and
  sometimes crashes)
2000-10-11 17:55:06 +00:00
cebix
b6f3185c3b cdrom.cpp: implemented Status(6) 2000-10-11 17:40:07 +00:00
cebix
129e9cd85d updated docs 2000-10-10 21:14:22 +00:00
cebix
c2780cd794 DESTDIR was not respected by installdirs target 2000-10-10 20:55:38 +00:00
cebix
bd65997392 updated rpm build target 2000-10-10 19:28:59 +00:00
cebix
b07af7f239 - updated spec file
- make install/uninstall targets support DESTDIR variable
- fixed compilation problem with DIRECT_ADDRESSING
2000-10-10 18:54:34 +00:00
cebix
b6d5ab3477 updated aclocal.m4 2000-10-09 17:59:34 +00:00
cebix
82b38333f1 EMUL_OP_BLOCK_MOVE is no longer used to replace the BlockMove() routine but
to implement more clever cache flushing for it
2000-10-09 17:45:58 +00:00
cebix
efc60c7f60 works again under NetBSD/m68k 2000-10-09 17:05:17 +00:00
cebix
3c2e4f8c06 added SA_SIGINFO to sa_flags when sa_sigaction is used 2000-10-08 18:41:35 +00:00
cebix
ff892aaf57 simplified building of RPMs 2000-10-05 17:26:37 +00:00
cebix
991a00ee09 added RPM spec file 2000-10-05 17:24:47 +00:00
gbeauche
24217ac65b - fixed a bug in 24 bpp mode, at least when there are four bytes per pixel
- a little loop optimization when clearing the dirty pages
- changed unsigned longs with the uintptr type
- also used uintpr for the page alignment function
2000-10-02 17:52:42 +00:00
gbeauche
147f72cb41 - fixed a bug in the previous patch that would fail to redraw the screen if
dynamic refresh is used.
- cleaned up resume_emul() in DGA mode with VOSF.
2000-09-25 22:33:49 +00:00
gbeauche
48f9ee5477 - cleaned up Expose event handling with VOSF 2000-09-25 21:49:19 +00:00
cebix
09192eb0e3 - adapted for mon V3.0 which is now the required minimum
- fixed gcc 2.96 compiler warnings
2000-09-25 17:54:01 +00:00
gbeauche
ca11a645d2 - cleaned up and fixed 8bpp copy 2000-09-23 08:39:55 +00:00
gbeauche
b251b89073 - fbcopy_raw now works if memcpy() is not used
(but it seems better to use memcpy since GCC has inline equivalent)
2000-09-23 08:39:38 +00:00
gbeauche
8aab66f024 - added a condition if (depth <= 8) before copying more than two bytes 2000-09-23 06:51:46 +00:00
gbeauche
3f7747a724 - fixed blitters for big endian systems, will probably work now 2000-09-23 06:51:30 +00:00
gbeauche
b7d6274743 - added Host2MacAddr() 2000-09-22 17:32:10 +00:00
gbeauche
5569af3c3a - Bugs: Unix: real addressing mode: something is still deadly wrong there though it
works for example under Linux/i386.
- video_vosf.h: check correctness of {15,16,24 bpp} blitters on big endian systems
2000-09-22 17:24:22 +00:00
gbeauche
e5410ea270 - Direct and real addressing modes
- Video on SEGV signals
2000-09-22 17:23:36 +00:00
gbeauche
69c5aab2b3 - changed type of ScratchMem from uint32 to uint8 * 2000-09-22 17:22:40 +00:00
gbeauche
5ec4d31f86 - fixed ADDQ and SUBQ bitmasks 2000-09-22 17:22:09 +00:00
gbeauche
d3f64dcb5f - changed set/get PC to better reflect direct or real addressing modes
- removed m68k_get_pc_p()
- default to not using prefetch buffer
2000-09-22 17:21:45 +00:00
gbeauche
b7177f6932 - changed set/get PC to better reflect direct or real addressing modes 2000-09-22 17:21:25 +00:00
gbeauche
1f2183a186 - merged DIRECT_ADDRESSING and REAL_ADDRESSING
- conditionally removed unused code for direct addressing or real addressing modes
2000-09-22 17:20:33 +00:00
gbeauche
b25e3eef89 - fixed 15 and 16 bpp frame_host_* functions for big endian systems
- conditionally removed unused code for direct addressing or real addressing modes
2000-09-22 17:20:01 +00:00
gbeauche
21822f8745 - removed generation of unused handlers in direct or real addressing modes
(no prefetch buffer, nor exception 3 handling)
2000-09-22 17:19:12 +00:00
gbeauche
51c093134b - removed memory access functions for real addressing and included <memory.h>
instead
- added Host2MacAddr
2000-09-22 17:18:46 +00:00
gbeauche
86832e0d1a - added memory initilization for direct addressing (MEMBaseDiff) 2000-09-22 17:18:15 +00:00
gbeauche
83d05988fb - added an experimental patch to fix a bug with the AppleShare extension in real addressing mode 2000-09-22 17:17:56 +00:00
gbeauche
c982fcf621 - changed type of ScratchMem from uint32 to uint8 *
- use of Host2MacAddr to glue the ScratchMem area
- added an experimental patch to fix a bug with Speedometer in real addressing mode
- added an experimental patch to fix a bug with the AppleShare extension in real addressing mode
2000-09-22 17:17:21 +00:00
gbeauche
f882c34591 - added direct and real addressing modes support
- added Video on SEGV signals support
2000-09-22 17:16:31 +00:00
gbeauche
fbabba29ee - video on SEGV signals 2000-09-22 17:16:05 +00:00
gbeauche
13bd5c97b9 - blit functions 2000-09-22 17:15:27 +00:00
gbeauche
e8d4a865e2 - added [u]intptr types
- set rom protection flag according to the addressing mode used
- set use_prefetch_buffer to 0
2000-09-22 17:14:46 +00:00
gbeauche
cbe6fea745 - added USE_SCRATCHMEM_SUBTERFUGE
- added memory allocation in real and direct addressing modes through mmap()
- added the possibility to allocate the whole mac memory from zero
2000-09-22 17:14:28 +00:00
gbeauche
da8b5373b0 - added AC_PROG_CC_C_O
- added canonical system information
- added Video on SEGV signals (VOSF)
- added testing for different addressing modes
- added check for size of void * in order to have proper [u]inptr types
- added the removal of the "-g" flag if GCC is used
2000-09-22 17:14:04 +00:00
gbeauche
9e5ea1f771 - canonical system information 2000-09-22 17:13:45 +00:00
gbeauche
bb93c9f4e4 - added ENABLE_VOSF
- added HAVE_SIGINFO_T
- added HAVE_SIGCONTEXT_SUBTERFUGE
2000-09-22 17:11:58 +00:00
cebix
199a0c04fc cleaned up 2000-09-13 15:32:34 +00:00
gbeauche
b9924d8b0c Added port of Lauri's FPE code to GCC/i386 2000-09-05 16:56:22 +00:00
gbeauche
a594afb29d - added: FPUSRCS which defaults to ../uae_cpu/fpp.cpp
- added: redifinition of FPUSRCS with ../uae_cpu/fpu_x86.cpp if the host
  system supports it (GCC and X86_ASSEMBLY)
2000-09-05 16:55:16 +00:00
gbeauche
9b2887536f Ported Lauri's FPU core to GCC/i386 2000-09-05 16:54:42 +00:00
gbeauche
fdf9c9938a - added FPU initialization routines 2000-09-05 16:53:47 +00:00
gbeauche
fbc2092471 - updated init_m68k with fpu_init() and fpu_set_integral_fpu() calls
- added exit_m68k() and handle deinitialization of the FPU
- updated m68k_reset to call fpu_reset()
2000-09-05 16:53:19 +00:00
gbeauche
e1724ba3d3 - added some prototypes for the new FPU core 2000-09-05 16:52:34 +00:00
gbeauche
0ca8dcaf08 - added call to exit_m68k() 2000-09-05 16:52:10 +00:00
cebix
d4a1463279 - some cleanups in the AmigaOS code 2000-09-04 16:30:48 +00:00
cebix
2bebaceabc - fixed compilation problem under Linux
- TriggerNMI() declaration moved to cpu_emulation.h
2000-08-22 12:44:30 +00:00
jlachmann
46612d3008 added MacsBug Support -jl- 2000-08-20 14:08:44 +00:00
cebix
a1d4587df6 - modified BeOS/extfs_beos.cpp to implement new get_finfo/set_finfo functions
(untested)
2000-08-14 14:38:16 +00:00
cebix
00f389d047 - removed non-source files "config.h.in" and "configure" from CVS, added
"autogen.sh" script to regenerate them
2000-08-14 14:24:51 +00:00
cebix
f20fff9ea9 - added EMUL_OP opcodes for sound input driver, created stubs for driver
routines
2000-07-25 17:02:24 +00:00
cebix
5a606f4724 - fixed compilation problems 2000-07-25 16:25:04 +00:00
cebix
38e68144b2 - more cleanups
- splitted prefs.cpp into prefs.cpp and prefs_items.cpp to make prefs.cpp
  reusable for other projects
2000-07-25 15:19:43 +00:00
cebix
34875ce327 - one_tick() is casted to the correct type when used as a POSIX.4 signal handler 2000-07-25 13:52:17 +00:00
cebix
fa1060d325 - minor cleanups 2000-07-25 11:13:24 +00:00
cebix
cc8de15355 - fixed a compiler warning 2000-07-25 08:03:46 +00:00
cebix
b248b687db - CD-ROM under Linux only worked when a CD was in the drive when B2 was
started
- Unix/main_unix.cpp: 1Hz interrupt wasn't triggered
2000-07-24 20:39:34 +00:00
cebix
1e8598eefa - Mac ROM and RAM are allocated with malloc() instead of "new" (because
-fomit-frame-pointer breaks exceptions), and an error message is displayed
  if the allocation fails
2000-07-24 15:17:07 +00:00
cebix
0e6bdfdce5 - Amiga mouse pointer is hidden inside windowed displays 2000-07-22 18:25:48 +00:00
cebix
ce02e4fc56 - improved timing of periodic threads 2000-07-22 18:12:35 +00:00