Annotation of ntddk/src/video/displays/s3/s3mem.h, revision 1.1

1.1     ! root        1: 
        !             2: /******************************Module*Header*******************************\
        !             3: * Module Name: s3mem.h
        !             4: *
        !             5: * contains definitions for S3's off-screen memory usage.
        !             6: *
        !             7: * Copyright (c) 1993 Microsoft Corporation
        !             8: \**************************************************************************/
        !             9: 
        !            10: // Basic Memory definitions.
        !            11: 
        !            12: #define MEMORY_APERTURE_SIZE    0x10000
        !            13: 
        !            14: #define DRIVERS_MAX_CX          0x500
        !            15: 
        !            16: #define S3_MAX_RAM_WIDTH    ppdev->cxMaxRam
        !            17: #define S3_MAX_RAM_HEIGHT   ppdev->cyMaxRam
        !            18: 
        !            19: #define S3BM_WIDTH          ppdev->cxScreen
        !            20: #define S3BM_HEIGHT         ppdev->cyScreen
        !            21: 
        !            22: #define S3BM_WIDTH_HARD_VAL 1024
        !            23: 
        !            24: #define OFF_SCREEN_Y        S3BM_HEIGHT
        !            25: 
        !            26: //#define OFF_SCREEN_Y        512
        !            27: 
        !            28: #define OFF_SCREEN_CX       (S3BM_WIDTH)
        !            29: #define OFF_SCREEN_CY       (S3_MAX_RAM_HEIGHT - S3BM_HEIGHT)
        !            30: 
        !            31: // Glyph cache memory definitions
        !            32: 
        !            33: #define GLYPH_CACHE_Y       OFF_SCREEN_Y
        !            34: #define GLYPH_CACHE_CX      32
        !            35: #define GLYPH_CACHE_CY      32
        !            36: 
        !            37: #define CACHED_GLYPHS_ROWS  2
        !            38: #define GLYPHS_PER_ROW      ((S3BM_WIDTH_HARD_VAL/2) / GLYPH_CACHE_CX)
        !            39: 
        !            40: // Color pointer definitions.
        !            41: 
        !            42: #define COLOR_POINTER_Y     ((GLYPH_CACHE_CY * CACHED_GLYPHS_ROWS) + GLYPH_CACHE_Y)
        !            43: #define COLOR_POINTER_CX    64
        !            44: #define COLOR_POINTER_CY    64
        !            45: 
        !            46: #define COLOR_POINTER_AND_PLANE 0x01
        !            47: #define COLOR_POINTER_XOR_PLANE 0x02
        !            48: 
        !            49: #define COLOR_POINTER_COLOR_DATA_X      (COLOR_POINTER_CX)
        !            50: #define COLOR_POINTER_WORK_X            (COLOR_POINTER_CX * 2)
        !            51: #define COLOR_POINTER_SAVE_X            (COLOR_POINTER_CX * 3)
        !            52: 
        !            53: // Double wide, double high pattern definitions.
        !            54: 
        !            55: #define OFF_SCREEN_EXPANSION_CX         512
        !            56: #define OFF_SCREEN_EXPANSION_CY         176
        !            57: 
        !            58: #define MAX_DOUBLE_PATTERN_CX           16
        !            59: #define MAX_DOUBLE_PATTERN_CY           16
        !            60: 
        !            61: #define COLOR_PATTERN_CACHE_X           0
        !            62: #define COLOR_PATTERN_CACHE_Y           (COLOR_POINTER_Y + COLOR_POINTER_CY)
        !            63: #define COLOR_PATTERN_CACHE_CX          480
        !            64: #define COLOR_PATTERN_CACHE_CY          64
        !            65: 
        !            66: #define MAX_COLOR_PATTERNS              ((COLOR_PATTERN_CACHE_CX / 16) * (COLOR_PATTERN_CACHE_CY / 16))
        !            67: 
        !            68: #define MONO_PATTERN_CACHE_X            0
        !            69: #define MONO_PATTERN_CACHE_Y            (COLOR_PATTERN_CACHE_Y + COLOR_PATTERN_CACHE_CY)
        !            70: #define MONO_PATTERN_CACHE_CX           480
        !            71: #define MONO_PATTERN_CACHE_CY           16
        !            72: 
        !            73: #define MAX_MONO_PATTERNS               ((MONO_PATTERN_CACHE_CX / 16) * (MONO_PATTERN_CACHE_CY / 16) * 8)
        !            74: 
        !            75: #define COLOR_HORZ_EXPANSION_CACHE_X    0
        !            76: #define COLOR_HORZ_EXPANSION_CACHE_Y    (MONO_PATTERN_CACHE_Y + MONO_PATTERN_CACHE_CY)
        !            77: #define COLOR_HORZ_EXPANSION_CACHE_CX   (OFF_SCREEN_EXPANSION_CX - MONO_VERT_EXPANSION_CACHE_CX)
        !            78: #define COLOR_HORZ_EXPANSION_CACHE_CY   16
        !            79: 
        !            80: #define COLOR_VERT_EXPANSION_CACHE_X    480
        !            81: #define COLOR_VERT_EXPANSION_CACHE_Y    COLOR_POINTER_Y
        !            82: #define COLOR_VERT_EXPANSION_CACHE_CX   16
        !            83: #define COLOR_VERT_EXPANSION_CACHE_CY   (OFF_SCREEN_EXPANSION_CY - MONO_HORZ_EXPANSION_CACHE_CY)
        !            84: 
        !            85: #define MONO_HORZ_EXPANSION_CACHE_X     0
        !            86: #define MONO_HORZ_EXPANSION_CACHE_Y     (COLOR_HORZ_EXPANSION_CACHE_Y + COLOR_HORZ_EXPANSION_CACHE_CY)
        !            87: #define MONO_HORZ_EXPANSION_CACHE_CX    OFF_SCREEN_EXPANSION_CX
        !            88: #define MONO_HORZ_EXPANSION_CACHE_CY    16
        !            89: 
        !            90: #define MONO_VERT_EXPANSION_CACHE_X     496
        !            91: #define MONO_VERT_EXPANSION_CACHE_Y     COLOR_POINTER_Y
        !            92: #define MONO_VERT_EXPANSION_CACHE_CX    16
        !            93: #define MONO_VERT_EXPANSION_CACHE_CY    OFF_SCREEN_EXPANSION_CY
        !            94: 
        !            95: // Offscreen bitmap cache
        !            96: 
        !            97: #define OFF_SCREEN_BITMAP_X             512
        !            98: #define OFF_SCREEN_BITMAP_Y             OFF_SCREEN_Y
        !            99: #define OFF_SCREEN_BITMAP_CX            512
        !           100: #define OFF_SCREEN_BITMAP_CY            254
        !           101: 
        !           102: // Storage for HW monochrome pointer data
        !           103: // Note that we ping-pong between two storage areas for the pointer, one on
        !           104: // the bottom scan of memory and one on the second to bottom scan. However,
        !           105: // we arrive at the two scans by subtracting either 0 or 1 from PTR_DATA_Y,
        !           106: // so PTR_DATA_Y just points to the last scan of display memory.
        !           107: 
        !           108: #define PTR_DATA_X          0
        !           109: #define PTR_DATA_Y          (S3_MAX_RAM_HEIGHT - 1)
        !           110: 
        !           111: 
        !           112: 
        !           113: 
        !           114: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.