Index: branches/azimutz/Chazileon/i386/libsaio/smbios_patcher.c =================================================================== --- branches/azimutz/Chazileon/i386/libsaio/smbios_patcher.c (revision 309) +++ branches/azimutz/Chazileon/i386/libsaio/smbios_patcher.c (revision 310) @@ -216,7 +216,7 @@ return 0x0301; // Core 2 Duo } -//Azi: defined but not used. +//Azi: warning: ‘sm_get_bus_speed’ defined but not used /*static int sm_get_bus_speed(const char *name, int table_num) { if (Platform.CPU.Vendor == 0x756E6547) // Intel Index: branches/azimutz/Chazileon/i386/libsaio/stringTable.c =================================================================== --- branches/azimutz/Chazileon/i386/libsaio/stringTable.c (revision 309) +++ branches/azimutz/Chazileon/i386/libsaio/stringTable.c (revision 310) @@ -614,8 +614,8 @@ //Azi: Called from boot.c, commonBoot (firstrun). // DEFAULT Boot.plist paths. These are checked before getting to boot prompt. char *dirspec[] = { + //"/Extra/com.apple.Boot.plist", removed in favor of bt(0,0) - review? only needed to load it from selected volume. "bt(0,0)/Extra/com.apple.Boot.plist", - //"/Extra/com.apple.Boot.plist", removed in favor of bt(0,0) "/Library/Preferences/SystemConfiguration/com.apple.Boot.plist", "/com.apple.boot.P/Library/Preferences/SystemConfiguration/com.apple.Boot.plist", "/com.apple.boot.R/Library/Preferences/SystemConfiguration/com.apple.Boot.plist", Index: branches/azimutz/Chazileon/i386/libsaio/msdos.c =================================================================== --- branches/azimutz/Chazileon/i386/libsaio/msdos.c (revision 309) +++ branches/azimutz/Chazileon/i386/libsaio/msdos.c (revision 310) @@ -75,7 +75,6 @@ static CICell msdoscurrent = 0; static int msdosrootcluster = 0; static int msdosfatbits = 0; -static int msdosCacheBlockSize = 0; #if UNUSED /* @@ -153,7 +152,7 @@ if (msdoscurrent == ih) { - CacheInit(ih, msdosCacheBlockSize); + CacheInit(ih, msdosclustersize); return 0; } @@ -224,8 +223,7 @@ msdosclustersize = msdosbps * spc; msdoscurrent = ih; - msdosCacheBlockSize = (msdosclustersize > MAX_CACHE_BLOCKSIZE) ? msdosclustersize : MAX_CACHE_BLOCKSIZE; - CacheInit(ih, msdosCacheBlockSize); + CacheInit(ih, msdosclustersize); free (buf); return 0; } @@ -233,12 +231,12 @@ static int readSectorAligned(CICell ih, off_t readOffset, char *buf, int size) { - long long sectorOffset = (uint64_t)readOffset / msdosCacheBlockSize * msdosCacheBlockSize; - long relOffset = readOffset % msdosCacheBlockSize; + long long sectorOffset = (uint64_t)readOffset / msdosclustersize * msdosclustersize; + long relOffset = readOffset % msdosclustersize; char *cacheBuffer; - cacheBuffer = malloc(msdosCacheBlockSize); - CacheRead(ih, cacheBuffer, sectorOffset, msdosCacheBlockSize, true); + cacheBuffer = malloc(msdosclustersize); + CacheRead(ih, cacheBuffer, sectorOffset, msdosclustersize, true); bcopy(cacheBuffer + relOffset, buf, size); free(cacheBuffer); Index: branches/azimutz/Chazileon/i386/libsaio/fake_efi.c =================================================================== --- branches/azimutz/Chazileon/i386/libsaio/fake_efi.c (revision 309) +++ branches/azimutz/Chazileon/i386/libsaio/fake_efi.c (revision 310) @@ -80,7 +80,7 @@ static EFI_UINT32 const FIRMWARE_REVISION = 132; /* FIXME: Find a constant for this. */ // Default platform system_id (fix by IntVar) -static EFI_CHAR8 const SYSTEM_ID[] = "0123456789ABCDEF";//random value gen by uuidgen +static EFI_CHAR8 const SYSTEM_ID[] = "0123456789ABCDEF"; //random value gen by uuidgen // Just a ret instruction static uint8_t const VOIDRET_INSTRUCTIONS[] = {0xc3}; @@ -88,8 +88,6 @@ // movl $0x80000003,%eax; ret static uint8_t const UNSUPPORTEDRET_INSTRUCTIONS[] = {0xb8, 0x03, 0x00, 0x00, 0x80, 0xc3}; -// struct fake_efi_pages Azi:efi32/64 - moved to setupEfiTables32/64 - EFI_SYSTEM_TABLE_32 *gST32 = NULL; //Azi:efi32/64 EFI_SYSTEM_TABLE_64 *gST64 = NULL; // || Node *gEfiConfigurationTableNode = NULL; @@ -141,7 +139,7 @@ return EFI_UNSUPPORTED; } -//Azi:efi32/64 - crc32 done in place. +//Azi: crc32 done in place, on the cases were it wasn't. /*static inline void fixupEfiSystemTableCRC32(EFI_SYSTEM_TABLE_64 *efiSystemTable) { efiSystemTable->Hdr.CRC32 = 0; Index: branches/azimutz/Chazileon/i386/boot2/gui.c =================================================================== --- branches/azimutz/Chazileon/i386/boot2/gui.c (revision 309) +++ branches/azimutz/Chazileon/i386/boot2/gui.c (revision 310) @@ -167,7 +167,8 @@ static bool infoMenuNativeBoot = false; -static unsigned long screen_params[4] = {DEFAULT_SCREEN_WIDTH, DEFAULT_SCREEN_HEIGHT, 32, 0}; // here we store the used screen resolution +// here we store the used screen resolution +static unsigned long screen_params[4] = {DEFAULT_SCREEN_WIDTH, DEFAULT_SCREEN_HEIGHT, 32, 0}; static int getImageIndexByName(const char *name) { @@ -793,11 +794,15 @@ } } - // Use the next (device_*_o) image for the selected item. - if (isSelected) devicetype++; - + // Draw the selection image and use the next (device_*_o) image for the selected item. + if (isSelected) + { + blend(images[iSelection].image, buffer, centeredAt(images[iSelection].image, p)); + devicetype++; + } + // draw icon - blend( images[devicetype].image, buffer, centeredAt( images[devicetype].image, p )); + blend(images[devicetype].image, buffer, centeredAt( images[devicetype].image, p )); p.y += (images[iSelection].image->height / 2) + font_console.chars[0]->height; @@ -866,13 +871,11 @@ if (gui.menu.draw) drawInfoMenuItems(); - - blend( images[iSelection].image, gui.devicelist.pixmap, centeredAt( images[iSelection].image, p ) ); //Azi: making this info more accessible. TODO: remove the stuff on graphics.c! getBoolForKey(kDisplayInfoKey, &displayInfo, &bootInfo->bootConfig); -#ifdef AUTORES_DEBUG //Azi, LeBidou +#ifdef AUTORES_DEBUG //Azi:autoresolution displayInfo = true; #endif @@ -1835,6 +1838,7 @@ int pos; int length, count; const char *dummyVal; + int oldScreenWidth, oldScreenHeight; bool legacy_logo; uint16_t x, y; @@ -1872,13 +1876,20 @@ } } + // Save current screen resolution. + oldScreenWidth = gui.screen.width; + oldScreenHeight = gui.screen.height; + gui.screen.width = screen_params[0]; gui.screen.height = screen_params[1]; // find best matching vesa mode for our requested width & height getGraphicModeParams(screen_params); - if (bootArgs->Video.v_display == VGA_TEXT_MODE) { + // Set graphics mode if the booter was in text mode or the screen resolution has changed. + if (bootArgs->Video.v_display == VGA_TEXT_MODE + || (screen_params[0] != oldScreenWidth && screen_params[1] != oldScreenHeight) ) + { setVideoMode(GRAPHICS_MODE, 0); } Index: branches/azimutz/Chazileon/i386/boot2/options.c =================================================================== --- branches/azimutz/Chazileon/i386/boot2/options.c (revision 309) +++ branches/azimutz/Chazileon/i386/boot2/options.c (revision 310) @@ -119,7 +119,7 @@ char dummy[80]; getBootVolumeDescription( gBootVolume, dummy, 80, true ); - drawDeviceIcon( gBootVolume, gui.screen.pixmap, p, false ); + drawDeviceIcon( gBootVolume, gui.screen.pixmap, p, true ); drawStrCenteredAt( (char *) msg, &font_small, gui.screen.pixmap, gui.countdown.pos ); // make this screen the new background Index: branches/azimutz/Chazileon/Makefile =================================================================== --- branches/azimutz/Chazileon/Makefile (revision 309) +++ branches/azimutz/Chazileon/Makefile (revision 310) @@ -115,7 +115,6 @@ @tar -czf $(SYMROOT)/$(PRODUCT)-src.tar.gz ${EXCLUDE} . @tar -cjf $(SYMROOT)/$(PRODUCT)-src.tar.bz2 ${EXCLUDE} . -#Azi: is "dst" still needed? clean: rm -rf sym obj dst revision Property changes on: branches/azimutz/Chazileon ___________________________________________________________________ Added: svn:ignore + obj sym revision