|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.