summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AddinInfo.txt12
-rw-r--r--Debug/Addin.mak121
-rw-r--r--Debug/FXADDINror.absbin0 -> 10440 bytes
-rw-r--r--Debug/FXADDINror.binbin0 -> 4144 bytes
-rw-r--r--Debug/FXADDINror.dbgbin0 -> 12552 bytes
-rw-r--r--Debug/FXADDINror.fsy159
-rw-r--r--Debug/FXADDINror.map403
-rw-r--r--Debug/SYSCALLS.objbin0 -> 5780 bytes
-rw-r--r--Debug/Snow.lst1523
-rw-r--r--Debug/Snow.objbin0 -> 16100 bytes
-rw-r--r--FXSH_Build.bat22
-rw-r--r--INIT/CasioRAM.membin0 -> 55076 bytes
-rw-r--r--INIT/CasioRAMCPU.membin0 -> 80 bytes
-rw-r--r--MainIcon.bmpbin0 -> 138 bytes
-rw-r--r--Readme.txt2
-rw-r--r--SNOW.G1Abin0 -> 4656 bytes
-rw-r--r--Screenshot.bmpbin0 -> 9270 bytes
-rw-r--r--Screenshot2.bmpbin0 -> 9270 bytes
-rw-r--r--Snow.c181
-rw-r--r--Snow.dlr13
-rw-r--r--Snow.dlw126
-rw-r--r--Snow.g1w16
-rw-r--r--Snowfall_1.0.rarbin0 -> 2294 bytes
-rw-r--r--eActivityIcon.bmpbin0 -> 106 bytes
24 files changed, 2578 insertions, 0 deletions
diff --git a/AddinInfo.txt b/AddinInfo.txt
new file mode 100644
index 0000000..212eb72
--- /dev/null
+++ b/AddinInfo.txt
@@ -0,0 +1,12 @@
+//------------------------------------------------------------------
+// Addin-Application header control file, created with the CASIO SDK
+//------------------------------------------------------------------
+[OUTPUT] : "SNOW.G1A"
+[BINDATA] : "FXADDINror.bin"
+[DISPNAME] : "Snow"
+[APPNAME] : "@SNOW"
+[VERSION] : "01.00.0000"
+[APL_ICON] : "MainIcon.bmp"
+[MODULE_NUM] : 0
+[MOD1_TITLE] : "Snow"
+[MOD1_ICON] : "eActivityIcon.bmp"
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
--- /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..2a7546b
--- /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..4ee6114
--- /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..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
--- /dev/null
+++ b/Debug/SYSCALLS.obj
Binary files 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
--- /dev/null
+++ b/Debug/Snow.obj
Binary files differ
diff --git a/FXSH_Build.bat b/FXSH_Build.bat
new file mode 100644
index 0000000..a0ab64f
--- /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 SNOW.G1A del SNOW.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\Snow"
+if not exist SNOW.G1A goto error
+echo Build has completed.
+goto end
+
+:error
+echo Build was not successful.
+
+:end
+
diff --git a/INIT/CasioRAM.mem b/INIT/CasioRAM.mem
new file mode 100644
index 0000000..c886ca8
--- /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..26da268
--- /dev/null
+++ b/MainIcon.bmp
Binary files differ
diff --git a/Readme.txt b/Readme.txt
new file mode 100644
index 0000000..dfeb09a
--- /dev/null
+++ b/Readme.txt
@@ -0,0 +1,2 @@
+Snowfall is a simple c-program that lets you use the RunMat while snow falling down.
+Copyright by Casimo \ No newline at end of file
diff --git a/SNOW.G1A b/SNOW.G1A
new file mode 100644
index 0000000..bc90645
--- /dev/null
+++ b/SNOW.G1A
Binary files differ
diff --git a/Screenshot.bmp b/Screenshot.bmp
new file mode 100644
index 0000000..3f7ad34
--- /dev/null
+++ b/Screenshot.bmp
Binary files differ
diff --git a/Screenshot2.bmp b/Screenshot2.bmp
new file mode 100644
index 0000000..b949273
--- /dev/null
+++ b/Screenshot2.bmp
Binary files differ
diff --git a/Snow.c b/Snow.c
new file mode 100644
index 0000000..ac449c8
--- /dev/null
+++ b/Snow.c
@@ -0,0 +1,181 @@
+char *Disp_GetVRAMPtr(void);
+int Timer_Install(int TimerID, void (*handler)(void), int delay);
+int Timer_Start(int TimerID);
+void App_RUNMAT();
+int RTC_GetTicks();
+void AllClear_VRAM();
+
+typedef struct{
+ unsigned int x1;
+ unsigned int y1;
+ unsigned int x2;
+ unsigned int y2;
+ unsigned char f[4];
+ unsigned int on_bits;
+ unsigned int off_bits;
+} TShape;
+
+void ShapeToVRAM( TShape* x );
+
+char *vram;
+
+const int SysCallWrapper[] = {0xD201422B,0x60F20000,0x80010070};
+const int (*iSysCallFuncPtr)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallWrapper;
+#define Alpha_GetData(VarName,Dest) (void)(*iSysCallFuncPtr)( VarName,(int)Dest, 0, 0, 0x04DF)
+#define Alpha_ClearAll() (void)(*iSysCallFuncPtr)( 0,0, 0, 0, 0x004E1)
+
+int InputString( unsigned char*buff, unsigned char *heading, int maxlen );
+
+static unsigned int lastrandom=0x12345678;
+
+unsigned int random( int seed){
+ if (seed) lastrandom=seed;
+ lastrandom = ( 0x41C64E6D*lastrandom ) + 0x3039;
+ return ( lastrandom >> 16 );
+}
+
+const char sprite[][] = {
+{ 0 , 1 , 0 },
+{ 1 , 1 , 1 },
+{ 1 , 0 , 1 },
+{ 1 , 1 , 1 },
+{ 1 , 1 , 1 },
+{ 1 , 1 , 1 },
+{ 0 , 0 , 1 },
+{ 0 , 0 , 1 },
+{ 0 , 0 , 1 }
+}
+
+void setpixel(unsigned char x, char y)
+{
+ TShape t;
+ if(x&~127 || y&~63) return;
+ t.x1 = x;
+ t.y1 = y;
+ t.f[0] = 2;
+ t.f[1] = 1;
+ t.f[2] = 1;
+ t.f[3] = 1;
+
+ ShapeToDD(&t);
+}
+
+void drawsprite(unsigned char px, char py)
+{
+ char x, y;
+ for(y = 0; y < 9; y++)
+ for(x = 0; x < 3; x++)
+ if(sprite[x][y] == 1)
+ setpixel(px + x, py + y);
+}
+
+#define CNT 10
+
+struct {unsigned char active, x;char y;float dirx;} fire[CNT];
+
+void display_vram()
+{
+ char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *mvram;
+ int i, j;
+ mvram = vram;
+ for(i=0 ; i<64 ; i++)
+ {
+ *LCD_register_selector = 4;
+ *LCD_data_register = i|192;
+ *LCD_register_selector = 4;
+ *LCD_data_register = 0;
+ *LCD_register_selector = 7;
+ for(j=0 ; j<16 ; j++) *LCD_data_register = *mvram++;
+ }
+}
+
+char isMainMenu()
+{
+ unsigned int ea;
+ unsigned int j;
+ ea = *(unsigned int*)0x8001007C;
+ ea += 0x0490*4;
+ ea = *(unsigned int*)( ea );
+ j = *(unsigned char*)( ea + 1 );
+ j *= 4;
+ j = ( ea + j + 4 ) & 0xFFFFFFFC;
+ j = *(unsigned int*)( j ) + 1;
+
+ return *(unsigned char*)j;
+}
+
+char variable[24]={0};
+
+void snowtimer(void)
+{
+ unsigned char x;
+
+ if(!isMainMenu())
+ {
+ display_vram();
+
+ for(x =CNT - 1; x > 0 ; x--)
+ {
+ if(fire[x].active == 1)
+ {
+ drawsprite(fire[x].x, fire[x].y);
+ fire[x].y --;
+ fire[x].x += dirx;
+ if(fire[x].y == 0 || fire[x].x > 127 || fire[x].x < 0)
+ fire[x].active = 0;
+ }
+ else
+ {
+ if((rand() * RTC_GetTicks()) % 32 == 0)
+ {
+ fire[x].active = 1;
+ fire[x].x = random(0) % 128;
+ fire[x].dirx = (random(0) % 30) / 10;
+ fire[x].y = 64;
+ }
+ }
+ }
+ }
+
+ Alpha_GetData('A',variable);
+ if(variable[0])
+ {
+ KillTimer(1);
+ }
+}
+
+int AddIn_main(int isAppli, unsigned short OptionNum)
+{
+ unsigned int key;
+ unsigned char text[3] = {0xE6, 0x91, 0};
+ random(RTC_GetTicks());
+ vram = Disp_GetVRAMPtr();
+ Alpha_ClearAll();
+ AllClr_VRAM();
+ locate(3,3);
+ Print(&"~*| Firework |*~");
+ locate(4,1);
+ Print(&"(C) by Casimo");
+ locate(4,5);
+ Print(&"press any key");
+ locate(6,6);
+ Print(&"to start");
+ locate(4,8);
+ Print(&"exit with 1 A");
+ locate(15,8);
+ Print(&text);
+ display_vram();
+ GetKey(&key);
+ Timer_Install(6, &snowtimer, 300);
+ Timer_Start(6);
+ App_RUN_MAT();
+}
+
+#pragma section _BR_Size
+unsigned long BR_Size;
+#pragma section
+#pragma section _TOP
+int InitializeSystem(int isAppli, unsigned short OptionNum)
+{return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
+#pragma section
+
diff --git a/Snow.dlr b/Snow.dlr
new file mode 100644
index 0000000..05bacc4
--- /dev/null
+++ b/Snow.dlr
@@ -0,0 +1,13 @@
+[DLSimRunSpace]
+
+[Breakpoint]
+File=G:\Casio SDK\Projekte\Snow\Snow.c
+Line=303
+Flags=00001012
+Sublevel=1
+
+[Breakpoint]
+File=G:\Casio SDK\Projekte\Snow\Snow.c
+Line=303
+Flags=00001012
+Sublevel=2
diff --git a/Snow.dlw b/Snow.dlw
new file mode 100644
index 0000000..3d46d6b
--- /dev/null
+++ b/Snow.dlw
@@ -0,0 +1,126 @@
+[DLSimWorkSpace]
+
+[_1]
+Type=5
+Order=4
+Top=11625
+Left=25110
+Height=570
+Width=1980
+State=0
+Flags=00000020
+Setting=286:1:Snow.c
+OptionA=0
+
+[_2]
+Type=1
+Order=1
+Top=330
+Left=21900
+Height=5115
+Width=5850
+State=0
+Flags=00000001
+OptionA=15
+OptionB=15
+
+[_3]
+Type=6
+Order=2
+Top=5310
+Left=22065
+Height=6390
+Width=5535
+State=0
+Flags=00000001
+OptionA=0
+
+[_4]
+Type=7
+Order=7
+Top=270
+Left=16290
+Height=3165
+Width=5565
+State=0
+Flags=00000000
+OptionA=0
+
+[_5]
+Type=8
+Order=6
+Top=390
+Left=10650
+Height=3225
+Width=5580
+State=0
+Flags=00000000
+OptionA=0
+
+[_6]
+Type=3
+Order=10
+Top=0
+Left=10788
+Height=6348
+Width=2232
+State=16
+Flags=00000000
+OptionA=0
+
+[_7]
+Type=2
+Order=9
+Top=6348
+Left=7800
+Height=3588
+Width=5220
+State=16
+Flags=00000000
+OptionA=0
+
+[_8]
+Type=17
+Order=5
+Top=15
+Left=105
+Height=11115
+Width=2235
+State=0
+Flags=00000000
+OptionA=0
+
+[_9]
+Type=15
+Order=3
+Top=5325
+Left=12480
+Height=6345
+Width=9525
+State=0
+Flags=00000000
+OptionA=0
+
+[_32]
+Type=16
+Order=0
+Top=0
+Left=2325
+Height=13395
+Width=9705
+State=0
+Flags=00000030
+Setting=255:17:Snow.c
+OptionA=0
+
+[_33]
+Type=16
+Order=8
+Top=3750
+Left=3870
+Height=10725
+Width=9015
+State=16
+Flags=00000020
+Setting=59:1:..\Matris\SYSCALLS.src
+OptionA=0
diff --git a/Snow.g1w b/Snow.g1w
new file mode 100644
index 0000000..15dff0a
--- /dev/null
+++ b/Snow.g1w
@@ -0,0 +1,16 @@
+[DLSimProject]
+Name=Snow
+Version=1.00.0000
+Model=:fx-9860G.dlm
+SourcePath=SRC
+MemoryPath=INIT
+MemCardPath=SDCard
+
+[Program1]
+Program=SNOW.G1A
+Debug=Debug\FXADDINror.dbg
+LoadAddress=80000000:90100000
+
+[Files]
+SourceFile=:Snow.c
+SourceFile=..\Matris\SYSCALLS.src
diff --git a/Snowfall_1.0.rar b/Snowfall_1.0.rar
new file mode 100644
index 0000000..b07645d
--- /dev/null
+++ b/Snowfall_1.0.rar
Binary files differ
diff --git a/eActivityIcon.bmp b/eActivityIcon.bmp
new file mode 100644
index 0000000..104a2c6
--- /dev/null
+++ b/eActivityIcon.bmp
Binary files differ