Writing Video Card Drivers In BeOS

A Thesis By:

Rudolf Cornelissen
part-time student
06 June 2003

Table Of Contents

  1. Introduction
    1. Problem Description
    2. Thesis
    3. About The Author
    4. About BeOS
    5. About Video Card Drivers
  2. BeOS API Classes For Video Card Drivers
    1. BScreen (Interface Kit)
    2. BWindowsScreen (Game Kit)
    3. BDirectWindows (Game Kit)
    4. Classes For Hardware Overlay: BBitmap (Interface Kit)
    5. Classes For Hardware Overlay: BView (Interface Kit)
    6. Conclusion
  3. Kernel Driver
    1. Interface To The OS
      1. init_hardware()
      2. init_driver()
      3. publish_devices()
      4. uninit_driver()
      5. find_device()
    2. Interface To The User
      1. open_hook()
      2. close_hook()
      3. free_hook()
      4. control_hook()
      5. read_hook()
      6. write_hook()
    3. Conclusion
  4. Accelerant
    1. The Hooks Of The Accelerant
      1. INIT_ACCELERANT
      2. CLONE_ACCELERANT
      3. UNINIT_ACCELERANT
      4. ACCELERANT_RETRACE_SEMAPHORE
      5. ACCELERANT_MODE_COUNT &
        GET_MODE_LIST
      6. PROPOSE_DISPLAY_MODE
      7. SET_DISPLAY_MODE
      8. GET_FRAME_BUFFER_CONFIG
      9. GET_PIXEL_CLOCK_LIMITS
      10. MOVE_DISPLAY
      11. SET_INDEXED_COLOR
      12. GET_TIMING_CONSTRAINTS
      13. SET_CURSOR_SHAPE
      14. MOVE_CURSOR
      15. 2D Accelerant Functions
      16. Hardware Overlay Functions
    2. Conclusion
  5. Flags
    1. Flags For User Overlay
      1. B_BITMAP_WILL_OVERLAY
      2. B_BITMAP_RESERVE_OVERLAY_CHANNEL
      3. B_OVERLAY_TRANSFER_CHANNEL
      4. B_OVERLAY_MIRROR
      5. B_OVERLAY_FILTER_HORIZONTAL
      6. B_OVERLAY_FILTER_VERTICAL
    2. Flags For Mode Setup: Mode Flags
      1. B_SUPPORTS_OVERLAYS
      2. B_HARDWARE_CURSOR
      3. B_IO_FB_NA
      4. B_PARALLEL_ACCESS
      5. B_8_BIT_DAC
      6. B_DPMS
      7. B_SCROLL
    3. Flags For Mode Setup: Mode Timing Flags
      1. B_BLANK_PEDESTAL
      2. B_TIMING_INTERLACED
      3. B_SYNC_ON_GREEN
      4. B_POSITIVE_HSYNC &
        B_POSITIVE_VSYNC
    4. Conclusion
  6. Writing The Driver
    1. Action Plan
      1. Preparations
      2. Step 1: VBE2 (Vesa Mode)
        Activation
      3. Step 2: Non-Active Driver
        Installation
      4. Step 3: Hardware Cursor
        Building
      5. Step 4: Setting The Frame Buffer
        Start Address
      6. Step 5: Setting The Frame Buffer
        Pitch
      7. Step 6: Setting The Color
        Depth
      8. Step 7: Setting The Color
        Pallete
      9. Step 8: DPMS
        Building
      10. Step 9: Setting The Refresh
        Rate
      11. Step 10: Setting The Monitor
        Timing
      12. Step 11: Switching On
        'Enhanced Mode'
      13. <