Commit Graph

336 Commits

Author SHA1 Message Date
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