I changed initial message reporting:

 - print "GRUB " and "Loading stage2" instead of
        "stage1 " and "stage2 "
 - print a dot every INT13 and copy and a newline at the end
 - don't clear the screen when displaying the banner

The first and second change are useful in case of errors: my laptop has
a broken floppy, and I prefer
        GRUB Loading stage2.....Read Error
than
        stage1 stage2 Read Error
(especially considering novice users)

The last change is to avoid the ugly flashing due to frequent screen
changes.  And while "stage1" and stage2" were worth hiding, the new
message is not.

The ChangeLog is as verbose as requested, although I'd prefer
a simple "changed boot messages" entry :)

Once again, these are irrelevant details, but I'm going to set up a
production system with GRUB.

BTW: I continue sending patches to the list in plain text for public
criticism. If I should send them compressed or just to Okuji please tell me.

/alessandro

--- ./stage1/stage1.S.orig      Fri Sep  8 23:16:45 2000
+++ ./stage1/stage1.S   Fri Sep  8 23:17:19 2000
@@ -397,7 +397,7 @@
 /* go here when you need to stop the machine hard after an error condition */
 stop:  jmp     stop
 
-notification_string:   .string "stage1 "
+notification_string:   .string "GRUB "
 geometry_error_string: .string "Geom"
 hd_probe_error_string: .string "Hard Disk"
 read_error_string:     .string "Read"
--- ./stage2/start.S.orig       Fri Sep  8 23:11:49 2000
+++ ./stage2/start.S    Sat Sep  9 00:19:04 2000
@@ -284,9 +284,9 @@
        movw    %ax, %cx
 
        /* save addressing regs */
-       pushw   %ds
        pushw   %si
        pushw   %di
+       pushw   %ds
 
        xorw    %di, %di        /* zero offset of destination addresses */
        xorw    %si, %si        /* zero offset of source addresses */
@@ -298,10 +298,12 @@
        rep             /* sets a repeat */
        movsb           /* this runs the actual copy */
 
-       /* restore addressing regs */
+       /* restore addressing regs and print a dot with correct DS 
+             (MSG modifies SI, which is saved, and unused AX and BX) */
+       popw    %ds
+       MSG(notification_step)
        popw    %di
        popw    %si
-       popw    %ds
 
        /* check if finished with this dataset */
        cmpw    $0, 4(%di)
@@ -316,6 +318,8 @@
 /* END OF MAIN LOOP */
 
 bootit:
+       /* print a newline */
+       MSG(notification_done)
        popw    %dx     /* this makes sure %dl is our "boot" drive */
 #ifdef STAGE1_5
        ljmp    $0, $0x2200
@@ -344,11 +348,14 @@
 stop:  jmp     stop
 
 #ifdef STAGE1_5
-notification_string:   .string "stage1.5 "
+notification_string:   .string "Loading stage1.5"
 #else
-notification_string:   .string "stage2 "
+notification_string:   .string "Loading stage2"
 #endif
-       
+
+notification_step:     .string "."
+notification_done:     .string "\r\n"
+
 geometry_error_string: .string "Geom"
 read_error_string:     .string "Read"
 general_error_string:  .string " Error"
--- ./ChangeLog.orig    Sat Sep  9 00:18:51 2000
+++ ./ChangeLog Sat Sep  9 00:23:40 2000
@@ -1,3 +1,12 @@
+2000-09-09  Alessandro Rubini  <[EMAIL PROTECTED]>
+
+       * stage1/stage1.S (notification_string): print "GRUB" instead
+       of "stage 1"
+       * stage2/start.S (notification_string): added "Loading "
+       (notification_step): print a dot every INT 13
+       (notification_done): print a newline at the end
+       * stage2/char_io.c (init_page): don't clear the screen
+
 2000-09-09  OKUJI Yoshinori  <[EMAIL PROTECTED]>
 
        From Alessandro Rubini:

Reply via email to