summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2016-06-12 19:41:31 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2016-06-12 19:41:31 +0200
commita8d11df1665a48e9ee8ef13b03e0048614e5e3d1 (patch)
tree5a83bacc4abe2ff298a4b92372180338a5c64997
downloadfx-speed-a8d11df1665a48e9ee8ef13b03e0048614e5e3d1.tar.gz
fx-speed-a8d11df1665a48e9ee8ef13b03e0048614e5e3d1.zip
import into gitHEADmaster
-rw-r--r--AddinInfo.txt12
-rw-r--r--Debug/Addin.mak201
-rw-r--r--Debug/FXADDINror.absbin0 -> 8016 bytes
-rw-r--r--Debug/FXADDINror.binbin0 -> 3420 bytes
-rw-r--r--Debug/FXADDINror.dbgbin0 -> 9136 bytes
-rw-r--r--Debug/FXADDINror.fsy65
-rw-r--r--Debug/FXADDINror.map273
-rw-r--r--Debug/Speed.lst1721
-rw-r--r--Debug/Speed.objbin0 -> 11188 bytes
-rw-r--r--Debug/change_bclk.objbin0 -> 1576 bytes
-rw-r--r--Debug/change_freq.objbin0 -> 1576 bytes
-rw-r--r--Debug/change_iclk.objbin0 -> 1576 bytes
-rw-r--r--Debug/change_pclk.objbin0 -> 1576 bytes
-rw-r--r--Debug/change_sclk.objbin0 -> 1576 bytes
-rw-r--r--FXSH_Build.bat22
-rw-r--r--Hardware.txt23
-rw-r--r--INIT/CasioRAM.membin0 -> 48532 bytes
-rw-r--r--INIT/CasioRAMCPU.membin0 -> 80 bytes
-rw-r--r--MainIcon.bmpbin0 -> 138 bytes
-rw-r--r--README.md1
-rw-r--r--SPEED.G1Abin0 -> 3932 bytes
-rw-r--r--Speed.c362
-rw-r--r--Speed.dlr6
-rw-r--r--Speed.dlw185
-rw-r--r--Speed.g1w20
-rw-r--r--change_bclk20
-rw-r--r--change_bclk.src23
-rw-r--r--change_freq.src22
-rw-r--r--change_iclk.src22
-rw-r--r--change_pclk.src22
-rw-r--r--change_sclk.src23
-rw-r--r--eActivityIcon.bmpbin0 -> 106 bytes
32 files changed, 3023 insertions, 0 deletions
diff --git a/AddinInfo.txt b/AddinInfo.txt
new file mode 100644
index 0000000..a82eba2
--- /dev/null
+++ b/AddinInfo.txt
@@ -0,0 +1,12 @@
+//------------------------------------------------------------------
+// Addin-Application header control file, created with the CASIO SDK
+//------------------------------------------------------------------
+[OUTPUT] : "SPEED.G1A"
+[BINDATA] : "FXADDINror.bin"
+[DISPNAME] : "Speed"
+[APPNAME] : "@SPEED"
+[VERSION] : "01.00.0000"
+[APL_ICON] : "MainIcon.bmp"
+[MODULE_NUM] : 0
+[MOD1_TITLE] : "Speed"
+[MOD1_ICON] : "eActivityIcon.bmp"
diff --git a/Debug/Addin.mak b/Debug/Addin.mak
new file mode 100644
index 0000000..0e8c383
--- /dev/null
+++ b/Debug/Addin.mak
@@ -0,0 +1,201 @@
+################################################
+# Make file for CASIO fx-9860G SDK Addin
+#
+############################
+# Directory defines
+TCDIR = G:\Casio SDK\OS\SH
+OSDIR = G:\Casio SDK\OS
+APPDIR = G:\Casio SDK\Projekte\Speed
+OUTDIR = G:\Casio SDK\Projekte\Speed\Debug
+
+################
+# Main Defines
+SH_EXEDIR=$(TCDIR)\bin
+
+# Hitachi SH C/C++ Compiler02 phase
+SHCC02_EXE=shc.exe
+SHCC02_DEP="$(OSDIR)\FX\include\fxlib.h"
+
+# Hitachi SH Assembler03 phase
+SHASM03_EXE=asmsh.exe
+
+# Hitachi OptLinker04 phase
+SHLINK04_EXE=Optlnk.exe
+SHLINK04_DEP="$(OSDIR)\FX\lib\fx9860G_library.lib"
+SHLINK04_DEP2="$(OSDIR)\FX\lib\setup.obj"
+EPSILON="$(OSDIR)\FX\lib\revolution.lib"
+#######################
+# Files to build
+FILE0=Speed
+FILESRC0="$(APPDIR)\$(FILE0).c"
+FILEOBJ0="$(OUTDIR)\$(FILE0).obj"
+FILE1=change_freq
+FILESRC1="$(APPDIR)\$(FILE1).src"
+FILEOBJ1="$(OUTDIR)\$(FILE1).obj"
+FILE2=change_iclk
+FILESRC2="$(APPDIR)\$(FILE2).src"
+FILEOBJ2="$(OUTDIR)\$(FILE2).obj"
+FILE3=change_pclk
+FILESRC3="$(APPDIR)\$(FILE3).src"
+FILEOBJ3="$(OUTDIR)\$(FILE3).obj"
+FILE4=change_bclk
+FILESRC4="$(APPDIR)\$(FILE4).src"
+FILEOBJ4="$(OUTDIR)\$(FILE4).obj"
+FILE5=change_sclk
+FILESRC5="$(APPDIR)\$(FILE5).src"
+FILEOBJ5="$(OUTDIR)\$(FILE5).obj"
+RFILE=FXADDINror
+USERALLOBJ=$(FILEOBJ0) $(FILEOBJ1) $(FILEOBJ2) $(FILEOBJ3) $(FILEOBJ4) $(FILEOBJ5)
+
+#######################
+# nmake "all" statement
+
+ALL: SH_ENV \
+ $(USERALLOBJ) \
+ $(OUTDIR)\$(RFILE).bin \
+
+####################
+# Description blocks
+
+!MESSAGE %3#C$z`&'0?
+!MESSAGE
+!MESSAGE Executing Hitachi SH C/C++ Compiler/Assembler phase
+!MESSAGE
+
+SH_ENV :
+ set SHC_INC=$(TCDIR)\include
+ set PATH=$(TCDIR)\bin
+ set SHC_LIB=$(TCDIR)\bin
+ set SHC_TMP=$(OUTDIR)
+
+$(FILEOBJ0) : $(FILESRC0) $(SHCC02_DEP)
+ "$(SH_EXEDIR)\$(SHCC02_EXE)" -subcommand=<<
+-cpu=sh3
+-include="$(OSDIR)\FX\include","$(APPDIR)"
+-objectfile=$(FILEOBJ0)
+-show=source
+-listfile="$(OUTDIR)\$(FILE0).lst"
+-size
+-noinline
+-chgincpath
+-errorpath
+$(FILESRC0)
+-lang=c
+-nologo
+-debug
+<<
+
+$(FILEOBJ1) : $(FILESRC1)
+ "$(SH_EXEDIR)\$(SHASM03_EXE)" -subcommand=<<
+$(FILESRC1)
+-cpu=sh3
+-endian=big
+-round=zero
+-denormalize=off
+-include="$(APPDIR)"
+-include="$(OSDIR)\FX\include"
+-debug
+-object=$(FILEOBJ1)
+-literal=pool,branch,jump,return
+-nologo
+-chgincpath
+-errorpath
+<<
+
+$(FILEOBJ2) : $(FILESRC2)
+ "$(SH_EXEDIR)\$(SHASM03_EXE)" -subcommand=<<
+$(FILESRC2)
+-cpu=sh3
+-endian=big
+-round=zero
+-denormalize=off
+-include="$(APPDIR)"
+-include="$(OSDIR)\FX\include"
+-debug
+-object=$(FILEOBJ2)
+-literal=pool,branch,jump,return
+-nologo
+-chgincpath
+-errorpath
+<<
+
+$(FILEOBJ3) : $(FILESRC3)
+ "$(SH_EXEDIR)\$(SHASM03_EXE)" -subcommand=<<
+$(FILESRC3)
+-cpu=sh3
+-endian=big
+-round=zero
+-denormalize=off
+-include="$(APPDIR)"
+-include="$(OSDIR)\FX\include"
+-debug
+-object=$(FILEOBJ3)
+-literal=pool,branch,jump,return
+-nologo
+-chgincpath
+-errorpath
+<<
+
+$(FILEOBJ4) : $(FILESRC4)
+ "$(SH_EXEDIR)\$(SHASM03_EXE)" -subcommand=<<
+$(FILESRC4)
+-cpu=sh3
+-endian=big
+-round=zero
+-denormalize=off
+-include="$(APPDIR)"
+-include="$(OSDIR)\FX\include"
+-debug
+-object=$(FILEOBJ4)
+-literal=pool,branch,jump,return
+-nologo
+-chgincpath
+-errorpath
+<<
+
+$(FILEOBJ5) : $(FILESRC5)
+ "$(SH_EXEDIR)\$(SHASM03_EXE)" -subcommand=<<
+$(FILESRC5)
+-cpu=sh3
+-endian=big
+-round=zero
+-denormalize=off
+-include="$(APPDIR)"
+-include="$(OSDIR)\FX\include"
+-debug
+-object=$(FILEOBJ5)
+-literal=pool,branch,jump,return
+-nologo
+-chgincpath
+-errorpath
+<<
+
+!MESSAGE
+!MESSAGE Executing Hitachi OptLinker04 phase
+!MESSAGE
+
+"$(OUTDIR)\$(RFILE).bin" : $(USERALLOBJ) $(SHLINK04_DEP2) $(SHLINK04_DEP)
+ "$(SH_EXEDIR)\$(SHLINK04_EXE)" -subcommand=<<
+noprelink
+sdebug
+rom D=R
+nomessage
+list "$(OUTDIR)\$(RFILE).map"
+show symbol
+nooptimize
+start P_TOP,P,C,D,C$VTBL,C$INIT/0300200,B_BR_Size,B,R/08100000
+fsymbol P
+nologo
+input $(USERALLOBJ)
+input $(SHLINK04_DEP2)
+library $(SHLINK04_DEP)
+library $(EPSILON)
+output "$(OUTDIR)\$(RFILE).abs"
+-nomessage=1100
+end
+input "$(OUTDIR)\$(RFILE).abs"
+form binary
+output "$(OUTDIR)\$(RFILE).bin"
+exit
+<<
+
diff --git a/Debug/FXADDINror.abs b/Debug/FXADDINror.abs
new file mode 100644
index 0000000..e8116cc
--- /dev/null
+++ b/Debug/FXADDINror.abs
Binary files differ
diff --git a/Debug/FXADDINror.bin b/Debug/FXADDINror.bin
new file mode 100644
index 0000000..a6ab777
--- /dev/null
+++ b/Debug/FXADDINror.bin
Binary files differ
diff --git a/Debug/FXADDINror.dbg b/Debug/FXADDINror.dbg
new file mode 100644
index 0000000..5484c46
--- /dev/null
+++ b/Debug/FXADDINror.dbg
Binary files differ
diff --git a/Debug/FXADDINror.fsy b/Debug/FXADDINror.fsy
new file mode 100644
index 0000000..4e94ca2
--- /dev/null
+++ b/Debug/FXADDINror.fsy
@@ -0,0 +1,65 @@
+;HITACHI OPTIMIZING LINKAGE EDITOR GENERATED FILE 2012.10.18
+;fsymbol = P
+
+;SECTION NAME = P
+ .export _printXY
+_printXY: .equ h'0030020c
+ .export _update
+_update: .equ h'0030022c
+ .export _AddIn_main
+_AddIn_main: .equ h'003006b0
+ .export _change_freq
+_change_freq: .equ h'003007fc
+ .export _change_iclk
+_change_iclk: .equ h'00300828
+ .export _change_pclk
+_change_pclk: .equ h'00300854
+ .export _change_bclk
+_change_bclk: .equ h'00300880
+ .export _change_sclk
+_change_sclk: .equ h'003008ac
+ .export ___LINK_PROTECT
+___LINK_PROTECT: .equ h'003008d8
+ .export _SetQuitHandler
+_SetQuitHandler: .equ h'003008dc
+ .export _OnAppCloseDefault
+_OnAppCloseDefault: .equ h'003008e2
+ .export __INITSCT_ADDIN
+__INITSCT_ADDIN: .equ h'00300936
+ .export _INIT_ADDIN_APPLICATION
+_INIT_ADDIN_APPLICATION: .equ h'0030097e
+ .export _Bdel_cychdr
+_Bdel_cychdr: .equ h'003009f4
+ .export _Bdisp_AllClr_VRAM
+_Bdisp_AllClr_VRAM: .equ h'00300a04
+ .export _Bdisp_PutDisp_DD
+_Bdisp_PutDisp_DD: .equ h'00300a14
+ .export _BfileFLS_CloseFile
+_BfileFLS_CloseFile: .equ h'00300a24
+ .export _Bkey_Set_RepeatTime_Default
+_Bkey_Set_RepeatTime_Default: .equ h'00300a34
+ .export _CallbackAtQuitMainFunction
+_CallbackAtQuitMainFunction: .equ h'00300a44
+ .export _flsFindClose
+_flsFindClose: .equ h'00300a54
+ .export _GetKey
+_GetKey: .equ h'00300a64
+ .export _GLibAddinAplExecutionCheck
+_GLibAddinAplExecutionCheck: .equ h'00300a74
+ .export _Hmem_SetMMU
+_Hmem_SetMMU: .equ h'00300a84
+ .export _PrintMini
+_PrintMini: .equ h'00300a94
+ .export _locate
+_locate: .equ h'00300ab0
+ .export _Bdisp_ReadArea_DD
+_Bdisp_ReadArea_DD: .equ h'00300ad8
+ .export __divls
+__divls: .equ h'00300c0c
+ .export _DD_GET
+_DD_GET: .equ h'00300cc0
+ .export _locate_OS
+_locate_OS: .equ h'00300cd0
+ .export _PrintMiniSd
+_PrintMiniSd: .equ h'00300ce0
+ .end
diff --git a/Debug/FXADDINror.map b/Debug/FXADDINror.map
new file mode 100644
index 0000000..8c7f931
--- /dev/null
+++ b/Debug/FXADDINror.map
@@ -0,0 +1,273 @@
+Hitachi Optimizing Linkage Editor (Ver. 7.1.03.000)18-Oct-2012 16:26:35
+
+*** Options ***
+
+-subcommand=C:\Users\Timo\AppData\Local\Temp\hmkFE3D.tmp
+noprelink
+sdebug
+rom D=R
+nomessage
+list "G:\Casio SDK\Projekte\Speed\Debug\FXADDINror.map"
+show symbol
+nooptimize
+start P_TOP,P,C,D,C$VTBL,C$INIT/0300200,B_BR_Size,B,R/08100000
+fsymbol P
+nologo
+input "G:\Casio SDK\Projekte\Speed\Debug\Speed.obj" "G:\Casio SDK\Projekte\Speed\Debug\change_freq.obj" "G:\Casio SDK\Projekte\Speed\Debug\change_iclk.obj" "G:\Casio SDK\Projekte\Speed\Debug\change_pclk.obj" "G:\Casio SDK\Projekte\Speed\Debug\change_bclk.obj" "G:\Casio SDK\Projekte\Speed\Debug\change_sclk.obj"
+input "G:\Casio SDK\OS\FX\lib\setup.obj"
+library "G:\Casio SDK\OS\FX\lib\fx9860G_library.lib"
+library "G:\Casio SDK\OS\FX\lib\revolution.lib"
+output "G:\Casio SDK\Projekte\Speed\Debug\FXADDINror.abs"
+-nomessage=1100
+end
+
+*** Error information ***
+
+*** Mapping List ***
+
+SECTION START END SIZE ALIGN
+
+P_TOP
+ 00300200 0030020b c 4
+P
+ 0030020c 00300cef ae4 4
+C
+ 00300cf0 00300f4b 25c 4
+D
+ 00300f4c 00300f5b 10 4
+B_BR_Size
+ 08100000 08100003 4 4
+B
+ 08100004 08100007 4 4
+R
+ 08100008 08100017 10 4
+
+*** Symbol List ***
+
+SECTION=
+FILE= START END SIZE
+ SYMBOL ADDR SIZE INFO COUNTS OPT
+
+SECTION=P_TOP
+FILE=G:\Casio SDK\Projekte\Speed\Debug\Speed.obj
+ 00300200 0030020b c
+ _InitializeSystem
+ 00300200 c func ,g *
+
+SECTION=P
+FILE=G:\Casio SDK\Projekte\Speed\Debug\Speed.obj
+ 0030020c 003007fb 5f0
+ _printXY
+ 0030020c 20 func ,g *
+ _update
+ 0030022c 484 func ,g *
+ _AddIn_main
+ 003006b0 14c func ,g *
+FILE=G:\Casio SDK\Projekte\Speed\Debug\change_freq.obj
+ 003007fc 00300827 2c
+ _change_freq
+ 003007fc 0 none ,g *
+FILE=G:\Casio SDK\Projekte\Speed\Debug\change_iclk.obj
+ 00300828 00300853 2c
+ _change_iclk
+ 00300828 0 none ,g *
+FILE=G:\Casio SDK\Projekte\Speed\Debug\change_pclk.obj
+ 00300854 0030087f 2c
+ _change_pclk
+ 00300854 0 none ,g *
+FILE=G:\Casio SDK\Projekte\Speed\Debug\change_bclk.obj
+ 00300880 003008ab 2c
+ _change_bclk
+ 00300880 0 none ,g *
+FILE=G:\Casio SDK\Projekte\Speed\Debug\change_sclk.obj
+ 003008ac 003008d7 2c
+ _change_sclk
+ 003008ac 0 none ,g *
+FILE=G:\Casio SDK\OS\FX\lib\setup.obj
+ 003008d8 003009f3 11c
+ ___LINK_PROTECT
+ 003008d8 4 func ,g *
+ _SetQuitHandler
+ 003008dc 6 func ,g *
+ _OnAppCloseDefault
+ 003008e2 54 func ,g *
+ __INITSCT_ADDIN
+ 00300936 48 func ,g *
+ _INIT_ADDIN_APPLICATION
+ 0030097e 76 func ,g *
+FILE=_Bdel_cychdr
+ 003009f4 00300a03 10
+ _Bdel_cychdr
+ 003009f4 0 none ,g *
+FILE=_Bdisp_AllClr_VRAM
+ 00300a04 00300a13 10
+ _Bdisp_AllClr_VRAM
+ 00300a04 0 none ,g *
+FILE=_Bdisp_PutDisp_DD
+ 00300a14 00300a23 10
+ _Bdisp_PutDisp_DD
+ 00300a14 0 none ,g *
+FILE=_BfileFLS_CloseFile
+ 00300a24 00300a33 10
+ _BfileFLS_CloseFile
+ 00300a24 0 none ,g *
+FILE=_Bkey_Set_RepeatTime_Default
+ 00300a34 00300a43 10
+ _Bkey_Set_RepeatTime_Default
+ 00300a34 0 none ,g *
+FILE=_CallbackAtQuitMainFunction
+ 00300a44 00300a53 10
+ _CallbackAtQuitMainFunction
+ 00300a44 0 none ,g *
+FILE=_flsFindClose
+ 00300a54 00300a63 10
+ _flsFindClose
+ 00300a54 0 none ,g *
+FILE=_getkey
+ 00300a64 00300a73 10
+ _GetKey
+ 00300a64 0 none ,g *
+FILE=_GLibAddinAplExecutionCheck
+ 00300a74 00300a83 10
+ _GLibAddinAplExecutionCheck
+ 00300a74 0 none ,g *
+FILE=_Hmem_SetMMU
+ 00300a84 00300a93 10
+ _Hmem_SetMMU
+ 00300a84 0 none ,g *
+FILE=dispbios
+ 00300a94 00300c09 176
+ _PrintMini
+ 00300a94 1c func ,g *
+ _locate
+ 00300ab0 28 func ,g *
+ _Bdisp_ReadArea_DD
+ 00300ad8 132 func ,g *
+FILE=__divls
+ 00300c0c 00300cbf b4
+ __divls
+ 00300c0c 0 none ,g *
+ divls_zero
+ 00300caa 0 none ,l *
+ A_errno
+ 00300cb8 0 none ,l *
+ n_zerono
+ 00300cbc 0 none ,l *
+FILE=_DD_GET
+ 00300cc0 00300ccf 10
+ _DD_GET
+ 00300cc0 0 none ,g *
+FILE=_locate
+ 00300cd0 00300cdf 10
+ _locate_OS
+ 00300cd0 0 none ,g *
+FILE=_PrintMiniSd
+ 00300ce0 00300cef 10
+ _PrintMiniSd
+ 00300ce0 0 none ,g *
+
+SECTION=C
+FILE=G:\Casio SDK\Projekte\Speed\Debug\Speed.obj
+ 00300cf0 00300f37 248
+ _PLLs
+ 00300cf0 38 data ,g *
+ _DIVs
+ 00300d28 30 data ,g *
+FILE=addin_sct
+ 00300f38 00300f4b 14
+ _B_BGN
+ 00300f38 0 none ,g *
+ _B_END
+ 00300f3c 0 none ,g *
+ _R_BGN
+ 00300f40 0 none ,g *
+ _R_END
+ 00300f44 0 none ,g *
+ _D_ROM
+ 00300f48 0 none ,g *
+
+SECTION=B_BR_Size
+FILE=G:\Casio SDK\Projekte\Speed\Debug\Speed.obj
+ 08100000 08100003 4
+ _BR_Size
+ 08100000 4 data ,g *
+
+SECTION=B
+FILE=_errno
+ 08100004 08100007 4
+ __errno
+ 08100004 4 data ,g *
+
+SECTION=R
+FILE=G:\Casio SDK\Projekte\Speed\Debug\Speed.obj
+ 08100008 08100013 c
+ _key
+ 08100008 4 data ,g *
+ _cur
+ 0810000c 4 data ,g *
+ _FRQCR
+ 08100010 4 data ,g *
+FILE=G:\Casio SDK\OS\FX\lib\setup.obj
+ 08100014 08100017 4
+ _gb_OnAppClose
+ 08100014 4 data ,g *
+
+Absolute value symbols
+FILE=_Bdel_cychdr
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_Bdisp_AllClr_VRAM
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_Bdisp_PutDisp_DD
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_BfileFLS_CloseFile
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_Bkey_Set_RepeatTime_Default
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_CallbackAtQuitMainFunction
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_flsFindClose
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_getkey
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_GLibAddinAplExecutionCheck
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_Hmem_SetMMU
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=__divls
+ zerodiv
+ 0000044e 0 none ,l *
+FILE=_DD_GET
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_locate
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_PrintMiniSd
+ __JumpTableTOP
+ 80010070 0 none ,l *
+
+*** Delete Symbols ***
+
+SYMBOL SIZE INFO
+
+*** Variable Accessible with Abs8 ***
+
+SYMBOL SIZE COUNTS OPTIMIZE
+
+*** Variable Accessible with Abs16 ***
+
+SYMBOL SIZE COUNTS OPTIMIZE
+
+*** Function Call ***
+
+SYMBOL COUNTS OPTIMIZE
diff --git a/Debug/Speed.lst b/Debug/Speed.lst
new file mode 100644
index 0000000..ae95f38
--- /dev/null
+++ b/Debug/Speed.lst
@@ -0,0 +1,1721 @@
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Speed\Speed.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 1 #include "fxlib.h"
+ Speed.c 2
+ Speed.c 3 #define PLL_28x /*0011011*/ 27 // 101.5 MHz
+ Speed.c 4 #define PLL_26x /*0011001*/ 25 // 94.3 MHz
+ Speed.c 5 #define PLL_24x /*0010111*/ 23 // 87 MHz
+ Speed.c 6 #define PLL_20x /*0010011*/ 19 // 72.5 MHz
+ Speed.c 7 #define PLL_18x /*0010001*/ 17 // 65.25 MHz
+ Speed.c 8 #define PLL_16x /*0001111*/ 15 // 58 MHz (NORMAL SPEED)
+ Speed.c 9 #define PLL_15x /*0001110*/ 14 // 54.37 MHz
+ Speed.c 10 #define PLL_12x /*0001011*/ 11 // 43.5 MHz
+ Speed.c 11 #define PLL_8x /*0000111*/ 7 // 29 MHz
+ Speed.c 12 #define PLL_6x /*0000101*/ 5 // 21.75 MHz
+ Speed.c 13 #define PLL_4x /*0000011*/ 3 // 14.5 MHz
+ Speed.c 14 #define PLL_3x /*0000010*/ 2 // 10.8 MHz
+ Speed.c 15 #define PLL_2x /*0000001*/ 1 // 7.25 MHz
+ Speed.c 16 #define PLL_1x /*0000000*/ 0 // 3.6 MHz
+ Speed.c 17
+ Speed.c 18 #define ICLK_2 /*00000*/ 0
+ Speed.c 19 #define ICLK_3 /*00001*/ 1
+ Speed.c 20 #define ICLK_4 /*00010*/ 2
+ Speed.c 21 #define ICLK_6 /*00011*/ 3
+ Speed.c 22 #define ICLK_8 /*00100*/ 4
+ Speed.c 23 #define ICLK_12 /*00101*/ 5
+ Speed.c 24 #define ICLK_16 /*00110*/ 6
+ Speed.c 25 #define ICLK_24 /*00111*/ 7
+ Speed.c 26 #define ICLK_32 /*01000*/ 8
+ Speed.c 27 #define ICLK_36 /*01001*/ 9
+ Speed.c 28 #define ICLK_48 /*01010*/ 10
+ Speed.c 29 #define ICLK_72 /*01011*/ 11
+ Speed.c 30
+ Speed.c 31 const int PLLs[] = {PLL_1x, PLL_2x, PLL_3x, PLL_4x, PLL_6x, PLL_8x, PLL_12x, PLL_15x, PLL_16x, PLL_18x, PL
+ +L_20x, PLL_24x, PLL_26x, PLL_28x};
+ Speed.c 32 const int DIVs[] = {ICLK_2, ICLK_3, ICLK_4, ICLK_6, ICLK_8, ICLK_12, ICLK_16, ICLK_24, ICLK_32, ICLK_36, I
+ +CLK_48, ICLK_72};
+ Speed.c 33
+ Speed.c 34 int key = 0;
+ Speed.c 35 char*cur = 0x00000000;
+ Speed.c 36 volatile unsigned int*FRQCR = (unsigned int*) 0xA4150000;
+ Speed.c 37
+ Speed.c 38 void printXY(int x, int y, char *text, int useless)
+P 00000000 _printXY: ; function: printXY
+ ; frame size=8
+ 00000000 7FF8 ADD #-8,R15
+ Speed.c 39 {
+ Speed.c 40 PrintMini(x * 6,y * 6, text, MINI_OVER);
+ 00000002 E710 MOV #16,R7
+ 00000004 2F42 MOV.L R4,@R15
+ 00000006 6353 MOV R5,R3
+ 00000008 1F51 MOV.L R5,@(4,R15)
+ 0000000A 4308 SHLL2 R3
+ 0000000C 64F2 MOV.L @R15,R4
+ 0000000E 4500 SHLL R5
+ 00000010 353C ADD R3,R5
+ 00000012 6343 MOV R4,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000014 4400 SHLL R4
+ 00000016 4308 SHLL2 R3
+ 00000018 343C ADD R3,R4
+ 0000001A D341 MOV.L L560,R3 ; _PrintMini
+ 0000001C 432B JMP @R3
+ 0000001E 7F08 ADD #8,R15
+ Speed.c 41 }
+ Speed.c 42
+ Speed.c 43 void update(void) {
+ 00000020 _update: ; function: update
+ ; frame size=32
+ 00000020 2FE6 MOV.L R14,@-R15
+ 00000022 2FD6 MOV.L R13,@-R15
+ 00000024 2FC6 MOV.L R12,@-R15
+ 00000026 2FB6 MOV.L R11,@-R15
+ 00000028 2FA6 MOV.L R10,@-R15
+ 0000002A 2F96 MOV.L R9,@-R15
+ 0000002C 2F86 MOV.L R8,@-R15
+ 0000002E 4F22 STS.L PR,@-R15
+ Speed.c 44 int warning = 0;
+ Speed.c 45 Bdisp_AllClr_VRAM();
+ 00000030 D33C MOV.L L560+4,R3 ; _Bdisp_AllClr_VRAM
+ 00000032 430B JSR @R3
+ 00000034 ED00 MOV #0,R13
+ Speed.c 46 printXY(2, 1, " Operating Frequency", MINI_OVER);
+ 00000036 E710 MOV #16,R7
+ 00000038 D63B MOV.L L560+8,R6 ; L311
+ 0000003A E501 MOV #1,R5
+ 0000003C BFE0 BSR _printXY
+ 0000003E E402 MOV #2,R4
+ Speed.c 47 printXY(3, 2, " Freq:", MINI_OVER);
+ 00000040 D63A MOV.L L560+12,R6 ; L312
+ 00000042 E502 MOV #2,R5
+ 00000044 E710 MOV #16,R7
+ 00000046 BFDB BSR _printXY
+ 00000048 E403 MOV #3,R4
+ Speed.c 48 printXY(3, 3, " ICLK:", MINI_OVER);
+ 0000004A E710 MOV #16,R7
+ 0000004C D638 MOV.L L560+16,R6 ; L313
+ 0000004E E503 MOV #3,R5
+ 00000050 BFD6 BSR _printXY
+ 00000052 6453 MOV R5,R4
+ Speed.c 49 printXY(3, 4, " PCLK:", MINI_OVER);
+ 00000054 D637 MOV.L L560+20,R6 ; L314
+ 00000056 E504 MOV #4,R5
+ 00000058 E710 MOV #16,R7
+ 0000005A BFD1 BSR _printXY
+ 0000005C E403 MOV #3,R4
+ Speed.c 50 printXY(3, 5, " BCLK:", MINI_OVER);
+ 0000005E E710 MOV #16,R7
+ 00000060 D635 MOV.L L560+24,R6 ; L315
+ 00000062 E505 MOV #5,R5
+ 00000064 BFCC BSR _printXY
+ 00000066 E403 MOV #3,R4
+ Speed.c 51 printXY(3, 6, " SCLK:", MINI_OVER);
+ 00000068 D634 MOV.L L560+28,R6 ; L316
+ 0000006A E506 MOV #6,R5
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 3
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000006C E710 MOV #16,R7
+ 0000006E BFC7 BSR _printXY
+ 00000070 E403 MOV #3,R4
+ Speed.c 52 printXY(1, 7, " U/D - FRQ, L/R - ICLK", MINI_OVER);
+ 00000072 E710 MOV #16,R7
+ 00000074 D632 MOV.L L560+32,R6 ; L317
+ 00000076 E507 MOV #7,R5
+ 00000078 BFC2 BSR _printXY
+ 0000007A E401 MOV #1,R4
+ Speed.c 53 switch((*FRQCR & 0x3F000000) >> 24) {
+ 0000007C DB31 MOV.L L560+36,R11; L333
+ 0000007E DC32 MOV.L L560+40,R12; _FRQCR
+ 00000080 DE32 MOV.L L560+44,R14; _cur
+ 00000082 60C2 MOV.L @R12,R0
+ 00000084 D332 MOV.L L560+48,R3 ; H'3F000000
+ 00000086 6002 MOV.L @R0,R0
+ 00000088 2039 AND R3,R0
+ 0000008A 4029 SHLR16 R0
+ 0000008C 4019 SHLR8 R0
+ 0000008E 881B CMP/EQ #27,R0
+ 00000090 891B BT L387
+ 00000092 8819 CMP/EQ #25,R0
+ 00000094 891D BT L389
+ 00000096 8817 CMP/EQ #23,R0
+ 00000098 891E BT L391
+ 0000009A 8813 CMP/EQ #19,R0
+ 0000009C 891F BT L393
+ 0000009E 8811 CMP/EQ #17,R0
+ 000000A0 8920 BT L395
+ 000000A2 880F CMP/EQ #15,R0
+ 000000A4 8921 BT L397
+ 000000A6 880E CMP/EQ #14,R0
+ 000000A8 8922 BT L399
+ 000000AA 880B CMP/EQ #11,R0
+ 000000AC 8923 BT L401
+ 000000AE 8807 CMP/EQ #7,R0
+ 000000B0 8924 BT L403
+ 000000B2 8805 CMP/EQ #5,R0
+ 000000B4 8925 BT L405
+ 000000B6 8803 CMP/EQ #3,R0
+ 000000B8 8926 BT L407
+ 000000BA 8802 CMP/EQ #2,R0
+ 000000BC 8927 BT L409
+ 000000BE 8801 CMP/EQ #1,R0
+ 000000C0 8928 BT L411
+ 000000C2 8800 CMP/EQ #0,R0
+ 000000C4 8929 BT L413
+ 000000C6 A061 BRA L415
+ 000000C8 0009 NOP
+ 000000CA L387: ; case label
+ Speed.c 54 case PLL_28x:
+ Speed.c 55 cur = " 101.5 MHz !!!";
+ 000000CA D122 MOV.L L560+52,R1 ; L319
+ 000000CC 2E12 MOV.L R1,@R14
+ Speed.c 56 warning = 1;
+ Speed.c 57 break;
+ 000000CE A05E BRA L492
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 4
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000D0 ED01 MOV #1,R13
+ 000000D2 L389: ; case label
+ Speed.c 58 case PLL_26x:
+ Speed.c 59 cur = " 94.3 MHz";
+ 000000D2 D121 MOV.L L560+56,R1 ; L320
+ Speed.c 60 break;
+ 000000D4 A022 BRA L532
+ 000000D6 0009 NOP
+ 000000D8 L391: ; case label
+ Speed.c 61 case PLL_24x:
+ Speed.c 62 cur = " 87 MHz";
+ 000000D8 D020 MOV.L L560+60,R0 ; L321
+ Speed.c 63 break;
+ 000000DA A01C BRA L531
+ 000000DC 0009 NOP
+ 000000DE L393: ; case label
+ Speed.c 64 case PLL_20x:
+ Speed.c 65 cur = " 72.5 MHz";
+ 000000DE D120 MOV.L L560+64,R1 ; L322
+ Speed.c 66 break;
+ 000000E0 A01C BRA L532
+ 000000E2 0009 NOP
+ 000000E4 L395: ; case label
+ Speed.c 67 case PLL_18x:
+ Speed.c 68 cur = " 65.3 MHz";
+ 000000E4 D01F MOV.L L560+68,R0 ; L323
+ Speed.c 69 break;
+ 000000E6 A016 BRA L531
+ 000000E8 0009 NOP
+ 000000EA L397: ; case label
+ Speed.c 70 case PLL_16x:
+ Speed.c 71 cur = " 58 MHz (NORM)";
+ 000000EA D11F MOV.L L560+72,R1 ; L324
+ Speed.c 72 break;
+ 000000EC A016 BRA L532
+ 000000EE 0009 NOP
+ 000000F0 L399: ; case label
+ Speed.c 73 case PLL_15x:
+ Speed.c 74 cur = " 54.4 MHz";
+ 000000F0 D01E MOV.L L560+76,R0 ; L325
+ Speed.c 75 break;
+ 000000F2 A010 BRA L531
+ 000000F4 0009 NOP
+ 000000F6 L401: ; case label
+ Speed.c 76 case PLL_12x:
+ Speed.c 77 cur = " 43.5 MHz";
+ 000000F6 D11E MOV.L L560+80,R1 ; L326
+ Speed.c 78 break;
+ 000000F8 A010 BRA L532
+ 000000FA 0009 NOP
+ 000000FC L403: ; case label
+ Speed.c 79 case PLL_8x:
+ Speed.c 80 cur = " 29 MHz";
+ 000000FC D01D MOV.L L560+84,R0 ; L327
+ Speed.c 81 break;
+ 000000FE A00A BRA L531
+ 00000100 0009 NOP
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 5
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000102 L405: ; case label
+ Speed.c 82 case PLL_6x:
+ Speed.c 83 cur = " 21.7 MHz";
+ 00000102 D11D MOV.L L560+88,R1 ; L328
+ Speed.c 84 break;
+ 00000104 A00A BRA L532
+ 00000106 0009 NOP
+ 00000108 L407: ; case label
+ Speed.c 85 case PLL_4x:
+ Speed.c 86 cur = " 14.5 MHz";
+ 00000108 D01C MOV.L L560+92,R0 ; L329
+ Speed.c 87 break;
+ 0000010A A004 BRA L531
+ 0000010C 0009 NOP
+ 0000010E L409: ; case label
+ Speed.c 88 case PLL_3x:
+ Speed.c 89 cur = " 10.8 MHz";
+ 0000010E D11C MOV.L L560+96,R1 ; L330
+ Speed.c 90 break;
+ 00000110 A004 BRA L532
+ 00000112 0009 NOP
+ 00000114 L411: ; case label
+ Speed.c 91 case PLL_2x:
+ Speed.c 92 cur = " 7.25 MHz";
+ 00000114 D01B MOV.L L560+100,R0; L331
+ Speed.c 93 break;
+ 00000116 L531:
+ 00000116 A03A BRA L492
+ 00000118 2E02 MOV.L R0,@R14
+ 0000011A L413: ; case label
+ Speed.c 94 case PLL_1x:
+ Speed.c 95 cur = " 3.6 MHz";
+ 0000011A D11B MOV.L L560+104,R1; L332
+ Speed.c 96 break;
+ 0000011C L532:
+ 0000011C A037 BRA L492
+ 0000011E 2E12 MOV.L R1,@R14
+ 00000120 L560:
+ 00000120 <00000000> .DATA.L _PrintMini
+ 00000124 <00000000> .DATA.L _Bdisp_AllClr_VRAM
+ 00000128 <00000000> .DATA.L L311
+ 0000012C <00000000> .DATA.L L312
+ 00000130 <00000000> .DATA.L L313
+ 00000134 <00000000> .DATA.L L314
+ 00000138 <00000000> .DATA.L L315
+ 0000013C <00000000> .DATA.L L316
+ 00000140 <00000000> .DATA.L L317
+ 00000144 <00000000> .DATA.L L333
+ 00000148 <00000000> .DATA.L _FRQCR
+ 0000014C <00000000> .DATA.L _cur
+ 00000150 3F000000 .DATA.L H'3F000000
+ 00000154 <00000000> .DATA.L L319
+ 00000158 <00000000> .DATA.L L320
+ 0000015C <00000000> .DATA.L L321
+ 00000160 <00000000> .DATA.L L322
+ 00000164 <00000000> .DATA.L L323
+ 00000168 <00000000> .DATA.L L324
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 6
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000016C <00000000> .DATA.L L325
+ 00000170 <00000000> .DATA.L L326
+ 00000174 <00000000> .DATA.L L327
+ 00000178 <00000000> .DATA.L L328
+ 0000017C <00000000> .DATA.L L329
+ 00000180 <00000000> .DATA.L L330
+ 00000184 <00000000> .DATA.L L331
+ 00000188 <00000000> .DATA.L L332
+ 0000018C L415: ; default label
+ Speed.c 97 default:
+ Speed.c 98 cur = " INVALID";
+ 0000018C 2EB2 MOV.L R11,@R14
+ Speed.c 99 break;
+ 0000018E L492:
+ Speed.c 100 }
+ Speed.c 101 printXY(9, 2, cur, MINI_OVER);
+ 0000018E E710 MOV #16,R7
+ 00000190 66E2 MOV.L @R14,R6
+ 00000192 E502 MOV #2,R5
+ 00000194 BF34 BSR _printXY
+ 00000196 E409 MOV #9,R4
+ Speed.c 102 switch((*FRQCR & 0x00F00000) >> 20) {
+ 00000198 D809 MOV.L L561+2,R8 ; L337
+ 0000019A D90A MOV.L L561+6,R9 ; L336
+ 0000019C DA0A MOV.L L561+10,R10; L335
+ 0000019E 60C2 MOV.L @R12,R0
+ 000001A0 D30A MOV.L L561+14,R3 ; H'00F00000
+ 000001A2 6002 MOV.L @R0,R0
+ 000001A4 2039 AND R3,R0
+ 000001A6 4029 SHLR16 R0
+ 000001A8 4009 SHLR2 R0
+ 000001AA 4009 SHLR2 R0
+ 000001AC E10C MOV #12,R1
+ 000001AE 3012 CMP/HS R1,R0
+ 000001B0 894E BT L441
+ 000001B2 4000 SHLL R0
+ 000001B4 6103 MOV R0,R1
+ 000001B6 C706 MOVA L563,R0
+ 000001B8 001D MOV.W @(R0,R1),R0
+ 000001BA 0023 BRAF R0
+ 000001BC 0009 NOP
+ 000001BE L562:
+ 000001BE L561:
+ 000001BE 0000 .DATA.W 0
+ 000001C0 <00000000> .DATA.L L337
+ 000001C4 <00000000> .DATA.L L336
+ 000001C8 <00000000> .DATA.L L335
+ 000001CC 00F00000 .DATA.L H'00F00000
+ 000001D0 L563:
+ 000001D0 0066 .DATA.W L439-L562
+ 000001D2 0060 .DATA.W L437-L562
+ 000001D4 005A .DATA.W L435-L562
+ 000001D6 0054 .DATA.W L433-L562
+ 000001D8 004E .DATA.W L431-L562
+ 000001DA 0048 .DATA.W L429-L562
+ 000001DC 0042 .DATA.W L427-L562
+ 000001DE 003C .DATA.W L425-L562
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 7
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000001E0 0036 .DATA.W L423-L562
+ 000001E2 0032 .DATA.W L421-L562
+ 000001E4 002E .DATA.W L419-L562
+ 000001E6 002A .DATA.W L417-L562
+ Speed.c 103 case ICLK_72:
+ 000001E8 L417: ; case label
+ Speed.c 104 cur = " 1/72";
+ Speed.c 105 break;
+ 000001E8 A033 BRA L493
+ 000001EA 2EA2 MOV.L R10,@R14
+ 000001EC L419: ; case label
+ Speed.c 106 case ICLK_48:
+ Speed.c 107 cur = " 1/48";
+ Speed.c 108 break;
+ 000001EC A031 BRA L493
+ 000001EE 2E92 MOV.L R9,@R14
+ 000001F0 L421: ; case label
+ Speed.c 109 case ICLK_36:
+ Speed.c 110 cur = " 1/36";
+ Speed.c 111 break;
+ 000001F0 A02F BRA L493
+ 000001F2 2E82 MOV.L R8,@R14
+ 000001F4 L423: ; case label
+ Speed.c 112 case ICLK_32:
+ Speed.c 113 cur = " 1/32";
+ 000001F4 D20D MOV.L L564,R2 ; L338
+ Speed.c 114 break;
+ 000001F6 A02C BRA L493
+ 000001F8 2E22 MOV.L R2,@R14
+ 000001FA L425: ; case label
+ Speed.c 115 case ICLK_24:
+ Speed.c 116 cur = " 1/24";
+ 000001FA D00D MOV.L L564+4,R0 ; L339
+ Speed.c 117 break;
+ 000001FC A010 BRA L537
+ 000001FE 0009 NOP
+ 00000200 L427: ; case label
+ Speed.c 118 case ICLK_16:
+ Speed.c 119 cur = " 1/16";
+ 00000200 D10C MOV.L L564+8,R1 ; L340
+ Speed.c 120 break;
+ 00000202 A00A BRA L536
+ 00000204 0009 NOP
+ 00000206 L429: ; case label
+ Speed.c 121 case ICLK_12:
+ Speed.c 122 cur = " 1/12";
+ 00000206 D00C MOV.L L564+12,R0 ; L341
+ Speed.c 123 break;
+ 00000208 A00A BRA L537
+ 0000020A 0009 NOP
+ 0000020C L431: ; case label
+ Speed.c 124 case ICLK_8:
+ Speed.c 125 cur = " 1/8";
+ 0000020C D10B MOV.L L564+16,R1 ; L342
+ Speed.c 126 break;
+ 0000020E A004 BRA L536
+ 00000210 0009 NOP
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 8
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000212 L433: ; case label
+ Speed.c 127 case ICLK_6:
+ Speed.c 128 cur = " 1/6";
+ 00000212 D00B MOV.L L564+20,R0 ; L343
+ Speed.c 129 break;
+ 00000214 A004 BRA L537
+ 00000216 0009 NOP
+ 00000218 L435: ; case label
+ Speed.c 130 case ICLK_4:
+ Speed.c 131 cur = " 1/4";
+ 00000218 D10A MOV.L L564+24,R1 ; L344
+ Speed.c 132 break;
+ 0000021A L536:
+ 0000021A A01A BRA L493
+ 0000021C 2E12 MOV.L R1,@R14
+ 0000021E L437: ; case label
+ Speed.c 133 case ICLK_3:
+ Speed.c 134 cur = " 1/3 (NORM)";
+ 0000021E D00A MOV.L L564+28,R0 ; L345
+ Speed.c 135 break;
+ 00000220 L537:
+ 00000220 A017 BRA L493
+ 00000222 2E02 MOV.L R0,@R14
+ 00000224 L439: ; case label
+ Speed.c 136 case ICLK_2:
+ Speed.c 137 cur = " 1/2 !!!";
+ 00000224 D109 MOV.L L564+32,R1 ; L346
+ 00000226 2E12 MOV.L R1,@R14
+ Speed.c 138 warning += 2;
+ Speed.c 139 break;
+ 00000228 A013 BRA L493
+ 0000022A 7D02 ADD #2,R13
+ 0000022C L564:
+ 0000022C <00000000> .DATA.L L338
+ 00000230 <00000000> .DATA.L L339
+ 00000234 <00000000> .DATA.L L340
+ 00000238 <00000000> .DATA.L L341
+ 0000023C <00000000> .DATA.L L342
+ 00000240 <00000000> .DATA.L L343
+ 00000244 <00000000> .DATA.L L344
+ 00000248 <00000000> .DATA.L L345
+ 0000024C <00000000> .DATA.L L346
+ 00000250 L441: ; default label
+ Speed.c 140 default:
+ Speed.c 141 cur = " INVALID";
+ 00000250 2EB2 MOV.L R11,@R14
+ Speed.c 142 break;
+ 00000252 L493:
+ Speed.c 143 }
+ Speed.c 144 printXY(9, 3, cur, MINI_OVER);
+ 00000252 E710 MOV #16,R7
+ 00000254 66E2 MOV.L @R14,R6
+ 00000256 E503 MOV #3,R5
+ 00000258 BED2 BSR _printXY
+ 0000025A E409 MOV #9,R4
+ Speed.c 145 switch(*FRQCR & 0xF) {
+ 0000025C 60C2 MOV.L @R12,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 9
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000025E 6002 MOV.L @R0,R0
+ 00000260 C90F AND #15,R0
+ 00000262 E10C MOV #12,R1
+ 00000264 3012 CMP/HS R1,R0
+ 00000266 8945 BT L457
+ 00000268 4000 SHLL R0
+ 0000026A 6103 MOV R0,R1
+ 0000026C C701 MOVA L566,R0
+ 0000026E 001D MOV.W @(R0,R1),R0
+ 00000270 0023 BRAF R0
+ 00000272 0009 NOP
+ 00000274 L565:
+ 00000274 L566:
+ 00000274 0054 .DATA.W L455-L565
+ 00000276 004E .DATA.W L453-L565
+ 00000278 0048 .DATA.W L452-L565
+ 0000027A 0042 .DATA.W L450-L565
+ 0000027C 003C .DATA.W L449-L565
+ 0000027E 0036 .DATA.W L448-L565
+ 00000280 0030 .DATA.W L447-L565
+ 00000282 002A .DATA.W L446-L565
+ 00000284 0024 .DATA.W L445-L565
+ 00000286 0020 .DATA.W L444-L565
+ 00000288 001C .DATA.W L443-L565
+ 0000028A 0018 .DATA.W L442-L565
+ Speed.c 146 case ICLK_72:
+ 0000028C L442: ; case label
+ Speed.c 147 cur = " 1/72";
+ Speed.c 148 break;
+ 0000028C A033 BRA L494
+ 0000028E 2EA2 MOV.L R10,@R14
+ 00000290 L443: ; case label
+ Speed.c 149 case ICLK_48:
+ Speed.c 150 cur = " 1/48";
+ Speed.c 151 break;
+ 00000290 A031 BRA L494
+ 00000292 2E92 MOV.L R9,@R14
+ 00000294 L444: ; case label
+ Speed.c 152 case ICLK_36:
+ Speed.c 153 cur = " 1/36";
+ Speed.c 154 break;
+ 00000294 A02F BRA L494
+ 00000296 2E82 MOV.L R8,@R14
+ 00000298 L445: ; case label
+ Speed.c 155 case ICLK_32:
+ Speed.c 156 cur = " 1/32";
+ 00000298 D20D MOV.L L567+2,R2 ; L338
+ Speed.c 157 break;
+ 0000029A A016 BRA L544
+ 0000029C 0009 NOP
+ 0000029E L446: ; case label
+ Speed.c 158 case ICLK_24:
+ Speed.c 159 cur = " 1/24";
+ 0000029E D10D MOV.L L567+6,R1 ; L339
+ Speed.c 160 break;
+ 000002A0 A010 BRA L543
+ 000002A2 0009 NOP
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 10
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000002A4 L447: ; case label
+ Speed.c 161 case ICLK_16:
+ Speed.c 162 cur = " 1/16";
+ 000002A4 D20C MOV.L L567+10,R2 ; L340
+ Speed.c 163 break;
+ 000002A6 A010 BRA L544
+ 000002A8 0009 NOP
+ 000002AA L448: ; case label
+ Speed.c 164 case ICLK_12:
+ Speed.c 165 cur = " 1/12";
+ 000002AA D10C MOV.L L567+14,R1 ; L341
+ Speed.c 166 break;
+ 000002AC A00A BRA L543
+ 000002AE 0009 NOP
+ 000002B0 L449: ; case label
+ Speed.c 167 case ICLK_8:
+ Speed.c 168 cur = " 1/8";
+ 000002B0 D20B MOV.L L567+18,R2 ; L342
+ Speed.c 169 break;
+ 000002B2 A00A BRA L544
+ 000002B4 0009 NOP
+ 000002B6 L450: ; case label
+ Speed.c 170 case ICLK_6:
+ Speed.c 171 cur = " 1/6 (NORM)";
+ 000002B6 D10B MOV.L L567+22,R1 ; L348
+ Speed.c 172 break;
+ 000002B8 A004 BRA L543
+ 000002BA 0009 NOP
+ 000002BC L452: ; case label
+ Speed.c 173 case ICLK_4:
+ Speed.c 174 cur = " 1/4";
+ 000002BC D20A MOV.L L567+26,R2 ; L344
+ Speed.c 175 break;
+ 000002BE A004 BRA L544
+ 000002C0 0009 NOP
+ 000002C2 L453: ; case label
+ Speed.c 176 case ICLK_3:
+ Speed.c 177 cur = " 1/3";
+ 000002C2 D10A MOV.L L567+30,R1 ; L349
+ Speed.c 178 break;
+ 000002C4 L543:
+ 000002C4 A017 BRA L494
+ 000002C6 2E12 MOV.L R1,@R14
+ 000002C8 L455: ; case label
+ Speed.c 179 case ICLK_2:
+ Speed.c 180 cur = " 1/2";
+ 000002C8 D209 MOV.L L567+34,R2 ; L350
+ Speed.c 181 break;
+ 000002CA L544:
+ 000002CA A014 BRA L494
+ 000002CC 2E22 MOV.L R2,@R14
+ 000002CE L567:
+ 000002CE 0000 .DATA.W 0
+ 000002D0 <00000000> .DATA.L L338
+ 000002D4 <00000000> .DATA.L L339
+ 000002D8 <00000000> .DATA.L L340
+ 000002DC <00000000> .DATA.L L341
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 11
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000002E0 <00000000> .DATA.L L342
+ 000002E4 <00000000> .DATA.L L348
+ 000002E8 <00000000> .DATA.L L344
+ 000002EC <00000000> .DATA.L L349
+ 000002F0 <00000000> .DATA.L L350
+ 000002F4 L457: ; default label
+ Speed.c 182 default:
+ Speed.c 183 cur = " INVALID";
+ 000002F4 2EB2 MOV.L R11,@R14
+ Speed.c 184 break;
+ 000002F6 L494:
+ Speed.c 185 }
+ Speed.c 186 printXY(9, 4, cur, MINI_OVER);
+ 000002F6 E710 MOV #16,R7
+ 000002F8 66E2 MOV.L @R14,R6
+ 000002FA E504 MOV #4,R5
+ 000002FC BE80 BSR _printXY
+ 000002FE E409 MOV #9,R4
+ Speed.c 187 switch((*FRQCR & 0xF00) >> 8) {
+ 00000300 60C2 MOV.L @R12,R0
+ 00000302 930B MOV.W L568,R3 ; H'0F00
+ 00000304 6002 MOV.L @R0,R0
+ 00000306 2039 AND R3,R0
+ 00000308 4019 SHLR8 R0
+ 0000030A E10C MOV #12,R1
+ 0000030C 3012 CMP/HS R1,R0
+ 0000030E 8947 BT L471
+ 00000310 4000 SHLL R0
+ 00000312 6103 MOV R0,R1
+ 00000314 C702 MOVA L570,R0
+ 00000316 001D MOV.W @(R0,R1),R0
+ 00000318 0023 BRAF R0
+ 0000031A 0009 NOP
+ 0000031C L569:
+ 0000031C L568:
+ 0000031C 0F00 .DATA.W H'0F00
+ 0000031E 00000000 .DATA.W 0
+ 00000320 L570:
+ 00000320 0058 .DATA.W L470-L569
+ 00000322 0052 .DATA.W L469-L569
+ 00000324 004C .DATA.W L467-L569
+ 00000326 0046 .DATA.W L466-L569
+ 00000328 0040 .DATA.W L465-L569
+ 0000032A 003A .DATA.W L464-L569
+ 0000032C 0034 .DATA.W L463-L569
+ 0000032E 002E .DATA.W L462-L569
+ 00000330 0028 .DATA.W L461-L569
+ 00000332 0024 .DATA.W L460-L569
+ 00000334 0020 .DATA.W L459-L569
+ 00000336 001C .DATA.W L458-L569
+ Speed.c 188 case ICLK_72:
+ 00000338 L458: ; case label
+ Speed.c 189 cur = " 1/72";
+ Speed.c 190 break;
+ 00000338 A033 BRA L495
+ 0000033A 2EA2 MOV.L R10,@R14
+ 0000033C L459: ; case label
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 12
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 191 case ICLK_48:
+ Speed.c 192 cur = " 1/48";
+ Speed.c 193 break;
+ 0000033C A031 BRA L495
+ 0000033E 2E92 MOV.L R9,@R14
+ 00000340 L460: ; case label
+ Speed.c 194 case ICLK_36:
+ Speed.c 195 cur = " 1/36";
+ Speed.c 196 break;
+ 00000340 A02F BRA L495
+ 00000342 2E82 MOV.L R8,@R14
+ 00000344 L461: ; case label
+ Speed.c 197 case ICLK_32:
+ Speed.c 198 cur = " 1/32";
+ 00000344 D20D MOV.L L571+2,R2 ; L338
+ Speed.c 199 break;
+ 00000346 A02C BRA L495
+ 00000348 2E22 MOV.L R2,@R14
+ 0000034A L462: ; case label
+ Speed.c 200 case ICLK_24:
+ Speed.c 201 cur = " 1/24";
+ 0000034A D00D MOV.L L571+6,R0 ; L339
+ Speed.c 202 break;
+ 0000034C A010 BRA L549
+ 0000034E 0009 NOP
+ 00000350 L463: ; case label
+ Speed.c 203 case ICLK_16:
+ Speed.c 204 cur = " 1/16";
+ 00000350 D10C MOV.L L571+10,R1 ; L340
+ Speed.c 205 break;
+ 00000352 A010 BRA L550
+ 00000354 0009 NOP
+ 00000356 L464: ; case label
+ Speed.c 206 case ICLK_12:
+ Speed.c 207 cur = " 1/12";
+ 00000356 D00C MOV.L L571+14,R0 ; L341
+ Speed.c 208 break;
+ 00000358 A00A BRA L549
+ 0000035A 0009 NOP
+ 0000035C L465: ; case label
+ Speed.c 209 case ICLK_8:
+ Speed.c 210 cur = " 1/8";
+ 0000035C D10B MOV.L L571+18,R1 ; L342
+ Speed.c 211 break;
+ 0000035E A00A BRA L550
+ 00000360 0009 NOP
+ 00000362 L466: ; case label
+ Speed.c 212 case ICLK_6:
+ Speed.c 213 cur = " 1/6";
+ 00000362 D00B MOV.L L571+22,R0 ; L343
+ Speed.c 214 break;
+ 00000364 A004 BRA L549
+ 00000366 0009 NOP
+ 00000368 L467: ; case label
+ Speed.c 215 case ICLK_4:
+ Speed.c 216 cur = " 1/4 (NORM)";
+ 00000368 D10A MOV.L L571+26,R1 ; L352
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 13
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 217 break;
+ 0000036A A004 BRA L550
+ 0000036C 0009 NOP
+ 0000036E L469: ; case label
+ Speed.c 218 case ICLK_3:
+ Speed.c 219 cur = " 1/3";
+ 0000036E D00A MOV.L L571+30,R0 ; L349
+ Speed.c 220 break;
+ 00000370 L549:
+ 00000370 A017 BRA L495
+ 00000372 2E02 MOV.L R0,@R14
+ 00000374 L470: ; case label
+ Speed.c 221 case ICLK_2:
+ Speed.c 222 cur = " 1/2";
+ 00000374 D109 MOV.L L571+34,R1 ; L350
+ Speed.c 223 break;
+ 00000376 L550:
+ 00000376 A014 BRA L495
+ 00000378 2E12 MOV.L R1,@R14
+ 0000037A L571:
+ 0000037A 0000 .DATA.W 0
+ 0000037C <00000000> .DATA.L L338
+ 00000380 <00000000> .DATA.L L339
+ 00000384 <00000000> .DATA.L L340
+ 00000388 <00000000> .DATA.L L341
+ 0000038C <00000000> .DATA.L L342
+ 00000390 <00000000> .DATA.L L343
+ 00000394 <00000000> .DATA.L L352
+ 00000398 <00000000> .DATA.L L349
+ 0000039C <00000000> .DATA.L L350
+ 000003A0 L471: ; default label
+ Speed.c 224 default:
+ Speed.c 225 cur = " INVALID";
+ 000003A0 2EB2 MOV.L R11,@R14
+ Speed.c 226 break;
+ 000003A2 L495:
+ Speed.c 227 }
+ Speed.c 228 printXY(9, 5, cur, MINI_OVER);
+ 000003A2 E710 MOV #16,R7
+ 000003A4 66E2 MOV.L @R14,R6
+ 000003A6 E505 MOV #5,R5
+ 000003A8 BE2A BSR _printXY
+ 000003AA E409 MOV #9,R4
+ Speed.c 229 switch((*FRQCR & 0xF000) >> 12) {
+ 000003AC 60C2 MOV.L @R12,R0
+ 000003AE D307 MOV.L L572,R3 ; H'0000F000
+ 000003B0 6002 MOV.L @R0,R0
+ 000003B2 2039 AND R3,R0
+ 000003B4 4019 SHLR8 R0
+ 000003B6 4009 SHLR2 R0
+ 000003B8 4009 SHLR2 R0
+ 000003BA E10C MOV #12,R1
+ 000003BC 3012 CMP/HS R1,R0
+ 000003BE 8934 BT L484
+ 000003C0 4000 SHLL R0
+ 000003C2 6103 MOV R0,R1
+ 000003C4 C702 MOVA L574,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 14
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000003C6 001D MOV.W @(R0,R1),R0
+ 000003C8 0023 BRAF R0
+ 000003CA 0009 NOP
+ 000003CC L573:
+ 000003CC L572:
+ 000003CC 0000F000 .DATA.L H'0000F000
+ 000003D0 L574:
+ 000003D0 0058 .DATA.W L483-L573
+ 000003D2 0052 .DATA.W L482-L573
+ 000003D4 004C .DATA.W L481-L573
+ 000003D6 0046 .DATA.W L480-L573
+ 000003D8 0040 .DATA.W L479-L573
+ 000003DA 003A .DATA.W L478-L573
+ 000003DC 0034 .DATA.W L477-L573
+ 000003DE 002E .DATA.W L476-L573
+ 000003E0 0028 .DATA.W L475-L573
+ 000003E2 0024 .DATA.W L474-L573
+ 000003E4 0020 .DATA.W L473-L573
+ 000003E6 001C .DATA.W L472-L573
+ Speed.c 230 case ICLK_72:
+ 000003E8 L472: ; case label
+ Speed.c 231 cur = " 1/72";
+ Speed.c 232 break;
+ 000003E8 A020 BRA L496
+ 000003EA 2EA2 MOV.L R10,@R14
+ 000003EC L473: ; case label
+ Speed.c 233 case ICLK_48:
+ Speed.c 234 cur = " 1/48";
+ Speed.c 235 break;
+ 000003EC A01E BRA L496
+ 000003EE 2E92 MOV.L R9,@R14
+ 000003F0 L474: ; case label
+ Speed.c 236 case ICLK_36:
+ Speed.c 237 cur = " 1/36";
+ Speed.c 238 break;
+ 000003F0 A01C BRA L496
+ 000003F2 2E82 MOV.L R8,@R14
+ 000003F4 L475: ; case label
+ Speed.c 239 case ICLK_32:
+ Speed.c 240 cur = " 1/32";
+ 000003F4 D21F MOV.L L575+2,R2 ; L338
+ Speed.c 241 break;
+ 000003F6 A019 BRA L496
+ 000003F8 2E22 MOV.L R2,@R14
+ 000003FA L476: ; case label
+ Speed.c 242 case ICLK_24:
+ Speed.c 243 cur = " 1/24";
+ 000003FA D01F MOV.L L575+6,R0 ; L339
+ Speed.c 244 break;
+ 000003FC A010 BRA L555
+ 000003FE 0009 NOP
+ 00000400 L477: ; case label
+ Speed.c 245 case ICLK_16:
+ Speed.c 246 cur = " 1/16";
+ 00000400 D11E MOV.L L575+10,R1 ; L340
+ Speed.c 247 break;
+ 00000402 A010 BRA L556
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 15
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000404 0009 NOP
+ 00000406 L478: ; case label
+ Speed.c 248 case ICLK_12:
+ Speed.c 249 cur = " 1/12";
+ 00000406 D01E MOV.L L575+14,R0 ; L341
+ Speed.c 250 break;
+ 00000408 A00A BRA L555
+ 0000040A 0009 NOP
+ 0000040C L479: ; case label
+ Speed.c 251 case ICLK_8:
+ Speed.c 252 cur = " 1/8";
+ 0000040C D11D MOV.L L575+18,R1 ; L342
+ Speed.c 253 break;
+ 0000040E A00A BRA L556
+ 00000410 0009 NOP
+ 00000412 L480: ; case label
+ Speed.c 254 case ICLK_6:
+ Speed.c 255 cur = " 1/6";
+ 00000412 D01D MOV.L L575+22,R0 ; L343
+ Speed.c 256 break;
+ 00000414 A004 BRA L555
+ 00000416 0009 NOP
+ 00000418 L481: ; case label
+ Speed.c 257 case ICLK_4:
+ Speed.c 258 cur = " 1/4 (NORM)";
+ 00000418 D11C MOV.L L575+26,R1 ; L352
+ Speed.c 259 break;
+ 0000041A A004 BRA L556
+ 0000041C 0009 NOP
+ 0000041E L482: ; case label
+ Speed.c 260 case ICLK_3:
+ Speed.c 261 cur = " 1/3";
+ 0000041E D01C MOV.L L575+30,R0 ; L349
+ Speed.c 262 break;
+ 00000420 L555:
+ 00000420 A004 BRA L496
+ 00000422 2E02 MOV.L R0,@R14
+ 00000424 L483: ; case label
+ Speed.c 263 case ICLK_2:
+ Speed.c 264 cur = " 1/2";
+ 00000424 D11B MOV.L L575+34,R1 ; L350
+ Speed.c 265 break;
+ 00000426 L556:
+ 00000426 A001 BRA L496
+ 00000428 2E12 MOV.L R1,@R14
+ 0000042A L484: ; default label
+ Speed.c 266 default:
+ Speed.c 267 cur = " INVALID";
+ 0000042A 2EB2 MOV.L R11,@R14
+ Speed.c 268 break;
+ 0000042C L496:
+ Speed.c 269 }
+ Speed.c 270 printXY(9, 6, cur, MINI_OVER);
+ 0000042C 66E2 MOV.L @R14,R6
+ 0000042E E506 MOV #6,R5
+ 00000430 E710 MOV #16,R7
+ 00000432 BDE5 BSR _printXY
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 16
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000434 E409 MOV #9,R4
+ Speed.c 271 if(warning == 1 || warning == 3) {
+ 00000436 60D3 MOV R13,R0
+ 00000438 8801 CMP/EQ #1,R0
+ 0000043A 8902 BT L498
+ 0000043C 60D3 MOV R13,R0
+ 0000043E 8803 CMP/EQ #3,R0
+ 00000440 8B06 BF L497
+ 00000442 L498:
+ Speed.c 272 printXY(1, 8, " UNSAFE FREQ/DIV VALUE", MINI_OVER);
+ 00000442 E710 MOV #16,R7
+ 00000444 D614 MOV.L L575+38,R6 ; L355
+ 00000446 E508 MOV #8,R5
+ 00000448 BDDA BSR _printXY
+ 0000044A E401 MOV #1,R4
+ 0000044C A007 BRA L499
+ 0000044E 0009 NOP
+ 00000450 L497:
+ Speed.c 273 } else if(warning == 2) {
+ 00000450 8802 CMP/EQ #2,R0
+ 00000452 8B04 BF L499
+ Speed.c 274 printXY(1, 8, " TROUBLESOME DIV VALUE", MINI_OVER);
+ 00000454 D611 MOV.L L575+42,R6 ; L357
+ 00000456 E508 MOV #8,R5
+ 00000458 E710 MOV #16,R7
+ 0000045A BDD1 BSR _printXY
+ 0000045C E401 MOV #1,R4
+ 0000045E L499:
+ Speed.c 275 }
+ Speed.c 276 Bdisp_PutDisp_DD();
+ 0000045E 4F26 LDS.L @R15+,PR
+ 00000460 D20F MOV.L L575+46,R2 ; _Bdisp_PutDisp_DD
+ 00000462 68F6 MOV.L @R15+,R8
+ 00000464 69F6 MOV.L @R15+,R9
+ 00000466 6AF6 MOV.L @R15+,R10
+ 00000468 6BF6 MOV.L @R15+,R11
+ 0000046A 6CF6 MOV.L @R15+,R12
+ 0000046C 6DF6 MOV.L @R15+,R13
+ 0000046E 422B JMP @R2
+ 00000470 6EF6 MOV.L @R15+,R14
+ 00000472 L575:
+ 00000472 0000 .DATA.W 0
+ 00000474 <00000000> .DATA.L L338
+ 00000478 <00000000> .DATA.L L339
+ 0000047C <00000000> .DATA.L L340
+ 00000480 <00000000> .DATA.L L341
+ 00000484 <00000000> .DATA.L L342
+ 00000488 <00000000> .DATA.L L343
+ 0000048C <00000000> .DATA.L L352
+ 00000490 <00000000> .DATA.L L349
+ 00000494 <00000000> .DATA.L L350
+ 00000498 <00000000> .DATA.L L355
+ 0000049C <00000000> .DATA.L L357
+ 000004A0 <00000000> .DATA.L _Bdisp_PutDisp_DD
+ Speed.c 277 }
+ Speed.c 278
+ Speed.c 279 int AddIn_main(int isAppli, unsigned short OptionNum)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 17
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000004A4 _AddIn_main: ; function: AddIn_main
+ ; frame size=24
+ 000004A4 D438 MOV.L L576+10,R4 ; _DIVs
+ 000004A6 7FE8 ADD #-24,R15
+ 000004A8 D538 MOV.L L576+14,R5 ; _PLLs
+ 000004AA 6343 MOV R4,R3
+ 000004AC DA38 MOV.L L576+18,R10; _change_freq
+ 000004AE 6943 MOV R4,R9
+ 000004B0 DB38 MOV.L L576+22,R11; _change_iclk
+ 000004B2 6853 MOV R5,R8
+ 000004B4 DC38 MOV.L L576+26,R12; H'3F000000
+ 000004B6 6253 MOV R5,R2
+ 000004B8 DD38 MOV.L L576+30,R13; H'00F00000
+ 000004BA 6153 MOV R5,R1
+ 000004BC 730C ADD #12,R3
+ 000004BE 7908 ADD #8,R9
+ 000004C0 1F33 MOV.L R3,@(12,R15)
+ 000004C2 7838 ADD #56,R8
+ 000004C4 7234 ADD #52,R2
+ 000004C6 7504 ADD #4,R5
+ 000004C8 1F22 MOV.L R2,@(8,R15)
+ 000004CA 6343 MOV R4,R3
+ 000004CC 1F11 MOV.L R1,@(4,R15)
+ 000004CE 7404 ADD #4,R4
+ 000004D0 1F55 MOV.L R5,@(20,R15)
+ 000004D2 2F32 MOV.L R3,@R15
+ 000004D4 1F44 MOV.L R4,@(16,R15)
+ Speed.c 280 {
+ Speed.c 281 int i;
+ Speed.c 282 while(1) {
+ 000004D6 L502:
+ Speed.c 283 update();
+ 000004D6 BDA3 BSR _update
+ 000004D8 0009 NOP
+ 000004DA D231 MOV.L L576+34,R2 ; _FRQCR
+ 000004DC D331 MOV.L L576+38,R3 ; _key
+ 000004DE 6032 MOV.L @R3,R0
+ 000004E0 914D MOV.W L576,R1 ; H'7542
+ 000004E2 3010 CMP/EQ R1,R0
+ 000004E4 8D0B BT/S L487
+ 000004E6 6522 MOV.L @R2,R5
+ 000004E8 914A MOV.W L576+2,R1 ; H'7547
+ 000004EA 3010 CMP/EQ R1,R0
+ 000004EC 891B BT L488
+ 000004EE 9148 MOV.W L576+4,R1 ; H'7544
+ 000004F0 3010 CMP/EQ R1,R0
+ 000004F2 892D BT L489
+ 000004F4 9146 MOV.W L576+6,R1 ; H'7545
+ 000004F6 3010 CMP/EQ R1,R0
+ 000004F8 8956 BT L490
+ 000004FA A06D BRA L503
+ 000004FC 0009 NOP
+ 000004FE L487: ; case label
+ 000004FE 5EF1 MOV.L @(4,R15),R14
+ 00000500 54F1 MOV.L @(4,R15),R4
+ Speed.c 284 switch (key) {
+ Speed.c 285 case KEY_CTRL_UP:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 18
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 286 for(i = 0; i < 13; i++) {
+ 00000502 51F2 MOV.L @(8,R15),R1
+ 00000504 3412 CMP/HS R1,R4
+ 00000506 8D67 BT/S L503
+ 00000508 7E04 ADD #4,R14
+ 0000050A L505:
+ Speed.c 287 if(((*FRQCR & 0x3F000000) >> 24) == PLLs[i]) {
+ 0000050A 6352 MOV.L @R5,R3
+ 0000050C 23C9 AND R12,R3
+ 0000050E 4329 SHLR16 R3
+ 00000510 6142 MOV.L @R4,R1
+ 00000512 4319 SHLR8 R3
+ 00000514 3310 CMP/EQ R1,R3
+ 00000516 8911 BT L557
+ 00000518 52F2 MOV.L @(8,R15),R2
+ 0000051A 7404 ADD #4,R4
+ 0000051C 3422 CMP/HS R2,R4
+ 0000051E 8FF4 BF/S L505
+ 00000520 7E04 ADD #4,R14
+ Speed.c 288 change_freq(PLLs[i+1]);
+ Speed.c 289 update();
+ Speed.c 290 break;
+ Speed.c 291 }
+ Speed.c 292 }
+ Speed.c 293 break;
+ 00000522 A059 BRA L503
+ 00000524 0009 NOP
+ 00000526 L488: ; case label
+ 00000526 5EF1 MOV.L @(4,R15),R14
+ 00000528 54F5 MOV.L @(20,R15),R4
+ Speed.c 294 case KEY_CTRL_DOWN:
+ Speed.c 295 for(i = 1; i < 14; i++) {
+ 0000052A 3482 CMP/HS R8,R4
+ 0000052C 8954 BT L503
+ 0000052E L509:
+ Speed.c 296 if(((*FRQCR & 0x3F000000) >> 24) == PLLs[i]) {
+ 0000052E 6352 MOV.L @R5,R3
+ 00000530 23C9 AND R12,R3
+ 00000532 4329 SHLR16 R3
+ 00000534 6142 MOV.L @R4,R1
+ 00000536 4319 SHLR8 R3
+ 00000538 3310 CMP/EQ R1,R3
+ 0000053A 8B03 BF L510
+ 0000053C L557:
+ Speed.c 297 change_freq(PLLs[i-1]);
+ 0000053C 4A0B JSR @R10
+ 0000053E 64E2 MOV.L @R14,R4
+ Speed.c 298 update();
+ Speed.c 299 break;
+ 00000540 A041 BRA L559
+ 00000542 0009 NOP
+ 00000544 L510:
+ 00000544 7404 ADD #4,R4
+ 00000546 3482 CMP/HS R8,R4
+ 00000548 8FF1 BF/S L509
+ 0000054A 7E04 ADD #4,R14
+ Speed.c 300 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 19
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 301 }
+ Speed.c 302 break;
+ 0000054C A044 BRA L503
+ 0000054E 0009 NOP
+ 00000550 L489: ; case label
+ 00000550 6EF2 MOV.L @R15,R14
+ 00000552 64F2 MOV.L @R15,R4
+ Speed.c 303 case KEY_CTRL_LEFT:
+ Speed.c 304 for(i = 0; i < 2; i++) {
+ 00000554 3492 CMP/HS R9,R4
+ 00000556 8D3F BT/S L503
+ 00000558 7E04 ADD #4,R14
+ 0000055A L513:
+ Speed.c 305 if(((*FRQCR & 0x00F00000) >> 20) == DIVs[i]) {
+ 0000055A 6352 MOV.L @R5,R3
+ 0000055C 23D9 AND R13,R3
+ 0000055E 4329 SHLR16 R3
+ 00000560 6142 MOV.L @R4,R1
+ 00000562 4309 SHLR2 R3
+ 00000564 4309 SHLR2 R3
+ 00000566 3310 CMP/EQ R1,R3
+ 00000568 8B03 BF L514
+ Speed.c 306 change_iclk(DIVs[i+1]);
+ 0000056A 4B0B JSR @R11
+ 0000056C 64E2 MOV.L @R14,R4
+ Speed.c 307 update();
+ Speed.c 308 break;
+ 0000056E A02A BRA L559
+ 00000570 0009 NOP
+ 00000572 L514:
+ 00000572 7404 ADD #4,R4
+ 00000574 3492 CMP/HS R9,R4
+ 00000576 8FF0 BF/S L513
+ 00000578 7E04 ADD #4,R14
+ Speed.c 309 }
+ Speed.c 310 }
+ Speed.c 311 break;
+ 0000057A A02D BRA L503
+ 0000057C 0009 NOP
+ 0000057E L576:
+ 0000057E 7542 .DATA.W H'7542
+ 00000580 7547 .DATA.W H'7547
+ 00000582 7544 .DATA.W H'7544
+ 00000584 7545 .DATA.W H'7545
+ 00000586 0000 .DATA.W 0
+ 00000588 <00000000> .DATA.L _DIVs
+ 0000058C <00000000> .DATA.L _PLLs
+ 00000590 <00000000> .DATA.L _change_freq
+ 00000594 <00000000> .DATA.L _change_iclk
+ 00000598 3F000000 .DATA.L H'3F000000
+ 0000059C 00F00000 .DATA.L H'00F00000
+ 000005A0 <00000000> .DATA.L _FRQCR
+ 000005A4 <00000000> .DATA.L _key
+ 000005A8 L490: ; case label
+ 000005A8 6EF2 MOV.L @R15,R14
+ 000005AA 54F4 MOV.L @(16,R15),R4
+ Speed.c 312 case KEY_CTRL_RIGHT:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 20
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 313 for(i = 1; i < 3; i++) {
+ 000005AC 51F3 MOV.L @(12,R15),R1
+ 000005AE 3412 CMP/HS R1,R4
+ 000005B0 8912 BT L503
+ 000005B2 L517:
+ Speed.c 314 if(((*FRQCR & 0x00F00000) >> 20) == DIVs[i]) {
+ 000005B2 6352 MOV.L @R5,R3
+ 000005B4 23D9 AND R13,R3
+ 000005B6 4329 SHLR16 R3
+ 000005B8 6142 MOV.L @R4,R1
+ 000005BA 4309 SHLR2 R3
+ 000005BC 4309 SHLR2 R3
+ 000005BE 3310 CMP/EQ R1,R3
+ 000005C0 8B05 BF L518
+ Speed.c 315 change_iclk(DIVs[i-1]);
+ 000005C2 4B0B JSR @R11
+ 000005C4 64E2 MOV.L @R14,R4
+ Speed.c 316 update();
+ Speed.c 317 break;
+ 000005C6 L559:
+ 000005C6 BD2B BSR _update
+ 000005C8 0009 NOP
+ 000005CA A005 BRA L503
+ 000005CC 0009 NOP
+ 000005CE L518:
+ 000005CE 7404 ADD #4,R4
+ 000005D0 52F3 MOV.L @(12,R15),R2
+ 000005D2 3422 CMP/HS R2,R4
+ 000005D4 8FED BF/S L517
+ 000005D6 7E04 ADD #4,R14
+ 000005D8 L503:
+ Speed.c 318 }
+ Speed.c 319 }
+ Speed.c 320 break;
+ Speed.c 321 default:
+ Speed.c 322 break;
+ Speed.c 323 }
+ Speed.c 324 GetKey(&key);
+ 000005D8 D403 MOV.L L577,R4 ; _key
+ 000005DA D304 MOV.L L577+4,R3 ; _GetKey
+ 000005DC 430B JSR @R3
+ 000005DE 0009 NOP
+ Speed.c 325 update();
+ 000005E0 BD1E BSR _update
+ 000005E2 0009 NOP
+ 000005E4 AF77 BRA L502
+ 000005E6 0009 NOP
+ 000005E8 L577:
+ 000005E8 <00000000> .DATA.L _key
+ 000005EC <00000000> .DATA.L _GetKey
+ Speed.c 326 }
+ Speed.c 327
+ Speed.c 328 return 0;
+ Speed.c 329 }
+ Speed.c 330
+ Speed.c 331 //****************************************************************************
+ Speed.c 332 //************** ****************
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 21
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Speed.c 333 //************** Notice! ****************
+ Speed.c 334 //************** ****************
+ Speed.c 335 //************** Please do not change the following source. ****************
+ Speed.c 336 //************** ****************
+ Speed.c 337 //****************************************************************************
+ Speed.c 338
+ Speed.c 339
+ Speed.c 340 #pragma section _BR_Size
+ Speed.c 341 unsigned long BR_Size;
+ Speed.c 342 #pragma section
+ Speed.c 343
+ Speed.c 344
+ Speed.c 345 #pragma section _TOP
+ Speed.c 346
+ Speed.c 347 //****************************************************************************
+ Speed.c 348 // InitializeSystem
+ Speed.c 349 //
+ Speed.c 350 // param : isAppli : 1 = Application / 0 = eActivity
+ Speed.c 351 // OptionNum : Option Number (only eActivity)
+ Speed.c 352 //
+ Speed.c 353 // retval : 1 = No error / 0 = Error
+ Speed.c 354 //
+ Speed.c 355 //****************************************************************************
+ Speed.c 356 int InitializeSystem(int isAppli, unsigned short OptionNum)
+P_T 00000000 _InitializeSystem: ; function: InitializeSystem
+ ; frame size=0
+ Speed.c 357 {
+ Speed.c 358 return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
+ 00000000 D301 MOV.L L578+2,R3 ; _INIT_ADDIN_APPLICATION
+ 00000002 432B JMP @R3
+ 00000004 0009 NOP
+ 00000006 L578:
+ 00000006 0000 .DATA.W 0
+ 00000008 <00000000> .DATA.L _INIT_ADDIN_APPLICATION
+ Speed.c 359 }
+ Speed.c 360
+ Speed.c 361 #pragma section
+ Speed.c 362
+C 00000000 _PLLs: ; static: PLLs
+ 00000000 0000000000 .DATA.L H'00000000,H'00000001,H'00000002,H'00000003,H'00000005,H'00000007,H'0000000B,
+ 0000010000 + H'0000000E,H'0000000F,H'00000011,H'00000013,H'00000017,H'00000019,H'0000001B
+ 0002000000
+ 0300000005
+ 0000000700
+ 00000B0000
+ 000E000000
+ 0F00000011
+ 0000001300
+ 0000170000
+ 0019000000
+ 1B
+ 00000038 _DIVs: ; static: DIVs
+ 00000038 0000000000 .DATA.L H'00000000,H'00000001,H'00000002,H'00000003,H'00000004,H'00000005,H'00000006,
+ 0000010000 + H'00000007,H'00000008,H'00000009,H'0000000A,H'0000000B
+ 0002000000
+ 0300000004
+ 0000000500
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 22
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000060000
+ 0007000000
+ 0800000009
+ 0000000A00
+ 00000B
+ 00000068 L311:
+ 00000068 20204F7065 .SDATA " Operating Frequency"
+ 726174696E
+ 6720467265
+ 7175656E63
+ 79
+ 0000007D 00 .DATA.B H'00
+ 0000007E 00000002 .RES.W 1
+ 00000080 L312:
+ 00000080 2020467265 .SDATA " Freq:"
+ 713A
+ 00000087 00 .DATA.B H'00
+ 00000088 L313:
+ 00000088 202049434C .SDATA " ICLK:"
+ 4B3A
+ 0000008F 00 .DATA.B H'00
+ 00000090 L314:
+ 00000090 202050434C .SDATA " PCLK:"
+ 4B3A
+ 00000097 00 .DATA.B H'00
+ 00000098 L315:
+ 00000098 202042434C .SDATA " BCLK:"
+ 4B3A
+ 0000009F 00 .DATA.B H'00
+ 000000A0 L316:
+ 000000A0 202053434C .SDATA " SCLK:"
+ 4B3A
+ 000000A7 00 .DATA.B H'00
+ 000000A8 L317:
+ 000000A8 2020552F44 .SDATA " U/D - FRQ, L/R - ICLK"
+ 202D204652
+ 512C204C2F
+ 52202D2049
+ 434C4B
+ 000000BF 00 .DATA.B H'00
+ 000000C0 L319:
+ 000000C0 2020313031 .SDATA " 101.5 MHz !!!"
+ 2E35204D48
+ 7A20212121
+ 000000CF 00 .DATA.B H'00
+ 000000D0 L320:
+ 000000D0 202039342E .SDATA " 94.3 MHz"
+ 33204D487A
+ 000000DA 00 .DATA.B H'00
+ 000000DB 00000001 .RES.B 1
+ 000000DC L321:
+ 000000DC 2020383720 .SDATA " 87 MHz"
+ 4D487A
+ 000000E4 00 .DATA.B H'00
+ 000000E5 00000001 .RES.B 1
+ 000000E6 00000002 .RES.W 1
+ 000000E8 L322:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 23
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000E8 202037322E .SDATA " 72.5 MHz"
+ 35204D487A
+ 000000F2 00 .DATA.B H'00
+ 000000F3 00000001 .RES.B 1
+ 000000F4 L323:
+ 000000F4 202036352E .SDATA " 65.3 MHz"
+ 33204D487A
+ 000000FE 00 .DATA.B H'00
+ 000000FF 00000001 .RES.B 1
+ 00000100 L324:
+ 00000100 2020353820 .SDATA " 58 MHz (NORM)"
+ 4D487A2028
+ 4E4F524D29
+ 0000010F 00 .DATA.B H'00
+ 00000110 L325:
+ 00000110 202035342E .SDATA " 54.4 MHz"
+ 34204D487A
+ 0000011A 00 .DATA.B H'00
+ 0000011B 00000001 .RES.B 1
+ 0000011C L326:
+ 0000011C 202034332E .SDATA " 43.5 MHz"
+ 35204D487A
+ 00000126 00 .DATA.B H'00
+ 00000127 00000001 .RES.B 1
+ 00000128 L327:
+ 00000128 2020323920 .SDATA " 29 MHz"
+ 4D487A
+ 00000130 00 .DATA.B H'00
+ 00000131 00000001 .RES.B 1
+ 00000132 00000002 .RES.W 1
+ 00000134 L328:
+ 00000134 202032312E .SDATA " 21.7 MHz"
+ 37204D487A
+ 0000013E 00 .DATA.B H'00
+ 0000013F 00000001 .RES.B 1
+ 00000140 L329:
+ 00000140 202031342E .SDATA " 14.5 MHz"
+ 35204D487A
+ 0000014A 00 .DATA.B H'00
+ 0000014B 00000001 .RES.B 1
+ 0000014C L330:
+ 0000014C 202031302E .SDATA " 10.8 MHz"
+ 38204D487A
+ 00000156 00 .DATA.B H'00
+ 00000157 00000001 .RES.B 1
+ 00000158 L331:
+ 00000158 2020372E32 .SDATA " 7.25 MHz"
+ 35204D487A
+ 00000162 00 .DATA.B H'00
+ 00000163 00000001 .RES.B 1
+ 00000164 L332:
+ 00000164 2020332E36 .SDATA " 3.6 MHz"
+ 204D487A
+ 0000016D 00 .DATA.B H'00
+ 0000016E 00000002 .RES.W 1
+ 00000170 L333:
+ 00000170 2020494E56 .SDATA " INVALID"
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 24
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 414C4944
+ 00000179 00 .DATA.B H'00
+ 0000017A 00000002 .RES.W 1
+ 0000017C L335:
+ 0000017C 2020312F37 .SDATA " 1/72"
+ 32
+ 00000182 00 .DATA.B H'00
+ 00000183 00000001 .RES.B 1
+ 00000184 L336:
+ 00000184 2020312F34 .SDATA " 1/48"
+ 38
+ 0000018A 00 .DATA.B H'00
+ 0000018B 00000001 .RES.B 1
+ 0000018C L337:
+ 0000018C 2020312F33 .SDATA " 1/36"
+ 36
+ 00000192 00 .DATA.B H'00
+ 00000193 00000001 .RES.B 1
+ 00000194 L338:
+ 00000194 2020312F33 .SDATA " 1/32"
+ 32
+ 0000019A 00 .DATA.B H'00
+ 0000019B 00000001 .RES.B 1
+ 0000019C L339:
+ 0000019C 2020312F32 .SDATA " 1/24"
+ 34
+ 000001A2 00 .DATA.B H'00
+ 000001A3 00000001 .RES.B 1
+ 000001A4 L340:
+ 000001A4 2020312F31 .SDATA " 1/16"
+ 36
+ 000001AA 00 .DATA.B H'00
+ 000001AB 00000001 .RES.B 1
+ 000001AC L341:
+ 000001AC 2020312F31 .SDATA " 1/12"
+ 32
+ 000001B2 00 .DATA.B H'00
+ 000001B3 00000001 .RES.B 1
+ 000001B4 L342:
+ 000001B4 2020312F38 .SDATA " 1/8"
+ 000001B9 00 .DATA.B H'00
+ 000001BA 00000002 .RES.W 1
+ 000001BC L343:
+ 000001BC 2020312F36 .SDATA " 1/6"
+ 000001C1 00 .DATA.B H'00
+ 000001C2 00000002 .RES.W 1
+ 000001C4 L344:
+ 000001C4 2020312F34 .SDATA " 1/4"
+ 000001C9 00 .DATA.B H'00
+ 000001CA 00000002 .RES.W 1
+ 000001CC L345:
+ 000001CC 2020312F33 .SDATA " 1/3 (NORM)"
+ 20284E4F52
+ 4D29
+ 000001D8 00 .DATA.B H'00
+ 000001D9 00000001 .RES.B 1
+ 000001DA 00000002 .RES.W 1
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 25
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000001DC L346:
+ 000001DC 2020312F32 .SDATA " 1/2 !!!"
+ 20212121
+ 000001E5 00 .DATA.B H'00
+ 000001E6 00000002 .RES.W 1
+ 000001E8 L348:
+ 000001E8 2020312F36 .SDATA " 1/6 (NORM)"
+ 20284E4F52
+ 4D29
+ 000001F4 00 .DATA.B H'00
+ 000001F5 00000001 .RES.B 1
+ 000001F6 00000002 .RES.W 1
+ 000001F8 L349:
+ 000001F8 2020312F33 .SDATA " 1/3"
+ 000001FD 00 .DATA.B H'00
+ 000001FE 00000002 .RES.W 1
+ 00000200 L350:
+ 00000200 2020312F32 .SDATA " 1/2"
+ 00000205 00 .DATA.B H'00
+ 00000206 00000002 .RES.W 1
+ 00000208 L352:
+ 00000208 2020312F34 .SDATA " 1/4 (NORM)"
+ 20284E4F52
+ 4D29
+ 00000214 00 .DATA.B H'00
+ 00000215 00000001 .RES.B 1
+ 00000216 00000002 .RES.W 1
+ 00000218 L355:
+ 00000218 2020554E53 .SDATA " UNSAFE FREQ/DIV VALUE"
+ 4146452046
+ 5245512F44
+ 4956205641
+ 4C5545
+ 0000022F 00 .DATA.B H'00
+ 00000230 L357:
+ 00000230 202054524F .SDATA " TROUBLESOME DIV VALUE"
+ 55424C4553
+ 4F4D452044
+ 4956205641
+ 4C5545
+ 00000247 00 .DATA.B H'00
+D 00000000 _key: ; static: key
+ 00000000 00000000 .DATA.L H'00000000
+ 00000004 _cur: ; static: cur
+ 00000004 00000000 .DATA.L H'00000000
+ 00000008 _FRQCR: ; static: FRQCR
+ 00000008 A4150000 .DATA.L H'A4150000
+B_B 00000000 _BR_Size: ; static: BR_Size
+ 00000000 00000004 .RES.L 1
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 18-Oct-2012 16:26:34 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 2
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 362
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 000005F0 Byte(s)
+PROGRAM SECTION (P_BR_Size): 00000000 Byte(s)
+PROGRAM SECTION (P_TOP): 0000000C Byte(s)
+CONSTANT SECTION (C): 00000248 Byte(s)
+CONSTANT SECTION (C_BR_Size): 00000000 Byte(s)
+CONSTANT SECTION (C_TOP): 00000000 Byte(s)
+DATA SECTION (D): 0000000C Byte(s)
+DATA SECTION (D_BR_Size): 00000000 Byte(s)
+DATA SECTION (D_TOP): 00000000 Byte(s)
+BSS SECTION (B): 00000000 Byte(s)
+BSS SECTION (B_BR_Size): 00000004 Byte(s)
+BSS SECTION (B_TOP): 00000000 Byte(s)
+
+ TOTAL PROGRAM SIZE: 00000854 Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 7
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 10
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 176
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmkFC48.tmp
+
diff --git a/Debug/Speed.obj b/Debug/Speed.obj
new file mode 100644
index 0000000..082a682
--- /dev/null
+++ b/Debug/Speed.obj
Binary files differ
diff --git a/Debug/change_bclk.obj b/Debug/change_bclk.obj
new file mode 100644
index 0000000..ef9373d
--- /dev/null
+++ b/Debug/change_bclk.obj
Binary files differ
diff --git a/Debug/change_freq.obj b/Debug/change_freq.obj
new file mode 100644
index 0000000..277166a
--- /dev/null
+++ b/Debug/change_freq.obj
Binary files differ
diff --git a/Debug/change_iclk.obj b/Debug/change_iclk.obj
new file mode 100644
index 0000000..efc35ca
--- /dev/null
+++ b/Debug/change_iclk.obj
Binary files differ
diff --git a/Debug/change_pclk.obj b/Debug/change_pclk.obj
new file mode 100644
index 0000000..7789aee
--- /dev/null
+++ b/Debug/change_pclk.obj
Binary files differ
diff --git a/Debug/change_sclk.obj b/Debug/change_sclk.obj
new file mode 100644
index 0000000..8963358
--- /dev/null
+++ b/Debug/change_sclk.obj
Binary files differ
diff --git a/FXSH_Build.bat b/FXSH_Build.bat
new file mode 100644
index 0000000..8c6f257
--- /dev/null
+++ b/FXSH_Build.bat
@@ -0,0 +1,22 @@
+@echo off
+rem Do not edit! This batch file is created by CASIO fx-9860G SDK.
+
+
+if exist SPEED.G1A del SPEED.G1A
+
+cd debug
+if exist FXADDINror.bin del FXADDINror.bin
+"G:\Casio SDK\OS\SH\Bin\Hmake.exe" Addin.mak
+cd ..
+if not exist debug\FXADDINror.bin goto error
+
+"G:\Casio SDK\Tools\MakeAddinHeader363.exe" "G:\Casio SDK\Projekte\Speed"
+if not exist SPEED.G1A goto error
+echo Build has completed.
+goto end
+
+:error
+echo Build was not successful.
+
+:end
+
diff --git a/Hardware.txt b/Hardware.txt
new file mode 100644
index 0000000..70e0d4d
--- /dev/null
+++ b/Hardware.txt
@@ -0,0 +1,23 @@
+ .export _overclock
+ .SECTION P,CODE,ALIGN=4
+
+_change_freq:
+ mov r4, r0
+ and #0x3F, r0
+ shll8 r0
+ mov.l frqcr, r1
+ mov.l pll_mask, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l frqcr_kick_bit, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ frqcr_kick_bit: .long 0x80000000
+ pll_mask: .long 0xC0FFFFFF
+ frqcr: .long 0xA4150000
+ .END \ No newline at end of file
diff --git a/INIT/CasioRAM.mem b/INIT/CasioRAM.mem
new file mode 100644
index 0000000..a5fd725
--- /dev/null
+++ b/INIT/CasioRAM.mem
Binary files differ
diff --git a/INIT/CasioRAMCPU.mem b/INIT/CasioRAMCPU.mem
new file mode 100644
index 0000000..fd09ac7
--- /dev/null
+++ b/INIT/CasioRAMCPU.mem
Binary files differ
diff --git a/MainIcon.bmp b/MainIcon.bmp
new file mode 100644
index 0000000..3fe372c
--- /dev/null
+++ b/MainIcon.bmp
Binary files differ
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c6e4349
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+Pover overclocking utility ported from the Casio Prizm to the fx-9860 GII-2. Use at your own risk.
diff --git a/SPEED.G1A b/SPEED.G1A
new file mode 100644
index 0000000..e6b136c
--- /dev/null
+++ b/SPEED.G1A
Binary files differ
diff --git a/Speed.c b/Speed.c
new file mode 100644
index 0000000..409db09
--- /dev/null
+++ b/Speed.c
@@ -0,0 +1,362 @@
+#include "fxlib.h"
+
+#define PLL_28x /*0011011*/ 27 // 101.5 MHz
+#define PLL_26x /*0011001*/ 25 // 94.3 MHz
+#define PLL_24x /*0010111*/ 23 // 87 MHz
+#define PLL_20x /*0010011*/ 19 // 72.5 MHz
+#define PLL_18x /*0010001*/ 17 // 65.25 MHz
+#define PLL_16x /*0001111*/ 15 // 58 MHz (NORMAL SPEED)
+#define PLL_15x /*0001110*/ 14 // 54.37 MHz
+#define PLL_12x /*0001011*/ 11 // 43.5 MHz
+#define PLL_8x /*0000111*/ 7 // 29 MHz
+#define PLL_6x /*0000101*/ 5 // 21.75 MHz
+#define PLL_4x /*0000011*/ 3 // 14.5 MHz
+#define PLL_3x /*0000010*/ 2 // 10.8 MHz
+#define PLL_2x /*0000001*/ 1 // 7.25 MHz
+#define PLL_1x /*0000000*/ 0 // 3.6 MHz
+
+#define ICLK_2 /*00000*/ 0
+#define ICLK_3 /*00001*/ 1
+#define ICLK_4 /*00010*/ 2
+#define ICLK_6 /*00011*/ 3
+#define ICLK_8 /*00100*/ 4
+#define ICLK_12 /*00101*/ 5
+#define ICLK_16 /*00110*/ 6
+#define ICLK_24 /*00111*/ 7
+#define ICLK_32 /*01000*/ 8
+#define ICLK_36 /*01001*/ 9
+#define ICLK_48 /*01010*/ 10
+#define ICLK_72 /*01011*/ 11
+
+const int PLLs[] = {PLL_1x, PLL_2x, PLL_3x, PLL_4x, PLL_6x, PLL_8x, PLL_12x, PLL_15x, PLL_16x, PLL_18x, PLL_20x, PLL_24x, PLL_26x, PLL_28x};
+const int DIVs[] = {ICLK_2, ICLK_3, ICLK_4, ICLK_6, ICLK_8, ICLK_12, ICLK_16, ICLK_24, ICLK_32, ICLK_36, ICLK_48, ICLK_72};
+
+int key = 0;
+char*cur = 0x00000000;
+volatile unsigned int*FRQCR = (unsigned int*) 0xA4150000;
+
+void printXY(int x, int y, char *text, int useless)
+{
+ PrintMini(x * 6,y * 6, text, MINI_OVER);
+}
+
+void update(void) {
+ int warning = 0;
+ Bdisp_AllClr_VRAM();
+ printXY(2, 1, " Operating Frequency", MINI_OVER);
+ printXY(3, 2, " Freq:", MINI_OVER);
+ printXY(3, 3, " ICLK:", MINI_OVER);
+ printXY(3, 4, " PCLK:", MINI_OVER);
+ printXY(3, 5, " BCLK:", MINI_OVER);
+ printXY(3, 6, " SCLK:", MINI_OVER);
+ printXY(1, 7, " U/D - FRQ, L/R - ICLK", MINI_OVER);
+ switch((*FRQCR & 0x3F000000) >> 24) {
+ case PLL_28x:
+ cur = " 101.5 MHz !!!";
+ warning = 1;
+ break;
+ case PLL_26x:
+ cur = " 94.3 MHz";
+ break;
+ case PLL_24x:
+ cur = " 87 MHz";
+ break;
+ case PLL_20x:
+ cur = " 72.5 MHz";
+ break;
+ case PLL_18x:
+ cur = " 65.3 MHz";
+ break;
+ case PLL_16x:
+ cur = " 58 MHz (NORM)";
+ break;
+ case PLL_15x:
+ cur = " 54.4 MHz";
+ break;
+ case PLL_12x:
+ cur = " 43.5 MHz";
+ break;
+ case PLL_8x:
+ cur = " 29 MHz";
+ break;
+ case PLL_6x:
+ cur = " 21.7 MHz";
+ break;
+ case PLL_4x:
+ cur = " 14.5 MHz";
+ break;
+ case PLL_3x:
+ cur = " 10.8 MHz";
+ break;
+ case PLL_2x:
+ cur = " 7.25 MHz";
+ break;
+ case PLL_1x:
+ cur = " 3.6 MHz";
+ break;
+ default:
+ cur = " INVALID";
+ break;
+ }
+ printXY(9, 2, cur, MINI_OVER);
+ switch((*FRQCR & 0x00F00000) >> 20) {
+ case ICLK_72:
+ cur = " 1/72";
+ break;
+ case ICLK_48:
+ cur = " 1/48";
+ break;
+ case ICLK_36:
+ cur = " 1/36";
+ break;
+ case ICLK_32:
+ cur = " 1/32";
+ break;
+ case ICLK_24:
+ cur = " 1/24";
+ break;
+ case ICLK_16:
+ cur = " 1/16";
+ break;
+ case ICLK_12:
+ cur = " 1/12";
+ break;
+ case ICLK_8:
+ cur = " 1/8";
+ break;
+ case ICLK_6:
+ cur = " 1/6";
+ break;
+ case ICLK_4:
+ cur = " 1/4";
+ break;
+ case ICLK_3:
+ cur = " 1/3 (NORM)";
+ break;
+ case ICLK_2:
+ cur = " 1/2 !!!";
+ warning += 2;
+ break;
+ default:
+ cur = " INVALID";
+ break;
+ }
+ printXY(9, 3, cur, MINI_OVER);
+ switch(*FRQCR & 0xF) {
+ case ICLK_72:
+ cur = " 1/72";
+ break;
+ case ICLK_48:
+ cur = " 1/48";
+ break;
+ case ICLK_36:
+ cur = " 1/36";
+ break;
+ case ICLK_32:
+ cur = " 1/32";
+ break;
+ case ICLK_24:
+ cur = " 1/24";
+ break;
+ case ICLK_16:
+ cur = " 1/16";
+ break;
+ case ICLK_12:
+ cur = " 1/12";
+ break;
+ case ICLK_8:
+ cur = " 1/8";
+ break;
+ case ICLK_6:
+ cur = " 1/6 (NORM)";
+ break;
+ case ICLK_4:
+ cur = " 1/4";
+ break;
+ case ICLK_3:
+ cur = " 1/3";
+ break;
+ case ICLK_2:
+ cur = " 1/2";
+ break;
+ default:
+ cur = " INVALID";
+ break;
+ }
+ printXY(9, 4, cur, MINI_OVER);
+ switch((*FRQCR & 0xF00) >> 8) {
+ case ICLK_72:
+ cur = " 1/72";
+ break;
+ case ICLK_48:
+ cur = " 1/48";
+ break;
+ case ICLK_36:
+ cur = " 1/36";
+ break;
+ case ICLK_32:
+ cur = " 1/32";
+ break;
+ case ICLK_24:
+ cur = " 1/24";
+ break;
+ case ICLK_16:
+ cur = " 1/16";
+ break;
+ case ICLK_12:
+ cur = " 1/12";
+ break;
+ case ICLK_8:
+ cur = " 1/8";
+ break;
+ case ICLK_6:
+ cur = " 1/6";
+ break;
+ case ICLK_4:
+ cur = " 1/4 (NORM)";
+ break;
+ case ICLK_3:
+ cur = " 1/3";
+ break;
+ case ICLK_2:
+ cur = " 1/2";
+ break;
+ default:
+ cur = " INVALID";
+ break;
+ }
+ printXY(9, 5, cur, MINI_OVER);
+ switch((*FRQCR & 0xF000) >> 12) {
+ case ICLK_72:
+ cur = " 1/72";
+ break;
+ case ICLK_48:
+ cur = " 1/48";
+ break;
+ case ICLK_36:
+ cur = " 1/36";
+ break;
+ case ICLK_32:
+ cur = " 1/32";
+ break;
+ case ICLK_24:
+ cur = " 1/24";
+ break;
+ case ICLK_16:
+ cur = " 1/16";
+ break;
+ case ICLK_12:
+ cur = " 1/12";
+ break;
+ case ICLK_8:
+ cur = " 1/8";
+ break;
+ case ICLK_6:
+ cur = " 1/6";
+ break;
+ case ICLK_4:
+ cur = " 1/4 (NORM)";
+ break;
+ case ICLK_3:
+ cur = " 1/3";
+ break;
+ case ICLK_2:
+ cur = " 1/2";
+ break;
+ default:
+ cur = " INVALID";
+ break;
+ }
+ printXY(9, 6, cur, MINI_OVER);
+ if(warning == 1 || warning == 3) {
+ printXY(1, 8, " UNSAFE FREQ/DIV VALUE", MINI_OVER);
+ } else if(warning == 2) {
+ printXY(1, 8, " TROUBLESOME DIV VALUE", MINI_OVER);
+ }
+ Bdisp_PutDisp_DD();
+}
+
+int AddIn_main(int isAppli, unsigned short OptionNum)
+{
+ int i;
+ while(1) {
+ update();
+ switch (key) {
+ case KEY_CTRL_UP:
+ for(i = 0; i < 13; i++) {
+ if(((*FRQCR & 0x3F000000) >> 24) == PLLs[i]) {
+ change_freq(PLLs[i+1]);
+ update();
+ break;
+ }
+ }
+ break;
+ case KEY_CTRL_DOWN:
+ for(i = 1; i < 14; i++) {
+ if(((*FRQCR & 0x3F000000) >> 24) == PLLs[i]) {
+ change_freq(PLLs[i-1]);
+ update();
+ break;
+ }
+ }
+ break;
+ case KEY_CTRL_LEFT:
+ for(i = 0; i < 2; i++) {
+ if(((*FRQCR & 0x00F00000) >> 20) == DIVs[i]) {
+ change_iclk(DIVs[i+1]);
+ update();
+ break;
+ }
+ }
+ break;
+ case KEY_CTRL_RIGHT:
+ for(i = 1; i < 3; i++) {
+ if(((*FRQCR & 0x00F00000) >> 20) == DIVs[i]) {
+ change_iclk(DIVs[i-1]);
+ update();
+ break;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ GetKey(&key);
+ update();
+ }
+
+ return 0;
+}
+
+//****************************************************************************
+//************** ****************
+//************** Notice! ****************
+//************** ****************
+//************** Please do not change the following source. ****************
+//************** ****************
+//****************************************************************************
+
+
+#pragma section _BR_Size
+unsigned long BR_Size;
+#pragma section
+
+
+#pragma section _TOP
+
+//****************************************************************************
+// InitializeSystem
+//
+// param : isAppli : 1 = Application / 0 = eActivity
+// OptionNum : Option Number (only eActivity)
+//
+// retval : 1 = No error / 0 = Error
+//
+//****************************************************************************
+int InitializeSystem(int isAppli, unsigned short OptionNum)
+{
+ return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
+}
+
+#pragma section
+
diff --git a/Speed.dlr b/Speed.dlr
new file mode 100644
index 0000000..37b7c6d
--- /dev/null
+++ b/Speed.dlr
@@ -0,0 +1,6 @@
+[DLSimRunSpace]
+
+[Breakpoint]
+File=G:\Casio SDK\Projekte\Speed\Speed.c
+Line=59
+Flags=00001012
diff --git a/Speed.dlw b/Speed.dlw
new file mode 100644
index 0000000..e7214de
--- /dev/null
+++ b/Speed.dlw
@@ -0,0 +1,185 @@
+[DLSimWorkSpace]
+
+[_1]
+Type=5
+Order=3
+Top=14340
+Left=1845
+Height=13815
+Width=15705
+State=0
+Flags=00000020
+OptionA=0
+
+[_2]
+Type=1
+Order=7
+Top=15
+Left=7920
+Height=4860
+Width=5670
+State=0
+Flags=00000001
+OptionA=15
+OptionB=15
+
+[_3]
+Type=6
+Order=4
+Top=4740
+Left=7920
+Height=6390
+Width=5535
+State=0
+Flags=00000001
+OptionA=0
+
+[_4]
+Type=7
+Order=6
+Top=4740
+Left=2340
+Height=3165
+Width=5565
+State=0
+Flags=00000000
+OptionA=0
+
+[_5]
+Type=8
+Order=8
+Top=7905
+Left=2340
+Height=3225
+Width=5580
+State=0
+Flags=00000000
+OptionA=0
+
+[_6]
+Type=3
+Order=15
+Top=0
+Left=10788
+Height=6348
+Width=2232
+State=16
+Flags=00000000
+OptionA=0
+
+[_7]
+Type=2
+Order=14
+Top=6348
+Left=7800
+Height=3588
+Width=5220
+State=16
+Flags=00000000
+OptionA=0
+
+[_8]
+Type=17
+Order=1
+Top=15
+Left=105
+Height=11115
+Width=2055
+State=0
+Flags=00000000
+OptionA=0
+
+[_9]
+Type=15
+Order=2
+Top=6780
+Left=1800
+Height=6150
+Width=5595
+State=0
+Flags=00000000
+OptionA=0
+
+[_32]
+Type=16
+Order=0
+Top=195
+Left=12105
+Height=14085
+Width=17550
+State=0
+Flags=00000030
+Setting=292:6:Speed.c
+OptionA=0
+
+[_33]
+Type=16
+Order=5
+Top=2625
+Left=2625
+Height=9990
+Width=23865
+State=1
+Flags=00000020
+Setting=8:14:C:\Users\Timo\Downloads\Speed (1)\SYSCALLS.src
+OptionA=0
+
+[_34]
+Type=16
+Order=9
+Top=1380
+Left=-120
+Height=10110
+Width=23985
+State=16
+Flags=00000020
+Setting=1:1:change_sclk.src
+OptionA=0
+
+[_35]
+Type=16
+Order=12
+Top=3000
+Left=2625
+Height=9735
+Width=23985
+State=16
+Flags=00000020
+Setting=5:1:change_bclk.src
+OptionA=0
+
+[_36]
+Type=16
+Order=11
+Top=4125
+Left=4125
+Height=10110
+Width=23985
+State=16
+Flags=00000020
+Setting=3:1:change_freq.src
+OptionA=0
+
+[_37]
+Type=16
+Order=10
+Top=4500
+Left=4500
+Height=10110
+Width=23985
+State=16
+Flags=00000020
+Setting=4:14:change_pclk.src
+OptionA=0
+
+[_38]
+Type=16
+Order=13
+Top=3075
+Left=-2445
+Height=10050
+Width=23985
+State=16
+Flags=00000020
+Setting=1:1:change_sclk.src
+OptionA=0
diff --git a/Speed.g1w b/Speed.g1w
new file mode 100644
index 0000000..afdf0ae
--- /dev/null
+++ b/Speed.g1w
@@ -0,0 +1,20 @@
+[DLSimProject]
+Name=Speed
+Version=1.00.0000
+Model=:fx-9860G.dlm
+SourcePath=SRC
+MemoryPath=INIT
+MemCardPath=SDCard
+
+[Program1]
+Program=SPEED.G1A
+Debug=Debug\FXADDINror.dbg
+LoadAddress=80000000:90100000
+
+[Files]
+SourceFile=:Speed.c
+SourceFile=:change_freq.src
+SourceFile=:change_iclk.src
+SourceFile=:change_pclk.src
+SourceFile=:change_bclk.src
+SourceFile=:change_sclk.src
diff --git a/change_bclk b/change_bclk
new file mode 100644
index 0000000..96220e6
--- /dev/null
+++ b/change_bclk
@@ -0,0 +1,20 @@
+ "mov r4, r0\n\t"
+ "and #0x0F, r0\n\t"
+ "shll16 r0\n\t"
+ "shll2 r0\n\t"
+ "shll2 r0\n\t"
+ "mov.l frqcr_bclk, r1\n\t"
+ "mov.l bclk_mask, r3\n\t"
+ "mov.l @r1, r2\n\t"
+ "and r3, r2\n\t"
+ "or r0, r2\n\t"
+ "mov.l r2, @r1\n\t"
+ "mov.l frqcr_kick_bit_bclk, r0\n\t"
+ "mov.l @r1, r2\n\t"
+ "or r0, r2\n\t"
+ "rts\n\t"
+ "mov.l r2, @r1\n\t"
+ ".align 4\n\t"
+ "frqcr_kick_bit_bclk: .long 0x80000000\n\t"
+ "bclk_mask: .long 0xFFFFF0FF\n\t"
+ "frqcr_bclk: .long 0xA4150000\n\t" \ No newline at end of file
diff --git a/change_bclk.src b/change_bclk.src
new file mode 100644
index 0000000..7847321
--- /dev/null
+++ b/change_bclk.src
@@ -0,0 +1,23 @@
+ .export _change_bclk
+
+ .SECTION P,CODE,ALIGN=4
+
+_change_bclk:
+ mov r4, r0
+ and #h'0F, r0
+ shll16 r0
+ shll2 r0
+ shll2 r0
+ mov.l #h'80000000, r1
+ mov.l #h'FFFFF0FF, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l #h'A4150000, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ .END \ No newline at end of file
diff --git a/change_freq.src b/change_freq.src
new file mode 100644
index 0000000..03ba5ae
--- /dev/null
+++ b/change_freq.src
@@ -0,0 +1,22 @@
+ .export _change_freq
+
+ .SECTION P,CODE,ALIGN=4
+
+_change_freq:
+ mov r4, r0
+ and #h'3F, r0
+ shll16 r0
+ shll8 r0
+ mov.l #h'A4150000, r1
+ mov.l #h'C0FFFFFF, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l #h'80000000, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ .END \ No newline at end of file
diff --git a/change_iclk.src b/change_iclk.src
new file mode 100644
index 0000000..d5ac64b
--- /dev/null
+++ b/change_iclk.src
@@ -0,0 +1,22 @@
+ .export _change_iclk
+ .SECTION P,CODE,ALIGN=4
+
+_change_iclk:
+ mov r4, r0
+ and #h'0F, r0
+ shll16 r0
+ shll2 r0
+ shll2 r0
+ mov.l #h'A4150000, r1
+ mov.l #h'FF0FFFFF, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l #h'80000000, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ .END \ No newline at end of file
diff --git a/change_pclk.src b/change_pclk.src
new file mode 100644
index 0000000..49a1ffe
--- /dev/null
+++ b/change_pclk.src
@@ -0,0 +1,22 @@
+ .export _change_pclk
+ .SECTION P,CODE,ALIGN=4
+
+_change_pclk:
+ mov r4, r0
+ and #h'0F, r0
+ shll16 r0
+ shll2 r0
+ shll2 r0
+ mov.l #h'A4150000, r1
+ mov.l #h'FFFFFFF0, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l #h'80000000, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ .END \ No newline at end of file
diff --git a/change_sclk.src b/change_sclk.src
new file mode 100644
index 0000000..72ee741
--- /dev/null
+++ b/change_sclk.src
@@ -0,0 +1,23 @@
+ .export _change_sclk
+
+ .SECTION P,CODE,ALIGN=4
+
+_change_sclk:
+ mov r4, r0
+ and #h'0F, r0
+ shll16 r0
+ shll2 r0
+ shll2 r0
+ mov.l #h'A4150000, r1
+ mov.l #h'FFFF0FFF, r3
+ mov.l @r1, r2
+ and r3, r2
+ or r0, r2
+ mov.l r2, @r1
+ mov.l #h'80000000, r0
+ mov.l @r1, r2
+ or r0, r2
+ rts
+ mov.l r2, @r1
+ .align 4
+ .END
diff --git a/eActivityIcon.bmp b/eActivityIcon.bmp
new file mode 100644
index 0000000..104a2c6
--- /dev/null
+++ b/eActivityIcon.bmp
Binary files differ