############################################################################### # Project: change version of checking firmware in apploader.img # File: # # Copyright 2006 Nintendo. All rights reserved. # # These coded instructions, statements, and computer programs contain # proprietary information of Nintendo of America Inc. and/or Nintendo # Company Ltd., and are protected by Federal copyright law. They may # not be disclosed to third parties or copied or duplicated in any form, # in whole or in part, without the prior written consent of Nintendo. # ############################################################################### # # Apploader creation # # Type "make FIRMWARE_VERSION=" to create apploader.img under $REVOLUTION_SDK_ROOT/RVL/boot/, based on the image specified by APPLOADER_TEMPLATE. # # # # Binary pattern creation for Apploader.img sections that write the FIRMWARE version. You must revise it each time code is changed significantly. # # Search using 255 as a wildcard (the -w option to bmerge). # # lis r0, 0x00ww 0x3c0000ww # lis r3, 0x8000 0x3c608000 # ori r0, r0, 0xwwww 0x6000wwww # stw r0, 0x3188(r3) 0x90033188 # include $(shell cygpath -am $(REVOLUTION_SDK_ROOT))/build/buildtools/commondefs default: apploader #--------------------------------------------------------------------------- # Please modify #--------------------------------------------------------------------------- FIRMWARE_VERSION ?= 33.4.16 APPLOADER_TEMPLATE ?= $(ROOT)/RVL/boot/apploader.img #--------------------------------------------------------------------------- # Don't modify #--------------------------------------------------------------------------- ifneq ($(FIRMWARE_VERSION),) FIRMWARE_TITLEVERSION_X := $(subst ., ,$(FIRMWARE_VERSION)) FIRMWARE_TITLEVERSION_MAJOR := $(word 1,$(FIRMWARE_TITLEVERSION_X)) FIRMWARE_TITLEVERSION_MINOR := $(word 2,$(FIRMWARE_TITLEVERSION_X)) FIRMWARE_TITLEVERSION_MICRO := $(word 3,$(FIRMWARE_TITLEVERSION_X)) FIRMWARE_TITLEID := $(FIRMWARE_TITLEVERSION_MAJOR) FIRMWARE_TITLEID_HEX := $(shell printf "%02x" $(FIRMWARE_TITLEID)) FIRMWARE_TITLEVERSION := $(FIRMWARE_TITLEVERSION_MINOR).$(FIRMWARE_TITLEVERSION_MICRO) ifneq ($(FIRMWARE_TITLEVERSION),X.X) FIRMWARE_TITLEVERSION_HEX := $(shell printf "%02x%02x" $(FIRMWARE_TITLEVERSION_MINOR) $(FIRMWARE_TITLEVERSION_MICRO)) endif FIRMWARE_TITLEID_DEFAULT := X FIRMWARE_VERSION_UB := $(subst .,_,$(FIRMWARE_VERSION)) FIRMWARE_SPECNAME = $(RVL_SPEC).$(FIRMWARE_VERSION).$(FIRMWARE_SUFFIX) FIRMWARE_BASENAME = firmware.$(FIRMWARE_SPECNAME) FIRMWARE_DEBUGFLAG = $(if $(DEBUG),D) FIRMWARE_FILE = firmware.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG) FIRMWARE_FILE_NOSSL = firmware.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG).nossl FIRMWARE_FILE_SHORT = fw.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG) FIRMWARE_APPLOADER = apploader.$(FIRMWARE_VERSION).img FIRMWARE_APPLOADER_DDF = apploader.$(FIRMWARE_TITLEVERSION_MAJOR).ddf endif AROUND_APPLOADER_FILES = $(ROOT)/RVL/boot/$(FIRMWARE_APPLOADER) apploader: @$(ROOT)/X86/bin/bmerge.exe -P 0 -L 16 -w :ff \ :3c0000ff3c6080006000ffff90033188 \ :3c0000$(FIRMWARE_TITLEID_HEX)3c6080006000$(FIRMWARE_TITLEVERSION_HEX)90033188 \ $(APPLOADER_TEMPLATE) $(AROUND_APPLOADER_FILES)