mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
NandAppDebugCoordinator を新規追加しました。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1151 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
e876697b8f
commit
4966a5ca82
@ -0,0 +1,57 @@
|
|||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NandAppDebugCoordinator
|
||||||
|
# File: ARM9-TS.lsf
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, 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.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# TWL LCF SPEC FILE
|
||||||
|
#
|
||||||
|
|
||||||
|
Static $(TARGET_NAME)
|
||||||
|
{
|
||||||
|
Address $(ADDRESS_STATIC)
|
||||||
|
Object $(OBJS_STATIC)
|
||||||
|
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
|
||||||
|
StackSize 4096 4096
|
||||||
|
}
|
||||||
|
|
||||||
|
Autoload ITCM
|
||||||
|
{
|
||||||
|
Address $(ADDRESS_ITCM)
|
||||||
|
Object * (.itcm)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.text)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.rodata)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.init)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.ctor)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.sinit)
|
||||||
|
}
|
||||||
|
|
||||||
|
Autoload DTCM
|
||||||
|
{
|
||||||
|
Address $(ADDRESS_DTCM)
|
||||||
|
Object * (.dtcm)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.data)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.sdata)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.bss)
|
||||||
|
Object $(OBJS_AUTOLOAD) (.sbss)
|
||||||
|
}
|
||||||
|
|
||||||
|
Ltdautoload LTDMAIN
|
||||||
|
{
|
||||||
|
# NITRO/TWL 共有のオーバーレイが在る場合は、さらにその後ろに配置する必要があります。
|
||||||
|
After $(TARGET_NAME)
|
||||||
|
Object * (.ltdmain)
|
||||||
|
Object $(OBJS_LTDAUTOLOAD)
|
||||||
|
Library $(LLIBS_EX) $(GLIBS_EX)
|
||||||
|
}
|
||||||
102
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/Makefile
Normal file
102
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/Makefile
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NandAppDebugCoordinator
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2007 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.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#============================================================================
|
||||||
|
#現時点で製品鍵を使った書き込みが行えてはダメなので、デフォルトOFFにしておいてください。
|
||||||
|
#USE_PRODUCT_KEY = TRUE
|
||||||
|
#============================================================================
|
||||||
|
|
||||||
|
TARGET_FIRM = SYSTEMMENU
|
||||||
|
TARGET_PLATFORM = TWL
|
||||||
|
TWL_ARCHGEN = LIMITED
|
||||||
|
|
||||||
|
#TWL_CODEGEN = THUMB
|
||||||
|
|
||||||
|
TITLEID_LO = 0NIA
|
||||||
|
#TARGET_TAD =
|
||||||
|
|
||||||
|
TARGET_BIN = NandAppImporter.srl
|
||||||
|
LCFILE_SPEC = ARM9-TS.lsf
|
||||||
|
ROM_SPEC = main.rsf
|
||||||
|
|
||||||
|
MAKEROM_ARM7_BASE = $(TWL_COMPONENTSDIR)/armadillo/$(TWL_BUILDTYPE_ARM7)/armadillo
|
||||||
|
MAKEROM_ARM7 = $(MAKEROM_ARM7_BASE).TWL.FLX.sbin
|
||||||
|
|
||||||
|
SRCS = main.c \
|
||||||
|
font_data.c \
|
||||||
|
graphics.c \
|
||||||
|
kami_font.c \
|
||||||
|
import.c \
|
||||||
|
hwi.c
|
||||||
|
|
||||||
|
SRCS += $(TWLSDK_ROOT)/build/tests/debugger/fio/src/fs_archive_hostio.c
|
||||||
|
|
||||||
|
LINCLUDES = ../common/include \
|
||||||
|
$(ROOT)/build/libraries/lcfg/ARM9.TWL/include \
|
||||||
|
$(ROOT)/build/libraries/fs/common/include
|
||||||
|
|
||||||
|
SRCDIR = src \
|
||||||
|
../../HWInfoWriter/ARM9/src
|
||||||
|
|
||||||
|
#LCFILE = # using default
|
||||||
|
|
||||||
|
ifneq ($(TWL_IPL_RED_PRIVATE_ROOT),)
|
||||||
|
ifdef USE_PRODUCT_KEY
|
||||||
|
MACRO_FLAGS += -DUSE_PRODUCT_KEY
|
||||||
|
MAKEROM_FLAGS += -DHWINFO_PRIVKEY='private_HWInfo.der'
|
||||||
|
else
|
||||||
|
MAKEROM_FLAGS += -DHWINFO_PRIVKEY='private_HWInfo_dev.der'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
MAKEROM_FLAGS += -DTITLEID_LO='$(TITLEID_LO)' \
|
||||||
|
-DPRIVKEY_PATH='$(TWL_KEYSDIR)/rsa'
|
||||||
|
MAKETAD_FLAGS += -s
|
||||||
|
|
||||||
|
LLIBRARIES += libes$(TWL_LIBSUFFIX).a \
|
||||||
|
libboc$(TWL_LIBSUFFIX).a \
|
||||||
|
libnam$(TWL_LIBSUFFIX).a \
|
||||||
|
libsea$(TWL_LIBSUFFIX).a \
|
||||||
|
libacsign$(TWL_LIBSUFFIX).a \
|
||||||
|
libacsign_enc$(TWL_LIBSUFFIX).a \
|
||||||
|
libnamut$(TWL_LIBSUFFIX).a
|
||||||
|
|
||||||
|
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
|
||||||
|
include $(TWLSDK_ROOT)/build/buildtools/commondefs.gx.demolib
|
||||||
|
|
||||||
|
MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe
|
||||||
|
|
||||||
|
GLIBRARIES := $(filter-out libcrypto$(TWL_LIBSUFFIX).a,$(GLIBRARIES))
|
||||||
|
|
||||||
|
#LDIRT_CLEAN =
|
||||||
|
#INSTALL_TARGETS =
|
||||||
|
INSTALL_DIR = $(SDK_NMENU_DATADIR)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
#include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: graphics.h
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef GRAPHICS_H_
|
||||||
|
#define GRAPHICS_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#include <nitro.h>
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
ŠÖ<EFBFBD>”’è‹`
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void InitGraphics(void);
|
||||||
|
void DrawLine(s16 sx, s16 sy, s16 ex, s16 ey, GXRgb color);
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* GRAPHICS_H_ */
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
End of file
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: import.h
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef PROCESS_IMPORT_H_
|
||||||
|
#define PROCESS_IMPORT_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#include <nitro.h>
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Œ^’è‹`
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
ŠÖ<EFBFBD>”’è‹`
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
BOOL kamiImportTad(char* path, NAMTitleId* pTitleId);
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* PROCESS_IMPORT_H_ */
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
End of file
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: kami_font.h
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef KAMI_FONT_H_
|
||||||
|
#define KAMI_FONT_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
|
||||||
|
extern u8 prog_state;
|
||||||
|
enum
|
||||||
|
{ STATE_NONE, STATE_SELECT, STATE_KS_PARENTINIT, STATE_KS_PARENT, STATE_KS_CHILDINIT,
|
||||||
|
STATE_KS_CHILDSCAN, STATE_KS_CHILD
|
||||||
|
};
|
||||||
|
extern OSHeapHandle heapHandle; // Heapハンドル;
|
||||||
|
|
||||||
|
extern const u16 BgScDataMain[32 * 24];
|
||||||
|
extern const u16 BgScDataSub[32 * 24];
|
||||||
|
extern const u32 sampleCharData[8 * 0x100];
|
||||||
|
extern const u16 PlttDataObj[16][16];
|
||||||
|
extern const u16 PlttDataMain[16][16];
|
||||||
|
extern const u16 PlttDataSub[16][16];
|
||||||
|
|
||||||
|
void kamiFontInit(void);
|
||||||
|
void kamiFontClear(void);
|
||||||
|
void kamiFontPut(u16 x, u16 y, u16 color, u16 no);
|
||||||
|
void kamiFontPrintf(s16 x, s16 y, u8 color, char *text, ...);
|
||||||
|
void kamiFontPrintfMain(s16 x, s16 y, u8 color, char *text, ...);
|
||||||
|
void kamiFontFill(s16 x, s16 y, u8 color, s16 value, s32 length);
|
||||||
|
void kamiFontFillChar(int lineNo, u8 color1, u8 color2);
|
||||||
|
void kamiFontLoadScreenData(void);
|
||||||
|
void kamiFontPrintfConsole(u8 color, const char *text, ...);
|
||||||
|
void kamiFontPrintfConsoleEx(u8 color, const char *text, ...);
|
||||||
|
|
||||||
|
// 上画面コンソール文字列用パレット
|
||||||
|
#define CONSOLE_ORANGE 0
|
||||||
|
#define CONSOLE_RED 1
|
||||||
|
#define CONSOLE_GREEN 2
|
||||||
|
|
||||||
|
// 下画面フォント用パレット
|
||||||
|
#define FONT_COLOR_BLACK 0
|
||||||
|
#define FONT_COLOR_RED 1
|
||||||
|
#define FONT_COLOR_GREEN 2
|
||||||
|
#define FONT_COLOR_BLUE 3
|
||||||
|
#define FONT_COLOR_YELLOW 4
|
||||||
|
#define FONT_COLOR_CYAN 5
|
||||||
|
#define FONT_COLOR_PURPLE 6
|
||||||
|
|
||||||
|
// 下画面背景用パレット
|
||||||
|
#define BG_COLOR_TRANS 0
|
||||||
|
#define BG_COLOR_WHITE 1
|
||||||
|
#define BG_COLOR_BLACK 2
|
||||||
|
#define BG_COLOR_GRAY 3
|
||||||
|
#define BG_COLOR_PURPLE 4
|
||||||
|
#define BG_COLOR_PINK 5
|
||||||
|
#define BG_COLOR_BLUE 6
|
||||||
|
#define BG_COLOR_GREEN 7
|
||||||
|
#define BG_COLOR_VIOLET 8
|
||||||
|
#define BG_COLOR_RED 9
|
||||||
|
#define BG_COLOR_YELLOW 10
|
||||||
|
|
||||||
|
#define BG_COLOR_NONE 0xff
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* KAMI_FONT_H_ */
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
End of file
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
225
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/main.rsf
Normal file
225
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/main.rsf
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NandAppDebugCoordinator
|
||||||
|
# File: main.rsf
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, 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.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# TWL ROM SPEC FILE
|
||||||
|
#
|
||||||
|
|
||||||
|
Arm9
|
||||||
|
{
|
||||||
|
Static "$(MAKEROM_ARM9:r).TWL.FLX.sbin$(COMPSUFFIX9)"
|
||||||
|
OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.FLX.sbin$(COMPSUFFIX9)"
|
||||||
|
OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.FLX.sbin$(COMPSUFFIX9)"
|
||||||
|
Elf "$(MAKEROM_ARM9:r).tef"
|
||||||
|
}
|
||||||
|
|
||||||
|
Arm7
|
||||||
|
{
|
||||||
|
Static "$(MAKEROM_ARM7_BASE:r).TWL.FLX.sbin$(COMPSUFFIX7)"
|
||||||
|
OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.FLX.sbin$(COMPSUFFIX7)"
|
||||||
|
OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.FLX.sbin$(COMPSUFFIX7)"
|
||||||
|
Elf "$(MAKEROM_ARM7_BASE:r).tef"
|
||||||
|
}
|
||||||
|
|
||||||
|
Arm9.Ltd
|
||||||
|
{
|
||||||
|
Static "$(MAKEROM_ARM9:r).TWL.LTD.sbin$(COMPSUFFIX9)"
|
||||||
|
OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.LTD.sbin$(COMPSUFFIX9)"
|
||||||
|
OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.LTD.sbin$(COMPSUFFIX9)"
|
||||||
|
}
|
||||||
|
|
||||||
|
Arm7.Ltd
|
||||||
|
{
|
||||||
|
Static "$(MAKEROM_ARM7_BASE:r).TWL.LTD.sbin$(COMPSUFFIX7)"
|
||||||
|
OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.LTD.sbin$(COMPSUFFIX7)"
|
||||||
|
OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.LTD.sbin$(COMPSUFFIX7)"
|
||||||
|
}
|
||||||
|
|
||||||
|
Property
|
||||||
|
{
|
||||||
|
###
|
||||||
|
### Settings for FinalROM
|
||||||
|
###
|
||||||
|
#### BEGIN
|
||||||
|
#
|
||||||
|
# TITLE NAME: Your product name within 12bytes
|
||||||
|
#
|
||||||
|
#TitleName "YourAppName"
|
||||||
|
|
||||||
|
#
|
||||||
|
# MAKER CODE: Your company ID# in 2 ascii words
|
||||||
|
# issued by NINTENDO
|
||||||
|
#
|
||||||
|
#MakerCode "00"
|
||||||
|
|
||||||
|
#
|
||||||
|
# REMASTER VERSION: Mastering version
|
||||||
|
#
|
||||||
|
#RomVersion 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# ROM SPEED TYPE: [MROM/1TROM/UNDEFINED]
|
||||||
|
#
|
||||||
|
RomSpeedType $(MAKEROM_ROMSPEED)
|
||||||
|
|
||||||
|
#
|
||||||
|
# ROM SIZE: in bit [64M/128M/256M/512M/1G/2G]
|
||||||
|
#
|
||||||
|
#RomSize 128M
|
||||||
|
#RomSize 256M
|
||||||
|
# TADの最大サイズがおそらく48MByte = 384Mbitなどになるため
|
||||||
|
# RomSize はそれ以上にしておく必要がある。そうしないと
|
||||||
|
# FS_ReadFile で tad ファイルをリードしにいった場合に
|
||||||
|
# out of range エラーが発生する
|
||||||
|
RomSize 512M
|
||||||
|
|
||||||
|
#
|
||||||
|
# ROM PADDING: TRUE if finalrom
|
||||||
|
#
|
||||||
|
#RomFootPadding TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# ROM HEADER TEMPLATE: Provided to every product by NINTENDO
|
||||||
|
#
|
||||||
|
#RomHeaderTemplate ./etc/rom_header.template.sbin
|
||||||
|
|
||||||
|
#
|
||||||
|
# BANNER FILE: generated from Banner Spec File
|
||||||
|
#
|
||||||
|
#BannerFile ../banner/banner.bnr
|
||||||
|
|
||||||
|
###
|
||||||
|
### Setting for TWL
|
||||||
|
###
|
||||||
|
|
||||||
|
#
|
||||||
|
# ROM HEADER Ltd: Provided to every product by NINTENDO
|
||||||
|
#
|
||||||
|
RomHeaderLtd $(TWLSDK_ROOT)/tools/bin/rom_header.LTD.sbin
|
||||||
|
|
||||||
|
#
|
||||||
|
# Digest parameters:
|
||||||
|
#
|
||||||
|
DigestParam 1024 32
|
||||||
|
|
||||||
|
#
|
||||||
|
# WRAM mapping: [MAP_BB_HYB/MAP_BB_LTD/MAP_TS_HYB/MAP_TS_LTD]
|
||||||
|
# don't have to edit
|
||||||
|
#
|
||||||
|
WramMapping MAP_TS_SCR
|
||||||
|
|
||||||
|
#
|
||||||
|
# CardRegion: card region [Japan/America/Europe/Australia/China/Korea]
|
||||||
|
#
|
||||||
|
CardRegion ALL
|
||||||
|
|
||||||
|
#
|
||||||
|
# CommonClientKey: launcher deliver common client Key [TRUE/FALSE]
|
||||||
|
#
|
||||||
|
CommonClientKey TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# HwAESSlotB: launcher deliver HW AES slot B setting [TRUE/FALSE]
|
||||||
|
#
|
||||||
|
HwAESSlotB TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# HwAESSlotC: launcher deliver HW AES slot C setting [TRUE/FALSE]
|
||||||
|
#
|
||||||
|
HwAESSlotC TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDCardAccess: sd card access control [TRUE/FALSE]
|
||||||
|
#
|
||||||
|
SDCardAccess TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# NANDAccess: NAND access control [TRUE/FALSE]
|
||||||
|
#
|
||||||
|
NANDAccess TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# Codec mode:
|
||||||
|
# don't have to edit
|
||||||
|
#
|
||||||
|
CodecMode $(MAKEROM_CODEC_MODE)
|
||||||
|
|
||||||
|
###
|
||||||
|
#### END
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
AppendProperty
|
||||||
|
{
|
||||||
|
#
|
||||||
|
# Publisher : "Nintendo"
|
||||||
|
# don't have to edit
|
||||||
|
Publisher Nintendo
|
||||||
|
|
||||||
|
#
|
||||||
|
# Application type : [USER/SYSTEM]
|
||||||
|
# don't have to edit
|
||||||
|
AppType System
|
||||||
|
|
||||||
|
#
|
||||||
|
# launch title on the launcher : [TRUE/FALSE]
|
||||||
|
# don't have to edit
|
||||||
|
Launch TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# Data only title : [TRUE/FALSE]
|
||||||
|
# don't have to edit
|
||||||
|
DataOnly FALSE
|
||||||
|
|
||||||
|
#
|
||||||
|
# Secure title : [TRUE/FALSE]
|
||||||
|
# don't have to edit
|
||||||
|
Secure TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# Boot allowed Media: [GameCard/NAND]
|
||||||
|
#
|
||||||
|
Media GameCard
|
||||||
|
|
||||||
|
#
|
||||||
|
# GameCode for TitleID : Your GameCode in 4 ascii words
|
||||||
|
#
|
||||||
|
GameCode $(TITLEID_LO)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Public save data size: [16K/32K/64K/128K/256K/512K/1M/2M/4M/8M]
|
||||||
|
#
|
||||||
|
#PublicSaveDataSize 32K
|
||||||
|
|
||||||
|
#
|
||||||
|
# Private save data size: [16K/32K/64K/128K/256K/512K/1M/2M/4M/8M]
|
||||||
|
#
|
||||||
|
#PrivateSaveDataSize 16K
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable SubBannerFile
|
||||||
|
#SubBannerFile TRUE
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RomSpec
|
||||||
|
{
|
||||||
|
Offset 0x00000000
|
||||||
|
Segment ALL
|
||||||
|
HostRoot $(PRIVKEY_PATH)
|
||||||
|
Root /key
|
||||||
|
File $(HWINFO_PRIVKEY)
|
||||||
|
}
|
||||||
@ -0,0 +1,733 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: font_data.c
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <nitro.h>
|
||||||
|
|
||||||
|
/*---------------------- BGスクリーン ---------------------------*/
|
||||||
|
|
||||||
|
const u16 BgScDataMain[32 * 24] = {
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u16 BgScDataSub[32 * 24] = {
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------- パレットデータ ---------------------------*/
|
||||||
|
#define RGB555(r,g,b) (b<<10|g<<5|r)
|
||||||
|
|
||||||
|
const u16 PlttDataObj[16][16] = {
|
||||||
|
{RGB555( 0, 0, 0), RGB555(31, 10, 0), RGB555(31, 0, 0), RGB555(5, 5, 20),}, // Black
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 0, 0), RGB555(31, 0, 0), RGB555(31, 0, 0),}, // Red
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 31, 0), RGB555(0, 31, 0), RGB555(0, 31, 0),}, // Green
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 0, 31), RGB555(0, 0, 31), RGB555(0, 0, 31),}, // Blue
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 0), RGB555(31, 31, 0), RGB555(31, 31, 0),}, // Yellow
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 31, 31), RGB555(0, 31, 31), RGB555(0, 31, 31),}, // Cyan
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 0, 31), RGB555(31, 0, 31), RGB555(31, 0, 31),}, // Purple
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
};
|
||||||
|
|
||||||
|
// 上画面コンソール文字列パレット
|
||||||
|
const u16 PlttDataMain[16][16] = {
|
||||||
|
{RGB555( 0, 0, 0), RGB555(31, 10, 0), RGB555(0, 0, 0), RGB555(0, 0, 0),}, // Orange
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 0, 0), RGB555(31, 0, 0), RGB555(31, 0, 0),}, // Red
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 31, 0), RGB555(0, 31, 0), RGB555(0, 31, 0),}, // Green
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 0, 31), RGB555(0, 0, 31), RGB555(0, 0, 31),}, // Blue
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 0), RGB555(31, 31, 0), RGB555(31, 31, 0),}, // Yellow
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 31, 31), RGB555(0, 31, 31), RGB555(0, 31, 31),}, // Cyan
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 0, 31), RGB555(31, 0, 31), RGB555(31, 0, 31),}, // Purple
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
};
|
||||||
|
|
||||||
|
// 下画面コンソール文字列パレット
|
||||||
|
const u16 PlttDataSub[16][16] = {
|
||||||
|
{RGB555(31, 31, 31), RGB555( 0, 0, 0), RGB555(25, 25, 25), RGB555(31, 31, 31),}, // Black
|
||||||
|
{RGB555(31, 31, 31), RGB555(21, 0, 0), RGB555(31, 0, 0), RGB555(31, 0, 0),}, // Red
|
||||||
|
{RGB555(31, 31, 31), RGB555( 0, 21, 0), RGB555(0, 31, 0), RGB555(0, 31, 0),}, // Green
|
||||||
|
{RGB555(31, 31, 31), RGB555( 0, 0, 21), RGB555(0, 0, 31), RGB555(0, 0, 31),}, // Blue
|
||||||
|
{RGB555(31, 31, 31), RGB555(21, 21, 0), RGB555(31, 31, 0), RGB555(31, 31, 0),}, // Yellow
|
||||||
|
{RGB555(31, 31, 31), RGB555(0, 21, 21), RGB555(0, 31, 31), RGB555(0, 31, 31),}, // Cyan
|
||||||
|
{RGB555(31, 31, 31), RGB555(21, 0, 21), RGB555(31, 0, 31), RGB555(31, 0, 31),}, // Purple
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(20, 20, 20), RGB555(20, 20, 20), RGB555(20, 20, 20),}, // Gray
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31),}, // White
|
||||||
|
|
||||||
|
// 背景カラーはこの16番パレット
|
||||||
|
// 白 黒 灰 むらさき ピンク みずいろ 緑 青紫 赤 黄
|
||||||
|
{RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555( 0, 0, 0), RGB555(20, 20, 20), RGB555(31, 15, 31), RGB555(31, 20, 20), RGB555(20, 29, 31), RGB555(20, 31, 20), RGB555(21, 21, 31), RGB555(31, 0, 0), RGB555(31, 31, 10), RGB555(31, 31, 31), RGB555(31, 31, 31), RGB555(31, 31, 31), } // White
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------- キャラクタデータ -------------------------*/
|
||||||
|
|
||||||
|
const u32 sampleCharData[8 * 0x100] = {
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 0000h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x11111111, 0x11111111, // 0001h use for import progress bar
|
||||||
|
0x11111111, 0x11111111, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x01011010, 0x01010010, 0x00010010, // 0002h
|
||||||
|
0x00100010, 0x00100010, 0x00100001, 0x00100001,
|
||||||
|
0x00000000, 0x01010001, 0x01010001, 0x01111111, // 0003h
|
||||||
|
0x00000001, 0x00000001, 0x00000001, 0x01111110,
|
||||||
|
0x00000000, 0x01010000, 0x01111111, 0x00100000, // 0004h
|
||||||
|
0x00100000, 0x00010000, 0x00001000, 0x00000110,
|
||||||
|
0x00000000, 0x01010000, 0x01010100, 0x00001010, // 0005h
|
||||||
|
0x00010001, 0x00100001, 0x01000000, 0x00000000,
|
||||||
|
0x00000000, 0x01011000, 0x01011000, 0x01111111, // 0006h
|
||||||
|
0x00001000, 0x00101010, 0x01001010, 0x01001001,
|
||||||
|
0x00000000, 0x01010010, 0x01101111, 0x01010010, // 0007h
|
||||||
|
0x00010010, 0x00010010, 0x00010010, 0x00001001,
|
||||||
|
0x00000000, 0x01010010, 0x01011111, 0x00000100, // 0008h
|
||||||
|
0x00011111, 0x00001000, 0x00000001, 0x00011110,
|
||||||
|
0x00000000, 0x01010000, 0x01011000, 0x00000110, // 0009h
|
||||||
|
0x00000001, 0x00000110, 0x00011000, 0x00100000,
|
||||||
|
0x00000000, 0x01010000, 0x01111101, 0x00010001, // 000ah
|
||||||
|
0x00010001, 0x00010001, 0x00010001, 0x00001010,
|
||||||
|
0x00000000, 0x01010000, 0x01011110, 0x00100000, // 000bh
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00111110,
|
||||||
|
0x00000000, 0x01010100, 0x01011111, 0x00001000, // 000ch
|
||||||
|
0x00010000, 0x00000001, 0x00000001, 0x00011110,
|
||||||
|
0x00000000, 0x01010001, 0x01010001, 0x00000001, // 000dh
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x01010000, 0x01111111, 0x00011000, // 000eh
|
||||||
|
0x00010100, 0x00010100, 0x00011000, 0x00001100,
|
||||||
|
0x00000000, 0x01010010, 0x01111111, 0x00010010, // 000fh
|
||||||
|
0x00010010, 0x00000010, 0x00000010, 0x00111100,
|
||||||
|
0x00000000, 0x00001110, 0x01010100, 0x01010010, // 0010h
|
||||||
|
0x00111111, 0x00000100, 0x00000100, 0x00011000,
|
||||||
|
0x00000000, 0x01010100, 0x01011111, 0x00000100, // 0011h
|
||||||
|
0x01110100, 0x00000010, 0x00001010, 0x01110010,
|
||||||
|
0x00000000, 0x01010100, 0x01011111, 0x00000010, // 0012h
|
||||||
|
0x00011110, 0x00100001, 0x00100000, 0x00011110,
|
||||||
|
0x00000000, 0x01010000, 0x01011100, 0x00100011, // 0013h
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x01010000, 0x01111111, 0x00010000, // 0014h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00110000,
|
||||||
|
0x00000000, 0x01010010, 0x01010010, 0x00001100, // 0015h
|
||||||
|
0x00000010, 0x00000001, 0x00000001, 0x00111110,
|
||||||
|
0x00000000, 0x01010001, 0x01111101, 0x00010001, // 0016h
|
||||||
|
0x00010001, 0x00111001, 0x01010101, 0x00011001,
|
||||||
|
0x00000000, 0x01010100, 0x01010011, 0x01110010, // 0017h
|
||||||
|
0x00010001, 0x00010001, 0x00001010, 0x00000100,
|
||||||
|
0x00000000, 0x01011110, 0x01011000, 0x00000100, // 0018h
|
||||||
|
0x00101001, 0x01010001, 0x01010001, 0x00001100,
|
||||||
|
0x00000000, 0x01010000, 0x01011100, 0x00010010, // 0019h
|
||||||
|
0x00010010, 0x00100001, 0x01000000, 0x00000000,
|
||||||
|
0x00000000, 0x01011101, 0x01010001, 0x00111101, // 001ah
|
||||||
|
0x00010001, 0x00011001, 0x00110101, 0x00001001,
|
||||||
|
0x00000000, 0x01110001, 0x01011101, 0x00110001, // 001bh
|
||||||
|
0x00010001, 0x00111001, 0x01010101, 0x00011001,
|
||||||
|
0x00000000, 0x01110100, 0x01010011, 0x00110010, // 001ch
|
||||||
|
0x00010001, 0x00010001, 0x00001010, 0x00000100,
|
||||||
|
0x00000000, 0x01101110, 0x01011000, 0x00100100, // 001dh
|
||||||
|
0x00101001, 0x01010001, 0x01010001, 0x00001100,
|
||||||
|
0x00000000, 0x01110000, 0x01011100, 0x00110010, // 001eh
|
||||||
|
0x00010010, 0x00100001, 0x01000000, 0x00000000,
|
||||||
|
0x00000000, 0x01111101, 0x01010001, 0x00111101, // 001fh
|
||||||
|
0x00010001, 0x00011001, 0x00110101, 0x00001001,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 0020h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00001000, 0x00001000, 0x00001000, // 0021h
|
||||||
|
0x00001000, 0x00001000, 0x00000000, 0x00001000,
|
||||||
|
0x00000000, 0x01101100, 0x01001000, 0x00100100, // 0022h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00100100, 0x01111111, 0x00100100, // 0023h
|
||||||
|
0x00100100, 0x01111111, 0x00010010, 0x00010010,
|
||||||
|
0x00000000, 0x00001000, 0x01111110, 0x00001001, // 0024h
|
||||||
|
0x00111110, 0x01001000, 0x00111111, 0x00001000,
|
||||||
|
0x00000000, 0x01000010, 0x00100101, 0x00010010, // 0025h
|
||||||
|
0x00001000, 0x00100100, 0x01010010, 0x00100001,
|
||||||
|
0x00000000, 0x00001110, 0x00010001, 0x00001001, // 0026h
|
||||||
|
0x01000110, 0x00101001, 0x00110001, 0x01001110,
|
||||||
|
0x00000000, 0x00011000, 0x00010000, 0x00001000, // 0027h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x01110000, 0x00001000, 0x00000100, // 0028h
|
||||||
|
0x00000100, 0x00000100, 0x00001000, 0x01110000,
|
||||||
|
0x00000000, 0x00000111, 0x00001000, 0x00010000, // 0029h
|
||||||
|
0x00010000, 0x00010000, 0x00001000, 0x00000111,
|
||||||
|
0x00000000, 0x00001000, 0x01001001, 0x00101010, // 002ah
|
||||||
|
0x00011100, 0x00101010, 0x01001001, 0x00001000,
|
||||||
|
0x00000000, 0x00001000, 0x00001000, 0x00001000, // 002bh
|
||||||
|
0x01111111, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 002ch
|
||||||
|
0x00000000, 0x00001100, 0x00001000, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 002dh
|
||||||
|
0x01111111, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 002eh
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00001100,
|
||||||
|
0x00000000, 0x01000000, 0x00100000, 0x00010000, // 002fh
|
||||||
|
0x00001000, 0x00000100, 0x00000010, 0x00000001,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000001, // 0030h
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00011100, 0x00010000, 0x00010000, // 0031h
|
||||||
|
0x00010000, 0x00010000, 0x00010000, 0x00010000,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000000, // 0032h
|
||||||
|
0x00111110, 0x00000001, 0x00000001, 0x01111111,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000000, // 0033h
|
||||||
|
0x00111110, 0x01000000, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00100000, 0x00110000, 0x00101000, // 0034h
|
||||||
|
0x00100100, 0x00100010, 0x01111111, 0x00100000,
|
||||||
|
0x00000000, 0x01111111, 0x00000001, 0x00111111, // 0035h
|
||||||
|
0x01000000, 0x01000000, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00111110, 0x00000001, 0x00111111, // 0036h
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x01111111, 0x00100000, 0x00100000, // 0037h
|
||||||
|
0x00010000, 0x00010000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000001, // 0038h
|
||||||
|
0x00111110, 0x01000001, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000001, // 0039h
|
||||||
|
0x01000001, 0x01111110, 0x01000000, 0x00111110,
|
||||||
|
0x00000000, 0x00000000, 0x00001100, 0x00000000, // 003ah
|
||||||
|
0x00000000, 0x00000000, 0x00001100, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00001100, 0x00000000, // 003bh
|
||||||
|
0x00000000, 0x00001100, 0x00001000, 0x00000100,
|
||||||
|
0x00000000, 0x01100000, 0x00011000, 0x00000110, // 003ch
|
||||||
|
0x00000001, 0x00000110, 0x00011000, 0x01100000,
|
||||||
|
0x00000000, 0x00000000, 0x01111111, 0x00000000, // 003dh
|
||||||
|
0x00000000, 0x00000000, 0x01111111, 0x00000000,
|
||||||
|
0x00000000, 0x00000011, 0x00001100, 0x00110000, // 003eh
|
||||||
|
0x01000000, 0x00110000, 0x00001100, 0x00000011,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x01000001, // 003fh
|
||||||
|
0x00110000, 0x00001000, 0x00000000, 0x00001000,
|
||||||
|
0x00000000, 0x00011100, 0x00100010, 0x01001001, // 0040h
|
||||||
|
0x01010101, 0x01010101, 0x01010101, 0x00111010,
|
||||||
|
0x00000000, 0x00001000, 0x00010100, 0x00010100, // 0041h
|
||||||
|
0x00100010, 0x00111110, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00111111, 0x01000001, 0x01000001, // 0042h
|
||||||
|
0x00111111, 0x01000001, 0x01000001, 0x00111111,
|
||||||
|
0x00000000, 0x00111100, 0x01000010, 0x00000001, // 0043h
|
||||||
|
0x00000001, 0x00000001, 0x01000010, 0x00111100,
|
||||||
|
0x00000000, 0x00011111, 0x00100001, 0x01000001, // 0044h
|
||||||
|
0x01000001, 0x01000001, 0x00100001, 0x00011111,
|
||||||
|
0x00000000, 0x01111111, 0x00000001, 0x00000001, // 0045h
|
||||||
|
0x01111111, 0x00000001, 0x00000001, 0x01111111,
|
||||||
|
0x00000000, 0x01111111, 0x00000001, 0x00000001, // 0046h
|
||||||
|
0x00111111, 0x00000001, 0x00000001, 0x00000001,
|
||||||
|
0x00000000, 0x00111100, 0x01000010, 0x00000001, // 0047h
|
||||||
|
0x01111001, 0x01000001, 0x01000010, 0x00111100,
|
||||||
|
0x00000000, 0x01000001, 0x01000001, 0x01000001, // 0048h
|
||||||
|
0x01111111, 0x01000001, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00111110, 0x00001000, 0x00001000, // 0049h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00111110,
|
||||||
|
0x00000000, 0x01000000, 0x01000000, 0x01000000, // 004ah
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x01100001, 0x00011001, 0x00000101, // 004bh
|
||||||
|
0x00000011, 0x00000101, 0x00011001, 0x01100001,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00000001, // 004ch
|
||||||
|
0x00000001, 0x00000001, 0x00000001, 0x01111111,
|
||||||
|
0x00000000, 0x01000001, 0x01100011, 0x01010101, // 004dh
|
||||||
|
0x01001001, 0x01000001, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x01000001, 0x01000011, 0x01000101, // 004eh
|
||||||
|
0x01001001, 0x01010001, 0x01100001, 0x01000001,
|
||||||
|
0x00000000, 0x00011100, 0x00100010, 0x01000001, // 004fh
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x00111111, 0x01000001, 0x01000001, // 0050h
|
||||||
|
0x00111111, 0x00000001, 0x00000001, 0x00000001,
|
||||||
|
0x00000000, 0x00011100, 0x00100010, 0x01000001, // 0051h
|
||||||
|
0x01000001, 0x01011001, 0x00100010, 0x01011100,
|
||||||
|
0x00000000, 0x00111111, 0x01000001, 0x01000001, // 0052h
|
||||||
|
0x00111111, 0x01000001, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00111110, 0x01000001, 0x00000001, // 0053h
|
||||||
|
0x00111110, 0x01000000, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x01111111, 0x00001000, 0x00001000, // 0054h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x01000001, 0x01000001, 0x01000001, // 0055h
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x01000001, 0x01000001, 0x00100010, // 0056h
|
||||||
|
0x00100010, 0x00010100, 0x00010100, 0x00001000,
|
||||||
|
0x00000000, 0x01000001, 0x01000001, 0x01000001, // 0057h
|
||||||
|
0x01001001, 0x01010101, 0x01100011, 0x01000001,
|
||||||
|
0x00000000, 0x01000001, 0x00100010, 0x00010100, // 0058h
|
||||||
|
0x00001000, 0x00010100, 0x00100010, 0x01000001,
|
||||||
|
0x00000000, 0x01000001, 0x00100010, 0x00010100, // 0059h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x01111111, 0x00100000, 0x00010000, // 005ah
|
||||||
|
0x00001000, 0x00000100, 0x00000010, 0x01111111,
|
||||||
|
0x00000000, 0x01111100, 0x00000100, 0x00000100, // 005bh
|
||||||
|
0x00000100, 0x00000100, 0x00000100, 0x01111100,
|
||||||
|
0x00000000, 0x00100010, 0x00010100, 0x00111110, // 005ch
|
||||||
|
0x00001000, 0x00111110, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00011111, 0x00010000, 0x00010000, // 005dh
|
||||||
|
0x00010000, 0x00010000, 0x00010000, 0x00011111,
|
||||||
|
0x00000000, 0x00001000, 0x00010100, 0x00100010, // 005eh
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 005fh
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x01111111,
|
||||||
|
0x00000000, 0x00010000, 0x00001000, 0x00011000, // 0060h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00011110, 0x00100001, // 0061h
|
||||||
|
0x00111110, 0x00100001, 0x00100001, 0x01011110,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00111111, // 0062h
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x00111111,
|
||||||
|
0x00000000, 0x00000000, 0x00111100, 0x01000010, // 0063h
|
||||||
|
0x00000001, 0x00000001, 0x01000010, 0x00111100,
|
||||||
|
0x00000000, 0x01000000, 0x01000000, 0x01111110, // 0064h
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x01111110,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x01000001, // 0065h
|
||||||
|
0x01111111, 0x00000001, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00110000, 0x00001000, 0x00001000, // 0066h
|
||||||
|
0x01111111, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00000000, 0x01111110, 0x01000001, // 0067h
|
||||||
|
0x01000001, 0x01111110, 0x01000000, 0x00111110,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00000001, // 0068h
|
||||||
|
0x00111111, 0x01000001, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00001000, 0x00000000, 0x00001000, // 0069h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00100000, 0x00000000, 0x00100000, // 006ah
|
||||||
|
0x00100000, 0x00100001, 0x00100001, 0x00011110,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x01100001, // 006bh
|
||||||
|
0x00011001, 0x00000111, 0x00011001, 0x01100001,
|
||||||
|
0x00000000, 0x00001000, 0x00001000, 0x00001000, // 006ch
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00000000, 0x00110111, 0x01001001, // 006dh
|
||||||
|
0x01001001, 0x01001001, 0x01001001, 0x01001001,
|
||||||
|
0x00000000, 0x00000000, 0x00111111, 0x01000001, // 006eh
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00000000, 0x00011100, 0x00100010, // 006fh
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x00000000, 0x00111101, 0x01000011, // 0070h
|
||||||
|
0x01000001, 0x01000011, 0x00111101, 0x00000001,
|
||||||
|
0x00000000, 0x00000000, 0x01011110, 0x01100001, // 0071h
|
||||||
|
0x01000001, 0x01100001, 0x01011110, 0x01000000,
|
||||||
|
0x00000000, 0x00000000, 0x00110001, 0x00001101, // 0072h
|
||||||
|
0x00000011, 0x00000001, 0x00000001, 0x00000001,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x01000001, // 0073h
|
||||||
|
0x00001110, 0x00110000, 0x01000001, 0x00111110,
|
||||||
|
0x00000000, 0x00000100, 0x00000100, 0x01111111, // 0074h
|
||||||
|
0x00000100, 0x00000100, 0x00000100, 0x01111000,
|
||||||
|
0x00000000, 0x00000000, 0x01000001, 0x01000001, // 0075h
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x01111110,
|
||||||
|
0x00000000, 0x00000000, 0x01000001, 0x01000001, // 0076h
|
||||||
|
0x00100010, 0x00100010, 0x00010100, 0x00001000,
|
||||||
|
0x00000000, 0x00000000, 0x01000001, 0x01000001, // 0077h
|
||||||
|
0x01001001, 0x00101010, 0x00101010, 0x00010100,
|
||||||
|
0x00000000, 0x00000000, 0x00100001, 0x00010010, // 0078h
|
||||||
|
0x00001100, 0x00001100, 0x00010010, 0x00100001,
|
||||||
|
0x00000000, 0x00000000, 0x01000001, 0x01000001, // 0079h
|
||||||
|
0x00100010, 0x00011100, 0x00001000, 0x00000110,
|
||||||
|
0x00000000, 0x00000000, 0x00111111, 0x00010000, // 007ah
|
||||||
|
0x00001000, 0x00000100, 0x00000010, 0x00111111,
|
||||||
|
0x00000000, 0x00001000, 0x00011110, 0x01100100, // 007bh
|
||||||
|
0x00011000, 0x00100100, 0x00000100, 0x01111000,
|
||||||
|
0x00000000, 0x00000000, 0x00011110, 0x00000100, // 007ch
|
||||||
|
0x00011110, 0x00110101, 0x00101101, 0x00010010,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00010001, // 007dh
|
||||||
|
0x00100001, 0x00100001, 0x00000001, 0x00000010,
|
||||||
|
0x00000000, 0x00000000, 0x00011100, 0x00000000, // 007eh
|
||||||
|
0x00011110, 0x00100000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x00000000, 0x00011100, 0x00000000, // 007fh
|
||||||
|
0x00111110, 0x00010000, 0x00001100, 0x00110010,
|
||||||
|
0x00000000, 0x00000000, 0x00000100, 0x00101111, // 0080h
|
||||||
|
0x01000100, 0x00011110, 0x00100101, 0x00010110,
|
||||||
|
0x00000000, 0x00000000, 0x00001010, 0x00011110, // 0081h
|
||||||
|
0x00101011, 0x00100010, 0x00010100, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00001000, 0x00011101, // 0082h
|
||||||
|
0x00101011, 0x00101001, 0x00011001, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00001000, 0x00111000, // 0083h
|
||||||
|
0x00001000, 0x00011110, 0x00101001, 0x00000110,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00011100, // 0084h
|
||||||
|
0x00100011, 0x00100000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x00000110, 0x01001001, 0x00110000, // 0085h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000100, 0x00111111, 0x00000100, // 0086h
|
||||||
|
0x00111110, 0x01010101, 0x01001101, 0x00100110,
|
||||||
|
0x00000000, 0x00000000, 0x00100001, 0x01000001, // 0087h
|
||||||
|
0x01000001, 0x01000001, 0x00000001, 0x00000010,
|
||||||
|
0x00000000, 0x00111100, 0x00000000, 0x00111110, // 0088h
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x00011100, 0x00000000, 0x00111110, // 0089h
|
||||||
|
0x00010000, 0x00001000, 0x00010100, 0x01100010,
|
||||||
|
0x00000000, 0x00100100, 0x01011111, 0x00000100, // 008ah
|
||||||
|
0x00111110, 0x01000101, 0x01000101, 0x00100010,
|
||||||
|
0x00000000, 0x00100010, 0x01001111, 0x01010010, // 008bh
|
||||||
|
0x01010010, 0x00010010, 0x00010010, 0x00001001,
|
||||||
|
0x00000000, 0x00000100, 0x00111110, 0x00001000, // 008ch
|
||||||
|
0x00111110, 0x00010000, 0x00000010, 0x00111100,
|
||||||
|
0x00000000, 0x00100000, 0x00011000, 0x00000110, // 008dh
|
||||||
|
0x00000001, 0x00000110, 0x00011000, 0x00100000,
|
||||||
|
0x00000000, 0x00100000, 0x01111101, 0x00100001, // 008eh
|
||||||
|
0x00100001, 0x00100001, 0x00100001, 0x00010010,
|
||||||
|
0x00000000, 0x00011110, 0x00100000, 0x00000000, // 008fh
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00111110,
|
||||||
|
0x00000000, 0x00001000, 0x01111111, 0x00010000, // 0090h
|
||||||
|
0x00100000, 0x00000010, 0x00000010, 0x00111100,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x00000001, // 0091h
|
||||||
|
0x01000001, 0x01000001, 0x00100010, 0x00011100,
|
||||||
|
0x00000000, 0x00010000, 0x01111111, 0x00011000, // 0092h
|
||||||
|
0x00010100, 0x00010100, 0x00011000, 0x00001100,
|
||||||
|
0x00000000, 0x00100010, 0x01111111, 0x00100010, // 0093h
|
||||||
|
0x00100010, 0x00000010, 0x00000010, 0x01111100,
|
||||||
|
0x00000000, 0x00111100, 0x00010000, 0x00001100, // 0094h
|
||||||
|
0x01111111, 0x00001000, 0x00001000, 0x00110000,
|
||||||
|
0x00000000, 0x00000100, 0x00011111, 0x00000100, // 0095h
|
||||||
|
0x01110100, 0x00000010, 0x00001010, 0x01110010,
|
||||||
|
0x00000000, 0x00001000, 0x01111111, 0x00000100, // 0096h
|
||||||
|
0x00111100, 0x01000010, 0x01000000, 0x00111100,
|
||||||
|
0x00000000, 0x00000000, 0x00011100, 0x00100011, // 0097h
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x01111111, 0x00010000, 0x00001000, // 0098h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00110000,
|
||||||
|
0x00000000, 0x00000010, 0x00110010, 0x00001100, // 0099h
|
||||||
|
0x00000010, 0x00000001, 0x00000001, 0x00111110,
|
||||||
|
0x00000000, 0x00100100, 0x01001111, 0x01000010, // 009ah
|
||||||
|
0x00010001, 0x00111100, 0x00010010, 0x00001100,
|
||||||
|
0x00000000, 0x00000010, 0x01111010, 0x01000010, // 009bh
|
||||||
|
0x00000010, 0x00000010, 0x00001010, 0x01110010,
|
||||||
|
0x00000000, 0x00100010, 0x00111110, 0x01010010, // 009ch
|
||||||
|
0x01001011, 0x01101101, 0x01010101, 0x00110010,
|
||||||
|
0x00000000, 0x00110010, 0x01001011, 0x01000110, // 009dh
|
||||||
|
0x01000110, 0x01110010, 0x01001011, 0x00110010,
|
||||||
|
0x00000000, 0x00011100, 0x00101010, 0x01001001, // 009eh
|
||||||
|
0x01001001, 0x01000101, 0x01000101, 0x00110010,
|
||||||
|
0x00000000, 0x00100001, 0x01111101, 0x00100001, // 009fh
|
||||||
|
0x00100001, 0x00111001, 0x01100101, 0x00011001,
|
||||||
|
0x00000000, 0x00000100, 0x00100011, 0x01100010, // 00a0h
|
||||||
|
0x00100001, 0x00100001, 0x00010010, 0x00001100,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00a1h
|
||||||
|
0x00000000, 0x00000100, 0x00001010, 0x00000100,
|
||||||
|
0x00000000, 0x01110000, 0x00010000, 0x00010000, // 00a2h
|
||||||
|
0x00010000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00a3h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00001110,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00a4h
|
||||||
|
0x00000000, 0x00000010, 0x00000100, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00011000, // 00a5h
|
||||||
|
0x00011000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x01111111, 0x01000000, 0x01111111, // 00a6h
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x00000000, 0x00111111, 0x00100000, // 00a7h
|
||||||
|
0x00010100, 0x00001100, 0x00000100, 0x00000010,
|
||||||
|
0x00000000, 0x00000000, 0x00100000, 0x00100000, // 00a8h
|
||||||
|
0x00010000, 0x00001111, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x00000000, 0x00000100, 0x00111111, // 00a9h
|
||||||
|
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00111110, // 00aah
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x01111111,
|
||||||
|
0x00000000, 0x00000000, 0x00010000, 0x00111111, // 00abh
|
||||||
|
0x00011000, 0x00010100, 0x00010010, 0x00011001,
|
||||||
|
0x00000000, 0x00000000, 0x00000010, 0x00111111, // 00ach
|
||||||
|
0x00100010, 0x00010010, 0x00000100, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00111110, // 00adh
|
||||||
|
0x00100000, 0x00100000, 0x00100000, 0x01111111,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x00100000, // 00aeh
|
||||||
|
0x00111110, 0x00100000, 0x00100000, 0x00111110,
|
||||||
|
0x00000000, 0x00000000, 0x00100101, 0x00101010, // 00afh
|
||||||
|
0x00101010, 0x00100000, 0x00010000, 0x00001110,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00b0h
|
||||||
|
0x01111111, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x01111111, 0x01000000, 0x00101000, // 00b1h
|
||||||
|
0x00011000, 0x00001000, 0x00001000, 0x00000100,
|
||||||
|
0x00000000, 0x01000000, 0x00100000, 0x00011000, // 00b2h
|
||||||
|
0x00010111, 0x00010000, 0x00010000, 0x00010000,
|
||||||
|
0x00000000, 0x00001000, 0x01111111, 0x01000001, // 00b3h
|
||||||
|
0x01000001, 0x01000000, 0x00100000, 0x00011000,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x00001000, // 00b4h
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x01111111,
|
||||||
|
0x00000000, 0x00100000, 0x01111111, 0x00110000, // 00b5h
|
||||||
|
0x00101000, 0x00100100, 0x00100010, 0x00110001,
|
||||||
|
0x00000000, 0x00000100, 0x01111111, 0x01000100, // 00b6h
|
||||||
|
0x01000100, 0x01000100, 0x01000010, 0x00100001,
|
||||||
|
0x00000000, 0x00000100, 0x00111111, 0x00001000, // 00b7h
|
||||||
|
0x01111111, 0x00010000, 0x00010000, 0x00010000,
|
||||||
|
0x00000000, 0x01111100, 0x01000100, 0x01000100, // 00b8h
|
||||||
|
0x01000010, 0x01000000, 0x00100000, 0x00011000,
|
||||||
|
0x00000000, 0x00000010, 0x01111110, 0x00100010, // 00b9h
|
||||||
|
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||||
|
0x00000000, 0x01111110, 0x01000000, 0x01000000, // 00bah
|
||||||
|
0x01000000, 0x01000000, 0x01000000, 0x01111110,
|
||||||
|
0x00000000, 0x00100010, 0x01111111, 0x00100010, // 00bbh
|
||||||
|
0x00100010, 0x00100000, 0x00010000, 0x00001100,
|
||||||
|
0x00000000, 0x00000011, 0x00000100, 0x01000011, // 00bch
|
||||||
|
0x01000100, 0x00100000, 0x00011000, 0x00000111,
|
||||||
|
0x00000000, 0x01111111, 0x01000000, 0x00100000, // 00bdh
|
||||||
|
0x00010000, 0x00011000, 0x00100100, 0x01000011,
|
||||||
|
0x00000000, 0x00000010, 0x01111111, 0x01000010, // 00beh
|
||||||
|
0x00100010, 0x00000010, 0x00000010, 0x01111100,
|
||||||
|
0x00000000, 0x01000001, 0x01000010, 0x01000000, // 00bfh
|
||||||
|
0x00100000, 0x00100000, 0x00011000, 0x00000110,
|
||||||
|
0x00000000, 0x01111110, 0x01000010, 0x01001110, // 00c0h
|
||||||
|
0x01110001, 0x01000000, 0x00100000, 0x00011000,
|
||||||
|
0x00000000, 0x01100000, 0x00011110, 0x00010000, // 00c1h
|
||||||
|
0x01111111, 0x00010000, 0x00010000, 0x00001100,
|
||||||
|
0x00000000, 0x01000101, 0x01001010, 0x01001010, // 00c2h
|
||||||
|
0x01000000, 0x00100000, 0x00010000, 0x00001110,
|
||||||
|
0x00000000, 0x00111110, 0x00000000, 0x01111111, // 00c3h
|
||||||
|
0x00010000, 0x00010000, 0x00001000, 0x00000110,
|
||||||
|
0x00000000, 0x00000010, 0x00000010, 0x00000110, // 00c4h
|
||||||
|
0x00011010, 0x01100010, 0x00000010, 0x00000010,
|
||||||
|
0x00000000, 0x00010000, 0x00010000, 0x01111111, // 00c5h
|
||||||
|
0x00010000, 0x00010000, 0x00001000, 0x00000110,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x00000000, // 00c6h
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x01111111,
|
||||||
|
0x00000000, 0x01111110, 0x01000000, 0x01000100, // 00c7h
|
||||||
|
0x00101000, 0x00010000, 0x00101000, 0x01000110,
|
||||||
|
0x00000000, 0x00001000, 0x01111111, 0x00100000, // 00c8h
|
||||||
|
0x00010000, 0x00011100, 0x01101011, 0x00001000,
|
||||||
|
0x00000000, 0x01000000, 0x01000000, 0x01000000, // 00c9h
|
||||||
|
0x00100000, 0x00100000, 0x00011000, 0x00000111,
|
||||||
|
0x00000000, 0x00010010, 0x00100010, 0x00100010, // 00cah
|
||||||
|
0x01000010, 0x01000010, 0x01000001, 0x01000001,
|
||||||
|
0x00000000, 0x00000001, 0x00000001, 0x01111111, // 00cbh
|
||||||
|
0x00000001, 0x00000001, 0x00000001, 0x01111110,
|
||||||
|
0x00000000, 0x01111111, 0x01000000, 0x01000000, // 00cch
|
||||||
|
0x01000000, 0x00100000, 0x00010000, 0x00001110,
|
||||||
|
0x00000000, 0x00000000, 0x00000100, 0x00001010, // 00cdh
|
||||||
|
0x00010001, 0x00100001, 0x01000000, 0x00000000,
|
||||||
|
0x00000000, 0x00001000, 0x00001000, 0x01111111, // 00ceh
|
||||||
|
0x00001000, 0x00101010, 0x01001010, 0x01001001,
|
||||||
|
0x00000000, 0x01111111, 0x01000000, 0x01000000, // 00cfh
|
||||||
|
0x00100010, 0x00010100, 0x00001000, 0x00010000,
|
||||||
|
0x00000000, 0x00001110, 0x01110000, 0x00001110, // 00d0h
|
||||||
|
0x01110000, 0x00000110, 0x00011000, 0x01100000,
|
||||||
|
0x00000000, 0x00001000, 0x00001000, 0x00000100, // 00d1h
|
||||||
|
0x00000100, 0x00100010, 0x01000010, 0x01111111,
|
||||||
|
0x00000000, 0x01000000, 0x01000000, 0x00100100, // 00d2h
|
||||||
|
0x00101000, 0x00010000, 0x00101100, 0x01000011,
|
||||||
|
0x00000000, 0x01111111, 0x00000100, 0x01111111, // 00d3h
|
||||||
|
0x00000100, 0x00000100, 0x00000100, 0x01111000,
|
||||||
|
0x00000000, 0x00000010, 0x01111111, 0x01000010, // 00d4h
|
||||||
|
0x00100010, 0x00010100, 0x00000100, 0x00000100,
|
||||||
|
0x00000000, 0x00000000, 0x00111110, 0x00100000, // 00d5h
|
||||||
|
0x00100000, 0x00100000, 0x00100000, 0x01111111,
|
||||||
|
0x00000000, 0x01111110, 0x01000000, 0x01000000, // 00d6h
|
||||||
|
0x01111110, 0x01000000, 0x01000000, 0x01111110,
|
||||||
|
0x00000000, 0x00111110, 0x00000000, 0x01111111, // 00d7h
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x01000010, 0x01000010, 0x01000010, // 00d8h
|
||||||
|
0x01000010, 0x01000000, 0x00100000, 0x00011000,
|
||||||
|
0x00000000, 0x00001010, 0x00001010, 0x00001010, // 00d9h
|
||||||
|
0x01001010, 0x01001010, 0x00101010, 0x00011001,
|
||||||
|
0x00000000, 0x00000010, 0x00000010, 0x01000010, // 00dah
|
||||||
|
0x01000010, 0x00100010, 0x00010010, 0x00001110,
|
||||||
|
0x00000000, 0x01111111, 0x01000001, 0x01000001, // 00dbh
|
||||||
|
0x01000001, 0x01000001, 0x01000001, 0x01111111,
|
||||||
|
0x00000000, 0x01111111, 0x01000001, 0x01000001, // 00dch
|
||||||
|
0x01000000, 0x01000000, 0x00100000, 0x00011100,
|
||||||
|
0x00000000, 0x01000011, 0x01000100, 0x01000000, // 00ddh
|
||||||
|
0x01000000, 0x00100000, 0x00010000, 0x00001111,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00deh 0
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00dfh 1
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00011110, 0x00001000, 0x00000100, // 00e0h 2
|
||||||
|
0x00101001, 0x01010001, 0x01010001, 0x00001100,
|
||||||
|
0x00000000, 0x00000000, 0x00001100, 0x00010010, // 00e1h 3
|
||||||
|
0x00010010, 0x00100001, 0x01000000, 0x00000000,
|
||||||
|
0x00000000, 0x01111101, 0x00100001, 0x01111101, // 00e2h 4
|
||||||
|
0x00100001, 0x00111001, 0x01100101, 0x00011001,
|
||||||
|
0x00000000, 0x00111100, 0x00010000, 0x00111100, // 00e3h 5
|
||||||
|
0x00010000, 0x00011100, 0x00110010, 0x00001100,
|
||||||
|
0x00000000, 0x00001110, 0x00101000, 0x00101000, // 00e4h 6
|
||||||
|
0x00111110, 0x01100101, 0x00100101, 0x00010010,
|
||||||
|
0x00000000, 0x00000100, 0x00101111, 0x01000100, // 00e5h 7
|
||||||
|
0x00000110, 0x01000101, 0x01000101, 0x00111110,
|
||||||
|
0x00000000, 0x00100010, 0x00100010, 0x00111110, // 00e6h 8
|
||||||
|
0x01010010, 0x01010101, 0x01001101, 0x00100110,
|
||||||
|
0x00000000, 0x00000100, 0x00011111, 0x00000010, // 00e7h 9
|
||||||
|
0x00011111, 0x01000010, 0x01000010, 0x00111100,
|
||||||
|
0x00000000, 0x00010010, 0x00111110, 0x01010011, // 00e8h 10
|
||||||
|
0x01000010, 0x00100100, 0x00000100, 0x00000100,
|
||||||
|
0x00000000, 0x00001000, 0x00111101, 0x01001011, // 00e9h 11
|
||||||
|
0x01001001, 0x01001001, 0x00111000, 0x00000100,
|
||||||
|
0x00000000, 0x00001000, 0x00111000, 0x00001000, // 00eah 12
|
||||||
|
0x00001000, 0x00011110, 0x00101001, 0x00000110,
|
||||||
|
0x00000000, 0x00011000, 0x00100000, 0x00000100, // 00ebh 13
|
||||||
|
0x00111010, 0x01000110, 0x01000000, 0x00111000,
|
||||||
|
0x00000000, 0x01000010, 0x01000010, 0x01000010, // 00ech 14
|
||||||
|
0x01000110, 0x01000000, 0x00100000, 0x00011000,
|
||||||
|
0x00000000, 0x00111110, 0x00010000, 0x00111100, // 00edh 15
|
||||||
|
0x01000011, 0x01001100, 0x01010010, 0x00111100,
|
||||||
|
0x00000000, 0x00100010, 0x00110011, 0x00101010, // 00eeh 16
|
||||||
|
0x00100110, 0x00100010, 0x00100011, 0x01000010,
|
||||||
|
0x00000000, 0x00111110, 0x00010000, 0x00111100, // 00efh 17
|
||||||
|
0x01000011, 0x01000000, 0x01000010, 0x00111100,
|
||||||
|
0x00000000, 0x00000010, 0x00111011, 0x01000110, // 00f0h 18
|
||||||
|
0x01000010, 0x01000011, 0x01000010, 0x00110010,
|
||||||
|
0x00000000, 0x00000100, 0x00000100, 0x00000010, // 00f1h 19
|
||||||
|
0x01000110, 0x01000101, 0x01000101, 0x00111001,
|
||||||
|
0x00000000, 0x01010100, 0x01111111, 0x00100100, // 00f2h 20
|
||||||
|
0x00100100, 0x00100100, 0x00100010, 0x00010001,
|
||||||
|
0x00000000, 0x01010100, 0x01011111, 0x00000100, // 00f3h 21
|
||||||
|
0x00111111, 0x00001000, 0x00001000, 0x00001000,
|
||||||
|
0x00000000, 0x01011110, 0x01100010, 0x00100010, // 00f4h 22
|
||||||
|
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||||
|
0x00000000, 0x01010010, 0x01111110, 0x00100010, // 00f5h 23
|
||||||
|
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||||
|
|
||||||
|
0x33330000,
|
||||||
|
0x33330000,
|
||||||
|
0x33000000,
|
||||||
|
0x33000000, // 00f6h
|
||||||
|
0x33000000,
|
||||||
|
0x33000000,
|
||||||
|
0x33330000,
|
||||||
|
0x33330000,
|
||||||
|
|
||||||
|
|
||||||
|
0x00020000, // 00f7h
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x22222222,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
|
||||||
|
0x00000000, // 00f8h
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
|
||||||
|
0x11111111, // 00f9h
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
|
||||||
|
0x11111111, // 00fah
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x11111111,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
|
||||||
|
0x00000000, // 00fbh
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x22222222,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
|
||||||
|
0x00020000, // 00fch
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x22222222,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
|
||||||
|
0x00020000, // 00fdh
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
0x00020000,
|
||||||
|
|
||||||
|
0x00000000, // 00feh
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x22222222,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
0x00000000,
|
||||||
|
|
||||||
|
0x00020000,
|
||||||
|
0x00220000,
|
||||||
|
0x02122222,
|
||||||
|
0x21111112,
|
||||||
|
0x21111112,
|
||||||
|
0x02122222,
|
||||||
|
0x00220000,
|
||||||
|
0x00020000,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
0x00022222,
|
||||||
|
0x00002112,
|
||||||
|
0x00021112,
|
||||||
|
0x00211122,
|
||||||
|
0x02111202,
|
||||||
|
0x21112000,
|
||||||
|
0x02120000,
|
||||||
|
0x00200000,
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
0x00000000, 0x01011110, 0x01010000, 0x00111111, // 00ffh
|
||||||
|
0x00001000, 0x00001000, 0x00001000, 0x00000110
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
End of file
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
@ -0,0 +1,160 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: praphics.c
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
//#include <twl/mic.h>
|
||||||
|
#include <nitro/snd.h>
|
||||||
|
#include "kami_font.h"
|
||||||
|
#include "graphics.h"
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
関数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: InitGraphics
|
||||||
|
|
||||||
|
Description: 表示の初期化処理
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
InitGraphics(void)
|
||||||
|
{
|
||||||
|
GX_DispOff();
|
||||||
|
GXS_DispOff();
|
||||||
|
|
||||||
|
//---- VRAM クリア
|
||||||
|
GX_SetBankForLCDC(GX_VRAM_LCDC_ALL);
|
||||||
|
MI_CpuClearFast((void *)HW_LCDC_VRAM, HW_LCDC_VRAM_SIZE);
|
||||||
|
|
||||||
|
//---- OAMとパレットクリア
|
||||||
|
MI_CpuFillFast((void *)HW_OAM, 192, HW_OAM_SIZE);
|
||||||
|
MI_CpuClearFast((void *)HW_PLTT, HW_PLTT_SIZE);
|
||||||
|
MI_CpuFillFast((void *)HW_DB_OAM, 192, HW_DB_OAM_SIZE);
|
||||||
|
MI_CpuClearFast((void *)HW_DB_PLTT, HW_DB_PLTT_SIZE);
|
||||||
|
|
||||||
|
//---- OBJバンクの設定
|
||||||
|
GX_SetBankForOBJ(GX_VRAM_OBJ_128_A);
|
||||||
|
GX_SetBankForSubOBJ(GX_VRAM_SUB_OBJ_128_D);
|
||||||
|
|
||||||
|
//---- BGバンクの設定
|
||||||
|
GX_SetBankForBG(GX_VRAM_BG_128_B);
|
||||||
|
GX_SetBankForSubBG(GX_VRAM_SUB_BG_128_C);
|
||||||
|
|
||||||
|
//---- 表示モード設定
|
||||||
|
GX_SetGraphicsMode (GX_DISPMODE_GRAPHICS, GX_BGMODE_0, GX_BG0_AS_3D);
|
||||||
|
GX_SetVisiblePlane (GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1 | GX_PLANEMASK_OBJ);
|
||||||
|
GXS_SetVisiblePlane(GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1 | GX_PLANEMASK_OBJ);
|
||||||
|
|
||||||
|
//---- 3D初期化
|
||||||
|
G3X_Init();
|
||||||
|
G3X_InitMtxStack();
|
||||||
|
G2_SetBG0Priority(0);
|
||||||
|
G3X_AlphaTest(FALSE, 0);
|
||||||
|
G3X_AntiAlias(TRUE);
|
||||||
|
G3X_EdgeMarking(FALSE);
|
||||||
|
G3X_SetFog(FALSE, (GXFogBlend)0, (GXFogSlope)0, 0);
|
||||||
|
G3X_SetClearColor(0, 0, 0x7fff, 63, FALSE);
|
||||||
|
G3_ViewPort(0, 0, 255, 191);
|
||||||
|
G3_MtxMode(GX_MTXMODE_POSITION_VECTOR);
|
||||||
|
|
||||||
|
//---- 32KバイトのOBJで2Dマップモードで使用
|
||||||
|
GX_SetOBJVRamModeChar(GX_OBJVRAMMODE_CHAR_2D);
|
||||||
|
|
||||||
|
// スクリーンオフセット及びキャラクターオフセットの設定
|
||||||
|
GX_SetBGScrOffset(GX_BGSCROFFSET_0x00000);
|
||||||
|
GX_SetBGCharOffset(GX_BGCHAROFFSET_0x10000);
|
||||||
|
|
||||||
|
G2_SetBG1Control(
|
||||||
|
GX_BG_SCRSIZE_TEXT_256x256,
|
||||||
|
GX_BG_COLORMODE_16,
|
||||||
|
GX_BG_SCRBASE_0x0000 ,
|
||||||
|
GX_BG_CHARBASE_0x00000,
|
||||||
|
GX_BG_EXTPLTT_01
|
||||||
|
);
|
||||||
|
|
||||||
|
G2S_SetBG0Control(
|
||||||
|
GX_BG_SCRSIZE_TEXT_256x256,
|
||||||
|
GX_BG_COLORMODE_16,
|
||||||
|
GX_BG_SCRBASE_0x0000 ,
|
||||||
|
GX_BG_CHARBASE_0x04000,
|
||||||
|
GX_BG_EXTPLTT_01
|
||||||
|
);
|
||||||
|
|
||||||
|
G2S_SetBG1Control(
|
||||||
|
GX_BG_SCRSIZE_TEXT_256x256,
|
||||||
|
GX_BG_COLORMODE_16,
|
||||||
|
GX_BG_SCRBASE_0x2000 ,
|
||||||
|
GX_BG_CHARBASE_0x04000,
|
||||||
|
GX_BG_EXTPLTT_01
|
||||||
|
);
|
||||||
|
|
||||||
|
G2_BG1Mosaic(FALSE);
|
||||||
|
G2S_BG1Mosaic(FALSE);
|
||||||
|
|
||||||
|
//---- データロード
|
||||||
|
GX_LoadOBJ ( sampleCharData, 0, sizeof(sampleCharData));
|
||||||
|
GX_LoadBG1Char( sampleCharData, 0, sizeof(sampleCharData));
|
||||||
|
GX_LoadBGPltt ( PlttDataMain, 0, sizeof(PlttDataMain));
|
||||||
|
GX_LoadBG1Scr ( BgScDataMain, 0, sizeof(BgScDataMain));
|
||||||
|
GX_LoadOBJPltt( PlttDataObj, 0, sizeof(PlttDataObj));
|
||||||
|
|
||||||
|
GXS_LoadOBJ ( sampleCharData, 0, sizeof(sampleCharData));
|
||||||
|
GXS_LoadBG0Char( sampleCharData, 0, sizeof(sampleCharData));
|
||||||
|
GXS_LoadBGPltt ( PlttDataSub, 0, sizeof(PlttDataSub));
|
||||||
|
GXS_LoadBG0Scr ( BgScDataSub, 0, sizeof(BgScDataSub));
|
||||||
|
GXS_LoadOBJPltt( PlttDataObj, 0, sizeof(PlttDataObj));
|
||||||
|
|
||||||
|
GX_DispOn();
|
||||||
|
GXS_DispOn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: DrawLine
|
||||||
|
|
||||||
|
Description: 三角ポリゴンで線を描画
|
||||||
|
|
||||||
|
Arguments: sx - 描画する線の開始点のx座標
|
||||||
|
sy - 描画する線の開始点のy座標
|
||||||
|
ex - 描画する線の終点のx座標
|
||||||
|
ey - 描画する線の終点のy座標
|
||||||
|
color - 描画する線の色
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
DrawLine(s16 sx, s16 sy, s16 ex, s16 ey, GXRgb color)
|
||||||
|
{
|
||||||
|
fx16 fsx = (fx16)(((sx - 128) * 0x1000) / 128);
|
||||||
|
fx16 fsy = (fx16)(((96 - sy) * 0x1000) / 96);
|
||||||
|
fx16 fex = (fx16)(((ex - 128) * 0x1000) / 128);
|
||||||
|
fx16 fey = (fx16)(((96 - ey) * 0x1000) / 96);
|
||||||
|
|
||||||
|
G3_Begin(GX_BEGIN_TRIANGLES);
|
||||||
|
{
|
||||||
|
G3_Color( color );
|
||||||
|
G3_Vtx(fsx, fsy, 0);
|
||||||
|
G3_Color( color );
|
||||||
|
G3_Vtx(fex, fey, 0);
|
||||||
|
G3_Color( color );
|
||||||
|
G3_Vtx(fsx, fsy, 1);
|
||||||
|
}
|
||||||
|
G3_End();
|
||||||
|
}
|
||||||
@ -0,0 +1,265 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: process_import.c
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
#include <nitro/snd.h>
|
||||||
|
#include <twl/fatfs.h>
|
||||||
|
#include <nitro/card.h>
|
||||||
|
#include <twl/nam.h>
|
||||||
|
#include <twl/lcfg.h>
|
||||||
|
#include <sysmenu/namut.h>
|
||||||
|
#include "kami_font.h"
|
||||||
|
#include "import.h"
|
||||||
|
#include "TWLHWInfo_api.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
型定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
定数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#define THREAD_STACK_SIZE (16*1024)
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部変数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void* spStack;
|
||||||
|
static u32 sCurrentProgress;
|
||||||
|
static vu8 sNowImport = FALSE;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部関数宣言
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void ProgressThread(void* arg);
|
||||||
|
static void Destructor(void* arg);
|
||||||
|
void ProgressInit(void);
|
||||||
|
void ProgressDraw(f32 ratio);
|
||||||
|
static void UpdateNandBoxCount( void );
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
処理関数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiImportTad
|
||||||
|
|
||||||
|
Description: .tad ファイルインポート
|
||||||
|
|
||||||
|
Arguments: no
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
BOOL kamiImportTad(char* path, NAMTitleId* pTitleId)
|
||||||
|
{
|
||||||
|
NAMTadInfo tadInfo;
|
||||||
|
OSThread thread;
|
||||||
|
s32 nam_result;
|
||||||
|
|
||||||
|
// tadファイルの情報取得
|
||||||
|
if (NAM_ReadTadInfo(&tadInfo, path) != NAM_OK)
|
||||||
|
{
|
||||||
|
OS_Warning(" Fail! : NAM_ReadTadInfo\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 後でアプリジャンプするTitleIdをここで読み取っておく
|
||||||
|
*pTitleId = tadInfo.titleInfo.titleId;
|
||||||
|
|
||||||
|
// Not Launch なら失敗
|
||||||
|
if (tadInfo.titleInfo.titleId & TITLE_ID_NOT_LAUNCH_FLAG_MASK)
|
||||||
|
{
|
||||||
|
OS_Warning(" Fail! : NOT_LAUNCH_FLAG is specified in rsf file\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data Only なら失敗
|
||||||
|
if (tadInfo.titleInfo.titleId & TITLE_ID_DATA_ONLY_FLAG_MASK)
|
||||||
|
{
|
||||||
|
OS_Warning(" Fail! : DATA_ONLY_FLAG is specified in rsf file\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOT_LAUNCH_FLAG または DATA_ONLY_FLAG が立っていないタイトルの場合
|
||||||
|
// freeSoftBoxCountに空きがなければインポートしない
|
||||||
|
if (NAMUT_SearchInstalledSoftBoxCount() == LCFG_TWL_FREE_SOFT_BOX_COUNT_MAX)
|
||||||
|
{
|
||||||
|
OS_Warning(" Fail! : NAND FreeSoftBoxCount == 0\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// インポート開始フラグを立てる
|
||||||
|
sNowImport = TRUE;
|
||||||
|
|
||||||
|
// 進捗スレッド作成
|
||||||
|
spStack = OS_Alloc(THREAD_STACK_SIZE);
|
||||||
|
MI_CpuClear8(spStack, THREAD_STACK_SIZE);
|
||||||
|
OS_CreateThread(&thread, ProgressThread, NULL,
|
||||||
|
(void*)((u32)spStack + THREAD_STACK_SIZE), THREAD_STACK_SIZE, OS_GetCurrentThread()->priority - 1);
|
||||||
|
OS_SetThreadDestructor( &thread, Destructor );
|
||||||
|
OS_WakeupThreadDirect(&thread);
|
||||||
|
|
||||||
|
// Import開始
|
||||||
|
nam_result = NAM_ImportTad( path );
|
||||||
|
|
||||||
|
// 進捗スレッドの自力終了を待つ
|
||||||
|
while (sNowImport){};
|
||||||
|
|
||||||
|
if ( nam_result == NAM_OK )
|
||||||
|
{
|
||||||
|
// InstalledSoftBoxCount, FreeSoftBoxCount の値を現在のNANDの状態に合わせて更新します。
|
||||||
|
UpdateNandBoxCount();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OS_Warning(" Fail! : NAM Result Code = 0x%x\n", nam_result);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Destructor(void* /*arg*/)
|
||||||
|
{
|
||||||
|
OS_Free(spStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: ProgressThread
|
||||||
|
|
||||||
|
Description: .tad ファイルインポートの進捗を表示するスレッド。
|
||||||
|
進捗が100%に達すると処理を抜ける。
|
||||||
|
|
||||||
|
Arguments: arg - 使用しない。
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void ProgressThread(void* /*arg*/)
|
||||||
|
{
|
||||||
|
u32 currentSize;
|
||||||
|
u32 totalSize = 0;
|
||||||
|
u32 totalSizeBk = 0;
|
||||||
|
|
||||||
|
ProgressInit();
|
||||||
|
|
||||||
|
while (TRUE)
|
||||||
|
{
|
||||||
|
NAM_GetProgress(¤tSize, &totalSize);
|
||||||
|
|
||||||
|
if ((totalSize > 0 && totalSize == currentSize) || totalSizeBk > totalSize)
|
||||||
|
{
|
||||||
|
// 既にインポートが終了
|
||||||
|
ProgressDraw((f32)1.0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (totalSize > 0)
|
||||||
|
{
|
||||||
|
ProgressDraw((f32)currentSize/totalSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
totalSizeBk = totalSize;
|
||||||
|
|
||||||
|
// Vブランク待ち
|
||||||
|
OS_WaitVBlankIntr();
|
||||||
|
}
|
||||||
|
|
||||||
|
sNowImport = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: ProgressInit
|
||||||
|
|
||||||
|
Description: インポートの進捗を表示します
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void ProgressInit(void)
|
||||||
|
{
|
||||||
|
sCurrentProgress = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: ProgressDraw
|
||||||
|
|
||||||
|
Description: インポートの進捗を表示します
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void ProgressDraw(f32 ratio)
|
||||||
|
{
|
||||||
|
char square[2] = { 0x01, 0x00 };
|
||||||
|
u32 temp;
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
temp = (u32)(32 * ratio);
|
||||||
|
if (temp > sCurrentProgress)
|
||||||
|
{
|
||||||
|
s32 diff = (s32)(temp - sCurrentProgress);
|
||||||
|
for (i=0;i<diff;i++)
|
||||||
|
{
|
||||||
|
kamiFontPrintfConsole(2, square);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sCurrentProgress = temp;
|
||||||
|
|
||||||
|
// フォントスクリーンデータロード
|
||||||
|
kamiFontLoadScreenData();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: UpdateNandBoxCount
|
||||||
|
|
||||||
|
Description: InstalledSoftBoxCount, FreeSoftBoxCount の値を
|
||||||
|
現在のNANDの状態に合わせて更新します。
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void UpdateNandBoxCount( void )
|
||||||
|
{
|
||||||
|
u32 installedSoftBoxCount;
|
||||||
|
u32 freeSoftBoxCount;
|
||||||
|
|
||||||
|
// InstalledSoftBoxCount, FreeSoftBoxCount を数えなおす
|
||||||
|
installedSoftBoxCount = NAMUT_SearchInstalledSoftBoxCount();
|
||||||
|
freeSoftBoxCount = LCFG_TWL_FREE_SOFT_BOX_COUNT_MAX - installedSoftBoxCount;
|
||||||
|
|
||||||
|
// LCFGライブラリの静的変数に対する更新
|
||||||
|
LCFG_TSD_SetInstalledSoftBoxCount( (u8)installedSoftBoxCount );
|
||||||
|
LCFG_TSD_SetFreeSoftBoxCount( (u8)freeSoftBoxCount );
|
||||||
|
|
||||||
|
// LCFGライブラリの静的変数の値をNANDに反映
|
||||||
|
{
|
||||||
|
u8 *pBuffer = OS_Alloc( LCFG_WRITE_TEMP );
|
||||||
|
if( pBuffer ) {
|
||||||
|
(void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
|
||||||
|
OS_Free( pBuffer );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,392 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: kami_font.c
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
#include "kami_font.h"
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
型定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
定数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#define SCREEN_DATA_COLOR_PLTT_SHIFT 12
|
||||||
|
#define NUM_OF_PRINT_TARGET 2
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部変数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static u8 sXPos;
|
||||||
|
static u8 sYPos;
|
||||||
|
|
||||||
|
static u32 sBackColorCharData[24*8];
|
||||||
|
|
||||||
|
static u16 sFontScreenDataMain[32 * 24] = {
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
};
|
||||||
|
|
||||||
|
static u16 sFontScreenDataSub[24*32] = {
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
};
|
||||||
|
|
||||||
|
static u16 sBackColorScreenData[32 * 24] = {
|
||||||
|
0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,0xf0de,
|
||||||
|
0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,0xf0df,
|
||||||
|
0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,0xf0e0,
|
||||||
|
0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,0xf0e1,
|
||||||
|
0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,0xf0e2,
|
||||||
|
0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,0xf0e3,
|
||||||
|
0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,0xf0e4,
|
||||||
|
0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,0xf0e5,
|
||||||
|
0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,0xf0e6,
|
||||||
|
0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,0xf0e7,
|
||||||
|
0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,0xf0e8,
|
||||||
|
0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,0xf0e9,
|
||||||
|
0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,0xf0ea,
|
||||||
|
0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,0xf0eb,
|
||||||
|
0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,0xf0ec,
|
||||||
|
0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,0xf0ed,
|
||||||
|
0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,0xf0ee,
|
||||||
|
0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,0xf0ef,
|
||||||
|
0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,0xf0f0,
|
||||||
|
0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,0xf0f1,
|
||||||
|
0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,0xf0f2,
|
||||||
|
0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,0xf0f3,
|
||||||
|
0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,0xf0f4,
|
||||||
|
0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,0xf0f5,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部関数宣言
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void kamiFontReturnConsole( void );
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
関数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name:
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Arguments: None
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontInit(void)
|
||||||
|
{
|
||||||
|
// 背景用キャラクタデータ
|
||||||
|
MI_CpuCopy32( &sampleCharData[8 * 0xde], sBackColorCharData, sizeof(sBackColorCharData) );
|
||||||
|
|
||||||
|
// 背景用スクリーンデータセット
|
||||||
|
DC_FlushRange ( sBackColorScreenData, sizeof(sBackColorScreenData) );
|
||||||
|
GXS_LoadBG1Scr ( sBackColorScreenData, 0, sizeof(sBackColorScreenData) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name:
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Arguments: None
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontLoadScreenData(void)
|
||||||
|
{
|
||||||
|
DC_FlushRange ( sFontScreenDataMain, sizeof(sFontScreenDataMain) );
|
||||||
|
GX_LoadBG0Scr ( sFontScreenDataMain, 0, sizeof(sFontScreenDataMain) );
|
||||||
|
|
||||||
|
DC_FlushRange ( sFontScreenDataSub, sizeof(sFontScreenDataSub) );
|
||||||
|
GXS_LoadBG0Scr ( sFontScreenDataSub, 0, sizeof(sFontScreenDataSub) );
|
||||||
|
|
||||||
|
// 背景キャラクタデータ書き換え
|
||||||
|
DC_FlushRange( sBackColorCharData, sizeof(sBackColorCharData) );
|
||||||
|
GXS_LoadBG0Char( sBackColorCharData, 0xde*32, sizeof(sBackColorCharData) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontClear
|
||||||
|
|
||||||
|
Description: 仮想スクリーンをクリアする
|
||||||
|
|
||||||
|
Arguments: None
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontClear(void)
|
||||||
|
{
|
||||||
|
MI_CpuClear8( sFontScreenDataSub, sizeof(sFontScreenDataSub) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontPrintf
|
||||||
|
|
||||||
|
Description: 仮想スクリーンに文字列を配置する。文字列は32文字まで。
|
||||||
|
|
||||||
|
Arguments: x - 文字列の先頭を配置する x 座標( × 8 ドット )。
|
||||||
|
y - 文字列の先頭を配置する y 座標( × 8 ドット )。
|
||||||
|
color - 文字の色をパレット番号で指定。
|
||||||
|
text - 配置する文字列。終端文字はNULL。
|
||||||
|
... - 仮想引数。
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontPrintf(s16 x, s16 y, u8 color, char *text, ...)
|
||||||
|
{
|
||||||
|
va_list vlist;
|
||||||
|
char temp[32 + 2];
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
va_start(vlist, text);
|
||||||
|
(void)vsnprintf(temp, 33, text, vlist);
|
||||||
|
va_end(vlist);
|
||||||
|
|
||||||
|
*(u16 *)(&temp[32]) = 0x0000;
|
||||||
|
for (i = 0;temp[i] != 0x00; i++)
|
||||||
|
{
|
||||||
|
sFontScreenDataSub[((y * 32) + x + i) % (24 * 32)] =
|
||||||
|
(u16)((color << SCREEN_DATA_COLOR_PLTT_SHIFT) | temp[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontPrintf
|
||||||
|
|
||||||
|
Description: 仮想スクリーンに文字列を配置する。文字列は32文字まで。
|
||||||
|
|
||||||
|
Arguments: x - 文字列の先頭を配置する x 座標( × 8 ドット )。
|
||||||
|
y - 文字列の先頭を配置する y 座標( × 8 ドット )。
|
||||||
|
color - 文字の色をパレット番号で指定。
|
||||||
|
text - 配置する文字列。終端文字はNULL。
|
||||||
|
... - 仮想引数。
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontPrintfMain(s16 x, s16 y, u8 color, char *text, ...)
|
||||||
|
{
|
||||||
|
va_list vlist;
|
||||||
|
char temp[32 + 2];
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
va_start(vlist, text);
|
||||||
|
(void)vsnprintf(temp, 33, text, vlist);
|
||||||
|
va_end(vlist);
|
||||||
|
|
||||||
|
*(u16 *)(&temp[32]) = 0x0000;
|
||||||
|
for (i = 0;temp[i] != 0x00; i++)
|
||||||
|
{
|
||||||
|
sFontScreenDataMain[((y * 32) + x + i) % (24 * 32)] =
|
||||||
|
(u16)((color << SCREEN_DATA_COLOR_PLTT_SHIFT) | temp[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontFillChar
|
||||||
|
|
||||||
|
Description: 仮想スクリーンに
|
||||||
|
|
||||||
|
Arguments: x - 文字列の先頭を配置する x 座標( × 8 ドット )。
|
||||||
|
y - 文字列の先頭を配置する y 座標( × 8 ドット )。
|
||||||
|
color - 文字の色をパレット番号で指定。
|
||||||
|
value
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontFillChar(int lineNo, u8 color1, u8 color2)
|
||||||
|
{
|
||||||
|
s32 i;
|
||||||
|
u32 line;
|
||||||
|
int charNo = 0xde + lineNo;
|
||||||
|
|
||||||
|
if (color1 < 0x10)
|
||||||
|
{
|
||||||
|
line = (u32)(0x11111111 * color1);
|
||||||
|
|
||||||
|
for (i = 0;i<4; i++)
|
||||||
|
{
|
||||||
|
sBackColorCharData[8 * lineNo + i] = line;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (color2 < 0x10)
|
||||||
|
{
|
||||||
|
line = (u32)(0x11111111 * color2);
|
||||||
|
|
||||||
|
for (i = 4;i<8; i++)
|
||||||
|
{
|
||||||
|
sBackColorCharData[8 * lineNo + i] = line;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontPrintfConsole
|
||||||
|
|
||||||
|
Description: 仮想コンソールに文字列を配置する。文字列は256文字まで。
|
||||||
|
|
||||||
|
Arguments: color - 文字の色をパレット番号で指定。
|
||||||
|
text - 配置する文字列。終端文字はNULL。
|
||||||
|
... - 仮想引数。
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontPrintfConsole(u8 color, const char *text, ...)
|
||||||
|
{
|
||||||
|
va_list vlist;
|
||||||
|
char temp[256 + 2];
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
va_start(vlist, text);
|
||||||
|
(void)vsnprintf(temp, 256, text, vlist);
|
||||||
|
va_end(vlist);
|
||||||
|
|
||||||
|
// 終端追加
|
||||||
|
*(u16 *)(&temp[256]) = 0x0000;
|
||||||
|
|
||||||
|
for(i=0; temp[i] != 0x00; i++)
|
||||||
|
{
|
||||||
|
if (temp[i] == 0x0A)
|
||||||
|
{
|
||||||
|
// 改行コード
|
||||||
|
kamiFontReturnConsole();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 一文字ずつ書き込み
|
||||||
|
sFontScreenDataMain[((sYPos * 32) + sXPos) % (24 * 32)] =
|
||||||
|
(u16)((color << SCREEN_DATA_COLOR_PLTT_SHIFT) | temp[i]);
|
||||||
|
|
||||||
|
// X座標が右端に到達した場合は改行処理
|
||||||
|
if (++sXPos >= 32)
|
||||||
|
{
|
||||||
|
kamiFontReturnConsole();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontPrintfConsoleEx
|
||||||
|
|
||||||
|
Description: 仮想コンソールに文字列を配置する。文字列は256文字まで。
|
||||||
|
OS_Printfもついでに実行する。
|
||||||
|
|
||||||
|
Arguments: color - 文字の色をパレット番号で指定。
|
||||||
|
text - 配置する文字列。終端文字はNULL。
|
||||||
|
... - 仮想引数。
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
kamiFontPrintfConsoleEx(u8 color, const char *text, ...)
|
||||||
|
{
|
||||||
|
va_list vlist;
|
||||||
|
char temp[256 + 2];
|
||||||
|
|
||||||
|
va_start(vlist, text);
|
||||||
|
(void)vsnprintf(temp, 256, text, vlist);
|
||||||
|
va_end(vlist);
|
||||||
|
|
||||||
|
kamiFontPrintfConsole(color, temp);
|
||||||
|
OS_TPrintf(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: kamiFontReturnConsole
|
||||||
|
|
||||||
|
Description: 仮想コンソールにおける改行処理を行う
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
static void
|
||||||
|
kamiFontReturnConsole( void )
|
||||||
|
{
|
||||||
|
sXPos = 0;
|
||||||
|
if (sYPos < 23)
|
||||||
|
{
|
||||||
|
// 次の行へ
|
||||||
|
sYPos++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 既に最終行に到達している場合シフトを行う
|
||||||
|
MI_CpuCopy32( &sFontScreenDataMain[32], sFontScreenDataMain, sizeof(u16)*32*23 );
|
||||||
|
MI_CpuClear32( &sFontScreenDataMain[32*23], sizeof(u16)*32);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
184
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/src/main.c
Normal file
184
build/systemMenu_RED/NandAppDebugCoordinator/ARM9.TWL/src/main.c
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NandAppDebugCoordinator
|
||||||
|
File: main.c
|
||||||
|
|
||||||
|
Copyright 2008 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.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
#include <nitro/snd.h>
|
||||||
|
#include <twl/fatfs.h>
|
||||||
|
#include <nitro/card.h>
|
||||||
|
#include <twl/nam.h>
|
||||||
|
#include "kami_font.h"
|
||||||
|
#include "import.h"
|
||||||
|
#include "graphics.h"
|
||||||
|
#include "hwi.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define DEBUG_TARGET_TAD_FILE_PATH "hostio:/c:/TwlIPL/build/systemMenu_RED/MachineSettings/ARM9/bin/ARM9-TS.LTD/Release/HNBA.Release.tad"
|
||||||
|
|
||||||
|
|
||||||
|
extern void HWInfoWriterInit( void );
|
||||||
|
extern void FS_MountHostIO(const char *basepath);
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部変数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static NAMTitleId titleId;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
内部関数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
static void VBlankIntr(void);
|
||||||
|
static void InitAllocation(void);
|
||||||
|
|
||||||
|
// 現時点ではカード割り込みをHIO通知に使用しているようなので
|
||||||
|
// カード抜け誤検出を無視するようにしてテストを作成している。
|
||||||
|
static BOOL IgnoreRemoval(void)
|
||||||
|
{
|
||||||
|
OS_TWarning("detected CARD-removal!(miss-notification from debugger Host-I/O)\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: TwlMain
|
||||||
|
|
||||||
|
Description: main
|
||||||
|
|
||||||
|
Arguments: None
|
||||||
|
|
||||||
|
Returns: None
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
TwlMain()
|
||||||
|
{
|
||||||
|
OS_Init();
|
||||||
|
OS_InitArena();
|
||||||
|
PXI_Init();
|
||||||
|
OS_InitLock();
|
||||||
|
OS_InitArenaEx();
|
||||||
|
OS_InitIrqTable();
|
||||||
|
OS_SetIrqStackChecker();
|
||||||
|
MI_Init();
|
||||||
|
OS_InitVAlarm();
|
||||||
|
OSi_InitVramExclusive();
|
||||||
|
OS_InitThread();
|
||||||
|
OS_InitReset();
|
||||||
|
GX_Init();
|
||||||
|
FX_Init();
|
||||||
|
SND_Init();
|
||||||
|
TP_Init();
|
||||||
|
RTC_Init();
|
||||||
|
|
||||||
|
InitAllocation();
|
||||||
|
|
||||||
|
// Vブランク割り込み設定
|
||||||
|
OS_SetIrqFunction(OS_IE_V_BLANK, VBlankIntr);
|
||||||
|
(void)OS_EnableIrqMask(OS_IE_V_BLANK);
|
||||||
|
(void)OS_EnableIrqMask(OS_IE_FIFO_RECV);
|
||||||
|
(void)OS_EnableIrq();
|
||||||
|
(void)GX_VBlankIntr(TRUE);
|
||||||
|
|
||||||
|
// initialize file-system
|
||||||
|
FS_Init(FS_DMA_NOT_USE);
|
||||||
|
|
||||||
|
// HostI/Oをマウント。
|
||||||
|
{
|
||||||
|
CARD_SetPulledOutCallback(IgnoreRemoval);
|
||||||
|
FS_MountHostIO("c:");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NAMライブラリ初期化
|
||||||
|
NAM_Init( OS_AllocFromMain, OS_FreeToMain);
|
||||||
|
|
||||||
|
// 表示関連初期化
|
||||||
|
InitGraphics();
|
||||||
|
kamiFontInit();
|
||||||
|
|
||||||
|
/* always preload FS table for faster directory access. */
|
||||||
|
{
|
||||||
|
u32 need_size = FS_GetTableSize();
|
||||||
|
void *p_table = OS_Alloc(need_size);
|
||||||
|
SDK_ASSERT(p_table != NULL);
|
||||||
|
(void)FS_LoadTable(p_table, need_size);
|
||||||
|
}
|
||||||
|
|
||||||
|
// HWInfo関連の前準備
|
||||||
|
// InstalledSoftBoxCount, FreeSoftBoxCount の更新のために必要
|
||||||
|
switch (HWI_Init( OS_AllocFromMain, OS_FreeToMain ))
|
||||||
|
{
|
||||||
|
case HWI_INIT_FAILURE:
|
||||||
|
// kamiFontPrintfConsoleEx(CONSOLE_RED, "HWI_INIT() Failure!\n" );
|
||||||
|
OS_Warning(" Fail! : HWI_INIT()");
|
||||||
|
break;
|
||||||
|
case HWI_INIT_SUCCESS_PRO_SIGNATURE_MODE:
|
||||||
|
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, "[PRO Signature MODE]\n" );
|
||||||
|
break;
|
||||||
|
case HWI_INIT_SUCCESS_DEV_SIGNATURE_MODE:
|
||||||
|
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, "[DEV Signature MODE]\n" );
|
||||||
|
break;
|
||||||
|
case HWI_INIT_SUCCESS_NO_SIGNATRUE_MODE:
|
||||||
|
// kamiFontPrintfConsoleEx(CONSOLE_RED, "[No Signature MODE]\n" );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TADのインポート開始
|
||||||
|
if (kamiImportTad(DEBUG_TARGET_TAD_FILE_PATH, &titleId))
|
||||||
|
{
|
||||||
|
// インポートに成功したならアプリジャンプ
|
||||||
|
OS_DoApplicationJump( titleId, OS_APP_JUMP_NORMAL );
|
||||||
|
}
|
||||||
|
|
||||||
|
while(1){};
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: VBlankIntr
|
||||||
|
|
||||||
|
Description: VBlank割り込み処理
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
static void
|
||||||
|
VBlankIntr(void)
|
||||||
|
{
|
||||||
|
OS_SetIrqCheckFlag(OS_IE_V_BLANK); // checking VBlank interrupt
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: InitAllocation
|
||||||
|
|
||||||
|
Description: ヒープの初期化.
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
static void InitAllocation(void)
|
||||||
|
{
|
||||||
|
void *tmp;
|
||||||
|
OSHeapHandle hh;
|
||||||
|
|
||||||
|
/* アリーナの初期化 */
|
||||||
|
tmp = OS_InitAlloc(OS_ARENA_MAIN, OS_GetMainArenaLo(), OS_GetMainArenaHi(), 1);
|
||||||
|
OS_SetArenaLo(OS_ARENA_MAIN, tmp);
|
||||||
|
hh = OS_CreateHeap(OS_ARENA_MAIN, OS_GetMainArenaLo(), OS_GetMainArenaHi());
|
||||||
|
if (hh < 0)
|
||||||
|
OS_Panic("ARM9: Fail to create heap...\n");
|
||||||
|
hh = OS_SetCurrentHeap(OS_ARENA_MAIN, hh);
|
||||||
|
}
|
||||||
|
|
||||||
31
build/systemMenu_RED/NandAppDebugCoordinator/Makefile
Normal file
31
build/systemMenu_RED/NandAppDebugCoordinator/Makefile
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: TwlSDK - tests - camera
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2007 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.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = ARM9.TWL
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
Loading…
Reference in New Issue
Block a user