ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/video_vosf.h
Revision 1.32 - (view) (annotate) - [select for diffs]
2002-05-16T15:48:06Z (22 years, 3 months ago) by gbeauche
Branch: MAIN
CVS Tags: nigel-build-12, nigel-build-13
Changes since 1.31: +0 -19 lines
Diff to previous 1.31
- 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.

Revision 1.31 - (view) (annotate) - [select for diffs]
2002-04-25T11:00:31Z (22 years, 4 months ago) by cebix
Branch: MAIN
Changes since 1.30: +27 -21 lines
Diff to previous 1.30
- 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

Revision 1.30 - (view) (annotate) - [select for diffs]
2002-01-15T14:58:37Z (22 years, 7 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-15012002
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
- documentation updates
- 2001 -> 2002
- version 0.9 -> 1.0

Revision 1.29 - (view) (annotate) - [select for diffs]
2001-07-14T18:41:01Z (23 years, 1 month ago) by gbeauche
Branch: MAIN
Changes since 1.28: +10 -10 lines
Diff to previous 1.28
- 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

Revision 1.28 - (view) (annotate) - [select for diffs]
2001-07-11T19:26:14Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.27: +5 -5 lines
Diff to previous 1.27
fixed a couple of compiler warnings

Revision 1.27 - (view) (annotate) - [select for diffs]
2001-07-07T09:14:47Z (23 years, 2 months ago) by gbeauche
Branch: MAIN
Changes since 1.26: +81 -70 lines
Diff to previous 1.26
- 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

Revision 1.26 - (view) (annotate) - [select for diffs]
2001-07-06T20:49:48Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.25: +1 -1 lines
Diff to previous 1.25
- 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

Revision 1.25 - (view) (annotate) - [select for diffs]
2001-07-03T15:59:47Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.24: +1 -0 lines
Diff to previous 1.24
- 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)

Revision 1.24 - (view) (annotate) - [select for diffs]
2001-07-01T21:09:29Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.23: +8 -5 lines
Diff to previous 1.23
- video_set_palette() gets passed the number of used palette entries
- video_x.cpp supports 2- and 4-bit modes on truecolor screens

Revision 1.23 - (view) (annotate) - [select for diffs]
2001-07-01T19:57:55Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.22: +10 -6 lines
Diff to previous 1.22
added support for 8-bit windowed modes on 16 and 32-bit screens (for the
games, man, the games! :-)

Revision 1.22 - (view) (annotate) - [select for diffs]
2001-07-01T14:38:03Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.21: +1 -1 lines
Diff to previous 1.21
- 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

Revision 1.21 - (view) (annotate) - [select for diffs]
2001-06-30T17:21:54Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.20: +5 -5 lines
Diff to previous 1.20
- experimental gamma table support
- restructured video_x.cpp: uses classes for display types

Revision 1.20 - (view) (annotate) - [select for diffs]
2001-06-28T22:06:18Z (23 years, 2 months ago) by gbeauche
Branch: MAIN
Changes since 1.19: +16 -19 lines
Diff to previous 1.19
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.

Revision 1.19 - (view) (annotate) - [select for diffs]
2001-06-28T21:20:00Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.18: +212 -1 lines
Diff to previous 1.18
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.

Revision 1.18 - (view) (annotate) - [select for diffs]
2001-06-27T19:03:37Z (23 years, 2 months ago) by cebix
Branch: MAIN
Changes since 1.17: +10 -10 lines
Diff to previous 1.17
added infrastructure for resolution/depth switching (currently, all video
drivers only support one mode, the one selected by the user)

Revision 1.17 - (view) (annotate) - [select for diffs]
2001-06-26T22:35:41Z (23 years, 2 months ago) by gbeauche
Branch: MAIN
Changes since 1.16: +6 -13 lines
Diff to previous 1.16
- 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

Revision 1.16 - (view) (annotate) - [select for diffs]
2001-05-20T20:31:50Z (23 years, 3 months ago) by gbeauche
Branch: MAIN
CVS Tags: release-0_9-1, snapshot-29052001
Changes since 1.15: +9 -100 lines
Diff to previous 1.15
- new and updated SIGSEGV support functions:
  + configure script cleanups
  + possible support for Direct Addressing / VOSF on other platforms

