|
Last change
on this file since 49 was 49, checked in by Ben Rietbroek, 12 years ago |
|
Fixed a nasty bug when eCS phase1 is active [2012-05-13]
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!!
Fixes
o Bug Description
When creating a partition in a free space between partitions for
eCS installation, the phase1 boot-through code would calculate the
wrong index for the new partition. As a result the next partition
would be auto-booted instead of the newly installed system.
This bug is also present in v1.07.
o Quick Fix
Run PARTSCAN_ScanForPartitions for a second time when eCS phase1
is active. This resyncs the PartitionXref table.
|
|
File size:
1.6 KB
|
| Line | |
|---|
| 1 | ;
|
|---|
| 2 | ; AiR-BOOT Version Information.
|
|---|
| 3 | ;
|
|---|
| 4 |
|
|---|
| 5 | ;
|
|---|
| 6 | ; First we define the numeric (BCD) AiR-BOOT version information.
|
|---|
| 7 | ; This is used to derive ASCII and other representations.
|
|---|
| 8 | ;
|
|---|
| 9 |
|
|---|
| 10 | ; AiR-BOOT version conform WarpIN format with implicit 0 as fourth number.
|
|---|
| 11 | ; Note that the config-version is managed manually.
|
|---|
| 12 | AB_MAJOR_VERSION EQU 1
|
|---|
| 13 | AB_MIDDLE_VERSION EQU 0
|
|---|
| 14 | AB_MINOR_VERSION EQU 8
|
|---|
| 15 |
|
|---|
| 16 | ; The Year, Month and Day in BCD so we can easily extract nibbles.
|
|---|
| 17 | AB_YEAR EQU 2012h
|
|---|
| 18 | AB_MONTH EQU 05h
|
|---|
| 19 | AB_DAY EQU 13h
|
|---|
| 20 |
|
|---|
| 21 | ; The Hours, Minutes and Seconds, again in BCD for easy manipulation.
|
|---|
| 22 | AB_HOURS EQU 00h
|
|---|
| 23 | AB_MINUTES EQU 25h
|
|---|
| 24 | AB_SECONDS EQU 00h
|
|---|
| 25 |
|
|---|
| 26 | ; The AiR-BOOT signature uses big-endian so we shuffle some bits around.
|
|---|
| 27 | AB_SIG_VERSION EQU (((AB_MIDDLE_VERSION SHL 4) OR AB_MINOR_VERSION) SHL 8) OR AB_MAJOR_VERSION
|
|---|
| 28 | AB_SIG_YEAR EQU ((AB_YEAR SHR 8) OR (AB_YEAR SHL 8) AND 0FFFFh)
|
|---|
| 29 | AB_SIG_DATE EQU (AB_MONTH SHL 8) OR AB_DAY
|
|---|
| 30 |
|
|---|
| 31 |
|
|---|
| 32 | ;
|
|---|
| 33 | ; This macro inserts the AiR-BOOT signature at the place where it is invoked.
|
|---|
| 34 | ;
|
|---|
| 35 | InsertAirbootSignature MACRO lang
|
|---|
| 36 | db 'AiRBOOT'
|
|---|
| 37 | dw AB_SIG_DATE
|
|---|
| 38 | dw AB_SIG_YEAR
|
|---|
| 39 | dw AB_SIG_VERSION
|
|---|
| 40 | ; Wasm can only process the reference to 'lang' in pass 2 because it comes
|
|---|
| 41 | ; from an included file which it has not processed yet at pass 1.
|
|---|
| 42 | IFDEF WASM
|
|---|
| 43 | IF2
|
|---|
| 44 | db lang
|
|---|
| 45 | ENDIF
|
|---|
| 46 | ; The other assemblers process 'lang' correctly in pass 1.
|
|---|
| 47 | ELSE
|
|---|
| 48 | db lang
|
|---|
| 49 | ENDIF
|
|---|
| 50 | ENDM
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.