1############################################################################### 2# Project: change version of checking firmware in apploader.img 3# File: 4# 5# Copyright 2006 Nintendo. All rights reserved. 6# 7# These coded instructions, statements, and computer programs contain 8# proprietary information of Nintendo of America Inc. and/or Nintendo 9# Company Ltd., and are protected by Federal copyright law. They may 10# not be disclosed to third parties or copied or duplicated in any form, 11# in whole or in part, without the prior written consent of Nintendo. 12# 13############################################################################### 14 15# 16# Apploader creation 17# 18# Type "make FIRMWARE_VERSION=<version>" to create apploader<version>.img under $REVOLUTION_SDK_ROOT/RVL/boot/, based on the image specified by APPLOADER_TEMPLATE. 19# 20# 21# 22# Binary pattern creation for Apploader.img sections that write the FIRMWARE version. You must revise it each time code is changed significantly. 23# 24# Search using 255 as a wildcard (the -w option to bmerge). 25# 26# lis r0, 0x00ww 0x3c0000ww 27# lis r3, 0x8000 0x3c608000 28# ori r0, r0, 0xwwww 0x6000wwww 29# stw r0, 0x3188(r3) 0x90033188 30# 31 32include $(shell cygpath -am $(REVOLUTION_SDK_ROOT))/build/buildtools/commondefs 33 34default: apploader 35 36#--------------------------------------------------------------------------- 37# Please modify 38#--------------------------------------------------------------------------- 39FIRMWARE_VERSION ?= 33.4.16 40APPLOADER_TEMPLATE ?= $(ROOT)/RVL/boot/apploader.img 41 42#--------------------------------------------------------------------------- 43# Don't modify 44#--------------------------------------------------------------------------- 45 46ifneq ($(FIRMWARE_VERSION),) 47FIRMWARE_TITLEVERSION_X := $(subst ., ,$(FIRMWARE_VERSION)) 48FIRMWARE_TITLEVERSION_MAJOR := $(word 1,$(FIRMWARE_TITLEVERSION_X)) 49FIRMWARE_TITLEVERSION_MINOR := $(word 2,$(FIRMWARE_TITLEVERSION_X)) 50FIRMWARE_TITLEVERSION_MICRO := $(word 3,$(FIRMWARE_TITLEVERSION_X)) 51FIRMWARE_TITLEID := $(FIRMWARE_TITLEVERSION_MAJOR) 52FIRMWARE_TITLEID_HEX := $(shell printf "%02x" $(FIRMWARE_TITLEID)) 53FIRMWARE_TITLEVERSION := $(FIRMWARE_TITLEVERSION_MINOR).$(FIRMWARE_TITLEVERSION_MICRO) 54ifneq ($(FIRMWARE_TITLEVERSION),X.X) 55FIRMWARE_TITLEVERSION_HEX := $(shell printf "%02x%02x" $(FIRMWARE_TITLEVERSION_MINOR) $(FIRMWARE_TITLEVERSION_MICRO)) 56endif 57FIRMWARE_TITLEID_DEFAULT := X 58FIRMWARE_VERSION_UB := $(subst .,_,$(FIRMWARE_VERSION)) 59 60FIRMWARE_SPECNAME = $(RVL_SPEC).$(FIRMWARE_VERSION).$(FIRMWARE_SUFFIX) 61FIRMWARE_BASENAME = firmware.$(FIRMWARE_SPECNAME) 62FIRMWARE_DEBUGFLAG = $(if $(DEBUG),D) 63FIRMWARE_FILE = firmware.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG) 64FIRMWARE_FILE_NOSSL = firmware.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG).nossl 65FIRMWARE_FILE_SHORT = fw.$(FIRMWARE_SPECNAME)$(FIRMWARE_DEBUGFLAG) 66FIRMWARE_APPLOADER = apploader.$(FIRMWARE_VERSION).img 67FIRMWARE_APPLOADER_DDF = apploader.$(FIRMWARE_TITLEVERSION_MAJOR).ddf 68endif 69 70AROUND_APPLOADER_FILES = $(ROOT)/RVL/boot/$(FIRMWARE_APPLOADER) 71 72apploader: 73 @$(ROOT)/X86/bin/bmerge.exe -P 0 -L 16 -w :ff \ 74 :3c0000ff3c6080006000ffff90033188 \ 75 :3c0000$(FIRMWARE_TITLEID_HEX)3c6080006000$(FIRMWARE_TITLEVERSION_HEX)90033188 \ 76 $(APPLOADER_TEMPLATE) $(AROUND_APPLOADER_FILES) 77 78