Ignore:
Timestamp:
Apr 12, 2014, 8:23:32 AM (11 years ago)
Author:
Ben Rietbroek
Message:

Various Changes [2012-04-14]

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can DESTROY THE MBR on ALL ATTACHED DISKS!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!

Changes

o Added BLDLEVEL support
o Enhanced Master Make
o Sanitized sources
o Support for Wasm and Masm6 (experimental)
o Renamed MBR_PROT.ASM to MBR-PROT.ASM
o Merged bitfield code Into Installer
o First steps for cross platform Installer
o More...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/AIR-BOOT.ASM

    r45 r46  
    2020
    2121;------------------------------------------------------------------------------
    22 ;                                                         AiR-BOOT / MAIN-CODE
     22;                                                       AiR-BOOT / DEFINITIONS
    2323;------------------------------------------------------------------------------
    2424;
     25
     26;
     27; Include AiR-BOOT Version Information.
     28;
     29Include VERSION.INC
     30
     31;
     32; Include OS/2 BLDLEVEL Information.
     33;
     34Include BLDLEVEL.INC
    2535
    2636
     
    6676; Include Debug Modules and enable COM-port debugging.
    6777;
    68 AUX_DEBUG       EQU
     78;~ AUX_DEBUG       EQU
    6979
    7080
     
    132142VideoIO_FXSegment           equ     0A000h
    133143
    134 ; Include
     144; Include some macro's
    135145Include ../INCLUDE/ASM.INC
    136146
     
    239249Flags_HideFeature           equ     00000100b
    240250Flags_DriveLetter           equ     00001000b   ; OS/2 FAT16/HPFS only
    241 Flags_ExtPartMShack         equ     00010000b   ; Extended Partition M$-Hack req ?
     251Flags_ExtPartMShack         equ     00010000b   ; Ext. Partition M$-Hack req ?
    242252Flags_NoPartName            equ     01000000b
    243253Flags_NowFound              equ     10000000b   ; temp only in OldPartTable
     
    276286
    277287
     288
     289
     290
     291
     292;------------------------------------------------------------------------------
     293;                                                         AiR-BOOT / MAIN-CODE
     294;------------------------------------------------------------------------------
     295
    278296; ------------------------------------------
    279297; Rousseau: # Changed this from .386 to .286
     
    297315; Tasm needs a memory model for USES on PROC to work.
    298316IFDEF   TASM
    299     ;.model large, basic
     317    ;~ .model large, basic
    300318    .model  tiny,c
    301319ENDIF
     
    321339
    322340; Our code-segment starts here.
    323 LDRIMAGE    SEGMENT     USE16   PUBLIC  'MIXED'
     341LDRIMAGE    SEGMENT     USE16   PUBLIC  'CODE'
    324342
    325343IFDEF   SEGMENTED
     
    332350                                                                    ; Sector 1
    333351
    334 
    335                 ; We are not a .com file at 100h but a binary image
    336                 ; of which only the 1st sector gets loaded at 07c00h.
     352;##############################################################################
     353                ; We are not a .COM file at 100h but a BINARY image
     354                ; of which only the 1st sector gets loaded at 0000:07c00h
     355                ; by the BIOS. The code in this 1st sector is position
     356                ; independent and moves itself to a new location at 8000:0000h.
     357                ; Then it jumps to a new entry-point and loads the rest of
     358                ; the image to the new location.
    337359                org 00000h                          ; Sector 1
    338 
     360;##############################################################################
     361
     362
     363;
    339364; Start of sector 1
    340 ; This is the MBR, note the AiRBOOT signature, it's date (2006), version and
    341 ; language.
    342 ; Version 1.07 was intruduced in 2011.
    343 ; It fixes issues with huge drives and lvm and more.
    344 
    345 
     365; This is the MBR.
     366; Note the AiRBOOT signature, it's date, version and language.
     367; Version 1.07 was intruduced in 2011, version 1.0.8 in 2012.
     368; These new versions fix issues with huge drives, lvm and more.
     369; For a detailed description see AIR-BOOT.HIS.
     370;
     371
     372;
    346373; ---------------------------------------------
    347374; Rousseau: # Combined letter and jump offset #
    348375; ---------------------------------------------
    349 ; My guess is Martin had a short jump followed by the AiRBOOT signature at first.
    350 ; Then he encountered strange behaviour by some M$ operating-systems if the
    351 ; the first insruction was not a CLI.
     376; Martin had a short jump followed by the AiRBOOT signature at first.
     377; Then he encountered strange behaviour by some M$ operating-systems
     378; if the the first insruction was not a CLI.
    352379; But there was no room to insert the CLI and of course he did not want to
    353380; change the location of the AiRBOOT signature.
    354381; He solved this by inserting the M$ needed CLI at offset 0 followed by a short
    355382; jump that uses the 'A' of the AiRBOOT signature as the jump displacement.
     383;
    356384
    357385
     
    359387AiR_BOOT:
    360388
    361                 ; Some M$ operating systems need a CLI
    362                 ; here otherwise they will go beserk
    363                 ; and will do funny things during
    364                 ; boot phase, it's laughable!
    365                 cli
    366 
    367                 ; JMP-Short -> MBR_Start
    368                 ; Uses the 'A' from the signature as the displacement !
    369                 db      0EBh
    370 
    371                 ; ID String, Date (DD,MM,CC,YY), Version Number, Language ID
    372                 db      'AiRBOOT', 24h, 02h, 20h, 12h, 01h, 08h, TXT_LanguageID
    373 
    374                 ; Total Sectors Count.
    375                 ; Will get overwritten by FIXCODE.
    376                 db      1
    377 
    378                 ; Total Sectors Count,
    379                 ; Dynamic calculation.
    380                 ;~ db      (code_end-$)/512
     389        ; Some M$ operating systems need a CLI
     390        ; here otherwise they will go beserk
     391        ; and will do funny things during
     392        ; boot phase, it's laughable!
     393        cli
     394
     395        ; JMP-Short -> MBR_Start
     396        ; Uses the 'A' from the signature as the displacement !
     397        db      0EBh
     398
     399        ; ID String, Date (DD,MM,CC,YY), Version Number, Language ID
     400        ;~ db      'AiRBOOT', 24h, 02h, 20h, 12h, 01h, 08h, TXT_LanguageID
     401        InsertAirbootSignature  TXT_LanguageID
     402
     403        ; Total Sectors Count.
     404        ; Will get overwritten by FIXCODE.
     405        db      1
     406
     407        ; Total Sectors Count,
     408        ; Dynamic calculation.
     409        ;~ db      (code_end-$)/512
    381410
    382411
     
    420449                ; Code an intersegment jump to the new location
    421450                db      0EAh
    422                 dw      BootBaseExec        ; This is MBR_RealStart + BootBasePtr
    423                 dw      BootBaseSeg         ; This is 08000h
     451                dw      BootBaseExec    ; This is MBR_RealStart + BootBasePtr
     452                dw      BootBaseSeg     ; This is 08000h
    424453                ;jmp     far ptr BootBaseSeg:BootBaseExec
    425454
     
    436465                xor     cx, cx
    437466                mov     dx, 500
    438                 int     15h                 ; Wait to display the whole screen :]
    439 MBR_HaltSys:    cli
     467                int     15h         ; Wait to display the whole screen :]
     468MBR_HaltSys:
     469                cli
    440470                jmp     MBR_HaltSys
    441471;db 100 dup (0)
     
    485515        jmp     MBRLE_Halt
    486516MBR_LoadError   EndP
    487 
    488517
    489518;
     
    749778                db      16 dup (0)
    750779
    751 FileSysNames    db      'FAT12   ', 'FAT16   ', 'FAT16Big', 'FAT16Big'
    752                 db      'HPFS    ', 'NTFS    ', 'LVM-Data', 'JFS     '
    753                 db      'FAT32   ', 'FAT32   ', 'FAT32   ', 'BeOS    '
    754                 db      'Unix    ', 'Minix   ', 'Linux   ', 'Venix   ' ; x row ;)
    755                 db      'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP'
    756                 db      'GNU HURD', 'QNX     ', 'QNX     ', 'QNX     '
    757                 db      '        ', '        ', '        ', '        '
    758                 db      '        ', '        ', '        ', '        '
    759                 db      '        ', '        ', '        ', '        '
    760                 db      '        ', 'Kernel  ', '        ', '0V-Award'
    761 ;                db      'OS/2 Man', 'via BIOS', 'Floppy  ', 'Unknown '
    762                 db      'OS2-BMGR', 'via BIOS', 'Floppy  ', 'Unknown '
     780FileSysNames    db  'FAT12   ', 'FAT16   ', 'FAT16Big', 'FAT16Big'
     781                db  'HPFS    ', 'NTFS    ', 'LVM-Data', 'JFS     '
     782                db  'FAT32   ', 'FAT32   ', 'FAT32   ', 'BeOS    '
     783                db  'Unix    ', 'Minix   ', 'Linux   ', 'Venix   ' ; x row ;)
     784                db  'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP'
     785                db  'GNU HURD', 'QNX     ', 'QNX     ', 'QNX     '
     786                db  '        ', '        ', '        ', '        '
     787                db  '        ', '        ', '        ', '        '
     788                db  '        ', '        ', '        ', '        '
     789                db  '        ', 'Kernel  ', '        ', '0V-Award'
     790;                db  'OS/2 Man', 'via BIOS', 'Floppy  ', 'Unknown '
     791                db  'OS2-BMGR', 'via BIOS', 'Floppy  ', 'Unknown '
    763792                         ; -> 44 Partition-Types
    764793
     
    10111040                ;
    10121041                ;call    AuxIO_TeletypeNL
    1013                 mov     si, offset PartitionTable
     1042                ;mov     si, offset PartitionTable
    10141043                ;call    AuxIO_DumpSector
    10151044                ;call    AuxIO_TeletypeNL
     
    10201049                ; Moved here to fix that Esc out of SETUP would also save.
    10211050                ; So moved above the MBR_Main_ReEnterSetup label.
    1022                 mov     [eCS_InstallVolume], 0  ; disable phase 1 for next boot
     1051                mov     byte ptr [eCS_InstallVolume], 0  ; disable phase 1 for next boot
    10231052                call    DriveIO_SaveConfiguration
    10241053
     
    10441073
    10451074
     1075
    10461076    MBR_Main_ReEnterBootMenuPre:
    10471077
     
    10501080
    10511081                ; ...and count that one...
    1052                 cmp     PartitionPointerCount, 0
     1082                cmp     byte ptr [PartitionPointerCount], 0
    10531083                jne     MBR_Main_SomethingBootAble
    10541084                mov     si, offset TXT_NoBootAble
     
    10651095    MBR_Main_ReEnterBootMenu:
    10661096                call    BOOTMENU_ResetMenuVars ; reset has to be done
    1067                 test    CFG_AutomaticBoot, 1
     1097                test    byte ptr [CFG_AutomaticBoot], 1
    10681098                jz      MBR_Main_NoAutomaticBooting
    10691099                ; ------------------------------------------ AUTOMATIC BOOTING
    10701100                ; Select automatic partition, disable automatic booting for
    10711101                ;  next time and boot system...
    1072                 mov     CFG_AutomaticBoot, 0
     1102                mov     byte ptr [CFG_AutomaticBoot], 0
    10731103                call    PASSWORD_AskSystemPwd
    10741104                mov     al, Menu_EntryAutomatic
     
    10831113                ;call   SOUND_Beep
    10841114
    1085                 test    CFG_BootMenuActive, 0FFh
     1115                test    byte ptr [CFG_BootMenuActive], 0FFh
    10861116                jnz     MBR_Main_GotBootMenu
    10871117                ; ----------------------------------------------- NO BOOT-MENU
     
    12121242IFDEF AUX_DEBUG
    12131243b_debug:
    1214 Include REGULAR/DEBUG.ASM
     1244Include REGULAR/DEBUG.ASM       ; Debug module
    12151245size_debug = $-b_debug
    12161246b_auxio:
     
    12251255
    12261256                ;
     1257                ; Moved up.
     1258                ;
     1259
     1260                ;
    12271261                ; This is the AiR-BOOT MBR-Protection Image.
    12281262                ; 04600 / 200h = 23h = 35d sectors are before this point.
    1229                 ; The stuff generated here gets overwritten when the MBR_PROT.ASM
    1230                 ; module, which is assembled separately, gets merged.
     1263                ; The stuff generated here gets overwritten when the
     1264                ; MBR_PROT.ASM module, which is assembled separately,
     1265                ; gets merged.
    12311266                ; So you won't find the string below in the generated binary.
    12321267                ;
     
    12381273
    12391274
    1240 
     1275                ; Rousseau: It needed a sector alignment, so moved it up to
     1276                ;           have as much space as possible for the modules
     1277                ;           included here.
    12411278
    12421279
     
    12761313
    12771314
     1315
    12781316                ;
    12791317                ; Critical end of code marker.
     
    13021340
    13031341
    1304 ;
    1305 ; Let's make this always the last module in this section.
    1306 ;
    1307 Include BLDDATE.ASM                      ; Build Date generated by _build.cmd
     1342; If we are debugging, we overwrite the FX code.
     1343; As long as no FX is disabled this will do no harm.
     1344IFDEF   AUX_DEBUG
     1345                ORG     06780h
     1346ENDIF
     1347
     1348bld_level:
     1349                ;
     1350                ; Here we insert the OS/2 BLDLEVEL Information.
     1351                ; It is composed of the AiR-BOOT version-info and other
     1352                ; information.
     1353                ; It is unique for each release of AiR-BOOT.
     1354                ;
     1355                InsertBuildLevel
    13081356
    13091357                ;
     
    13181366                ;
    13191367                ; AiR-BOOT Protection Image.
     1368                ; Moved from below to have it not break the included modules
     1369                ; with it's sector alignment requirement.
    13201370                ;
    13211371                ORIGIN  06800h
     
    13241374                ; This is the AiR-BOOT MBR-Protection Image.
    13251375                ; 06800 / 200h = 34h = 52d sectors are before this point.
    1326                 ; The stuff generated here gets overwritten when the MBR_PROT.ASM
    1327                 ; module, which is assembled separately, gets merged.
     1376                ; The stuff generated here gets overwritten when the
     1377                ; MBR_PROT.ASM module, which is assembled separately,
     1378                ; gets merged.
    13281379                ; So you won't find the string below in the generated binary.
    13291380                ;
     1381
     1382                ; 06800-068FF
     1383                ; 06900-069FF
     1384                ; 06A00-06AFF
     1385                ; 06B00-06BFF
     1386
     1387;
    13301388; Hardcoded to 1k (1024 bytes) (MBR_PROT.ASM)
     1389; The string below is searched for by the FIXCODE helper and *must* be
     1390; sector (512-bytes) aligned.
     1391;
    13311392MBR_Protection  db 'AiR-BOOT MBR-Protection Image'
    13321393
     
    13341395                db  1024-($-MBR_Protection)  dup('M')
    13351396
    1336 ;LDRIMAGE        ENDS
    1337 ;DATA_SEG        SEGMENT     USE16   PUBLIC  'CODE'
    1338 
    1339 
    1340 
    1341 ;~ MYDATA  SEGMENT     COMMON    'MIXED'
    1342 ;~ qqqq     dw  'QQ'
    1343 ;~ MYDATA  ENDS
    13441397
    13451398;==============================================================================
     
    13561409
    13571410Configuration:
    1358                 ; THERE IS AN INVISIBLE CHAR HERE !!
    1359                 ; Your editor may not display the invisible
     1411                ; THERE IS A NON-ASCII CHAR HERE !!
     1412                ; Your editor may not display this non-ASCII
    13601413                ; character at the end if the 'AiRCFG-TABLE'
    13611414                ; string. When this character get's deleted,
    13621415                ; AiR-BOOT will not function because it cannot
    13631416                ; find the config-signature which includes this
    1364                 ; invisible character. The code is: 0x0ad.
     1417                ; invisible character. The code of the char is: 0x0ad.
    13651418                db  'AiRCFG-TABLE­'
    1366                 db  01h, 07h, 'U' ; "Compressed" ID String
    1367                 ; This is now version 1.07 to have it in sync with
    1368                 ; the new code version for eCS.
     1419                db  01h, 08h, 'U' ; "Compressed" ID String
    13691420                ; Version 1.02 was for code 1.06, 1.03 was internal
    13701421                ; and 1.04,1.05 and 1.06 do not exist.
     1422                ;
     1423                ; 1.07 was used with AB v1.07 and introduced the phase1
     1424                ; system-name. For the rest it is compatible with v1.02.
     1425                ;
     1426                ; 1.0.8 is introduced with AB v1.0.8 and indicates the movement
     1427                ; of several components and the packing of the hideparttable.
     1428                ; The core configuration has not changed but the generated
     1429                ; configuration has. The v1.0.8 installer handles upgrading.
     1430                ;
    13711431                ; It is not required for the config to have the
    13721432                ; same version as the code, so in the future
    13731433                ; the code version might be higher than the
    13741434                ; config version if there are no changes to the latter.
     1435                ;
    13751436
    13761437CFG_LastTimeEditLow     dw  0   ; Last Time Edited Stamp (will incr every setup)
     
    14831544                ; Entries allocated down from 06E00 boundary.
    14841545                ;
    1485                 ORIGIN  % 06DABh                                  ; 427 Boundry
     1546                ORIGIN  06DABh                                  ; 427 Boundry
    14861547
    14871548; (432 - 5 = 427)
     
    15021563; stealth virus is on-line, we can intercept its call.
    15031564; Normal (non stealth) virus are trapped simply by rereading the MBR sector.
    1504 ; If a virus is found, we will restore MBR from Sektor 60/62 and stop the system
    1505 ; from working, so the user has to press reset. That's saver than a Reboot.
     1565; If a virus is found, we will restore MBR from Sektor 60/62 and stop the
     1566; system from working, so the user has to press reset.
     1567; That's saver than a Reboot.
    15061568;
    15071569; If a virus is found on the partition to boot, the system will ONLY halt,
     
    15461608;                             dw    0    ; No Checksum :)
    15471609;                             db    0, 0, 1
    1548 ;                             db    0, 0, 1  ; Location of Partition/Boot Record
     1610;                             db    0, 0, 1 ; Location of Partition/Boot Record
    15491611;                             dd    0, 0
    15501612
     
    16161678
    16171679
    1618 MBR_BackUpMBR           db  'AiR-BOOT MBR-BackUp - Just to fill this sector with something',0
     1680MBR_BackUpMBR           db  'AiR-BOOT MBR-BackUp',\
     1681                            ' - Just to fill this sector with something',0
    16191682AirBootRocks            db  'AiR-BOOT Rocks!',0
    16201683
     
    16491712ENDIF
    16501713
     1714
     1715
    16511716sobss:
    16521717;------------------------------------------------------------------------------
     1718
    16531719                            ;
    1654                             ; Removed org for BSS data to be more compatible
     1720                            ; Removed ORG for BSS data to be more compatible
    16551721                            ; with segment-concatenated layout.
    16561722                            ;
    16571723                            ; What happens before this space ??
    16581724                            ; If org 0 corruption occurs.
     1725                            ;
     1726
     1727                            ;
    16591728                            ; Filling hiddenparttable goes out-of-bounds !
     1729                            ; Fixed with 6-bit packing.
    16601730                            ;
    1661                             org 02400h                         ; Uninitialized
    1662                             ;~ org 00200h                         ; 200h geeft 3 floppies !
     1731
     1732;
     1733; If segmented, offsets are relative to the BSS segment.
     1734; They are resolved at link-time.
     1735; If not segmented, offsets are relative to the CODE segment.
     1736;
     1737IFDEF   SEGMENTED
     1738                            ORG 02400h
     1739ELSE
     1740                            ORG 0A000h
     1741ENDIF
     1742
    16631743
    16641744; This space actually gets initialized in PreCrap to NUL (till EndOfVariables)
    16651745BeginOfVariables:
    1666 PartitionSector             db  512 dup (?) ; Temporary Sector for Partition
    1667 JfsPBR                      db  512 dup (?) ; Temporary Sector for JFS PBR writeback
    1668 LVMSector                   db  512 dup (?) ; Temporary Sector for LVM
    1669 TmpSector                   db  512 dup (?) ; Temporary Sector
     1746PartitionSector     db  512 dup (?) ; Temporary Sector for Partition
     1747JfsPBR              db  512 dup (?) ; Temporary Sector for JFS PBR writeback
     1748LVMSector           db  512 dup (?) ; Temporary Sector for LVM
     1749TmpSector           db  512 dup (?) ; Temporary Sector
     1750Scratch             db  256 dup (?) ; Scratch buffer
    16701751
    16711752; Everything used to build a new IPT and reference it to the old one
    16721753; IETS OVERSCHRIJFT DIT !!
    1673 NewPartTable                db  1536 dup (?)                    ; New Partition Table
    1674 
    1675 NewHidePartTable            db  partition_count * LocHPT_LenOfHPT dup (?)    ; New Hide-Partition Table
    1676 NewDriveLetters             db  partition_count dup (?)         ; Logical Drive-Letters
    1677 
    1678 PartitionSizeTable          db  partition_count * 6 dup (?) ; Size-Table (6 bytes per partition)
    1679 PartitionPointers           dw  52 dup (?)  ; Maximum is 52 entries till now
    1680 PartitionPointerCount       db  ?           ; Count of total Partition Pointers
    1681 PartitionXref               db  partition_count dup (?) ; X-Reference Table (holds new partnr, index is old part nr)
    1682 PartitionVolumeLetters      db  partition_count dup (?) ; Volume-Letters
    1683                                                 ;  0 - no LVM support
    1684                                                 ;  1 - LVM support, but no letter
    1685                                                 ;  'C'-'Z' - assigned drive letter
    1686 
    1687 TotalHarddiscs              db  ?           ; Total harddrives (by POST)
    1688 LBASwitchTable              db  128 dup (?) ; Bit 25-18 for CHS/LBA Switching
    1689 NewPartitions               db  ?           ; Freshly found partitions
     1754NewPartTable                db  1536 dup (?)    ; New Partition Table
     1755
     1756; New Hide-Partition Table
     1757NewHidePartTable            db  partition_count * LocHPT_LenOfHPT dup (?)
     1758
     1759; Logical Drive-Letters
     1760NewDriveLetters             db  partition_count dup (?)
     1761
     1762; Size-Table (6 bytes per partition)
     1763PartitionSizeTable          db  partition_count * 6 dup (?)
     1764
     1765; Maximum is 52 entries till now
     1766PartitionPointers           dw  52 dup (?)
     1767
     1768; Count of total Partition Pointers
     1769PartitionPointerCount       db  ?
     1770
     1771; X-Reference Table (holds new partnr, index is old part nr)
     1772PartitionXref               db  partition_count dup (?)
     1773
     1774; Volume-Letters
     1775; 0 - no LVM support
     1776; 1 - LVM support, but no letter
     1777; 'C'-'Z' - assigned drive letter
     1778PartitionVolumeLetters      db  partition_count dup (?)
     1779
     1780
     1781
     1782
     1783TotalHarddiscs          db  ?           ; Total harddrives (by POST)
     1784LBASwitchTable          db  128 dup (?) ; Bit 25-18 for CHS/LBA Switching
     1785NewPartitions           db  ?           ; Freshly found partitions
    16901786                                            ; Independent of SaveConfiguration
    1691 TooManyPartitions           db  ?           ; Non-zero if too many partitions found
    1692 
    1693 VideoIO_Segment             dw  ?           ; Segment for Video I/O
    1694 
    1695 ExtendedAbsPos              dd  ?           ; Extended Partition Absolute Position
    1696 ExtendedAbsPosSet           db  ?           ; If Absolute Position set
    1697 
    1698 CurPartition_Location       dw  4 dup (?)   ; Where did current partition come from?
    1699 CurIO_UseExtension          db  ?           ; 1-Use INT 13h EXTENSIONS
    1700                                             ; (filled out by PreCrap)
    1701 CurIO_Scanning              db  ?           ; 1-AiR-BOOT is scanning partitions
     1787TooManyPartitions       db  ?           ; Non-zero if too many partitions found
     1788
     1789VideoIO_Segment         dw  ?           ; Segment for Video I/O
     1790
     1791ExtendedAbsPos          dd  ?           ; Extended Partition Absolute Position
     1792ExtendedAbsPosSet       db  ?           ; If Absolute Position set
     1793
     1794CurPartition_Location   dw  4 dup (?)   ; Where did current partition come from?
     1795CurIO_UseExtension      db  ?           ; 1-Use INT 13h EXTENSIONS
     1796                                        ; (filled out by PreCrap)
     1797CurIO_Scanning          db  ?           ; 1-AiR-BOOT is scanning partitions
    17021798                                            ; (for detailed error message)
    17031799
     
    17051801;GotLinux                     db     ?    ; 1-Linux found
    17061802
    1707 Menu_EntrySelected          db  ?   ; Which partition we boot this time...
    1708 Menu_UpperPart              db  ?   ; Which number (Base=0) is the partition upper pos
    1709 Menu_AbsoluteX              db  ?   ; Pos where Menu stuff starts
    1710 Menu_TotalParts             db  ?   ; Copy of CFG_BootParts
    1711 Menu_TotalLines             db  ?   ; Total Lines on Screen used for BootMenu
    1712 Menu_EntryDefault           db  ?   ; Default Entry in filtered View
    1713 Menu_EntryLast              db  ?   ; LastBooted Entry in filtered View
    1714 Menu_EntryAutomatic         db  ?   ; Automatic Entry in filtered View
     1803Menu_EntrySelected  db  ?   ; Which partition we boot this time...
     1804Menu_UpperPart      db  ?   ; Which number (Base=0) is the partition upper pos
     1805Menu_AbsoluteX      db  ?   ; Pos where Menu stuff starts
     1806Menu_TotalParts     db  ?   ; Copy of CFG_BootParts
     1807Menu_TotalLines     db  ?   ; Total Lines on Screen used for BootMenu
     1808Menu_EntryDefault   db  ?   ; Default Entry in filtered View
     1809Menu_EntryLast      db  ?   ; LastBooted Entry in filtered View
     1810Menu_EntryAutomatic db  ?   ; Automatic Entry in filtered View
    17151811                                         ;  - All adjusted to menu locations
    17161812
    1717 PartSetup_UpperPart         db  ?   ; Partition-Setup (like Menu_UpperPart)
    1718 PartSetup_ActivePart        db  ?   ; Active Partition
    1719 PartSetup_HiddenUpper       db  ?   ; (like Menu_UpperPart)
    1720 PartSetup_HiddenX           db  ?   ; Pos for Hidden-Setup
    1721 PartSetup_HiddenAdd         db  ?   ; Adjust for Hidden-Setup
    1722 
    1723 TimedBootEnable             db  ?   ; Local Enable/Disable for timed boot
    1724 TimedTimeOut                dd  ?   ; TimeOut Timer for TimedBoot (too much time here ;)
    1725 TimedSecondLeft             db  ?   ; How many seconds are left till boom ?
    1726 TimedSecondBack             db  ?   ; To get a modification noticed
    1727 TimedBootUsed               db  ?   ; Timed Boot used for bootup ?
    1728 FloppyGetNameTimer          dd  ?   ; Timer for Floppy-Get-Name
    1729 SETUP_KeysOnEntry           db  ?   ; which Shift Status was there, when booting ?
    1730 SETUP_ExitEvent             db  ?   ; Exit Event to end SETUP
    1731 TempPasswordEntry           db  17 dup (?)
    1732 SETUP_OldPwd                db  17 dup (?)
    1733 SETUP_NewPwd                db  17 dup (?)
    1734 SETUP_VerifyPwd             db  17 dup (?)
    1735 StartSoundPlayed            db  ?
    1736 ChangePartNameSave          db  ?   ; Save label after user-edit ?
    1737 SyncLvmLabels               db  ?   ; Sync LVM labels after user-edit ?
     1813PartSetup_UpperPart     db  ?   ; Partition-Setup (like Menu_UpperPart)
     1814PartSetup_ActivePart    db  ?   ; Active Partition
     1815PartSetup_HiddenUpper   db  ?   ; (like Menu_UpperPart)
     1816PartSetup_HiddenX       db  ?   ; Pos for Hidden-Setup
     1817PartSetup_HiddenAdd     db  ?   ; Adjust for Hidden-Setup
     1818
     1819TimedBootEnable     db  ?   ; Local Enable/Disable for timed boot
     1820TimedTimeOut        dd  ?   ; TimeOut Timer for TimedBoot (too much time here;)
     1821TimedSecondLeft     db  ?   ; How many seconds are left till boom ?
     1822TimedSecondBack     db  ?   ; To get a modification noticed
     1823TimedBootUsed       db  ?   ; Timed Boot used for bootup ?
     1824FloppyGetNameTimer  dd  ?   ; Timer for Floppy-Get-Name
     1825SETUP_KeysOnEntry   db  ?   ; which Shift Status was there, when booting ?
     1826SETUP_ExitEvent     db  ?   ; Exit Event to end SETUP
     1827TempPasswordEntry   db  17 dup (?)
     1828SETUP_OldPwd        db  17 dup (?)
     1829SETUP_NewPwd        db  17 dup (?)
     1830SETUP_VerifyPwd     db  17 dup (?)
     1831StartSoundPlayed    db  ?
     1832ChangePartNameSave  db  ?   ; Save label after user-edit ?
     1833SyncLvmLabels       db  ?   ; Sync LVM labels after user-edit ?
    17381834
    17391835FX_UseCount                 dw  ?
     
    17481844FX_CooperBarsTimer          dw  ?
    17491845
    1750 ; [Linux support removed since v1.02]
    1751 ;FAT16_Drive                  db     ?    ; FAT-16: Drive of FAT16-partition
    1752 ;FAT16_AbsPartitionBegin      dd     ?    ; FAT-16: LBA Begin of Partition
    1753 ;FAT16_SecsPerCluster         db     ?    ; FAT-16: Sectors Per Cluster
    1754 ;FAT16_NumOfRootEntries       dw     ?    ; FAT-16: Number of Root Entries
    1755 ;FAT16_SecsPerFAT             dw     ?    ; FAT-16: Sectors Per FAT
    1756 ;FAT16_AbsFATBegin            dd     ?    ; FAT-16: LBA Begin of FAT
    1757 ;FAT16_AbsRootBegin           dd     ?    ; FAT-16: LBA Begin of Root
    1758 ;FAT16_AbsClusterBegin        dd     ?    ; FAT-16: LBA Begin of Clusters
    1759 ;FAT16_FATCacheSector         db     ?    ; FAT-16: FAT-Sector No in Cache
    1760 ;FAT16_FATCache               db   512 dup (?) ; FAT-16: FAT-Area Cache
    1761 ;
    1762 ;LINUX_KernelEntries          db   680 dup (?) ; 34*20 -> Space for Kernel-Entries
    1763 ;LINUX_KernelNo               db     ?         ; Total of Kernels in KernelEntries
    1764 ;LINUX_KernelSizeTable        db   120 dup (?) ; Size-Table (6 bytes per kernel)
    1765 ;EndOfVariables:
     1846;~ ; [Linux support removed since v1.02]
     1847;~ FAT16_Drive             db     ?    ; FAT-16: Drive of FAT16-partition
     1848;~ FAT16_AbsPartitionBegin dd     ?    ; FAT-16: LBA Begin of Partition
     1849;~ FAT16_SecsPerCluster    db     ?    ; FAT-16: Sectors Per Cluster
     1850;~ FAT16_NumOfRootEntries  dw     ?    ; FAT-16: Number of Root Entries
     1851;~ FAT16_SecsPerFAT        dw     ?    ; FAT-16: Sectors Per FAT
     1852;~ FAT16_AbsFATBegin       dd     ?    ; FAT-16: LBA Begin of FAT
     1853;~ FAT16_AbsRootBegin      dd     ?    ; FAT-16: LBA Begin of Root
     1854;~ FAT16_AbsClusterBegin   dd     ?    ; FAT-16: LBA Begin of Clusters
     1855;~ FAT16_FATCacheSector    db     ?    ; FAT-16: FAT-Sector No in Cache
     1856;~ FAT16_FATCache          db   512 dup (?) ; FAT-16: FAT-Area Cache
     1857;~ LINUX_KernelEntries     db   680 dup (?) ; 34*20 -> Space for Kernel-Entries
     1858;~ LINUX_KernelNo          db     ?         ; Total of Kernels in KernelEntries
     1859;~ LINUX_KernelSizeTable   db   120 dup (?) ; Size-Table (6 bytes per kernel)
    17661860
    17671861; Dynamically Generated Tables - do not need to get initialized with NUL
    1768 FX_CooperColors             db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
    1769 FX_CooperState              db     7 dup (?)
    1770 FX_SinusPos                 db     7 dup (?)
    1771 FX_CooperPos                dw     7 dup (?)
    1772 CharsetTempBuffer           db  4096 dup (?) ; Uninitialized Charset buffer
    1773 LVM_CRCTable                dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
     1862FX_CooperColors     db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
     1863FX_CooperState      db     7 dup (?)
     1864FX_SinusPos         db     7 dup (?)
     1865FX_CooperPos        dw     7 dup (?)
     1866CharsetTempBuffer   db  4096 dup (?) ; Uninitialized Charset buffer
     1867LVM_CRCTable        dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
     1868
    17741869
    17751870
     
    18091904LOG_TotalSecs               dq      MaxDisks  dup(?)
    18101905
    1811 ; Rousseau: moved here
     1906; End of transient variables.
    18121907EndOfVariables:
    18131908
    1814 ; Temporary buffer for 48h INT13X bios call
    1815 ; Word aligned
    1816            ;even
    1817            ;align 2
    1818 
    1819            ;db     1  dup(?)
    1820 
    1821 i13xbuf     dw  1   dup (?)     ; Size of the buffer;
    1822                                 ; this param *must* be present.
    1823                                 ; Code inserts it.
    1824             db  126 dup(?)      ; The buffer itself.
    1825             i13xbuf_size = $-offset i13xbuf-2   ; Size of buffer
    1826                                                 ; (excluding the size word at the start).
    1827 
     1909
     1910;
     1911; Temporary buffer for 48h INT13X bios call.
     1912;
     1913
     1914            ; Size of the buffer.
     1915            ; this param *must* be filled in.
     1916            ; Code inserts it.
     1917i13xbuf     dw  1   dup (?)
     1918
     1919            ; The buffer itself.
     1920            db  126 dup(?)
     1921
     1922            ; Size of buffer calculated.
     1923            ; (excluding the size word at the start).
     1924            i13xbuf_size = $-offset i13xbuf-2
     1925
     1926            ; Some debug area.
    18281927ott         db  512 dup(?)
    18291928
     
    18311930
    18321931IFDEF   SEGMENTED
    1833 VOLATILE    ENDS
     1932    VOLATILE    ENDS
    18341933ELSE
    1835 LDRIMAGE    ENDS
     1934    LDRIMAGE    ENDS
    18361935ENDIF
    18371936
Note: See TracChangeset for help on using the changeset viewer.