mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
同一メーカータイトル一覧のテストアプリをコミット
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2099 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
1d6c60c620
commit
31733c2458
271
build/debugsoft/MakerTitle/TitleList/Makefile
Normal file
271
build/debugsoft/MakerTitle/TitleList/Makefile
Normal file
@ -0,0 +1,271 @@
|
||||
#! make -f
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: TwlSDK - save_data - DisplayVersion
|
||||
# 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$
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
override TARGET_PLATFORM = TWL
|
||||
override TARGET_CODEGEN = ARM
|
||||
override TWL_ARCHGEN = LIMITED
|
||||
|
||||
|
||||
|
||||
ifeq ($(ROM_NAME),)
|
||||
|
||||
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
||||
|
||||
do-build: do-something-build
|
||||
clean: do-something
|
||||
clobber: do-something
|
||||
install: do-something
|
||||
do-build: MY_GOAL=
|
||||
clean: MY_GOAL=clean
|
||||
clobber: MY_GOAL=clobber
|
||||
install: MY_GOAL=install
|
||||
|
||||
do-something-build:
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=A SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=B SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=C SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=D SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=E SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=F SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=G SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=H SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=I SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=J SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
|
||||
do-something:
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=A SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=B SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=C SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=D SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=E SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=F SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=G SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=H SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=I SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
+$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=J SKIP_SUBDIR=FALSE $(MY_GOAL)
|
||||
|
||||
include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
||||
|
||||
|
||||
else
|
||||
|
||||
SUBDIRS =
|
||||
MACRO_FLAGS :=
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
TWL_NANDAPP := TRUE
|
||||
MASTER_NAME := TitleList
|
||||
APP_NAME = $(MASTER_NAME)_$(ROM_NAME)
|
||||
|
||||
SRCS = main.c font.c screen.c appmain.c
|
||||
|
||||
LLIBRARIES = libnam$(TWL_LIBSUFFIX).a libes$(TWL_LIBSUFFIX).a \
|
||||
libsea$(TWL_LIBSUFFIX).a libboc$(TWL_LIBSUFFIX).a \
|
||||
libsfs$(TWL_LIBSUFFIX).a
|
||||
|
||||
#-------------------------
|
||||
#-- ROM A ~ Jまでのパラメータ設定
|
||||
|
||||
# デフォルトのロムパラメータ
|
||||
PUB_SAVE := 16K
|
||||
PRV_SAVE := 16K
|
||||
MAKER_CODE := 01
|
||||
SEQURE := FALSE
|
||||
APP_TYPE := User
|
||||
|
||||
ifeq ($(ROM_NAME),A)
|
||||
APP_TYPE := System
|
||||
SEQURE := TRUE
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),B)
|
||||
APP_TYPE := System
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),C)
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),D)
|
||||
PRV_SAVE := 0K
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),E)
|
||||
PUB_SAVE := 0K
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),F)
|
||||
PRV_SAVE := 0K
|
||||
PUB_SAVE := 0K
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),G)
|
||||
MAKER_CODE := 02
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),H)
|
||||
MAKER_CODE := 02
|
||||
PRV_SAVE := 0K
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),I)
|
||||
MAKER_CODE := 02
|
||||
PUB_SAVE := 0K
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_NAME),J)
|
||||
MAKER_CODE := 02
|
||||
PRV_SAVE := 0K
|
||||
PUB_SAVE := 0K
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ENABLE_PUB := TRUE
|
||||
ENABLE_PRV := TRUE
|
||||
|
||||
ifeq ($(ENABLE_PUB),0K)
|
||||
ENABLE_PUB := FALSE
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_PRV),0K)
|
||||
ENABLE_PRV := FALSE
|
||||
endif
|
||||
|
||||
|
||||
GAME_CODE = 4K$(ROM_NAME)A
|
||||
TARGET_BIN = $(APP_NAME).tad
|
||||
|
||||
|
||||
|
||||
#-------------------------
|
||||
#-- NAND アプリではいくつかのパラメータの指定のために固有の RSF ファイルが必要です。
|
||||
|
||||
ROM_SPEC = $(MASTER_NAME).$(ROM_NAME).autogen.rsf
|
||||
ROM_SPEC_TEMPLATE = $(ROOT)/include/twl/specfiles/ROM-TS_sys.rsf
|
||||
ROM_SPEC_PARAM = MakerCode=$(MAKER_CODE) \
|
||||
TitleName=TITLE_LIST_$(ROM_NAME) \
|
||||
GameCode=$(GAME_CODE) \
|
||||
BannerFile=./banner/banner_$(ROM_NAME).bnr \
|
||||
PublicSaveDataSize=$(PUB_SAVE) \
|
||||
PrivateSaveDataSize=$(PRV_SAVE) \
|
||||
WramMapping=MAP_TS_SCR \
|
||||
AppType=$(APP_TYPE) \
|
||||
Media=NAND \
|
||||
Secure=$(SEQURE) \
|
||||
|
||||
|
||||
|
||||
#-------------------------
|
||||
#-- NAMを使うためにsecure componentを使う
|
||||
|
||||
COMPONENT_NAME = armadillo
|
||||
MAKEROM_ARM7_BASE = $(TWL_COMPONENTSDIR)/$(COMPONENT_NAME)/$(TWL_BUILDTYPE_ARM7)/$(COMPONENT_NAME)
|
||||
MAKEROM_ARM7 = $(MAKEROM_ARM7_BASE).$(TWL_ELF_EXT)
|
||||
|
||||
#-------------------------
|
||||
# インストール指定
|
||||
|
||||
ifneq ($(TWL_IPL_RED_ROOT),)
|
||||
INSTALL_DIR = $(TWL_IPL_RED_ROOT)/debugsoft/$(MASTER_NAME)
|
||||
INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN)
|
||||
endif
|
||||
|
||||
#-------------------------
|
||||
#-- カードアプリと同様に ROM-FS にファイルを持たせます。
|
||||
|
||||
#MAKEROM_ROMROOT = ./rom_data
|
||||
#MAKEROM_ROMFILES = *.*
|
||||
|
||||
#-------------------------
|
||||
#-- バナーデータを生成します
|
||||
BANNER = ./banner/banner_$(ROM_NAME).bnr
|
||||
BANNERSRC := ./banner/data/Cell/Cell_$(ROM_NAME).nce
|
||||
#BANNERSRC := $(wildcard ./banner/data/Cell/*.nce)
|
||||
MAKEBANNER = $(TWL_TOOLSDIR)/bin/makebanner.TWL.exe
|
||||
BANNERCVTR = $(TWL_TOOLSDIR)/bin/bannercvtr.exe
|
||||
|
||||
#-------------------------
|
||||
# rom 内のファイルは全て自動生成なので clean で削除されるようにします
|
||||
LDIRT_CLEAN = $(MAKEROM_ROMROOT)
|
||||
|
||||
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
||||
|
||||
ifeq ($(SEQURE),TRUE)
|
||||
MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe # commondefs を include した後でなければならない
|
||||
MAKETAD_OPTION := -s # modulerules を include する前でなければならない
|
||||
else
|
||||
ifeq ($(APP_TYPE),System)
|
||||
MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.sys.exe # commondefs を include した後でなければならない
|
||||
MAKETAD_OPTION := -s # modulerules を include する前でなければならない
|
||||
else
|
||||
MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.exe # commondefs を include した後でなければならない
|
||||
endif
|
||||
endif
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
#MACRO_FLAGS += -DMYCODE=\"$(GAME_CODE)\"
|
||||
#MACRO_FLAGS += -DMYNAME=\"$(ROM_NAME)\"
|
||||
#MACRO_FLAGS += -DENABLEPUB=$(ENABLE_PUB)
|
||||
#MACRO_FLAGS += -DENABLEPRV=$(ENABLE_PRV)
|
||||
|
||||
|
||||
do-build: rmlcf mycode $(TARGETS)
|
||||
#do-build: rmlcf $(TARGETS)
|
||||
|
||||
.PHONY: mycode rmlcf
|
||||
|
||||
mycode:
|
||||
echo -e "#ifndef MYCODE_\n#define MYCODE_\n#define MYCODE \"$(GAME_CODE)\"\n#define MYNAME \"$(ROM_NAME)\"\n#define ENABLEPUB $(ENABLE_PUB)\n#define ENABLEPRV $(ENABLE_PRV)\n\n#endif" > ./include/mycode.h
|
||||
|
||||
#mycode:
|
||||
# echo -e "#ifndef MYCODE_\n#define MYCODE_\n#define MYCODE \"$(GAME_CODE)\"\n#define MYNAME \"$(ROM_NAME)\"\n#define ENABLEPUB $(ENABLE_PUB)\n#define ENABLEPRV $(ENABLE_PRV)\n\n#endif" > ./include/mycode.h
|
||||
|
||||
|
||||
rmlcf:
|
||||
rm -rf $(BINDIR)/*.lcf
|
||||
|
||||
#-------------------------
|
||||
#-- SRL を作成する前にバナーが作成されるようにします。
|
||||
|
||||
$(BINDIR)/$(TARGET_BIN_BASENAME).$(TWL_ELF_EXT): $(BANNER) make_dir
|
||||
|
||||
#-------------------------
|
||||
#-- rom_data/build_time.txt を作成します。
|
||||
|
||||
make_dir:
|
||||
$(INSTALL) -d $(MAKEROM_ROMROOT)
|
||||
#build_time:
|
||||
# $(INSTALL) -d $(MAKEROM_ROMROOT)
|
||||
# echo -n "build at `date \"+%Y/%m/%d %H:%M:%S\"` on \"`hostname`\"" > $(MAKEROM_ROMROOT)/build_time.txt
|
||||
|
||||
#-------------------------
|
||||
#-- バナー作成用ターゲット
|
||||
|
||||
$(BANNER): $(BANNER:.bnr=.bin) $(BANNER:.bnr=.bsf)
|
||||
$(MAKEBANNER) -A $(BANNER:.bnr=.bin) $(BANNER:.bnr=.bsf) $@
|
||||
|
||||
$(BANNER:.bnr=.bin): $(BANNERSRC)
|
||||
$(BANNERCVTR) -o $@ $<
|
||||
|
||||
|
||||
include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
||||
|
||||
endif
|
||||
|
||||
#===== End of Makefile =====
|
||||
BIN
build/debugsoft/MakerTitle/TitleList/ROMセット.xls
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/ROMセット.xls
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_A.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_A.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_B.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_B.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_C.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_C.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_D.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_D.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_E.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_E.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_F.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_F.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_G.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_G.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_H.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_H.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_I.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_I.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_J.bsf
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/banner_J.bsf
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_A.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_A.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_B.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_B.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_C.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_C.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_D.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_D.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_E.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_E.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_F.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_F.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_G.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_G.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_H.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_H.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_I.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_I.nce
Normal file
Binary file not shown.
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_J.nce
Normal file
BIN
build/debugsoft/MakerTitle/TitleList/banner/data/Cell/Cell_J.nce
Normal file
Binary file not shown.
42
build/debugsoft/MakerTitle/TitleList/include/appmain.h
Normal file
42
build/debugsoft/MakerTitle/TitleList/include/appmain.h
Normal file
@ -0,0 +1,42 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK_IPL - debugsoft - MakerTitle - TitleList
|
||||
File: appmain.h
|
||||
|
||||
Copyright 2003 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 APPMAIN_H_
|
||||
#define APPMAIN_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
#include <nitro/types.h>
|
||||
|
||||
void DrawScreen(void);
|
||||
void DoWritingTest(void);
|
||||
void DoReadingTest(void);
|
||||
void DeleteSaveDatas(void);
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* SCREEN_H_ */
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
End of file
|
||||
*---------------------------------------------------------------------------*/
|
||||
42
build/debugsoft/MakerTitle/TitleList/include/font.h
Normal file
42
build/debugsoft/MakerTitle/TitleList/include/font.h
Normal file
@ -0,0 +1,42 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK - demos - os - reset-1
|
||||
File: font.h
|
||||
|
||||
Copyright 2003 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 FONT_H_
|
||||
#define FONT_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
|
||||
#include <nitro/types.h>
|
||||
|
||||
extern const u32 d_CharData[8 * 256];
|
||||
extern const u32 d_PaletteData[8 * 16];
|
||||
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* FONT_H_ */
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
End of file
|
||||
*---------------------------------------------------------------------------*/
|
||||
45
build/debugsoft/MakerTitle/TitleList/include/screen.h
Normal file
45
build/debugsoft/MakerTitle/TitleList/include/screen.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK - demos - os - reset-1
|
||||
File: screen.h
|
||||
|
||||
Copyright 2003 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 SCREEN_H_
|
||||
#define SCREEN_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
#include <nitro/types.h>
|
||||
|
||||
extern u16 gScreen[2][32 * 32];
|
||||
|
||||
void ClearScreen(void);
|
||||
void ClearSubScreen(void);
|
||||
void PrintString(s16 x, s16 y, u8 palette, char *text, ...);
|
||||
void ColorString(s16 x, s16 y, s16 length, u8 palette);
|
||||
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* SCREEN_H_ */
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
End of file
|
||||
*---------------------------------------------------------------------------*/
|
||||
36
build/debugsoft/MakerTitle/TitleList/readme.txt
Normal file
36
build/debugsoft/MakerTitle/TitleList/readme.txt
Normal file
@ -0,0 +1,36 @@
|
||||
TitleList
|
||||
|
||||
*概要*
|
||||
メーカーコードやアプリ種別、セーブデータ領域の有無などが異なるアプリ間で
|
||||
セーブデータアクセスが正常に行われるかどうかを確認するアプリセットです。
|
||||
|
||||
|
||||
*テスト方法*
|
||||
①/debugsoft/TitleList 以下のTitleList_A.tad~TitleList_J.tadを全てインポートします(以下これらのtadをまとめて、ロムセットと表記します)
|
||||
②各ロムを起動して、
|
||||
Aボタン - ロムセットへの書き込みテストと
|
||||
Bボタン - 自身のセーブデータの読み込みテスト
|
||||
|
||||
を行うことができます。
|
||||
|
||||
*アプリの仕様*
|
||||
書き込みテスト:
|
||||
Aボタンを押すと、自分自身を除くロムセットのセーブデータに対して書き込みを試行します。
|
||||
下画面に各ロムに対しての試行結果が表示されます。結果の表示の示す意味は下記の通りです。
|
||||
|
||||
○…正常に書き込みが行われた
|
||||
×…書き込めなかった
|
||||
-…セーブデータ領域が存在しない、または自分自身である
|
||||
|
||||
書き込むデータは、"Written by [X]" で、Xには自身のロム名(A~J)が入ります。
|
||||
|
||||
読み込みテスト:
|
||||
Bボタンを押すと、自身のセーブデータの内容を表示することができます。
|
||||
これによって、書き込みテストで実際にデータが書き込まれたかどうかを確認することができます。
|
||||
|
||||
セーブデータクリア:
|
||||
ROM Aのみ、Xボタンを押すと、ロムセットのセーブデータを全てクリアします。
|
||||
|
||||
*ロムセットの内容*
|
||||
ROMセット.xlsを参照してください。
|
||||
|
||||
250
build/debugsoft/MakerTitle/TitleList/src/appmain.c
Normal file
250
build/debugsoft/MakerTitle/TitleList/src/appmain.c
Normal file
@ -0,0 +1,250 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK_IPL - debugsoft - MakerTitle - TitleList
|
||||
File: appmain.c
|
||||
|
||||
Copyright 2003 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 "appmain.h"
|
||||
#include "screen.h"
|
||||
#include "mycode.h"
|
||||
#include "title.h"
|
||||
#include <twl/na.h>
|
||||
#include <nitro/fs.h>
|
||||
#include <nitro/std.h>
|
||||
#include <nitro/mi.h>
|
||||
|
||||
BOOL TestWriting(const char* code, BOOL out_results[2]);
|
||||
BOOL WriteFile(const char* arc_name, const char* file_name);
|
||||
BOOL ReadFile(const char* arc_name, const char* file_name, char* out, int len);
|
||||
void PrintResult(int x, int y, char* text);
|
||||
|
||||
const char* ARC_NAME[2] = {
|
||||
"otherPub:/",
|
||||
"otherPrv:/",
|
||||
};
|
||||
|
||||
|
||||
const char* SAV_NAME[2] = {
|
||||
"dataPub:/",
|
||||
"dataPrv:/",
|
||||
};
|
||||
|
||||
const char* FILE_NAME = "save.dat";
|
||||
|
||||
BOOL TestWriting(const char* code, BOOL out_results[2])
|
||||
{
|
||||
const NATitleArchive arc[2] = {
|
||||
NA_TITLE_ARCHIVE_DATAPUB,
|
||||
NA_TITLE_ARCHIVE_DATAPRV,
|
||||
};
|
||||
s32 i = 0;
|
||||
for(i = 0; i < 2; ++i)
|
||||
{
|
||||
FSResult res = NA_LoadOtherTitleArchive(code, arc[i]);
|
||||
out_results[i] = (res != FS_RESULT_SUCCESS) ? FALSE : TRUE;
|
||||
if(res != FS_RESULT_SUCCESS)
|
||||
{
|
||||
OS_TPrintf("Mount Failed:%s\n", code);
|
||||
OS_TPrintf("ErrorCode:%d\n", res);
|
||||
continue;
|
||||
}
|
||||
|
||||
WriteFile(ARC_NAME[i], FILE_NAME);
|
||||
|
||||
NA_UnloadOtherTitleArchive();
|
||||
}
|
||||
|
||||
return out_results[0] | out_results[1];
|
||||
}
|
||||
|
||||
BOOL WriteFile(const char* arc_name, const char* file_name)
|
||||
{
|
||||
FSFile fp;
|
||||
char buf[256];
|
||||
s32 len = 0;
|
||||
|
||||
STD_TSPrintf(buf, "%s%s", arc_name, file_name);
|
||||
|
||||
FS_InitFile(&fp);
|
||||
FS_CreateFile(buf, FS_PERMIT_W | FS_PERMIT_R);
|
||||
|
||||
if(!FS_OpenFileEx(&fp, buf, FS_FILEMODE_RW))
|
||||
{
|
||||
OS_TPrintf("Open Fail:%s\n", buf);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
FS_SeekFileToEnd(&fp);
|
||||
len = STD_TSPrintf(buf, "Written by [%s]\n", MYNAME);
|
||||
FS_WriteFile(&fp, buf, len);
|
||||
FS_CloseFile(&fp);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void DrawScreen(void)
|
||||
{
|
||||
PrintString(0, 0, 15, "GameCode:%s", MYCODE);
|
||||
PrintString(0, 2, 15, "A - Writing test to other apps");
|
||||
PrintString(0, 3, 15, "B - Show my save data");
|
||||
if(STD_StrCmp("4KAA", MYCODE) == 0)
|
||||
{
|
||||
PrintString(0, 4, 15, "X - Clear save datas");
|
||||
}
|
||||
}
|
||||
|
||||
void DoWritingTest(void)
|
||||
{
|
||||
BOOL results[TITLE_COUNT][2];
|
||||
s16 i = 0;
|
||||
char* result_char[3] = {"O", "X", "-"};
|
||||
|
||||
MI_CpuClear8(results, sizeof(results));
|
||||
|
||||
ClearSubScreen();
|
||||
PrintString(0, 24, 15, "APP : PUB PRV WRITE");
|
||||
PrintString(0, 25, 15, "---------------------");
|
||||
for(i = 0; i < TITLE_COUNT; ++i)
|
||||
{
|
||||
char buf[256];
|
||||
char format[] = "ROM %c: %s %s %s";
|
||||
// 自分自身はチェックしない
|
||||
// OS_TPrintf("%s %s\n", GAMECODE_LIST[i], MYCODE);
|
||||
if(STD_StrCmp(GAMECODE_LIST[i], MYCODE) == 0){
|
||||
STD_TSPrintf(buf, format, 'A' + i, "-", "-", "-");
|
||||
}
|
||||
else
|
||||
{
|
||||
s32 result_code[3] = {0, 0, 0};
|
||||
TestWriting(GAMECODE_LIST[i], results[i]);
|
||||
result_code[0] = (!DATA_EXIST[i][0]) ? 2 : (results[i][0] ? 0 : 1);
|
||||
result_code[1] = (!DATA_EXIST[i][1]) ? 2 : (results[i][1] ? 0 : 1);
|
||||
result_code[2] = (result_code[0] == 2 && result_code[1] == 2) ? 2 : (result_code[0] != 1 && result_code[1] != 1) ? 0 : 1;
|
||||
STD_TSPrintf(buf, format, 'A' + i,
|
||||
result_char[result_code[0]],
|
||||
result_char[result_code[1]],
|
||||
result_char[result_code[2]]
|
||||
);
|
||||
}
|
||||
OS_TPrintf("%s\n", buf);
|
||||
PrintString(0, (s16)(26 + i), 15, buf);
|
||||
}
|
||||
}
|
||||
|
||||
void DoReadingTest(void)
|
||||
{
|
||||
char read_buf[2048];
|
||||
|
||||
ClearSubScreen();
|
||||
|
||||
{
|
||||
s32 i = 0;
|
||||
BOOL result[2] = {FALSE, FALSE};
|
||||
|
||||
PrintString(0, 24, 15, "Public");
|
||||
PrintString(16, 24, 15, "Private");
|
||||
for(i = 0; i < 2; ++i)
|
||||
{
|
||||
MI_CpuClear8(read_buf, sizeof(read_buf));
|
||||
result[i] = ReadFile(SAV_NAME[i], FILE_NAME, read_buf, sizeof(read_buf));
|
||||
/* if(!result[i])
|
||||
{
|
||||
continue;
|
||||
}*/
|
||||
OS_TPrintf("%s%s\n", SAV_NAME[i], FILE_NAME);
|
||||
OS_TPrintf("%s\n", read_buf);
|
||||
OS_TPrintfEx("% 256.16b\n", read_buf);
|
||||
|
||||
PrintResult(i * 16, 25, read_buf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL ReadFile(const char* arc_name, const char* file_name, char* out, int len)
|
||||
{
|
||||
FSFile fp;
|
||||
char buf[256];
|
||||
|
||||
STD_TSPrintf(buf, "%s%s", arc_name, file_name);
|
||||
|
||||
FS_InitFile(&fp);
|
||||
|
||||
if(!FS_OpenFileEx(&fp, buf, FS_FILEMODE_R))
|
||||
{
|
||||
FSResult res;
|
||||
|
||||
res = FS_GetArchiveResultCode(buf);
|
||||
OS_TPrintf("Code:%d\n", res);
|
||||
OS_TPrintf("Open Fail:%s\n", buf);
|
||||
STD_TSPrintf(out,"Error:%d\n%s Open Failed\n", res, buf);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
FS_ReadFile(&fp, out, len);
|
||||
FS_CloseFile(&fp);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void PrintResult(int x, int y, char* text)
|
||||
{
|
||||
int len = 0, i = 0;
|
||||
char *p = text, *next = NULL;
|
||||
char buf[2048];
|
||||
while(*p != '\0')
|
||||
{
|
||||
next = STD_StrChr(p, '\n');
|
||||
STD_CopyLStringZeroFill(buf, p, next - p + 1);
|
||||
OS_TPrintf("str:%s\n", buf);
|
||||
PrintString((short)x, (short)y, 15, buf);
|
||||
y++;
|
||||
p = next + 1;
|
||||
}
|
||||
}
|
||||
|
||||
void DeleteSaveDatas(void)
|
||||
{
|
||||
const NATitleArchive arc[2] = {
|
||||
NA_TITLE_ARCHIVE_DATAPUB,
|
||||
NA_TITLE_ARCHIVE_DATAPRV,
|
||||
};
|
||||
int i = 0, j = 0, k = 0;
|
||||
ClearSubScreen();
|
||||
for(i = 0; i < TITLE_COUNT; ++i)
|
||||
{
|
||||
for(j = 0; j < 2; ++j)
|
||||
{
|
||||
char path[256];
|
||||
FSResult res = NA_LoadOtherTitleArchive(GAMECODE_LIST[i], arc[j]);
|
||||
if(res != FS_RESULT_SUCCESS)
|
||||
{
|
||||
OS_TPrintf("Mount Failed:%s\n", GAMECODE_LIST[i]);
|
||||
OS_TPrintf("ErrorCode:%d\n", res);
|
||||
continue;
|
||||
}
|
||||
|
||||
STD_TSPrintf(path, "%s%s", ARC_NAME[j], FILE_NAME);
|
||||
if(!FS_DeleteFile(path))
|
||||
{
|
||||
OS_TPrintf("Delete Fail:%s\n", path);
|
||||
}
|
||||
else
|
||||
{
|
||||
OS_TPrintf("Deleted:%s %s\n", GAMECODE_LIST[i], path);
|
||||
PrintString(0,(short) (24 + k++), 15, "Deleted:%s %s", GAMECODE_LIST[i], path);
|
||||
}
|
||||
NA_UnloadOtherTitleArchive();
|
||||
}
|
||||
}
|
||||
}
|
||||
574
build/debugsoft/MakerTitle/TitleList/src/font.c
Normal file
574
build/debugsoft/MakerTitle/TitleList/src/font.c
Normal file
@ -0,0 +1,574 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK - demos - os - reset-1
|
||||
File: font.c
|
||||
|
||||
Copyright 2003 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 "font.h"
|
||||
|
||||
//----------------------------------------------------------------
|
||||
// Character data
|
||||
//
|
||||
const u32 d_CharData[8 * 256] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 0000h
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x01010010, 0x01010010, 0x00000110, // 0001h
|
||||
0x00011010, 0x01100010, 0x00000010, 0x00000010,
|
||||
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
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, // 00dfh
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00011110, 0x00001000, 0x00000100, // 00e0h
|
||||
0x00101001, 0x01010001, 0x01010001, 0x00001100,
|
||||
0x00000000, 0x00000000, 0x00001100, 0x00010010, // 00e1h
|
||||
0x00010010, 0x00100001, 0x01000000, 0x00000000,
|
||||
0x00000000, 0x01111101, 0x00100001, 0x01111101, // 00e2h
|
||||
0x00100001, 0x00111001, 0x01100101, 0x00011001,
|
||||
0x00000000, 0x00111100, 0x00010000, 0x00111100, // 00e3h
|
||||
0x00010000, 0x00011100, 0x00110010, 0x00001100,
|
||||
0x00000000, 0x00001110, 0x00101000, 0x00101000, // 00e4h
|
||||
0x00111110, 0x01100101, 0x00100101, 0x00010010,
|
||||
0x00000000, 0x00000100, 0x00101111, 0x01000100, // 00e5h
|
||||
0x00000110, 0x01000101, 0x01000101, 0x00111110,
|
||||
0x00000000, 0x00100010, 0x00100010, 0x00111110, // 00e6h
|
||||
0x01010010, 0x01010101, 0x01001101, 0x00100110,
|
||||
0x00000000, 0x00000100, 0x00011111, 0x00000010, // 00e7h
|
||||
0x00011111, 0x01000010, 0x01000010, 0x00111100,
|
||||
0x00000000, 0x00010010, 0x00111110, 0x01010011, // 00e8h
|
||||
0x01000010, 0x00100100, 0x00000100, 0x00000100,
|
||||
0x00000000, 0x00001000, 0x00111101, 0x01001011, // 00e9h
|
||||
0x01001001, 0x01001001, 0x00111000, 0x00000100,
|
||||
0x00000000, 0x00001000, 0x00111000, 0x00001000, // 00eah
|
||||
0x00001000, 0x00011110, 0x00101001, 0x00000110,
|
||||
0x00000000, 0x00011000, 0x00100000, 0x00000100, // 00ebh
|
||||
0x00111010, 0x01000110, 0x01000000, 0x00111000,
|
||||
0x00000000, 0x01000010, 0x01000010, 0x01000010, // 00ech
|
||||
0x01000110, 0x01000000, 0x00100000, 0x00011000,
|
||||
0x00000000, 0x00111110, 0x00010000, 0x00111100, // 00edh
|
||||
0x01000011, 0x01001100, 0x01010010, 0x00111100,
|
||||
0x00000000, 0x00100010, 0x00110011, 0x00101010, // 00eeh
|
||||
0x00100110, 0x00100010, 0x00100011, 0x01000010,
|
||||
0x00000000, 0x00111110, 0x00010000, 0x00111100, // 00efh
|
||||
0x01000011, 0x01000000, 0x01000010, 0x00111100,
|
||||
0x00000000, 0x00000010, 0x00111011, 0x01000110, // 00f0h
|
||||
0x01000010, 0x01000011, 0x01000010, 0x00110010,
|
||||
0x00000000, 0x00000100, 0x00000100, 0x00000010, // 00f1h
|
||||
0x01000110, 0x01000101, 0x01000101, 0x00111001,
|
||||
0x00000000, 0x01010100, 0x01111111, 0x00100100, // 00f2h
|
||||
0x00100100, 0x00100100, 0x00100010, 0x00010001,
|
||||
0x00000000, 0x01010100, 0x01011111, 0x00000100, // 00f3h
|
||||
0x00111111, 0x00001000, 0x00001000, 0x00001000,
|
||||
0x00000000, 0x01011110, 0x01100010, 0x00100010, // 00f4h
|
||||
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||
0x00000000, 0x01010010, 0x01111110, 0x00100010, // 00f5h
|
||||
0x00100001, 0x00100000, 0x00010000, 0x00001100,
|
||||
0x00000000, 0x01010000, 0x01111111, 0x00100000, // 00f6h
|
||||
0x00100000, 0x00100000, 0x00100000, 0x00111111,
|
||||
0x00000000, 0x01010010, 0x01010010, 0x00111111, // 00f7h
|
||||
0x00010010, 0x00010000, 0x00010000, 0x00001100,
|
||||
0x00000000, 0x01010011, 0x01010100, 0x00100011, // 00f8h
|
||||
0x00100100, 0x00010000, 0x00001000, 0x00000111,
|
||||
0x00000000, 0x01010000, 0x01011111, 0x00010000, // 00f9h
|
||||
0x00001000, 0x00001100, 0x00010010, 0x00100001,
|
||||
0x00000000, 0x01010010, 0x01111111, 0x00100010, // 00fah
|
||||
0x00010010, 0x00000010, 0x00000010, 0x00111100,
|
||||
0x00000000, 0x01010001, 0x01010010, 0x00100000, // 00fbh
|
||||
0x00100000, 0x00010000, 0x00001000, 0x00000110,
|
||||
0x00000000, 0x01011110, 0x01010010, 0x00100110, // 00fch
|
||||
0x00111001, 0x00100000, 0x00010000, 0x00001100,
|
||||
0x00000000, 0x01010000, 0x01011110, 0x00010000, // 00fdh
|
||||
0x01111111, 0x00010000, 0x00010000, 0x00001100,
|
||||
0x00000000, 0x00100101, 0x01001010, 0x00101010, // 00feh
|
||||
0x00100000, 0x00010000, 0x00001000, 0x00000111,
|
||||
0x00000000, 0x01011110, 0x01010000, 0x00111111, // 00ffh
|
||||
0x00001000, 0x00001000, 0x00001000, 0x00000110
|
||||
};
|
||||
|
||||
|
||||
//----------------------------------------------------------------
|
||||
// Palette data
|
||||
//
|
||||
const u32 d_PaletteData[8 * 16] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, // black
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x001f0000, 0x00000000, 0x00000000, 0x00000000, // red
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x03e00000, 0x00000000, 0x00000000, 0x00000000, // green
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x7c000000, 0x00000000, 0x00000000, 0x00000000, // blue
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x03ff0000, 0x00000000, 0x00000000, 0x00000000, // yellow
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x7c1f0000, 0x00000000, 0x00000000, 0x00000000, // purple
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x7fe00000, 0x00000000, 0x00000000, 0x00000000, // light blue
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00180000, 0x00000000, 0x00000000, 0x00000000, // dark red
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x03000000, 0x00000000, 0x00000000, 0x00000000, // dark green
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x60000000, 0x00000000, 0x00000000, 0x00000000, // dark blue
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x03180000, 0x00000000, 0x00000000, 0x00000000, // dark yellow
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x60180000, 0x00000000, 0x00000000, 0x00000000, // dark purple
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x63000000, 0x00000000, 0x00000000, 0x00000000, // dark light blue
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x56b50000, 0x00000000, 0x00000000, 0x00000000, // gray
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x2d6b0000, 0x00000000, 0x00000000, 0x00000000, // dark gray
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x7fff0000, 0x00000000, 0x00000000, 0x00000000, // white
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
};
|
||||
267
build/debugsoft/MakerTitle/TitleList/src/main.c
Normal file
267
build/debugsoft/MakerTitle/TitleList/src/main.c
Normal file
@ -0,0 +1,267 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK - demos - yasuda - MenuTest
|
||||
File: main.c
|
||||
|
||||
Copyright 2003 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$
|
||||
*---------------------------------------------------------------------------*/
|
||||
#ifdef SDK_TWL
|
||||
#include <twl.h>
|
||||
#else
|
||||
#include <nitro.h>
|
||||
#endif
|
||||
#include <nitro/rtc.h>
|
||||
#include <nitro/std.h>
|
||||
#include "font.h"
|
||||
#include "screen.h"
|
||||
#include "appmain.h"
|
||||
#include "mycode.h" // Makeで自動生成されるはずのファイル.
|
||||
|
||||
static void myInit(void);
|
||||
static void myVBlankIntr(void);
|
||||
static void InitializeAllocateSystem(void);
|
||||
static void PrintBootType(void);
|
||||
|
||||
extern BOOL PubDataAccessTest(void);
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: NitroMain
|
||||
|
||||
Description: main
|
||||
|
||||
Arguments: None.
|
||||
|
||||
Returns: None.
|
||||
*---------------------------------------------------------------------------*/
|
||||
#ifdef SDK_TWL
|
||||
void TwlMain(void)
|
||||
#else
|
||||
void NitroMain(void)
|
||||
#endif
|
||||
{
|
||||
u16 trigger;
|
||||
u16 preButton = PAD_Read();
|
||||
u16 button;
|
||||
|
||||
//---------------- initialize
|
||||
myInit();
|
||||
PrintBootType();
|
||||
|
||||
ClearSubScreen();
|
||||
|
||||
//---------------- main loop
|
||||
while (TRUE)
|
||||
{
|
||||
button = PAD_Read();
|
||||
trigger = (u16)((button ^ preButton) & button);
|
||||
preButton = button;
|
||||
|
||||
//---- clear screen buffer
|
||||
ClearScreen();
|
||||
|
||||
if(trigger & PAD_BUTTON_A)
|
||||
{
|
||||
DoWritingTest();
|
||||
}
|
||||
if(trigger & PAD_BUTTON_B)
|
||||
{
|
||||
DoReadingTest();
|
||||
}
|
||||
|
||||
if((trigger & PAD_BUTTON_X) && STD_StrCmp("4KAA", MYCODE) == 0)
|
||||
{
|
||||
DeleteSaveDatas();
|
||||
}
|
||||
|
||||
|
||||
//---- display menus
|
||||
// DisplayMenuSet();
|
||||
|
||||
//---- press UP key (toggle menu)
|
||||
/* if(trigger & PAD_KEY_UP)
|
||||
{
|
||||
ChangeMenuItem(MENU_ITEM_UP);
|
||||
}
|
||||
|
||||
if(trigger & PAD_KEY_DOWN)
|
||||
{
|
||||
ChangeMenuItem(MENU_ITEM_DOWN);
|
||||
}
|
||||
if(trigger & PAD_KEY_RIGHT)
|
||||
{
|
||||
ExecMenuItemRight();
|
||||
}
|
||||
if(trigger & PAD_KEY_LEFT)
|
||||
{
|
||||
ExecMenuItemLeft();
|
||||
}
|
||||
|
||||
//---- push A
|
||||
if (trigger & PAD_BUTTON_A)
|
||||
{
|
||||
ExecMenuItem();
|
||||
}
|
||||
//---- push B
|
||||
if (trigger & PAD_BUTTON_B)
|
||||
{
|
||||
ExecMenuItemB();
|
||||
}
|
||||
//---- push X
|
||||
if (trigger & PAD_BUTTON_X)
|
||||
{
|
||||
ExecMenuItemX();
|
||||
}*/
|
||||
|
||||
DrawScreen();
|
||||
|
||||
OS_WaitVBlankIntr();
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
// myInit
|
||||
//
|
||||
void myInit(void)
|
||||
{
|
||||
//---- init
|
||||
OS_Init();
|
||||
OS_InitTick();
|
||||
OS_InitAlarm();
|
||||
RTC_Init();
|
||||
FX_Init();
|
||||
GX_Init();
|
||||
GX_DispOff();
|
||||
GXS_DispOff();
|
||||
InitializeAllocateSystem();
|
||||
|
||||
//---- init displaying
|
||||
GX_SetBankForLCDC(GX_VRAM_LCDC_ALL);
|
||||
MI_CpuClearFast((void *)HW_LCDC_VRAM, HW_LCDC_VRAM_SIZE);
|
||||
(void)GX_DisableBankForLCDC();
|
||||
|
||||
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);
|
||||
|
||||
//---- setting 2D for top screen
|
||||
GX_SetBankForBG(GX_VRAM_BG_128_A);
|
||||
|
||||
G2_SetBG0Control(GX_BG_SCRSIZE_TEXT_256x256,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf800, GX_BG_CHARBASE_0x00000, GX_BG_EXTPLTT_01);
|
||||
G2_SetBG0Priority(0);
|
||||
G2_BG0Mosaic(FALSE);
|
||||
GX_SetGraphicsMode(GX_DISPMODE_GRAPHICS, GX_BGMODE_0, GX_BG0_AS_2D);
|
||||
GX_SetVisiblePlane(GX_PLANEMASK_BG0);
|
||||
|
||||
GX_LoadBG0Char(d_CharData, 0, sizeof(d_CharData));
|
||||
GX_LoadBGPltt(d_PaletteData, 0, sizeof(d_PaletteData));
|
||||
|
||||
|
||||
|
||||
//---- setting 2D for bottom screen
|
||||
GX_SetBankForSubBG(GX_VRAM_SUB_BG_128_C);
|
||||
|
||||
G2S_SetBG0Control(GX_BG_SCRSIZE_TEXT_256x256,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf800, GX_BG_CHARBASE_0x00000, GX_BG_EXTPLTT_01);
|
||||
G2S_SetBG0Priority(0);
|
||||
G2S_BG0Mosaic(FALSE);
|
||||
GXS_SetGraphicsMode(GX_BGMODE_0);
|
||||
GXS_SetVisiblePlane(GX_PLANEMASK_BG0);
|
||||
|
||||
GXS_LoadBG0Char(d_CharData, 0, sizeof(d_CharData));
|
||||
GXS_LoadBGPltt(d_PaletteData, 0, sizeof(d_PaletteData));
|
||||
|
||||
|
||||
//---- screen
|
||||
MI_CpuFillFast((void *)gScreen, 0, sizeof(gScreen));
|
||||
DC_FlushRange(gScreen, sizeof(gScreen));
|
||||
/* DMA操作でIOレジスタへアクセスするのでキャッシュの Wait は不要 */
|
||||
// DC_WaitWriteBufferEmpty();
|
||||
GX_LoadBG0Scr(&gScreen[0], 0, sizeof(gScreen) / 2);
|
||||
GXS_LoadBG0Scr(&gScreen[1], 0, sizeof(gScreen) / 2);
|
||||
|
||||
//---- init interrupt
|
||||
OS_SetIrqFunction(OS_IE_V_BLANK, myVBlankIntr);
|
||||
(void)OS_EnableIrqMask(OS_IE_V_BLANK);
|
||||
(void)GX_VBlankIntr(TRUE);
|
||||
(void)OS_EnableIrq();
|
||||
(void)OS_EnableInterrupts();
|
||||
|
||||
//---- FileSystemInit
|
||||
(void)OS_EnableIrqMask(OS_IE_SPFIFO_RECV);
|
||||
FS_Init( FS_DMA_NOT_USE );
|
||||
|
||||
//---- start displaying
|
||||
GX_DispOn();
|
||||
GXS_DispOn();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
// myVBlankIntr
|
||||
// vblank interrupt handler
|
||||
//
|
||||
static void myVBlankIntr(void)
|
||||
{
|
||||
//---- upload pseudo screen to VRAM
|
||||
DC_FlushRange(gScreen, sizeof(gScreen));
|
||||
/* DMA操作でIOレジスタへアクセスするのでキャッシュの Wait は不要 */
|
||||
// DC_WaitWriteBufferEmpty();
|
||||
GX_LoadBG0Scr(&gScreen[0], 0, sizeof(gScreen) / 2);
|
||||
GXS_LoadBG0Scr(&gScreen[1], 0, sizeof(gScreen) / 2);
|
||||
|
||||
|
||||
OS_SetIrqCheckFlag(OS_IE_V_BLANK);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: InitializeAllocateSystem
|
||||
|
||||
Description: メインメモリ上のアリーナにてメモリ割当てシステムを初期化する。
|
||||
|
||||
Arguments: None.
|
||||
|
||||
Returns: None.
|
||||
*---------------------------------------------------------------------------*/
|
||||
static void InitializeAllocateSystem(void)
|
||||
{
|
||||
void *tempLo;
|
||||
OSHeapHandle hh;
|
||||
|
||||
tempLo = OS_InitAlloc(OS_ARENA_MAIN, OS_GetMainArenaLo(), OS_GetMainArenaHi(), 1);
|
||||
OS_SetArenaLo(OS_ARENA_MAIN, tempLo);
|
||||
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);
|
||||
}
|
||||
|
||||
static void PrintBootType(void)
|
||||
{
|
||||
const OSBootType btype = OS_GetBootType();
|
||||
|
||||
switch( btype )
|
||||
{
|
||||
case OS_BOOTTYPE_ROM: OS_TPrintf("OS_GetBootType = OS_BOOTTYPE_ROM\n"); break;
|
||||
case OS_BOOTTYPE_NAND: OS_TPrintf("OS_GetBootType = OS_BOOTTYPE_NAND\n"); break;
|
||||
default:
|
||||
{
|
||||
OS_Warning("unknown BootType(=%d)", btype);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
124
build/debugsoft/MakerTitle/TitleList/src/screen.c
Normal file
124
build/debugsoft/MakerTitle/TitleList/src/screen.c
Normal file
@ -0,0 +1,124 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: TwlSDK - demos - os - reset-1
|
||||
File: font.c
|
||||
|
||||
Copyright 2003 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$
|
||||
*---------------------------------------------------------------------------*/
|
||||
#ifdef SDK_TWL
|
||||
#include <twl.h>
|
||||
#else
|
||||
#include <nitro.h>
|
||||
#endif
|
||||
#include "screen.h"
|
||||
|
||||
u16 gScreen[2][32 * 32];
|
||||
|
||||
// ** these code are refer to rtc sample. thanks.
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: ClearScreen
|
||||
|
||||
Description: clear screen buffer
|
||||
|
||||
Arguments: None.
|
||||
|
||||
Returns: None.
|
||||
*---------------------------------------------------------------------------*/
|
||||
void ClearScreen(void)
|
||||
{
|
||||
MI_CpuClearFast((void *)gScreen[0], sizeof(gScreen) / 2);
|
||||
}
|
||||
|
||||
void ClearSubScreen(void)
|
||||
{
|
||||
MI_CpuClearFast((void *)gScreen[1], sizeof(gScreen) / 2);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: PrintString
|
||||
|
||||
Description: enter string into screen buffer
|
||||
string must be within 32 chars
|
||||
|
||||
Arguments: x : x
|
||||
y : y
|
||||
palette : color (0-15)
|
||||
text : string. end mark is NULL
|
||||
|
||||
Returns: None.
|
||||
*---------------------------------------------------------------------------*/
|
||||
void PrintString(s16 x, s16 y, u8 palette, char *text, ...)
|
||||
{
|
||||
va_list vlist;
|
||||
char temp[32 + 2], *tempPtr;
|
||||
s32 i;
|
||||
u16 *p, *pLimit;
|
||||
u32 index = (u32)(y / 24);
|
||||
y = (s16)(y % 24);
|
||||
|
||||
va_start(vlist, text);
|
||||
(void)vsnprintf(temp, 33, text, vlist);
|
||||
va_end(vlist);
|
||||
|
||||
*(u16 *)(&temp[32]) = 0;
|
||||
|
||||
p = &gScreen[index][((y * 32) + x) % (32 * 32)];
|
||||
pLimit = &gScreen[index][32 * 32];
|
||||
|
||||
tempPtr = &temp[0];
|
||||
|
||||
for (i = 0; *tempPtr; i++, tempPtr++)
|
||||
{
|
||||
*p = (u16)((palette << 12) | *tempPtr);
|
||||
if (++p >= pLimit)
|
||||
{
|
||||
p = &gScreen[index][0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: ColorString
|
||||
|
||||
Description: change string color which is put in screen buffer
|
||||
|
||||
Arguments: x : x
|
||||
y : y
|
||||
length : number of characters to change color
|
||||
palette : color (0-15)
|
||||
|
||||
Returns: None.
|
||||
*---------------------------------------------------------------------------*/
|
||||
void ColorString(s16 x, s16 y, s16 length, u8 palette)
|
||||
{
|
||||
s32 i;
|
||||
u16 *p, *pLimit;
|
||||
u32 index = (u32)(y / 24);
|
||||
y = (s16)(y % 24);
|
||||
if (length < 0)
|
||||
return;
|
||||
p = &gScreen[index][((y * 32) + x) % (32 * 32)];
|
||||
pLimit = &gScreen[index][32 * 32];
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
u16 temp = *p;
|
||||
temp &= 0x0fff;
|
||||
temp |= (palette << 12);
|
||||
*p = temp;
|
||||
|
||||
if (++p >= pLimit)
|
||||
{
|
||||
p = &gScreen[index][0];
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user