User:Lucas Brooks/Researches/Windows 1.0 DR5 CONFIG.BIN

During the early days of Windows 1.0, Microsoft used a file named CONFIG.BIN to store OEM configurations and system bitmaps later stored in the display driver. It existed since Development Release #1 and last appeared in Development Release #5.

Basic Information[edit | edit source]

DR5's CONFIG.BIN can be split into 2 sections - the header and the body. The header contains offsets of various resources. The body is made up of 3 sections - the system font definition, the system bitmaps and the icon compression factors. The icon compression factors are never used, hard coded ones are used instead.

Documentation[edit | edit source]

CONFIG.BIN
│
├───Header
│   └───File Header
│           word        pSysFont                Offset of 'System Font Definition'
│           word        pBmpMenu                Offset of MENU.BMP
│           word        pBmpHelp                Offset of HELP.BMP
│           word        pBmpClose               Offset of CLOSE.BMP
│           word        pBmpSize                Offset of SIZE.BMP
│           word        pBmpUpAreow             Offset of UPARROW.BMP
│           word        pBmpDnArrow             Offset of DNARROW.BMP
│           word        pBmpRgArrow             Offset of RGARROW.BMP
│           word        pBmpLfArrow             Offset of LFARROW.BMP
│           word        pBmpBtSize              Offset of BTSIZE.BMP
│           word        pBmpCheck               Offset of CHECK.BMP
│           word        pIconComp               Offset of 'Icon Compression Factors'
│
└───Body
    ├───System Font Definition
    │       LOGFONT     lfSysFont               LOGFONT structure
    │
    ├───Bitmaps
    │       bytes       MENU.BMP                Raw bitmap format
    │       bytes       HELP.BMP                Raw bitmap format
    │       bytes       CLOSE.BMP               Raw bitmap format
    │       bytes       SIZE.BMP                Raw bitmap format
    │       bytes       UPARROW.BMP             Raw bitmap format
    │       bytes       DNARROW.BMP             Raw bitmap format
    │       bytes       RGARROW.BMP             Raw bitmap format
    │       bytes       LFARROW.BMP             Raw bitmap format
    │       bytes       BTSIZE.BMP              Raw bitmap format
    │       bytes       CHECK.BMP               Raw bitmap format
    │
    └───Icon Compression Factors (not used)
            byte        xIconCompress           Icon width = 64 / xIconCompress
            byte        yIconCompress           Icon height = 64 / yIconCompress