Changeset 625 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Main.asm


Ignore:
Timestamp:
Feb 19, 2023, 9:26:52 PM (14 months ago)
Author:
krille_n_
Message:

Changes:

  • Added a configuration option to let the BIOS store RamVars to an UMB when Full operating mode is enabled. This is primarily for XT class machines with RAM in the UMA (which apparently is a common thing these days).
  • Added two new builds specifically for IBM PS/2 machines. This is for support of the new McIDE adapter from the guys at zzxio.com. Note that the additional hardware specific code (under the USE_PS2 define) is for the PS/2 machines themselves and not for the McIDE adapters, so any controller in an IBM PS/2 machine can be used with the USE_PS2 define.
  • Moved pColorTheme out of the range of ROMVARS being copied over when doing "Load old settings from EEPROM" in XTIDECFG. This fixed a serious bug from r592 where loading a BIOS from file and then loading the old settings from ROM would corrupt 7 bytes of code somewhere in the loaded BIOS.
  • Optimizations (speed and size) to the library. Browsing the menus in XTIDECFG should now feel a little less sluggish.
  • Hopefully fixed a problem with the PostCommitHook script where it sometimes wouldn't find the CommitInProgress file. I say hopefully because testing this is a nightmare.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r624 r625  
    1515;
    1616; XTIDE Universal BIOS and Associated Tools
    17 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
     17; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2023 by XTIDE Universal BIOS Team.
    1818;
    1919; This program is free software; you can redistribute it and/or modify
     
    6464
    6565; ROM variables (must start at offset 0)
    66 CNT_ROM_BLOCKS      EQU     BIOS_SIZE / 512     ; number of 512B blocks, 16 = 8kB BIOS
     66CNT_ROM_BLOCKS      EQU     BIOS_SIZE / 512                 ; number of 512B blocks, 16 = 8kB BIOS
    6767istruc ROMVARS
    68     at  ROMVARS.wRomSign,   dw  0AA55h          ; PC ROM signature
    69     at  ROMVARS.bRomSize,   db  CNT_ROM_BLOCKS  ; ROM size in 512B blocks
    70     at  ROMVARS.rgbJump,    jmp Initialize_FromMainBiosRomSearch
    71     at  ROMVARS.rgbSign,    db  FLASH_SIGNATURE
    72     at  ROMVARS.szTitle,    db  TITLE_STRING
    73     at  ROMVARS.szVersion,  db  "r"
    74                             db  ROM_VERSION_STRING
    75                             db  BUILD_DATE_STRING,NULL
     68    at  ROMVARS.wRomSign,       dw  0AA55h                  ; PC ROM signature
     69    at  ROMVARS.bRomSize,       db  CNT_ROM_BLOCKS          ; ROM size in 512B blocks
     70    at  ROMVARS.rgbJump,        jmp Initialize_FromMainBiosRomSearch
     71    at  ROMVARS.rgbSign,        db  FLASH_SIGNATURE
     72    at  ROMVARS.szTitle,        db  TITLE_STRING
     73    at  ROMVARS.szVersion,      db  "r"
     74                                db  ROM_VERSION_STRING
     75                                db  BUILD_DATE_STRING,NULL
     76%ifdef MODULE_BOOT_MENU
     77    at  ROMVARS.pColorTheme,    dw  ColorTheme              ; Offset to the ATTRIBUTE_CHARS struc that holds the color theme
     78%endif
    7679
    7780;---------------------------;
     
    8487    at  ROMVARS.wFlags,         dw  FLG_ROMVARS_FULLMODE | MASK_ROMVARS_INCLUDED_MODULES
    8588%endif
     89    at  ROMVARS.wRamVars,       dw  NULL                    ; Use 'stolen' top of conventional memory by default in Full mode
    8690    at  ROMVARS.wDisplayMode,   dw  DEFAULT_TEXT_MODE
    8791%ifdef MODULE_BOOT_MENU
    8892    at  ROMVARS.wBootTimeout,   dw  BOOT_MENU_DEFAULT_TIMEOUT
    89     at  ROMVARS.pColorTheme,    dw  ColorTheme              ; Offset to the ATTRIBUTE_CHARS struc that holds the color theme
    90 %endif
     93%endif
     94%ifdef USE_PS2
     95    at  ROMVARS.bIdeCnt,        db  4                       ; Number of supported controllers with two McIDE adapters
     96%else
    9197    at  ROMVARS.bIdeCnt,        db  2                       ; Number of supported controllers
     98%endif
    9299    at  ROMVARS.bBootDrv,       db  80h                     ; Boot Menu default drive
    93100    at  ROMVARS.bMinFddCnt,     db  0                       ; Do not force minimum number of floppy drives
     
    99106    at  ROMVARS.ideVars0+IDEVARS.bDevice,           db  DEVICE_16BIT_ATA
    100107%ifdef MODULE_IRQ
     108%ifdef USE_PS2
     109    at  ROMVARS.ideVars0+IDEVARS.bIRQ,              db  0
     110%else
    101111    at  ROMVARS.ideVars0+IDEVARS.bIRQ,              db  14
     112%endif
    102113%endif
    103114    at  ROMVARS.ideVars0+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  dw  DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)
     
    108119    at  ROMVARS.ideVars1+IDEVARS.bDevice,           db  DEVICE_16BIT_ATA
    109120%ifdef MODULE_IRQ
     121%ifdef USE_PS2
     122    at  ROMVARS.ideVars1+IDEVARS.bIRQ,              db  0
     123%else
    110124    at  ROMVARS.ideVars1+IDEVARS.bIRQ,              db  15
     125%endif
    111126%endif
    112127    at  ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  dw  DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)
     
    117132    at  ROMVARS.ideVars2+IDEVARS.bDevice,           db  DEVICE_16BIT_ATA
    118133%ifdef MODULE_IRQ
     134%ifdef USE_PS2
     135    at  ROMVARS.ideVars2+IDEVARS.bIRQ,              db  0
     136%else
    119137    at  ROMVARS.ideVars2+IDEVARS.bIRQ,              db  0   ; Should be 11 on the GSI Inc. Model 2C
     138%endif
    120139%endif
    121140    at  ROMVARS.ideVars2+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  dw  DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)
     
    126145    at  ROMVARS.ideVars3+IDEVARS.bDevice,           db  DEVICE_16BIT_ATA
    127146%ifdef MODULE_IRQ
     147%ifdef USE_PS2
     148    at  ROMVARS.ideVars3+IDEVARS.bIRQ,              db  0
     149%else
    128150    at  ROMVARS.ideVars3+IDEVARS.bIRQ,              db  0   ; Should be 10 on the GSI Inc. Model 2C
     151%endif
    129152%endif
    130153    at  ROMVARS.ideVars3+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  dw  DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)
     
    139162;-----------------------------------;
    140163    at  ROMVARS.wFlags,         dw  MASK_ROMVARS_INCLUDED_MODULES
     164    at  ROMVARS.wRamVars,       dw  LITE_MODE_RAMVARS_SEGMENT
    141165    at  ROMVARS.wDisplayMode,   dw  DEFAULT_TEXT_MODE
    142166%ifdef MODULE_BOOT_MENU
    143167    at  ROMVARS.wBootTimeout,   dw  BOOT_MENU_DEFAULT_TIMEOUT
    144     at  ROMVARS.pColorTheme,    dw  ColorTheme              ; Offset to the ATTRIBUTE_CHARS struc that holds the color theme
    145168%endif
    146169    at  ROMVARS.bIdeCnt,        db  1
Note: See TracChangeset for help on using the changeset viewer.