--- mbr-1.1.1/mbr.S86 Mon Jan 10 15:06:50 2000 +++ mbr-tom/mbr.S86 Thu Feb 3 10:25:56 2000 @@ -15,6 +15,7 @@ ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! +#define LOGO #undef COMPAT ! ! We are loaded at 0:0x7c00 by the BIOS, but need to load boot sectors @@ -40,7 +41,27 @@ mov si,#table+0x30 ! Set bootable flags from partition table mov al,#8 ! AH=0 is set from above jmp 0:cont ! Switch to the newly made copy. From now on labels work. -cont: cmpb drive,#0xFF ! If drive==0xFF, use the value in DL instead. +cont: +#ifdef LOGO + ! Code to print the word "MBR" at boot time, to let people + ! know that we are here. - Tom Rothamel + ! Inspired by a discussion on debian-devel. +logolen equ 4 ! The length of the logo string. + + pusha + mov ah,#0xe + mov si,#logo + xor bx,bx + mov cx,#logolen +logol: + mov al,[si] + int 0x10 + inc si + loop logol + popa +#endif + + cmpb drive,#0xFF ! If drive==0xFF, use the value in DL instead. jne ptloop mov drive,dl ! Now DL is free for use ptloop: cmpb [si],#0 ! Check for bootable flag @@ -199,6 +220,9 @@ lbit: cmp 0x7dfe,#0xaa55 jnz il3 jmp 0:0x7c00 +#ifdef LOGO +logo: .ascii "MBR\r" +#endif request:.byte 0x10, 0, 1, 0 .word 0x7c00, 0 .word 0, 0, 0, 0