From b221f7e8bc60020b4a63a7d353d9c20deb42d7dd Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 12 Jun 2016 20:11:05 +0200 Subject: import into git --- Debug/Addin.mak | 121 ++++ Debug/FXADDINror.abs | Bin 0 -> 10440 bytes Debug/FXADDINror.bin | Bin 0 -> 4144 bytes Debug/FXADDINror.dbg | Bin 0 -> 12552 bytes Debug/FXADDINror.fsy | 159 ++++++ Debug/FXADDINror.map | 403 +++++++++++++ Debug/SYSCALLS.obj | Bin 0 -> 5780 bytes Debug/Snow.lst | 1523 ++++++++++++++++++++++++++++++++++++++++++++++++++ Debug/Snow.obj | Bin 0 -> 16100 bytes 9 files changed, 2206 insertions(+) create mode 100644 Debug/Addin.mak create mode 100644 Debug/FXADDINror.abs create mode 100644 Debug/FXADDINror.bin create mode 100644 Debug/FXADDINror.dbg create mode 100644 Debug/FXADDINror.fsy create mode 100644 Debug/FXADDINror.map create mode 100644 Debug/SYSCALLS.obj create mode 100644 Debug/Snow.lst create mode 100644 Debug/Snow.obj (limited to 'Debug') diff --git a/Debug/Addin.mak b/Debug/Addin.mak new file mode 100644 index 0000000..3f88e89 --- /dev/null +++ b/Debug/Addin.mak @@ -0,0 +1,121 @@ +################################################ +# 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\Snow +OUTDIR = G:\Casio SDK\Projekte\Snow\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=Snow +FILESRC0="$(APPDIR)\$(FILE0).c" +FILEOBJ0="$(OUTDIR)\$(FILE0).obj" +FILE1=SYSCALLS +FILESRC1="G:\Casio SDK\Projekte\Matris\$(FILE1).src" +FILEOBJ1="$(OUTDIR)\$(FILE1).obj" +RFILE=FXADDINror +USERALLOBJ=$(FILEOBJ0) $(FILEOBJ1) + +####################### +# 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 +<< + +!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..8800839 Binary files /dev/null and b/Debug/FXADDINror.abs differ diff --git a/Debug/FXADDINror.bin b/Debug/FXADDINror.bin new file mode 100644 index 0000000..2a7546b Binary files /dev/null and b/Debug/FXADDINror.bin differ diff --git a/Debug/FXADDINror.dbg b/Debug/FXADDINror.dbg new file mode 100644 index 0000000..4ee6114 Binary files /dev/null and b/Debug/FXADDINror.dbg differ diff --git a/Debug/FXADDINror.fsy b/Debug/FXADDINror.fsy new file mode 100644 index 0000000..fd92ca1 --- /dev/null +++ b/Debug/FXADDINror.fsy @@ -0,0 +1,159 @@ +;HITACHI OPTIMIZING LINKAGE EDITOR GENERATED FILE 2012.12.23 +;fsymbol = P + +;SECTION NAME = P + .export _random +_random: .equ h'00300214 + .export _setpixel +_setpixel: .equ h'00300234 + .export _drawsprite +_drawsprite: .equ h'00300272 + .export _display_vram +_display_vram: .equ h'0030044c + .export _isMainMenu +_isMainMenu: .equ h'003004ac + .export _snowtimer +_snowtimer: .equ h'003004ca + .export _AddIn_main +_AddIn_main: .equ h'0030062c + .export _AllClr_DD +_AllClr_DD: .equ h'003007c4 + .export _PutKey +_PutKey: .equ h'003008e4 + .export _App_SYSTEM +_App_SYSTEM: .equ h'003009c4 + .export _RTC_GetTicks +_RTC_GetTicks: .equ h'00300774 + .export _PowerOff +_PowerOff: .equ h'003008c4 + .export _Serial_BufferedTransmitOneByte +_Serial_BufferedTransmitOneByte: .equ h'00300744 + .export _LongToAsc +_LongToAsc: .equ h'00300a04 + .export _Reboot +_Reboot: .equ h'00300884 + .export _App_DYNA +_App_DYNA: .equ h'00300924 + .export _App_EQUA +_App_EQUA: .equ h'00300934 + .export _itoa +_itoa: .equ h'00300864 + .export _Timer_Start +_Timer_Start: .equ h'00300854 + .export _App_LINK +_App_LINK: .equ h'00300974 + .export _PutDisp_DD +_PutDisp_DD: .equ h'003007a4 + .export _Serial_ReadOneByte +_Serial_ReadOneByte: .equ h'00300734 + .export _GlibGetOSVersionInfo +_GlibGetOSVersionInfo: .equ h'003009f4 + .export _BCD_SetAsInt +_BCD_SetAsInt: .equ h'003009e4 + .export _App_FINANCE +_App_FINANCE: .equ h'00300954 + .export _Serial_Close +_Serial_Close: .equ h'00300764 + .export _EditExpression +_EditExpression: .equ h'00300874 + .export _App_RUN_MAT +_App_RUN_MAT: .equ h'003009a4 + .export _Timer_Install +_Timer_Install: .equ h'00300834 + .export _RTC_GetTime +_RTC_GetTime: .equ h'003008b4 + .export _locate +_locate: .equ h'00300814 + .export _App_PROG +_App_PROG: .equ h'00300944 + .export _Sleep +_Sleep: .equ h'003007f4 + .export _App_GRAPH_TABLE +_App_GRAPH_TABLE: .equ h'00300964 + .export _Disp_GetVRAMPtr +_Disp_GetVRAMPtr: .equ h'00300794 + .export _ShapeToDD +_ShapeToDD: .equ h'003008f4 + .export _App_CONICS +_App_CONICS: .equ h'00300914 + .export _RTC_SetDateTime +_RTC_SetDateTime: .equ h'00300894 + .export _App_RECUR +_App_RECUR: .equ h'00300994 + .export _InputString +_InputString: .equ h'00300904 + .export _GetKey +_GetKey: .equ h'00300804 + .export _RTC_Reset +_RTC_Reset: .equ h'003008a4 + .export _DrawLineVRAM +_DrawLineVRAM: .equ h'003007b4 + .export _Print +_Print: .equ h'00300824 + .export _KBD_PRGM_GetKey +_KBD_PRGM_GetKey: .equ h'00300784 + .export _AllClr_VRAM +_AllClr_VRAM: .equ h'003007d4 + .export _App_RUN_STAT +_App_RUN_STAT: .equ h'003009b4 + .export _Serial_Open +_Serial_Open: .equ h'00300754 + .export _AllClr_DDVRAM +_AllClr_DDVRAM: .equ h'003007e4 + .export _App_MEMORY +_App_MEMORY: .equ h'00300984 + .export _Timer_Uninstall +_Timer_Uninstall: .equ h'00300844 + .export _Serial_WriteByte +_Serial_WriteByte: .equ h'003008d4 + .export _InputDateDialog +_InputDateDialog: .equ h'003009d4 + .export ___LINK_PROTECT +___LINK_PROTECT: .equ h'00300a14 + .export _SetQuitHandler +_SetQuitHandler: .equ h'00300a18 + .export _OnAppCloseDefault +_OnAppCloseDefault: .equ h'00300a1e + .export __INITSCT_ADDIN +__INITSCT_ADDIN: .equ h'00300a72 + .export _INIT_ADDIN_APPLICATION +_INIT_ADDIN_APPLICATION: .equ h'00300aba + .export __modlu +__modlu: .equ h'00300b30 + .export __slow_mvn +__slow_mvn: .equ h'00300be8 + .export _rand +_rand: .equ h'00300c20 + .export _Bdel_cychdr +_Bdel_cychdr: .equ h'00300c4c + .export _BfileFLS_CloseFile +_BfileFLS_CloseFile: .equ h'00300c5c + .export _Bkey_Set_RepeatTime_Default +_Bkey_Set_RepeatTime_Default: .equ h'00300c6c + .export _CallbackAtQuitMainFunction +_CallbackAtQuitMainFunction: .equ h'00300c7c + .export _flsFindClose +_flsFindClose: .equ h'00300c8c + .export _GLibAddinAplExecutionCheck +_GLibAddinAplExecutionCheck: .equ h'00300c9c + .export _Hmem_SetMMU +_Hmem_SetMMU: .equ h'00300cac + .export _GetSDKLibraryVersion +_GetSDKLibraryVersion: .equ h'00300cbc + .export _SetTimer +_SetTimer: .equ h'00300cc2 + .export _KillTimer +_KillTimer: .equ h'00300d16 + .export __divls +__divls: .equ h'00300dbc + .export __modls +__modls: .equ h'00300e70 + .export _Bcre_cychdr +_Bcre_cychdr: .equ h'00300f38 + .export _BSrl_DummyWAIT +_BSrl_DummyWAIT: .equ h'00300f48 + .export _Bsta_cychdr +_Bsta_cychdr: .equ h'00300f58 + .export _Bstp_cychdr +_Bstp_cychdr: .equ h'00300f68 + .end diff --git a/Debug/FXADDINror.map b/Debug/FXADDINror.map new file mode 100644 index 0000000..28a561b --- /dev/null +++ b/Debug/FXADDINror.map @@ -0,0 +1,403 @@ +Hitachi Optimizing Linkage Editor (Ver. 7.1.03.000)23-Dec-2012 15:53:44 + +*** Options *** + +-subcommand=C:\Users\Timo\AppData\Local\Temp\hmk53BA.tmp +noprelink +sdebug +rom D=R +nomessage +list "G:\Casio SDK\Projekte\Snow\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\Snow\Debug\Snow.obj" "G:\Casio SDK\Projekte\Snow\Debug\SYSCALLS.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\Snow\Debug\FXADDINror.abs" +-nomessage=1100 +end + +*** Error information *** + +*** Mapping List *** + +SECTION START END SIZE ALIGN + +P_TOP + 00300200 00300213 14 4 +P + 00300214 00300f77 d64 4 +C + 00300f78 00301207 290 4 +D + 00301208 0030122f 28 4 +B_BR_Size + 08100000 08100003 4 4 +B + 08100004 08100107 104 4 +R + 08100108 0810012f 28 4 + +*** Symbol List *** + +SECTION= +FILE= START END SIZE + SYMBOL ADDR SIZE INFO COUNTS OPT + +SECTION=P_TOP +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 00300200 00300213 14 + _InitializeSystem + 00300200 14 func ,g * + +SECTION=P +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 00300214 00300733 520 + _random + 00300214 20 func ,g * + _setpixel + 00300234 3e func ,g * + _drawsprite + 00300272 1da func ,g * + _display_vram + 0030044c 60 func ,g * + _isMainMenu + 003004ac 1e func ,g * + _snowtimer + 003004ca 162 func ,g * + _AddIn_main + 0030062c 108 func ,g * +FILE=G:\Casio SDK\Projekte\Snow\Debug\SYSCALLS.obj + 00300734 00300a13 2e0 + _Serial_ReadOneByte + 00300734 0 none ,g * + _Serial_BufferedTransmitOneByte + 00300744 0 none ,g * + _Serial_Open + 00300754 0 none ,g * + _Serial_Close + 00300764 0 none ,g * + _RTC_GetTicks + 00300774 0 none ,g * + _KBD_PRGM_GetKey + 00300784 0 none ,g * + _Disp_GetVRAMPtr + 00300794 0 none ,g * + _PutDisp_DD + 003007a4 0 none ,g * + _DrawLineVRAM + 003007b4 0 none ,g * + _AllClr_DD + 003007c4 0 none ,g * + _AllClr_VRAM + 003007d4 0 none ,g * + _AllClr_DDVRAM + 003007e4 0 none ,g * + _Sleep + 003007f4 0 none ,g * + _GetKey + 00300804 0 none ,g * + _locate + 00300814 0 none ,g * + _Print + 00300824 0 none ,g * + _Timer_Install + 00300834 0 none ,g * + _Timer_Uninstall + 00300844 0 none ,g * + _Timer_Start + 00300854 0 none ,g * + _itoa + 00300864 0 none ,g * + _EditExpression + 00300874 0 none ,g * + _Reboot + 00300884 0 none ,g * + _RTC_SetDateTime + 00300894 0 none ,g * + _RTC_Reset + 003008a4 0 none ,g * + _RTC_GetTime + 003008b4 0 none ,g * + _PowerOff + 003008c4 0 none ,g * + _Serial_WriteByte + 003008d4 0 none ,g * + _PutKey + 003008e4 0 none ,g * + _ShapeToDD + 003008f4 0 none ,g * + _InputString + 00300904 0 none ,g * + _App_CONICS + 00300914 0 none ,g * + _App_DYNA + 00300924 0 none ,g * + _App_EQUA + 00300934 0 none ,g * + _App_PROG + 00300944 0 none ,g * + _App_FINANCE + 00300954 0 none ,g * + _App_GRAPH_TABLE + 00300964 0 none ,g * + _App_LINK + 00300974 0 none ,g * + _App_MEMORY + 00300984 0 none ,g * + _App_RECUR + 00300994 0 none ,g * + _App_RUN_MAT + 003009a4 0 none ,g * + _App_RUN_STAT + 003009b4 0 none ,g * + _App_SYSTEM + 003009c4 0 none ,g * + _InputDateDialog + 003009d4 0 none ,g * + _BCD_SetAsInt + 003009e4 0 none ,g * + _GlibGetOSVersionInfo + 003009f4 0 none ,g * + _LongToAsc + 00300a04 0 none ,g * +FILE=G:\Casio SDK\OS\FX\lib\setup.obj + 00300a14 00300b2f 11c + ___LINK_PROTECT + 00300a14 4 func ,g * + _SetQuitHandler + 00300a18 6 func ,g * + _OnAppCloseDefault + 00300a1e 54 func ,g * + __INITSCT_ADDIN + 00300a72 48 func ,g * + _INIT_ADDIN_APPLICATION + 00300aba 76 func ,g * +FILE=__modlu + 00300b30 00300be7 b8 + __modlu + 00300b30 0 none ,g * + modlu_L + 00300bc8 0 none ,l * + modlu_zero + 00300bd0 0 none ,l * + A_errno + 00300be0 0 none ,l * + n_zerono + 00300be4 0 none ,l * +FILE=__s_mvn + 00300be8 00300c1f 38 + __slow_mvn + 00300be8 0 none ,g * + SMVN_B + 00300bf6 0 none ,l * + SMVN_END + 00300c18 0 none ,l * +FILE=rand + 00300c20 00300c4b 2c + _rand + 00300c20 2c func ,g * +FILE=_Bdel_cychdr + 00300c4c 00300c5b 10 + _Bdel_cychdr + 00300c4c 0 none ,g * +FILE=_BfileFLS_CloseFile + 00300c5c 00300c6b 10 + _BfileFLS_CloseFile + 00300c5c 0 none ,g * +FILE=_Bkey_Set_RepeatTime_Default + 00300c6c 00300c7b 10 + _Bkey_Set_RepeatTime_Default + 00300c6c 0 none ,g * +FILE=_CallbackAtQuitMainFunction + 00300c7c 00300c8b 10 + _CallbackAtQuitMainFunction + 00300c7c 0 none ,g * +FILE=_flsFindClose + 00300c8c 00300c9b 10 + _flsFindClose + 00300c8c 0 none ,g * +FILE=_GLibAddinAplExecutionCheck + 00300c9c 00300cab 10 + _GLibAddinAplExecutionCheck + 00300c9c 0 none ,g * +FILE=_Hmem_SetMMU + 00300cac 00300cbb 10 + _Hmem_SetMMU + 00300cac 0 none ,g * +FILE=timer + 00300cbc 00300dbb 100 + _GetSDKLibraryVersion + 00300cbc 6 func ,g * + _SetTimer + 00300cc2 54 func ,g * + _KillTimer + 00300d16 44 func ,g * + _Sleep + 00300d5a 62 func ,l * +FILE=__divls + 00300dbc 00300e6f b4 + __divls + 00300dbc 0 none ,g * + divls_zero + 00300e5a 0 none ,l * + A_errno + 00300e68 0 none ,l * + n_zerono + 00300e6c 0 none ,l * +FILE=__modls + 00300e70 00300f37 c8 + __modls + 00300e70 0 none ,g * + modls_L + 00300f16 0 none ,l * + modls_zero + 00300f22 0 none ,l * + A_errno + 00300f30 0 none ,l * + n_zerono + 00300f34 0 none ,l * +FILE=_Bcre_cychdr + 00300f38 00300f47 10 + _Bcre_cychdr + 00300f38 0 none ,g * +FILE=_BSrl_DummyWAIT + 00300f48 00300f57 10 + _BSrl_DummyWAIT + 00300f48 0 none ,g * +FILE=_Bsta_cychdr + 00300f58 00300f67 10 + _Bsta_cychdr + 00300f58 0 none ,g * +FILE=_Bstp_cychdr + 00300f68 00300f77 10 + _Bstp_cychdr + 00300f68 0 none ,g * + +SECTION=C +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 00300f78 003011f1 27a + _SysCallWrapper + 00300f78 c data ,g * + _sprite3 + 00300f84 24 data ,g * + _sprite4 + 00300fa8 40 data ,g * + _sprite5 + 00300fe8 64 data ,g * + _sprite6 + 0030104c 90 data ,g * + _sprite7 + 003010dc c4 data ,g * +FILE=addin_sct + 003011f4 00301207 14 + _B_BGN + 003011f4 0 none ,g * + _B_END + 003011f8 0 none ,g * + _R_BGN + 003011fc 0 none ,g * + _R_END + 00301200 0 none ,g * + _D_ROM + 00301204 0 none ,g * + +SECTION=B_BR_Size +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 08100000 08100003 4 + _BR_Size + 08100000 4 data ,g * + +SECTION=B +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 08100004 08100101 fe + _vram + 08100004 4 data ,g * + _snow + 08100008 fa data ,g * +FILE=_errno + 08100104 08100107 4 + __errno + 08100104 4 data ,g * + +SECTION=R +FILE=G:\Casio SDK\Projekte\Snow\Debug\Snow.obj + 08100108 08100127 20 + _iSysCallFuncPtr + 08100108 4 data ,g * + _lastrandom + 0810010c 4 data ,l * + _variable + 08100110 18 data ,g * +FILE=G:\Casio SDK\OS\FX\lib\setup.obj + 08100128 0810012b 4 + _gb_OnAppClose + 08100128 4 data ,g * +FILE=_rnext + 0810012c 0810012f 4 + __rnext + 0810012c 4 data ,g * + +Absolute value symbols +FILE=__modlu + zerodiv + 0000044e 0 none ,l * +FILE=_Bdel_cychdr + __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=_GLibAddinAplExecutionCheck + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Hmem_SetMMU + __JumpTableTOP + 80010070 0 none ,l * +FILE=__divls + zerodiv + 0000044e 0 none ,l * +FILE=__modls + zerodiv + 0000044e 0 none ,l * +FILE=_Bcre_cychdr + __JumpTableTOP + 80010070 0 none ,l * +FILE=_BSrl_DummyWAIT + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Bsta_cychdr + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Bstp_cychdr + __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/SYSCALLS.obj b/Debug/SYSCALLS.obj new file mode 100644 index 0000000..fa9b749 Binary files /dev/null and b/Debug/SYSCALLS.obj differ diff --git a/Debug/Snow.lst b/Debug/Snow.lst new file mode 100644 index 0000000..582b939 --- /dev/null +++ b/Debug/Snow.lst @@ -0,0 +1,1523 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 1 + +************ OBJECT LISTING ************ + +FILE NAME: G:\Casio SDK\Projekte\Snow\Snow.c + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 1 char *Disp_GetVRAMPtr(void); + Snow.c 2 int Timer_Install(int TimerID, void (*handler)(void), int delay); + Snow.c 3 int Timer_Start(int TimerID); + Snow.c 4 void App_RUNMAT(); + Snow.c 5 int RTC_GetTicks(); + Snow.c 6 void AllClear_VRAM(); + Snow.c 7 + Snow.c 8 typedef struct{ + Snow.c 9 unsigned int x1; + Snow.c 10 unsigned int y1; + Snow.c 11 unsigned int x2; + Snow.c 12 unsigned int y2; + Snow.c 13 unsigned char f[4]; + Snow.c 14 unsigned int on_bits; + Snow.c 15 unsigned int off_bits; + Snow.c 16 } TShape; + Snow.c 17 + Snow.c 18 void ShapeToVRAM( TShape* x ); + Snow.c 19 + Snow.c 20 char *vram; + Snow.c 21 + Snow.c 22 const int SysCallWrapper[] = {0xD201422B,0x60F20000,0x80010070}; + Snow.c 23 const int (*iSysCallFuncPtr)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallWrapper; + Snow.c 24 #define Alpha_GetData(VarName,Dest) (void)(*iSysCallFuncPtr)( VarName,(int)Dest, 0, 0, 0x04DF) + Snow.c 25 #define Alpha_ClearAll() (void)(*iSysCallFuncPtr)( 0,0, 0, 0, 0x004E1) + Snow.c 26 + Snow.c 27 int InputString( unsigned char*buff, unsigned char *heading, int maxlen ); + Snow.c 28 + Snow.c 29 static unsigned int lastrandom=0x12345678; + Snow.c 30 + Snow.c 31 unsigned int random( int seed){ +P 00000000 _random: ; function: random + ; frame size=4 + 00000000 4F12 STS.L MACL,@-R15 + Snow.c 32 if (seed) lastrandom=seed; + 00000002 2448 TST R4,R4 + 00000004 D539 MOV.L L363+4,R5 ; __$lastrandom + 00000006 8900 BT L328 + 00000008 2542 MOV.L R4,@R5 + 0000000A L328: + Snow.c 33 lastrandom = ( 0x41C64E6D*lastrandom ) + 0x3039; + 0000000A D339 MOV.L L363+8,R3 ; H'41C64E6D + 0000000C 6252 MOV.L @R5,R2 + 0000000E 0237 MUL.L R3,R2 + 00000010 916A MOV.W L363,R1 ; H'3039 + 00000012 031A STS MACL,R3 + 00000014 331C ADD R1,R3 + Snow.c 34 return ( lastrandom >> 16 ); + 00000016 6033 MOV R3,R0 + 00000018 2532 MOV.L R3,@R5 + 0000001A 4029 SHLR16 R0 + Snow.c 35 } + 0000001C 000B RTS + 0000001E 4F16 LDS.L @R15+,MACL + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 2 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 36 + Snow.c 37 + Snow.c 38 const char sprite3[4][3][3] = { + Snow.c 39 { + Snow.c 40 { 1 , 0 , 1 }, + Snow.c 41 { 0 , 1 , 0 }, + Snow.c 42 { 1 , 0 , 1 } + Snow.c 43 }, + Snow.c 44 { + Snow.c 45 { 0 , 1 , 0 }, + Snow.c 46 { 1 , 0 , 1 }, + Snow.c 47 { 0 , 1 , 0 } + Snow.c 48 }, + Snow.c 49 { + Snow.c 50 { 0 , 1 , 0 }, + Snow.c 51 { 1 , 1 , 1 }, + Snow.c 52 { 0 , 1 , 0 } + Snow.c 53 }, + Snow.c 54 + Snow.c 55 { + Snow.c 56 { 0 , 1 , 0 }, + Snow.c 57 { 1 , 0 , 1 }, + Snow.c 58 { 0 , 1 , 0 } + Snow.c 59 } + Snow.c 60 }; + Snow.c 61 + Snow.c 62 const char sprite4[4][4][4] = { + Snow.c 63 { + Snow.c 64 { 1 , 0 , 0 , 1 }, + Snow.c 65 { 0 , 1 , 1 , 0 }, + Snow.c 66 { 0 , 1 , 1 , 0 }, + Snow.c 67 { 1 , 0 , 0 , 1 } + Snow.c 68 }, + Snow.c 69 { + Snow.c 70 { 0 , 1 , 1 , 0 }, + Snow.c 71 { 1 , 0 , 0 , 1 }, + Snow.c 72 { 1 , 0 , 0 , 1 }, + Snow.c 73 { 0 , 1 , 1 , 0 } + Snow.c 74 }, + Snow.c 75 + Snow.c 76 { + Snow.c 77 { 1 , 0 , 0 , 1 }, + Snow.c 78 { 0 , 1 , 1 , 0 }, + Snow.c 79 { 0 , 1 , 1 , 0 }, + Snow.c 80 { 1 , 0 , 0 , 1 } + Snow.c 81 }, + Snow.c 82 { + Snow.c 83 { 0 , 1 , 1 , 0 }, + Snow.c 84 { 1 , 0 , 0 , 1 }, + Snow.c 85 { 1 , 0 , 0 , 1 }, + Snow.c 86 { 0 , 1 , 1 , 0 } + Snow.c 87 } + Snow.c 88 }; + Snow.c 89 + Snow.c 90 const char sprite5[4][5][5] = { + Snow.c 91 { + Snow.c 92 { 0 , 1 , 0 , 1 , 0 }, + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 3 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 93 { 1 , 1 , 0 , 1 , 1 }, + Snow.c 94 { 0 , 0 , 1 , 0 , 0 }, + Snow.c 95 { 1 , 1 , 0 , 1 , 1 }, + Snow.c 96 { 0 , 1 , 0 , 1 , 0 } + Snow.c 97 }, + Snow.c 98 { + Snow.c 99 { 1 , 0 , 1 , 0 , 1 }, + Snow.c 100 { 0 , 1 , 0 , 1 , 0 }, + Snow.c 101 { 1 , 0 , 1 , 0 , 1 }, + Snow.c 102 { 0 , 1 , 0 , 1 , 0 }, + Snow.c 103 { 1 , 0 , 1 , 0 , 1 } + Snow.c 104 }, + Snow.c 105 { + Snow.c 106 { 1 , 0 , 1 , 0 , 1 }, + Snow.c 107 { 0 , 1 , 1 , 1 , 0 }, + Snow.c 108 { 1 , 1 , 0 , 1 , 1 }, + Snow.c 109 { 0 , 1 , 1 , 1 , 0 }, + Snow.c 110 { 1 , 0 , 1 , 0 , 1 } + Snow.c 111 }, + Snow.c 112 + Snow.c 113 { + Snow.c 114 { 1 , 0 , 1 , 0 , 1 }, + Snow.c 115 { 0 , 1 , 1 , 1 , 0 }, + Snow.c 116 { 1 , 1 , 0 , 1 , 1 }, + Snow.c 117 { 0 , 1 , 1 , 1 , 0 }, + Snow.c 118 { 1 , 0 , 1 , 0 , 1 } + Snow.c 119 } + Snow.c 120 }; + Snow.c 121 + Snow.c 122 const char sprite6[4][6][6] = { + Snow.c 123 { + Snow.c 124 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 125 { 1 , 1 , 0 , 0 , 1 , 1 }, + Snow.c 126 { 0 , 0 , 1 , 1 , 0 , 0 }, + Snow.c 127 { 0 , 0 , 1 , 1 , 0 , 0 }, + Snow.c 128 { 1 , 1 , 0 , 0 , 1 , 1 }, + Snow.c 129 { 0 , 1 , 0 , 0 , 1 , 0 } + Snow.c 130 }, + Snow.c 131 { + Snow.c 132 { 1 , 1 , 0 , 0 , 1 , 1 }, + Snow.c 133 { 1 , 0 , 1 , 1 , 0 , 1 }, + Snow.c 134 { 0 , 1 , 1 , 1 , 1 , 0 }, + Snow.c 135 { 0 , 1 , 1 , 1 , 1 , 0 }, + Snow.c 136 { 1 , 0 , 1 , 1 , 0 , 1 }, + Snow.c 137 { 1 , 1 , 0 , 0 , 1 , 1 } + Snow.c 138 }, + Snow.c 139 { + Snow.c 140 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 141 { 1 , 1 , 1 , 1 , 1 , 1 }, + Snow.c 142 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 143 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 144 { 1 , 1 , 1 , 1 , 1 , 1 }, + Snow.c 145 { 0 , 1 , 0 , 0 , 1 , 0 } + Snow.c 146 }, + Snow.c 147 + Snow.c 148 { + Snow.c 149 { 0 , 1 , 0 , 0 , 1 , 0 }, + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 4 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 150 { 1 , 1 , 1 , 1 , 1 , 1 }, + Snow.c 151 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 152 { 0 , 1 , 0 , 0 , 1 , 0 }, + Snow.c 153 { 1 , 1 , 1 , 1 , 1 , 1 }, + Snow.c 154 { 0 , 1 , 0 , 0 , 1 , 0 } + Snow.c 155 } + Snow.c 156 }; + Snow.c 157 + Snow.c 158 const char sprite7[4][7][7] = { + Snow.c 159 { + Snow.c 160 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 161 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 162 { 1 , 1 , 1 , 0 , 1 , 1 , 1 }, + Snow.c 163 { 0 , 0 , 0 , 1 , 0 , 0 , 0 }, + Snow.c 164 { 1 , 1 , 1 , 0 , 1 , 1 , 1 }, + Snow.c 165 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 166 { 1 , 0 , 1 , 0 , 1 , 0 , 1 } + Snow.c 167 }, + Snow.c 168 { + Snow.c 169 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 170 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 171 { 1 , 1 , 0 , 1 , 0 , 1 , 1 }, + Snow.c 172 { 0 , 0 , 1 , 0 , 1 , 0 , 0 }, + Snow.c 173 { 1 , 1 , 0 , 1 , 0 , 1 , 1 }, + Snow.c 174 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 175 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 176 }, + Snow.c 177 { + Snow.c 178 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 179 { 1 , 0 , 0 , 1 , 0 , 0 , 1 }, + Snow.c 180 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 181 { 0 , 1 , 0 , 1 , 0 , 1 , 0 }, + Snow.c 182 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 183 { 1 , 0 , 0 , 1 , 0 , 0 , 1 }, + Snow.c 184 { 0 , 1 , 1 , 0 , 1 , 1 , 0 }, + Snow.c 185 }, + Snow.c 186 { + Snow.c 187 { 1 , 1 , 1 , 0 , 1 , 1 , 1 }, + Snow.c 188 { 1 , 0 , 0 , 1 , 0 , 0 , 1 }, + Snow.c 189 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 190 { 0 , 1 , 0 , 1 , 0 , 1 , 0 }, + Snow.c 191 { 1 , 0 , 1 , 0 , 1 , 0 , 1 }, + Snow.c 192 { 1 , 0 , 0 , 1 , 0 , 0 , 1 }, + Snow.c 193 { 1 , 1 , 1 , 0 , 1 , 1 , 1 }, + Snow.c 194 } + Snow.c 195 }; + Snow.c 196 + Snow.c 197 void setpixel(unsigned char x, char y) + 00000020 _setpixel: ; function: setpixel + ; frame size=32 + 00000020 4F22 STS.L PR,@-R15 + Snow.c 198 { + Snow.c 199 TShape t; + Snow.c 200 if(x&~127 || y&~63) return; + 00000022 624C EXTU.B R4,R2 + 00000024 7FE4 ADD #-28,R15 + 00000026 E380 MOV #-128,R3 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 5 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000028 2238 TST R3,R2 + 0000002A 8B14 BF L332 + 0000002C 605E EXTS.B R5,R0 + 0000002E E2C0 MOV #-64,R2 + 00000030 2028 TST R2,R0 + 00000032 8B10 BF L332 + Snow.c 201 t.x1 = x; + 00000034 644C EXTU.B R4,R4 + Snow.c 202 t.y1 = y; + 00000036 655E EXTS.B R5,R5 + 00000038 2F42 MOV.L R4,@R15 + Snow.c 203 t.f[0] = 2; + 0000003A E302 MOV #2,R3 + 0000003C 1F51 MOV.L R5,@(4,R15) + 0000003E E010 MOV #16,R0 + 00000040 0F34 MOV.B R3,@(R0,R15) + Snow.c 204 t.f[1] = 1; + 00000042 E401 MOV #1,R4 + Snow.c 205 t.f[2] = 1; + Snow.c 206 t.f[3] = 1; + Snow.c 207 + Snow.c 208 ShapeToDD(&t); + 00000044 D32B MOV.L L363+12,R3 ; _ShapeToDD + 00000046 E011 MOV #17,R0 + 00000048 0F44 MOV.B R4,@(R0,R15) + 0000004A E012 MOV #18,R0 + 0000004C 0F44 MOV.B R4,@(R0,R15) + 0000004E E013 MOV #19,R0 + 00000050 0F44 MOV.B R4,@(R0,R15) + 00000052 430B JSR @R3 + 00000054 64F3 MOV R15,R4 + Snow.c 209 } + 00000056 L332: + 00000056 7F1C ADD #28,R15 + 00000058 4F26 LDS.L @R15+,PR + 0000005A 000B RTS + 0000005C 0009 NOP + Snow.c 210 + Snow.c 211 void drawsprite(unsigned char px, char py, char dim, char num) + 0000005E _drawsprite: ; function: drawsprite + ; frame size=48 + 0000005E 607E EXTS.B R7,R0 + 00000060 2FE6 MOV.L R14,@-R15 + 00000062 8800 CMP/EQ #0,R0 + 00000064 2FD6 MOV.L R13,@-R15 + 00000066 EE00 MOV #0,R14 + 00000068 2FC6 MOV.L R12,@-R15 + 0000006A ED00 MOV #0,R13 + 0000006C 2FB6 MOV.L R11,@-R15 + 0000006E 6C53 MOV R5,R12 + 00000070 2FA6 MOV.L R10,@-R15 + 00000072 2F96 MOV.L R9,@-R15 + 00000074 2F86 MOV.L R8,@-R15 + 00000076 4F22 STS.L PR,@-R15 + 00000078 4F12 STS.L MACL,@-R15 + 0000007A 7FF4 ADD #-12,R15 + 0000007C 8D0E BT/S L317 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 6 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0000007E 3D4C ADD R4,R13 + 00000080 8801 CMP/EQ #1,R0 + 00000082 893B BT L318 + 00000084 8802 CMP/EQ #2,R0 + 00000086 895D BT L319 + 00000088 8803 CMP/EQ #3,R0 + 0000008A 8B01 BF L364 + 0000008C A07F BRA L320 + 0000008E 0009 NOP + 00000090 L364: + 00000090 8804 CMP/EQ #4,R0 + 00000092 8B01 BF L365 + 00000094 A0A2 BRA L321 + 00000096 0009 NOP + 00000098 L365: + 00000098 A0C3 BRA L333 + 0000009A 0009 NOP + 0000009C L317: ; case label + 0000009C D216 MOV.L L363+16,R2 ; _sprite3 + Snow.c 212 { + Snow.c 213 char x, y; + Snow.c 214 switch(num) + Snow.c 215 { + Snow.c 216 case 0: + Snow.c 217 for(y = 0; y < 3; y++) + 0000009E 6BE3 MOV R14,R11 + 000000A0 E803 MOV #3,R8 + 000000A2 666E EXTS.B R6,R6 + 000000A4 6363 MOV R6,R3 + 000000A6 4608 SHLL2 R6 + 000000A8 4600 SHLL R6 + 000000AA 363C ADD R3,R6 + 000000AC 326C ADD R6,R2 + 000000AE 1F22 MOV.L R2,@(8,R15) + 000000B0 L334: + Snow.c 218 for(x = 0; x < 3; x++) + 000000B0 2FE0 MOV.B R14,@R15 + 000000B2 69D3 MOV R13,R9 + 000000B4 5AF2 MOV.L @(8,R15),R10 + 000000B6 60C3 MOV R12,R0 + 000000B8 30BC ADD R11,R0 + 000000BA 80F4 MOV.B R0,@(4,R15) + 000000BC L335: + Snow.c 219 if(sprite3[dim][x][y] == 1) + 000000BC 60BE EXTS.B R11,R0 + 000000BE 00AC MOV.B @(R0,R10),R0 + 000000C0 8801 CMP/EQ #1,R0 + 000000C2 8B03 BF L336 + Snow.c 220 setpixel(px + x, py + y); + 000000C4 84F4 MOV.B @(4,R15),R0 + 000000C6 6503 MOV R0,R5 + 000000C8 BFAA BSR _setpixel + 000000CA 6493 MOV R9,R4 + 000000CC L336: + 000000CC 62F0 MOV.B @R15,R2 + 000000CE 7901 ADD #1,R9 + 000000D0 7201 ADD #1,R2 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 7 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 000000D2 2F20 MOV.B R2,@R15 + 000000D4 622E EXTS.B R2,R2 + 000000D6 3283 CMP/GE R8,R2 + 000000D8 8FF0 BF/S L335 + 000000DA 7A03 ADD #3,R10 + 000000DC 7B01 ADD #1,R11 + 000000DE 62BE EXTS.B R11,R2 + 000000E0 3283 CMP/GE R8,R2 + 000000E2 8BE5 BF L334 + Snow.c 221 break; + 000000E4 A09D BRA L333 + 000000E6 0009 NOP + 000000E8 L363: + 000000E8 3039 .DATA.W H'3039 + 000000EA 0000 .DATA.W 0 + 000000EC <00000000> .DATA.L __$lastrandom + 000000F0 41C64E6D .DATA.L H'41C64E6D + 000000F4 <00000000> .DATA.L _ShapeToDD + 000000F8 <00000000> .DATA.L _sprite3 + 000000FC L318: ; case label + 000000FC D35F MOV.L L366,R3 ; _sprite4 + Snow.c 222 case 1: + Snow.c 223 for(y = 0; y < 4; y++) + 000000FE 6BE3 MOV R14,R11 + 00000100 E804 MOV #4,R8 + 00000102 666E EXTS.B R6,R6 + 00000104 4608 SHLL2 R6 + 00000106 4608 SHLL2 R6 + 00000108 336C ADD R6,R3 + 0000010A 1F32 MOV.L R3,@(8,R15) + 0000010C L337: + Snow.c 224 for(x = 0; x < 4; x++) + 0000010C 2FE0 MOV.B R14,@R15 + 0000010E 69D3 MOV R13,R9 + 00000110 5AF2 MOV.L @(8,R15),R10 + 00000112 60C3 MOV R12,R0 + 00000114 30BC ADD R11,R0 + 00000116 80F4 MOV.B R0,@(4,R15) + 00000118 L338: + Snow.c 225 if(sprite4[dim][x][y] == 1) + 00000118 60BE EXTS.B R11,R0 + 0000011A 00AC MOV.B @(R0,R10),R0 + 0000011C 8801 CMP/EQ #1,R0 + 0000011E 8B03 BF L339 + Snow.c 226 setpixel(px + x, py + y); + 00000120 84F4 MOV.B @(4,R15),R0 + 00000122 6503 MOV R0,R5 + 00000124 BF7C BSR _setpixel + 00000126 6493 MOV R9,R4 + 00000128 L339: + 00000128 62F0 MOV.B @R15,R2 + 0000012A 7901 ADD #1,R9 + 0000012C 7201 ADD #1,R2 + 0000012E 2F20 MOV.B R2,@R15 + 00000130 622E EXTS.B R2,R2 + 00000132 3283 CMP/GE R8,R2 + 00000134 8FF0 BF/S L338 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 8 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000136 7A04 ADD #4,R10 + 00000138 7B01 ADD #1,R11 + 0000013A 62BE EXTS.B R11,R2 + 0000013C 3283 CMP/GE R8,R2 + 0000013E 8BE5 BF L337 + Snow.c 227 break; + 00000140 A06F BRA L333 + 00000142 0009 NOP + 00000144 L319: ; case label + 00000144 D24E MOV.L L366+4,R2 ; _sprite5 + Snow.c 228 case 2: + Snow.c 229 for(y = 0; y < 5; y++) + 00000146 69E3 MOV R14,R9 + 00000148 E805 MOV #5,R8 + 0000014A 666E EXTS.B R6,R6 + 0000014C E319 MOV #25,R3 + 0000014E 263F MULS R3,R6 + 00000150 061A STS MACL,R6 + 00000152 326C ADD R6,R2 + 00000154 1F22 MOV.L R2,@(8,R15) + 00000156 L340: + 00000156 6AD3 MOV R13,R10 + Snow.c 230 for(x = 0; x < 5; x++) + 00000158 2FE0 MOV.B R14,@R15 + 0000015A 60C3 MOV R12,R0 + 0000015C 5BF2 MOV.L @(8,R15),R11 + 0000015E 309C ADD R9,R0 + 00000160 80F4 MOV.B R0,@(4,R15) + 00000162 L341: + Snow.c 231 if(sprite5[dim][x][y] == 1) + 00000162 609E EXTS.B R9,R0 + 00000164 00BC MOV.B @(R0,R11),R0 + 00000166 8801 CMP/EQ #1,R0 + 00000168 8B03 BF L342 + Snow.c 232 setpixel(px + x, py + y); + 0000016A 84F4 MOV.B @(4,R15),R0 + 0000016C 6503 MOV R0,R5 + 0000016E BF57 BSR _setpixel + 00000170 64A3 MOV R10,R4 + 00000172 L342: + 00000172 7A01 ADD #1,R10 + 00000174 62F0 MOV.B @R15,R2 + 00000176 7201 ADD #1,R2 + 00000178 2F20 MOV.B R2,@R15 + 0000017A 622E EXTS.B R2,R2 + 0000017C 3283 CMP/GE R8,R2 + 0000017E 8FF0 BF/S L341 + 00000180 7B05 ADD #5,R11 + 00000182 7901 ADD #1,R9 + 00000184 629E EXTS.B R9,R2 + 00000186 3283 CMP/GE R8,R2 + 00000188 8BE5 BF L340 + Snow.c 233 break; + 0000018A A04A BRA L333 + 0000018C 0009 NOP + 0000018E L320: ; case label + Snow.c 234 case 3: + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 9 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 235 for(y = 0; y < 6; y++) + 0000018E 69E3 MOV R14,R9 + 00000190 D23C MOV.L L366+8,R2 ; _sprite6 + 00000192 E806 MOV #6,R8 + 00000194 666E EXTS.B R6,R6 + 00000196 6363 MOV R6,R3 + 00000198 4608 SHLL2 R6 + 0000019A 4600 SHLL R6 + 0000019C 363C ADD R3,R6 + 0000019E 4608 SHLL2 R6 + 000001A0 326C ADD R6,R2 + 000001A2 1F22 MOV.L R2,@(8,R15) + 000001A4 L343: + Snow.c 236 for(x = 0; x < 6; x++) + 000001A4 2FE0 MOV.B R14,@R15 + 000001A6 6BD3 MOV R13,R11 + 000001A8 5AF2 MOV.L @(8,R15),R10 + 000001AA 60C3 MOV R12,R0 + 000001AC 309C ADD R9,R0 + 000001AE 80F4 MOV.B R0,@(4,R15) + 000001B0 L344: + Snow.c 237 if(sprite6[dim][x][y] == 1) + 000001B0 609E EXTS.B R9,R0 + 000001B2 00AC MOV.B @(R0,R10),R0 + 000001B4 8801 CMP/EQ #1,R0 + 000001B6 8B03 BF L345 + Snow.c 238 setpixel(px + x, py + y); + 000001B8 84F4 MOV.B @(4,R15),R0 + 000001BA 6503 MOV R0,R5 + 000001BC BF30 BSR _setpixel + 000001BE 64B3 MOV R11,R4 + 000001C0 L345: + 000001C0 62F0 MOV.B @R15,R2 + 000001C2 7B01 ADD #1,R11 + 000001C4 7201 ADD #1,R2 + 000001C6 2F20 MOV.B R2,@R15 + 000001C8 622E EXTS.B R2,R2 + 000001CA 3283 CMP/GE R8,R2 + 000001CC 8FF0 BF/S L344 + 000001CE 7A06 ADD #6,R10 + 000001D0 7901 ADD #1,R9 + 000001D2 629E EXTS.B R9,R2 + 000001D4 3283 CMP/GE R8,R2 + 000001D6 8BE5 BF L343 + Snow.c 239 break; + 000001D8 A023 BRA L333 + 000001DA 0009 NOP + 000001DC L321: ; case label + 000001DC D22A MOV.L L366+12,R2 ; _sprite7 + Snow.c 240 case 4: + Snow.c 241 for(y = 0; y < 7; y++) + 000001DE 69E3 MOV R14,R9 + 000001E0 E807 MOV #7,R8 + 000001E2 666E EXTS.B R6,R6 + 000001E4 E331 MOV #49,R3 + 000001E6 263F MULS R3,R6 + 000001E8 061A STS MACL,R6 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 10 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 000001EA 326C ADD R6,R2 + 000001EC 1F22 MOV.L R2,@(8,R15) + 000001EE L346: + 000001EE 6AD3 MOV R13,R10 + Snow.c 242 for(x = 0; x < 7; x++) + 000001F0 2FE0 MOV.B R14,@R15 + 000001F2 60C3 MOV R12,R0 + 000001F4 5BF2 MOV.L @(8,R15),R11 + 000001F6 309C ADD R9,R0 + 000001F8 80F4 MOV.B R0,@(4,R15) + 000001FA L347: + Snow.c 243 if(sprite7[dim][x][y] == 1) + 000001FA 609E EXTS.B R9,R0 + 000001FC 00BC MOV.B @(R0,R11),R0 + 000001FE 8801 CMP/EQ #1,R0 + 00000200 8B03 BF L348 + Snow.c 244 setpixel(px + x, py + y); + 00000202 84F4 MOV.B @(4,R15),R0 + 00000204 6503 MOV R0,R5 + 00000206 BF0B BSR _setpixel + 00000208 64A3 MOV R10,R4 + 0000020A L348: + 0000020A 7A01 ADD #1,R10 + 0000020C 62F0 MOV.B @R15,R2 + 0000020E 7201 ADD #1,R2 + 00000210 2F20 MOV.B R2,@R15 + 00000212 622E EXTS.B R2,R2 + 00000214 3283 CMP/GE R8,R2 + 00000216 8FF0 BF/S L347 + 00000218 7B07 ADD #7,R11 + 0000021A 7901 ADD #1,R9 + 0000021C 629E EXTS.B R9,R2 + 0000021E 3283 CMP/GE R8,R2 + 00000220 8BE5 BF L346 + 00000222 L333: + Snow.c 245 break; + Snow.c 246 } + Snow.c 247 } + 00000222 7F0C ADD #12,R15 + 00000224 4F16 LDS.L @R15+,MACL + 00000226 4F26 LDS.L @R15+,PR + 00000228 68F6 MOV.L @R15+,R8 + 0000022A 69F6 MOV.L @R15+,R9 + 0000022C 6AF6 MOV.L @R15+,R10 + 0000022E 6BF6 MOV.L @R15+,R11 + 00000230 6CF6 MOV.L @R15+,R12 + 00000232 6DF6 MOV.L @R15+,R13 + 00000234 000B RTS + 00000236 6EF6 MOV.L @R15+,R14 + Snow.c 248 + Snow.c 249 #define SNOWCNT 50 + Snow.c 250 + Snow.c 251 struct {unsigned char active, x;char y, dim, num;} snow[SNOWCNT]; + Snow.c 252 + Snow.c 253 void display_vram() + 00000238 _display_vram: ; function: display_vram + ; frame size=16 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 11 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000238 2FC6 MOV.L R12,@-R15 + Snow.c 254 { + Snow.c 255 char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *mvram; + Snow.c 256 int i, j; + Snow.c 257 mvram = vram; + Snow.c 258 for(i=0 ; i<64 ; i++) + 0000023A E100 MOV #0,R1 + 0000023C D514 MOV.L L366+20,R5 ; H'B4000000 + 0000023E E704 MOV #4,R7 + 00000240 D414 MOV.L L366+24,R4 ; H'B4010000 + 00000242 6013 MOV R1,R0 + 00000244 2FB6 MOV.L R11,@-R15 + 00000246 EB07 MOV #7,R11 + 00000248 2FA6 MOV.L R10,@-R15 + 0000024A EA10 MOV #16,R10 + 0000024C 2F96 MOV.L R9,@-R15 + 0000024E E940 MOV #64,R9 + 00000250 D30E MOV.L L366+16,R3 ; _vram + 00000252 6C32 MOV.L @R3,R12 + 00000254 L349: + Snow.c 259 { + Snow.c 260 *LCD_register_selector = 4; + 00000254 2570 MOV.B R7,@R5 + Snow.c 261 *LCD_data_register = i|192; + 00000256 E2C0 MOV #-64,R2 + 00000258 220B OR R0,R2 + Snow.c 262 *LCD_register_selector = 4; + Snow.c 263 *LCD_data_register = 0; + Snow.c 264 *LCD_register_selector = 7; + Snow.c 265 for(j=0 ; j<16 ; j++) *LCD_data_register = *mvram++; + 0000025A 66A3 MOV R10,R6 + 0000025C 2420 MOV.B R2,@R4 + 0000025E 2570 MOV.B R7,@R5 + 00000260 2410 MOV.B R1,@R4 + 00000262 25B0 MOV.B R11,@R5 + 00000264 L350: + 00000264 63C4 MOV.B @R12+,R3 + 00000266 4610 DT R6 + 00000268 8FFC BF/S L350 + 0000026A 2430 MOV.B R3,@R4 + 0000026C 7001 ADD #1,R0 + 0000026E 3093 CMP/GE R9,R0 + 00000270 8BF0 BF L349 + Snow.c 266 } + Snow.c 267 } + 00000272 69F6 MOV.L @R15+,R9 + 00000274 6AF6 MOV.L @R15+,R10 + 00000276 6BF6 MOV.L @R15+,R11 + 00000278 000B RTS + 0000027A 6CF6 MOV.L @R15+,R12 + 0000027C L366: + 0000027C <00000000> .DATA.L _sprite4 + 00000280 <00000000> .DATA.L _sprite5 + 00000284 <00000000> .DATA.L _sprite6 + 00000288 <00000000> .DATA.L _sprite7 + 0000028C <00000000> .DATA.L _vram + 00000290 B4000000 .DATA.L H'B4000000 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 12 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000294 B4010000 .DATA.L H'B4010000 + Snow.c 268 + Snow.c 269 char isMainMenu() + 00000298 _isMainMenu: ; function: isMainMenu + ; frame size=0 + Snow.c 270 { + Snow.c 271 unsigned int ea; + Snow.c 272 unsigned int j; + Snow.c 273 ea = *(unsigned int*)0x8001007C; + 00000298 D332 MOV.L L367+6,R3 ; H'8001007C + Snow.c 274 ea += 0x0490*4; + Snow.c 275 ea = *(unsigned int*)( ea ); + Snow.c 276 j = *(unsigned char*)( ea + 1 ); + Snow.c 277 j *= 4; + Snow.c 278 j = ( ea + j + 4 ) & 0xFFFFFFFC; + 0000029A E1FC MOV #-4,R1 + 0000029C 925F MOV.W L367,R2 ; H'1240 + 0000029E 6432 MOV.L @R3,R4 + 000002A0 342C ADD R2,R4 + 000002A2 6442 MOV.L @R4,R4 + 000002A4 8441 MOV.B @(1,R4),R0 + 000002A6 650C EXTU.B R0,R5 + 000002A8 4508 SHLL2 R5 + 000002AA 345C ADD R5,R4 + 000002AC 7404 ADD #4,R4 + 000002AE 2419 AND R1,R4 + Snow.c 279 j = *(unsigned int*)( j ) + 1; + 000002B0 6442 MOV.L @R4,R4 + Snow.c 280 + Snow.c 281 return *(unsigned char*)j; + Snow.c 282 } + 000002B2 000B RTS + 000002B4 8441 MOV.B @(1,R4),R0 + Snow.c 283 + Snow.c 284 char variable[24]={0}; + Snow.c 285 + Snow.c 286 void snowtimer(void) + 000002B6 _snowtimer: ; function: snowtimer + ; frame size=40 + ; used runtime library name: + ; __modlu + 000002B6 2FE6 MOV.L R14,@-R15 + 000002B8 2FD6 MOV.L R13,@-R15 + 000002BA 2FC6 MOV.L R12,@-R15 + 000002BC 2FB6 MOV.L R11,@-R15 + 000002BE 2FA6 MOV.L R10,@-R15 + 000002C0 2F96 MOV.L R9,@-R15 + 000002C2 2F86 MOV.L R8,@-R15 + 000002C4 4F22 STS.L PR,@-R15 + 000002C6 4F12 STS.L MACL,@-R15 + Snow.c 287 { + Snow.c 288 unsigned char x; + Snow.c 289 + Snow.c 290 if(!isMainMenu()) + 000002C8 BFE6 BSR _isMainMenu + 000002CA 0009 NOP + 000002CC 600E EXTS.B R0,R0 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 13 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 000002CE 2008 TST R0,R0 + 000002D0 8B74 BF L352 + Snow.c 291 { + Snow.c 292 display_vram(); + 000002D2 BFB1 BSR _display_vram + 000002D4 0009 NOP + Snow.c 293 + Snow.c 294 for(x = SNOWCNT - 1; x > 0 ; x--) + 000002D6 EA31 MOV #49,R10 + 000002D8 D423 MOV.L L367+10,R4 ; H'000000F5+_snow + 000002DA E803 MOV #3,R8 + 000002DC 6D43 MOV R4,R13 + 000002DE 6B43 MOV R4,R11 + 000002E0 E901 MOV #1,R9 + 000002E2 EC00 MOV #0,R12 + 000002E4 6E43 MOV R4,R14 + 000002E6 L353: + Snow.c 295 { + Snow.c 296 if(snow[x].active == 1) + 000002E6 60AC EXTU.B R10,R0 + 000002E8 D120 MOV.L L367+14,R1 ; _snow + 000002EA 6303 MOV R0,R3 + 000002EC 4008 SHLL2 R0 + 000002EE 303C ADD R3,R0 + 000002F0 001C MOV.B @(R0,R1),R0 + 000002F2 600C EXTU.B R0,R0 + 000002F4 8801 CMP/EQ #1,R0 + 000002F6 8B25 BF L354 + Snow.c 297 { + Snow.c 298 drawsprite(snow[x].x, snow[x].y, snow[x].dim, snow[x].num); + 000002F8 84E4 MOV.B @(4,R14),R0 + 000002FA 6703 MOV R0,R7 + 000002FC 84E3 MOV.B @(3,R14),R0 + 000002FE 6603 MOV R0,R6 + 00000300 84E2 MOV.B @(2,R14),R0 + 00000302 6503 MOV R0,R5 + 00000304 84E1 MOV.B @(1,R14),R0 + 00000306 BEAA BSR _drawsprite + 00000308 6403 MOV R0,R4 + Snow.c 299 snow[x].y ++; + 0000030A 84E2 MOV.B @(2,R14),R0 + 0000030C 7001 ADD #1,R0 + 0000030E 80E2 MOV.B R0,@(2,R14) + Snow.c 300 snow[x].x += (random(0) % 3) - 1; + 00000310 BE76 BSR _random + 00000312 E400 MOV #0,R4 + 00000314 D216 MOV.L L367+18,R2 ; __modlu + 00000316 6103 MOV R0,R1 + 00000318 420B JSR @R2 + 0000031A 6083 MOV R8,R0 + 0000031C 9320 MOV.W L367+2,R3 ; H'00FF + 0000031E 303C ADD R3,R0 + 00000320 6203 MOV R0,R2 + 00000322 84E1 MOV.B @(1,R14),R0 + 00000324 302C ADD R2,R0 + 00000326 80E1 MOV.B R0,@(1,R14) + Snow.c 301 if(snow[x].y == 64 || snow[x].x > 127 || snow[x].x < 0) + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 14 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000328 84E2 MOV.B @(2,R14),R0 + 0000032A 8840 CMP/EQ #64,R0 + 0000032C 8908 BT L356 + 0000032E E27F MOV #127,R2 + 00000330 84E1 MOV.B @(1,R14),R0 + 00000332 600C EXTU.B R0,R0 + 00000334 3027 CMP/GT R2,R0 + 00000336 8903 BT L356 + 00000338 84E1 MOV.B @(1,R14),R0 + 0000033A 600C EXTU.B R0,R0 + 0000033C 4011 CMP/PZ R0 + 0000033E 8936 BT L357 + 00000340 L356: + Snow.c 302 snow[x].active = 0; + 00000340 A035 BRA L357 + 00000342 2BC0 MOV.B R12,@R11 + 00000344 L354: + Snow.c 303 } + Snow.c 304 else + Snow.c 305 { + Snow.c 306 if((rand() * RTC_GetTicks()) % 32 == 0) + 00000344 D20B MOV.L L367+22,R2 ; _rand + 00000346 420B JSR @R2 + 00000348 0009 NOP + 0000034A D30B MOV.L L367+26,R3 ; _RTC_GetTicks + 0000034C 430B JSR @R3 + 0000034E 2F06 MOV.L R0,@-R15 + 00000350 62F6 MOV.L @R15+,R2 + 00000352 0207 MUL.L R0,R2 + 00000354 001A STS MACL,R0 + 00000356 4011 CMP/PZ R0 + 00000358 8B10 BF L359 + 0000035A A014 BRA L360 + 0000035C C91F AND #31,R0 + 0000035E L367: + 0000035E 1240 .DATA.W H'1240 + 00000360 00FF .DATA.W H'00FF + 00000362 0000 .DATA.W 0 + 00000364 8001007C .DATA.L H'8001007C + 00000368 <000000F5> .DATA.L H'000000F5+_snow + 0000036C <00000000> .DATA.L _snow + 00000370 <00000000> .DATA.L __modlu + 00000374 <00000000> .DATA.L _rand + 00000378 <00000000> .DATA.L _RTC_GetTicks + 0000037C L359: + 0000037C 6007 NOT R0,R0 + 0000037E 7001 ADD #1,R0 + 00000380 C91F AND #31,R0 + 00000382 6007 NOT R0,R0 + 00000384 7001 ADD #1,R0 + 00000386 L360: + 00000386 2008 TST R0,R0 + 00000388 8B11 BF L357 + Snow.c 307 { + Snow.c 308 snow[x].active = 1; + 0000038A 2D90 MOV.B R9,@R13 + Snow.c 309 snow[x].x = random(0) % 128; + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 15 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0000038C BE38 BSR _random + 0000038E E400 MOV #0,R4 + 00000390 C97F AND #127,R0 + 00000392 80D1 MOV.B R0,@(1,R13) + Snow.c 310 snow[x].y = 0; + 00000394 60C3 MOV R12,R0 + 00000396 80D2 MOV.B R0,@(2,R13) + Snow.c 311 snow[x].dim = random(0) % 4; + 00000398 BE32 BSR _random + 0000039A E400 MOV #0,R4 + 0000039C C903 AND #3,R0 + 0000039E 80D3 MOV.B R0,@(3,R13) + Snow.c 312 snow[x].num = random(0) % 5; + 000003A0 BE2E BSR _random + 000003A2 E400 MOV #0,R4 + 000003A4 D318 MOV.L L368+4,R3 ; __modlu + 000003A6 6103 MOV R0,R1 + 000003A8 430B JSR @R3 + 000003AA E005 MOV #5,R0 + 000003AC 80D4 MOV.B R0,@(4,R13) + 000003AE L357: + 000003AE 7AFF ADD #-1,R10 + 000003B0 7DFB ADD #-5,R13 + 000003B2 7BFB ADD #-5,R11 + 000003B4 62AC EXTU.B R10,R2 + 000003B6 4215 CMP/PL R2 + 000003B8 8D95 BT/S L353 + 000003BA 7EFB ADD #-5,R14 + 000003BC L352: + Snow.c 313 } + Snow.c 314 } + Snow.c 315 } + Snow.c 316 } + Snow.c 317 + Snow.c 318 Alpha_GetData('A',variable); + 000003BC D313 MOV.L L368+8,R3 ; _iSysCallFuncPtr + 000003BE E700 MOV #0,R7 + 000003C0 D513 MOV.L L368+12,R5 ; _variable + 000003C2 6673 MOV R7,R6 + 000003C4 6232 MOV.L @R3,R2 + 000003C6 911D MOV.W L368,R1 ; H'04DF + 000003C8 2F16 MOV.L R1,@-R15 + 000003CA 420B JSR @R2 + 000003CC E441 MOV #65,R4 + Snow.c 319 if(variable[0]) + 000003CE D310 MOV.L L368+12,R3 ; _variable + 000003D0 6230 MOV.B @R3,R2 + 000003D2 2228 TST R2,R2 + 000003D4 8D0C BT/S L361 + 000003D6 7F04 ADD #4,R15 + Snow.c 320 { + Snow.c 321 KillTimer(1); + 000003D8 4F16 LDS.L @R15+,MACL + 000003DA E401 MOV #1,R4 + 000003DC D20D MOV.L L368+16,R2 ; _KillTimer + 000003DE 4F26 LDS.L @R15+,PR + 000003E0 68F6 MOV.L @R15+,R8 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 16 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 000003E2 69F6 MOV.L @R15+,R9 + 000003E4 6AF6 MOV.L @R15+,R10 + 000003E6 6BF6 MOV.L @R15+,R11 + 000003E8 6CF6 MOV.L @R15+,R12 + 000003EA 6DF6 MOV.L @R15+,R13 + 000003EC 422B JMP @R2 + 000003EE 6EF6 MOV.L @R15+,R14 + 000003F0 L361: + Snow.c 322 } + Snow.c 323 } + 000003F0 4F16 LDS.L @R15+,MACL + 000003F2 4F26 LDS.L @R15+,PR + 000003F4 68F6 MOV.L @R15+,R8 + 000003F6 69F6 MOV.L @R15+,R9 + 000003F8 6AF6 MOV.L @R15+,R10 + 000003FA 6BF6 MOV.L @R15+,R11 + 000003FC 6CF6 MOV.L @R15+,R12 + 000003FE 6DF6 MOV.L @R15+,R13 + 00000400 000B RTS + 00000402 6EF6 MOV.L @R15+,R14 + 00000404 L368: + 00000404 04DF .DATA.W H'04DF + 00000406 0000 .DATA.W 0 + 00000408 <00000000> .DATA.L __modlu + 0000040C <00000000> .DATA.L _iSysCallFuncPtr + 00000410 <00000000> .DATA.L _variable + 00000414 <00000000> .DATA.L _KillTimer + Snow.c 324 + Snow.c 325 int AddIn_main(int isAppli, unsigned short OptionNum) + 00000418 _AddIn_main: ; function: AddIn_main + ; frame size=24 + ; used runtime library name: + ; __slow_mvn + 00000418 2FE6 MOV.L R14,@-R15 + 0000041A 2FD6 MOV.L R13,@-R15 + 0000041C 4F22 STS.L PR,@-R15 + 0000041E 7FF8 ADD #-8,R15 + Snow.c 326 { + Snow.c 327 unsigned int key; + Snow.c 328 unsigned char text[3] = {0xE6, 0x91, 0}; + 00000420 D22C MOV.L L369+4,R2 ; L299 + 00000422 61F3 MOV R15,R1 + 00000424 D32C MOV.L L369+8,R3 ; __slow_mvn + 00000426 7104 ADD #4,R1 + 00000428 430B JSR @R3 + 0000042A E003 MOV #3,R0 + Snow.c 329 random(RTC_GetTicks()); + 0000042C D12B MOV.L L369+12,R1 ; _RTC_GetTicks + 0000042E 410B JSR @R1 + 00000430 0009 NOP + 00000432 BDE5 BSR _random + 00000434 6403 MOV R0,R4 + Snow.c 330 vram = Disp_GetVRAMPtr(); + 00000436 D22A MOV.L L369+16,R2 ; _Disp_GetVRAMPtr + 00000438 420B JSR @R2 + 0000043A 0009 NOP + 0000043C D329 MOV.L L369+20,R3 ; _vram + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 17 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 331 Alpha_ClearAll(); + 0000043E E700 MOV #0,R7 + 00000440 D129 MOV.L L369+24,R1 ; _iSysCallFuncPtr + 00000442 6673 MOV R7,R6 + 00000444 2302 MOV.L R0,@R3 + 00000446 6573 MOV R7,R5 + 00000448 6212 MOV.L @R1,R2 + 0000044A 9341 MOV.W L369,R3 ; H'04E1 + 0000044C 2F36 MOV.L R3,@-R15 + 0000044E 420B JSR @R2 + 00000450 6473 MOV R7,R4 + Snow.c 332 AllClr_VRAM(); + 00000452 D226 MOV.L L369+28,R2 ; _AllClr_VRAM + 00000454 420B JSR @R2 + 00000456 0009 NOP + Snow.c 333 locate(3,3); + 00000458 DE25 MOV.L L369+32,R14; _locate + 0000045A E503 MOV #3,R5 + 0000045C 4E0B JSR @R14 + 0000045E 6453 MOV R5,R4 + Snow.c 334 Print(&"~*| Snowfall |*~"); + 00000460 DD24 MOV.L L369+36,R13; _Print + 00000462 D425 MOV.L L369+40,R4 ; L303 + 00000464 4D0B JSR @R13 + 00000466 0009 NOP + Snow.c 335 locate(4,1); + 00000468 E501 MOV #1,R5 + 0000046A 4E0B JSR @R14 + 0000046C E404 MOV #4,R4 + Snow.c 336 Print(&"(C) by Casimo"); + 0000046E D423 MOV.L L369+44,R4 ; L304 + 00000470 4D0B JSR @R13 + 00000472 0009 NOP + Snow.c 337 locate(4,5); + 00000474 E505 MOV #5,R5 + 00000476 4E0B JSR @R14 + 00000478 E404 MOV #4,R4 + Snow.c 338 Print(&"press any key"); + 0000047A D421 MOV.L L369+48,R4 ; L305 + 0000047C 4D0B JSR @R13 + 0000047E 0009 NOP + Snow.c 339 locate(6,6); + 00000480 E506 MOV #6,R5 + 00000482 4E0B JSR @R14 + 00000484 6453 MOV R5,R4 + Snow.c 340 Print(&"to start"); + 00000486 D41F MOV.L L369+52,R4 ; L306 + 00000488 4D0B JSR @R13 + 0000048A 0009 NOP + Snow.c 341 locate(4,8); + 0000048C E508 MOV #8,R5 + 0000048E 4E0B JSR @R14 + 00000490 E404 MOV #4,R4 + Snow.c 342 Print(&"exit with 1 A"); + 00000492 D41D MOV.L L369+56,R4 ; L307 + 00000494 4D0B JSR @R13 + 00000496 0009 NOP + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 18 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + Snow.c 343 locate(15,8); + 00000498 E508 MOV #8,R5 + 0000049A 4E0B JSR @R14 + 0000049C E40F MOV #15,R4 + Snow.c 344 Print(&text); + 0000049E 64F3 MOV R15,R4 + 000004A0 4D0B JSR @R13 + 000004A2 7408 ADD #8,R4 + Snow.c 345 display_vram(); + 000004A4 BEC8 BSR _display_vram + 000004A6 0009 NOP + Snow.c 346 GetKey(&key); + 000004A8 D218 MOV.L L369+60,R2 ; _GetKey + 000004AA 64F3 MOV R15,R4 + 000004AC 420B JSR @R2 + 000004AE 7404 ADD #4,R4 + Snow.c 347 Timer_Install(6, &snowtimer, 300); + 000004B0 960F MOV.W L369+2,R6 ; H'012C + 000004B2 D517 MOV.L L369+64,R5 ; _snowtimer + 000004B4 D317 MOV.L L369+68,R3 ; _Timer_Install + 000004B6 430B JSR @R3 + 000004B8 E406 MOV #6,R4 + Snow.c 348 Timer_Start(6); + 000004BA D217 MOV.L L369+72,R2 ; _Timer_Start + 000004BC 420B JSR @R2 + 000004BE E406 MOV #6,R4 + Snow.c 349 App_RUN_MAT(); + 000004C0 D316 MOV.L L369+76,R3 ; _App_RUN_MAT + 000004C2 430B JSR @R3 + 000004C4 0009 NOP + Snow.c 350 } + 000004C6 7F0C ADD #12,R15 + 000004C8 4F26 LDS.L @R15+,PR + 000004CA 6DF6 MOV.L @R15+,R13 + 000004CC 000B RTS + 000004CE 6EF6 MOV.L @R15+,R14 + 000004D0 L369: + 000004D0 04E1 .DATA.W H'04E1 + 000004D2 012C .DATA.W H'012C + 000004D4 <00000000> .DATA.L L299 + 000004D8 <00000000> .DATA.L __slow_mvn + 000004DC <00000000> .DATA.L _RTC_GetTicks + 000004E0 <00000000> .DATA.L _Disp_GetVRAMPtr + 000004E4 <00000000> .DATA.L _vram + 000004E8 <00000000> .DATA.L _iSysCallFuncPtr + 000004EC <00000000> .DATA.L _AllClr_VRAM + 000004F0 <00000000> .DATA.L _locate + 000004F4 <00000000> .DATA.L _Print + 000004F8 <00000000> .DATA.L L303 + 000004FC <00000000> .DATA.L L304 + 00000500 <00000000> .DATA.L L305 + 00000504 <00000000> .DATA.L L306 + 00000508 <00000000> .DATA.L L307 + 0000050C <00000000> .DATA.L _GetKey + 00000510 <00000000> .DATA.L _snowtimer + 00000514 <00000000> .DATA.L _Timer_Install + 00000518 <00000000> .DATA.L _Timer_Start + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 19 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0000051C <00000000> .DATA.L _App_RUN_MAT + Snow.c 351 + Snow.c 352 #pragma section _BR_Size + Snow.c 353 unsigned long BR_Size; + Snow.c 354 #pragma section + Snow.c 355 #pragma section _TOP + Snow.c 356 int InitializeSystem(int isAppli, unsigned short OptionNum) +P_T 00000000 _InitializeSystem: ; function: InitializeSystem + ; frame size=4 + Snow.c 357 {return INIT_ADDIN_APPLICATION(isAppli, OptionNum);} + 00000000 D303 MOV.L L370+2,R3 ; _INIT_ADDIN_APPLICATION + 00000002 7FFC ADD #-4,R15 + 00000004 2F51 MOV.W R5,@R15 + 00000006 65F1 MOV.W @R15,R5 + 00000008 655D EXTU.W R5,R5 + 0000000A 432B JMP @R3 + 0000000C 7F04 ADD #4,R15 + 0000000E L370: + 0000000E 0000 .DATA.W 0 + 00000010 <00000000> .DATA.L _INIT_ADDIN_APPLICATION + Snow.c 358 #pragma section + Snow.c 359 +C 00000000 _SysCallWrapper: ; static: SysCallWrapper + 00000000 D201422B60 .DATA.L H'D201422B,H'60F20000,H'80010070 + F200008001 + 0070 + 0000000C _sprite3: ; static: sprite3 + 0000000C 0100010001 .DATA.B H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00, + 0001000100 + H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'01,H'00, + 0100010001 + H'01,H'00,H'01,H'00 + 0001000001 + 0001010100 + 0100000100 + 0100010001 + 00 + 00000030 _sprite4: ; static: sprite4 + 00000030 0100000100 .DATA.B H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01, + 0101000001 + H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00, + 0100010000 + H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01, + 0100010100 + H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00 + 0100000101 + 0000010001 + 0100010000 + 0100010100 + 0001010001 + 0000010001 + 0100010000 + 0101000001 + 00010100 + 00000070 _sprite5: ; static: sprite5 + 00000070 0001000100 .DATA.B H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'00,H'01, + 0101000101 + H'01,H'00,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01, + 0000010000 + H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01, + 0101000101 + H'00,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'01,H'00,H'01,H'01,H'00,H'01, + 0001000100 + H'01,H'00,H'01,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'01,H'00,H'01, + 0100010001 + H'00,H'01,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'01,H'00,H'01, + 0001000100 + H'00,H'01,H'00,H'01 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 20 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0100010001 + 0001000100 + 0100010001 + 0100010001 + 0001010100 + 0101000101 + 0001010100 + 0100010001 + 0100010001 + 0001010100 + 0101000101 + 0001010100 + 0100010001 + 000000D4 _sprite6: ; static: sprite6 + 000000D4 0001000001 .DATA.B H'00,H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'00,H'01,H'01, + 0001010000 + H'00,H'00,H'00,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'01, + 0101000001 + H'00,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'01,H'01,H'00,H'01,H'01,H'00,H'01, + 0100000000 + H'00,H'01,H'01,H'01,H'01,H'00,H'00,H'01,H'01,H'01,H'01,H'00,H'01,H'00,H'01,H'01, + 0101000001 + H'00,H'01,H'01,H'01,H'00,H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'01,H'01, + 0100000101 + H'01,H'01,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'00, + 0001000001 + H'01,H'01,H'01,H'01,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'00,H'00, + 0001010000 + H'01,H'00,H'01,H'01,H'01,H'01,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01, + 0101010001 + H'00,H'00,H'01,H'00,H'01,H'01,H'01,H'01,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00 + 0100010001 + 0101010000 + 0101010100 + 0100010100 + 0101010000 + 0101000100 + 0001000101 + 0101010100 + 0100000100 + 0001000001 + 0001010101 + 0101000100 + 0001000001 + 0000010001 + 0101010101 + 0001000001 + 0000010000 + 0100010101 + 0101010001 + 00000100 + 00000164 _sprite7: ; static: sprite7 + 00000164 0100010001 .DATA.B H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01, + 0001000101 + H'01,H'00,H'01,H'01,H'01,H'00,H'00,H'00,H'01,H'00,H'00,H'00,H'01,H'01,H'01,H'00, + 0001010001 + H'01,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00, + 0101000101 + H'01,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'01, + 0100000001 + H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'01,H'00,H'00,H'01,H'01,H'00, + 0000000101 + H'01,H'00,H'01,H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'01, + 0100010101 + H'01,H'00,H'00,H'01,H'01,H'00,H'01,H'01,H'00,H'01,H'00,H'00,H'01,H'00,H'00,H'01, + 0001010001 + H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00, + 0100010001 + H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'00,H'01,H'01,H'00, + 0001000100 + H'01,H'01,H'00,H'01,H'01,H'01,H'00,H'01,H'01,H'01,H'01,H'00,H'00,H'01,H'00,H'00, + 0101000101 + H'01,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01,H'00,H'01, + 0001000100 + H'00,H'01,H'00,H'01,H'00,H'01,H'01,H'00,H'00,H'01,H'00,H'00,H'01,H'01,H'01,H'01, + 0100010101 + H'00,H'01,H'01,H'01 + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 21 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0001000101 + 0000010001 + 0000010100 + 0100010101 + 0001000100 + 0100010100 + 0101000001 + 0100010100 + 0100000100 + 0001010001 + 0001000100 + 0100010001 + 0001000100 + 0100010100 + 0001000001 + 0001010001 + 0100010101 + 0001010101 + 0000010000 + 0101000100 + 0100010001 + 0001000100 + 0100010001 + 0001010000 + 0100000101 + 0101000101 + 01 + 00000228 L299: + 00000228 E69100 .DATA.B H'E6,H'91,H'00 + 0000022B 00000001 .RES.B 1 + 0000022C L303: + 0000022C 7E2A7C2053 .SDATA "~*| Snowfall |*~" + 6E6F776661 + 6C6C207C2A + 7E + 0000023C 00 .DATA.B H'00 + 0000023D 00000001 .RES.B 1 + 0000023E 00000002 .RES.W 1 + 00000240 L304: + 00000240 2843292062 .SDATA "(C) by Casimo" + 7920436173 + 696D6F + 0000024D 00 .DATA.B H'00 + 0000024E 00000002 .RES.W 1 + 00000250 L305: + 00000250 7072657373 .SDATA "press any key" + 20616E7920 + 6B6579 + 0000025D 00 .DATA.B H'00 + 0000025E 00000002 .RES.W 1 + 00000260 L306: + 00000260 746F207374 .SDATA "to start" + 617274 + 00000268 00 .DATA.B H'00 + 00000269 00000001 .RES.B 1 + 0000026A 00000002 .RES.W 1 + 0000026C L307: + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 22 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 0000026C 6578697420 .SDATA "exit with 1 A" + 7769746820 + 312041 + 00000279 00 .DATA.B H'00 +D 00000000 _iSysCallFuncPtr: ; static: iSysCallFuncPtr + 00000000 <00000000> .DATA.L _SysCallWrapper + 00000004 __$lastrandom: ; static: lastrandom + 00000004 12345678 .DATA.L H'12345678 + 00000008 _variable: ; static: variable + 00000008 00 .DATA.B H'00 + 00000009 0000001701 .DATAB.B 23,0 + 00 +B 00000000 _vram: ; static: vram + 00000000 00000004 .RES.L 1 + 00000004 _snow: ; static: snow + 00000004 000000FA .RES.B 250 +B_B 00000000 _BR_Size: ; static: BR_Size + 00000000 00000004 .RES.L 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 23-Dec-2012 15:48:25 PAGE 1 + + +******** STATISTICS INFORMATION ******** + + +********** ERROR INFORMATION *********** + +NUMBER OF ERRORS: 0 +NUMBER OF WARNINGS: 0 + + + + +******* SOURCE LINE INFORMATION ******** + +COMPILED SOURCE LINE: 359 + + + +******* SECTION SIZE INFORMATION ******* + +PROGRAM SECTION (P): 00000520 Byte(s) +PROGRAM SECTION (P_BR_Size): 00000000 Byte(s) +PROGRAM SECTION (P_TOP): 00000014 Byte(s) +CONSTANT SECTION (C): 0000027A Byte(s) +CONSTANT SECTION (C_BR_Size): 00000000 Byte(s) +CONSTANT SECTION (C_TOP): 00000000 Byte(s) +DATA SECTION (D): 00000020 Byte(s) +DATA SECTION (D_BR_Size): 00000000 Byte(s) +DATA SECTION (D_TOP): 00000000 Byte(s) +BSS SECTION (B): 000000FE Byte(s) +BSS SECTION (B_BR_Size): 00000004 Byte(s) +BSS SECTION (B_TOP): 00000000 Byte(s) + + TOTAL PROGRAM SIZE: 000008D0 Byte(s) + + + +********** LABEL INFORMATION *********** + +NUMBER OF EXTERNAL REFERENCE SYMBOLS: 15 +NUMBER OF EXTERNAL DEFINITION SYMBOLS: 19 +NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 81 + + + + + + + + + + + + + + + + + + + + + + +*** COMMAND PARAMETER *** + + + -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk7676.tmp + diff --git a/Debug/Snow.obj b/Debug/Snow.obj new file mode 100644 index 0000000..7c99878 Binary files /dev/null and b/Debug/Snow.obj differ -- cgit v1.3.1