␊ |
//==========================================================================␊ |
␊ |
char gBootArgs[BOOT_STRING_LEN];␊ |
//char gBootArgs[BOOT_STRING_LEN];␊ |
static char gBootArgs[BOOT_STRING_LEN];␊ |
static char * gBootArgsPtr = gBootArgs;␊ |
static char * gBootArgsEnd = gBootArgs + BOOT_STRING_LEN - 1;␊ |
static char booterCommand[BOOT_STRING_LEN];␊ |
|
␉extern char bootPrompt[];␊ |
␉extern char bootRescanPrompt[];␊ |
␊ |
␉if( bootArgs->Video.v_display == VGA_TEXT_MODE ) {␊ |
␉␉changeCursor( strlen(gBootArgs), row, kCursorTypeUnderline, 0 ); ␊ |
␉␉//clearScreenRows( row, kScreenLastRow );␊ |
␉if ( bootArgs->Video.v_display == VGA_TEXT_MODE ) {␊ |
//Azi: getchar/prompt stuff␊ |
␉␉changeCursor( 0, row, kCursorTypeUnderline, 0 ); ␊ |
␉␉clearScreenRows( row, kScreenLastRow );␊ |
␉}␊ |
␊ |
␉//clearBootArgs();␊ |
␉clearBootArgs();␊ |
␊ |
␉if (visible) {␊ |
␉␉if (bootArgs->Video.v_display == VGA_TEXT_MODE) {␊ |
|
␉␉␉␉printf( bootRescanPrompt );␊ |
␉␉␉} else {␊ |
␉␉␉␉printf( bootPrompt );␊ |
printf( gBootArgs );␊ |
// printf( gBootArgs );␊ |
␉␉␉}␊ |
␉␉}␊ |
␉} else {␊ |
␉␉if (bootArgs->Video.v_display == GRAPHICS_MODE) {␊ |
//␉␉␉clearGraphicBootPrompt();␊ |
␉␉␉clearGraphicBootPrompt();␊ |
// End␊ |
␉␉} else {␊ |
␉␉␉printf("Press Enter to start up the foreign OS. ");␊ |
␉␉}␊ |
|
key &= kASCIIKeyMask;␊ |
␊ |
switch ( key )␊ |
{␊ |
␉{␊ |
case kBackspaceKey:␊ |
if ( gBootArgsPtr > gBootArgs )␊ |
{␊ |
|
␉␉␉␉{␊ |
␉␉␉␉␉setCursorPosition( x, y, 0 );␊ |
␉␉␉␉␉putca(' ', 0x07, 1);␊ |
␉␉␉␉}␊ |
␊ |
*gBootArgsPtr-- = '\0';␊ |
updateGraphicBootPrompt(kBackspaceKey);␊ |
}␊ |
else␊ |
{␊ |
*gBootArgsPtr = '\0';␊ |
if( bootArgs->Video.v_display == VGA_TEXT_MODE ) putca(' ', 0x07, 1);␊ |
updateGraphicBootPrompt(kBackspaceKey);␊ |
}␊ |
␊ |
//Azi: getchar/prompt stuff␊ |
␉␉␉␉} else␊ |
␉␉␉␉␉updateGraphicBootPrompt(kBackspaceKey);␊ |
␊ |
␉␉␉␉*gBootArgsPtr-- = '\0';␊ |
␉␉␉}␊ |
␊ |
␉␉␉break;␊ |
␊ |
default:␊ |
if ( key >= ' ' && gBootArgsPtr < gBootArgsEnd)␊ |
{␊ |
*gBootArgsPtr++ = key;␊ |
updateGraphicBootPrompt(key);␊ |
␉␉␉␉if( bootArgs->Video.v_display == VGA_TEXT_MODE )␊ |
␉␉␉␉␉putchar(key); // echo to screen␊ |
␉␉␉␉else␊ |
␉␉␉␉␉updateGraphicBootPrompt(key);␊ |
␉␉␉*gBootArgsPtr++ = key;␊ |
// end␊ |
␉␉␉}␊ |
␊ |
␊ |
␉␉␉break;␊ |
}␊ |
}␊ |
|
␉␉␉// reset cursor co-ords␊ |
␉␉␉gui.debug.cursor = pos( gui.screen.width - 160 , 10 );␊ |
␉␉}␊ |
␉␉key = getchar();␊ |
␉␉key = getc(); //Azi: getchar();␊ |
␉␉updateMenu( key, (void **) &menuBVR );␊ |
␉␉newShowPrompt = (gDeviceCount == 0) || (menuBVR->flags & kBVFlagNativeBoot);␊ |
␊ |
|
␉␉␉printf("[Type %s%sq to quit viewer]", (line_offset > 0) ? "p for previous page, " : "", (*bp != '\1') ? "space for next page, " : "");␊ |
␉␉}␊ |
␊ |
␉␉c = getchar();␊ |
␉␉c = getc(); //Azi: getchar();␊ |
␉␉if (c == 'q' || c == 'Q') {␊ |
␉␉␉break;␊ |
␉␉}␊ |
|
␉printf("Typical boot devices are 80 (First HD), 81 (Second HD)\n");␊ |
␉printf("Enter two-digit hexadecimal boot device [%02x]: ", bootdevice);␊ |
␉do {␊ |
␉␉key = getchar();␊ |
␉␉key = getc(); //Azi: getchar();␊ |
␉␉switch (key & kASCIIKeyMask) {␊ |
␉␉case kBackspaceKey:␊ |
␉␉␉if (digitsI > 0) {␊ |
|
bool promptForRescanOption(void)␊ |
{␊ |
␉printf("\nWould you like to enable media rescan option?\nPress ENTER to enable or any key to skip.\n");␊ |
␉if (getchar() == kReturnKey) {␊ |
␉if (getc() == kReturnKey) { //Azi: getchar();␊ |
␉␉return true;␊ |
␉} else {␊ |
␉␉return false;␊ |