Revision 1.15 - (view) (annotate) - [select for diffs]
2001-03-06T18:41:12Z (23 years, 6 months ago) by cebix
Branch: MAIN
Changes since 1.14: +7 -65 lines
Diff to previous 1.14
added patches from Brian J. Johnson (better VOSF performance and responsiveness)

Revision 1.14 - (view) (annotate) - [select for diffs]
2001-02-10T15:29:01Z (23 years, 7 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-17022001
Changes since 1.13: +8 -0 lines
Diff to previous 1.13
implemented VOSF on Linux/ppc

Revision 1.13 - (view) (annotate) - [select for diffs]
2001-01-28T14:05:19Z (23 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.12: +13 -198 lines
Diff to previous 1.12
Mainly changes to the VOSF code:
- improved blitters selection
- improved blitters performance if UNALIGNED_PROFITABLE is set
- cleaned up 8 bpp blitters

Revision 1.12 - (view) (annotate) - [select for diffs]
2001-01-11T18:00:40Z (23 years, 8 months ago) by gbeauche
Branch: MAIN
Changes since 1.11: +33 -0 lines
Diff to previous 1.11
- Cleaned up some comments again
- The dirtyPages[] array overrun conditions should be really safe now

Revision 1.11 - (view) (annotate) - [select for diffs]
2001-01-11T16:39:08Z (23 years, 8 months ago) by gbeauche
Branch: MAIN
Changes since 1.10: +34 -38 lines
Diff to previous 1.10
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

Revision 1.10 - (view) (annotate) - [select for diffs]
2000-11-30T16:20:52Z (23 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.9: +5 -5 lines
Diff to previous 1.9
- removed USE_MAPPED_MEMORY (unused)
- fixed Delay_usec() on Solaris

Revision 1.9 - (view) (annotate) - [select for diffs]
2000-11-30T16:09:03Z (23 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.8: +4 -4 lines
Diff to previous 1.8
fixed fbcopy_16_obo on big-endian systems

Revision 1.8 - (view) (annotate) - [select for diffs]
2000-11-03T18:21:42Z (23 years, 10 months ago) by cebix
Branch: MAIN
Changes since 1.7: +2 -6 lines
Diff to previous 1.7
- 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

Revision 1.7 - (view) (annotate) - [select for diffs]
2000-10-13T16:47:52Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.6: +7 -2 lines
Diff to previous 1.6
- 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

Revision 1.6 - (view) (annotate) - [select for diffs]
2000-10-11T17:55:06Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.5: +95 -29 lines
Diff to previous 1.5
- 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)

Revision 1.5 - (view) (annotate) - [select for diffs]
2000-10-08T18:41:35Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4
added SA_SIGINFO to sa_flags when sa_sigaction is used

Revision 1.4 - (view) (annotate) - [select for diffs]
2000-10-02T17:52:42Z (23 years, 11 months ago) by gbeauche
Branch: MAIN
Changes since 1.3: +11 -9 lines
Diff to previous 1.3
- 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

Revision 1.3 - (view) (annotate) - [select for diffs]
2000-09-23T08:39:38Z (23 years, 11 months ago) by gbeauche
Branch: MAIN
Changes since 1.2: +0 -1 lines
Diff to previous 1.2
- fbcopy_raw now works if memcpy() is not used
  (but it seems better to use memcpy since GCC has inline equivalent)

Revision 1.2 - (view) (annotate) - [select for diffs]
2000-09-23T06:51:30Z (23 years, 11 months ago) by gbeauche
Branch: MAIN
Changes since 1.1: +70 -15 lines
Diff to previous 1.1
- fixed blitters for big endian systems, will probably work now

Revision 1.1 - (view) (annotate) - [select for diffs]
2000-09-22T17:16:05Z (23 years, 11 months ago) by gbeauche
Branch: MAIN
- video on SEGV signals

Convenience Links

Links to HEAD: (view) (annotate) Links to nigel-build-12: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a