Changeset 96
- Timestamp:
- Apr 8, 2017, 12:26:41 AM (8 years ago)
- Location:
- trunk/bootcode
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootcode/airboot.asm
r89 r96 1313 1313 call AFTERCRAP_Main 1314 1314 1315 ; [Linux support removed since v1.02]1316 ; Now get FAT16-Linux Kernel Partition, If requested1317 ;cmp [CFG_LinuxKrnlPartition], 0FFh1318 ;je MBR_Main_NoLinuxKrnlPartition1319 ;call LINUX_InitFAT16access1320 ;MBR_Main_NoLinuxKrnlPartition:1321 1322 1323 1324 1315 MBR_Main_ReEnterBootMenuPre: 1325 1316 ; SetUp PartitionPointers for BootMenu (filter non-bootable) … … 1576 1567 include special/virus.asm ; Virus Detection / Anti-Virus 1577 1568 size_virus = $-b_virus 1578 1579 ; [Linux support removed since v1.02]1580 ;include special/fat16.asm ; FAT-16 Support1581 ;include special/linux.asm ; Linux Kernel Support1582 1569 1583 1570 b_billsuxx: … … 1899 1886 ; It is truncated to 11 chars because AiR-BOOT currently does not support 1900 1887 ; longer labelnames. The name is also capitalized. 1901 ;OS2_InstallVolume db 12 dup (0)1902 ;OS2_InstallVolume db 'HIGHLOG' ,01903 ;OS2_InstallVolume db 'ECS-MIDDLE',0,01904 ;OS2_InstallVolume db 'ECS-HIGH',0,0,0,01905 ;OS2_InstallVolume db 'ECS-HIGH',0,'NO',01906 ;OS2_InstallVolume db 'KANWEG2',01907 1888 OS2_InstallVolume db 0,'NOPHASEONE' ,0 1908 1889 … … 2317 2298 LVM_CRCTable dd 256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm) 2318 2299 2319 ;~ ; [Linux support removed since v1.02]2320 ;~ FAT16_Drive db ? ; FAT-16: Drive of FAT16-partition2321 ;~ FAT16_AbsPartitionBegin dd ? ; FAT-16: LBA Begin of Partition2322 ;~ FAT16_SecsPerCluster db ? ; FAT-16: Sectors Per Cluster2323 ;~ FAT16_NumOfRootEntries dw ? ; FAT-16: Number of Root Entries2324 ;~ FAT16_SecsPerFAT dw ? ; FAT-16: Sectors Per FAT2325 ;~ FAT16_AbsFATBegin dd ? ; FAT-16: LBA Begin of FAT2326 ;~ FAT16_AbsRootBegin dd ? ; FAT-16: LBA Begin of Root2327 ;~ FAT16_AbsClusterBegin dd ? ; FAT-16: LBA Begin of Clusters2328 ;~ FAT16_FATCacheSector db ? ; FAT-16: FAT-Sector No in Cache2329 ;~ FAT16_FATCache db 512 dup (?) ; FAT-16: FAT-Area Cache2330 ;~ LINUX_KernelEntries db 680 dup (?) ; 34*20 -> Space for Kernel-Entries2331 ;~ LINUX_KernelNo db ? ; Total of Kernels in KernelEntries2332 ;~ LINUX_KernelSizeTable db 120 dup (?) ; Size-Table (6 bytes per kernel)2333 2300 2334 2301 -
trunk/bootcode/regular/bootmenu.asm
r73 r96 955 955 mov Menu_EntryAutomatic, dl 956 956 957 ;~ ; [Linux support removed since v1.02]958 ;~ ; Okay, now we check if Default/Last Kernel Partition Name is available...959 ;~ ; if so, simply set Menu_EntryDefault/Menu_EntryLast.960 ;~ mov si, offset CFG_LinuxDefaultKernel961 ;~ call LINUX_SearchKernelName ; DL - Filtered Entry No962 ;~ cmp dl, 0FFh963 ;~ je BMRMV_DefaultKernelNF964 ;~ mov Menu_EntryDefault, dl965 ;~ BMRMV_DefaultKernelNF:966 ;~ mov si, offset CFG_LinuxLastKernel967 ;~ call LINUX_SearchKernelName ; DL - Filtered Entry No968 ;~ cmp dl, 0FFh969 ;~ je BMRMV_LastKernelNF970 ;~ mov Menu_EntryLast, dl971 ;~ BMRMV_LastKernelNF:972 973 957 ; restlichen Variablen berechnen... 974 958 mov dl, Menu_TotalParts -
trunk/bootcode/regular/partmain.asm
r84 r96 36 36 call PART_FixUpSelectionNumber 37 37 mov CFG_PartAutomatic, dl 38 39 ; [Linux support removed since v1.02]40 ; ; Fix-Up Linux Kernel Partition - If lost, search for FAT-1641 ; mov bl, 06h42 ; mov dl, CFG_LinuxKrnlPartition43 ; call PART_FixUpPartitionNumber44 ; mov CFG_LinuxKrnlPartition, dl45 ;46 ; ; Fix-Up Linux Root Partition - If lost, search for Linux partition (83h)47 ; mov bl, 83h48 ; mov dl, CFG_LinuxRootPartition49 ; call PART_FixUpPartitionNumber50 ; mov CFG_LinuxRootPartition, dl51 38 ret 52 39 PART_FixUpDefaultPartitionValues EndP … … 264 251 PCMPP_NoResumeBootSeqInclude: 265 252 266 ; [Linux support removed since v1.02]267 ; ; Now include all Linux Kernels, if any available...268 ; movzx cx, LINUX_KernelNo269 ; or cx, cx270 ; jz PCMPP_NoLinuxKernels271 ; mov ax, offset LINUX_KernelEntries272 ; PCMPP_KernelLoop:273 ; mov ds:[bx], ax274 ; add bx, 2275 ; add ax, LocIPT_LenOfIPT276 ; dec cx277 ; jnz PCMPP_KernelLoop278 ; PCMPP_NoLinuxKernels:279 280 253 ;movzx cx, CFG_Partitions ; LocIPT_MaxPartitions 281 254 mov cl,CFG_Partitions ; LocIPT_MaxPartitions … … 378 351 je PCTS_IsFloppy ; Is Floppy 379 352 380 ; [Linux support removed since v1.02]381 ; cmp ax, offset LINUX_KernelEntries382 ; jae PCTS_IsKernelEntry383 384 353 ; 385 354 ; Is partition, AX contains pointer to IPT entry … … 390 359 mov dl, al ; Index in IPT 391 360 ret 392 393 ; [Linux support removed since v1.02]394 ; PCTS_IsKernelEntry:395 ; mov dl, 0FDh396 ; ret397 361 398 362 PCTS_IsBIOSbootSeq: … … 469 433 ; Destroyed: AX 470 434 PART_GetSizeElementPointer Proc Near Uses bx 471 ; [Linux support removed since v1.02]472 ; cmp ax, offset LINUX_KernelEntries473 ; jae PGSEP_IsKernelEntry474 435 mov si, offset PartitionSizeTable 475 436 sub ax, offset PartitionTable 476 ; jmp PGSEP_Continue477 ; [Linux support removed since v1.02]478 ; PGSEP_IsKernelEntry:479 ; mov si, offset LINUX_KernelSizeTable480 ; sub ax, offset LINUX_KernelEntries481 ; PGSEP_Continue:482 437 mov bl, LocIPT_LenOfIPT 483 438 div bl ; Divide with IPTlength … … 1053 1008 call MBR_Teletype 1054 1009 1055 1056 ; [Linux support removed since v1.02]1057 ; cmp dh, 0FDh1058 ; je PSP_IsKernel1059 1060 1010 ;~ pusha 1061 1011 ;~ call MBR_Teletype … … 1077 1027 call MBR_TeletypeVolName 1078 1028 jmp PSP_IsFloppyCDROMetc ; JUMPS BUITEN SI POP !!! AANPASSEN 1079 1080 1081 ; [Linux support removed since v1.02]1082 ; PSP_IsKernel:1083 ; IFDEF ReleaseCode1084 ; ; Save configuration on HDD boots (save CFG_LinuxLastKernel)1085 ; call DriveIO_SaveConfiguration1086 ; ENDIF1087 ; call MBR_Teletype ; Prints out BootingNow2 including KernelName1088 ; mov si, offset TXT_BootingNowKernel1089 ; call MBR_Teletype1090 ; jmp PSP_IsFloppyCDROMetc1091 1029 1092 1030 … … 1417 1355 je PSP_ResumeBIOSbootSeq 1418 1356 1419 ; [Linux support removed since v1.02]1420 ; cmp al, 0FDh ; Kernel-Booting ?1421 ; je PSP_KernelBooting1422 1423 1357 jmp PSP_StartNormal 1424 1358 … … 1428 1362 dw 0FFF0h 1429 1363 dw 0F000h 1430 1431 ; [Linux support removed since v1.02]1432 ; PSP_KernelBooting:1433 ; call LINUX_LoadKernel ; DS:SI - Entry Pointer to Kernel1434 ; db 0EAh ; if return to here -> Reboot1435 ; dw 0FFF0h1436 ; dw 0F000h1437 1438 1364 1439 1365 -
trunk/bootcode/regular/partscan.asm
r94 r96 80 80 mov cx, LocIPT_MaxPartitions 81 81 rep movsb 82 83 ; [Linux support removed since v1.02]84 ; ; Search for any Linux partition and remember, if it got found...85 ; mov si, offset PartitionTable86 ; movzx cx, CFG_Partitions87 ; xor dl, dl ; DL - Is Linux here ?88 ; or cx, cx89 ; jz PSSFP_NoPartitions90 ; PSSFP_LinuxLoop:91 ; cmp bptr [si+LocIPT_SystemID], 083h ; Hard-Coded92 ; jne PSSFP_NoLinux93 ; mov dl, 1 ; Linux found...94 ; PSSFP_NoLinux:95 ; add si, LocIPT_LenOfIPT96 ; loop PSSFP_LinuxLoop97 ; PSSFP_NoPartitions:98 ; mov GotLinux, dl ; Set Flag99 82 100 83 ; ...and finally check, if we need to set a Drive-Letter -
trunk/bootcode/setup/main.asm
r76 r96 773 773 SETUP_EnterMenu_ExtendedOptions EndP 774 774 775 ; [Linux support removed since v1.02]776 ;SETUP_EnterMenu_LinuxCommandLine Proc Near Uses dx bp777 ; test GotLinux, 1778 ; jz SEMLCL_NoLinux779 ; call SETUP_EnterMenu_EnterLinuxCmdLine780 ; ret781 ; SEMLCL_NoLinux:782 ; mov cx, 0C04h783 ; mov si, offset TXT_SETUP_NoLinuxInstalled784 ; call SETUP_ShowErrorBox785 ; ret786 ;SETUP_EnterMenu_LinuxCommandLine EndP787 788 775 SETUP_EnterMenu_DefineMasterPassword Proc Near 789 776 mov di, offset CFG_MasterPassword … … 799 786 800 787 ; ============================================================================ 801 802 ; [Linux support removed since v1.02]803 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near804 ; mov cx, 0D05h805 ; call VideoIO_Color806 ; mov bx, 0C02h807 ; mov dx, 0F4Fh808 ; call VideoIO_MakeWindow809 ; mov cx, 0F05h810 ; call VideoIO_Color811 ;812 ; mov si, offset TXT_SETUP_EnterLinuxCmdLine813 ; call GetLenOfString ; CX - Len of Error Message814 ; mov dx, cx815 ; mov cx, 0D28h816 ; call VideoIO_LocateToCenter ; LocateToCenter 13, 40 using LenOfStr817 ; call VideoIO_Print ; Writes 'Please enter Linux-CmdLine'818 ;819 ; mov cx, 0E05h820 ; call VideoIO_Color821 ; mov cx, 0E04h822 ; call VideoIO_Locate823 ; mov al, ' '824 ; mov cl, 74825 ; call VideoIO_PrintSingleMultiChar826 ; mov cx, 0E04h827 ; call VideoIO_Locate828 ; mov si, offset CFG_LinuxCommandLine829 ; push si830 ; call VideoIO_Print ; Writes Linux Command-Line831 ; pop si832 ; mov cx, 0E04h833 ; call VideoIO_Locate834 ;835 ; push cs836 ; pop es ; ES == CS837 ; mov di, offset TmpSector838 ; mov cx, 37839 ; rep movsw ; Copy LinuxCmdLine -> TmpSectorSpace840 ;841 ; mov si, offset TmpSector842 ; mov cx, 74843 ; call VideoIO_LetUserEditString ; -> does actual editing844 ; jnc SEMELCL_UserAbort ; Did user abort ?845 ;846 ; ; Otherwise copy TmpSectorSpace to LinuxCmdLine847 ; mov di, offset CFG_LinuxCommandLine848 ; mov cx, 74849 ; call GetLenOfName ; Get real length of Cmd-Line into CX850 ; jz SEMELCL_NulLine851 ; rep movsb852 ; SEMELCL_NulLine:853 ; mov ax, 75854 ; sub ax, cx855 ; mov cx, ax856 ; xor al, al857 ; rep stosb ; Fill up with NULs858 ;859 ; SEMELCL_UserAbort:860 ; ret861 ;SETUP_EnterMenu_EnterLinuxCmdLine EndP862 788 863 789 ; In: di - Place for Password to be defined … … 1466 1392 SETUPMAGIC_ChangeDefaultSelection EndP 1467 1393 1468 ; [Linux support removed since v1.02]1469 ;SETUPMAGIC_ChangeLinuxKernelPart Proc Near Uses ax cx dx si es di1470 ; mov di, si1471 ; mov dl, ds:[bx] ; Cur Partition No.1472 ; push bx1473 ; jc SMCLKP_DoNotModify1474 ; SMCLKP_NowGoOn:1475 ; mov dh, CFG_Partitions ; CFG_Partitions is Base==11476 ; inc dl ; +1 -> 00h instead FFh -> Disabled1477 ; SMCLKP_RejectPartition:1478 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions)1479 ; SMCLKP_DoNotModify:1480 ; or dl, dl1481 ; jz SMCLKP_FunctionDisabled1482 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL)1483 ; dec dl1484 ; call PART_GetPartitionPointer1485 ; inc dl1486 ; cmp bptr ds:[si+LocIPT_SystemID], 06h ; FAT-16 required1487 ; jne SMCLKP_RejectPartition1488 ; pop bx1489 ; add si, LocIPT_Name ; Location of Name1490 ; push cs1491 ; pop es1492 ; add di, LocMENU_ItemPack ; DI points to ItemPack1493 ; mov cx, 111494 ; rep movsb ; Copy cur PartitionName to ItemPack1495 ; xor al, al1496 ; stosb ; Ending Zero1497 ; SMCLKP_WriteNewValue:1498 ; dec dl1499 ; mov ds:[bx], dl ; Set new partition number1500 ; ret1501 ;1502 ; SMCLKP_FunctionDisabled:1503 ; pop bx1504 ; mov si, offset TXT_SETUP_MAGIC_Disabled1505 ; push cs1506 ; pop es1507 ; add di, LocMENU_ItemPack ; DI points to ItemPack...1508 ; call SETUPMAGIC_InternalCopyTillNUL1509 ; jmp SMCLKP_WriteNewValue1510 ;SETUPMAGIC_ChangeLinuxKernelPart EndP1511 1512 ; [Linux support removed since v1.02]1513 ;SETUPMAGIC_ChangeLinuxRootPart Proc Near Uses ax cx dx si es di1514 ; mov di, si1515 ; pushf ; lame, but it's not working other ways1516 ; test ds:[GotLinux], 11517 ; jnz SMCLRP_GotLinux1518 ; popf1519 ; add di, LocMENU_ItemPack ; DI points to ItemPack1520 ; mov si, offset TXT_SETUP_MAGIC_NoLinux1521 ; push cs1522 ; pop es1523 ; call SETUPMAGIC_InternalCopyTillNUL1524 ; ret1525 ; SMCLRP_GotLinux:1526 ; mov dl, ds:[bx] ; Cur Partition No.1527 ; mov dh, CFG_Partitions1528 ; dec dh1529 ; popf1530 ; push bx1531 ; jc SMCLRP_DoNotModify ; Thou shall not modify :)1532 ; SMCLRP_RejectPartition:1533 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1)1534 ; SMCLRP_DoNotModify:1535 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL)1536 ; call PART_GetPartitionPointer1537 ; cmp bptr ds:[si+LocIPT_SystemID], 083h1538 ; jne SMCLRP_RejectPartition1539 ; pop bx1540 ; mov ds:[bx], dl1541 ; push cs1542 ; pop es1543 ; add di, LocMENU_ItemPack ; DI points to ItemPack...1544 ; push di1545 ; mov cx, 121546 ; xor al, al1547 ; rep stosb ; Fill with NULs1548 ; pop di1549 ; call LINUX_TranslateToDEV ; now translate thingie (DL)1550 ; ret1551 ;SETUPMAGIC_ChangeLinuxRootPart EndP1552 1553 ; [Linux support removed since v1.02]1554 ; CH-ItemNo, CL-Add/Sub, BX-PtrToVariable, SI-ItemPack1555 ;SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near Uses ax cx dx si es di1556 ; mov di, si1557 ; jc SMCLDK_DoNotEdit1558 ;1559 ; ; --- Edit Linux Default Kernel Name ---1560 ; mov cl, 29 ; Left side: 291561 ; test ch, 1000b1562 ; jz SMCLDK_NoRightSide1563 ; and ch, 111b1564 ; mov cl, 68 ; Right side: 681565 ; SMCLDK_NoRightSide:1566 ; add ch, 6 ; Koordinate umberechnen1567 ; push cx1568 ; call VideoIO_Locate1569 ; mov cx, 0E01h1570 ; call VideoIO_Color ; Yellow on Blue1571 ; mov cl, 121572 ; mov si, offset CFG_LinuxDefaultKernel1573 ; call VideoIO_FixedPrint ; Print out [SI] (Length = CL)1574 ; pop cx1575 ; call VideoIO_Locate1576 ; mov cl, 111577 ; mov si, offset CFG_LinuxDefaultKernel1578 ; call VideoIO_LetUserEditString1579 ;1580 ; ; Final-Process string (which means upper-case it)1581 ; mov cl, 111582 ; SMCLDK_FinalProcessLoop:1583 ; mov al, bptr ds:[si]1584 ; cmp al, 'a'1585 ; jb SMCLDK_FinalProcessSkip1586 ; cmp al, 'z'1587 ; ja SMCLDK_FinalProcessSkip1588 ; sub al, 20h1589 ; SMCLDK_FinalProcessSkip:1590 ; mov bptr ds:[si], al1591 ; inc si1592 ; dec cl1593 ; jnz SMCLDK_FinalProcessLoop1594 ; ; --- End of Edit Linux Default Kernel Name ---1595 ;1596 ; SMCLDK_DoNotEdit:1597 ; push cs1598 ; pop es1599 ; add di, LocMENU_ItemPack ; DI points to ItemPack...1600 ; mov si, offset CFG_LinuxDefaultKernel1601 ; mov cx, 6 ; Copy from CFG-Space to ItemPack1602 ; rep movsw1603 ; ret1604 ;SETUPMAGIC_ChangeLinuxDefaultKernel EndP1605 1394 1606 1395 SETUPMAGIC_ChangeTimedKeyHandling Proc Near Uses ax cx dx ds si es di
Note:
See TracChangeset
for help on using the changeset viewer.