<div>While not necessary for BootX to function this allows the Apple logo to be displayed during boot time.</div><div><br></div><div>Index: packages/video.c</div><div>===================================================================</div>


<div>--- packages/video.c<span style="white-space:pre-wrap">      </span>(revision 1041)</div><div>+++ packages/video.c<span style="white-space:pre-wrap">      </span>(working copy)</div><div>@@ -281,6 +281,42 @@</div>
<div> <span style="white-space:pre-wrap"> </span>fill_rect( color_ind, x, y, w, h );</div><div> }</div><div> </div><div>+static void</div><div>+video_draw_rect( void )</div><div>+{</div><div>+<span style="white-space:pre-wrap"> </span>int h = POP();</div>


<div>+<span style="white-space:pre-wrap"> </span>int w = POP();</div><div>+<span style="white-space:pre-wrap">  </span>int y = POP();</div><div>+<span style="white-space:pre-wrap">  </span>int x = POP();</div>
<div>+<span style="white-space:pre-wrap"> </span>unsigned char* img = (unsigned char*)cell2pointer(POP());</div><div>+<span style="white-space:pre-wrap">       </span>char *pp;</div><div>+</div>
<div>+ <span style="white-space:pre-wrap">        </span>if (!video.has_video || x < 0 || y < 0 || w <= 0 || h <= 0 ||</div><div>+<span style="white-space:pre-wrap">               </span>x + w > video.fb.w || y + h > video.fb.h)</div>


<div>+<span style="white-space:pre-wrap">         </span>return;</div><div>+</div><div>+<span style="white-space:pre-wrap"> </span>pp = (char*)video.fb.mphys + video.fb.rb * y;</div><div>+<span style="white-space:pre-wrap">   </span>for( ; h--; pp += video.fb.rb ) {</div>


<div>+<span style="white-space:pre-wrap">         </span>int ww = w;</div><div>+<span style="white-space:pre-wrap">             </span></div><div>+<span style="white-space:pre-wrap">                </span>if( video.fb.depth == 24 || video.fb.depth == 32 ) {</div>


<div>+<span style="white-space:pre-wrap">                 </span>unsigned long *p = (unsigned long*)pp + x;</div><div>+<span style="white-space:pre-wrap">                      </span>while( ww-- )</div><div>+<span style="white-space:pre-wrap">                           </span>*p++ = get_color(*img++);</div>


<div>+<span style="white-space:pre-wrap">         </span>} else if( video.fb.depth == 16 || video.fb.depth == 15 ) {</div><div>+<span style="white-space:pre-wrap">                     </span>unsigned short *p = (unsigned short*)pp + x;</div>
<div>+<span style="white-space:pre-wrap">                 </span>while( ww-- )</div><div>+<span style="white-space:pre-wrap">                           </span>*p++ = get_color(*img++);</div><div>+<span style="white-space:pre-wrap">               </span>} else {</div>
<div>+                        char *p = (char *)((unsigned short*)pp + x);</div><div>+</div><div>+<span style="white-space:pre-wrap">                     </span>while( ww-- )</div><div>+<span style="white-space:pre-wrap">                           </span>*p++ = get_color(*img++);</div>


<div>+<span style="white-space:pre-wrap">         </span>}</div><div>+<span style="white-space:pre-wrap">       </span>}</div><div>+</div><div>+}</div><div>+</div><div> /* ( addr len -- actual ) */</div>
<div> static void</div><div> video_write(void)</div><div>@@ -299,6 +335,7 @@</div><div> <span style="white-space:pre-wrap">   </span>{"dimensions",<span style="white-space:pre-wrap">                </span>video_dimensions<span style="white-space:pre-wrap">        </span>},</div>


<div> <span style="white-space:pre-wrap"> </span>{"set-colors",<span style="white-space:pre-wrap">                </span>video_set_colors<span style="white-space:pre-wrap">        </span>},</div>
<div> <span style="white-space:pre-wrap"> </span>{"fill-rectangle",<span style="white-space:pre-wrap">    </span>video_fill_rect<span style="white-space:pre-wrap">         </span>},</div>
<div>+<span style="white-space:pre-wrap"> </span>{"draw-rectangle",<span style="white-space:pre-wrap">    </span>video_draw_rect<span style="white-space:pre-wrap">         </span>},</div>
<div> <span style="white-space:pre-wrap"> </span>{"color!",<span style="white-space:pre-wrap">            </span>video_color_bang<span style="white-space:pre-wrap">        </span>},</div>
<div> <span style="white-space:pre-wrap"> </span>{"write",<span style="white-space:pre-wrap">             </span>video_write<span style="white-space:pre-wrap">             </span>},</div>
<div> };</div>