Changeset 32 for trunk/BOOTCODE/AIR-BOOT.ASM
- Timestamp:
- Jan 13, 2013, 8:46:36 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BOOTCODE/AIR-BOOT.ASM
r31 r32 25 25 ; - Fixed driveletter feature which was broken in v1.07. 26 26 ; - Reworked MBR-code to provide two I13X signatures. 27 ; - Esc from SETUP would save to disk.28 ; It now retains the changes only for this boot and29 ; does not write them to disk.27 ; - Fixes booting older eCS installations on HPFS 28 ; - Fixes booting Windows when installed in logical partition 29 ; with loader on FAT32. 30 30 ; - Corrected contact links. 31 ; - 31 ; NOTE: 32 ; AB v1.07 had a bug with saving and loading the correct size of the 33 ; configuration. Therefore the CRC over the config was also calculated 34 ; wrongly. 35 ; While AB v1.0.8 fixes this, it has to use the v1.07 way of CRC calculation. 36 ; Otherwise SET(A)BOOT from the eCS v2.1 would break and reboot after phase1 37 ; would show the boot-menu instead of automatically booting the system 38 ; being installed. (SET(A)BOOT would see a corrupted AB config) 39 ; This means that the CRC over the AB config is calculated over 5 sectors 40 ; instead of 7, just like in v1.07. 41 ; This will be corrected with a future release of eComStation. 42 ; Note that after such a correction, an installation from a v2.1 eCS CD 43 ; with a version of AiR-BOOT >v1.07 active will not automatically 44 ; boot-through after phase1. 32 45 ; 33 46 ; v1.07 … … 106 119 ; If defined then include DEBUG.ASM and output debug-info to serial-port. 107 120 ; 108 AuxDebug equ 1121 ;AuxDebug equ 1 109 122 110 123 ; Com-port for debugging, 0 is disabled … … 216 229 ; (relative to entry) 217 230 218 ; Rousseau: added (index in LVM-sector)231 ; Rousseau: added (index in extpart LVM-sector) 219 232 LocLVM_Secs equ 20h ; Sectors per Track (OS/2 ext-geo) 220 233 LocLVM_Heads equ 1ch ; Number of heads 221 LocLVM_VolumeLetter2 equ 78 ; is BYTE (Letter C-Z or 0) ; FOUT !! niet entry relative !222 LocLVM_Startable equ 77 ; is startable (newly installed system) ; FOUT !! niet entry relative !223 LocLVM_OnBootMenu equ 76 ; is on bootmenu ; FOUT !! niet entry relative !234 LocLVM_VolumeLetter2 equ 78 ; is BYTE (Letter C-Z or 0) 235 LocLVM_Startable equ 77 ; is startable (newly installed system) 236 LocLVM_OnBootMenu equ 76 ; is on bootmenu 224 237 225 238 ; Truncated to 11 chars when displayed in menu … … 625 638 ; in this function. That's done around line 500. 626 639 ; Putting this few bytes here creates just enough room. 627 ; The size of this function should grow.628 640 MBR_LoadConfig Proc Near 629 ; Changed from conditional assembler to calculated 641 ; Changed from conditional assembler to calculated value 630 642 ; Fixes issue: #2987 -- "air-boot doesn't remember drive letter" 631 mov ax, (MBR_BackUpMBR - Configuration) / 2 ; sizeof(ab-configuration) to write 632 ; TASM does not evaluate expression above corrrectly. 633 ; Listing shows correct opcode but generated opcode has imm. word byteswapped. 634 ; Casting to byte also does not work (overflow). 635 ; So we swap back here -- must be removed in JWasm version !! 636 xchg ah,al 643 ; Size of the ab-configuration in 512 byte sectors 644 mov al, (MBR_BackUpMBR - Configuration) / 200h 637 645 mov ah,02h 638 639 646 int 13h 640 647 ret … … 934 941 ; COM-PORT DEBUG 935 942 ; 936 call AuxIO_TeletypeNL943 ; call AuxIO_TeletypeNL 937 944 mov si, offset PartitionTable 938 call AuxIO_DumpSector939 call AuxIO_TeletypeNL945 ; call AuxIO_DumpSector 946 ; call AuxIO_TeletypeNL 940 947 941 948 … … 1130 1137 IFDEF AuxDebug 1131 1138 b_debug: 1132 Include REGULAR\DEBUG.ASM ; Various debugging routines,1139 ; Include REGULAR\DEBUG.ASM ; Various debugging routines, 1133 1140 ; uses AUXIO and CONV 1134 1141 size_debug = $-b_debug … … 1136 1143 1137 1144 b_auxio: 1138 Include REGULAR\AUXIO.ASM ; Com-port support for debugging1145 ;Include REGULAR\AUXIO.ASM ; Com-port support for debugging 1139 1146 size_auxio = $-b_auxio 1140 1147
Note:
See TracChangeset
for help on using the changeset viewer.