diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-06-12 20:08:57 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-06-12 20:08:57 +0200 |
| commit | ba07c2bc98fdba991b6d6444d57f0f897cf5959f (patch) | |
| tree | 6ff34bf1bf181a6eebcd59bbeba2ad05ffe4408b /Debug | |
| parent | 847d1a917f6cb17493c66398ce4ce53b89d8c438 (diff) | |
| download | fx-matris-master.tar.gz fx-matris-master.zip | |
Diffstat (limited to 'Debug')
| -rw-r--r-- | Debug/Addin.mak | 181 | ||||
| -rw-r--r-- | Debug/Drawing.lst | 71 | ||||
| -rw-r--r-- | Debug/FXADDINror.abs | bin | 0 -> 43564 bytes | |||
| -rw-r--r-- | Debug/FXADDINror.bin | bin | 0 -> 29464 bytes | |||
| -rw-r--r-- | Debug/FXADDINror.dbg | bin | 0 -> 34776 bytes | |||
| -rw-r--r-- | Debug/FXADDINror.fsy | 293 | ||||
| -rw-r--r-- | Debug/FXADDINror.map | 1025 | ||||
| -rw-r--r-- | Debug/FuckinRev.lst | 71 | ||||
| -rw-r--r-- | Debug/Matris.lst | 3305 | ||||
| -rw-r--r-- | Debug/Matris.obj | bin | 0 -> 32692 bytes | |||
| -rw-r--r-- | Debug/SYSCALLS.obj | bin | 0 -> 6136 bytes | |||
| -rw-r--r-- | Debug/draw.lst | 5879 | ||||
| -rw-r--r-- | Debug/draw.obj | bin | 0 -> 26328 bytes | |||
| -rw-r--r-- | Debug/global.lst | 203 | ||||
| -rw-r--r-- | Debug/global.obj | bin | 0 -> 3456 bytes | |||
| -rw-r--r-- | Debug/key.lst | 335 | ||||
| -rw-r--r-- | Debug/key.obj | bin | 0 -> 4472 bytes |
17 files changed, 11363 insertions, 0 deletions
diff --git a/Debug/Addin.mak b/Debug/Addin.mak new file mode 100644 index 0000000..a768016 --- /dev/null +++ b/Debug/Addin.mak @@ -0,0 +1,181 @@ +################################################ +# 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\Matris +OUTDIR = G:\Casio SDK\Projekte\Matris\Debug + +################ +# Main Defines +SH_EXEDIR=$(TCDIR)\bin + +# Hitachi SH C/C++ Compiler02 phase +SHCC02_EXE=shc.exe +SHCC02_DEP="$(OSDIR)\FX\include\fxlib.h" "Sprites.h" "key.h" "draw.h" "global.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=Matris +FILESRC0="$(APPDIR)\$(FILE0).c" +FILEOBJ0="$(OUTDIR)\$(FILE0).obj" +FILE1=SYSCALLS +FILESRC1="$(APPDIR)\$(FILE1).src" +FILEOBJ1="$(OUTDIR)\$(FILE1).obj" +FILE2=key +FILESRC2="$(APPDIR)\$(FILE2).c" +FILEOBJ2="$(OUTDIR)\$(FILE2).obj" +FILE3=draw +FILESRC3="$(APPDIR)\$(FILE3).c" +FILEOBJ3="$(OUTDIR)\$(FILE3).obj" +FILE4=global +FILESRC4="$(APPDIR)\$(FILE4).c" +FILEOBJ4="$(OUTDIR)\$(FILE4).obj" +RFILE=FXADDINror +USERALLOBJ=$(FILEOBJ0) $(FILEOBJ1) $(FILEOBJ2) $(FILEOBJ3) $(FILEOBJ4) + +####################### +# 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" +-speed +-noinline +-chgincpath +-errorpath +$(FILESRC0) +-lang=c +-nologo +-debug +<< + +$(FILEOBJ2) : $(FILESRC2) $(SHCC02_DEP) + "$(SH_EXEDIR)\$(SHCC02_EXE)" -subcommand=<< +-cpu=sh3 +-include="$(OSDIR)\FX\include","$(APPDIR)" +-objectfile=$(FILEOBJ2) +-show=source +-listfile="$(OUTDIR)\$(FILE2).lst" +-speed +-noinline +-chgincpath +-errorpath +$(FILESRC2) +-lang=c +-nologo +-debug +<< + +$(FILEOBJ3) : $(FILESRC3) $(SHCC02_DEP) + "$(SH_EXEDIR)\$(SHCC02_EXE)" -subcommand=<< +-cpu=sh3 +-include="$(OSDIR)\FX\include","$(APPDIR)" +-objectfile=$(FILEOBJ3) +-show=source +-listfile="$(OUTDIR)\$(FILE3).lst" +-speed +-noinline +-chgincpath +-errorpath +$(FILESRC3) +-lang=c +-nologo +-debug +<< + +$(FILEOBJ4) : $(FILESRC4) $(SHCC02_DEP) + "$(SH_EXEDIR)\$(SHCC02_EXE)" -subcommand=<< +-cpu=sh3 +-include="$(OSDIR)\FX\include","$(APPDIR)" +-objectfile=$(FILEOBJ4) +-show=source +-listfile="$(OUTDIR)\$(FILE4).lst" +-speed +-noinline +-chgincpath +-errorpath +$(FILESRC4) +-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/Drawing.lst b/Debug/Drawing.lst new file mode 100644 index 0000000..1edd86a --- /dev/null +++ b/Debug/Drawing.lst @@ -0,0 +1,71 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 22-Aug-2012 10:45:29 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 1
+NUMBER OF WARNINGS: 0
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmkA5DF.tmp
+
diff --git a/Debug/FXADDINror.abs b/Debug/FXADDINror.abs Binary files differnew file mode 100644 index 0000000..bbf4490 --- /dev/null +++ b/Debug/FXADDINror.abs diff --git a/Debug/FXADDINror.bin b/Debug/FXADDINror.bin Binary files differnew file mode 100644 index 0000000..48dd1ad --- /dev/null +++ b/Debug/FXADDINror.bin diff --git a/Debug/FXADDINror.dbg b/Debug/FXADDINror.dbg Binary files differnew file mode 100644 index 0000000..d3096b1 --- /dev/null +++ b/Debug/FXADDINror.dbg diff --git a/Debug/FXADDINror.fsy b/Debug/FXADDINror.fsy new file mode 100644 index 0000000..2e4586f --- /dev/null +++ b/Debug/FXADDINror.fsy @@ -0,0 +1,293 @@ +;HITACHI OPTIMIZING LINKAGE EDITOR GENERATED FILE 2013.04.02
+;fsymbol = P
+
+;SECTION NAME = P
+ .export _APP_EnableRestart
+_APP_EnableRestart: .equ h'00300214
+ .export _kiss
+_kiss: .equ h'00300266
+ .export _seedkiss
+_seedkiss: .equ h'003002c2
+ .export _drawbuffer
+_drawbuffer: .equ h'003002d2
+ .export _RestGray
+_RestGray: .equ h'00300350
+ .export _Disconnect
+_Disconnect: .equ h'0030036e
+ .export _TeacherMode
+_TeacherMode: .equ h'00300380
+ .export _round
+_round: .equ h'00300398
+ .export _clrbuffer
+_clrbuffer: .equ h'003003c2
+ .export _CreateBlock
+_CreateBlock: .equ h'003003ca
+ .export _ResetValues
+_ResetValues: .equ h'00300468
+ .export _Transfer
+_Transfer: .equ h'003005cc
+ .export _receive
+_receive: .equ h'00300732
+ .export _Connect
+_Connect: .equ h'00300768
+ .export _SwapPieces
+_SwapPieces: .equ h'0030082c
+ .export _Rotate
+_Rotate: .equ h'00300888
+ .export _MoveBlock
+_MoveBlock: .equ h'003008be
+ .export _CheckPoints
+_CheckPoints: .equ h'00300968
+ .export _ReadKey
+_ReadKey: .equ h'00300cc0
+ .export _Main
+_Main: .equ h'00300d58
+ .export _CallMain
+_CallMain: .equ h'00300e46
+ .export _ReadMenuKeys
+_ReadMenuKeys: .equ h'00300f26
+ .export _AddIn_main
+_AddIn_main: .equ h'00300f6c
+ .export _AllClr_DD
+_AllClr_DD: .equ h'0030123c
+ .export _PutKey
+_PutKey: .equ h'0030135c
+ .export _App_SYSTEM
+_App_SYSTEM: .equ h'0030143c
+ .export _RTC_GetTicks
+_RTC_GetTicks: .equ h'003011ec
+ .export _PowerOff
+_PowerOff: .equ h'0030133c
+ .export _Serial_BufferedTransmitOneByte
+_Serial_BufferedTransmitOneByte: .equ h'003011ac
+ .export _LongToAsc
+_LongToAsc: .equ h'0030147c
+ .export _Reboot
+_Reboot: .equ h'003012fc
+ .export _App_DYNA
+_App_DYNA: .equ h'0030139c
+ .export _App_EQUA
+_App_EQUA: .equ h'003013ac
+ .export _itoa
+_itoa: .equ h'003012dc
+ .export _Timer_Start
+_Timer_Start: .equ h'003012cc
+ .export _App_LINK
+_App_LINK: .equ h'003013ec
+ .export _PutDisp_DD
+_PutDisp_DD: .equ h'0030121c
+ .export _Serial_ReadOneByte
+_Serial_ReadOneByte: .equ h'0030119c
+ .export _GetMiniGlyph
+_GetMiniGlyph: .equ h'0030149c
+ .export _GlibGetOSVersionInfo
+_GlibGetOSVersionInfo: .equ h'0030146c
+ .export _BCD_SetAsInt
+_BCD_SetAsInt: .equ h'0030145c
+ .export _USB_CaptureDisplay
+_USB_CaptureDisplay: .equ h'0030148c
+ .export _App_FINANCE
+_App_FINANCE: .equ h'003013cc
+ .export _Serial_Close
+_Serial_Close: .equ h'003011cc
+ .export _EditExpression
+_EditExpression: .equ h'003012ec
+ .export _App_RUN_MAT
+_App_RUN_MAT: .equ h'0030141c
+ .export _Timer_Install
+_Timer_Install: .equ h'003012ac
+ .export _RTC_GetTime
+_RTC_GetTime: .equ h'0030132c
+ .export _locate
+_locate: .equ h'0030128c
+ .export _App_PROG
+_App_PROG: .equ h'003013bc
+ .export _Sleep
+_Sleep: .equ h'0030126c
+ .export _App_GRAPH_TABLE
+_App_GRAPH_TABLE: .equ h'003013dc
+ .export _Disp_GetVRAMPtr
+_Disp_GetVRAMPtr: .equ h'0030120c
+ .export _ShapeToDD
+_ShapeToDD: .equ h'0030136c
+ .export _App_CONICS
+_App_CONICS: .equ h'0030138c
+ .export _RTC_SetDateTime
+_RTC_SetDateTime: .equ h'0030130c
+ .export _App_RECUR
+_App_RECUR: .equ h'0030140c
+ .export _Serial_ClearReceiveBuffer
+_Serial_ClearReceiveBuffer: .equ h'003011dc
+ .export _InputString
+_InputString: .equ h'0030137c
+ .export _GetKey
+_GetKey: .equ h'0030127c
+ .export _RTC_Reset
+_RTC_Reset: .equ h'0030131c
+ .export _DrawLineVRAM
+_DrawLineVRAM: .equ h'0030122c
+ .export _Print
+_Print: .equ h'0030129c
+ .export _KBD_PRGM_GetKey
+_KBD_PRGM_GetKey: .equ h'003011fc
+ .export _AllClr_VRAM
+_AllClr_VRAM: .equ h'0030124c
+ .export _App_RUN_STAT
+_App_RUN_STAT: .equ h'0030142c
+ .export _Serial_Open
+_Serial_Open: .equ h'003011bc
+ .export _AllClr_DDVRAM
+_AllClr_DDVRAM: .equ h'0030125c
+ .export _App_MEMORY
+_App_MEMORY: .equ h'003013fc
+ .export _Timer_Uninstall
+_Timer_Uninstall: .equ h'003012bc
+ .export _Serial_WriteByte
+_Serial_WriteByte: .equ h'0030134c
+ .export _InputDateDialog
+_InputDateDialog: .equ h'0030144c
+ .export _OSVersionAsInt
+_OSVersionAsInt: .equ h'003014ac
+ .export _KeyDown
+_KeyDown: .equ h'003014ea
+ .export _pixel
+_pixel: .equ h'003015a8
+ .export _pixelgray
+_pixelgray: .equ h'00301616
+ .export _line
+_line: .equ h'00301680
+ .export _drawChar
+_drawChar: .equ h'0030177e
+ .export _drawString
+_drawString: .equ h'0030180c
+ .export _drawNumber
+_drawNumber: .equ h'00301842
+ .export _fillbox
+_fillbox: .equ h'003018ce
+ .export _normalfillbox
+_normalfillbox: .equ h'0030195c
+ .export _DrawSprite
+_DrawSprite: .equ h'003019da
+ .export _DrawBlock
+_DrawBlock: .equ h'003024fc
+ .export ___LINK_PROTECT
+___LINK_PROTECT: .equ h'00302eac
+ .export _SetQuitHandler
+_SetQuitHandler: .equ h'00302eb0
+ .export _OnAppCloseDefault
+_OnAppCloseDefault: .equ h'00302eb6
+ .export __INITSCT_ADDIN
+__INITSCT_ADDIN: .equ h'00302f0a
+ .export _INIT_ADDIN_APPLICATION
+_INIT_ADDIN_APPLICATION: .equ h'00302f52
+ .export __addd
+__addd: .equ h'00303098
+ .export __subdr
+__subdr: .equ h'00302fe0
+ .export __subd
+__subd: .equ h'00302fc8
+ .export __dtoi
+__dtoi: .equ h'00303358
+ .export __dtou
+__dtou: .equ h'00303358
+ .export __stod
+__stod: .equ h'003033e4
+ .export __divls
+__divls: .equ h'0030346c
+ .export __divlu
+__divlu: .equ h'00303520
+ .export __modls
+__modls: .equ h'003035c8
+ .export __modlu
+__modlu: .equ h'00303690
+ .export _memcpy
+_memcpy: .equ h'00303748
+ .export _memset
+_memset: .equ h'00303808
+ .export _sprintf
+_sprintf: .equ h'00303820
+ .export _Bdel_cychdr
+_Bdel_cychdr: .equ h'0030385c
+ .export _BfileFLS_CloseFile
+_BfileFLS_CloseFile: .equ h'0030386c
+ .export _Bkey_Set_RepeatTime_Default
+_Bkey_Set_RepeatTime_Default: .equ h'0030387c
+ .export _CallbackAtQuitMainFunction
+_CallbackAtQuitMainFunction: .equ h'0030388c
+ .export _flsFindClose
+_flsFindClose: .equ h'0030389c
+ .export _free
+_free: .equ h'003038ac
+ .export _GLibAddinAplExecutionCheck
+_GLibAddinAplExecutionCheck: .equ h'003038bc
+ .export _Hmem_SetMMU
+_Hmem_SetMMU: .equ h'003038cc
+ .export _malloc
+_malloc: .equ h'003038dc
+ .export _PopUpWin
+_PopUpWin: .equ h'003038ec
+ .export _PrintC
+_PrintC: .equ h'003038fc
+ .export __fmtout
+__fmtout: .equ h'0030390c
+ .export __eqd
+__eqd: .equ h'003049f8
+ .export __its
+__its: .equ h'00304a8c
+ .export __xti
+__xti: .equ h'00304bbc
+ .export _strlen
+_strlen: .equ h'00304e4c
+ .export __allzero
+__allzero: .equ h'00304e5c
+ .export __calcnpw
+__calcnpw: .equ h'00304e7c
+ .export __log10
+__log10: .equ h'00304f7c
+ .export __lsfts
+__lsfts: .equ h'00305244
+ .export __pow5
+__pow5: .equ h'00305290
+ .export __rsfts
+__rsfts: .equ h'003052b4
+ .export __sub
+__sub: .equ h'0030530c
+ .export __umemcmp
+__umemcmp: .equ h'003053a0
+ .export __unpack
+__unpack: .equ h'003053d4
+ .export _memcmp
+_memcmp: .equ h'00305470
+ .export __itod
+__itod: .equ h'003054a4
+ .export __ltd
+__ltd: .equ h'003054f8
+ .export __muld
+__muld: .equ h'00305644
+ .export __ned
+__ned: .equ h'003057b4
+ .export __divws
+__divws: .equ h'00305848
+ .export __div64
+__div64: .equ h'00305898
+ .export __duchek
+__duchek: .equ h'00305a2c
+ .export __lsft
+__lsft: .equ h'00305a5c
+ .export __mult64
+__mult64: .equ h'00305aa4
+ .export __power
+__power: .equ h'00305b14
+ .export __rnd
+__rnd: .equ h'00305c68
+ .export __setsbit
+__setsbit: .equ h'00305d54
+ .export __add
+__add: .equ h'00305dd8
+ .export __mult
+__mult: .equ h'00305e34
+ .export __pow10
+__pow10: .equ h'00305f10
+ .export __rsft
+__rsft: .equ h'00305fa8
+ .end
diff --git a/Debug/FXADDINror.map b/Debug/FXADDINror.map new file mode 100644 index 0000000..bda7a9f --- /dev/null +++ b/Debug/FXADDINror.map @@ -0,0 +1,1025 @@ +Hitachi Optimizing Linkage Editor (Ver. 7.1.03.000)02-Apr-2013 12:26:14
+
+*** Options ***
+
+-subcommand=C:\Users\Timo\AppData\Local\Temp\hmk4DF6.tmp
+noprelink
+sdebug
+rom D=R
+nomessage
+list "G:\Casio SDK\Projekte\Matris\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\Matris\Debug\Matris.obj" "G:\Casio SDK\Projekte\Matris\Debug\SYSCALLS.obj" "G:\Casio SDK\Projekte\Matris\Debug\key.obj" "G:\Casio SDK\Projekte\Matris\Debug\draw.obj" "G:\Casio SDK\Projekte\Matris\Debug\global.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\Matris\Debug\FXADDINror.abs"
+-nomessage=1100
+end
+
+*** Error information ***
+
+*** Mapping List ***
+
+SECTION START END SIZE ALIGN
+
+P_TOP
+ 00300200 00300213 14 4
+P
+ 00300214 00305ff1 5dde 4
+C
+ 00305ff4 0030638b 398 4
+D
+ 0030638c 00307517 118c 4
+B_BR_Size
+ 08100000 08100003 4 4
+B
+ 08100004 08100023 20 4
+R
+ 08100024 081011af 118c 4
+
+*** Symbol List ***
+
+SECTION=
+FILE= START END SIZE
+ SYMBOL ADDR SIZE INFO COUNTS OPT
+
+SECTION=P_TOP
+FILE=G:\Casio SDK\Projekte\Matris\Debug\Matris.obj
+ 00300200 00300213 14
+ _InitializeSystem
+ 00300200 14 func ,g *
+
+SECTION=P
+FILE=G:\Casio SDK\Projekte\Matris\Debug\Matris.obj
+ 00300214 0030119b f88
+ _APP_EnableRestart
+ 00300214 52 func ,g *
+ _kiss
+ 00300266 5c func ,g *
+ _seedkiss
+ 003002c2 10 func ,g *
+ _drawbuffer
+ 003002d2 7e func ,g *
+ _RestGray
+ 00300350 1e func ,g *
+ _Disconnect
+ 0030036e 12 func ,g *
+ _TeacherMode
+ 00300380 18 func ,g *
+ _round
+ 00300398 2a func ,g *
+ _clrbuffer
+ 003003c2 8 func ,g *
+ _CreateBlock
+ 003003ca 9e func ,g *
+ _ResetValues
+ 00300468 164 func ,g *
+ _Transfer
+ 003005cc 166 func ,g *
+ _receive
+ 00300732 36 func ,g *
+ _Connect
+ 00300768 c4 func ,g *
+ _SwapPieces
+ 0030082c 5c func ,g *
+ _Rotate
+ 00300888 36 func ,g *
+ _MoveBlock
+ 003008be aa func ,g *
+ _CheckPoints
+ 00300968 358 func ,g *
+ _ReadKey
+ 00300cc0 98 func ,g *
+ _Main
+ 00300d58 ee func ,g *
+ _CallMain
+ 00300e46 e0 func ,g *
+ _ReadMenuKeys
+ 00300f26 46 func ,g *
+ _AddIn_main
+ 00300f6c 230 func ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\SYSCALLS.obj
+ 0030119c 003014ab 310
+ _Serial_ReadOneByte
+ 0030119c 0 none ,g *
+ _Serial_BufferedTransmitOneByte
+ 003011ac 0 none ,g *
+ _Serial_Open
+ 003011bc 0 none ,g *
+ _Serial_Close
+ 003011cc 0 none ,g *
+ _Serial_ClearReceiveBuffer
+ 003011dc 0 none ,g *
+ _RTC_GetTicks
+ 003011ec 0 none ,g *
+ _KBD_PRGM_GetKey
+ 003011fc 0 none ,g *
+ _Disp_GetVRAMPtr
+ 0030120c 0 none ,g *
+ _PutDisp_DD
+ 0030121c 0 none ,g *
+ _DrawLineVRAM
+ 0030122c 0 none ,g *
+ _AllClr_DD
+ 0030123c 0 none ,g *
+ _AllClr_VRAM
+ 0030124c 0 none ,g *
+ _AllClr_DDVRAM
+ 0030125c 0 none ,g *
+ _Sleep
+ 0030126c 0 none ,g *
+ _GetKey
+ 0030127c 0 none ,g *
+ _locate
+ 0030128c 0 none ,g *
+ _Print
+ 0030129c 0 none ,g *
+ _Timer_Install
+ 003012ac 0 none ,g *
+ _Timer_Uninstall
+ 003012bc 0 none ,g *
+ _Timer_Start
+ 003012cc 0 none ,g *
+ _itoa
+ 003012dc 0 none ,g *
+ _EditExpression
+ 003012ec 0 none ,g *
+ _Reboot
+ 003012fc 0 none ,g *
+ _RTC_SetDateTime
+ 0030130c 0 none ,g *
+ _RTC_Reset
+ 0030131c 0 none ,g *
+ _RTC_GetTime
+ 0030132c 0 none ,g *
+ _PowerOff
+ 0030133c 0 none ,g *
+ _Serial_WriteByte
+ 0030134c 0 none ,g *
+ _PutKey
+ 0030135c 0 none ,g *
+ _ShapeToDD
+ 0030136c 0 none ,g *
+ _InputString
+ 0030137c 0 none ,g *
+ _App_CONICS
+ 0030138c 0 none ,g *
+ _App_DYNA
+ 0030139c 0 none ,g *
+ _App_EQUA
+ 003013ac 0 none ,g *
+ _App_PROG
+ 003013bc 0 none ,g *
+ _App_FINANCE
+ 003013cc 0 none ,g *
+ _App_GRAPH_TABLE
+ 003013dc 0 none ,g *
+ _App_LINK
+ 003013ec 0 none ,g *
+ _App_MEMORY
+ 003013fc 0 none ,g *
+ _App_RECUR
+ 0030140c 0 none ,g *
+ _App_RUN_MAT
+ 0030141c 0 none ,g *
+ _App_RUN_STAT
+ 0030142c 0 none ,g *
+ _App_SYSTEM
+ 0030143c 0 none ,g *
+ _InputDateDialog
+ 0030144c 0 none ,g *
+ _BCD_SetAsInt
+ 0030145c 0 none ,g *
+ _GlibGetOSVersionInfo
+ 0030146c 0 none ,g *
+ _LongToAsc
+ 0030147c 0 none ,g *
+ _USB_CaptureDisplay
+ 0030148c 0 none ,g *
+ _GetMiniGlyph
+ 0030149c 0 none ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\key.obj
+ 003014ac 003015a7 fc
+ _OSVersionAsInt
+ 003014ac 3e func ,g *
+ _KeyDown
+ 003014ea be func ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\draw.obj
+ 003015a8 00302eab 1904
+ _pixel
+ 003015a8 6e func ,g *
+ _pixelgray
+ 00301616 6a func ,g *
+ _line
+ 00301680 fe func ,g *
+ _drawChar
+ 0030177e 8e func ,g *
+ _drawString
+ 0030180c 36 func ,g *
+ _drawNumber
+ 00301842 8c func ,g *
+ _fillbox
+ 003018ce 8e func ,g *
+ _normalfillbox
+ 0030195c 7e func ,g *
+ _DrawSprite
+ 003019da b22 func ,g *
+ _DrawBlock
+ 003024fc 9b0 func ,g *
+FILE=G:\Casio SDK\OS\FX\lib\setup.obj
+ 00302eac 00302fc7 11c
+ ___LINK_PROTECT
+ 00302eac 4 func ,g *
+ _SetQuitHandler
+ 00302eb0 6 func ,g *
+ _OnAppCloseDefault
+ 00302eb6 54 func ,g *
+ __INITSCT_ADDIN
+ 00302f0a 48 func ,g *
+ _INIT_ADDIN_APPLICATION
+ 00302f52 76 func ,g *
+FILE=r_addd
+ 00302fc8 00303357 390
+ __subd
+ 00302fc8 0 none ,g *
+ __subdr
+ 00302fe0 0 none ,g *
+ exception1
+ 00302ff8 0 none ,l *
+ return_NaN
+ 0030300c 0 none ,l *
+ return_inf
+ 00303014 0 none ,l *
+ exception2
+ 00303018 0 none ,l *
+ p2_denorm_check
+ 0030302c 0 none ,l *
+ p1_denorm
+ 00303038 0 none ,l *
+ return_p2
+ 00303044 0 none ,l *
+ return_p1
+ 0030304c 0 none ,l *
+ p1_normalize
+ 0030305a 0 none ,l *
+ p1_norm_loop
+ 00303064 0 none ,l *
+ end_p1_norm
+ 0030306e 0 none ,l *
+ p2_normalize
+ 0030306e 0 none ,l *
+ p2_norm_loop
+ 00303078 0 none ,l *
+ end_p2_norm
+ 00303082 0 none ,l *
+ swap_end
+ 0030308a 0 none ,l *
+ return_zero
+ 0030308e 0 none ,l *
+ __addd
+ 00303098 0 none ,g *
+ sub_in
+ 003030aa 0 none ,l *
+ rotation
+ 003030ca 0 none ,l *
+ exception_return
+ 003030f6 0 none ,l *
+ sftr1
+ 00303138 0 none ,l *
+ e_sftr31
+ 0030313c 0 none ,l *
+ e_sftr55
+ 00303162 0 none ,l *
+ sftr_loop
+ 00303168 0 none ,l *
+ end_sftr
+ 00303170 0 none ,l *
+ mantissa_sub
+ 00303194 0 none ,l *
+ man_sub1
+ 0030319c 0 none ,l *
+ normalize
+ 003031aa 0 none ,l *
+ norm32_end
+ 003031b4 0 none ,l *
+ norm16_end
+ 003031c4 0 none ,l *
+ over_norm
+ 003031ca 0 none ,l *
+ overnorm_end
+ 003031f6 0 none ,l *
+ norm_loop
+ 003031fc 0 none ,l *
+ end_calc
+ 00303224 0 none ,l *
+ end_norm
+ 00303224 0 none ,l *
+ denormalize_loop
+ 0030322c 0 none ,l *
+ round
+ 00303234 0 none ,l *
+ end_denormal
+ 00303234 0 none ,l *
+ round_carry
+ 0030324c 0 none ,l *
+ end_round
+ 00303252 0 none ,l *
+ return_value
+ 00303252 0 none ,l *
+ return
+ 00303270 0 none ,l *
+ plus_zero
+ 00303290 0 none ,l *
+ swap
+ 0030329a 0 none ,l *
+ EXP_INF
+ 003032b4 0 none ,l *
+ MMASK
+ 003032b8 0 none ,l *
+ MSB
+ 003032bc 0 none ,l *
+ LOWMASK
+ 003032c0 0 none ,l *
+ CARRY_CHECK
+ 003032c4 0 none ,l *
+ NORMAL
+ 003032c8 0 none ,l *
+ SIGN
+ 003032cc 0 none ,l *
+ HALF
+ 003032d0 0 none ,l *
+ sftrtbl
+ 003032d4 0 none ,l *
+FILE=r_dtoi
+ 00303358 003033e3 8c
+ __dtou
+ 00303358 0 none ,g *
+ __dtoi
+ 00303358 0 none ,g *
+ loop_sftl
+ 00303398 0 none ,l *
+ shift_low
+ 003033a2 0 none ,l *
+ shift_low1
+ 003033aa 0 none ,l *
+ shift_r
+ 003033b4 0 none ,l *
+ shift_r1
+ 003033b6 0 none ,l *
+ end_shift
+ 003033bc 0 none ,l *
+ return
+ 003033c2 0 none ,l *
+ end_nagate
+ 003033c2 0 none ,l *
+ return_zero
+ 003033d0 0 none ,l *
+ EXP_INF
+ 003033d4 0 none ,l *
+ MMASK
+ 003033d8 0 none ,l *
+ MSB
+ 003033dc 0 none ,l *
+ BIAS
+ 003033e0 0 none ,l *
+FILE=r_stod
+ 003033e4 0030346b 88
+ __stod
+ 003033e4 0 none ,g *
+ exception_return
+ 00303402 0 none ,l *
+ pack
+ 00303406 0 none ,l *
+ return
+ 00303422 0 none ,l *
+ exception1
+ 00303432 0 none ,l *
+ return_NaN
+ 0030343c 0 none ,l *
+ exception2
+ 00303442 0 none ,l *
+ p1_norm_loop
+ 0030344a 0 none ,l *
+ end_p1_norm
+ 00303450 0 none ,l *
+ return_zero
+ 00303454 0 none ,l *
+ EXP_INF
+ 00303458 0 none ,l *
+ MMASK
+ 0030345c 0 none ,l *
+ RET_INF
+ 00303460 0 none ,l *
+ NAN
+ 00303464 0 none ,l *
+ DEF_BIAS
+ 00303468 0 none ,l *
+FILE=__divls
+ 0030346c 0030351f b4
+ __divls
+ 0030346c 0 none ,g *
+ divls_zero
+ 0030350a 0 none ,l *
+ A_errno
+ 00303518 0 none ,l *
+ n_zerono
+ 0030351c 0 none ,l *
+FILE=__divlu
+ 00303520 003035c7 a8
+ __divlu
+ 00303520 0 none ,g *
+ divlu_zero
+ 003035b2 0 none ,l *
+ A_errno
+ 003035c0 0 none ,l *
+ n_zerono
+ 003035c4 0 none ,l *
+FILE=__modls
+ 003035c8 0030368f c8
+ __modls
+ 003035c8 0 none ,g *
+ modls_L
+ 0030366e 0 none ,l *
+ modls_zero
+ 0030367a 0 none ,l *
+ A_errno
+ 00303688 0 none ,l *
+ n_zerono
+ 0030368c 0 none ,l *
+FILE=__modlu
+ 00303690 00303747 b8
+ __modlu
+ 00303690 0 none ,g *
+ modlu_L
+ 00303728 0 none ,l *
+ modlu_zero
+ 00303730 0 none ,l *
+ A_errno
+ 00303740 0 none ,l *
+ n_zerono
+ 00303744 0 none ,l *
+FILE=memcpy
+ 00303748 00303805 be
+ _memcpy
+ 00303748 be func ,g *
+FILE=memset
+ 00303808 0030381f 18
+ _memset
+ 00303808 18 func ,g *
+FILE=sprintf
+ 00303820 0030385b 3c
+ _sprintf
+ 00303820 3c func ,g *
+FILE=_Bdel_cychdr
+ 0030385c 0030386b 10
+ _Bdel_cychdr
+ 0030385c 0 none ,g *
+FILE=_BfileFLS_CloseFile
+ 0030386c 0030387b 10
+ _BfileFLS_CloseFile
+ 0030386c 0 none ,g *
+FILE=_Bkey_Set_RepeatTime_Default
+ 0030387c 0030388b 10
+ _Bkey_Set_RepeatTime_Default
+ 0030387c 0 none ,g *
+FILE=_CallbackAtQuitMainFunction
+ 0030388c 0030389b 10
+ _CallbackAtQuitMainFunction
+ 0030388c 0 none ,g *
+FILE=_flsFindClose
+ 0030389c 003038ab 10
+ _flsFindClose
+ 0030389c 0 none ,g *
+FILE=_free
+ 003038ac 003038bb 10
+ _free
+ 003038ac 0 none ,g *
+FILE=_GLibAddinAplExecutionCheck
+ 003038bc 003038cb 10
+ _GLibAddinAplExecutionCheck
+ 003038bc 0 none ,g *
+FILE=_Hmem_SetMMU
+ 003038cc 003038db 10
+ _Hmem_SetMMU
+ 003038cc 0 none ,g *
+FILE=_malloc
+ 003038dc 003038eb 10
+ _malloc
+ 003038dc 0 none ,g *
+FILE=_PopUpWin
+ 003038ec 003038fb 10
+ _PopUpWin
+ 003038ec 0 none ,g *
+FILE=_PrintC
+ 003038fc 0030390b 10
+ _PrintC
+ 003038fc 0 none ,g *
+FILE=_fmtout
+ 0030390c 003049f7 10ec
+ __fmtout
+ 0030390c 768 func ,g *
+ __ltostr
+ 00304074 20a func ,l *
+ __xtostr
+ 0030427e 68e func ,l *
+ __round
+ 0030490c 60 func ,l *
+ __putstr
+ 0030496c 58 func ,l *
+ __putnull
+ 003049c4 10 func ,l *
+ __puterr
+ 003049d4 24 func ,l *
+FILE=r_eqd
+ 003049f8 00304a8b 94
+ __eqd
+ 003049f8 0 none ,g *
+ exception_return1
+ 00304a2a 0 none ,l *
+ exception_return2
+ 00304a2e 0 none ,l *
+ exception_return3
+ 00304a32 0 none ,l *
+ false
+ 00304a3e 0 none ,l *
+ return
+ 00304a40 0 none ,l *
+ exception1
+ 00304a54 0 none ,l *
+ exception2
+ 00304a60 0 none ,l *
+ exception3
+ 00304a6c 0 none ,l *
+ EXP_INF
+ 00304a84 0 none ,l *
+ MMASK
+ 00304a88 0 none ,l *
+FILE=_its
+ 00304a8c 00304bbb 130
+ __its
+ 00304a8c 130 func ,g *
+FILE=_xti
+ 00304bbc 00304e4b 290
+ __xti
+ 00304bbc 290 func ,g *
+ _la$264
+ 00304d94 0 none ,l *
+FILE=strlen
+ 00304e4c 00304e5b 10
+ _strlen
+ 00304e4c 10 func ,g *
+FILE=_allzero
+ 00304e5c 00304e79 1e
+ __allzero
+ 00304e5c 1e func ,g *
+FILE=_calcnpw
+ 00304e7c 00304f7b 100
+ __calcnpw
+ 00304e7c 100 func ,g *
+FILE=_log10
+ 00304f7c 00305243 2c8
+ __log10
+ 00304f7c 62 func ,g *
+ _frexp
+ 00304fde 12e func ,l *
+ _modf
+ 0030510c 138 func ,l *
+FILE=_lsfts
+ 00305244 0030528f 4c
+ __lsfts
+ 00305244 4c func ,g *
+FILE=_pow5
+ 00305290 003052b3 24
+ __pow5
+ 00305290 24 func ,g *
+FILE=_rsfts
+ 003052b4 00305309 56
+ __rsfts
+ 003052b4 56 func ,g *
+FILE=_sub
+ 0030530c 0030539f 94
+ __sub
+ 0030530c 94 func ,g *
+FILE=_umemcmp
+ 003053a0 003053d3 34
+ __umemcmp
+ 003053a0 34 func ,g *
+FILE=_unpack
+ 003053d4 0030546f 9c
+ __unpack
+ 003053d4 9c func ,g *
+FILE=memcmp
+ 00305470 003054a3 34
+ _memcmp
+ 00305470 34 func ,g *
+FILE=r_itod
+ 003054a4 003054f7 54
+ __itod
+ 003054a4 0 none ,g *
+ end_negate
+ 003054b8 0 none ,l *
+ sftl_loop
+ 003054ba 0 none ,l *
+ return
+ 003054dc 0 none ,l *
+ return_zero
+ 003054ec 0 none ,l *
+ EXP_32
+ 003054f4 0 none ,l *
+FILE=r_ltd
+ 003054f8 0030559f a8
+ __ltd
+ 003054f8 0 none ,g *
+ exception_return1
+ 0030552a 0 none ,l *
+ exception_return2
+ 0030552e 0 none ,l *
+ exception_return3
+ 00305532 0 none ,l *
+ minus
+ 00305544 0 none ,l *
+ sign_def
+ 0030554c 0 none ,l *
+ return
+ 00305550 0 none ,l *
+ exception1
+ 00305564 0 none ,l *
+ exception2
+ 00305570 0 none ,l *
+ exception3
+ 0030557c 0 none ,l *
+ false
+ 00305594 0 none ,l *
+ EXP_INF
+ 00305598 0 none ,l *
+ MMASK
+ 0030559c 0 none ,l *
+FILE=r_muld
+ 003055a0 003057b3 214
+ exception1
+ 003055a0 0 none ,l *
+ parm2_NaN_check
+ 003055bc 0 none ,l *
+ exception2
+ 003055c8 0 none ,l *
+ exception3
+ 003055e0 0 none ,l *
+ ex3
+ 003055ec 0 none ,l *
+ p1_norm_loop
+ 003055f6 0 none ,l *
+ end_p1_norm
+ 00305600 0 none ,l *
+ exception4
+ 00305604 0 none ,l *
+ ex4
+ 00305610 0 none ,l *
+ p2_norm_loop
+ 0030561a 0 none ,l *
+ end_p2_norm
+ 00305624 0 none ,l *
+ return_zero
+ 00305628 0 none ,l *
+ return_inf
+ 00305632 0 none ,l *
+ return_NaN
+ 0030563a 0 none ,l *
+ __muld
+ 00305644 0 none ,g *
+ exception_return3
+ 0030569a 0 none ,l *
+ exception_return4
+ 0030569e 0 none ,l *
+ mul_man1
+ 003056e0 0 none ,l *
+ end_normalize
+ 00305704 0 none ,l *
+ end_sticky
+ 0030570a 0 none ,l *
+ denormalize_loop
+ 00305712 0 none ,l *
+ round_denormal
+ 0030571e 0 none ,l *
+ end_round_d
+ 00305734 0 none ,l *
+ end_denormal
+ 00305738 0 none ,l *
+ round_carry
+ 0030574a 0 none ,l *
+ end_round
+ 00305750 0 none ,l *
+ return_value
+ 00305750 0 none ,l *
+ return
+ 0030576e 0 none ,l *
+ EXP_INF
+ 0030579c 0 none ,l *
+ MMASK
+ 003057a0 0 none ,l *
+ MSB
+ 003057a4 0 none ,l *
+ CARRY_CHECK
+ 003057a8 0 none ,l *
+ BIAS
+ 003057ac 0 none ,l *
+ DEN_CARRY
+ 003057b0 0 none ,l *
+FILE=r_ned
+ 003057b4 00305847 94
+ __ned
+ 003057b4 0 none ,g *
+ exception_return1
+ 003057e6 0 none ,l *
+ exception_return2
+ 003057ea 0 none ,l *
+ exception_return3
+ 003057ee 0 none ,l *
+ true
+ 003057fa 0 none ,l *
+ return
+ 003057fc 0 none ,l *
+ exception1
+ 00305810 0 none ,l *
+ exception2
+ 0030581c 0 none ,l *
+ exception3
+ 00305828 0 none ,l *
+ EXP_INF
+ 00305840 0 none ,l *
+ MMASK
+ 00305844 0 none ,l *
+FILE=__divws
+ 00305848 00305897 50
+ __divws
+ 00305848 0 none ,g *
+ divws_zero
+ 00305886 0 none ,l *
+ A_errno
+ 00305890 0 none ,l *
+ n_zerono
+ 00305894 0 none ,l *
+FILE=_div64
+ 00305898 00305a2b 194
+ __div64
+ 00305898 194 func ,g *
+FILE=_duchek
+ 00305a2c 00305a5b 30
+ __duchek
+ 00305a2c 30 func ,g *
+FILE=_lsft
+ 00305a5c 00305aa1 46
+ __lsft
+ 00305a5c 46 func ,g *
+FILE=_mult64
+ 00305aa4 00305b13 70
+ __mult64
+ 00305aa4 70 func ,g *
+FILE=_power
+ 00305b14 00305c67 154
+ __power
+ 00305b14 154 func ,g *
+FILE=_rnd
+ 00305c68 00305d53 ec
+ __rnd
+ 00305c68 ec func ,g *
+FILE=_setsbit
+ 00305d54 00305dd7 84
+ __setsbit
+ 00305d54 84 func ,g *
+FILE=_add
+ 00305dd8 00305e33 5c
+ __add
+ 00305dd8 5c func ,g *
+FILE=_mult
+ 00305e34 00305f0f dc
+ __mult
+ 00305e34 dc func ,g *
+FILE=_pow10
+ 00305f10 00305fa7 98
+ __pow10
+ 00305f10 98 func ,g *
+FILE=_rsft
+ 00305fa8 00305ff1 4a
+ __rsft
+ 00305fa8 4a func ,g *
+
+SECTION=C
+FILE=addin_sct
+ 00306070 00306083 14
+ _B_BGN
+ 00306070 0 none ,g *
+ _B_END
+ 00306074 0 none ,g *
+ _R_BGN
+ 00306078 0 none ,g *
+ _R_END
+ 0030607c 0 none ,g *
+ _D_ROM
+ 00306080 0 none ,g *
+FILE=_ctype
+ 00306084 00306183 100
+ __ctype
+ 00306084 100 data ,g *
+FILE=_its
+ 00306184 0030620b 88
+ _table$246
+ 00306184 88 data ,l *
+FILE=_pow5
+ 0030620c 003062eb e0
+ _w$238
+ 0030620c e0 data ,l *
+FILE=_power
+ 003062ec 0030638b a0
+ _conmnts$251
+ 003062ec 80 data ,l *
+ _conexp$252
+ 0030636c 20 data ,l *
+
+SECTION=B_BR_Size
+FILE=G:\Casio SDK\Projekte\Matris\Debug\Matris.obj
+ 08100000 08100003 4
+ _BR_Size
+ 08100000 4 data ,g *
+
+SECTION=B
+FILE=G:\Casio SDK\Projekte\Matris\Debug\Matris.obj
+ 08100004 08100007 4
+ _swit
+ 08100004 1 data ,g *
+ _ready
+ 08100005 1 data ,g *
+ _canswap
+ 08100006 1 data ,g *
+ _connected
+ 08100007 1 data ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\key.obj
+ 08100008 08100017 10
+ _key
+ 08100008 10 data ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\global.obj
+ 08100018 0810001e 7
+ _pScreen
+ 08100018 4 data ,g *
+ _block
+ 0810001c 1 data ,g *
+ _dir
+ 0810001d 1 data ,g *
+ _level
+ 0810001e 1 data ,g *
+FILE=_errno
+ 08100020 08100023 4
+ __errno
+ 08100020 4 data ,g *
+
+SECTION=R
+FILE=G:\Casio SDK\Projekte\Matris\Debug\Matris.obj
+ 08100024 0810003c 19
+ _seed
+ 08100024 4 data ,l *
+ _y$306
+ 08100028 4 data ,l *
+ _z$307
+ 0810002c 4 data ,l *
+ _c$308
+ 08100030 4 data ,l *
+ _pause
+ 08100034 1 data ,g *
+ _quit
+ 08100035 1 data ,g *
+ _levelchanged
+ 08100036 1 data ,g *
+ _exit
+ 08100037 1 data ,g *
+ _onoff
+ 08100038 1 data ,g *
+ _slowyposdown
+ 08100039 1 data ,g *
+ _receiveline
+ 0810003a 1 data ,g *
+ _sendline
+ 0810003b 1 data ,g *
+ _cantrans
+ 0810003c 1 data ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\key.obj
+ 08100040 08100043 4
+ _keyboardregister
+ 08100040 4 data ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\draw.obj
+ 08100044 08100fff fbc
+ _numbers
+ 08100044 258 data ,g *
+ _character
+ 0810029c 618 data ,g *
+ _blockO
+ 081008b4 c0 data ,g *
+ _blockJ
+ 08100974 90 data ,g *
+ _blockT
+ 08100a04 90 data ,g *
+ _blockL
+ 08100a94 90 data ,g *
+ _blockI
+ 08100b24 100 data ,g *
+ _blockZ
+ 08100c24 90 data ,g *
+ _blockS
+ 08100cb4 90 data ,g *
+ _spritesheed
+ 08100d44 2bc data ,g *
+FILE=G:\Casio SDK\Projekte\Matris\Debug\global.obj
+ 08101000 081011aa 1ab
+ _right
+ 08101000 1 data ,g *
+ _left
+ 08101001 1 data ,g *
+ _changemap
+ 08101002 d2 data ,g *
+ _globalmap
+ 081010d4 c8 data ,g *
+ _xpos
+ 0810119c 4 data ,g *
+ _ypos
+ 081011a0 4 data ,g *
+ _points
+ 081011a4 4 data ,g *
+ _nextdir
+ 081011a8 1 data ,g *
+ _nextblock
+ 081011a9 1 data ,g *
+ _hold
+ 081011aa 1 data ,g *
+FILE=G:\Casio SDK\OS\FX\lib\setup.obj
+ 081011ac 081011af 4
+ _gb_OnAppClose
+ 081011ac 4 data ,g *
+
+Absolute value symbols
+FILE=__divls
+ zerodiv
+ 0000044e 0 none ,l *
+FILE=__divlu
+ zerodiv
+ 0000044e 0 none ,l *
+FILE=__modls
+ zerodiv
+ 0000044e 0 none ,l *
+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=_free
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_GLibAddinAplExecutionCheck
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_Hmem_SetMMU
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_malloc
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_PopUpWin
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=_PrintC
+ __JumpTableTOP
+ 80010070 0 none ,l *
+FILE=__divws
+ zerodiv
+ 0000044e 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/FuckinRev.lst b/Debug/FuckinRev.lst new file mode 100644 index 0000000..18d22eb --- /dev/null +++ b/Debug/FuckinRev.lst @@ -0,0 +1,71 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 12-Sep-2012 17:47:33 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 1
+NUMBER OF WARNINGS: 0
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 1247
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk9D48.tmp
+
diff --git a/Debug/Matris.lst b/Debug/Matris.lst new file mode 100644 index 0000000..7883b00 --- /dev/null +++ b/Debug/Matris.lst @@ -0,0 +1,3305 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Matris\Matris.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 1 /*Matris by Casimo is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
+ +License.
+ Matris.c 2 see here: http://creativecommons.org/licenses/by-nc-sa/3.0/
+ Matris.c 3 */
+ Matris.c 4 #include "stdio.h"
+ Matris.c 5 #include "key.h"
+ Matris.c 6 #include "draw.h"
+ Matris.c 7 #include "global.h"
+ Matris.c 8
+ Matris.c 9 short*APP_EnableRestart()
+P 00000000 _APP_EnableRestart: ; function: APP_EnableRestart
+ ; frame size=0
+ Matris.c 10 {
+ Matris.c 11 unsigned int ea;
+ Matris.c 12 unsigned int j;
+ Matris.c 13 short*pEnableRestartFlag;
+ Matris.c 14 ea = *(unsigned int*)0x8001007C;
+ 00000000 D541 MOV.L L685+4,R5 ; H'8001007C
+ 00000002 6452 MOV.L @R5,R4
+ Matris.c 15 ea += 0x0490*4;
+ 00000004 937E MOV.W L685,R3 ; H'1240
+ 00000006 343C ADD R3,R4
+ Matris.c 16 if ( ea < 0x8001007C ) return 0;
+ 00000008 3452 CMP/HS R5,R4
+ 0000000A 8B19 BF L673
+ Matris.c 17 if ( ea > 0x81000000 ) return 0;
+ 0000000C D73F MOV.L L685+8,R7 ; H'81000000
+ 0000000E 3476 CMP/HI R7,R4
+ 00000010 8916 BT L673
+ Matris.c 18 ea = *(unsigned int*)( ea );
+ 00000012 6442 MOV.L @R4,R4
+ Matris.c 19 if ( ea < 0x8001007C ) return 0;
+ 00000014 3452 CMP/HS R5,R4
+ 00000016 8B13 BF L673
+ Matris.c 20 if ( ea > 0x81000000 ) return 0;
+ 00000018 3476 CMP/HI R7,R4
+ 0000001A 8911 BT L673
+ Matris.c 21 j = *(unsigned char*)( ea + 1 );
+ 0000001C 8441 MOV.B @(1,R4),R0
+ Matris.c 22 j *= 4;
+ Matris.c 23 ea = ( ea + j + 4 ) & 0xFFFFFFFC;
+ 0000001E E3FC MOV #-4,R3
+ 00000020 660C EXTU.B R0,R6
+ 00000022 4608 SHLL2 R6
+ 00000024 346C ADD R6,R4
+ 00000026 7404 ADD #4,R4
+ 00000028 2439 AND R3,R4
+ Matris.c 24 if ( ea < 0x8001007C ) return 0;
+ 0000002A 3452 CMP/HS R5,R4
+ 0000002C 8B08 BF L673
+ Matris.c 25 if ( ea > 0x81000000 ) return 0;
+ 0000002E 3476 CMP/HI R7,R4
+ 00000030 8906 BT L673
+ Matris.c 26 pEnableRestartFlag = (short*)(*( unsigned int*)( ea ) + 8 );
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000032 6442 MOV.L @R4,R4
+ Matris.c 27 if ( ( (unsigned int)pEnableRestartFlag & 0xFF000000 ) != 0x88000000 ) return 0;
+ 00000034 D236 MOV.L L685+12,R2 ; H'FF000000
+ 00000036 7408 ADD #8,R4
+ 00000038 D336 MOV.L L685+16,R3 ; H'88000000
+ 0000003A 2249 AND R4,R2
+ 0000003C 3230 CMP/EQ R3,R2
+ 0000003E 8901 BT L509
+ 00000040 L673:
+ 00000040 000B RTS
+ 00000042 E000 MOV #0,R0
+ 00000044 L509:
+ Matris.c 28 if ( pEnableRestartFlag ) *pEnableRestartFlag = 1;
+ 00000044 2448 TST R4,R4
+ 00000046 8D02 BT/S L510
+ Matris.c 29 return pEnableRestartFlag;
+ 00000048 6043 MOV R4,R0
+ 0000004A E201 MOV #1,R2
+ 0000004C 2421 MOV.W R2,@R4
+ 0000004E L510:
+ Matris.c 30 }
+ 0000004E L503:
+ 0000004E 000B RTS
+ 00000050 0009 NOP
+ Matris.c 31
+ Matris.c 32 //restart addin after return 1
+ Matris.c 33
+ Matris.c 34 static unsigned int seed = 123456789;
+ Matris.c 35 unsigned int kiss()
+ 00000052 _kiss: ; function: kiss
+ ; frame size=4
+ 00000052 4F12 STS.L MACL,@-R15
+ Matris.c 36 {
+ Matris.c 37 // interner Zustand
+ Matris.c 38 static unsigned int y = 362436000;
+ Matris.c 39 static unsigned int z = 521288629;
+ Matris.c 40 static unsigned int c = 7654321;
+ Matris.c 41
+ Matris.c 42 unsigned long t;
+ Matris.c 43
+ Matris.c 44 // Linearer Kongruenzgenerator
+ Matris.c 45 seed = 69069 * seed + 12345;
+ 00000054 D630 MOV.L L685+20,R6 ; __$seed
+ 00000056 D331 MOV.L L685+24,R3 ; H'00010DCD
+ 00000058 6262 MOV.L @R6,R2
+ 0000005A 0237 MUL.L R3,R2
+ 0000005C 9153 MOV.W L685+2,R1 ; H'3039
+ 0000005E 031A STS MACL,R3
+ Matris.c 46
+ Matris.c 47 // Xorshift
+ Matris.c 48 y ^= y << 13;
+ 00000060 D42F MOV.L L685+28,R4 ; __$y$306
+ 00000062 331C ADD R1,R3
+ Matris.c 49 y ^= y >> 17;
+ Matris.c 50 y ^= y << 5;
+ Matris.c 51
+ Matris.c 52 // Multiply-with-carry
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 3
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 53 t = (unsigned long)698769069 * z + c;
+ 00000064 D72F MOV.L L685+32,R7 ; __$z$307
+ 00000066 2632 MOV.L R3,@R6
+ 00000068 6242 MOV.L @R4,R2
+ 0000006A E30D MOV #13,R3
+ 0000006C 6042 MOV.L @R4,R0
+ 0000006E 423D SHLD R3,R2
+ 00000070 202A XOR R2,R0
+ 00000072 6203 MOV R0,R2
+ 00000074 4229 SHLR16 R2
+ 00000076 4201 SHLR R2
+ 00000078 202A XOR R2,R0
+ 0000007A 6203 MOV R0,R2
+ 0000007C 4208 SHLL2 R2
+ 0000007E 4208 SHLL2 R2
+ 00000080 4200 SHLL R2
+ 00000082 202A XOR R2,R0
+ 00000084 2402 MOV.L R0,@R4
+ 00000086 D228 MOV.L L685+36,R2 ; H'29A65EAD
+ 00000088 6072 MOV.L @R7,R0
+ 0000008A 0027 MUL.L R2,R0
+ 0000008C D027 MOV.L L685+40,R0 ; __$c$308
+ 0000008E 051A STS MACL,R5
+ 00000090 6102 MOV.L @R0,R1
+ Matris.c 54 c = t >> 32;
+ 00000092 E2E0 MOV #-32,R2
+ 00000094 351C ADD R1,R5
+ 00000096 6353 MOV R5,R3
+ 00000098 432D SHLD R2,R3
+ 0000009A 6203 MOV R0,R2
+ 0000009C 2232 MOV.L R3,@R2
+ Matris.c 55 z = (unsigned int) t;
+ Matris.c 56
+ Matris.c 57 return seed + y + z;
+ 0000009E 6153 MOV R5,R1
+ 000000A0 2752 MOV.L R5,@R7
+ 000000A2 6342 MOV.L @R4,R3
+ 000000A4 6062 MOV.L @R6,R0
+ 000000A6 303C ADD R3,R0
+ 000000A8 301C ADD R1,R0
+ Matris.c 58 }
+ 000000AA 000B RTS
+ 000000AC 4F16 LDS.L @R15+,MACL
+ Matris.c 59
+ Matris.c 60 void seedkiss()
+ 000000AE _seedkiss: ; function: seedkiss
+ ; frame size=4
+ 000000AE 4F22 STS.L PR,@-R15
+ Matris.c 61 {
+ Matris.c 62 seed = RTC_GetTicks();
+ 000000B0 D31F MOV.L L685+44,R3 ; _RTC_GetTicks
+ 000000B2 430B JSR @R3
+ 000000B4 0009 NOP
+ 000000B6 D218 MOV.L L685+20,R2 ; __$seed
+ Matris.c 63 }
+ 000000B8 4F26 LDS.L @R15+,PR
+ 000000BA 000B RTS
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 4
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000BC 2202 MOV.L R0,@R2
+ Matris.c 64
+ Matris.c 65 //kiss is a random number generator
+ Matris.c 66
+ Matris.c 67 char *Disp_GetVRAMPtr(void);
+ Matris.c 68 void DrawLineVRAM(int x1, int y1, int x2, int y2);
+ Matris.c 69 void AllClr_DD(void);
+ Matris.c 70 void AllClr_VRAM(void);
+ Matris.c 71 void AllClr_DDVRAM(void);
+ Matris.c 72 void locate(int x, int y);
+ Matris.c 73 void Print(const unsigned char *str);
+ Matris.c 74 int Timer_Install(int TimerID, void (*handler)(void), int delay);
+ Matris.c 75 int Timer_Uninstall(int TimerID);
+ Matris.c 76 int Timer_Start(int TimerID);
+ Matris.c 77 void App_RUN_MAT();
+ Matris.c 78
+ Matris.c 79 //some prototypes
+ Matris.c 80
+ Matris.c 81 char swit;
+ Matris.c 82
+ Matris.c 83 char pause = False;
+ Matris.c 84 //pause the game
+ Matris.c 85
+ Matris.c 86 char quit = False;
+ Matris.c 87
+ Matris.c 88 char levelchanged = False;
+ Matris.c 89 //has the level changed during two actions?
+ Matris.c 90
+ Matris.c 91 char exit = False;
+ Matris.c 92
+ Matris.c 93 char ready;
+ Matris.c 94
+ Matris.c 95 char onoff = True;
+ Matris.c 96 //used for timers
+ Matris.c 97
+ Matris.c 98 char canswap;
+ Matris.c 99 //brick already swapped?
+ Matris.c 100
+ Matris.c 101 char slowyposdown = 0;
+ Matris.c 102
+ Matris.c 103 char connected;
+ Matris.c 104 //multiplayer activated?
+ Matris.c 105
+ Matris.c 106 unsigned char receiveline = 0;
+ Matris.c 107 unsigned char sendline = 0;
+ Matris.c 108 //what to send or receive?
+ Matris.c 109
+ Matris.c 110 char cantrans = False;
+ Matris.c 111 //allowed to transfer?
+ Matris.c 112
+ Matris.c 113 //taken from MonochromeLib by PierrotLL
+ Matris.c 114
+ Matris.c 115 void drawbuffer(char *buffer)
+ 000000BE _drawbuffer: ; function: drawbuffer
+ ; frame size=16
+ 000000BE E107 MOV #7,R1
+ 000000C0 D61C MOV.L L685+48,R6 ; H'B4000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 5
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000C2 E004 MOV #4,R0
+ 000000C4 D51C MOV.L L685+52,R5 ; H'B4010000
+ 000000C6 2FD6 MOV.L R13,@-R15
+ 000000C8 2FC6 MOV.L R12,@-R15
+ Matris.c 116 {
+ Matris.c 117 char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000;
+ Matris.c 118 int i, j;
+ Matris.c 119 for(i=0 ; i<64 ; i++)
+ 000000CA EC00 MOV #0,R12
+ 000000CC 2FA6 MOV.L R10,@-R15
+ 000000CE 6DC3 MOV R12,R13
+ 000000D0 2F96 MOV.L R9,@-R15
+ 000000D2 EA10 MOV #16,R10
+ 000000D4 E940 MOV #64,R9
+ 000000D6 L512:
+ Matris.c 120 {
+ Matris.c 121 *LCD_register_selector = 4;
+ Matris.c 122 *LCD_data_register = i|192;
+ 000000D6 E3C0 MOV #-64,R3
+ 000000D8 2600 MOV.B R0,@R6
+ Matris.c 123 *LCD_register_selector = 4;
+ Matris.c 124 *LCD_data_register = 0;
+ Matris.c 125 *LCD_register_selector = 7;
+ Matris.c 126 for(j=0 ; j<16 ; j++) *LCD_data_register = *buffer++;
+ 000000DA 67A3 MOV R10,R7
+ 000000DC 23DB OR R13,R3
+ 000000DE 2530 MOV.B R3,@R5
+ 000000E0 2600 MOV.B R0,@R6
+ 000000E2 25C0 MOV.B R12,@R5
+ 000000E4 2610 MOV.B R1,@R6
+ 000000E6 L514:
+ 000000E6 77FE ADD #-2,R7
+ 000000E8 6344 MOV.B @R4+,R3
+ 000000EA 2778 TST R7,R7
+ 000000EC 2530 MOV.B R3,@R5
+ 000000EE 6344 MOV.B @R4+,R3
+ 000000F0 8FF9 BF/S L514
+ 000000F2 2530 MOV.B R3,@R5
+ 000000F4 7D01 ADD #1,R13
+ 000000F6 3D93 CMP/GE R9,R13
+ 000000F8 8BED BF L512
+ Matris.c 127 }
+ Matris.c 128 }
+ 000000FA 69F6 MOV.L @R15+,R9
+ 000000FC 6AF6 MOV.L @R15+,R10
+ 000000FE 6CF6 MOV.L @R15+,R12
+ 00000100 000B RTS
+ 00000102 6DF6 MOV.L @R15+,R13
+ 00000104 L685:
+ 00000104 1240 .DATA.W H'1240
+ 00000106 3039 .DATA.W H'3039
+ 00000108 8001007C .DATA.L H'8001007C
+ 0000010C 81000000 .DATA.L H'81000000
+ 00000110 FF000000 .DATA.L H'FF000000
+ 00000114 88000000 .DATA.L H'88000000
+ 00000118 <00000000> .DATA.L __$seed
+ 0000011C 00010DCD .DATA.L H'00010DCD
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 6
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000120 <00000000> .DATA.L __$y$306
+ 00000124 <00000000> .DATA.L __$z$307
+ 00000128 29A65EAD .DATA.L H'29A65EAD
+ 0000012C <00000000> .DATA.L __$c$308
+ 00000130 <00000000> .DATA.L _RTC_GetTicks
+ 00000134 B4000000 .DATA.L H'B4000000
+ 00000138 B4010000 .DATA.L H'B4010000
+ Matris.c 129
+ Matris.c 130 void RestGray(void)
+ 0000013C _RestGray: ; function: RestGray
+ ; frame size=8
+ 0000013C 2FE6 MOV.L R14,@-R15
+ 0000013E 4F22 STS.L PR,@-R15
+ Matris.c 131 {
+ Matris.c 132 drawbuffer(pScreen);
+ 00000140 DE30 MOV.L L686+8,R14 ; _pScreen
+ 00000142 BFBC BSR _drawbuffer
+ 00000144 64E2 MOV.L @R14,R4
+ Matris.c 133 drawbuffer(pScreen + 1024);
+ 00000146 9359 MOV.W L686,R3 ; H'0400
+ 00000148 64E2 MOV.L @R14,R4
+ 0000014A BFB8 BSR _drawbuffer
+ 0000014C 343C ADD R3,R4
+ Matris.c 134 drawbuffer(pScreen + 2048);
+ 0000014E 9356 MOV.W L686+2,R3 ; H'0800
+ 00000150 64E2 MOV.L @R14,R4
+ 00000152 343C ADD R3,R4
+ 00000154 4F26 LDS.L @R15+,PR
+ 00000156 AFB2 BRA _drawbuffer
+ 00000158 6EF6 MOV.L @R15+,R14
+ Matris.c 135 }
+ Matris.c 136
+ Matris.c 137
+ Matris.c 138 void Disconnect()
+ 0000015A _Disconnect: ; function: Disconnect
+ ; frame size=4
+ 0000015A 4F22 STS.L PR,@-R15
+ Matris.c 139 {
+ Matris.c 140 Serial_Close(1);
+ 0000015C D32A MOV.L L686+12,R3 ; _Serial_Close
+ 0000015E 430B JSR @R3
+ 00000160 E401 MOV #1,R4
+ Matris.c 141 connected = False;
+ 00000162 E200 MOV #0,R2
+ 00000164 D329 MOV.L L686+16,R3 ; _connected
+ Matris.c 142 }
+ 00000166 4F26 LDS.L @R15+,PR
+ 00000168 000B RTS
+ 0000016A 2320 MOV.B R2,@R3
+ Matris.c 143
+ Matris.c 144 void TeacherMode()
+ 0000016C _TeacherMode: ; function: TeacherMode
+ ; frame size=4
+ 0000016C 4F22 STS.L PR,@-R15
+ Matris.c 145 {
+ Matris.c 146 Timer_Uninstall(6);
+ 0000016E D328 MOV.L L686+20,R3 ; _Timer_Uninstall
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 7
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000170 430B JSR @R3
+ 00000172 E406 MOV #6,R4
+ Matris.c 147 Timer_Uninstall(7);
+ 00000174 D226 MOV.L L686+20,R2 ; _Timer_Uninstall
+ 00000176 420B JSR @R2
+ 00000178 E407 MOV #7,R4
+ Matris.c 148 Disconnect();
+ 0000017A BFEE BSR _Disconnect
+ 0000017C 0009 NOP
+ Matris.c 149
+ Matris.c 150 App_RUN_MAT();
+ 0000017E D225 MOV.L L686+24,R2 ; _App_RUN_MAT
+ 00000180 422B JMP @R2
+ 00000182 4F26 LDS.L @R15+,PR
+ Matris.c 151 }
+ Matris.c 152
+ Matris.c 153 int round(float num)
+ 00000184 _round: ; function: round
+ ; frame size=32
+ ; used runtime library name:
+ ; __addd, __stod, __dtoi
+ 00000184 4F22 STS.L PR,@-R15
+ Matris.c 154 {
+ Matris.c 155 return (int) (num + 0.5);
+ 00000186 6043 MOV R4,R0
+ 00000188 D323 MOV.L L686+28,R3 ; __stod
+ 0000018A 7FF0 ADD #-16,R15
+ 0000018C 430B JSR @R3
+ 0000018E 2FF6 MOV.L R15,@-R15
+ 00000190 D123 MOV.L L686+36,R1 ; __addd
+ 00000192 E200 MOV #0,R2
+ 00000194 2F26 MOV.L R2,@-R15
+ 00000196 D221 MOV.L L686+32,R2 ; H'3FE00000
+ 00000198 2F26 MOV.L R2,@-R15
+ 0000019A 63F3 MOV R15,R3
+ 0000019C 7310 ADD #16,R3
+ 0000019E 410B JSR @R1
+ 000001A0 2F36 MOV.L R3,@-R15
+ 000001A2 D220 MOV.L L686+40,R2 ; __dtoi
+ 000001A4 420B JSR @R2
+ 000001A6 0009 NOP
+ Matris.c 156 }
+ 000001A8 4F26 LDS.L @R15+,PR
+ 000001AA 000B RTS
+ 000001AC 0009 NOP
+ Matris.c 157
+ Matris.c 158 void clrbuffer(char *buffer)
+ 000001AE _clrbuffer: ; function: clrbuffer
+ ; frame size=0
+ Matris.c 159 {
+ Matris.c 160 memset(buffer, 0, 3072);
+ 000001AE 9627 MOV.W L686+4,R6 ; H'0C00
+ 000001B0 D31D MOV.L L686+44,R3 ; _memset
+ 000001B2 432B JMP @R3
+ 000001B4 E500 MOV #0,R5
+ Matris.c 161 }
+ Matris.c 162
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 8
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 163
+ Matris.c 164 void CreateBlock()
+ 000001B6 _CreateBlock: ; function: CreateBlock
+ ; frame size=8
+ ; used runtime library name:
+ ; __modlu
+ 000001B6 2FE6 MOV.L R14,@-R15
+ 000001B8 4F22 STS.L PR,@-R15
+ Matris.c 165 {
+ Matris.c 166 block = nextblock;
+ Matris.c 167 canswap = True;
+ 000001BA EE01 MOV #1,R14
+ 000001BC D21B MOV.L L686+48,R2 ; _nextblock
+ 000001BE 6320 MOV.B @R2,R3
+ 000001C0 D11B MOV.L L686+52,R1 ; _block
+ 000001C2 2130 MOV.B R3,@R1
+ 000001C4 D31B MOV.L L686+56,R3 ; _canswap
+ Matris.c 168 nextblock = (kiss() % 7) + 1;
+ 000001C6 BF44 BSR _kiss
+ 000001C8 23E0 MOV.B R14,@R3
+ 000001CA 6103 MOV R0,R1
+ 000001CC D31A MOV.L L686+60,R3 ; __modlu
+ 000001CE 430B JSR @R3
+ 000001D0 E007 MOV #7,R0
+ 000001D2 7001 ADD #1,R0
+ 000001D4 D215 MOV.L L686+48,R2 ; _nextblock
+ Matris.c 169 xpos = 7;
+ 000001D6 E307 MOV #7,R3
+ 000001D8 D118 MOV.L L686+64,R1 ; _xpos
+ 000001DA 2200 MOV.B R0,@R2
+ 000001DC 2132 MOV.L R3,@R1
+ Matris.c 170 ypos = 3;
+ 000001DE E203 MOV #3,R2
+ 000001E0 D317 MOV.L L686+68,R3 ; _ypos
+ Matris.c 171 dir = 0;
+ 000001E2 E000 MOV #0,R0
+ Matris.c 172 left = True;
+ 000001E4 D118 MOV.L L686+76,R1 ; _left
+ 000001E6 2322 MOV.L R2,@R3
+ 000001E8 D216 MOV.L L686+72,R2 ; _dir
+ 000001EA 2200 MOV.B R0,@R2
+ 000001EC 21E0 MOV.B R14,@R1
+ Matris.c 173 right = True;
+ 000001EE D317 MOV.L L686+80,R3 ; _right
+ Matris.c 174 cantrans = True;
+ 000001F0 D217 MOV.L L686+84,R2 ; _cantrans
+ 000001F2 23E0 MOV.B R14,@R3
+ 000001F4 22E0 MOV.B R14,@R2
+ Matris.c 175 }
+ 000001F6 4F26 LDS.L @R15+,PR
+ 000001F8 000B RTS
+ 000001FA 6EF6 MOV.L @R15+,R14
+ 000001FC L686:
+ 000001FC 0400 .DATA.W H'0400
+ 000001FE 0800 .DATA.W H'0800
+ 00000200 0C00 .DATA.W H'0C00
+ 00000202 0000 .DATA.W 0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 9
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000204 <00000000> .DATA.L _pScreen
+ 00000208 <00000000> .DATA.L _Serial_Close
+ 0000020C <00000000> .DATA.L _connected
+ 00000210 <00000000> .DATA.L _Timer_Uninstall
+ 00000214 <00000000> .DATA.L _App_RUN_MAT
+ 00000218 <00000000> .DATA.L __stod
+ 0000021C 3FE00000 .DATA.L H'3FE00000
+ 00000220 <00000000> .DATA.L __addd
+ 00000224 <00000000> .DATA.L __dtoi
+ 00000228 <00000000> .DATA.L _memset
+ 0000022C <00000000> .DATA.L _nextblock
+ 00000230 <00000000> .DATA.L _block
+ 00000234 <00000000> .DATA.L _canswap
+ 00000238 <00000000> .DATA.L __modlu
+ 0000023C <00000000> .DATA.L _xpos
+ 00000240 <00000000> .DATA.L _ypos
+ 00000244 <00000000> .DATA.L _dir
+ 00000248 <00000000> .DATA.L _left
+ 0000024C <00000000> .DATA.L _right
+ 00000250 <00000000> .DATA.L _cantrans
+ Matris.c 176
+ Matris.c 177 void ResetValues()
+ 00000254 _ResetValues: ; function: ResetValues
+ ; frame size=60
+ ; used runtime library name:
+ ; __modlu
+ 00000254 2FE6 MOV.L R14,@-R15
+ 00000256 2FD6 MOV.L R13,@-R15
+ 00000258 4F22 STS.L PR,@-R15
+ 0000025A 7FE0 ADD #-32,R15
+ Matris.c 178 {
+ Matris.c 179 int x,y;
+ Matris.c 180
+ Matris.c 181 char text[30];
+ Matris.c 182
+ Matris.c 183 memset(&changemap, 0, 210);
+ 0000025C 966E MOV.W L687,R6 ; H'00D2
+ 0000025E D438 MOV.L L687+4,R4 ; _changemap
+ 00000260 D338 MOV.L L687+8,R3 ; _memset
+ 00000262 430B JSR @R3
+ 00000264 E500 MOV #0,R5
+ Matris.c 184 memset(&globalmap, 0, 210);
+ 00000266 9669 MOV.W L687,R6 ; H'00D2
+ 00000268 D437 MOV.L L687+12,R4 ; _globalmap
+ 0000026A D236 MOV.L L687+8,R2 ; _memset
+ 0000026C 420B JSR @R2
+ 0000026E E500 MOV #0,R5
+ Matris.c 185
+ Matris.c 186 ypos = 3;
+ 00000270 D236 MOV.L L687+16,R2 ; _ypos
+ Matris.c 187 xpos = 0;
+ 00000272 E100 MOV #0,R1
+ 00000274 D036 MOV.L L687+20,R0 ; _xpos
+ Matris.c 188 block = 0;
+ Matris.c 189 onoff = True;
+ 00000276 ED01 MOV #1,R13
+ 00000278 E303 MOV #3,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 10
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000027A 6E13 MOV R1,R14
+ 0000027C 2232 MOV.L R3,@R2
+ 0000027E 2012 MOV.L R1,@R0
+ 00000280 D334 MOV.L L687+24,R3 ; _block
+ 00000282 23E0 MOV.B R14,@R3
+ 00000284 D234 MOV.L L687+28,R2 ; _onoff
+ 00000286 22D0 MOV.B R13,@R2
+ Matris.c 190 levelchanged = False;
+ 00000288 D134 MOV.L L687+32,R1 ; _levelchanged
+ 0000028A 21E0 MOV.B R14,@R1
+ Matris.c 191 right = True;
+ 0000028C D334 MOV.L L687+36,R3 ; _right
+ 0000028E 23D0 MOV.B R13,@R3
+ Matris.c 192 left = True;
+ 00000290 D234 MOV.L L687+40,R2 ; _left
+ 00000292 22D0 MOV.B R13,@R2
+ Matris.c 193 hold = 0;
+ 00000294 D134 MOV.L L687+44,R1 ; _hold
+ 00000296 21E0 MOV.B R14,@R1
+ Matris.c 194 exit = False;
+ 00000298 D334 MOV.L L687+48,R3 ; _exit
+ 0000029A 23E0 MOV.B R14,@R3
+ Matris.c 195 nextdir = Down;
+ 0000029C D234 MOV.L L687+52,R2 ; _nextdir
+ Matris.c 196 nextblock = (kiss() % 7) + 1;
+ 0000029E BED8 BSR _kiss
+ 000002A0 22E0 MOV.B R14,@R2
+ 000002A2 6103 MOV R0,R1
+ 000002A4 D333 MOV.L L687+56,R3 ; __modlu
+ 000002A6 430B JSR @R3
+ 000002A8 E007 MOV #7,R0
+ 000002AA 7001 ADD #1,R0
+ 000002AC D232 MOV.L L687+60,R2 ; _nextblock
+ Matris.c 197 CreateBlock();
+ 000002AE BF82 BSR _CreateBlock
+ 000002B0 2200 MOV.B R0,@R2
+ Matris.c 198 clrbuffer(pScreen);
+ 000002B2 D132 MOV.L L687+64,R1 ; _pScreen
+ 000002B4 BF7B BSR _clrbuffer
+ 000002B6 6412 MOV.L @R1,R4
+ Matris.c 199 Timer_Uninstall(6);
+ 000002B8 D231 MOV.L L687+68,R2 ; _Timer_Uninstall
+ 000002BA 420B JSR @R2
+ 000002BC E406 MOV #6,R4
+ Matris.c 200 Timer_Uninstall(7);
+ 000002BE D330 MOV.L L687+68,R3 ; _Timer_Uninstall
+ 000002C0 430B JSR @R3
+ 000002C2 E407 MOV #7,R4
+ Matris.c 201 ready = True;
+ 000002C4 D22F MOV.L L687+72,R2 ; _ready
+ 000002C6 22D0 MOV.B R13,@R2
+ Matris.c 202 connected = False;
+ 000002C8 D32F MOV.L L687+76,R3 ; _connected
+ Matris.c 203
+ Matris.c 204 AllClr_DDVRAM();
+ 000002CA D130 MOV.L L687+80,R1 ; _AllClr_DDVRAM
+ 000002CC 410B JSR @R1
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 11
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000002CE 23E0 MOV.B R14,@R3
+ Matris.c 205
+ Matris.c 206 PopUpWin(2);
+ 000002D0 D32F MOV.L L687+84,R3 ; _PopUpWin
+ 000002D2 430B JSR @R3
+ 000002D4 E402 MOV #2,R4
+ Matris.c 207 sprintf(&text, "Points: %d", points);
+ 000002D6 D32F MOV.L L687+88,R3 ; _points
+ 000002D8 D12F MOV.L L687+92,R1 ; L367
+ 000002DA 6232 MOV.L @R3,R2
+ 000002DC 2F26 MOV.L R2,@-R15
+ 000002DE 2F16 MOV.L R1,@-R15
+ 000002E0 D22E MOV.L L687+96,R2 ; _sprintf
+ 000002E2 64F3 MOV R15,R4
+ 000002E4 420B JSR @R2
+ 000002E6 7408 ADD #8,R4
+ Matris.c 208 locate(3, 3);
+ 000002E8 D32D MOV.L L687+100,R3; _locate
+ 000002EA E503 MOV #3,R5
+ 000002EC 430B JSR @R3
+ 000002EE 6453 MOV R5,R4
+ Matris.c 209 Print(&text);
+ 000002F0 D22C MOV.L L687+104,R2; _Print
+ 000002F2 64F3 MOV R15,R4
+ 000002F4 420B JSR @R2
+ 000002F6 7408 ADD #8,R4
+ Matris.c 210 sprintf(&text, "Level: %d", level);
+ 000002F8 D22B MOV.L L687+108,R2; _level
+ 000002FA 6320 MOV.B @R2,R3
+ 000002FC D12B MOV.L L687+112,R1; L368
+ 000002FE 2F36 MOV.L R3,@-R15
+ 00000300 2F16 MOV.L R1,@-R15
+ 00000302 64F3 MOV R15,R4
+ 00000304 D325 MOV.L L687+96,R3 ; _sprintf
+ 00000306 430B JSR @R3
+ 00000308 7410 ADD #16,R4
+ 0000030A 7F10 ADD #16,R15
+ Matris.c 211 locate(3, 4);
+ 0000030C D224 MOV.L L687+100,R2; _locate
+ 0000030E E504 MOV #4,R5
+ 00000310 420B JSR @R2
+ 00000312 E403 MOV #3,R4
+ Matris.c 212 Print(&text);
+ 00000314 D323 MOV.L L687+104,R3; _Print
+ 00000316 430B JSR @R3
+ 00000318 64F3 MOV R15,R4
+ Matris.c 213 PutDisp_DD();
+ 0000031A D225 MOV.L L687+116,R2; _PutDisp_DD
+ 0000031C 420B JSR @R2
+ 0000031E 0009 NOP
+ Matris.c 214
+ Matris.c 215 points = 0;
+ 00000320 D31C MOV.L L687+88,R3 ; _points
+ 00000322 23E2 MOV.L R14,@R3
+ Matris.c 216 level = 0;
+ 00000324 D220 MOV.L L687+108,R2; _level
+ 00000326 22E0 MOV.B R14,@R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 12
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000328 DE22 MOV.L L687+120,R14; _KeyDown
+ Matris.c 217
+ Matris.c 218 while(!KeyDown(31));
+ 0000032A L516:
+ 0000032A 4E0B JSR @R14
+ 0000032C E41F MOV #31,R4
+ 0000032E 2008 TST R0,R0
+ 00000330 89FB BT L516
+ Matris.c 219 }
+ 00000332 7F20 ADD #32,R15
+ 00000334 4F26 LDS.L @R15+,PR
+ 00000336 6DF6 MOV.L @R15+,R13
+ 00000338 000B RTS
+ 0000033A 6EF6 MOV.L @R15+,R14
+ 0000033C L687:
+ 0000033C 00D2 .DATA.W H'00D2
+ 0000033E 0000 .DATA.W 0
+ 00000340 <00000000> .DATA.L _changemap
+ 00000344 <00000000> .DATA.L _memset
+ 00000348 <00000000> .DATA.L _globalmap
+ 0000034C <00000000> .DATA.L _ypos
+ 00000350 <00000000> .DATA.L _xpos
+ 00000354 <00000000> .DATA.L _block
+ 00000358 <00000000> .DATA.L _onoff
+ 0000035C <00000000> .DATA.L _levelchanged
+ 00000360 <00000000> .DATA.L _right
+ 00000364 <00000000> .DATA.L _left
+ 00000368 <00000000> .DATA.L _hold
+ 0000036C <00000000> .DATA.L _exit
+ 00000370 <00000000> .DATA.L _nextdir
+ 00000374 <00000000> .DATA.L __modlu
+ 00000378 <00000000> .DATA.L _nextblock
+ 0000037C <00000000> .DATA.L _pScreen
+ 00000380 <00000000> .DATA.L _Timer_Uninstall
+ 00000384 <00000000> .DATA.L _ready
+ 00000388 <00000000> .DATA.L _connected
+ 0000038C <00000000> .DATA.L _AllClr_DDVRAM
+ 00000390 <00000000> .DATA.L _PopUpWin
+ 00000394 <00000000> .DATA.L _points
+ 00000398 <00000000> .DATA.L L367
+ 0000039C <00000000> .DATA.L _sprintf
+ 000003A0 <00000000> .DATA.L _locate
+ 000003A4 <00000000> .DATA.L _Print
+ 000003A8 <00000000> .DATA.L _level
+ 000003AC <00000000> .DATA.L L368
+ 000003B0 <00000000> .DATA.L _PutDisp_DD
+ 000003B4 <00000000> .DATA.L _KeyDown
+ Matris.c 220
+ Matris.c 221 void Transfer()
+ 000003B8 _Transfer: ; function: Transfer
+ ; frame size=44
+ ; used runtime library name:
+ ; __modlu
+ 000003B8 2FE6 MOV.L R14,@-R15
+ 000003BA 2FD6 MOV.L R13,@-R15
+ 000003BC 2FC6 MOV.L R12,@-R15
+ 000003BE 2FB6 MOV.L R11,@-R15
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 13
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000003C0 2FA6 MOV.L R10,@-R15
+ 000003C2 2F96 MOV.L R9,@-R15
+ 000003C4 2F86 MOV.L R8,@-R15
+ 000003C6 4F22 STS.L PR,@-R15
+ 000003C8 7FF8 ADD #-8,R15
+ Matris.c 222 {
+ Matris.c 223 int xcount, ycount;
+ Matris.c 224 char space = kiss() % 10; //where is the hole?
+ 000003CA BE42 BSR _kiss
+ 000003CC EA0A MOV #10,R10
+ 000003CE 6103 MOV R0,R1
+ 000003D0 D283 MOV.L L688+2,R2 ; __modlu
+ 000003D2 420B JSR @R2
+ 000003D4 60A3 MOV R10,R0
+ 000003D6 2F00 MOV.B R0,@R15
+ Matris.c 225
+ Matris.c 226 if(connected == True)
+ 000003D8 D382 MOV.L L688+6,R3 ; _connected
+ 000003DA 6030 MOV.B @R3,R0
+ 000003DC 8801 CMP/EQ #1,R0
+ 000003DE 8901 BT L689
+ 000003E0 A093 BRA L518
+ 000003E2 0009 NOP
+ 000003E4 L689:
+ Matris.c 227 {
+ Matris.c 228 if(receiveline > sendline)
+ 000003E4 DD80 MOV.L L688+10,R13; _sendline
+ 000003E6 DE81 MOV.L L688+14,R14; _receiveline
+ 000003E8 62D0 MOV.B @R13,R2
+ 000003EA 61E0 MOV.B @R14,R1
+ 000003EC 3126 CMP/HI R2,R1
+ 000003EE 8F06 BF/S L519
+ 000003F0 EB00 MOV #0,R11
+ Matris.c 229 {
+ Matris.c 230 //if there are lines arriving, but there can be send lines back, erase the lines,
+ +for example: receiving 3 lines, sending 1 -> 0 are send, 2 are received
+ Matris.c 231 receiveline -= sendline;
+ 000003F2 62D0 MOV.B @R13,R2
+ 000003F4 61E0 MOV.B @R14,R1
+ 000003F6 3128 SUB R2,R1
+ 000003F8 2E10 MOV.B R1,@R14
+ Matris.c 232 sendline = 0;
+ 000003FA A005 BRA L520
+ 000003FC 2DB0 MOV.B R11,@R13
+ 000003FE L519:
+ Matris.c 233 }
+ Matris.c 234 else
+ Matris.c 235 {
+ Matris.c 236 sendline -= receiveline;
+ 000003FE 62E0 MOV.B @R14,R2
+ 00000400 61D0 MOV.B @R13,R1
+ 00000402 3128 SUB R2,R1
+ 00000404 2D10 MOV.B R1,@R13
+ Matris.c 237 receiveline = 0;
+ 00000406 2EB0 MOV.B R11,@R14
+ 00000408 L520:
+ Matris.c 238 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 14
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 239 if(sendline > 0)
+ 00000408 63D0 MOV.B @R13,R3
+ 0000040A 633C EXTU.B R3,R3
+ 0000040C 4315 CMP/PL R3
+ 0000040E 8B06 BF L521
+ 00000410 DC77 MOV.L L688+18,R12; _Serial_BufferedTransmitOneByte
+ Matris.c 240 {
+ Matris.c 241 while(Serial_BufferedTransmitOneByte(sendline) != 0);
+ 00000412 L522:
+ 00000412 64D0 MOV.B @R13,R4
+ 00000414 4C0B JSR @R12
+ 00000416 644C EXTU.B R4,R4
+ 00000418 2008 TST R0,R0
+ 0000041A 8BFA BF L522
+ Matris.c 242 //send the number of lines
+ Matris.c 243 sendline = 0;
+ 0000041C 2DB0 MOV.B R11,@R13
+ 0000041E L521:
+ 0000041E 60E0 MOV.B @R14,R0
+ 00000420 600C EXTU.B R0,R0
+ 00000422 4015 CMP/PL R0
+ 00000424 8B71 BF L518
+ Matris.c 244 }
+ Matris.c 245 if(receiveline > 0)
+ Matris.c 246 {
+ Matris.c 247 for(ycount = 0; ycount < 20 - receiveline; ycount++)
+ 00000426 E714 MOV #20,R7
+ 00000428 DC72 MOV.L L688+22,R12; _globalmap
+ 0000042A 6273 MOV R7,R2
+ 0000042C 3208 SUB R0,R2
+ 0000042E 4215 CMP/PL R2
+ 00000430 8F2A BF/S L525
+ 00000432 65B3 MOV R11,R5
+ 00000434 L526:
+ Matris.c 248 {
+ Matris.c 249 for(xcount = 0; xcount < 10; xcount++)
+ 00000434 60B3 MOV R11,R0
+ 00000436 6653 MOV R5,R6
+ 00000438 6353 MOV R5,R3
+ 0000043A 4608 SHLL2 R6
+ 0000043C 363C ADD R3,R6
+ 0000043E 4600 SHLL R6
+ 00000440 36CC ADD R12,R6
+ 00000442 L528:
+ Matris.c 250 {
+ Matris.c 251 globalmap[ycount][xcount] = globalmap[ycount + receiveline][xcount
+ +];
+ 00000442 6103 MOV R0,R1
+ 00000444 63E0 MOV.B @R14,R3
+ 00000446 316C ADD R6,R1
+ 00000448 633C EXTU.B R3,R3
+ 0000044A 335C ADD R5,R3
+ 0000044C 6233 MOV R3,R2
+ 0000044E 4308 SHLL2 R3
+ 00000450 332C ADD R2,R3
+ 00000452 4300 SHLL R3
+ 00000454 33CC ADD R12,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 15
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000456 033C MOV.B @(R0,R3),R3
+ 00000458 2130 MOV.B R3,@R1
+ 0000045A 7001 ADD #1,R0
+ 0000045C 63E0 MOV.B @R14,R3
+ 0000045E 6103 MOV R0,R1
+ 00000460 316C ADD R6,R1
+ 00000462 633C EXTU.B R3,R3
+ 00000464 335C ADD R5,R3
+ 00000466 6233 MOV R3,R2
+ 00000468 4308 SHLL2 R3
+ 0000046A 332C ADD R2,R3
+ 0000046C 4300 SHLL R3
+ 0000046E 33CC ADD R12,R3
+ 00000470 033C MOV.B @(R0,R3),R3
+ 00000472 7001 ADD #1,R0
+ 00000474 2130 MOV.B R3,@R1
+ 00000476 30A3 CMP/GE R10,R0
+ 00000478 8BE3 BF L528
+ 0000047A 7501 ADD #1,R5
+ 0000047C 62E0 MOV.B @R14,R2
+ 0000047E 6373 MOV R7,R3
+ 00000480 622C EXTU.B R2,R2
+ 00000482 3328 SUB R2,R3
+ 00000484 3533 CMP/GE R3,R5
+ 00000486 8BD5 BF L526
+ 00000488 L525:
+ Matris.c 252 //move all lines upwards
+ Matris.c 253 }
+ Matris.c 254 }
+ Matris.c 255
+ Matris.c 256 for(ycount = 19; ycount > 19 - receiveline; ycount --)
+ 00000488 63E0 MOV.B @R14,R3
+ 0000048A E813 MOV #19,R8
+ 0000048C 633C EXTU.B R3,R3
+ 0000048E 6283 MOV R8,R2
+ 00000490 3238 SUB R3,R2
+ 00000492 3827 CMP/GT R2,R8
+ 00000494 8B38 BF L529
+ 00000496 L530:
+ Matris.c 257 {
+ Matris.c 258 for(xcount = 0; xcount < 10; xcount ++)
+ 00000496 6DB3 MOV R11,R13
+ 00000498 6983 MOV R8,R9
+ 0000049A 6383 MOV R8,R3
+ 0000049C 4908 SHLL2 R9
+ 0000049E 393C ADD R3,R9
+ 000004A0 4900 SHLL R9
+ 000004A2 39CC ADD R12,R9
+ 000004A4 L532:
+ Matris.c 259 {
+ Matris.c 260 globalmap[ycount][xcount] = (xcount == space) ? 0 : (kiss() % 7) +
+ + 1;
+ 000004A4 63D3 MOV R13,R3
+ 000004A6 339C ADD R9,R3
+ 000004A8 2F36 MOV.L R3,@-R15
+ 000004AA 62F3 MOV R15,R2
+ 000004AC 7204 ADD #4,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 16
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000004AE 6220 MOV.B @R2,R2
+ 000004B0 1F22 MOV.L R2,@(8,R15)
+ 000004B2 3D20 CMP/EQ R2,R13
+ 000004B4 8B01 BF L533
+ 000004B6 A008 BRA L534
+ 000004B8 E200 MOV #0,R2
+ 000004BA L533:
+ 000004BA BDCA BSR _kiss
+ 000004BC 0009 NOP
+ 000004BE 6103 MOV R0,R1
+ 000004C0 D347 MOV.L L688+2,R3 ; __modlu
+ 000004C2 430B JSR @R3
+ 000004C4 E007 MOV #7,R0
+ 000004C6 7001 ADD #1,R0
+ 000004C8 6203 MOV R0,R2
+ 000004CA L534:
+ 000004CA 7D01 ADD #1,R13
+ 000004CC 63F6 MOV.L @R15+,R3
+ 000004CE 2320 MOV.B R2,@R3
+ 000004D0 63D3 MOV R13,R3
+ 000004D2 339C ADD R9,R3
+ 000004D4 2F36 MOV.L R3,@-R15
+ 000004D6 52F2 MOV.L @(8,R15),R2
+ 000004D8 3D20 CMP/EQ R2,R13
+ 000004DA 8B01 BF L535
+ 000004DC A008 BRA L536
+ 000004DE E200 MOV #0,R2
+ 000004E0 L535:
+ 000004E0 BDB7 BSR _kiss
+ 000004E2 0009 NOP
+ 000004E4 D33E MOV.L L688+2,R3 ; __modlu
+ 000004E6 6103 MOV R0,R1
+ 000004E8 430B JSR @R3
+ 000004EA E007 MOV #7,R0
+ 000004EC 7001 ADD #1,R0
+ 000004EE 6203 MOV R0,R2
+ 000004F0 L536:
+ 000004F0 63F6 MOV.L @R15+,R3
+ 000004F2 7D01 ADD #1,R13
+ 000004F4 2320 MOV.B R2,@R3
+ 000004F6 3DA3 CMP/GE R10,R13
+ 000004F8 8BD4 BF L532
+ 000004FA 78FF ADD #-1,R8
+ 000004FC 63E0 MOV.B @R14,R3
+ 000004FE E213 MOV #19,R2
+ 00000500 633C EXTU.B R3,R3
+ 00000502 3238 SUB R3,R2
+ 00000504 3827 CMP/GT R2,R8
+ 00000506 89C6 BT L530
+ 00000508 L529:
+ Matris.c 261 //add lines at the bottom
+ Matris.c 262 }
+ Matris.c 263 }
+ Matris.c 264 receiveline = 0;
+ 00000508 2EB0 MOV.B R11,@R14
+ 0000050A L518:
+ Matris.c 265 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 17
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 266 }
+ Matris.c 267 }
+ 0000050A 7F08 ADD #8,R15
+ 0000050C 4F26 LDS.L @R15+,PR
+ 0000050E 68F6 MOV.L @R15+,R8
+ 00000510 69F6 MOV.L @R15+,R9
+ 00000512 6AF6 MOV.L @R15+,R10
+ 00000514 6BF6 MOV.L @R15+,R11
+ 00000516 6CF6 MOV.L @R15+,R12
+ 00000518 6DF6 MOV.L @R15+,R13
+ 0000051A 000B RTS
+ 0000051C 6EF6 MOV.L @R15+,R14
+ Matris.c 268
+ Matris.c 269 void receive(void)
+ 0000051E _receive: ; function: receive
+ ; frame size=8
+ Matris.c 270 {
+ Matris.c 271 unsigned char receiveadd = 0;
+ 0000051E E300 MOV #0,R3
+ 00000520 4F22 STS.L PR,@-R15
+ 00000522 7FFC ADD #-4,R15
+ 00000524 2F30 MOV.B R3,@R15
+ Matris.c 272
+ Matris.c 273 if(Serial_ReadOneByte(&receiveadd) != 0)
+ 00000526 D334 MOV.L L688+26,R3 ; _Serial_ReadOneByte
+ 00000528 430B JSR @R3
+ 0000052A 64F3 MOV R15,R4
+ 0000052C 2008 TST R0,R0
+ 0000052E 8901 BT L537
+ Matris.c 274 {
+ Matris.c 275 receiveadd = 0;
+ 00000530 E300 MOV #0,R3
+ 00000532 2F30 MOV.B R3,@R15
+ 00000534 L537:
+ Matris.c 276 }
+ Matris.c 277
+ Matris.c 278 receiveline += (receiveadd > 20)?0:receiveadd;
+ 00000534 D52D MOV.L L688+14,R5 ; _receiveline
+ 00000536 E314 MOV #20,R3
+ 00000538 64F0 MOV.B @R15,R4
+ 0000053A 644C EXTU.B R4,R4
+ 0000053C 3437 CMP/GT R3,R4
+ 0000053E 8B01 BF L538
+ 00000540 A001 BRA L539
+ 00000542 E300 MOV #0,R3
+ 00000544 L538:
+ 00000544 6343 MOV R4,R3
+ 00000546 L539:
+ 00000546 6250 MOV.B @R5,R2
+ 00000548 323C ADD R3,R2
+ 0000054A 2520 MOV.B R2,@R5
+ Matris.c 279 }
+ 0000054C 7F04 ADD #4,R15
+ 0000054E 4F26 LDS.L @R15+,PR
+ 00000550 000B RTS
+ 00000552 0009 NOP
+ Matris.c 280
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 18
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 281 void Connect()
+ 00000554 _Connect: ; function: Connect
+ ; frame size=24
+ 00000554 2FE6 MOV.L R14,@-R15
+ 00000556 2FD6 MOV.L R13,@-R15
+ 00000558 4F22 STS.L PR,@-R15
+ 0000055A 7FF4 ADD #-12,R15
+ Matris.c 282 {
+ Matris.c 283 unsigned char connstart = 111;
+ Matris.c 284 unsigned char answer;
+ Matris.c 285 char open_mode[6];
+ Matris.c 286
+ Matris.c 287 PopUpWin(1);
+ 0000055C D327 MOV.L L688+30,R3 ; _PopUpWin
+ 0000055E 430B JSR @R3
+ 00000560 E401 MOV #1,R4
+ Matris.c 288 locate( 5 , 4);
+ 00000562 E504 MOV #4,R5
+ 00000564 D226 MOV.L L688+34,R2 ; _locate
+ 00000566 420B JSR @R2
+ 00000568 E405 MOV #5,R4
+ Matris.c 289 Print("Connecting...");
+ 0000056A D426 MOV.L L688+38,R4 ; L395
+ 0000056C D326 MOV.L L688+42,R3 ; _Print
+ 0000056E 430B JSR @R3
+ 00000570 0009 NOP
+ Matris.c 290 PutDisp_DD();
+ 00000572 D226 MOV.L L688+46,R2 ; _PutDisp_DD
+ 00000574 420B JSR @R2
+ 00000576 0009 NOP
+ Matris.c 291
+ Matris.c 292 open_mode[ 0 ] = 0; // always 0
+ Matris.c 293 open_mode[ 1 ] = 9; // 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400, 8=57600, 9=
+ +115200 baud
+ Matris.c 294 open_mode[ 2 ] = 2; // parity: 0=no; 1=odd; 2=even
+ Matris.c 295 open_mode[ 3 ] = 0; // datalength: 0=8 bit; 1=7 bit
+ Matris.c 296 open_mode[ 4 ] = 0; // stop bits: 0=one; 1=two
+ Matris.c 297 open_mode[ 5 ] = 0; // always 0
+ Matris.c 298
+ Matris.c 299 Serial_Open( &open_mode );
+ 00000578 D325 MOV.L L688+50,R3 ; _Serial_Open
+ 0000057A E400 MOV #0,R4
+ 0000057C 6043 MOV R4,R0
+ 0000057E 80F4 MOV.B R0,@(4,R15)
+ 00000580 E009 MOV #9,R0
+ 00000582 80F5 MOV.B R0,@(5,R15)
+ 00000584 E002 MOV #2,R0
+ 00000586 80F6 MOV.B R0,@(6,R15)
+ 00000588 6043 MOV R4,R0
+ 0000058A 80F7 MOV.B R0,@(7,R15)
+ 0000058C 6043 MOV R4,R0
+ 0000058E 80F8 MOV.B R0,@(8,R15)
+ 00000590 6043 MOV R4,R0
+ 00000592 64F3 MOV R15,R4
+ 00000594 80F9 MOV.B R0,@(9,R15)
+ 00000596 430B JSR @R3
+ 00000598 7404 ADD #4,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 19
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000059A DD17 MOV.L L688+26,R13; _Serial_ReadOneByte
+ 0000059C DE14 MOV.L L688+18,R14; _Serial_BufferedTransmitOneByte
+ Matris.c 300
+ Matris.c 301 do
+ 0000059E L540:
+ Matris.c 302 {
+ Matris.c 303 Serial_BufferedTransmitOneByte(connstart);
+ 0000059E 4E0B JSR @R14
+ 000005A0 E46F MOV #111,R4
+ Matris.c 304 Serial_ReadOneByte(&answer);
+ 000005A2 4D0B JSR @R13
+ 000005A4 64F3 MOV R15,R4
+ Matris.c 305 }while(answer != connstart && !KeyDown(47));
+ 000005A6 60F0 MOV.B @R15,R0
+ 000005A8 600C EXTU.B R0,R0
+ 000005AA 886F CMP/EQ #111,R0
+ 000005AC 8904 BT L541
+ 000005AE D219 MOV.L L688+54,R2 ; _KeyDown
+ 000005B0 420B JSR @R2
+ 000005B2 E42F MOV #47,R4
+ 000005B4 2008 TST R0,R0
+ 000005B6 89F2 BT L540
+ 000005B8 L541:
+ Matris.c 306
+ Matris.c 307 if(!KeyDown(47))connected = True;
+ 000005B8 D216 MOV.L L688+54,R2 ; _KeyDown
+ 000005BA 420B JSR @R2
+ 000005BC E42F MOV #47,R4
+ 000005BE 2008 TST R0,R0
+ 000005C0 8B02 BF L542
+ 000005C2 E201 MOV #1,R2
+ 000005C4 D307 MOV.L L688+6,R3 ; _connected
+ 000005C6 2320 MOV.B R2,@R3
+ 000005C8 L542:
+ Matris.c 308
+ Matris.c 309 if(connected != True)
+ 000005C8 D106 MOV.L L688+6,R1 ; _connected
+ 000005CA 6010 MOV.B @R1,R0
+ 000005CC 8801 CMP/EQ #1,R0
+ 000005CE 8901 BT L543
+ Matris.c 310 {
+ Matris.c 311 Disconnect();
+ 000005D0 BDC3 BSR _Disconnect
+ 000005D2 0009 NOP
+ 000005D4 L543:
+ Matris.c 312 }
+ Matris.c 313 }
+ 000005D4 7F0C ADD #12,R15
+ 000005D6 4F26 LDS.L @R15+,PR
+ 000005D8 6DF6 MOV.L @R15+,R13
+ 000005DA 000B RTS
+ 000005DC 6EF6 MOV.L @R15+,R14
+ 000005DE L688:
+ 000005DE 0000 .DATA.W 0
+ 000005E0 <00000000> .DATA.L __modlu
+ 000005E4 <00000000> .DATA.L _connected
+ 000005E8 <00000000> .DATA.L _sendline
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 20
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000005EC <00000000> .DATA.L _receiveline
+ 000005F0 <00000000> .DATA.L _Serial_BufferedTransmitOneByte
+ 000005F4 <00000000> .DATA.L _globalmap
+ 000005F8 <00000000> .DATA.L _Serial_ReadOneByte
+ 000005FC <00000000> .DATA.L _PopUpWin
+ 00000600 <00000000> .DATA.L _locate
+ 00000604 <00000000> .DATA.L L395
+ 00000608 <00000000> .DATA.L _Print
+ 0000060C <00000000> .DATA.L _PutDisp_DD
+ 00000610 <00000000> .DATA.L _Serial_Open
+ 00000614 <00000000> .DATA.L _KeyDown
+ Matris.c 314
+ Matris.c 315 void SwapPieces()
+ 00000618 _SwapPieces: ; function: SwapPieces
+ ; frame size=8
+ ; used runtime library name:
+ ; __modlu
+ 00000618 4F22 STS.L PR,@-R15
+ 0000061A 7FFC ADD #-4,R15
+ Matris.c 316 {
+ Matris.c 317 char save;
+ Matris.c 318 if(canswap == True)
+ 0000061C D33F MOV.L L690+2,R3 ; _canswap
+ 0000061E 6030 MOV.B @R3,R0
+ 00000620 8801 CMP/EQ #1,R0
+ 00000622 8B20 BF L544
+ Matris.c 319 {
+ Matris.c 320 save = block;
+ 00000624 D53E MOV.L L690+6,R5 ; _block
+ 00000626 6150 MOV.B @R5,R1
+ 00000628 D23E MOV.L L690+10,R2 ; _hold
+ 0000062A 2F10 MOV.B R1,@R15
+ 0000062C 6420 MOV.B @R2,R4
+ 0000062E 614E EXTS.B R4,R1
+ 00000630 2118 TST R1,R1
+ 00000632 8B0B BF L545
+ Matris.c 321 if(hold == 0)
+ Matris.c 322 {
+ Matris.c 323 block = nextblock;
+ 00000634 D03C MOV.L L690+14,R0 ; _nextblock
+ 00000636 6100 MOV.B @R0,R1
+ Matris.c 324 nextblock = (kiss() % 7) + 1;
+ 00000638 BD0B BSR _kiss
+ 0000063A 2510 MOV.B R1,@R5
+ 0000063C D23B MOV.L L690+18,R2 ; __modlu
+ 0000063E 6103 MOV R0,R1
+ 00000640 420B JSR @R2
+ 00000642 E007 MOV #7,R0
+ 00000644 D338 MOV.L L690+14,R3 ; _nextblock
+ 00000646 7001 ADD #1,R0
+ 00000648 A001 BRA L546
+ 0000064A 2300 MOV.B R0,@R3
+ 0000064C L545:
+ Matris.c 325 }
+ Matris.c 326 else
+ Matris.c 327 {
+ Matris.c 328 block = hold;
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 21
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000064C 2540 MOV.B R4,@R5
+ 0000064E L546:
+ Matris.c 329 }
+ Matris.c 330 hold = save;
+ Matris.c 331 xpos = 7;
+ 0000064E E107 MOV #7,R1
+ 00000650 63F0 MOV.B @R15,R3
+ Matris.c 332 ypos = 3;
+ 00000652 E003 MOV #3,R0
+ 00000654 D233 MOV.L L690+10,R2 ; _hold
+ 00000656 2230 MOV.B R3,@R2
+ 00000658 D335 MOV.L L690+22,R3 ; _xpos
+ Matris.c 333 dir = 0;
+ 0000065A E200 MOV #0,R2
+ 0000065C 2312 MOV.L R1,@R3
+ 0000065E D135 MOV.L L690+26,R1 ; _ypos
+ 00000660 2102 MOV.L R0,@R1
+ 00000662 D035 MOV.L L690+30,R0 ; _dir
+ 00000664 2020 MOV.B R2,@R0
+ 00000666 L544:
+ Matris.c 334 }
+ Matris.c 335 canswap = False;
+ 00000666 E300 MOV #0,R3
+ 00000668 D12C MOV.L L690+2,R1 ; _canswap
+ 0000066A 2130 MOV.B R3,@R1
+ Matris.c 336 }
+ 0000066C 7F04 ADD #4,R15
+ 0000066E 4F26 LDS.L @R15+,PR
+ 00000670 000B RTS
+ 00000672 0009 NOP
+ Matris.c 337
+ Matris.c 338 void Rotate()
+ 00000674 _Rotate: ; function: Rotate
+ ; frame size=8
+ 00000674 2FE6 MOV.L R14,@-R15
+ 00000676 4F22 STS.L PR,@-R15
+ Matris.c 339 {
+ Matris.c 340 if(++dir == 4)
+ 00000678 DE2F MOV.L L690+30,R14; _dir
+ 0000067A 60E0 MOV.B @R14,R0
+ 0000067C 7001 ADD #1,R0
+ 0000067E 2E00 MOV.B R0,@R14
+ 00000680 600E EXTS.B R0,R0
+ 00000682 8804 CMP/EQ #4,R0
+ 00000684 8B01 BF L547
+ Matris.c 341 {
+ Matris.c 342 dir = 0;
+ 00000686 E200 MOV #0,R2
+ 00000688 2E20 MOV.B R2,@R14
+ 0000068A L547:
+ Matris.c 343 }
+ Matris.c 344
+ Matris.c 345 if(DrawSprite() == False)
+ 0000068A D32C MOV.L L690+34,R3 ; _DrawSprite
+ 0000068C 430B JSR @R3
+ 0000068E 0009 NOP
+ 00000690 2008 TST R0,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 22
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000692 8B07 BF L548
+ Matris.c 346 {
+ Matris.c 347 dir = (dir == 0)? 3 : dir - 1;
+ 00000694 64E0 MOV.B @R14,R4
+ 00000696 2448 TST R4,R4
+ 00000698 8B01 BF L549
+ 0000069A A002 BRA L550
+ 0000069C E303 MOV #3,R3
+ 0000069E L549:
+ 0000069E 6343 MOV R4,R3
+ 000006A0 73FF ADD #-1,R3
+ 000006A2 L550:
+ 000006A2 2E30 MOV.B R3,@R14
+ 000006A4 L548:
+ Matris.c 348 }
+ Matris.c 349 }
+ 000006A4 4F26 LDS.L @R15+,PR
+ 000006A6 000B RTS
+ 000006A8 6EF6 MOV.L @R15+,R14
+ Matris.c 350
+ Matris.c 351 void MoveBlock()
+ 000006AA _MoveBlock: ; function: MoveBlock
+ ; frame size=12
+ 000006AA 2FE6 MOV.L R14,@-R15
+ 000006AC 2FD6 MOV.L R13,@-R15
+ 000006AE 4F22 STS.L PR,@-R15
+ Matris.c 352 {
+ Matris.c 353 switch (nextdir)
+ 000006B0 D41F MOV.L L690+22,R4 ; _xpos
+ 000006B2 DE23 MOV.L L690+38,R14; _nextdir
+ 000006B4 60E0 MOV.B @R14,R0
+ 000006B6 88FF CMP/EQ #-1,R0
+ 000006B8 8D08 BT/S L494
+ 000006BA ED00 MOV #0,R13
+ 000006BC 8801 CMP/EQ #1,R0
+ 000006BE 890D BT L495
+ 000006C0 8814 CMP/EQ #20,R0
+ 000006C2 8913 BT L496
+ 000006C4 880A CMP/EQ #10,R0
+ 000006C6 8915 BT L497
+ 000006C8 A017 BRA L551
+ 000006CA 0009 NOP
+ 000006CC L494: ; case label
+ Matris.c 354 {
+ Matris.c 355 case Left : if(left == True) {xpos ++;} nextdir = Down;break;
+ 000006CC D31D MOV.L L690+42,R3 ; _left
+ 000006CE 6030 MOV.B @R3,R0
+ 000006D0 8801 CMP/EQ #1,R0
+ 000006D2 8B11 BF L676
+ 000006D4 6142 MOV.L @R4,R1
+ 000006D6 7101 ADD #1,R1
+ 000006D8 A00E BRA L676
+ 000006DA 2412 MOV.L R1,@R4
+ 000006DC L495: ; case label
+ Matris.c 356 case Right: if(right == True){xpos --;}nextdir = Down;break;
+ 000006DC D31A MOV.L L690+46,R3 ; _right
+ 000006DE 6030 MOV.B @R3,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 23
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000006E0 8801 CMP/EQ #1,R0
+ 000006E2 8B09 BF L676
+ 000006E4 6142 MOV.L @R4,R1
+ 000006E6 71FF ADD #-1,R1
+ 000006E8 A006 BRA L676
+ 000006EA 2412 MOV.L R1,@R4
+ 000006EC L496: ; case label
+ Matris.c 357 case Rot : Rotate();nextdir = Down;break;
+ 000006EC BFC2 BSR _Rotate
+ 000006EE 0009 NOP
+ 000006F0 A002 BRA L676
+ 000006F2 0009 NOP
+ 000006F4 L497: ; case label
+ Matris.c 358 case Swap: SwapPieces();nextdir = Down;break;
+ 000006F4 BF90 BSR _SwapPieces
+ 000006F6 0009 NOP
+ 000006F8 L676:
+ 000006F8 2ED0 MOV.B R13,@R14
+ 000006FA L551:
+ Matris.c 359 }
+ Matris.c 360
+ Matris.c 361 if(nextdir == Fast && (int)slowyposdown == slowyposdown)
+ 000006FA 60E0 MOV.B @R14,R0
+ 000006FC 881E CMP/EQ #30,R0
+ 000006FE 8B08 BF L554
+ 00000700 D312 MOV.L L690+50,R3 ; _slowyposdown
+ 00000702 6230 MOV.B @R3,R2
+ 00000704 6130 MOV.B @R3,R1
+ 00000706 3210 CMP/EQ R1,R2
+ 00000708 8B03 BF L554
+ Matris.c 362 {
+ Matris.c 363 points += 1;
+ 0000070A D411 MOV.L L690+54,R4 ; _points
+ 0000070C 6342 MOV.L @R4,R3
+ 0000070E 7301 ADD #1,R3
+ 00000710 2432 MOV.L R3,@R4
+ 00000712 L554:
+ Matris.c 364 }
+ Matris.c 365 }
+ 00000712 4F26 LDS.L @R15+,PR
+ 00000714 6DF6 MOV.L @R15+,R13
+ 00000716 000B RTS
+ 00000718 6EF6 MOV.L @R15+,R14
+ 0000071A L690:
+ 0000071A 0000 .DATA.W 0
+ 0000071C <00000000> .DATA.L _canswap
+ 00000720 <00000000> .DATA.L _block
+ 00000724 <00000000> .DATA.L _hold
+ 00000728 <00000000> .DATA.L _nextblock
+ 0000072C <00000000> .DATA.L __modlu
+ 00000730 <00000000> .DATA.L _xpos
+ 00000734 <00000000> .DATA.L _ypos
+ 00000738 <00000000> .DATA.L _dir
+ 0000073C <00000000> .DATA.L _DrawSprite
+ 00000740 <00000000> .DATA.L _nextdir
+ 00000744 <00000000> .DATA.L _left
+ 00000748 <00000000> .DATA.L _right
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 24
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000074C <00000000> .DATA.L _slowyposdown
+ 00000750 <00000000> .DATA.L _points
+ Matris.c 366
+ Matris.c 367 void CheckPoints()
+ 00000754 _CheckPoints: ; function: CheckPoints
+ ; frame size=80
+ ; used runtime library name:
+ ; __divls
+ 00000754 2FE6 MOV.L R14,@-R15
+ 00000756 2FD6 MOV.L R13,@-R15
+ 00000758 2FC6 MOV.L R12,@-R15
+ 0000075A 2FB6 MOV.L R11,@-R15
+ 0000075C 2FA6 MOV.L R10,@-R15
+ Matris.c 368 {
+ Matris.c 369 char typecount = 0;
+ 0000075E EA00 MOV #0,R10
+ 00000760 DC88 MOV.L L691,R12 ; _globalmap
+ 00000762 60A3 MOV R10,R0
+ Matris.c 370 char oldlevel;
+ Matris.c 371 int xcount, ycount;
+ Matris.c 372 int ycount2, ycount3;
+ Matris.c 373 char fulllinecount = 0;
+ Matris.c 374
+ Matris.c 375 for(xcount = 0; xcount < 10; xcount ++)
+ 00000764 D688 MOV.L L691+4,R6 ; _exit
+ 00000766 65C3 MOV R12,R5
+ 00000768 2F96 MOV.L R9,@-R15
+ 0000076A 64C3 MOV R12,R4
+ 0000076C 2F86 MOV.L R8,@-R15
+ 0000076E 750A ADD #10,R5
+ 00000770 4F22 STS.L PR,@-R15
+ 00000772 3452 CMP/HS R5,R4
+ 00000774 4F12 STS.L MACL,@-R15
+ 00000776 7FF4 ADD #-12,R15
+ 00000778 8D08 BT/S L555
+ 0000077A 80F8 MOV.B R0,@(8,R15)
+ 0000077C L556:
+ Matris.c 376 {
+ Matris.c 377 if(globalmap[0][xcount] != 0)
+ 0000077C 6240 MOV.B @R4,R2
+ 0000077E 2228 TST R2,R2
+ 00000780 8D02 BT/S L557
+ 00000782 7401 ADD #1,R4
+ Matris.c 378 {
+ Matris.c 379 exit = True;
+ 00000784 E101 MOV #1,R1
+ 00000786 2610 MOV.B R1,@R6
+ 00000788 L557:
+ 00000788 3452 CMP/HS R5,R4
+ 0000078A 8BF7 BF L556
+ 0000078C L555:
+ Matris.c 380 //game over
+ Matris.c 381 }
+ Matris.c 382 }
+ Matris.c 383
+ Matris.c 384 for(ycount = 0; ycount < 20; ycount ++)
+ 0000078C 1FA1 MOV.L R10,@(4,R15)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 25
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000078E E90A MOV #10,R9
+ 00000790 DB7E MOV.L L691+8,R11 ; _pScreen
+ 00000792 L558:
+ Matris.c 385 {
+ Matris.c 386 fulllinecount = 0;
+ 00000792 67A3 MOV R10,R7
+ 00000794 54F1 MOV.L @(4,R15),R4
+ 00000796 66C3 MOV R12,R6
+ Matris.c 387 for(xcount = 0; xcount < 10; xcount ++)
+ 00000798 65A3 MOV R10,R5
+ 0000079A 6343 MOV R4,R3
+ 0000079C 4408 SHLL2 R4
+ 0000079E 343C ADD R3,R4
+ 000007A0 4400 SHLL R4
+ 000007A2 34CC ADD R12,R4
+ 000007A4 L560:
+ Matris.c 388 {
+ Matris.c 389 if(globalmap[ycount][xcount] != 0)
+ 000007A4 6340 MOV.B @R4,R3
+ 000007A6 2338 TST R3,R3
+ 000007A8 8904 BT L559
+ Matris.c 390 {
+ Matris.c 391 fulllinecount ++;
+ 000007AA 7701 ADD #1,R7
+ 000007AC 7501 ADD #1,R5
+ 000007AE 3593 CMP/GE R9,R5
+ 000007B0 8FF8 BF/S L560
+ 000007B2 7401 ADD #1,R4
+ 000007B4 L559:
+ Matris.c 392 }
+ Matris.c 393 else
+ Matris.c 394 {
+ Matris.c 395 break;
+ Matris.c 396 }
+ Matris.c 397 }
+ Matris.c 398
+ Matris.c 399 if(fulllinecount == 10)
+ 000007B4 607E EXTS.B R7,R0
+ 000007B6 880A CMP/EQ #10,R0
+ 000007B8 8901 BT L692
+ 000007BA A102 BRA L564
+ 000007BC 0009 NOP
+ 000007BE L692:
+ Matris.c 400 {
+ Matris.c 401 typecount ++;
+ 000007BE 84F8 MOV.B @(8,R15),R0
+ 000007C0 7001 ADD #1,R0
+ 000007C2 80F8 MOV.B R0,@(8,R15)
+ Matris.c 402
+ Matris.c 403 //1: single, 2: double, 3: triple line, 4: tetris (maximum)
+ Matris.c 404
+ Matris.c 405 for(ycount2 = ycount; ycount2 > 0; ycount2 --)
+ 000007C4 55F1 MOV.L @(4,R15),R5
+ 000007C6 6D53 MOV R5,R13
+ 000007C8 6353 MOV R5,R3
+ 000007CA 4D08 SHLL2 R13
+ 000007CC 3D3C ADD R3,R13
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 26
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000007CE 4D00 SHLL R13
+ 000007D0 3D6C ADD R6,R13
+ 000007D2 6E53 MOV R5,R14
+ 000007D4 7EFF ADD #-1,R14
+ 000007D6 63E3 MOV R14,R3
+ 000007D8 4E08 SHLL2 R14
+ 000007DA 3E3C ADD R3,R14
+ 000007DC 4E00 SHLL R14
+ 000007DE 4515 CMP/PL R5
+ 000007E0 8F11 BF/S L565
+ 000007E2 3E6C ADD R6,R14
+ 000007E4 L566:
+ Matris.c 406 {
+ Matris.c 407 for(xcount = 0; xcount < 10; xcount ++)
+ 000007E4 66A3 MOV R10,R6
+ 000007E6 67E3 MOV R14,R7
+ 000007E8 64D3 MOV R13,R4
+ 000007EA L568:
+ 000007EA 7602 ADD #2,R6
+ Matris.c 408 {
+ Matris.c 409 globalmap[ycount2][xcount] = globalmap[ycount2 - 1][xcount];
+ 000007EC 6374 MOV.B @R7+,R3
+ 000007EE 3693 CMP/GE R9,R6
+ 000007F0 2430 MOV.B R3,@R4
+ 000007F2 7401 ADD #1,R4
+ 000007F4 6374 MOV.B @R7+,R3
+ 000007F6 2430 MOV.B R3,@R4
+ 000007F8 8FF7 BF/S L568
+ 000007FA 7401 ADD #1,R4
+ 000007FC 75FF ADD #-1,R5
+ 000007FE 7DF6 ADD #-10,R13
+ 00000800 4515 CMP/PL R5
+ 00000802 8DEF BT/S L566
+ 00000804 7EF6 ADD #-10,R14
+ 00000806 L565:
+ Matris.c 410 //move averything
+ Matris.c 411 }
+ Matris.c 412 }
+ Matris.c 413
+ Matris.c 414 line(pScreen, 0 , 0 , 81 , 0, 1);
+ 00000806 E201 MOV #1,R2
+ 00000808 D361 MOV.L L691+12,R3 ; _line
+ 0000080A E751 MOV #81,R7
+ 0000080C 2F26 MOV.L R2,@-R15
+ 0000080E E600 MOV #0,R6
+ 00000810 2FA6 MOV.L R10,@-R15
+ 00000812 6563 MOV R6,R5
+ 00000814 430B JSR @R3
+ 00000816 64B2 MOV.L @R11,R4
+ Matris.c 415 line(pScreen, 0 , 0 , 0 , 41, 1);
+ 00000818 D15D MOV.L L691+12,R1 ; _line
+ 0000081A E201 MOV #1,R2
+ 0000081C 2F26 MOV.L R2,@-R15
+ 0000081E E329 MOV #41,R3
+ 00000820 2F36 MOV.L R3,@-R15
+ 00000822 E700 MOV #0,R7
+ 00000824 6673 MOV R7,R6
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 27
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000826 6573 MOV R7,R5
+ 00000828 410B JSR @R1
+ 0000082A 64B2 MOV.L @R11,R4
+ Matris.c 416 line(pScreen, 81 , 0 , 81 , 41, 1);
+ 0000082C D158 MOV.L L691+12,R1 ; _line
+ 0000082E E301 MOV #1,R3
+ 00000830 2F36 MOV.L R3,@-R15
+ 00000832 E229 MOV #41,R2
+ 00000834 2F26 MOV.L R2,@-R15
+ 00000836 E751 MOV #81,R7
+ 00000838 E600 MOV #0,R6
+ 0000083A 6573 MOV R7,R5
+ 0000083C 410B JSR @R1
+ 0000083E 64B2 MOV.L @R11,R4
+ Matris.c 417 line(pScreen, 81 , 41 , 0 , 41, 1);
+ 00000840 D153 MOV.L L691+12,R1 ; _line
+ 00000842 E301 MOV #1,R3
+ 00000844 2F36 MOV.L R3,@-R15
+ 00000846 E229 MOV #41,R2
+ 00000848 2F26 MOV.L R2,@-R15
+ 0000084A E700 MOV #0,R7
+ 0000084C 6623 MOV R2,R6
+ 0000084E E551 MOV #81,R5
+ 00000850 410B JSR @R1
+ 00000852 64B2 MOV.L @R11,R4
+ 00000854 7F20 ADD #32,R15
+ Matris.c 418
+ Matris.c 419 for(ycount3 = 0; ycount3 < 20; ycount3 ++)
+ 00000856 68A3 MOV R10,R8
+ 00000858 L569:
+ Matris.c 420 {
+ Matris.c 421 for(xcount = 0; xcount < 10; xcount ++)
+ 00000858 6EA3 MOV R10,R14
+ 0000085A 6D83 MOV R8,R13
+ 0000085C 6383 MOV R8,R3
+ 0000085E 4D08 SHLL2 R13
+ 00000860 3D3C ADD R3,R13
+ 00000862 4D00 SHLL R13
+ 00000864 L571:
+ Matris.c 422 {
+ Matris.c 423 if(globalmap[ycount3][xcount] != 0 || changemap[ycount3][xcount] !
+ += 0)
+ 00000864 60D3 MOV R13,R0
+ 00000866 30CC ADD R12,R0
+ 00000868 03EC MOV.B @(R0,R14),R3
+ 0000086A 2338 TST R3,R3
+ 0000086C 8B05 BF L573
+ 0000086E D149 MOV.L L691+16,R1 ; _changemap
+ 00000870 31DC ADD R13,R1
+ 00000872 31EC ADD R14,R1
+ 00000874 6310 MOV.B @R1,R3
+ 00000876 2338 TST R3,R3
+ 00000878 8911 BT L572
+ 0000087A L573:
+ Matris.c 424 {
+ Matris.c 425 fillbox(pScreen, ycount3, xcount, (globalmap[ycount3][xcou
+ +nt] != 0)? globalmap[ycount3][xcount] - 1 : changemap[ycount3][xcount] - 1);
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 28
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000087A 60D3 MOV R13,R0
+ 0000087C 30CC ADD R12,R0
+ 0000087E 07EC MOV.B @(R0,R14),R7
+ 00000880 2778 TST R7,R7
+ 00000882 8D02 BT/S L574
+ 00000884 2F72 MOV.L R7,@R15
+ 00000886 A004 BRA L677
+ 00000888 67F2 MOV.L @R15,R7
+ 0000088A L574:
+ 0000088A D742 MOV.L L691+16,R7 ; _changemap
+ 0000088C 37DC ADD R13,R7
+ 0000088E 37EC ADD R14,R7
+ 00000890 6770 MOV.B @R7,R7
+ 00000892 L677:
+ 00000892 77FF ADD #-1,R7
+ 00000894 D240 MOV.L L691+20,R2 ; _fillbox
+ 00000896 66E3 MOV R14,R6
+ 00000898 6583 MOV R8,R5
+ 0000089A 420B JSR @R2
+ 0000089C 64B2 MOV.L @R11,R4
+ 0000089E L572:
+ 0000089E 7E01 ADD #1,R14
+ 000008A0 60D3 MOV R13,R0
+ 000008A2 30CC ADD R12,R0
+ 000008A4 03EC MOV.B @(R0,R14),R3
+ 000008A6 2338 TST R3,R3
+ 000008A8 8B05 BF L577
+ 000008AA D13A MOV.L L691+16,R1 ; _changemap
+ 000008AC 31DC ADD R13,R1
+ 000008AE 31EC ADD R14,R1
+ 000008B0 6310 MOV.B @R1,R3
+ 000008B2 2338 TST R3,R3
+ 000008B4 8911 BT L576
+ 000008B6 L577:
+ 000008B6 60D3 MOV R13,R0
+ 000008B8 30CC ADD R12,R0
+ 000008BA 07EC MOV.B @(R0,R14),R7
+ 000008BC 2778 TST R7,R7
+ 000008BE 8D02 BT/S L578
+ 000008C0 2F72 MOV.L R7,@R15
+ 000008C2 A004 BRA L678
+ 000008C4 67F2 MOV.L @R15,R7
+ 000008C6 L578:
+ 000008C6 D733 MOV.L L691+16,R7 ; _changemap
+ 000008C8 37DC ADD R13,R7
+ 000008CA 37EC ADD R14,R7
+ 000008CC 6770 MOV.B @R7,R7
+ 000008CE L678:
+ 000008CE 77FF ADD #-1,R7
+ 000008D0 D231 MOV.L L691+20,R2 ; _fillbox
+ 000008D2 66E3 MOV R14,R6
+ 000008D4 6583 MOV R8,R5
+ 000008D6 420B JSR @R2
+ 000008D8 64B2 MOV.L @R11,R4
+ 000008DA L576:
+ 000008DA 7E01 ADD #1,R14
+ 000008DC 60D3 MOV R13,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 29
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000008DE 30CC ADD R12,R0
+ 000008E0 03EC MOV.B @(R0,R14),R3
+ 000008E2 2338 TST R3,R3
+ 000008E4 8B05 BF L581
+ 000008E6 D12B MOV.L L691+16,R1 ; _changemap
+ 000008E8 31DC ADD R13,R1
+ 000008EA 31EC ADD R14,R1
+ 000008EC 6310 MOV.B @R1,R3
+ 000008EE 2338 TST R3,R3
+ 000008F0 8911 BT L580
+ 000008F2 L581:
+ 000008F2 60D3 MOV R13,R0
+ 000008F4 30CC ADD R12,R0
+ 000008F6 07EC MOV.B @(R0,R14),R7
+ 000008F8 2778 TST R7,R7
+ 000008FA 8D02 BT/S L582
+ 000008FC 2F72 MOV.L R7,@R15
+ 000008FE A004 BRA L679
+ 00000900 67F2 MOV.L @R15,R7
+ 00000902 L582:
+ 00000902 D724 MOV.L L691+16,R7 ; _changemap
+ 00000904 37DC ADD R13,R7
+ 00000906 37EC ADD R14,R7
+ 00000908 6770 MOV.B @R7,R7
+ 0000090A L679:
+ 0000090A 77FF ADD #-1,R7
+ 0000090C D222 MOV.L L691+20,R2 ; _fillbox
+ 0000090E 66E3 MOV R14,R6
+ 00000910 6583 MOV R8,R5
+ 00000912 420B JSR @R2
+ 00000914 64B2 MOV.L @R11,R4
+ 00000916 L580:
+ 00000916 7E01 ADD #1,R14
+ 00000918 60D3 MOV R13,R0
+ 0000091A 30CC ADD R12,R0
+ 0000091C 03EC MOV.B @(R0,R14),R3
+ 0000091E 2338 TST R3,R3
+ 00000920 8B05 BF L585
+ 00000922 D11C MOV.L L691+16,R1 ; _changemap
+ 00000924 31DC ADD R13,R1
+ 00000926 31EC ADD R14,R1
+ 00000928 6310 MOV.B @R1,R3
+ 0000092A 2338 TST R3,R3
+ 0000092C 8911 BT L584
+ 0000092E L585:
+ 0000092E 60D3 MOV R13,R0
+ 00000930 30CC ADD R12,R0
+ 00000932 07EC MOV.B @(R0,R14),R7
+ 00000934 2778 TST R7,R7
+ 00000936 8D02 BT/S L586
+ 00000938 2F72 MOV.L R7,@R15
+ 0000093A A004 BRA L680
+ 0000093C 67F2 MOV.L @R15,R7
+ 0000093E L586:
+ 0000093E D715 MOV.L L691+16,R7 ; _changemap
+ 00000940 37DC ADD R13,R7
+ 00000942 37EC ADD R14,R7
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 30
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000944 6770 MOV.B @R7,R7
+ 00000946 L680:
+ 00000946 77FF ADD #-1,R7
+ 00000948 D213 MOV.L L691+20,R2 ; _fillbox
+ 0000094A 66E3 MOV R14,R6
+ 0000094C 6583 MOV R8,R5
+ 0000094E 420B JSR @R2
+ 00000950 64B2 MOV.L @R11,R4
+ 00000952 L584:
+ 00000952 7E01 ADD #1,R14
+ 00000954 E306 MOV #6,R3
+ 00000956 3E33 CMP/GE R3,R14
+ 00000958 8B84 BF L571
+ 0000095A 3E93 CMP/GE R9,R14
+ 0000095C 892B BT L588
+ 0000095E L589:
+ 0000095E 60D3 MOV R13,R0
+ 00000960 30CC ADD R12,R0
+ 00000962 03EC MOV.B @(R0,R14),R3
+ 00000964 2338 TST R3,R3
+ 00000966 8B05 BF L591
+ 00000968 D10A MOV.L L691+16,R1 ; _changemap
+ 0000096A 31DC ADD R13,R1
+ 0000096C 31EC ADD R14,R1
+ 0000096E 6310 MOV.B @R1,R3
+ 00000970 2338 TST R3,R3
+ 00000972 891D BT L590
+ 00000974 L591:
+ 00000974 60D3 MOV R13,R0
+ 00000976 30CC ADD R12,R0
+ 00000978 07EC MOV.B @(R0,R14),R7
+ 0000097A 2778 TST R7,R7
+ 0000097C 8D0E BT/S L592
+ 0000097E 2F72 MOV.L R7,@R15
+ 00000980 A010 BRA L681
+ 00000982 67F2 MOV.L @R15,R7
+ 00000984 L691:
+ 00000984 <00000000> .DATA.L _globalmap
+ 00000988 <00000000> .DATA.L _exit
+ 0000098C <00000000> .DATA.L _pScreen
+ 00000990 <00000000> .DATA.L _line
+ 00000994 <00000000> .DATA.L _changemap
+ 00000998 <00000000> .DATA.L _fillbox
+ 0000099C L592:
+ 0000099C D73C MOV.L L693+8,R7 ; _changemap
+ 0000099E 37DC ADD R13,R7
+ 000009A0 37EC ADD R14,R7
+ 000009A2 6770 MOV.B @R7,R7
+ 000009A4 L681:
+ 000009A4 D23B MOV.L L693+12,R2 ; _fillbox
+ 000009A6 77FF ADD #-1,R7
+ 000009A8 66E3 MOV R14,R6
+ 000009AA 6583 MOV R8,R5
+ 000009AC 420B JSR @R2
+ 000009AE 64B2 MOV.L @R11,R4
+ 000009B0 L590:
+ 000009B0 7E01 ADD #1,R14
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 31
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000009B2 3E93 CMP/GE R9,R14
+ 000009B4 8BD3 BF L589
+ 000009B6 L588:
+ 000009B6 7801 ADD #1,R8
+ 000009B8 E214 MOV #20,R2
+ 000009BA 3823 CMP/GE R2,R8
+ 000009BC 8901 BT L694
+ 000009BE AF4B BRA L569
+ 000009C0 0009 NOP
+ 000009C2 L694:
+ 000009C2 L564:
+ 000009C2 E314 MOV #20,R3
+ 000009C4 51F1 MOV.L @(4,R15),R1
+ 000009C6 7101 ADD #1,R1
+ 000009C8 3133 CMP/GE R3,R1
+ 000009CA 8D02 BT/S L695
+ 000009CC 1F11 MOV.L R1,@(4,R15)
+ 000009CE AEE0 BRA L558
+ 000009D0 0009 NOP
+ 000009D2 L695:
+ 000009D2 84F8 MOV.B @(8,R15),R0
+ 000009D4 6E03 MOV R0,R14
+ 000009D6 4E15 CMP/PL R14
+ 000009D8 8B4B BF L594
+ Matris.c 426 }
+ Matris.c 427 }
+ Matris.c 428 }
+ Matris.c 429 }
+ Matris.c 430 }
+ Matris.c 431 if(typecount > 0)
+ Matris.c 432 {
+ Matris.c 433 int blink;
+ Matris.c 434
+ Matris.c 435 points += (typecount == 1)? 40 * (level + 1): (typecount == 2)? 100 * level : (typecount =
+ += 3)? 300 *(level + 1): (typecount == 4)? 1200 * (level + 1) : 0;
+ 000009DA 60E3 MOV R14,R0
+ 000009DC D42E MOV.L L693+16,R4 ; _points
+ 000009DE 8801 CMP/EQ #1,R0
+ 000009E0 8B08 BF L595
+ 000009E2 D32E MOV.L L693+20,R3 ; _level
+ 000009E4 6230 MOV.B @R3,R2
+ 000009E6 7201 ADD #1,R2
+ 000009E8 6123 MOV R2,R1
+ 000009EA 4208 SHLL2 R2
+ 000009EC 321C ADD R1,R2
+ 000009EE 4208 SHLL2 R2
+ 000009F0 A01B BRA L599
+ 000009F2 4200 SHLL R2
+ 000009F4 L595:
+ 000009F4 8802 CMP/EQ #2,R0
+ 000009F6 8B04 BF L596
+ 000009F8 D328 MOV.L L693+20,R3 ; _level
+ 000009FA E164 MOV #100,R1
+ 000009FC 6230 MOV.B @R3,R2
+ 000009FE A011 BRA L683
+ 00000A00 221F MULS R1,R2
+ 00000A02 L596:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 32
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000A02 60E3 MOV R14,R0
+ 00000A04 8803 CMP/EQ #3,R0
+ 00000A06 8B06 BF L597
+ 00000A08 D324 MOV.L L693+20,R3 ; _level
+ 00000A0A 6230 MOV.B @R3,R2
+ 00000A0C 913C MOV.W L693,R1 ; H'012C
+ 00000A0E 7201 ADD #1,R2
+ 00000A10 0217 MUL.L R1,R2
+ 00000A12 A007 BRA L683
+ 00000A14 0009 NOP
+ 00000A16 L597:
+ 00000A16 8804 CMP/EQ #4,R0
+ 00000A18 8B06 BF L598
+ 00000A1A D320 MOV.L L693+20,R3 ; _level
+ 00000A1C 9135 MOV.W L693+2,R1 ; H'04B0
+ 00000A1E 6230 MOV.B @R3,R2
+ 00000A20 7201 ADD #1,R2
+ 00000A22 0217 MUL.L R1,R2
+ 00000A24 L683:
+ 00000A24 A001 BRA L599
+ 00000A26 021A STS MACL,R2
+ 00000A28 L598:
+ 00000A28 E200 MOV #0,R2
+ 00000A2A L599:
+ Matris.c 436 //increment points
+ Matris.c 437
+ Matris.c 438 sendline = (typecount == 4)? 4 : typecount - 1;
+ 00000A2A 60E3 MOV R14,R0
+ 00000A2C 6342 MOV.L @R4,R3
+ 00000A2E 8804 CMP/EQ #4,R0
+ 00000A30 332C ADD R2,R3
+ 00000A32 2432 MOV.L R3,@R4
+ 00000A34 8B01 BF L603
+ 00000A36 A002 BRA L604
+ 00000A38 E204 MOV #4,R2
+ 00000A3A L603:
+ 00000A3A 62E3 MOV R14,R2
+ 00000A3C 72FF ADD #-1,R2
+ 00000A3E L604:
+ 00000A3E D318 MOV.L L693+24,R3 ; _sendline
+ Matris.c 439 //send a line, if not tetris send lines - 1
+ Matris.c 440 oldlevel = level;
+ 00000A40 D416 MOV.L L693+20,R4 ; _level
+ 00000A42 2320 MOV.B R2,@R3
+ 00000A44 6540 MOV.B @R4,R5
+ Matris.c 441 level += typecount;
+ 00000A46 84F8 MOV.B @(8,R15),R0
+ 00000A48 6140 MOV.B @R4,R1
+ 00000A4A 310C ADD R0,R1
+ 00000A4C 2410 MOV.B R1,@R4
+ Matris.c 442 if((int)(level / 10) != (int)(oldlevel / 10) && level < 200)
+ 00000A4E 6640 MOV.B @R4,R6
+ 00000A50 D214 MOV.L L693+28,R2 ; __divls
+ 00000A52 6163 MOV R6,R1
+ 00000A54 420B JSR @R2
+ 00000A56 6093 MOV R9,R0
+ 00000A58 D212 MOV.L L693+28,R2 ; __divls
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 33
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000A5A 6303 MOV R0,R3
+ 00000A5C 615E EXTS.B R5,R1
+ 00000A5E 420B JSR @R2
+ 00000A60 6093 MOV R9,R0
+ 00000A62 3300 CMP/EQ R0,R3
+ 00000A64 8905 BT L594
+ 00000A66 9311 MOV.W L693+4,R3 ; H'00C8
+ 00000A68 3633 CMP/GE R3,R6
+ 00000A6A 8902 BT L594
+ Matris.c 443 {
+ Matris.c 444 levelchanged = True;
+ 00000A6C D20E MOV.L L693+32,R2 ; _levelchanged
+ 00000A6E E101 MOV #1,R1
+ 00000A70 2210 MOV.B R1,@R2
+ 00000A72 L594:
+ Matris.c 445 //level = round cleared lines / 10
+ Matris.c 446 }
+ Matris.c 447 }
+ Matris.c 448 Transfer();
+ 00000A72 7F0C ADD #12,R15
+ 00000A74 4F16 LDS.L @R15+,MACL
+ 00000A76 4F26 LDS.L @R15+,PR
+ 00000A78 68F6 MOV.L @R15+,R8
+ 00000A7A 69F6 MOV.L @R15+,R9
+ 00000A7C 6AF6 MOV.L @R15+,R10
+ 00000A7E 6BF6 MOV.L @R15+,R11
+ 00000A80 6CF6 MOV.L @R15+,R12
+ 00000A82 6DF6 MOV.L @R15+,R13
+ 00000A84 AC98 BRA _Transfer
+ 00000A86 6EF6 MOV.L @R15+,R14
+ 00000A88 L693:
+ 00000A88 012C .DATA.W H'012C
+ 00000A8A 04B0 .DATA.W H'04B0
+ 00000A8C 00C8 .DATA.W H'00C8
+ 00000A8E 0000 .DATA.W 0
+ 00000A90 <00000000> .DATA.L _changemap
+ 00000A94 <00000000> .DATA.L _fillbox
+ 00000A98 <00000000> .DATA.L _points
+ 00000A9C <00000000> .DATA.L _level
+ 00000AA0 <00000000> .DATA.L _sendline
+ 00000AA4 <00000000> .DATA.L __divls
+ 00000AA8 <00000000> .DATA.L _levelchanged
+ Matris.c 449 }
+ Matris.c 450
+ Matris.c 451 void ReadKey()
+ 00000AAC _ReadKey: ; function: ReadKey
+ ; frame size=12
+ 00000AAC 2FE6 MOV.L R14,@-R15
+ Matris.c 452 {
+ Matris.c 453 nextdir =Down;
+ 00000AAE E300 MOV #0,R3
+ 00000AB0 2FD6 MOV.L R13,@-R15
+ 00000AB2 4F22 STS.L PR,@-R15
+ 00000AB4 DD32 MOV.L L696,R13 ; _nextdir
+ 00000AB6 2D30 MOV.B R3,@R13
+ Matris.c 454
+ Matris.c 455 if(KeyDown(38)) nextdir = Rot;
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 34
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000AB8 DE32 MOV.L L696+4,R14 ; _KeyDown
+ 00000ABA 4E0B JSR @R14
+ 00000ABC E426 MOV #38,R4
+ 00000ABE 2008 TST R0,R0
+ 00000AC0 8D02 BT/S L606
+ Matris.c 456 if(KeyDown(37)) nextdir = Left ;
+ 00000AC2 E425 MOV #37,R4
+ 00000AC4 E314 MOV #20,R3
+ 00000AC6 2D30 MOV.B R3,@R13
+ 00000AC8 L606:
+ 00000AC8 4E0B JSR @R14
+ 00000ACA 0009 NOP
+ 00000ACC 2008 TST R0,R0
+ 00000ACE 8D02 BT/S L607
+ Matris.c 457 if(KeyDown(28)) nextdir = Right;
+ 00000AD0 E41C MOV #28,R4
+ 00000AD2 E3FF MOV #-1,R3
+ 00000AD4 2D30 MOV.B R3,@R13
+ 00000AD6 L607:
+ 00000AD6 4E0B JSR @R14
+ 00000AD8 0009 NOP
+ 00000ADA 2008 TST R0,R0
+ 00000ADC 8D02 BT/S L608
+ Matris.c 458 if(KeyDown(27)) nextdir = Fast;
+ 00000ADE E41B MOV #27,R4
+ 00000AE0 E301 MOV #1,R3
+ 00000AE2 2D30 MOV.B R3,@R13
+ 00000AE4 L608:
+ 00000AE4 4E0B JSR @R14
+ 00000AE6 0009 NOP
+ 00000AE8 2008 TST R0,R0
+ 00000AEA 8D02 BT/S L609
+ Matris.c 459 if(KeyDown(47)) exit = True;
+ 00000AEC E42F MOV #47,R4
+ 00000AEE E31E MOV #30,R3
+ 00000AF0 2D30 MOV.B R3,@R13
+ 00000AF2 L609:
+ 00000AF2 4E0B JSR @R14
+ 00000AF4 0009 NOP
+ 00000AF6 2008 TST R0,R0
+ 00000AF8 8D03 BT/S L610
+ Matris.c 460 if(KeyDown(26)) nextdir = Swap;
+ 00000AFA E41A MOV #26,R4
+ 00000AFC D222 MOV.L L696+8,R2 ; _exit
+ 00000AFE E301 MOV #1,R3
+ 00000B00 2230 MOV.B R3,@R2
+ 00000B02 L610:
+ 00000B02 4E0B JSR @R14
+ 00000B04 0009 NOP
+ 00000B06 2008 TST R0,R0
+ 00000B08 8D02 BT/S L611
+ Matris.c 461 if(KeyDown(31)) TeacherMode();
+ 00000B0A E41F MOV #31,R4
+ 00000B0C E20A MOV #10,R2
+ 00000B0E 2D20 MOV.B R2,@R13
+ 00000B10 L611:
+ 00000B10 4E0B JSR @R14
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 35
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B12 0009 NOP
+ 00000B14 2008 TST R0,R0
+ 00000B16 8901 BT L612
+ 00000B18 BB28 BSR _TeacherMode
+ 00000B1A 0009 NOP
+ 00000B1C L612:
+ Matris.c 462 if(KeyDown(39)) {pause = (pause == True)? False : True; while(KeyDown(39));}
+ 00000B1C 4E0B JSR @R14
+ 00000B1E E427 MOV #39,R4
+ 00000B20 2008 TST R0,R0
+ 00000B22 890B BT L613
+ 00000B24 D419 MOV.L L696+12,R4 ; _pause
+ 00000B26 6040 MOV.B @R4,R0
+ 00000B28 8801 CMP/EQ #1,R0
+ 00000B2A 8B01 BF L614
+ 00000B2C A001 BRA L615
+ 00000B2E E200 MOV #0,R2
+ 00000B30 L614:
+ 00000B30 E201 MOV #1,R2
+ 00000B32 L615:
+ 00000B32 2420 MOV.B R2,@R4
+ 00000B34 L616:
+ 00000B34 4E0B JSR @R14
+ 00000B36 E427 MOV #39,R4
+ 00000B38 2008 TST R0,R0
+ 00000B3A 8BFB BF L616
+ 00000B3C L613:
+ Matris.c 463 }
+ 00000B3C 4F26 LDS.L @R15+,PR
+ 00000B3E 6DF6 MOV.L @R15+,R13
+ 00000B40 000B RTS
+ 00000B42 6EF6 MOV.L @R15+,R14
+ Matris.c 464
+ Matris.c 465 void Main(void)
+ 00000B44 _Main: ; function: Main
+ ; frame size=16
+ ; used runtime library name:
+ ; __modls
+ 00000B44 2FE6 MOV.L R14,@-R15
+ Matris.c 466 {
+ Matris.c 467 cantrans = False;
+ 00000B46 E400 MOV #0,R4
+ 00000B48 D311 MOV.L L696+16,R3 ; _cantrans
+ 00000B4A 2FD6 MOV.L R13,@-R15
+ 00000B4C 2FC6 MOV.L R12,@-R15
+ 00000B4E 4F22 STS.L PR,@-R15
+ 00000B50 2340 MOV.B R4,@R3
+ Matris.c 468 ready = False;
+ 00000B52 D210 MOV.L L696+20,R2 ; _ready
+ Matris.c 469 if(pause == False)
+ 00000B54 D00D MOV.L L696+12,R0 ; _pause
+ 00000B56 2240 MOV.B R4,@R2
+ 00000B58 6100 MOV.B @R0,R1
+ 00000B5A 2118 TST R1,R1
+ 00000B5C 8B4B BF L618
+ Matris.c 470 {
+ Matris.c 471 receive();
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 36
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B5E BCDE BSR _receive
+ 00000B60 0009 NOP
+ Matris.c 472 ypos += (slowyposdown % 10 == 0 || nextdir == Fast)? 1 : 0;
+ 00000B62 E50A MOV #10,R5
+ 00000B64 D40C MOV.L L696+24,R4 ; _ypos
+ 00000B66 DE0D MOV.L L696+28,R14; _slowyposdown
+ 00000B68 D30D MOV.L L696+32,R3 ; __modls
+ 00000B6A 61E0 MOV.B @R14,R1
+ 00000B6C 430B JSR @R3
+ 00000B6E 6053 MOV R5,R0
+ 00000B70 2008 TST R0,R0
+ 00000B72 8903 BT L620
+ 00000B74 D202 MOV.L L696,R2 ; _nextdir
+ 00000B76 6020 MOV.B @R2,R0
+ 00000B78 881E CMP/EQ #30,R0
+ 00000B7A 8B13 BF L619
+ 00000B7C L620:
+ 00000B7C A013 BRA L621
+ 00000B7E E201 MOV #1,R2
+ 00000B80 L696:
+ 00000B80 <00000000> .DATA.L _nextdir
+ 00000B84 <00000000> .DATA.L _KeyDown
+ 00000B88 <00000000> .DATA.L _exit
+ 00000B8C <00000000> .DATA.L _pause
+ 00000B90 <00000000> .DATA.L _cantrans
+ 00000B94 <00000000> .DATA.L _ready
+ 00000B98 <00000000> .DATA.L _ypos
+ 00000B9C <00000000> .DATA.L _slowyposdown
+ 00000BA0 <00000000> .DATA.L __modls
+ 00000BA4 L619:
+ 00000BA4 E200 MOV #0,R2
+ 00000BA6 L621:
+ 00000BA6 6342 MOV.L @R4,R3
+ 00000BA8 332C ADD R2,R3
+ 00000BAA 2432 MOV.L R3,@R4
+ Matris.c 473 if(nextdir == Left || nextdir == Right || nextdir == Fast || nextdir == Rot || slowyposdow
+ +n % 10 == 0)
+ 00000BAC D235 MOV.L L697+6,R2 ; _nextdir
+ 00000BAE 6020 MOV.B @R2,R0
+ 00000BB0 88FF CMP/EQ #-1,R0
+ 00000BB2 8D0F BT/S L623
+ 00000BB4 6403 MOV R0,R4
+ 00000BB6 6043 MOV R4,R0
+ 00000BB8 8801 CMP/EQ #1,R0
+ 00000BBA 890B BT L623
+ 00000BBC 6043 MOV R4,R0
+ 00000BBE 881E CMP/EQ #30,R0
+ 00000BC0 8908 BT L623
+ 00000BC2 6043 MOV R4,R0
+ 00000BC4 8814 CMP/EQ #20,R0
+ 00000BC6 8905 BT L623
+ 00000BC8 61E0 MOV.B @R14,R1
+ 00000BCA D32F MOV.L L697+10,R3 ; __modls
+ 00000BCC 430B JSR @R3
+ 00000BCE 6053 MOV R5,R0
+ 00000BD0 2008 TST R0,R0
+ 00000BD2 8B0D BF L622
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 37
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000BD4 L623:
+ Matris.c 474 {
+ Matris.c 475 MoveBlock();
+ 00000BD4 BD69 BSR _MoveBlock
+ 00000BD6 0009 NOP
+ Matris.c 476 DrawBlock();
+ 00000BD8 D12C MOV.L L697+14,R1 ; _DrawBlock
+ 00000BDA 410B JSR @R1
+ 00000BDC 0009 NOP
+ Matris.c 477 if(cantrans == True)
+ 00000BDE D22C MOV.L L697+18,R2 ; _cantrans
+ 00000BE0 6020 MOV.B @R2,R0
+ 00000BE2 8801 CMP/EQ #1,R0
+ 00000BE4 8B04 BF L622
+ Matris.c 478 {
+ Matris.c 479 CheckPoints();
+ 00000BE6 BDB5 BSR _CheckPoints
+ 00000BE8 0009 NOP
+ Matris.c 480 DrawBlock();
+ 00000BEA D328 MOV.L L697+14,R3 ; _DrawBlock
+ 00000BEC 430B JSR @R3
+ 00000BEE 0009 NOP
+ 00000BF0 L622:
+ Matris.c 481 }
+ Matris.c 482 }
+ Matris.c 483 slowyposdown++;
+ 00000BF0 62E0 MOV.B @R14,R2
+ 00000BF2 7201 ADD #1,R2
+ 00000BF4 2E20 MOV.B R2,@R14
+ 00000BF6 L618:
+ Matris.c 484 }
+ Matris.c 485 ready = True;
+ 00000BF6 E301 MOV #1,R3
+ 00000BF8 D126 MOV.L L697+22,R1 ; _ready
+ Matris.c 486 drawNumber(pScreen, connected, 0, 62);
+ 00000BFA E73E MOV #62,R7
+ 00000BFC DC26 MOV.L L697+26,R12; _pScreen
+ 00000BFE E600 MOV #0,R6
+ 00000C00 DD26 MOV.L L697+30,R13; _connected
+ 00000C02 2130 MOV.B R3,@R1
+ 00000C04 DE26 MOV.L L697+34,R14; _drawNumber
+ 00000C06 65D0 MOV.B @R13,R5
+ 00000C08 4E0B JSR @R14
+ 00000C0A 64C2 MOV.L @R12,R4
+ Matris.c 487 drawNumber(pScreen + 1024, connected, 0, 62);
+ 00000C0C 65D0 MOV.B @R13,R5
+ 00000C0E E73E MOV #62,R7
+ 00000C10 9335 MOV.W L697,R3 ; H'0400
+ 00000C12 E600 MOV #0,R6
+ 00000C14 64C2 MOV.L @R12,R4
+ 00000C16 4E0B JSR @R14
+ 00000C18 343C ADD R3,R4
+ Matris.c 488 drawNumber(pScreen + 2048, connected, 0, 62);
+ 00000C1A E73E MOV #62,R7
+ 00000C1C 65D0 MOV.B @R13,R5
+ 00000C1E E600 MOV #0,R6
+ 00000C20 932E MOV.W L697+2,R3 ; H'0800
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 38
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000C22 64C2 MOV.L @R12,R4
+ 00000C24 4E0B JSR @R14
+ 00000C26 343C ADD R3,R4
+ Matris.c 489 }
+ 00000C28 4F26 LDS.L @R15+,PR
+ 00000C2A 6CF6 MOV.L @R15+,R12
+ 00000C2C 6DF6 MOV.L @R15+,R13
+ 00000C2E 000B RTS
+ 00000C30 6EF6 MOV.L @R15+,R14
+ Matris.c 490
+ Matris.c 491 void CallMain(void)
+ 00000C32 _CallMain: ; function: CallMain
+ ; frame size=12
+ 00000C32 2FE6 MOV.L R14,@-R15
+ 00000C34 2FD6 MOV.L R13,@-R15
+ 00000C36 4F22 STS.L PR,@-R15
+ Matris.c 492 {
+ Matris.c 493 ReadKey();
+ 00000C38 BF38 BSR _ReadKey
+ 00000C3A 0009 NOP
+ 00000C3C D619 MOV.L L697+38,R6 ; _onoff
+ 00000C3E DD11 MOV.L L697+6,R13 ; _nextdir
+ 00000C40 DE19 MOV.L L697+42,R14; _Timer_Install
+ 00000C42 D414 MOV.L L697+22,R4 ; _ready
+ 00000C44 60D0 MOV.B @R13,R0
+ 00000C46 881E CMP/EQ #30,R0
+ 00000C48 8F36 BF/S L625
+ 00000C4A 6503 MOV R0,R5
+ 00000C4C D215 MOV.L L697+38,R2 ; _onoff
+ 00000C4E 6320 MOV.B @R2,R3
+ 00000C50 2338 TST R3,R3
+ 00000C52 8B31 BF L625
+ 00000C54 L626:
+ Matris.c 494 if(nextdir == Fast && onoff == False)
+ Matris.c 495 {
+ Matris.c 496 while(ready == False);
+ 00000C54 6140 MOV.B @R4,R1
+ 00000C56 2118 TST R1,R1
+ 00000C58 89FC BT L626
+ Matris.c 497 onoff = True;
+ 00000C5A E201 MOV #1,R2
+ Matris.c 498 Timer_Uninstall(7);
+ 00000C5C D313 MOV.L L697+46,R3 ; _Timer_Uninstall
+ 00000C5E 2620 MOV.B R2,@R6
+ 00000C60 430B JSR @R3
+ 00000C62 E407 MOV #7,R4
+ Matris.c 499 Timer_Install(7, &Main, 50);
+ 00000C64 D512 MOV.L L697+50,R5 ; _Main
+ 00000C66 E632 MOV #50,R6
+ 00000C68 4E0B JSR @R14
+ 00000C6A E407 MOV #7,R4
+ Matris.c 500 Timer_Start(7);
+ 00000C6C D211 MOV.L L697+54,R2 ; _Timer_Start
+ 00000C6E 420B JSR @R2
+ 00000C70 E407 MOV #7,R4
+ Matris.c 501 if(nextdir == Down)
+ 00000C72 63D0 MOV.B @R13,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 39
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000C74 2338 TST R3,R3
+ 00000C76 8B48 BF L629
+ Matris.c 502 {
+ Matris.c 503 nextdir = Fast;
+ 00000C78 E11E MOV #30,R1
+ 00000C7A A046 BRA L629
+ 00000C7C 2D10 MOV.B R1,@R13
+ 00000C7E L697:
+ 00000C7E 0400 .DATA.W H'0400
+ 00000C80 0800 .DATA.W H'0800
+ 00000C82 0000 .DATA.W 0
+ 00000C84 <00000000> .DATA.L _nextdir
+ 00000C88 <00000000> .DATA.L __modls
+ 00000C8C <00000000> .DATA.L _DrawBlock
+ 00000C90 <00000000> .DATA.L _cantrans
+ 00000C94 <00000000> .DATA.L _ready
+ 00000C98 <00000000> .DATA.L _pScreen
+ 00000C9C <00000000> .DATA.L _connected
+ 00000CA0 <00000000> .DATA.L _drawNumber
+ 00000CA4 <00000000> .DATA.L _onoff
+ 00000CA8 <00000000> .DATA.L _Timer_Install
+ 00000CAC <00000000> .DATA.L _Timer_Uninstall
+ 00000CB0 <00000000> .DATA.L _Main
+ 00000CB4 <00000000> .DATA.L _Timer_Start
+ 00000CB8 L625:
+ Matris.c 504 }
+ Matris.c 505 }
+ Matris.c 506 else
+ Matris.c 507 {
+ Matris.c 508 if(nextdir != Fast && onoff == True || levelchanged == True)
+ 00000CB8 6053 MOV R5,R0
+ 00000CBA 881E CMP/EQ #30,R0
+ 00000CBC 8903 BT L632
+ 00000CBE D31E MOV.L L698,R3 ; _onoff
+ 00000CC0 6030 MOV.B @R3,R0
+ 00000CC2 8801 CMP/EQ #1,R0
+ 00000CC4 8903 BT L633
+ 00000CC6 L632:
+ 00000CC6 D31D MOV.L L698+4,R3 ; _levelchanged
+ 00000CC8 6030 MOV.B @R3,R0
+ 00000CCA 8801 CMP/EQ #1,R0
+ 00000CCC 8B1D BF L629
+ 00000CCE L633:
+ Matris.c 509 {
+ Matris.c 510 while(ready == False);
+ 00000CCE 6240 MOV.B @R4,R2
+ 00000CD0 2228 TST R2,R2
+ 00000CD2 89FC BT L633
+ Matris.c 511 onoff = False;
+ Matris.c 512 Timer_Uninstall(7);
+ 00000CD4 D31A MOV.L L698+8,R3 ; _Timer_Uninstall
+ 00000CD6 E100 MOV #0,R1
+ 00000CD8 2610 MOV.B R1,@R6
+ 00000CDA 430B JSR @R3
+ 00000CDC E407 MOV #7,R4
+ Matris.c 513
+ Matris.c 514 if(level < 20)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 40
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000CDE E114 MOV #20,R1
+ 00000CE0 D318 MOV.L L698+12,R3 ; _level
+ 00000CE2 6230 MOV.B @R3,R2
+ 00000CE4 3213 CMP/GE R1,R2
+ 00000CE6 8906 BT L635
+ Matris.c 515 {
+ Matris.c 516 Timer_Install(7, &Main, 100 - level * 5);
+ 00000CE8 6030 MOV.B @R3,R0
+ 00000CEA E664 MOV #100,R6
+ 00000CEC 6203 MOV R0,R2
+ 00000CEE 4008 SHLL2 R0
+ 00000CF0 302C ADD R2,R0
+ 00000CF2 A001 BRA L684
+ 00000CF4 3608 SUB R0,R6
+ 00000CF6 L635:
+ Matris.c 517 }
+ Matris.c 518 else
+ Matris.c 519 {
+ Matris.c 520 Timer_Install(7, &Main, 0);
+ 00000CF6 E600 MOV #0,R6
+ 00000CF8 L684:
+ 00000CF8 D513 MOV.L L698+16,R5 ; _Main
+ 00000CFA 4E0B JSR @R14
+ 00000CFC E407 MOV #7,R4
+ Matris.c 521 }
+ Matris.c 522
+ Matris.c 523 Timer_Start(7);
+ 00000CFE D213 MOV.L L698+20,R2 ; _Timer_Start
+ 00000D00 420B JSR @R2
+ 00000D02 E407 MOV #7,R4
+ Matris.c 524 levelchanged = False;
+ 00000D04 D20D MOV.L L698+4,R2 ; _levelchanged
+ 00000D06 E300 MOV #0,R3
+ 00000D08 2230 MOV.B R3,@R2
+ 00000D0A L629:
+ Matris.c 525 }
+ Matris.c 526 }
+ Matris.c 527 }
+ 00000D0A 4F26 LDS.L @R15+,PR
+ 00000D0C 6DF6 MOV.L @R15+,R13
+ 00000D0E 000B RTS
+ 00000D10 6EF6 MOV.L @R15+,R14
+ Matris.c 528
+ Matris.c 529 //the code above is not good, CallMain handles the keys and sets the timer of Main
+ Matris.c 530
+ Matris.c 531 void ReadMenuKeys()
+ 00000D12 _ReadMenuKeys: ; function: ReadMenuKeys
+ ; frame size=4
+ 00000D12 4F22 STS.L PR,@-R15
+ Matris.c 532 {
+ Matris.c 533 if(KeyDown(31)) TeacherMode();
+ 00000D14 D30E MOV.L L698+24,R3 ; _KeyDown
+ 00000D16 430B JSR @R3
+ 00000D18 E41F MOV #31,R4
+ 00000D1A 2008 TST R0,R0
+ 00000D1C 8901 BT L637
+ 00000D1E BA25 BSR _TeacherMode
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 41
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D20 0009 NOP
+ 00000D22 L637:
+ Matris.c 534 if(KeyDown(47)) quit = True;
+ 00000D22 D20B MOV.L L698+24,R2 ; _KeyDown
+ 00000D24 420B JSR @R2
+ 00000D26 E42F MOV #47,R4
+ 00000D28 2008 TST R0,R0
+ 00000D2A 8902 BT L638
+ 00000D2C D309 MOV.L L698+28,R3 ; _quit
+ 00000D2E E201 MOV #1,R2
+ 00000D30 2320 MOV.B R2,@R3
+ 00000D32 L638:
+ Matris.c 535 }
+ 00000D32 4F26 LDS.L @R15+,PR
+ 00000D34 000B RTS
+ 00000D36 0009 NOP
+ 00000D38 L698:
+ 00000D38 <00000000> .DATA.L _onoff
+ 00000D3C <00000000> .DATA.L _levelchanged
+ 00000D40 <00000000> .DATA.L _Timer_Uninstall
+ 00000D44 <00000000> .DATA.L _level
+ 00000D48 <00000000> .DATA.L _Main
+ 00000D4C <00000000> .DATA.L _Timer_Start
+ 00000D50 <00000000> .DATA.L _KeyDown
+ 00000D54 <00000000> .DATA.L _quit
+ Matris.c 536
+ Matris.c 537 int AddIn_main(int isAppli, unsigned short OptionNum)
+ 00000D58 _AddIn_main: ; function: AddIn_main
+ ; frame size=52
+ ; used runtime library name:
+ ; __modlu
+ 00000D58 2FE6 MOV.L R14,@-R15
+ 00000D5A 2FD6 MOV.L R13,@-R15
+ 00000D5C 2FC6 MOV.L R12,@-R15
+ Matris.c 538 {
+ Matris.c 539 char c[] = {0xE6, 0x9B, 0};
+ Matris.c 540 char mode = 0;
+ 00000D5E ED00 MOV #0,R13
+ Matris.c 541
+ Matris.c 542 level = 0;
+ Matris.c 543
+ Matris.c 544 pScreen = (char*)malloc(3072);
+ 00000D60 9473 MOV.W L699,R4 ; H'0C00
+ 00000D62 62D3 MOV R13,R2
+ 00000D64 2FB6 MOV.L R11,@-R15
+ 00000D66 2FA6 MOV.L R10,@-R15
+ 00000D68 2F96 MOV.L R9,@-R15
+ 00000D6A 2F86 MOV.L R8,@-R15
+ 00000D6C 4F22 STS.L PR,@-R15
+ 00000D6E 7FEC ADD #-20,R15
+ 00000D70 D137 MOV.L L699+6,R1 ; L462
+ 00000D72 63F3 MOV R15,R3
+ 00000D74 6010 MOV.B @R1,R0
+ 00000D76 7310 ADD #16,R3
+ 00000D78 2300 MOV.B R0,@R3
+ 00000D7A 8411 MOV.B @(1,R1),R0
+ 00000D7C 8031 MOV.B R0,@(1,R3)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 42
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D7E 8412 MOV.B @(2,R1),R0
+ 00000D80 8032 MOV.B R0,@(2,R3)
+ 00000D82 D334 MOV.L L699+10,R3 ; _level
+ 00000D84 2320 MOV.B R2,@R3
+ 00000D86 D234 MOV.L L699+14,R2 ; _malloc
+ 00000D88 420B JSR @R2
+ 00000D8A 0009 NOP
+ 00000D8C D333 MOV.L L699+18,R3 ; _pScreen
+ Matris.c 545
+ Matris.c 546 nextblock = (kiss() % 7) + 1;
+ 00000D8E B960 BSR _kiss
+ 00000D90 2302 MOV.L R0,@R3
+ 00000D92 6103 MOV R0,R1
+ 00000D94 D332 MOV.L L699+22,R3 ; __modlu
+ 00000D96 430B JSR @R3
+ 00000D98 E007 MOV #7,R0
+ 00000D9A 7001 ADD #1,R0
+ 00000D9C D231 MOV.L L699+26,R2 ; _nextblock
+ Matris.c 547 CreateBlock();
+ 00000D9E BA0A BSR _CreateBlock
+ 00000DA0 2200 MOV.B R0,@R2
+ Matris.c 548
+ Matris.c 549 ready = True;
+ 00000DA2 E101 MOV #1,R1
+ 00000DA4 D330 MOV.L L699+30,R3 ; _ready
+ Matris.c 550
+ Matris.c 551 APP_EnableRestart();//thx to SimonLothar
+ 00000DA6 B92B BSR _APP_EnableRestart
+ 00000DA8 2310 MOV.B R1,@R3
+ Matris.c 552
+ Matris.c 553 seedkiss();//seed random numbers
+ 00000DAA B980 BSR _seedkiss
+ 00000DAC 0009 NOP
+ 00000DAE D22F MOV.L L699+34,R2 ; L467
+ 00000DB0 D32F MOV.L L699+38,R3 ; L468
+ 00000DB2 1F21 MOV.L R2,@(4,R15)
+ 00000DB4 1F33 MOV.L R3,@(12,R15)
+ 00000DB6 63F3 MOV R15,R3
+ Matris.c 554
+ Matris.c 555 while(mode != 3)
+ 00000DB8 D82F MOV.L L699+46,R8 ; _Timer_Install
+ 00000DBA 7310 ADD #16,R3
+ 00000DBC D92F MOV.L L699+50,R9 ; _exit
+ 00000DBE D22D MOV.L L699+42,R2 ; L469
+ 00000DC0 DB2F MOV.L L699+54,R11; _Print
+ 00000DC2 1F22 MOV.L R2,@(8,R15)
+ 00000DC4 2F32 MOV.L R3,@R15
+ 00000DC6 DC2F MOV.L L699+58,R12; _locate
+ 00000DC8 DE2F MOV.L L699+62,R14; _KeyDown
+ 00000DCA L640:
+ Matris.c 556 {
+ Matris.c 557 quit = False;
+ 00000DCA E300 MOV #0,R3
+ 00000DCC D22F MOV.L L699+66,R2 ; _quit
+ 00000DCE 2230 MOV.B R3,@R2
+ Matris.c 558 Timer_Install(10, &ReadMenuKeys, 200);
+ 00000DD0 963C MOV.W L699+2,R6 ; H'00C8
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 43
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000DD2 D52F MOV.L L699+70,R5 ; _ReadMenuKeys
+ 00000DD4 480B JSR @R8
+ 00000DD6 E40A MOV #10,R4
+ Matris.c 559 Timer_Start(10);
+ 00000DD8 D32E MOV.L L699+74,R3 ; _Timer_Start
+ 00000DDA 430B JSR @R3
+ 00000DDC E40A MOV #10,R4
+ Matris.c 560 while(!KeyDown(31) && mode != 3)
+ 00000DDE 4E0B JSR @R14
+ 00000DE0 E41F MOV #31,R4
+ 00000DE2 2008 TST R0,R0
+ 00000DE4 8901 BT L700
+ 00000DE6 A07E BRA L641
+ 00000DE8 0009 NOP
+ 00000DEA L700:
+ 00000DEA 60DE EXTS.B R13,R0
+ 00000DEC 8803 CMP/EQ #3,R0
+ 00000DEE 897A BT L641
+ 00000DF0 L642:
+ Matris.c 561 {
+ Matris.c 562 AllClr_VRAM();
+ 00000DF0 D229 MOV.L L699+78,R2 ; _AllClr_VRAM
+ 00000DF2 420B JSR @R2
+ 00000DF4 0009 NOP
+ Matris.c 563
+ Matris.c 564 locate( 6, 3 );
+ 00000DF6 E503 MOV #3,R5
+ 00000DF8 4C0B JSR @R12
+ 00000DFA E406 MOV #6,R4
+ Matris.c 565 Print(&"Singleplayer");
+ 00000DFC 4B0B JSR @R11
+ 00000DFE 54F1 MOV.L @(4,R15),R4
+ Matris.c 566 locate( 6, 4 );
+ 00000E00 E504 MOV #4,R5
+ 00000E02 4C0B JSR @R12
+ 00000E04 E406 MOV #6,R4
+ Matris.c 567 Print(&"Multiplayer");
+ 00000E06 4B0B JSR @R11
+ 00000E08 54F3 MOV.L @(12,R15),R4
+ Matris.c 568 locate( 2, 8);
+ 00000E0A E508 MOV #8,R5
+ 00000E0C 4C0B JSR @R12
+ 00000E0E E402 MOV #2,R4
+ Matris.c 569 Print(&"Copyright by Casimo");
+ 00000E10 4B0B JSR @R11
+ 00000E12 54F2 MOV.L @(8,R15),R4
+ Matris.c 570
+ Matris.c 571 locate( 4, 3 + mode);
+ 00000E14 65DE EXTS.B R13,R5
+ 00000E16 7503 ADD #3,R5
+ 00000E18 4C0B JSR @R12
+ 00000E1A E404 MOV #4,R4
+ Matris.c 572 PrintC(&c);
+ 00000E1C D31F MOV.L L699+82,R3 ; _PrintC
+ 00000E1E 430B JSR @R3
+ 00000E20 64F2 MOV.L @R15,R4
+ Matris.c 573
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 44
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 574 PutDisp_DD();
+ 00000E22 D21F MOV.L L699+86,R2 ; _PutDisp_DD
+ 00000E24 420B JSR @R2
+ 00000E26 0009 NOP
+ Matris.c 575
+ Matris.c 576 if(KeyDown(37))
+ 00000E28 4E0B JSR @R14
+ 00000E2A E425 MOV #37,R4
+ 00000E2C 2008 TST R0,R0
+ 00000E2E 8939 BT L643
+ Matris.c 577 {
+ Matris.c 578 mode += (mode == 1)? -1 : 1;
+ 00000E30 60DE EXTS.B R13,R0
+ 00000E32 8801 CMP/EQ #1,R0
+ 00000E34 8B01 BF L644
+ 00000E36 A001 BRA L645
+ 00000E38 E2FF MOV #-1,R2
+ 00000E3A L644:
+ 00000E3A E201 MOV #1,R2
+ 00000E3C L645:
+ 00000E3C 3D2C ADD R2,R13
+ Matris.c 579 while(KeyDown(37));
+ 00000E3E L646:
+ 00000E3E 4E0B JSR @R14
+ 00000E40 E425 MOV #37,R4
+ 00000E42 2008 TST R0,R0
+ 00000E44 8BFB BF L646
+ 00000E46 A047 BRA L648
+ 00000E48 0009 NOP
+ 00000E4A L699:
+ 00000E4A 0C00 .DATA.W H'0C00
+ 00000E4C 00C8 .DATA.W H'00C8
+ 00000E4E 0000 .DATA.W 0
+ 00000E50 <00000000> .DATA.L L462
+ 00000E54 <00000000> .DATA.L _level
+ 00000E58 <00000000> .DATA.L _malloc
+ 00000E5C <00000000> .DATA.L _pScreen
+ 00000E60 <00000000> .DATA.L __modlu
+ 00000E64 <00000000> .DATA.L _nextblock
+ 00000E68 <00000000> .DATA.L _ready
+ 00000E6C <00000000> .DATA.L L467
+ 00000E70 <00000000> .DATA.L L468
+ 00000E74 <00000000> .DATA.L L469
+ 00000E78 <00000000> .DATA.L _Timer_Install
+ 00000E7C <00000000> .DATA.L _exit
+ 00000E80 <00000000> .DATA.L _Print
+ 00000E84 <00000000> .DATA.L _locate
+ 00000E88 <00000000> .DATA.L _KeyDown
+ 00000E8C <00000000> .DATA.L _quit
+ 00000E90 <00000000> .DATA.L _ReadMenuKeys
+ 00000E94 <00000000> .DATA.L _Timer_Start
+ 00000E98 <00000000> .DATA.L _AllClr_VRAM
+ 00000E9C <00000000> .DATA.L _PrintC
+ 00000EA0 <00000000> .DATA.L _PutDisp_DD
+ 00000EA4 L643:
+ Matris.c 580 }
+ Matris.c 581 else
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 45
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 582 {
+ Matris.c 583 if(KeyDown(28))
+ 00000EA4 4E0B JSR @R14
+ 00000EA6 E41C MOV #28,R4
+ 00000EA8 2008 TST R0,R0
+ 00000EAA 890C BT L649
+ Matris.c 584 {
+ Matris.c 585 mode -= (mode == 0)? -1 : 1;
+ 00000EAC 62DE EXTS.B R13,R2
+ 00000EAE 2228 TST R2,R2
+ 00000EB0 8B01 BF L650
+ 00000EB2 A001 BRA L651
+ 00000EB4 E3FF MOV #-1,R3
+ 00000EB6 L650:
+ 00000EB6 E301 MOV #1,R3
+ 00000EB8 L651:
+ 00000EB8 3D38 SUB R3,R13
+ Matris.c 586 while(KeyDown(28));
+ 00000EBA L652:
+ 00000EBA 4E0B JSR @R14
+ 00000EBC E41C MOV #28,R4
+ 00000EBE 2008 TST R0,R0
+ 00000EC0 8BFB BF L652
+ 00000EC2 A009 BRA L648
+ 00000EC4 0009 NOP
+ 00000EC6 L649:
+ Matris.c 587 }
+ Matris.c 588 else
+ Matris.c 589 {
+ Matris.c 590 if(KeyDown(47))
+ 00000EC6 4E0B JSR @R14
+ 00000EC8 E42F MOV #47,R4
+ 00000ECA 2008 TST R0,R0
+ 00000ECC 8904 BT L648
+ Matris.c 591 {
+ Matris.c 592 mode = 3;
+ 00000ECE ED03 MOV #3,R13
+ Matris.c 593 while(KeyDown(47));
+ 00000ED0 L656:
+ 00000ED0 4E0B JSR @R14
+ 00000ED2 E42F MOV #47,R4
+ 00000ED4 2008 TST R0,R0
+ 00000ED6 8BFB BF L656
+ 00000ED8 L648:
+ 00000ED8 4E0B JSR @R14
+ 00000EDA E41F MOV #31,R4
+ 00000EDC 2008 TST R0,R0
+ 00000EDE 8B02 BF L641
+ 00000EE0 60DE EXTS.B R13,R0
+ 00000EE2 8803 CMP/EQ #3,R0
+ 00000EE4 8B84 BF L642
+ 00000EE6 L641:
+ Matris.c 594 }
+ Matris.c 595 }
+ Matris.c 596
+ Matris.c 597 }
+ Matris.c 598 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 46
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 599
+ Matris.c 600 Timer_Uninstall(10);
+ 00000EE6 D222 MOV.L L701+4,R2 ; _Timer_Uninstall
+ 00000EE8 420B JSR @R2
+ 00000EEA E40A MOV #10,R4
+ 00000EEC 6ADE EXTS.B R13,R10
+ 00000EEE 60A3 MOV R10,R0
+ 00000EF0 8803 CMP/EQ #3,R0
+ 00000EF2 8920 BT L659
+ Matris.c 601
+ Matris.c 602 if(mode != 3)
+ Matris.c 603 {
+ Matris.c 604 if(mode == 1)
+ 00000EF4 60A3 MOV R10,R0
+ 00000EF6 8801 CMP/EQ #1,R0
+ 00000EF8 8B04 BF L660
+ Matris.c 605 {
+ Matris.c 606 Serial_ClearReceiveBuffer();
+ 00000EFA D31E MOV.L L701+8,R3 ; _Serial_ClearReceiveBuffer
+ 00000EFC 430B JSR @R3
+ 00000EFE 0009 NOP
+ Matris.c 607 Connect();
+ 00000F00 BB28 BSR _Connect
+ 00000F02 0009 NOP
+ 00000F04 L660:
+ Matris.c 608 }
+ Matris.c 609
+ Matris.c 610 Timer_Install(6,&CallMain, 150);
+ 00000F04 9632 MOV.W L701,R6 ; H'0096
+ 00000F06 D51C MOV.L L701+12,R5 ; _CallMain
+ 00000F08 480B JSR @R8
+ 00000F0A E406 MOV #6,R4
+ Matris.c 611 Timer_Start(6);
+ 00000F0C D31B MOV.L L701+16,R3 ; _Timer_Start
+ 00000F0E 430B JSR @R3
+ 00000F10 E406 MOV #6,R4
+ Matris.c 612
+ Matris.c 613 while(exit == False){RestGray();}
+ 00000F12 6290 MOV.B @R9,R2
+ 00000F14 2228 TST R2,R2
+ 00000F16 8B04 BF L661
+ 00000F18 L662:
+ 00000F18 B910 BSR _RestGray
+ 00000F1A 0009 NOP
+ 00000F1C 6390 MOV.B @R9,R3
+ 00000F1E 2338 TST R3,R3
+ 00000F20 89FA BT L662
+ 00000F22 L661:
+ Matris.c 614
+ Matris.c 615 ResetValues();
+ 00000F22 B997 BSR _ResetValues
+ 00000F24 0009 NOP
+ Matris.c 616
+ Matris.c 617 while(KeyDown(47));
+ 00000F26 L663:
+ 00000F26 4E0B JSR @R14
+ 00000F28 E42F MOV #47,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 47
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000F2A 2008 TST R0,R0
+ 00000F2C 8BFB BF L663
+ 00000F2E L665:
+ Matris.c 618 while(KeyDown(31));
+ 00000F2E 4E0B JSR @R14
+ 00000F30 E41F MOV #31,R4
+ 00000F32 2008 TST R0,R0
+ 00000F34 8BFB BF L665
+ 00000F36 L659:
+ 00000F36 60A3 MOV R10,R0
+ 00000F38 8803 CMP/EQ #3,R0
+ 00000F3A 8901 BT L702
+ 00000F3C AF45 BRA L640
+ 00000F3E 0009 NOP
+ 00000F40 L702:
+ Matris.c 619 }
+ Matris.c 620 }
+ Matris.c 621 Timer_Uninstall(6);
+ 00000F40 D30B MOV.L L701+4,R3 ; _Timer_Uninstall
+ 00000F42 430B JSR @R3
+ 00000F44 E406 MOV #6,R4
+ Matris.c 622 Timer_Uninstall(7);
+ 00000F46 D20A MOV.L L701+4,R2 ; _Timer_Uninstall
+ 00000F48 420B JSR @R2
+ 00000F4A E407 MOV #7,R4
+ Matris.c 623 Disconnect();
+ 00000F4C B905 BSR _Disconnect
+ 00000F4E 0009 NOP
+ Matris.c 624 free(pScreen);
+ 00000F50 D20B MOV.L L701+20,R2 ; _pScreen
+ 00000F52 D30C MOV.L L701+24,R3 ; _free
+ 00000F54 430B JSR @R3
+ 00000F56 6422 MOV.L @R2,R4
+ Matris.c 625 }
+ 00000F58 7F14 ADD #20,R15
+ 00000F5A 4F26 LDS.L @R15+,PR
+ 00000F5C 68F6 MOV.L @R15+,R8
+ 00000F5E 69F6 MOV.L @R15+,R9
+ 00000F60 6AF6 MOV.L @R15+,R10
+ 00000F62 6BF6 MOV.L @R15+,R11
+ 00000F64 6CF6 MOV.L @R15+,R12
+ 00000F66 6DF6 MOV.L @R15+,R13
+ 00000F68 000B RTS
+ 00000F6A 6EF6 MOV.L @R15+,R14
+ 00000F6C L701:
+ 00000F6C 0096 .DATA.W H'0096
+ 00000F6E 0000 .DATA.W 0
+ 00000F70 <00000000> .DATA.L _Timer_Uninstall
+ 00000F74 <00000000> .DATA.L _Serial_ClearReceiveBuffer
+ 00000F78 <00000000> .DATA.L _CallMain
+ 00000F7C <00000000> .DATA.L _Timer_Start
+ 00000F80 <00000000> .DATA.L _pScreen
+ 00000F84 <00000000> .DATA.L _free
+ Matris.c 626
+ Matris.c 627 //I'm sure there are unused variables
+ Matris.c 628
+ Matris.c 629 #pragma section _BR_Size
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 48
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 630 unsigned long BR_Size;
+ Matris.c 631 #pragma section
+ Matris.c 632 #pragma section _TOP
+ Matris.c 633 int InitializeSystem(int isAppli, unsigned short OptionNum)
+P_T 00000000 _InitializeSystem: ; function: InitializeSystem
+ ; frame size=4
+ Matris.c 634 {return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
+ 00000000 D303 MOV.L L703+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 L703:
+ 0000000E 0000 .DATA.W 0
+ 00000010 <00000000> .DATA.L _INIT_ADDIN_APPLICATION
+ Matris.c 635 #pragma section
+D 00000000 __$seed: ; static: seed
+ 00000000 075BCD15 .DATA.L H'075BCD15
+ 00000004 __$y$306: ; static: y
+ 00000004 159A55A0 .DATA.L H'159A55A0
+ 00000008 __$z$307: ; static: z
+ 00000008 1F123BB5 .DATA.L H'1F123BB5
+ 0000000C __$c$308: ; static: c
+ 0000000C 0074CBB1 .DATA.L H'0074CBB1
+ 00000010 _pause: ; static: pause
+ 00000010 00 .DATA.B H'00
+ 00000011 _quit: ; static: quit
+ 00000011 00 .DATA.B H'00
+ 00000012 _levelchanged: ; static: levelchanged
+ 00000012 00 .DATA.B H'00
+ 00000013 _exit: ; static: exit
+ 00000013 00 .DATA.B H'00
+ 00000014 _onoff: ; static: onoff
+ 00000014 01 .DATA.B H'01
+ 00000015 _slowyposdown: ; static: slowyposdown
+ 00000015 00 .DATA.B H'00
+ 00000016 _receiveline: ; static: receiveline
+ 00000016 00 .DATA.B H'00
+ 00000017 _sendline: ; static: sendline
+ 00000017 00 .DATA.B H'00
+ 00000018 _cantrans: ; static: cantrans
+ 00000018 00 .DATA.B H'00
+C 00000000 L367:
+ 00000000 506F696E74 .SDATA "Points: %d"
+ 733A202564
+ 0000000A 00 .DATA.B H'00
+ 0000000B 00000001 .RES.B 1
+ 0000000C L368:
+ 0000000C 4C6576656C .SDATA "Level: %d"
+ 3A202564
+ 00000015 00 .DATA.B H'00
+ 00000016 00000002 .RES.W 1
+ 00000018 L395:
+ 00000018 436F6E6E65 .SDATA "Connecting..."
+ 6374696E67
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 49
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 2E2E2E
+ 00000025 00 .DATA.B H'00
+ 00000026 L462:
+ 00000026 E69B00 .DATA.B H'E6,H'9B,H'00
+ 00000029 00000001 .RES.B 1
+ 0000002A 00000002 .RES.W 1
+ 0000002C L467:
+ 0000002C 53696E676C .SDATA "Singleplayer"
+ 65706C6179
+ 6572
+ 00000038 00 .DATA.B H'00
+ 00000039 00000001 .RES.B 1
+ 0000003A 00000002 .RES.W 1
+ 0000003C L468:
+ 0000003C 4D756C7469 .SDATA "Multiplayer"
+ 706C617965
+ 72
+ 00000047 00 .DATA.B H'00
+ 00000048 L469:
+ 00000048 436F707972 .SDATA "Copyright by Casimo"
+ 6967687420
+ 6279204361
+ 73696D6F
+ 0000005B 00 .DATA.B H'00
+B 00000000 _swit: ; static: swit
+ 00000000 00000001 .RES.B 1
+ 00000001 _ready: ; static: ready
+ 00000001 00000001 .RES.B 1
+ 00000002 _canswap: ; static: canswap
+ 00000002 00000001 .RES.B 1
+ 00000003 _connected: ; static: connected
+ 00000003 00000001 .RES.B 1
+B_B 00000000 _BR_Size: ; static: BR_Size
+ 00000000 00000004 .RES.L 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 9
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 635
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 00000F88 Byte(s)
+PROGRAM SECTION (P_BR_Size): 00000000 Byte(s)
+PROGRAM SECTION (P_TOP): 00000014 Byte(s)
+CONSTANT SECTION (C): 0000005C Byte(s)
+CONSTANT SECTION (C_BR_Size): 00000000 Byte(s)
+CONSTANT SECTION (C_TOP): 00000000 Byte(s)
+DATA SECTION (D): 00000019 Byte(s)
+DATA SECTION (D_BR_Size): 00000000 Byte(s)
+DATA SECTION (D_TOP): 00000000 Byte(s)
+BSS SECTION (B): 00000004 Byte(s)
+BSS SECTION (B_BR_Size): 00000004 Byte(s)
+BSS SECTION (B_TOP): 00000000 Byte(s)
+
+ TOTAL PROGRAM SIZE: 00001019 Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 48
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 38
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 243
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk43B4.tmp
+
diff --git a/Debug/Matris.obj b/Debug/Matris.obj Binary files differnew file mode 100644 index 0000000..91ee4c2 --- /dev/null +++ b/Debug/Matris.obj diff --git a/Debug/SYSCALLS.obj b/Debug/SYSCALLS.obj Binary files differnew file mode 100644 index 0000000..b870bd9 --- /dev/null +++ b/Debug/SYSCALLS.obj diff --git a/Debug/draw.lst b/Debug/draw.lst new file mode 100644 index 0000000..c19d0ba --- /dev/null +++ b/Debug/draw.lst @@ -0,0 +1,5879 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Matris\draw.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 1 #include "sprites.h"
+ draw.c 2 #include "global.h"
+ draw.c 3
+ draw.c 4 //also from ML, a bit modified
+ draw.c 5
+ draw.c 6 void pixel(char *buffer, int x, int y, int type)
+P 00000000 _pixel: ; function: pixel
+ ; frame size=8
+ 00000000 2FE6 MOV.L R14,@-R15
+ draw.c 7 {
+ draw.c 8 if(x&~127 || y&~63) return;
+ 00000002 E380 MOV #-128,R3
+ 00000004 2FD6 MOV.L R13,@-R15
+ 00000006 2358 TST R5,R3
+ 00000008 8B2E BF L503
+ 0000000A E1C0 MOV #-64,R1
+ 0000000C 2168 TST R6,R1
+ 0000000E 8B2B BF L503
+ 00000010 9D84 MOV.W L762,R13 ; H'0080
+ 00000012 6073 MOV R7,R0
+ 00000014 4608 SHLL2 R6
+ 00000016 4608 SHLL2 R6
+ 00000018 6E53 MOV R5,R14
+ 0000001A 4E21 SHAR R14
+ 0000001C 4E21 SHAR R14
+ 0000001E 4E21 SHAR R14
+ 00000020 3E6C ADD R6,R14
+ 00000022 3E4C ADD R4,R14
+ 00000024 E207 MOV #7,R2
+ 00000026 2259 AND R5,R2
+ 00000028 622B NEG R2,R2
+ 0000002A 8800 CMP/EQ #0,R0
+ 0000002C 8D04 BT/S L469
+ 0000002E 4D2C SHAD R2,R13
+ 00000030 8801 CMP/EQ #1,R0
+ 00000032 890E BT L470
+ 00000034 A018 BRA L503
+ 00000036 0009 NOP
+ 00000038 L469: ; case label
+ draw.c 9 switch (type)
+ draw.c 10 {
+ draw.c 11 case 0:
+ draw.c 12 (*(buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 00000038 63E0 MOV.B @R14,R3
+ 0000003A 64D7 NOT R13,R4
+ draw.c 13 (*(1024 + buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 0000003C 906F MOV.W L762+2,R0 ; H'0400
+ 0000003E 2349 AND R4,R3
+ 00000040 2E30 MOV.B R3,@R14
+ 00000042 02EC MOV.B @(R0,R14),R2
+ 00000044 2249 AND R4,R2
+ 00000046 0E24 MOV.B R2,@(R0,R14)
+ draw.c 14 (*(2048 + buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 00000048 906A MOV.W L762+4,R0 ; H'0800
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000004A 03EC MOV.B @(R0,R14),R3
+ 0000004C 2349 AND R4,R3
+ draw.c 15 break;
+ 0000004E A00B BRA L503
+ 00000050 0E34 MOV.B R3,@(R0,R14)
+ 00000052 L470: ; case label
+ draw.c 16 case 1:
+ draw.c 17 (*(2048 + buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 00000052 9065 MOV.W L762+4,R0 ; H'0800
+ 00000054 03EC MOV.B @(R0,R14),R3
+ 00000056 23DB OR R13,R3
+ 00000058 0E34 MOV.B R3,@(R0,R14)
+ draw.c 18 (*(1024 + buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 0000005A 9060 MOV.W L762+2,R0 ; H'0400
+ 0000005C 02EC MOV.B @(R0,R14),R2
+ 0000005E 22DB OR R13,R2
+ 00000060 0E24 MOV.B R2,@(R0,R14)
+ draw.c 19 (*(buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 00000062 63E0 MOV.B @R14,R3
+ 00000064 23DB OR R13,R3
+ 00000066 2E30 MOV.B R3,@R14
+ draw.c 20 break;
+ draw.c 21 }
+ draw.c 22 }
+ 00000068 L503:
+ 00000068 6DF6 MOV.L @R15+,R13
+ 0000006A 000B RTS
+ 0000006C 6EF6 MOV.L @R15+,R14
+ draw.c 23
+ draw.c 24 void pixelgray(char *buffer, int x,int y, int type)
+ 0000006E _pixelgray: ; function: pixelgray
+ ; frame size=8
+ 0000006E 4608 SHLL2 R6
+ 00000070 2FE6 MOV.L R14,@-R15
+ 00000072 E207 MOV #7,R2
+ 00000074 2FD6 MOV.L R13,@-R15
+ 00000076 4608 SHLL2 R6
+ 00000078 9D50 MOV.W L762,R13 ; H'0080
+ 0000007A 6073 MOV R7,R0
+ 0000007C 6E53 MOV R5,R14
+ 0000007E 4E21 SHAR R14
+ 00000080 4E21 SHAR R14
+ 00000082 4E21 SHAR R14
+ 00000084 3E6C ADD R6,R14
+ 00000086 3E4C ADD R4,R14
+ 00000088 2259 AND R5,R2
+ 0000008A 622B NEG R2,R2
+ 0000008C 8800 CMP/EQ #0,R0
+ 0000008E 8D08 BT/S L471
+ 00000090 4D2C SHAD R2,R13
+ 00000092 8803 CMP/EQ #3,R0
+ 00000094 8912 BT L472
+ 00000096 8802 CMP/EQ #2,R0
+ 00000098 8914 BT L473
+ 0000009A 8801 CMP/EQ #1,R0
+ 0000009C 8916 BT L474
+ 0000009E A018 BRA L505
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 3
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000A0 0009 NOP
+ 000000A2 L471: ; case label
+ draw.c 25 {
+ draw.c 26 switch (type)
+ draw.c 27 {
+ draw.c 28 case 0:
+ draw.c 29 (*(buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 000000A2 64D7 NOT R13,R4
+ 000000A4 63E0 MOV.B @R14,R3
+ 000000A6 2349 AND R4,R3
+ 000000A8 2E30 MOV.B R3,@R14
+ draw.c 30 (*(1024 + buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 000000AA 9038 MOV.W L762+2,R0 ; H'0400
+ 000000AC 02EC MOV.B @(R0,R14),R2
+ 000000AE 2249 AND R4,R2
+ 000000B0 0E24 MOV.B R2,@(R0,R14)
+ draw.c 31 (*(2048 + buffer + (y << 4) + (x >> 3))) &= ( ~ (128 >> (x & 7)));
+ 000000B2 9035 MOV.W L762+4,R0 ; H'0800
+ 000000B4 03EC MOV.B @(R0,R14),R3
+ 000000B6 2349 AND R4,R3
+ draw.c 32 break;
+ 000000B8 A00B BRA L505
+ 000000BA 0E34 MOV.B R3,@(R0,R14)
+ 000000BC L472: ; case label
+ draw.c 33 case 3:
+ draw.c 34 (*(2048 + buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 000000BC 9030 MOV.W L762+4,R0 ; H'0800
+ 000000BE 03EC MOV.B @(R0,R14),R3
+ 000000C0 23DB OR R13,R3
+ 000000C2 0E34 MOV.B R3,@(R0,R14)
+ draw.c 35 case 2:
+ 000000C4 L473: ; case label
+ draw.c 36 (*(1024 + buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 000000C4 902B MOV.W L762+2,R0 ; H'0400
+ 000000C6 02EC MOV.B @(R0,R14),R2
+ 000000C8 22DB OR R13,R2
+ 000000CA 0E24 MOV.B R2,@(R0,R14)
+ draw.c 37 case 1:
+ 000000CC L474: ; case label
+ draw.c 38 (*(buffer + (y << 4) + (x >> 3))) |= (128 >> (x & 7));
+ 000000CC 63E0 MOV.B @R14,R3
+ 000000CE 23DB OR R13,R3
+ 000000D0 2E30 MOV.B R3,@R14
+ draw.c 39 break;
+ 000000D2 L505:
+ draw.c 40 }
+ draw.c 41 }
+ 000000D2 6DF6 MOV.L @R15+,R13
+ 000000D4 000B RTS
+ 000000D6 6EF6 MOV.L @R15+,R14
+ draw.c 42
+ draw.c 43 #define Abs(x) ((x < 0)? -x : x)
+ draw.c 44 #define sgn(x) (x == 0)?0:(x > 0)?1:-1
+ draw.c 45
+ draw.c 46 void line(char *buffer, int x1, int y1, int x2, int y2, int color)
+ 000000D8 _line: ; function: line
+ ; frame size=44
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 4
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000D8 2FE6 MOV.L R14,@-R15
+ draw.c 47 {
+ draw.c 48 int i, x, y, dx, dy, sx, sy, cumul;
+ draw.c 49
+ draw.c 50 y1 = y1 + 7;
+ 000000DA 7607 ADD #7,R6
+ 000000DC 2FD6 MOV.L R13,@-R15
+ 000000DE 2FC6 MOV.L R12,@-R15
+ 000000E0 2FB6 MOV.L R11,@-R15
+ draw.c 51 y2 = y2 + 7;
+ draw.c 52
+ draw.c 53 x = x1;
+ draw.c 54 y = y1;
+ 000000E2 6C63 MOV R6,R12
+ 000000E4 2FA6 MOV.L R10,@-R15
+ 000000E6 6B53 MOV R5,R11
+ 000000E8 2F96 MOV.L R9,@-R15
+ 000000EA 2F86 MOV.L R8,@-R15
+ 000000EC 4F22 STS.L PR,@-R15
+ 000000EE 6843 MOV R4,R8
+ 000000F0 7FF4 ADD #-12,R15
+ draw.c 55 dx = x2 - x1;
+ 000000F2 6473 MOV R7,R4
+ 000000F4 5EFB MOV.L @(44,R15),R14
+ 000000F6 3458 SUB R5,R4
+ 000000F8 59FC MOV.L @(48,R15),R9
+ 000000FA 7E07 ADD #7,R14
+ draw.c 56 dy = y2 - y1;
+ 000000FC 65E3 MOV R14,R5
+ draw.c 57 sx = sgn(dx);
+ 000000FE 2448 TST R4,R4
+ 00000100 8F02 BF/S L506
+ 00000102 3568 SUB R6,R5
+ 00000104 A005 BRA L508
+ 00000106 E300 MOV #0,R3
+ 00000108 L506:
+ 00000108 4415 CMP/PL R4
+ 0000010A 8B01 BF L507
+ 0000010C A001 BRA L508
+ 0000010E E301 MOV #1,R3
+ 00000110 L507:
+ 00000110 E3FF MOV #-1,R3
+ 00000112 L508:
+ draw.c 58 sy = sgn(dy);
+ 00000112 2558 TST R5,R5
+ 00000114 8F05 BF/S L510
+ 00000116 1F32 MOV.L R3,@(8,R15)
+ 00000118 A008 BRA L512
+ 0000011A E200 MOV #0,R2
+ 0000011C L762:
+ 0000011C 0080 .DATA.W H'0080
+ 0000011E 0400 .DATA.W H'0400
+ 00000120 0800 .DATA.W H'0800
+ 00000122 L510:
+ 00000122 4515 CMP/PL R5
+ 00000124 8B01 BF L511
+ 00000126 A001 BRA L512
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 5
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000128 E201 MOV #1,R2
+ 0000012A L511:
+ 0000012A E2FF MOV #-1,R2
+ 0000012C L512:
+ draw.c 59 dx = Abs(dx);
+ 0000012C 4411 CMP/PZ R4
+ 0000012E 8D02 BT/S L514
+ 00000130 1F21 MOV.L R2,@(4,R15)
+ 00000132 A001 BRA L515
+ 00000134 6D4B NEG R4,R13
+ 00000136 L514:
+ 00000136 6D43 MOV R4,R13
+ 00000138 L515:
+ draw.c 60 dy = Abs(dy);
+ 00000138 4511 CMP/PZ R5
+ 0000013A 8D02 BT/S L516
+ draw.c 61 pixel(buffer, x, y, color);
+ 0000013C 6793 MOV R9,R7
+ 0000013E A001 BRA L517
+ 00000140 6E5B NEG R5,R14
+ 00000142 L516:
+ 00000142 6E53 MOV R5,R14
+ 00000144 L517:
+ 00000144 66C3 MOV R12,R6
+ 00000146 65B3 MOV R11,R5
+ 00000148 BF5A BSR _pixel
+ 0000014A 6483 MOV R8,R4
+ draw.c 62 if(dx > dy)
+ 0000014C 3DE7 CMP/GT R14,R13
+ 0000014E 8F1D BF/S L518
+ 00000150 E401 MOV #1,R4
+ draw.c 63 {
+ draw.c 64 cumul = dx / 2;
+ 00000152 6AD3 MOV R13,R10
+ 00000154 E300 MOV #0,R3
+ 00000156 33A7 CMP/GT R10,R3
+ 00000158 3A3E ADDC R3,R10
+ 0000015A 4A21 SHAR R10
+ draw.c 65 for(i=1 ; i<dx ; i++)
+ 0000015C 6343 MOV R4,R3
+ 0000015E 33D3 CMP/GE R13,R3
+ 00000160 8D2F BT/S L522
+ 00000162 2F42 MOV.L R4,@R15
+ 00000164 L520:
+ draw.c 66 {
+ draw.c 67 x += sx;
+ 00000164 51F2 MOV.L @(8,R15),R1
+ draw.c 68 cumul += dy;
+ 00000166 3AEC ADD R14,R10
+ draw.c 69 if(cumul > dx)
+ 00000168 3AD7 CMP/GT R13,R10
+ 0000016A 8F03 BF/S L521
+ 0000016C 3B1C ADD R1,R11
+ draw.c 70 {
+ draw.c 71 cumul -= dx;
+ 0000016E 3AD8 SUB R13,R10
+ draw.c 72 y += sy;
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 6
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000170 52F1 MOV.L @(4,R15),R2
+ 00000172 3C2C ADD R2,R12
+ 00000174 L521:
+ draw.c 73 }
+ draw.c 74 pixel(buffer, x, y, color);
+ 00000174 6793 MOV R9,R7
+ 00000176 66C3 MOV R12,R6
+ 00000178 65B3 MOV R11,R5
+ 0000017A BF41 BSR _pixel
+ 0000017C 6483 MOV R8,R4
+ 0000017E 62F2 MOV.L @R15,R2
+ 00000180 7201 ADD #1,R2
+ 00000182 32D3 CMP/GE R13,R2
+ 00000184 8FEE BF/S L520
+ 00000186 2F22 MOV.L R2,@R15
+ 00000188 A01B BRA L522
+ 0000018A 0009 NOP
+ 0000018C L518:
+ draw.c 75 }
+ draw.c 76 }
+ draw.c 77 else
+ draw.c 78 {
+ draw.c 79 cumul = dy / 2;
+ 0000018C 6AE3 MOV R14,R10
+ 0000018E E300 MOV #0,R3
+ 00000190 33A7 CMP/GT R10,R3
+ 00000192 3A3E ADDC R3,R10
+ 00000194 4A21 SHAR R10
+ draw.c 80 for(i=1 ; i<dy ; i++)
+ 00000196 6343 MOV R4,R3
+ 00000198 33E3 CMP/GE R14,R3
+ 0000019A 8D12 BT/S L522
+ 0000019C 2F42 MOV.L R4,@R15
+ 0000019E L524:
+ draw.c 81 {
+ draw.c 82 y += sy;
+ draw.c 83 cumul += dx;
+ 0000019E 3ADC ADD R13,R10
+ 000001A0 51F1 MOV.L @(4,R15),R1
+ draw.c 84 if(cumul > dy)
+ 000001A2 3AE7 CMP/GT R14,R10
+ 000001A4 8F03 BF/S L525
+ 000001A6 3C1C ADD R1,R12
+ draw.c 85 {
+ draw.c 86 cumul -= dy;
+ draw.c 87 x += sx;
+ 000001A8 52F2 MOV.L @(8,R15),R2
+ 000001AA 3AE8 SUB R14,R10
+ 000001AC 3B2C ADD R2,R11
+ 000001AE L525:
+ draw.c 88 }
+ draw.c 89 pixel(buffer, x, y, color);
+ 000001AE 6793 MOV R9,R7
+ 000001B0 66C3 MOV R12,R6
+ 000001B2 65B3 MOV R11,R5
+ 000001B4 BF24 BSR _pixel
+ 000001B6 6483 MOV R8,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 7
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000001B8 62F2 MOV.L @R15,R2
+ 000001BA 7201 ADD #1,R2
+ 000001BC 32E3 CMP/GE R14,R2
+ 000001BE 8FEE BF/S L524
+ 000001C0 2F22 MOV.L R2,@R15
+ 000001C2 L522:
+ draw.c 90 }
+ draw.c 91 }
+ draw.c 92 }
+ 000001C2 7F0C ADD #12,R15
+ 000001C4 4F26 LDS.L @R15+,PR
+ 000001C6 68F6 MOV.L @R15+,R8
+ 000001C8 69F6 MOV.L @R15+,R9
+ 000001CA 6AF6 MOV.L @R15+,R10
+ 000001CC 6BF6 MOV.L @R15+,R11
+ 000001CE 6CF6 MOV.L @R15+,R12
+ 000001D0 6DF6 MOV.L @R15+,R13
+ 000001D2 000B RTS
+ 000001D4 6EF6 MOV.L @R15+,R14
+ draw.c 93 //end of ML stuff
+ draw.c 94
+ draw.c 95 void drawChar(char *buffer, char charact, int posx, int posy)
+ 000001D6 _drawChar: ; function: drawChar
+ ; frame size=48
+ 000001D6 655E EXTS.B R5,R5
+ 000001D8 D273 MOV.L L763+2,R2 ; _character
+ 000001DA E33C MOV #60,R3
+ 000001DC 2FE6 MOV.L R14,@-R15
+ 000001DE 75BF ADD #-65,R5
+ 000001E0 2FD6 MOV.L R13,@-R15
+ 000001E2 2FC6 MOV.L R12,@-R15
+ 000001E4 2FB6 MOV.L R11,@-R15
+ 000001E6 2FA6 MOV.L R10,@-R15
+ 000001E8 2F96 MOV.L R9,@-R15
+ 000001EA 6943 MOV R4,R9
+ 000001EC 2F86 MOV.L R8,@-R15
+ draw.c 96 {
+ draw.c 97 int xcount, ycount;
+ draw.c 98
+ draw.c 99 for(xcount = 0; xcount < 5; xcount ++)
+ 000001EE E800 MOV #0,R8
+ 000001F0 4F22 STS.L PR,@-R15
+ 000001F2 6A83 MOV R8,R10
+ 000001F4 4F12 STS.L MACL,@-R15
+ 000001F6 7FF4 ADD #-12,R15
+ 000001F8 0537 MUL.L R3,R5
+ 000001FA 1F61 MOV.L R6,@(4,R15)
+ 000001FC 2F72 MOV.L R7,@R15
+ 000001FE 051A STS MACL,R5
+ 00000200 325C ADD R5,R2
+ 00000202 1F22 MOV.L R2,@(8,R15)
+ 00000204 L526:
+ 00000204 6EF2 MOV.L @R15,R14
+ 00000206 6DA3 MOV R10,R13
+ 00000208 52F2 MOV.L @(8,R15),R2
+ draw.c 100 {
+ draw.c 101 for(ycount = 0; ycount < 3; ycount ++)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 8
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000020A 6C83 MOV R8,R12
+ 0000020C 5BF1 MOV.L @(4,R15),R11
+ 0000020E 63A3 MOV R10,R3
+ 00000210 4D00 SHLL R13
+ 00000212 3D3C ADD R3,R13
+ 00000214 4D08 SHLL2 R13
+ 00000216 3D2C ADD R2,R13
+ 00000218 3BAC ADD R10,R11
+ 0000021A L528:
+ draw.c 102 {
+ draw.c 103 pixel(buffer, posx + xcount, posy - ycount, character[charact - 65][xcount][ycount
+ +]);
+ 0000021A 66E3 MOV R14,R6
+ 0000021C 67D6 MOV.L @R13+,R7
+ 0000021E 65B3 MOV R11,R5
+ 00000220 BEEE BSR _pixel
+ 00000222 6493 MOV R9,R4
+ 00000224 67D6 MOV.L @R13+,R7
+ 00000226 65B3 MOV R11,R5
+ 00000228 7EFF ADD #-1,R14
+ 0000022A 66E3 MOV R14,R6
+ 0000022C BEE8 BSR _pixel
+ 0000022E 6493 MOV R9,R4
+ 00000230 67D6 MOV.L @R13+,R7
+ 00000232 65B3 MOV R11,R5
+ 00000234 7EFF ADD #-1,R14
+ 00000236 66E3 MOV R14,R6
+ 00000238 BEE2 BSR _pixel
+ 0000023A 6493 MOV R9,R4
+ 0000023C 7C03 ADD #3,R12
+ 0000023E E203 MOV #3,R2
+ 00000240 3C23 CMP/GE R2,R12
+ 00000242 8FEA BF/S L528
+ 00000244 7EFF ADD #-1,R14
+ 00000246 7A01 ADD #1,R10
+ 00000248 E205 MOV #5,R2
+ 0000024A 3A23 CMP/GE R2,R10
+ 0000024C 8BDA BF L526
+ draw.c 104 //this should be optimized: it is drawed pixel per pixel
+ draw.c 105 }
+ draw.c 106 }
+ draw.c 107 }
+ 0000024E 7F0C ADD #12,R15
+ 00000250 4F16 LDS.L @R15+,MACL
+ 00000252 4F26 LDS.L @R15+,PR
+ 00000254 68F6 MOV.L @R15+,R8
+ 00000256 69F6 MOV.L @R15+,R9
+ 00000258 6AF6 MOV.L @R15+,R10
+ 0000025A 6BF6 MOV.L @R15+,R11
+ 0000025C 6CF6 MOV.L @R15+,R12
+ 0000025E 6DF6 MOV.L @R15+,R13
+ 00000260 000B RTS
+ 00000262 6EF6 MOV.L @R15+,R14
+ draw.c 108
+ draw.c 109 void drawString(char *buffer, char *string, unsigned char strlenght, int posx, int posy)
+ 00000264 _drawString: ; function: drawString
+ ; frame size=24
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 9
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000264 2FE6 MOV.L R14,@-R15
+ draw.c 110 {
+ draw.c 111 int ycount, charcount;
+ draw.c 112
+ draw.c 113 for(charcount = strlenght - 1 , ycount = posy; charcount >= 0; charcount --, ycount += 4)
+ 00000266 6E6C EXTU.B R6,R14
+ 00000268 2FD6 MOV.L R13,@-R15
+ 0000026A 7EFF ADD #-1,R14
+ 0000026C 4F22 STS.L PR,@-R15
+ 0000026E 4E11 CMP/PZ R14
+ 00000270 7FF4 ADD #-12,R15
+ 00000272 1F42 MOV.L R4,@(8,R15)
+ 00000274 2F52 MOV.L R5,@R15
+ 00000276 1F71 MOV.L R7,@(4,R15)
+ 00000278 8F0A BF/S L529
+ 0000027A 5DF6 MOV.L @(24,R15),R13
+ 0000027C L530:
+ draw.c 114 {
+ draw.c 115 drawChar(buffer, *(string + charcount), posx, ycount);
+ 0000027C 56F1 MOV.L @(4,R15),R6
+ 0000027E 67D3 MOV R13,R7
+ 00000280 60F2 MOV.L @R15,R0
+ 00000282 54F2 MOV.L @(8,R15),R4
+ 00000284 BFA7 BSR _drawChar
+ 00000286 05EC MOV.B @(R0,R14),R5
+ 00000288 7EFF ADD #-1,R14
+ 0000028A 4E11 CMP/PZ R14
+ 0000028C 8DF6 BT/S L530
+ 0000028E 7D04 ADD #4,R13
+ 00000290 L529:
+ draw.c 116 //every char seperately
+ draw.c 117 }
+ draw.c 118 }
+ 00000290 7F0C ADD #12,R15
+ 00000292 4F26 LDS.L @R15+,PR
+ 00000294 6DF6 MOV.L @R15+,R13
+ 00000296 000B RTS
+ 00000298 6EF6 MOV.L @R15+,R14
+ draw.c 119
+ draw.c 120 void drawNumber(char *buffer, char num, int posx, int posy)
+ 0000029A _drawNumber: ; function: drawNumber
+ ; frame size=48
+ 0000029A 655E EXTS.B R5,R5
+ 0000029C D243 MOV.L L763+6,R2 ; _numbers
+ 0000029E E33C MOV #60,R3
+ 000002A0 2FE6 MOV.L R14,@-R15
+ 000002A2 2FD6 MOV.L R13,@-R15
+ 000002A4 2FC6 MOV.L R12,@-R15
+ 000002A6 2FB6 MOV.L R11,@-R15
+ 000002A8 2FA6 MOV.L R10,@-R15
+ 000002AA 2F96 MOV.L R9,@-R15
+ 000002AC 2F86 MOV.L R8,@-R15
+ 000002AE 6943 MOV R4,R9
+ 000002B0 4F22 STS.L PR,@-R15
+ draw.c 121 {
+ draw.c 122 int xcount, ycount;
+ draw.c 123
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 10
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 124 for(xcount = 0; xcount < 5; xcount ++)
+ 000002B2 E800 MOV #0,R8
+ 000002B4 4F12 STS.L MACL,@-R15
+ 000002B6 6A83 MOV R8,R10
+ 000002B8 253F MULS R3,R5
+ 000002BA 7FF4 ADD #-12,R15
+ 000002BC 1F61 MOV.L R6,@(4,R15)
+ 000002BE 051A STS MACL,R5
+ 000002C0 2F72 MOV.L R7,@R15
+ 000002C2 325C ADD R5,R2
+ 000002C4 1F22 MOV.L R2,@(8,R15)
+ 000002C6 L531:
+ draw.c 125 {
+ draw.c 126 for(ycount = 0; ycount < 3; ycount ++)
+ 000002C6 6C83 MOV R8,R12
+ 000002C8 6EF2 MOV.L @R15,R14
+ 000002CA 6DA3 MOV R10,R13
+ 000002CC 52F2 MOV.L @(8,R15),R2
+ 000002CE 63A3 MOV R10,R3
+ 000002D0 5BF1 MOV.L @(4,R15),R11
+ 000002D2 4D00 SHLL R13
+ 000002D4 3D3C ADD R3,R13
+ 000002D6 4D08 SHLL2 R13
+ 000002D8 3D2C ADD R2,R13
+ 000002DA 3BAC ADD R10,R11
+ 000002DC L533:
+ draw.c 127 {
+ draw.c 128 pixel(buffer, (int)posx + xcount, (int)posy - ycount, (int)numbers[num][xcount][yc
+ +ount]);
+ 000002DC 67D6 MOV.L @R13+,R7
+ 000002DE 66E3 MOV R14,R6
+ 000002E0 65B3 MOV R11,R5
+ 000002E2 BE8D BSR _pixel
+ 000002E4 6493 MOV R9,R4
+ 000002E6 7EFF ADD #-1,R14
+ 000002E8 67D6 MOV.L @R13+,R7
+ 000002EA 65B3 MOV R11,R5
+ 000002EC 66E3 MOV R14,R6
+ 000002EE BE87 BSR _pixel
+ 000002F0 6493 MOV R9,R4
+ 000002F2 7EFF ADD #-1,R14
+ 000002F4 67D6 MOV.L @R13+,R7
+ 000002F6 65B3 MOV R11,R5
+ 000002F8 66E3 MOV R14,R6
+ 000002FA BE81 BSR _pixel
+ 000002FC 6493 MOV R9,R4
+ 000002FE 7C03 ADD #3,R12
+ 00000300 E203 MOV #3,R2
+ 00000302 3C23 CMP/GE R2,R12
+ 00000304 8FEA BF/S L533
+ 00000306 7EFF ADD #-1,R14
+ 00000308 7A01 ADD #1,R10
+ 0000030A E205 MOV #5,R2
+ 0000030C 3A23 CMP/GE R2,R10
+ 0000030E 8BDA BF L531
+ draw.c 129 //like drawChar
+ draw.c 130 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 11
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 131 }
+ draw.c 132 }
+ 00000310 7F0C ADD #12,R15
+ 00000312 4F16 LDS.L @R15+,MACL
+ 00000314 4F26 LDS.L @R15+,PR
+ 00000316 68F6 MOV.L @R15+,R8
+ 00000318 69F6 MOV.L @R15+,R9
+ 0000031A 6AF6 MOV.L @R15+,R10
+ 0000031C 6BF6 MOV.L @R15+,R11
+ 0000031E 6CF6 MOV.L @R15+,R12
+ 00000320 6DF6 MOV.L @R15+,R13
+ 00000322 000B RTS
+ 00000324 6EF6 MOV.L @R15+,R14
+ draw.c 133
+ draw.c 134 void fillbox(char *buffer, int posx, int posy, int type)
+ 00000326 _fillbox: ; function: fillbox
+ ; frame size=52
+ 00000326 6353 MOV R5,R3
+ 00000328 D221 MOV.L L763+10,R2 ; _spritesheed
+ 0000032A 4508 SHLL2 R5
+ 0000032C 2FE6 MOV.L R14,@-R15
+ 0000032E 353C ADD R3,R5
+ 00000330 2FD6 MOV.L R13,@-R15
+ 00000332 E364 MOV #100,R3
+ 00000334 2FC6 MOV.L R12,@-R15
+ 00000336 2FB6 MOV.L R11,@-R15
+ 00000338 2FA6 MOV.L R10,@-R15
+ 0000033A EB04 MOV #4,R11
+ 0000033C 2F96 MOV.L R9,@-R15
+ draw.c 135 {
+ draw.c 136 int ycount, xcount;
+ draw.c 137
+ draw.c 138 for(ycount = 0; ycount <= 4; ycount ++)
+ 0000033E E900 MOV #0,R9
+ 00000340 2F86 MOV.L R8,@-R15
+ 00000342 6C93 MOV R9,R12
+ 00000344 4F22 STS.L PR,@-R15
+ 00000346 4F12 STS.L MACL,@-R15
+ 00000348 0737 MUL.L R3,R7
+ 0000034A 7FF0 ADD #-16,R15
+ 0000034C 2F42 MOV.L R4,@R15
+ 0000034E 071A STS MACL,R7
+ 00000350 1F53 MOV.L R5,@(12,R15)
+ 00000352 327C ADD R7,R2
+ 00000354 1F21 MOV.L R2,@(4,R15)
+ 00000356 6263 MOV R6,R2
+ 00000358 4608 SHLL2 R6
+ 0000035A 362C ADD R2,R6
+ 0000035C 1F62 MOV.L R6,@(8,R15)
+ 0000035E L534:
+ draw.c 139 {
+ draw.c 140 for(xcount = 0; xcount <= 4; xcount ++)
+ 0000035E 6A93 MOV R9,R10
+ 00000360 5EF3 MOV.L @(12,R15),R14
+ 00000362 6DC3 MOV R12,R13
+ 00000364 52F1 MOV.L @(4,R15),R2
+ 00000366 63C3 MOV R12,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 12
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000368 58F2 MOV.L @(8,R15),R8
+ 0000036A 7E01 ADD #1,R14
+ 0000036C 4D08 SHLL2 R13
+ 0000036E 3D3C ADD R3,R13
+ 00000370 4D08 SHLL2 R13
+ 00000372 3D2C ADD R2,R13
+ 00000374 38CC ADD R12,R8
+ 00000376 7808 ADD #8,R8
+ 00000378 L535:
+ draw.c 141 {
+ draw.c 142 pixelgray(buffer, posx * 5 + xcount + 1, posy * 5 + ycount + 1 + 7, spritesheed[ty
+ +pe][ycount][xcount]);
+ 00000378 67D6 MOV.L @R13+,R7
+ 0000037A 6683 MOV R8,R6
+ 0000037C 65E3 MOV R14,R5
+ 0000037E BE76 BSR _pixelgray
+ 00000380 64F2 MOV.L @R15,R4
+ 00000382 7A01 ADD #1,R10
+ 00000384 3AB7 CMP/GT R11,R10
+ 00000386 8FF7 BF/S L535
+ 00000388 7E01 ADD #1,R14
+ 0000038A 7C01 ADD #1,R12
+ 0000038C 3CB7 CMP/GT R11,R12
+ 0000038E 8BE6 BF L534
+ draw.c 143 //draw a brick box pixel per pixel
+ draw.c 144 }
+ draw.c 145 }
+ draw.c 146 }
+ 00000390 7F10 ADD #16,R15
+ 00000392 4F16 LDS.L @R15+,MACL
+ 00000394 4F26 LDS.L @R15+,PR
+ 00000396 68F6 MOV.L @R15+,R8
+ 00000398 69F6 MOV.L @R15+,R9
+ 0000039A 6AF6 MOV.L @R15+,R10
+ 0000039C 6BF6 MOV.L @R15+,R11
+ 0000039E 6CF6 MOV.L @R15+,R12
+ 000003A0 6DF6 MOV.L @R15+,R13
+ 000003A2 000B RTS
+ 000003A4 6EF6 MOV.L @R15+,R14
+ 000003A6 L763:
+ 000003A6 0000 .DATA.W 0
+ 000003A8 <00000000> .DATA.L _character
+ 000003AC <00000000> .DATA.L _numbers
+ 000003B0 <00000000> .DATA.L _spritesheed
+ draw.c 147
+ draw.c 148 void normalfillbox(char *buffer, int posx, int posy, int type)
+ 000003B4 _normalfillbox: ; function: normalfillbox
+ ; frame size=52
+ 000003B4 2FE6 MOV.L R14,@-R15
+ 000003B6 6353 MOV R5,R3
+ 000003B8 D23B MOV.L L764+2,R2 ; _spritesheed
+ 000003BA 4508 SHLL2 R5
+ 000003BC 2FD6 MOV.L R13,@-R15
+ 000003BE 353C ADD R3,R5
+ 000003C0 2FC6 MOV.L R12,@-R15
+ 000003C2 E364 MOV #100,R3
+ 000003C4 2FB6 MOV.L R11,@-R15
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 13
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000003C6 EB04 MOV #4,R11
+ 000003C8 2FA6 MOV.L R10,@-R15
+ 000003CA 2F96 MOV.L R9,@-R15
+ 000003CC 2F86 MOV.L R8,@-R15
+ draw.c 149 {
+ draw.c 150 int ycount, xcount;
+ draw.c 151
+ draw.c 152 for(ycount = 0; ycount <= 4; ycount ++)
+ 000003CE E900 MOV #0,R9
+ 000003D0 4F22 STS.L PR,@-R15
+ 000003D2 6C93 MOV R9,R12
+ 000003D4 4F12 STS.L MACL,@-R15
+ 000003D6 7FF0 ADD #-16,R15
+ 000003D8 0737 MUL.L R3,R7
+ 000003DA 2F42 MOV.L R4,@R15
+ 000003DC 1F53 MOV.L R5,@(12,R15)
+ 000003DE 071A STS MACL,R7
+ 000003E0 327C ADD R7,R2
+ 000003E2 1F21 MOV.L R2,@(4,R15)
+ 000003E4 6263 MOV R6,R2
+ 000003E6 4608 SHLL2 R6
+ 000003E8 362C ADD R2,R6
+ 000003EA 1F62 MOV.L R6,@(8,R15)
+ 000003EC L536:
+ 000003EC 5EF3 MOV.L @(12,R15),R14
+ 000003EE 6DC3 MOV R12,R13
+ 000003F0 52F1 MOV.L @(4,R15),R2
+ draw.c 153 {
+ draw.c 154 for(xcount = 0; xcount <= 4; xcount ++)
+ 000003F2 6A93 MOV R9,R10
+ 000003F4 58F2 MOV.L @(8,R15),R8
+ 000003F6 63C3 MOV R12,R3
+ 000003F8 7EFE ADD #-2,R14
+ 000003FA 4D08 SHLL2 R13
+ 000003FC 3D3C ADD R3,R13
+ 000003FE 4D08 SHLL2 R13
+ 00000400 3D2C ADD R2,R13
+ 00000402 38CC ADD R12,R8
+ 00000404 L537:
+ draw.c 155 {
+ draw.c 156 pixelgray(buffer, posx * 5 + xcount - 2, posy * 5 + ycount, spritesheed[type][ycou
+ +nt][xcount]);
+ 00000404 67D6 MOV.L @R13+,R7
+ 00000406 6683 MOV R8,R6
+ 00000408 65E3 MOV R14,R5
+ 0000040A BE30 BSR _pixelgray
+ 0000040C 64F2 MOV.L @R15,R4
+ 0000040E 7A01 ADD #1,R10
+ 00000410 3AB7 CMP/GT R11,R10
+ 00000412 8FF7 BF/S L537
+ 00000414 7E01 ADD #1,R14
+ 00000416 7C01 ADD #1,R12
+ 00000418 3CB7 CMP/GT R11,R12
+ 0000041A 8BE7 BF L536
+ draw.c 157 //like fillbox, just a different position
+ draw.c 158 }
+ draw.c 159 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 14
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 160 }
+ 0000041C 7F10 ADD #16,R15
+ 0000041E 4F16 LDS.L @R15+,MACL
+ 00000420 4F26 LDS.L @R15+,PR
+ 00000422 68F6 MOV.L @R15+,R8
+ 00000424 69F6 MOV.L @R15+,R9
+ 00000426 6AF6 MOV.L @R15+,R10
+ 00000428 6BF6 MOV.L @R15+,R11
+ 0000042A 6CF6 MOV.L @R15+,R12
+ 0000042C 6DF6 MOV.L @R15+,R13
+ 0000042E 000B RTS
+ 00000430 6EF6 MOV.L @R15+,R14
+ draw.c 161
+ draw.c 162 int DrawSprite()
+ 00000432 _DrawSprite: ; function: DrawSprite
+ ; frame size=44
+ 00000432 2FE6 MOV.L R14,@-R15
+ 00000434 2FD6 MOV.L R13,@-R15
+ draw.c 163 {
+ draw.c 164 char fit = True;
+ 00000436 ED01 MOV #1,R13
+ draw.c 165
+ draw.c 166 int xcount, ycount;
+ draw.c 167 right = True;
+ draw.c 168 left = True;
+ draw.c 169
+ draw.c 170 memset(&changemap, 0, 210);
+ 00000438 9635 MOV.W L764,R6 ; H'00D2
+ 0000043A 63D3 MOV R13,R3
+ 0000043C D41D MOV.L L764+14,R4 ; _changemap
+ 0000043E 6233 MOV R3,R2
+ 00000440 2FC6 MOV.L R12,@-R15
+ 00000442 2FB6 MOV.L R11,@-R15
+ 00000444 2FA6 MOV.L R10,@-R15
+ 00000446 2F96 MOV.L R9,@-R15
+ 00000448 2F86 MOV.L R8,@-R15
+ 0000044A 4F22 STS.L PR,@-R15
+ 0000044C DA17 MOV.L L764+6,R10 ; _right
+ 0000044E 7FF4 ADD #-12,R15
+ 00000450 DB17 MOV.L L764+10,R11; _left
+ 00000452 2A30 MOV.B R3,@R10
+ 00000454 2B20 MOV.B R2,@R11
+ 00000456 D318 MOV.L L764+18,R3 ; _memset
+ 00000458 430B JSR @R3
+ 0000045A E500 MOV #0,R5
+ draw.c 171
+ draw.c 172 //now draw a brick, the sizes are different
+ draw.c 173 //structs and a drawing function would be better, it would save code
+ draw.c 174
+ draw.c 175 switch(block)
+ 0000045C D815 MOV.L L764+14,R8 ; _changemap
+ 0000045E EE03 MOV #3,R14
+ 00000460 D717 MOV.L L764+26,R7 ; _globalmap
+ 00000462 D916 MOV.L L764+22,R9 ; _dir
+ 00000464 D617 MOV.L L764+30,R6 ; _ypos
+ 00000466 D518 MOV.L L764+34,R5 ; _xpos
+ 00000468 D218 MOV.L L764+38,R2 ; _block
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 15
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000046A 6020 MOV.B @R2,R0
+ 0000046C 8801 CMP/EQ #1,R0
+ 0000046E 8D2F BT/S L475
+ 00000470 E400 MOV #0,R4
+ 00000472 8802 CMP/EQ #2,R0
+ 00000474 8B01 BF L765
+ 00000476 A0B5 BRA L476
+ 00000478 0009 NOP
+ 0000047A L765:
+ 0000047A 8803 CMP/EQ #3,R0
+ 0000047C 8B01 BF L766
+ 0000047E A296 BRA L477
+ 00000480 0009 NOP
+ 00000482 L766:
+ 00000482 8804 CMP/EQ #4,R0
+ 00000484 8B01 BF L767
+ 00000486 A31C BRA L478
+ 00000488 0009 NOP
+ 0000048A L767:
+ 0000048A 8805 CMP/EQ #5,R0
+ 0000048C 8B01 BF L768
+ 0000048E A3AC BRA L479
+ 00000490 0009 NOP
+ 00000492 L768:
+ 00000492 8806 CMP/EQ #6,R0
+ 00000494 8B01 BF L769
+ 00000496 A433 BRA L480
+ 00000498 0009 NOP
+ 0000049A L769:
+ 0000049A 8807 CMP/EQ #7,R0
+ 0000049C 8B01 BF L770
+ 0000049E A4C2 BRA L481
+ 000004A0 0009 NOP
+ 000004A2 L770:
+ 000004A2 A547 BRA L538
+ 000004A4 0009 NOP
+ 000004A6 L764:
+ 000004A6 00D2 .DATA.W H'00D2
+ 000004A8 <00000000> .DATA.L _spritesheed
+ 000004AC <00000000> .DATA.L _right
+ 000004B0 <00000000> .DATA.L _left
+ 000004B4 <00000000> .DATA.L _changemap
+ 000004B8 <00000000> .DATA.L _memset
+ 000004BC <00000000> .DATA.L _dir
+ 000004C0 <00000000> .DATA.L _globalmap
+ 000004C4 <00000000> .DATA.L _ypos
+ 000004C8 <00000000> .DATA.L _xpos
+ 000004CC <00000000> .DATA.L _block
+ 000004D0 L475: ; case label
+ draw.c 176 {
+ draw.c 177 case 1:
+ draw.c 178 for(xcount = 0; xcount < 4; xcount ++)
+ 000004D0 2F42 MOV.L R4,@R15
+ 000004D2 L539:
+ draw.c 179 {
+ draw.c 180 for(ycount = 0; ycount < 3; ycount ++)
+ 000004D2 6C43 MOV R4,R12
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 16
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000004D4 63F2 MOV.L @R15,R3
+ 000004D6 4308 SHLL2 R3
+ 000004D8 1F32 MOV.L R3,@(8,R15)
+ 000004DA L540:
+ draw.c 181 {
+ draw.c 182 if(blockO[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 000004DA 62C3 MOV R12,R2
+ 000004DC 6090 MOV.B @R9,R0
+ 000004DE 4208 SHLL2 R2
+ 000004E0 6303 MOV R0,R3
+ 000004E2 4000 SHLL R0
+ 000004E4 303C ADD R3,R0
+ 000004E6 4008 SHLL2 R0
+ 000004E8 D38D MOV.L L771+2,R3 ; _blockO
+ 000004EA 4208 SHLL2 R2
+ 000004EC 4008 SHLL2 R0
+ 000004EE 303C ADD R3,R0
+ 000004F0 302C ADD R2,R0
+ 000004F2 52F2 MOV.L @(8,R15),R2
+ 000004F4 002E MOV.L @(R0,R2),R0
+ 000004F6 8801 CMP/EQ #1,R0
+ 000004F8 8B67 BF L541
+ 000004FA D18A MOV.L L771+6,R1 ; _ypos
+ 000004FC 6012 MOV.L @R1,R0
+ 000004FE 30C8 SUB R12,R0
+ 00000500 70FE ADD #-2,R0
+ 00000502 4011 CMP/PZ R0
+ 00000504 8B61 BF L541
+ draw.c 183 {
+ draw.c 184 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 00000506 63F2 MOV.L @R15,R3
+ 00000508 6252 MOV.L @R5,R2
+ 0000050A 3238 SUB R3,R2
+ 0000050C 72FE ADD #-2,R2
+ 0000050E 4211 CMP/PZ R2
+ 00000510 8F0A BF/S L543
+ 00000512 1F21 MOV.L R2,@(4,R15)
+ 00000514 E009 MOV #9,R0
+ 00000516 3207 CMP/GT R0,R2
+ 00000518 8906 BT L543
+ 0000051A D082 MOV.L L771+6,R0 ; _ypos
+ 0000051C 6102 MOV.L @R0,R1
+ 0000051E E014 MOV #20,R0
+ 00000520 31C8 SUB R12,R1
+ 00000522 71FE ADD #-2,R1
+ 00000524 3107 CMP/GT R0,R1
+ 00000526 8B01 BF L542
+ 00000528 L543:
+ draw.c 185 {
+ draw.c 186 fit = False;
+ 00000528 A04F BRA L541
+ 0000052A 6D43 MOV R4,R13
+ 0000052C L542:
+ draw.c 187 }
+ draw.c 188 else
+ draw.c 189 {
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 17
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 190 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +1;
+ 0000052C 6062 MOV.L @R6,R0
+ 0000052E E101 MOV #1,R1
+ 00000530 6252 MOV.L @R5,R2
+ 00000532 30C8 SUB R12,R0
+ 00000534 70FE ADD #-2,R0
+ 00000536 6303 MOV R0,R3
+ 00000538 4008 SHLL2 R0
+ 0000053A 303C ADD R3,R0
+ 0000053C 63F2 MOV.L @R15,R3
+ 0000053E 4000 SHLL R0
+ 00000540 308C ADD R8,R0
+ 00000542 3238 SUB R3,R2
+ 00000544 72FE ADD #-2,R2
+ 00000546 0214 MOV.B R1,@(R0,R2)
+ draw.c 191 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000548 6062 MOV.L @R6,R0
+ 0000054A 30C8 SUB R12,R0
+ 0000054C 70FE ADD #-2,R0
+ 0000054E 6303 MOV R0,R3
+ 00000550 1F01 MOV.L R0,@(4,R15)
+ 00000552 4008 SHLL2 R0
+ 00000554 6252 MOV.L @R5,R2
+ 00000556 303C ADD R3,R0
+ 00000558 63F2 MOV.L @R15,R3
+ 0000055A 4000 SHLL R0
+ 0000055C 307C ADD R7,R0
+ 0000055E 3238 SUB R3,R2
+ 00000560 72FE ADD #-2,R2
+ 00000562 002C MOV.B @(R0,R2),R0
+ 00000564 2008 TST R0,R0
+ 00000566 8B03 BF L546
+ 00000568 52F1 MOV.L @(4,R15),R2
+ 0000056A E114 MOV #20,R1
+ 0000056C 3213 CMP/GE R1,R2
+ 0000056E 8B00 BF L545
+ 00000570 L546:
+ draw.c 192 {
+ draw.c 193 fit = False;
+ 00000570 6D43 MOV R4,R13
+ 00000572 L545:
+ draw.c 194 }
+ draw.c 195 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000572 6062 MOV.L @R6,R0
+ 00000574 6252 MOV.L @R5,R2
+ 00000576 30C8 SUB R12,R0
+ 00000578 70FE ADD #-2,R0
+ 0000057A 6303 MOV R0,R3
+ 0000057C 4008 SHLL2 R0
+ 0000057E 303C ADD R3,R0
+ 00000580 63F2 MOV.L @R15,R3
+ 00000582 4000 SHLL R0
+ 00000584 307C ADD R7,R0
+ 00000586 3238 SUB R3,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 18
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000588 1F21 MOV.L R2,@(4,R15)
+ 0000058A 72FD ADD #-3,R2
+ 0000058C 002C MOV.B @(R0,R2),R0
+ 0000058E 2008 TST R0,R0
+ 00000590 8B04 BF L548
+ 00000592 E201 MOV #1,R2
+ 00000594 51F1 MOV.L @(4,R15),R1
+ 00000596 71FE ADD #-2,R1
+ 00000598 3123 CMP/GE R2,R1
+ 0000059A 8900 BT L547
+ 0000059C L548:
+ draw.c 196 {
+ draw.c 197 right = False;
+ 0000059C 2A40 MOV.B R4,@R10
+ 0000059E L547:
+ draw.c 198 }
+ draw.c 199 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 0000059E 6062 MOV.L @R6,R0
+ 000005A0 6252 MOV.L @R5,R2
+ 000005A2 30C8 SUB R12,R0
+ 000005A4 70FE ADD #-2,R0
+ 000005A6 6303 MOV R0,R3
+ 000005A8 4008 SHLL2 R0
+ 000005AA 303C ADD R3,R0
+ 000005AC 63F2 MOV.L @R15,R3
+ 000005AE 4000 SHLL R0
+ 000005B0 307C ADD R7,R0
+ 000005B2 3238 SUB R3,R2
+ 000005B4 1F21 MOV.L R2,@(4,R15)
+ 000005B6 72FF ADD #-1,R2
+ 000005B8 002C MOV.B @(R0,R2),R0
+ 000005BA 2008 TST R0,R0
+ 000005BC 8B04 BF L550
+ 000005BE E208 MOV #8,R2
+ 000005C0 51F1 MOV.L @(4,R15),R1
+ 000005C2 71FE ADD #-2,R1
+ 000005C4 3127 CMP/GT R2,R1
+ 000005C6 8B00 BF L541
+ 000005C8 L550:
+ draw.c 200 {
+ draw.c 201 left = False;
+ 000005C8 2B40 MOV.B R4,@R11
+ 000005CA L541:
+ 000005CA 7C01 ADD #1,R12
+ 000005CC 3CE3 CMP/GE R14,R12
+ 000005CE 8B84 BF L540
+ 000005D0 62F2 MOV.L @R15,R2
+ 000005D2 E304 MOV #4,R3
+ 000005D4 7201 ADD #1,R2
+ 000005D6 3233 CMP/GE R3,R2
+ 000005D8 8D02 BT/S L772
+ 000005DA 2F22 MOV.L R2,@R15
+ 000005DC AF79 BRA L539
+ 000005DE 0009 NOP
+ 000005E0 L772:
+ draw.c 202 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 19
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 203 }
+ draw.c 204 }
+ draw.c 205 }
+ draw.c 206 }
+ draw.c 207 break;
+ 000005E0 A4A8 BRA L538
+ 000005E2 0009 NOP
+ 000005E4 L476: ; case label
+ draw.c 208 case 2:
+ draw.c 209 for(xcount = 0; xcount < 4; xcount ++)
+ 000005E4 6C43 MOV R4,R12
+ 000005E6 L551:
+ draw.c 210 {
+ draw.c 211 for(ycount = 0; ycount < 4; ycount ++)
+ 000005E6 6E43 MOV R4,R14
+ 000005E8 63C3 MOV R12,R3
+ 000005EA 4308 SHLL2 R3
+ 000005EC 2F32 MOV.L R3,@R15
+ 000005EE L553:
+ draw.c 212 {
+ draw.c 213 if(blockI[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 000005EE 63E3 MOV R14,R3
+ 000005F0 D24D MOV.L L771+10,R2 ; _blockI
+ 000005F2 4308 SHLL2 R3
+ 000005F4 6090 MOV.B @R9,R0
+ 000005F6 4308 SHLL2 R3
+ 000005F8 4008 SHLL2 R0
+ 000005FA 4008 SHLL2 R0
+ 000005FC 4008 SHLL2 R0
+ 000005FE 302C ADD R2,R0
+ 00000600 303C ADD R3,R0
+ 00000602 63F2 MOV.L @R15,R3
+ 00000604 003E MOV.L @(R0,R3),R0
+ 00000606 8801 CMP/EQ #1,R0
+ 00000608 8B62 BF L554
+ 0000060A D146 MOV.L L771+6,R1 ; _ypos
+ 0000060C 6012 MOV.L @R1,R0
+ 0000060E 30E8 SUB R14,R0
+ 00000610 70FE ADD #-2,R0
+ 00000612 4011 CMP/PZ R0
+ 00000614 8B5C BF L554
+ draw.c 214 {
+ draw.c 215 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 00000616 6252 MOV.L @R5,R2
+ 00000618 32C8 SUB R12,R2
+ 0000061A 72FE ADD #-2,R2
+ 0000061C 4211 CMP/PZ R2
+ 0000061E 8F0A BF/S L556
+ 00000620 1F22 MOV.L R2,@(8,R15)
+ 00000622 E109 MOV #9,R1
+ 00000624 3217 CMP/GT R1,R2
+ 00000626 8906 BT L556
+ 00000628 D33E MOV.L L771+6,R3 ; _ypos
+ 0000062A E114 MOV #20,R1
+ 0000062C 6032 MOV.L @R3,R0
+ 0000062E 30E8 SUB R14,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 20
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000630 70FE ADD #-2,R0
+ 00000632 3017 CMP/GT R1,R0
+ 00000634 8B01 BF L555
+ 00000636 L556:
+ draw.c 216 {
+ draw.c 217 fit = False;
+ 00000636 A04B BRA L554
+ 00000638 6D43 MOV R4,R13
+ 0000063A L555:
+ draw.c 218 }
+ draw.c 219 else
+ draw.c 220 {
+ draw.c 221 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +2;
+ 0000063A 6062 MOV.L @R6,R0
+ 0000063C 6252 MOV.L @R5,R2
+ 0000063E 30E8 SUB R14,R0
+ 00000640 70FE ADD #-2,R0
+ 00000642 6303 MOV R0,R3
+ 00000644 4008 SHLL2 R0
+ 00000646 303C ADD R3,R0
+ 00000648 4000 SHLL R0
+ 0000064A 308C ADD R8,R0
+ 0000064C 32C8 SUB R12,R2
+ 0000064E 72FE ADD #-2,R2
+ 00000650 E302 MOV #2,R3
+ 00000652 0234 MOV.B R3,@(R0,R2)
+ draw.c 222 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000654 6062 MOV.L @R6,R0
+ 00000656 30E8 SUB R14,R0
+ 00000658 70FE ADD #-2,R0
+ 0000065A 6303 MOV R0,R3
+ 0000065C 1F02 MOV.L R0,@(8,R15)
+ 0000065E 4008 SHLL2 R0
+ 00000660 6252 MOV.L @R5,R2
+ 00000662 303C ADD R3,R0
+ 00000664 4000 SHLL R0
+ 00000666 307C ADD R7,R0
+ 00000668 32C8 SUB R12,R2
+ 0000066A 72FE ADD #-2,R2
+ 0000066C 032C MOV.B @(R0,R2),R3
+ 0000066E 2338 TST R3,R3
+ 00000670 8B03 BF L559
+ 00000672 E114 MOV #20,R1
+ 00000674 52F2 MOV.L @(8,R15),R2
+ 00000676 3213 CMP/GE R1,R2
+ 00000678 8B00 BF L558
+ 0000067A L559:
+ draw.c 223 {
+ draw.c 224 fit = False;
+ 0000067A 6D43 MOV R4,R13
+ 0000067C L558:
+ draw.c 225 }
+ draw.c 226 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 0000067C 6062 MOV.L @R6,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 21
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000067E 30E8 SUB R14,R0
+ 00000680 6252 MOV.L @R5,R2
+ 00000682 70FE ADD #-2,R0
+ 00000684 6303 MOV R0,R3
+ 00000686 4008 SHLL2 R0
+ 00000688 303C ADD R3,R0
+ 0000068A 4000 SHLL R0
+ 0000068C 307C ADD R7,R0
+ 0000068E 32C8 SUB R12,R2
+ 00000690 1F22 MOV.L R2,@(8,R15)
+ 00000692 72FD ADD #-3,R2
+ 00000694 032C MOV.B @(R0,R2),R3
+ 00000696 2338 TST R3,R3
+ 00000698 8B04 BF L561
+ 0000069A E301 MOV #1,R3
+ 0000069C 51F2 MOV.L @(8,R15),R1
+ 0000069E 71FE ADD #-2,R1
+ 000006A0 3133 CMP/GE R3,R1
+ 000006A2 8900 BT L560
+ 000006A4 L561:
+ draw.c 227 {
+ draw.c 228 right = False;
+ 000006A4 2A40 MOV.B R4,@R10
+ 000006A6 L560:
+ draw.c 229 }
+ draw.c 230 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 000006A6 6062 MOV.L @R6,R0
+ 000006A8 6252 MOV.L @R5,R2
+ 000006AA 30E8 SUB R14,R0
+ 000006AC 70FE ADD #-2,R0
+ 000006AE 6303 MOV R0,R3
+ 000006B0 4008 SHLL2 R0
+ 000006B2 303C ADD R3,R0
+ 000006B4 4000 SHLL R0
+ 000006B6 307C ADD R7,R0
+ 000006B8 32C8 SUB R12,R2
+ 000006BA 1F22 MOV.L R2,@(8,R15)
+ 000006BC 72FF ADD #-1,R2
+ 000006BE 032C MOV.B @(R0,R2),R3
+ 000006C0 2338 TST R3,R3
+ 000006C2 8B04 BF L563
+ 000006C4 51F2 MOV.L @(8,R15),R1
+ 000006C6 E308 MOV #8,R3
+ 000006C8 71FE ADD #-2,R1
+ 000006CA 3137 CMP/GT R3,R1
+ 000006CC 8B00 BF L554
+ 000006CE L563:
+ draw.c 231 {
+ draw.c 232 left = False;
+ 000006CE 2B40 MOV.B R4,@R11
+ 000006D0 L554:
+ 000006D0 6090 MOV.B @R9,R0
+ 000006D2 7E01 ADD #1,R14
+ 000006D4 D214 MOV.L L771+10,R2 ; _blockI
+ 000006D6 4008 SHLL2 R0
+ 000006D8 4008 SHLL2 R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 22
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000006DA 4008 SHLL2 R0
+ 000006DC 63E3 MOV R14,R3
+ 000006DE 4308 SHLL2 R3
+ 000006E0 4308 SHLL2 R3
+ 000006E2 302C ADD R2,R0
+ 000006E4 303C ADD R3,R0
+ 000006E6 63F2 MOV.L @R15,R3
+ 000006E8 003E MOV.L @(R0,R3),R0
+ 000006EA 8801 CMP/EQ #1,R0
+ 000006EC 8B69 BF L564
+ 000006EE D10D MOV.L L771+6,R1 ; _ypos
+ 000006F0 6012 MOV.L @R1,R0
+ 000006F2 30E8 SUB R14,R0
+ 000006F4 70FE ADD #-2,R0
+ 000006F6 4011 CMP/PZ R0
+ 000006F8 8B63 BF L564
+ 000006FA 6252 MOV.L @R5,R2
+ 000006FC 32C8 SUB R12,R2
+ 000006FE 72FE ADD #-2,R2
+ 00000700 4211 CMP/PZ R2
+ 00000702 8F0A BF/S L566
+ 00000704 1F22 MOV.L R2,@(8,R15)
+ 00000706 E109 MOV #9,R1
+ 00000708 3217 CMP/GT R1,R2
+ 0000070A 8906 BT L566
+ 0000070C D305 MOV.L L771+6,R3 ; _ypos
+ 0000070E E114 MOV #20,R1
+ 00000710 6032 MOV.L @R3,R0
+ 00000712 30E8 SUB R14,R0
+ 00000714 70FE ADD #-2,R0
+ 00000716 3017 CMP/GT R1,R0
+ 00000718 8B08 BF L565
+ 0000071A L566:
+ 0000071A A052 BRA L564
+ 0000071C 6D43 MOV R4,R13
+ 0000071E L771:
+ 0000071E 0000 .DATA.W 0
+ 00000720 <00000000> .DATA.L _blockO
+ 00000724 <00000000> .DATA.L _ypos
+ 00000728 <00000000> .DATA.L _blockI
+ 0000072C L565:
+ 0000072C 6062 MOV.L @R6,R0
+ 0000072E 30E8 SUB R14,R0
+ 00000730 6252 MOV.L @R5,R2
+ 00000732 70FE ADD #-2,R0
+ 00000734 6303 MOV R0,R3
+ 00000736 4008 SHLL2 R0
+ 00000738 303C ADD R3,R0
+ 0000073A 4000 SHLL R0
+ 0000073C 308C ADD R8,R0
+ 0000073E 32C8 SUB R12,R2
+ 00000740 72FE ADD #-2,R2
+ 00000742 E302 MOV #2,R3
+ 00000744 0234 MOV.B R3,@(R0,R2)
+ 00000746 6062 MOV.L @R6,R0
+ 00000748 30E8 SUB R14,R0
+ 0000074A 70FE ADD #-2,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 23
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000074C 1F02 MOV.L R0,@(8,R15)
+ 0000074E 6303 MOV R0,R3
+ 00000750 6252 MOV.L @R5,R2
+ 00000752 4008 SHLL2 R0
+ 00000754 303C ADD R3,R0
+ 00000756 4000 SHLL R0
+ 00000758 307C ADD R7,R0
+ 0000075A 32C8 SUB R12,R2
+ 0000075C 72FE ADD #-2,R2
+ 0000075E 032C MOV.B @(R0,R2),R3
+ 00000760 2338 TST R3,R3
+ 00000762 8B03 BF L569
+ 00000764 52F2 MOV.L @(8,R15),R2
+ 00000766 E114 MOV #20,R1
+ 00000768 3213 CMP/GE R1,R2
+ 0000076A 8B00 BF L568
+ 0000076C L569:
+ 0000076C 6D43 MOV R4,R13
+ 0000076E L568:
+ 0000076E 6062 MOV.L @R6,R0
+ 00000770 6252 MOV.L @R5,R2
+ 00000772 30E8 SUB R14,R0
+ 00000774 70FE ADD #-2,R0
+ 00000776 6303 MOV R0,R3
+ 00000778 4008 SHLL2 R0
+ 0000077A 303C ADD R3,R0
+ 0000077C 4000 SHLL R0
+ 0000077E 307C ADD R7,R0
+ 00000780 32C8 SUB R12,R2
+ 00000782 1F22 MOV.L R2,@(8,R15)
+ 00000784 72FD ADD #-3,R2
+ 00000786 032C MOV.B @(R0,R2),R3
+ 00000788 2338 TST R3,R3
+ 0000078A 8B04 BF L571
+ 0000078C 51F2 MOV.L @(8,R15),R1
+ 0000078E E301 MOV #1,R3
+ 00000790 71FE ADD #-2,R1
+ 00000792 3133 CMP/GE R3,R1
+ 00000794 8900 BT L570
+ 00000796 L571:
+ 00000796 2A40 MOV.B R4,@R10
+ 00000798 L570:
+ 00000798 6062 MOV.L @R6,R0
+ 0000079A 30E8 SUB R14,R0
+ 0000079C 6252 MOV.L @R5,R2
+ 0000079E 70FE ADD #-2,R0
+ 000007A0 6303 MOV R0,R3
+ 000007A2 4008 SHLL2 R0
+ 000007A4 303C ADD R3,R0
+ 000007A6 4000 SHLL R0
+ 000007A8 307C ADD R7,R0
+ 000007AA 32C8 SUB R12,R2
+ 000007AC 1F22 MOV.L R2,@(8,R15)
+ 000007AE 72FF ADD #-1,R2
+ 000007B0 032C MOV.B @(R0,R2),R3
+ 000007B2 2338 TST R3,R3
+ 000007B4 8B04 BF L573
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 24
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000007B6 E308 MOV #8,R3
+ 000007B8 51F2 MOV.L @(8,R15),R1
+ 000007BA 71FE ADD #-2,R1
+ 000007BC 3137 CMP/GT R3,R1
+ 000007BE 8B00 BF L564
+ 000007C0 L573:
+ 000007C0 2B40 MOV.B R4,@R11
+ 000007C2 L564:
+ 000007C2 7E01 ADD #1,R14
+ 000007C4 6090 MOV.B @R9,R0
+ 000007C6 63E3 MOV R14,R3
+ 000007C8 D24A MOV.L L773,R2 ; _blockI
+ 000007CA 4008 SHLL2 R0
+ 000007CC 4008 SHLL2 R0
+ 000007CE 4008 SHLL2 R0
+ 000007D0 4308 SHLL2 R3
+ 000007D2 4308 SHLL2 R3
+ 000007D4 302C ADD R2,R0
+ 000007D6 303C ADD R3,R0
+ 000007D8 63F2 MOV.L @R15,R3
+ 000007DA 003E MOV.L @(R0,R3),R0
+ 000007DC 8801 CMP/EQ #1,R0
+ 000007DE 8B62 BF L574
+ 000007E0 D145 MOV.L L773+4,R1 ; _ypos
+ 000007E2 6012 MOV.L @R1,R0
+ 000007E4 30E8 SUB R14,R0
+ 000007E6 70FE ADD #-2,R0
+ 000007E8 4011 CMP/PZ R0
+ 000007EA 8B5C BF L574
+ 000007EC 6252 MOV.L @R5,R2
+ 000007EE 32C8 SUB R12,R2
+ 000007F0 72FE ADD #-2,R2
+ 000007F2 4211 CMP/PZ R2
+ 000007F4 8F0A BF/S L576
+ 000007F6 1F22 MOV.L R2,@(8,R15)
+ 000007F8 E109 MOV #9,R1
+ 000007FA 3217 CMP/GT R1,R2
+ 000007FC 8906 BT L576
+ 000007FE E114 MOV #20,R1
+ 00000800 D33D MOV.L L773+4,R3 ; _ypos
+ 00000802 6032 MOV.L @R3,R0
+ 00000804 30E8 SUB R14,R0
+ 00000806 70FE ADD #-2,R0
+ 00000808 3017 CMP/GT R1,R0
+ 0000080A 8B01 BF L575
+ 0000080C L576:
+ 0000080C A04B BRA L574
+ 0000080E 6D43 MOV R4,R13
+ 00000810 L575:
+ 00000810 6062 MOV.L @R6,R0
+ 00000812 30E8 SUB R14,R0
+ 00000814 6252 MOV.L @R5,R2
+ 00000816 70FE ADD #-2,R0
+ 00000818 6303 MOV R0,R3
+ 0000081A 4008 SHLL2 R0
+ 0000081C 303C ADD R3,R0
+ 0000081E 4000 SHLL R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 25
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000820 308C ADD R8,R0
+ 00000822 32C8 SUB R12,R2
+ 00000824 72FE ADD #-2,R2
+ 00000826 E302 MOV #2,R3
+ 00000828 0234 MOV.B R3,@(R0,R2)
+ 0000082A 6062 MOV.L @R6,R0
+ 0000082C 30E8 SUB R14,R0
+ 0000082E 70FE ADD #-2,R0
+ 00000830 1F02 MOV.L R0,@(8,R15)
+ 00000832 6303 MOV R0,R3
+ 00000834 6252 MOV.L @R5,R2
+ 00000836 4008 SHLL2 R0
+ 00000838 303C ADD R3,R0
+ 0000083A 4000 SHLL R0
+ 0000083C 307C ADD R7,R0
+ 0000083E 32C8 SUB R12,R2
+ 00000840 72FE ADD #-2,R2
+ 00000842 032C MOV.B @(R0,R2),R3
+ 00000844 2338 TST R3,R3
+ 00000846 8B03 BF L579
+ 00000848 52F2 MOV.L @(8,R15),R2
+ 0000084A E114 MOV #20,R1
+ 0000084C 3213 CMP/GE R1,R2
+ 0000084E 8B00 BF L578
+ 00000850 L579:
+ 00000850 6D43 MOV R4,R13
+ 00000852 L578:
+ 00000852 6062 MOV.L @R6,R0
+ 00000854 6252 MOV.L @R5,R2
+ 00000856 30E8 SUB R14,R0
+ 00000858 70FE ADD #-2,R0
+ 0000085A 6303 MOV R0,R3
+ 0000085C 4008 SHLL2 R0
+ 0000085E 303C ADD R3,R0
+ 00000860 4000 SHLL R0
+ 00000862 307C ADD R7,R0
+ 00000864 32C8 SUB R12,R2
+ 00000866 1F22 MOV.L R2,@(8,R15)
+ 00000868 72FD ADD #-3,R2
+ 0000086A 032C MOV.B @(R0,R2),R3
+ 0000086C 2338 TST R3,R3
+ 0000086E 8B04 BF L581
+ 00000870 51F2 MOV.L @(8,R15),R1
+ 00000872 E301 MOV #1,R3
+ 00000874 71FE ADD #-2,R1
+ 00000876 3133 CMP/GE R3,R1
+ 00000878 8900 BT L580
+ 0000087A L581:
+ 0000087A 2A40 MOV.B R4,@R10
+ 0000087C L580:
+ 0000087C 6062 MOV.L @R6,R0
+ 0000087E 30E8 SUB R14,R0
+ 00000880 6252 MOV.L @R5,R2
+ 00000882 70FE ADD #-2,R0
+ 00000884 6303 MOV R0,R3
+ 00000886 4008 SHLL2 R0
+ 00000888 303C ADD R3,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 26
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000088A 4000 SHLL R0
+ 0000088C 307C ADD R7,R0
+ 0000088E 32C8 SUB R12,R2
+ 00000890 1F22 MOV.L R2,@(8,R15)
+ 00000892 72FF ADD #-1,R2
+ 00000894 032C MOV.B @(R0,R2),R3
+ 00000896 2338 TST R3,R3
+ 00000898 8B04 BF L583
+ 0000089A E308 MOV #8,R3
+ 0000089C 51F2 MOV.L @(8,R15),R1
+ 0000089E 71FE ADD #-2,R1
+ 000008A0 3137 CMP/GT R3,R1
+ 000008A2 8B00 BF L574
+ 000008A4 L583:
+ 000008A4 2B40 MOV.B R4,@R11
+ 000008A6 L574:
+ 000008A6 7E01 ADD #1,R14
+ 000008A8 6090 MOV.B @R9,R0
+ 000008AA 63E3 MOV R14,R3
+ 000008AC D211 MOV.L L773,R2 ; _blockI
+ 000008AE 4008 SHLL2 R0
+ 000008B0 4008 SHLL2 R0
+ 000008B2 4008 SHLL2 R0
+ 000008B4 4308 SHLL2 R3
+ 000008B6 4308 SHLL2 R3
+ 000008B8 302C ADD R2,R0
+ 000008BA 303C ADD R3,R0
+ 000008BC 63F2 MOV.L @R15,R3
+ 000008BE 003E MOV.L @(R0,R3),R0
+ 000008C0 8801 CMP/EQ #1,R0
+ 000008C2 8B66 BF L584
+ 000008C4 D10C MOV.L L773+4,R1 ; _ypos
+ 000008C6 6012 MOV.L @R1,R0
+ 000008C8 30E8 SUB R14,R0
+ 000008CA 70FE ADD #-2,R0
+ 000008CC 4011 CMP/PZ R0
+ 000008CE 8B60 BF L584
+ 000008D0 6252 MOV.L @R5,R2
+ 000008D2 32C8 SUB R12,R2
+ 000008D4 72FE ADD #-2,R2
+ 000008D6 4211 CMP/PZ R2
+ 000008D8 8F0A BF/S L586
+ 000008DA 1F22 MOV.L R2,@(8,R15)
+ 000008DC E109 MOV #9,R1
+ 000008DE 3217 CMP/GT R1,R2
+ 000008E0 8906 BT L586
+ 000008E2 E114 MOV #20,R1
+ 000008E4 D304 MOV.L L773+4,R3 ; _ypos
+ 000008E6 6032 MOV.L @R3,R0
+ 000008E8 30E8 SUB R14,R0
+ 000008EA 70FE ADD #-2,R0
+ 000008EC 3017 CMP/GT R1,R0
+ 000008EE 8B05 BF L585
+ 000008F0 L586:
+ 000008F0 A04F BRA L584
+ 000008F2 6D43 MOV R4,R13
+ 000008F4 L773:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 27
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000008F4 <00000000> .DATA.L _blockI
+ 000008F8 <00000000> .DATA.L _ypos
+ 000008FC L585:
+ 000008FC 6062 MOV.L @R6,R0
+ 000008FE 30E8 SUB R14,R0
+ 00000900 6252 MOV.L @R5,R2
+ 00000902 70FE ADD #-2,R0
+ 00000904 6303 MOV R0,R3
+ 00000906 4008 SHLL2 R0
+ 00000908 303C ADD R3,R0
+ 0000090A 4000 SHLL R0
+ 0000090C 308C ADD R8,R0
+ 0000090E 32C8 SUB R12,R2
+ 00000910 72FE ADD #-2,R2
+ 00000912 E302 MOV #2,R3
+ 00000914 0234 MOV.B R3,@(R0,R2)
+ 00000916 6062 MOV.L @R6,R0
+ 00000918 30E8 SUB R14,R0
+ 0000091A 70FE ADD #-2,R0
+ 0000091C 1F02 MOV.L R0,@(8,R15)
+ 0000091E 6303 MOV R0,R3
+ 00000920 6252 MOV.L @R5,R2
+ 00000922 4008 SHLL2 R0
+ 00000924 303C ADD R3,R0
+ 00000926 4000 SHLL R0
+ 00000928 307C ADD R7,R0
+ 0000092A 32C8 SUB R12,R2
+ 0000092C 72FE ADD #-2,R2
+ 0000092E 032C MOV.B @(R0,R2),R3
+ 00000930 2338 TST R3,R3
+ 00000932 8B03 BF L589
+ 00000934 52F2 MOV.L @(8,R15),R2
+ 00000936 E114 MOV #20,R1
+ 00000938 3213 CMP/GE R1,R2
+ 0000093A 8B00 BF L588
+ 0000093C L589:
+ 0000093C 6D43 MOV R4,R13
+ 0000093E L588:
+ 0000093E 6062 MOV.L @R6,R0
+ 00000940 6252 MOV.L @R5,R2
+ 00000942 30E8 SUB R14,R0
+ 00000944 70FE ADD #-2,R0
+ 00000946 6303 MOV R0,R3
+ 00000948 4008 SHLL2 R0
+ 0000094A 303C ADD R3,R0
+ 0000094C 4000 SHLL R0
+ 0000094E 307C ADD R7,R0
+ 00000950 32C8 SUB R12,R2
+ 00000952 1F22 MOV.L R2,@(8,R15)
+ 00000954 72FD ADD #-3,R2
+ 00000956 032C MOV.B @(R0,R2),R3
+ 00000958 2338 TST R3,R3
+ 0000095A 8B04 BF L591
+ 0000095C 51F2 MOV.L @(8,R15),R1
+ 0000095E E301 MOV #1,R3
+ 00000960 71FE ADD #-2,R1
+ 00000962 3133 CMP/GE R3,R1
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 28
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000964 8900 BT L590
+ 00000966 L591:
+ 00000966 2A40 MOV.B R4,@R10
+ 00000968 L590:
+ 00000968 6062 MOV.L @R6,R0
+ 0000096A 30E8 SUB R14,R0
+ 0000096C 6252 MOV.L @R5,R2
+ 0000096E 70FE ADD #-2,R0
+ 00000970 6303 MOV R0,R3
+ 00000972 4008 SHLL2 R0
+ 00000974 303C ADD R3,R0
+ 00000976 4000 SHLL R0
+ 00000978 307C ADD R7,R0
+ 0000097A 32C8 SUB R12,R2
+ 0000097C 1F22 MOV.L R2,@(8,R15)
+ 0000097E 72FF ADD #-1,R2
+ 00000980 032C MOV.B @(R0,R2),R3
+ 00000982 2338 TST R3,R3
+ 00000984 8B04 BF L593
+ 00000986 E308 MOV #8,R3
+ 00000988 51F2 MOV.L @(8,R15),R1
+ 0000098A 71FE ADD #-2,R1
+ 0000098C 3137 CMP/GT R3,R1
+ 0000098E 8B00 BF L584
+ 00000990 L593:
+ 00000990 2B40 MOV.B R4,@R11
+ 00000992 L584:
+ 00000992 7E01 ADD #1,R14
+ 00000994 E304 MOV #4,R3
+ 00000996 3E33 CMP/GE R3,R14
+ 00000998 8901 BT L774
+ 0000099A AE28 BRA L553
+ 0000099C 0009 NOP
+ 0000099E L774:
+ 0000099E 7C01 ADD #1,R12
+ 000009A0 E304 MOV #4,R3
+ 000009A2 3C33 CMP/GE R3,R12
+ 000009A4 8901 BT L775
+ 000009A6 AE1E BRA L551
+ 000009A8 0009 NOP
+ 000009AA L775:
+ draw.c 233 }
+ draw.c 234 }
+ draw.c 235 }
+ draw.c 236 }
+ draw.c 237 }
+ draw.c 238 break;
+ 000009AA A2C3 BRA L538
+ 000009AC 0009 NOP
+ 000009AE L477: ; case label
+ draw.c 239 case 3:
+ draw.c 240 for(xcount = 0; xcount < 3; xcount ++)
+ 000009AE 2F42 MOV.L R4,@R15
+ 000009B0 L594:
+ 000009B0 63F2 MOV.L @R15,R3
+ draw.c 241 {
+ draw.c 242 for(ycount = 0; ycount < 3; ycount ++)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 29
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000009B2 6C43 MOV R4,R12
+ 000009B4 4308 SHLL2 R3
+ 000009B6 1F32 MOV.L R3,@(8,R15)
+ 000009B8 L595:
+ draw.c 243 {
+ draw.c 244 if(blockT[dir][ycount][xcount] == 1&& ypos - ycount - 2 >= 0)
+ 000009B8 6090 MOV.B @R9,R0
+ 000009BA 62C3 MOV R12,R2
+ 000009BC D159 MOV.L L776+2,R1 ; _blockT
+ 000009BE 6303 MOV R0,R3
+ 000009C0 4008 SHLL2 R0
+ 000009C2 4000 SHLL R0
+ 000009C4 303C ADD R3,R0
+ 000009C6 4008 SHLL2 R0
+ 000009C8 63C3 MOV R12,R3
+ 000009CA 4200 SHLL R2
+ 000009CC 323C ADD R3,R2
+ 000009CE 4208 SHLL2 R2
+ 000009D0 53F2 MOV.L @(8,R15),R3
+ 000009D2 301C ADD R1,R0
+ 000009D4 302C ADD R2,R0
+ 000009D6 003E MOV.L @(R0,R3),R0
+ 000009D8 8801 CMP/EQ #1,R0
+ 000009DA 8B66 BF L596
+ 000009DC D252 MOV.L L776+6,R2 ; _ypos
+ 000009DE 6022 MOV.L @R2,R0
+ 000009E0 30C8 SUB R12,R0
+ 000009E2 70FE ADD #-2,R0
+ 000009E4 4011 CMP/PZ R0
+ 000009E6 8B60 BF L596
+ draw.c 245 {
+ draw.c 246 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 000009E8 63F2 MOV.L @R15,R3
+ 000009EA 6252 MOV.L @R5,R2
+ 000009EC 3238 SUB R3,R2
+ 000009EE 72FE ADD #-2,R2
+ 000009F0 4211 CMP/PZ R2
+ 000009F2 8F0A BF/S L598
+ 000009F4 1F21 MOV.L R2,@(4,R15)
+ 000009F6 E009 MOV #9,R0
+ 000009F8 3207 CMP/GT R0,R2
+ 000009FA 8906 BT L598
+ 000009FC D04A MOV.L L776+6,R0 ; _ypos
+ 000009FE 6102 MOV.L @R0,R1
+ 00000A00 31C8 SUB R12,R1
+ 00000A02 71FE ADD #-2,R1
+ 00000A04 E014 MOV #20,R0
+ 00000A06 3107 CMP/GT R0,R1
+ 00000A08 8B01 BF L597
+ 00000A0A L598:
+ draw.c 247 {
+ draw.c 248 fit = False;
+ 00000A0A A04E BRA L596
+ 00000A0C 6D43 MOV R4,R13
+ 00000A0E L597:
+ draw.c 249 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 30
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 250 else
+ draw.c 251 {
+ draw.c 252 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +3;
+ 00000A0E 6062 MOV.L @R6,R0
+ 00000A10 6252 MOV.L @R5,R2
+ 00000A12 30C8 SUB R12,R0
+ 00000A14 70FE ADD #-2,R0
+ 00000A16 6303 MOV R0,R3
+ 00000A18 4008 SHLL2 R0
+ 00000A1A 303C ADD R3,R0
+ 00000A1C 63F2 MOV.L @R15,R3
+ 00000A1E 4000 SHLL R0
+ 00000A20 308C ADD R8,R0
+ 00000A22 3238 SUB R3,R2
+ 00000A24 72FE ADD #-2,R2
+ 00000A26 02E4 MOV.B R14,@(R0,R2)
+ draw.c 253 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000A28 6062 MOV.L @R6,R0
+ 00000A2A 30C8 SUB R12,R0
+ 00000A2C 70FE ADD #-2,R0
+ 00000A2E 6303 MOV R0,R3
+ 00000A30 1F01 MOV.L R0,@(4,R15)
+ 00000A32 4008 SHLL2 R0
+ 00000A34 6252 MOV.L @R5,R2
+ 00000A36 303C ADD R3,R0
+ 00000A38 63F2 MOV.L @R15,R3
+ 00000A3A 4000 SHLL R0
+ 00000A3C 307C ADD R7,R0
+ 00000A3E 3238 SUB R3,R2
+ 00000A40 72FE ADD #-2,R2
+ 00000A42 002C MOV.B @(R0,R2),R0
+ 00000A44 2008 TST R0,R0
+ 00000A46 8B03 BF L601
+ 00000A48 52F1 MOV.L @(4,R15),R2
+ 00000A4A E114 MOV #20,R1
+ 00000A4C 3213 CMP/GE R1,R2
+ 00000A4E 8B00 BF L600
+ 00000A50 L601:
+ draw.c 254 {
+ draw.c 255 fit = False;
+ 00000A50 6D43 MOV R4,R13
+ 00000A52 L600:
+ draw.c 256 }
+ draw.c 257 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000A52 6062 MOV.L @R6,R0
+ 00000A54 6252 MOV.L @R5,R2
+ 00000A56 30C8 SUB R12,R0
+ 00000A58 70FE ADD #-2,R0
+ 00000A5A 6303 MOV R0,R3
+ 00000A5C 4008 SHLL2 R0
+ 00000A5E 303C ADD R3,R0
+ 00000A60 63F2 MOV.L @R15,R3
+ 00000A62 4000 SHLL R0
+ 00000A64 307C ADD R7,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 31
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000A66 3238 SUB R3,R2
+ 00000A68 1F21 MOV.L R2,@(4,R15)
+ 00000A6A 72FD ADD #-3,R2
+ 00000A6C 002C MOV.B @(R0,R2),R0
+ 00000A6E 2008 TST R0,R0
+ 00000A70 8B04 BF L603
+ 00000A72 E201 MOV #1,R2
+ 00000A74 51F1 MOV.L @(4,R15),R1
+ 00000A76 71FE ADD #-2,R1
+ 00000A78 3123 CMP/GE R2,R1
+ 00000A7A 8900 BT L602
+ 00000A7C L603:
+ draw.c 258 {
+ draw.c 259 right = False;
+ 00000A7C 2A40 MOV.B R4,@R10
+ 00000A7E L602:
+ draw.c 260 }
+ draw.c 261 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 00000A7E 6062 MOV.L @R6,R0
+ 00000A80 6252 MOV.L @R5,R2
+ 00000A82 30C8 SUB R12,R0
+ 00000A84 70FE ADD #-2,R0
+ 00000A86 6303 MOV R0,R3
+ 00000A88 4008 SHLL2 R0
+ 00000A8A 303C ADD R3,R0
+ 00000A8C 63F2 MOV.L @R15,R3
+ 00000A8E 4000 SHLL R0
+ 00000A90 307C ADD R7,R0
+ 00000A92 3238 SUB R3,R2
+ 00000A94 1F21 MOV.L R2,@(4,R15)
+ 00000A96 72FF ADD #-1,R2
+ 00000A98 002C MOV.B @(R0,R2),R0
+ 00000A9A 2008 TST R0,R0
+ 00000A9C 8B04 BF L605
+ 00000A9E E208 MOV #8,R2
+ 00000AA0 51F1 MOV.L @(4,R15),R1
+ 00000AA2 71FE ADD #-2,R1
+ 00000AA4 3127 CMP/GT R2,R1
+ 00000AA6 8B00 BF L596
+ 00000AA8 L605:
+ draw.c 262 {
+ draw.c 263 left = False;
+ 00000AA8 2B40 MOV.B R4,@R11
+ 00000AAA L596:
+ 00000AAA 7C01 ADD #1,R12
+ 00000AAC 3CE3 CMP/GE R14,R12
+ 00000AAE 8B83 BF L595
+ 00000AB0 62F2 MOV.L @R15,R2
+ 00000AB2 7201 ADD #1,R2
+ 00000AB4 32E3 CMP/GE R14,R2
+ 00000AB6 8D02 BT/S L777
+ 00000AB8 2F22 MOV.L R2,@R15
+ 00000ABA AF79 BRA L594
+ 00000ABC 0009 NOP
+ 00000ABE L777:
+ draw.c 264 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 32
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 265 }
+ draw.c 266 }
+ draw.c 267 }
+ draw.c 268 }
+ draw.c 269 break;
+ 00000ABE A239 BRA L538
+ 00000AC0 0009 NOP
+ 00000AC2 L478: ; case label
+ draw.c 270 case 4:
+ draw.c 271 for(xcount = 0; xcount < 3; xcount ++)
+ 00000AC2 2F42 MOV.L R4,@R15
+ 00000AC4 L606:
+ 00000AC4 63F2 MOV.L @R15,R3
+ draw.c 272 {
+ draw.c 273 for(ycount = 0; ycount < 3; ycount ++)
+ 00000AC6 6C43 MOV R4,R12
+ 00000AC8 4308 SHLL2 R3
+ 00000ACA 1F32 MOV.L R3,@(8,R15)
+ 00000ACC L607:
+ draw.c 274 {
+ draw.c 275 if(blockJ[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 00000ACC 6090 MOV.B @R9,R0
+ 00000ACE 62C3 MOV R12,R2
+ 00000AD0 D116 MOV.L L776+10,R1 ; _blockJ
+ 00000AD2 6303 MOV R0,R3
+ 00000AD4 4008 SHLL2 R0
+ 00000AD6 4000 SHLL R0
+ 00000AD8 303C ADD R3,R0
+ 00000ADA 4008 SHLL2 R0
+ 00000ADC 63C3 MOV R12,R3
+ 00000ADE 4200 SHLL R2
+ 00000AE0 323C ADD R3,R2
+ 00000AE2 4208 SHLL2 R2
+ 00000AE4 53F2 MOV.L @(8,R15),R3
+ 00000AE6 301C ADD R1,R0
+ 00000AE8 302C ADD R2,R0
+ 00000AEA 003E MOV.L @(R0,R3),R0
+ 00000AEC 8801 CMP/EQ #1,R0
+ 00000AEE 8B6E BF L608
+ 00000AF0 D20D MOV.L L776+6,R2 ; _ypos
+ 00000AF2 6022 MOV.L @R2,R0
+ 00000AF4 30C8 SUB R12,R0
+ 00000AF6 70FE ADD #-2,R0
+ 00000AF8 4011 CMP/PZ R0
+ 00000AFA 8B68 BF L608
+ draw.c 276 {
+ draw.c 277 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 00000AFC 63F2 MOV.L @R15,R3
+ 00000AFE 6252 MOV.L @R5,R2
+ 00000B00 3238 SUB R3,R2
+ 00000B02 72FE ADD #-2,R2
+ 00000B04 4211 CMP/PZ R2
+ 00000B06 8F0A BF/S L610
+ 00000B08 1F21 MOV.L R2,@(4,R15)
+ 00000B0A E009 MOV #9,R0
+ 00000B0C 3207 CMP/GT R0,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 33
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B0E 8906 BT L610
+ 00000B10 D005 MOV.L L776+6,R0 ; _ypos
+ 00000B12 6102 MOV.L @R0,R1
+ 00000B14 31C8 SUB R12,R1
+ 00000B16 71FE ADD #-2,R1
+ 00000B18 E014 MOV #20,R0
+ 00000B1A 3107 CMP/GT R0,R1
+ 00000B1C 8B08 BF L609
+ 00000B1E L610:
+ draw.c 278 {
+ draw.c 279 fit = False;
+ 00000B1E A056 BRA L608
+ 00000B20 6D43 MOV R4,R13
+ 00000B22 L776:
+ 00000B22 0000 .DATA.W 0
+ 00000B24 <00000000> .DATA.L _blockT
+ 00000B28 <00000000> .DATA.L _ypos
+ 00000B2C <00000000> .DATA.L _blockJ
+ 00000B30 L609:
+ draw.c 280 }
+ draw.c 281 else
+ draw.c 282 {
+ draw.c 283 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +4;
+ 00000B30 6062 MOV.L @R6,R0
+ 00000B32 E104 MOV #4,R1
+ 00000B34 6252 MOV.L @R5,R2
+ 00000B36 30C8 SUB R12,R0
+ 00000B38 70FE ADD #-2,R0
+ 00000B3A 6303 MOV R0,R3
+ 00000B3C 4008 SHLL2 R0
+ 00000B3E 303C ADD R3,R0
+ 00000B40 63F2 MOV.L @R15,R3
+ 00000B42 4000 SHLL R0
+ 00000B44 308C ADD R8,R0
+ 00000B46 3238 SUB R3,R2
+ 00000B48 72FE ADD #-2,R2
+ 00000B4A 0214 MOV.B R1,@(R0,R2)
+ draw.c 284 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000B4C 6062 MOV.L @R6,R0
+ 00000B4E 30C8 SUB R12,R0
+ 00000B50 70FE ADD #-2,R0
+ 00000B52 6303 MOV R0,R3
+ 00000B54 1F01 MOV.L R0,@(4,R15)
+ 00000B56 4008 SHLL2 R0
+ 00000B58 6252 MOV.L @R5,R2
+ 00000B5A 303C ADD R3,R0
+ 00000B5C 63F2 MOV.L @R15,R3
+ 00000B5E 4000 SHLL R0
+ 00000B60 307C ADD R7,R0
+ 00000B62 3238 SUB R3,R2
+ 00000B64 72FE ADD #-2,R2
+ 00000B66 002C MOV.B @(R0,R2),R0
+ 00000B68 2008 TST R0,R0
+ 00000B6A 8B03 BF L613
+ 00000B6C 52F1 MOV.L @(4,R15),R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 34
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B6E E114 MOV #20,R1
+ 00000B70 3213 CMP/GE R1,R2
+ 00000B72 8B00 BF L612
+ 00000B74 L613:
+ draw.c 285 {
+ draw.c 286 fit = False;
+ 00000B74 6D43 MOV R4,R13
+ 00000B76 L612:
+ draw.c 287 }
+ draw.c 288 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000B76 6062 MOV.L @R6,R0
+ 00000B78 6252 MOV.L @R5,R2
+ 00000B7A 30C8 SUB R12,R0
+ 00000B7C 70FE ADD #-2,R0
+ 00000B7E 6303 MOV R0,R3
+ 00000B80 4008 SHLL2 R0
+ 00000B82 303C ADD R3,R0
+ 00000B84 63F2 MOV.L @R15,R3
+ 00000B86 4000 SHLL R0
+ 00000B88 307C ADD R7,R0
+ 00000B8A 3238 SUB R3,R2
+ 00000B8C 1F21 MOV.L R2,@(4,R15)
+ 00000B8E 72FD ADD #-3,R2
+ 00000B90 002C MOV.B @(R0,R2),R0
+ 00000B92 2008 TST R0,R0
+ 00000B94 8B04 BF L615
+ 00000B96 E201 MOV #1,R2
+ 00000B98 51F1 MOV.L @(4,R15),R1
+ 00000B9A 71FE ADD #-2,R1
+ 00000B9C 3123 CMP/GE R2,R1
+ 00000B9E 8900 BT L614
+ 00000BA0 L615:
+ draw.c 289 {
+ draw.c 290 right = False;
+ 00000BA0 2A40 MOV.B R4,@R10
+ 00000BA2 L614:
+ draw.c 291 }
+ draw.c 292 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 00000BA2 6062 MOV.L @R6,R0
+ 00000BA4 6252 MOV.L @R5,R2
+ 00000BA6 30C8 SUB R12,R0
+ 00000BA8 70FE ADD #-2,R0
+ 00000BAA 6303 MOV R0,R3
+ 00000BAC 4008 SHLL2 R0
+ 00000BAE 303C ADD R3,R0
+ 00000BB0 63F2 MOV.L @R15,R3
+ 00000BB2 4000 SHLL R0
+ 00000BB4 307C ADD R7,R0
+ 00000BB6 3238 SUB R3,R2
+ 00000BB8 1F21 MOV.L R2,@(4,R15)
+ 00000BBA 72FF ADD #-1,R2
+ 00000BBC 002C MOV.B @(R0,R2),R0
+ 00000BBE 2008 TST R0,R0
+ 00000BC0 8B04 BF L617
+ 00000BC2 E208 MOV #8,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 35
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000BC4 51F1 MOV.L @(4,R15),R1
+ 00000BC6 71FE ADD #-2,R1
+ 00000BC8 3127 CMP/GT R2,R1
+ 00000BCA 8B00 BF L608
+ 00000BCC L617:
+ draw.c 293 {
+ draw.c 294 left = False;
+ 00000BCC 2B40 MOV.B R4,@R11
+ 00000BCE L608:
+ 00000BCE 7C01 ADD #1,R12
+ 00000BD0 3CE3 CMP/GE R14,R12
+ 00000BD2 8901 BT L778
+ 00000BD4 AF7A BRA L607
+ 00000BD6 0009 NOP
+ 00000BD8 L778:
+ 00000BD8 62F2 MOV.L @R15,R2
+ 00000BDA 7201 ADD #1,R2
+ 00000BDC 32E3 CMP/GE R14,R2
+ 00000BDE 8D02 BT/S L779
+ 00000BE0 2F22 MOV.L R2,@R15
+ 00000BE2 AF6F BRA L606
+ 00000BE4 0009 NOP
+ 00000BE6 L779:
+ draw.c 295 }
+ draw.c 296 }
+ draw.c 297 }
+ draw.c 298 }
+ draw.c 299 }
+ draw.c 300 break;
+ 00000BE6 A1A5 BRA L538
+ 00000BE8 0009 NOP
+ 00000BEA L479: ; case label
+ draw.c 301 case 5:
+ draw.c 302 for(xcount = 0; xcount < 3; xcount ++)
+ 00000BEA 2F42 MOV.L R4,@R15
+ 00000BEC L618:
+ 00000BEC 63F2 MOV.L @R15,R3
+ draw.c 303 {
+ draw.c 304 for(ycount = 0; ycount < 3; ycount ++)
+ 00000BEE 6C43 MOV R4,R12
+ 00000BF0 4308 SHLL2 R3
+ 00000BF2 1F32 MOV.L R3,@(8,R15)
+ 00000BF4 L619:
+ draw.c 305 {
+ draw.c 306 if(blockL[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 00000BF4 6090 MOV.B @R9,R0
+ 00000BF6 62C3 MOV R12,R2
+ 00000BF8 D159 MOV.L L780,R1 ; _blockL
+ 00000BFA 6303 MOV R0,R3
+ 00000BFC 4008 SHLL2 R0
+ 00000BFE 4000 SHLL R0
+ 00000C00 303C ADD R3,R0
+ 00000C02 4008 SHLL2 R0
+ 00000C04 63C3 MOV R12,R3
+ 00000C06 4200 SHLL R2
+ 00000C08 323C ADD R3,R2
+ 00000C0A 4208 SHLL2 R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 36
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000C0C 53F2 MOV.L @(8,R15),R3
+ 00000C0E 301C ADD R1,R0
+ 00000C10 302C ADD R2,R0
+ 00000C12 003E MOV.L @(R0,R3),R0
+ 00000C14 8801 CMP/EQ #1,R0
+ 00000C16 8B67 BF L620
+ 00000C18 D252 MOV.L L780+4,R2 ; _ypos
+ 00000C1A 6022 MOV.L @R2,R0
+ 00000C1C 30C8 SUB R12,R0
+ 00000C1E 70FE ADD #-2,R0
+ 00000C20 4011 CMP/PZ R0
+ 00000C22 8B61 BF L620
+ draw.c 307 {
+ draw.c 308 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 00000C24 63F2 MOV.L @R15,R3
+ 00000C26 6252 MOV.L @R5,R2
+ 00000C28 3238 SUB R3,R2
+ 00000C2A 72FE ADD #-2,R2
+ 00000C2C 4211 CMP/PZ R2
+ 00000C2E 8F0A BF/S L622
+ 00000C30 1F21 MOV.L R2,@(4,R15)
+ 00000C32 E009 MOV #9,R0
+ 00000C34 3207 CMP/GT R0,R2
+ 00000C36 8906 BT L622
+ 00000C38 D04A MOV.L L780+4,R0 ; _ypos
+ 00000C3A 6102 MOV.L @R0,R1
+ 00000C3C 31C8 SUB R12,R1
+ 00000C3E 71FE ADD #-2,R1
+ 00000C40 E014 MOV #20,R0
+ 00000C42 3107 CMP/GT R0,R1
+ 00000C44 8B01 BF L621
+ 00000C46 L622:
+ draw.c 309 {
+ draw.c 310 fit = False;
+ 00000C46 A04F BRA L620
+ 00000C48 6D43 MOV R4,R13
+ 00000C4A L621:
+ draw.c 311 }
+ draw.c 312 else
+ draw.c 313 {
+ draw.c 314 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +5;
+ 00000C4A E105 MOV #5,R1
+ 00000C4C 6062 MOV.L @R6,R0
+ 00000C4E 30C8 SUB R12,R0
+ 00000C50 6252 MOV.L @R5,R2
+ 00000C52 70FE ADD #-2,R0
+ 00000C54 6303 MOV R0,R3
+ 00000C56 4008 SHLL2 R0
+ 00000C58 303C ADD R3,R0
+ 00000C5A 4000 SHLL R0
+ 00000C5C 63F2 MOV.L @R15,R3
+ 00000C5E 308C ADD R8,R0
+ 00000C60 3238 SUB R3,R2
+ 00000C62 72FE ADD #-2,R2
+ 00000C64 0214 MOV.B R1,@(R0,R2)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 37
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 315 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000C66 6062 MOV.L @R6,R0
+ 00000C68 30C8 SUB R12,R0
+ 00000C6A 70FE ADD #-2,R0
+ 00000C6C 1F01 MOV.L R0,@(4,R15)
+ 00000C6E 6303 MOV R0,R3
+ 00000C70 6252 MOV.L @R5,R2
+ 00000C72 4008 SHLL2 R0
+ 00000C74 303C ADD R3,R0
+ 00000C76 4000 SHLL R0
+ 00000C78 63F2 MOV.L @R15,R3
+ 00000C7A 307C ADD R7,R0
+ 00000C7C 3238 SUB R3,R2
+ 00000C7E 72FE ADD #-2,R2
+ 00000C80 002C MOV.B @(R0,R2),R0
+ 00000C82 2008 TST R0,R0
+ 00000C84 8B03 BF L625
+ 00000C86 E114 MOV #20,R1
+ 00000C88 52F1 MOV.L @(4,R15),R2
+ 00000C8A 3213 CMP/GE R1,R2
+ 00000C8C 8B00 BF L624
+ 00000C8E L625:
+ draw.c 316 {
+ draw.c 317 fit = False;
+ 00000C8E 6D43 MOV R4,R13
+ 00000C90 L624:
+ draw.c 318 }
+ draw.c 319 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000C90 6062 MOV.L @R6,R0
+ 00000C92 30C8 SUB R12,R0
+ 00000C94 6252 MOV.L @R5,R2
+ 00000C96 70FE ADD #-2,R0
+ 00000C98 6303 MOV R0,R3
+ 00000C9A 4008 SHLL2 R0
+ 00000C9C 303C ADD R3,R0
+ 00000C9E 4000 SHLL R0
+ 00000CA0 63F2 MOV.L @R15,R3
+ 00000CA2 307C ADD R7,R0
+ 00000CA4 3238 SUB R3,R2
+ 00000CA6 1F21 MOV.L R2,@(4,R15)
+ 00000CA8 72FD ADD #-3,R2
+ 00000CAA 002C MOV.B @(R0,R2),R0
+ 00000CAC 2008 TST R0,R0
+ 00000CAE 8B04 BF L627
+ 00000CB0 51F1 MOV.L @(4,R15),R1
+ 00000CB2 E201 MOV #1,R2
+ 00000CB4 71FE ADD #-2,R1
+ 00000CB6 3123 CMP/GE R2,R1
+ 00000CB8 8900 BT L626
+ 00000CBA L627:
+ draw.c 320 {
+ draw.c 321 right = False;
+ 00000CBA 2A40 MOV.B R4,@R10
+ 00000CBC L626:
+ draw.c 322 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 38
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 323 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 00000CBC 6062 MOV.L @R6,R0
+ 00000CBE 30C8 SUB R12,R0
+ 00000CC0 6252 MOV.L @R5,R2
+ 00000CC2 70FE ADD #-2,R0
+ 00000CC4 6303 MOV R0,R3
+ 00000CC6 4008 SHLL2 R0
+ 00000CC8 303C ADD R3,R0
+ 00000CCA 4000 SHLL R0
+ 00000CCC 63F2 MOV.L @R15,R3
+ 00000CCE 307C ADD R7,R0
+ 00000CD0 3238 SUB R3,R2
+ 00000CD2 1F21 MOV.L R2,@(4,R15)
+ 00000CD4 72FF ADD #-1,R2
+ 00000CD6 002C MOV.B @(R0,R2),R0
+ 00000CD8 2008 TST R0,R0
+ 00000CDA 8B04 BF L629
+ 00000CDC 51F1 MOV.L @(4,R15),R1
+ 00000CDE E208 MOV #8,R2
+ 00000CE0 71FE ADD #-2,R1
+ 00000CE2 3127 CMP/GT R2,R1
+ 00000CE4 8B00 BF L620
+ 00000CE6 L629:
+ draw.c 324 {
+ draw.c 325 left = False;
+ 00000CE6 2B40 MOV.B R4,@R11
+ 00000CE8 L620:
+ 00000CE8 7C01 ADD #1,R12
+ 00000CEA 3CE3 CMP/GE R14,R12
+ 00000CEC 8B82 BF L619
+ 00000CEE 62F2 MOV.L @R15,R2
+ 00000CF0 7201 ADD #1,R2
+ 00000CF2 32E3 CMP/GE R14,R2
+ 00000CF4 8D02 BT/S L781
+ 00000CF6 2F22 MOV.L R2,@R15
+ 00000CF8 AF78 BRA L618
+ 00000CFA 0009 NOP
+ 00000CFC L781:
+ draw.c 326 }
+ draw.c 327 }
+ draw.c 328 }
+ draw.c 329 }
+ draw.c 330 }
+ draw.c 331 break;
+ 00000CFC A11A BRA L538
+ 00000CFE 0009 NOP
+ 00000D00 L480: ; case label
+ draw.c 332 case 6:
+ draw.c 333 for(xcount = 0; xcount < 3; xcount ++)
+ 00000D00 2F42 MOV.L R4,@R15
+ 00000D02 L630:
+ draw.c 334 {
+ draw.c 335 for(ycount = 0; ycount < 3; ycount ++)
+ 00000D02 6C43 MOV R4,R12
+ 00000D04 63F2 MOV.L @R15,R3
+ 00000D06 4308 SHLL2 R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 39
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D08 1F32 MOV.L R3,@(8,R15)
+ 00000D0A L631:
+ draw.c 336 {
+ draw.c 337 if(blockZ[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 00000D0A 62C3 MOV R12,R2
+ 00000D0C D116 MOV.L L780+8,R1 ; _blockZ
+ 00000D0E 6090 MOV.B @R9,R0
+ 00000D10 6303 MOV R0,R3
+ 00000D12 4008 SHLL2 R0
+ 00000D14 4000 SHLL R0
+ 00000D16 303C ADD R3,R0
+ 00000D18 4008 SHLL2 R0
+ 00000D1A 63C3 MOV R12,R3
+ 00000D1C 4200 SHLL R2
+ 00000D1E 323C ADD R3,R2
+ 00000D20 53F2 MOV.L @(8,R15),R3
+ 00000D22 4208 SHLL2 R2
+ 00000D24 301C ADD R1,R0
+ 00000D26 302C ADD R2,R0
+ 00000D28 003E MOV.L @(R0,R3),R0
+ 00000D2A 8801 CMP/EQ #1,R0
+ 00000D2C 8B6D BF L632
+ 00000D2E D20D MOV.L L780+4,R2 ; _ypos
+ 00000D30 6022 MOV.L @R2,R0
+ 00000D32 30C8 SUB R12,R0
+ 00000D34 70FE ADD #-2,R0
+ 00000D36 4011 CMP/PZ R0
+ 00000D38 8B67 BF L632
+ draw.c 338 {
+ draw.c 339 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ 00000D3A 63F2 MOV.L @R15,R3
+ 00000D3C 6252 MOV.L @R5,R2
+ 00000D3E 3238 SUB R3,R2
+ 00000D40 72FE ADD #-2,R2
+ 00000D42 4211 CMP/PZ R2
+ 00000D44 8F0A BF/S L634
+ 00000D46 1F21 MOV.L R2,@(4,R15)
+ 00000D48 E009 MOV #9,R0
+ 00000D4A 3207 CMP/GT R0,R2
+ 00000D4C 8906 BT L634
+ 00000D4E D005 MOV.L L780+4,R0 ; _ypos
+ 00000D50 6102 MOV.L @R0,R1
+ 00000D52 E014 MOV #20,R0
+ 00000D54 31C8 SUB R12,R1
+ 00000D56 71FE ADD #-2,R1
+ 00000D58 3107 CMP/GT R0,R1
+ 00000D5A 8B07 BF L633
+ 00000D5C L634:
+ draw.c 340 {
+ draw.c 341 fit = False;
+ 00000D5C A055 BRA L632
+ 00000D5E 6D43 MOV R4,R13
+ 00000D60 L780:
+ 00000D60 <00000000> .DATA.L _blockL
+ 00000D64 <00000000> .DATA.L _ypos
+ 00000D68 <00000000> .DATA.L _blockZ
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 40
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D6C L633:
+ draw.c 342 }
+ draw.c 343 else
+ draw.c 344 {
+ draw.c 345 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +6;
+ 00000D6C 6062 MOV.L @R6,R0
+ 00000D6E E106 MOV #6,R1
+ 00000D70 6252 MOV.L @R5,R2
+ 00000D72 30C8 SUB R12,R0
+ 00000D74 70FE ADD #-2,R0
+ 00000D76 6303 MOV R0,R3
+ 00000D78 4008 SHLL2 R0
+ 00000D7A 303C ADD R3,R0
+ 00000D7C 63F2 MOV.L @R15,R3
+ 00000D7E 4000 SHLL R0
+ 00000D80 308C ADD R8,R0
+ 00000D82 3238 SUB R3,R2
+ 00000D84 72FE ADD #-2,R2
+ 00000D86 0214 MOV.B R1,@(R0,R2)
+ draw.c 346 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000D88 6062 MOV.L @R6,R0
+ 00000D8A 30C8 SUB R12,R0
+ 00000D8C 70FE ADD #-2,R0
+ 00000D8E 6303 MOV R0,R3
+ 00000D90 1F01 MOV.L R0,@(4,R15)
+ 00000D92 4008 SHLL2 R0
+ 00000D94 6252 MOV.L @R5,R2
+ 00000D96 303C ADD R3,R0
+ 00000D98 63F2 MOV.L @R15,R3
+ 00000D9A 4000 SHLL R0
+ 00000D9C 307C ADD R7,R0
+ 00000D9E 3238 SUB R3,R2
+ 00000DA0 72FE ADD #-2,R2
+ 00000DA2 002C MOV.B @(R0,R2),R0
+ 00000DA4 2008 TST R0,R0
+ 00000DA6 8B03 BF L637
+ 00000DA8 52F1 MOV.L @(4,R15),R2
+ 00000DAA E114 MOV #20,R1
+ 00000DAC 3213 CMP/GE R1,R2
+ 00000DAE 8B00 BF L636
+ 00000DB0 L637:
+ draw.c 347 {
+ draw.c 348 fit = False;
+ 00000DB0 6D43 MOV R4,R13
+ 00000DB2 L636:
+ draw.c 349 }
+ draw.c 350 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000DB2 6062 MOV.L @R6,R0
+ 00000DB4 6252 MOV.L @R5,R2
+ 00000DB6 30C8 SUB R12,R0
+ 00000DB8 70FE ADD #-2,R0
+ 00000DBA 6303 MOV R0,R3
+ 00000DBC 4008 SHLL2 R0
+ 00000DBE 303C ADD R3,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 41
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000DC0 63F2 MOV.L @R15,R3
+ 00000DC2 4000 SHLL R0
+ 00000DC4 307C ADD R7,R0
+ 00000DC6 3238 SUB R3,R2
+ 00000DC8 1F21 MOV.L R2,@(4,R15)
+ 00000DCA 72FD ADD #-3,R2
+ 00000DCC 002C MOV.B @(R0,R2),R0
+ 00000DCE 2008 TST R0,R0
+ 00000DD0 8B04 BF L639
+ 00000DD2 E201 MOV #1,R2
+ 00000DD4 51F1 MOV.L @(4,R15),R1
+ 00000DD6 71FE ADD #-2,R1
+ 00000DD8 3123 CMP/GE R2,R1
+ 00000DDA 8900 BT L638
+ 00000DDC L639:
+ draw.c 351 {
+ draw.c 352 right = False;
+ 00000DDC 2A40 MOV.B R4,@R10
+ 00000DDE L638:
+ draw.c 353 }
+ draw.c 354 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 00000DDE 6062 MOV.L @R6,R0
+ 00000DE0 6252 MOV.L @R5,R2
+ 00000DE2 30C8 SUB R12,R0
+ 00000DE4 70FE ADD #-2,R0
+ 00000DE6 6303 MOV R0,R3
+ 00000DE8 4008 SHLL2 R0
+ 00000DEA 303C ADD R3,R0
+ 00000DEC 63F2 MOV.L @R15,R3
+ 00000DEE 4000 SHLL R0
+ 00000DF0 307C ADD R7,R0
+ 00000DF2 3238 SUB R3,R2
+ 00000DF4 1F21 MOV.L R2,@(4,R15)
+ 00000DF6 72FF ADD #-1,R2
+ 00000DF8 002C MOV.B @(R0,R2),R0
+ 00000DFA 2008 TST R0,R0
+ 00000DFC 8B04 BF L641
+ 00000DFE E208 MOV #8,R2
+ 00000E00 51F1 MOV.L @(4,R15),R1
+ 00000E02 71FE ADD #-2,R1
+ 00000E04 3127 CMP/GT R2,R1
+ 00000E06 8B00 BF L632
+ 00000E08 L641:
+ draw.c 355 {
+ draw.c 356 left = False;
+ 00000E08 2B40 MOV.B R4,@R11
+ 00000E0A L632:
+ 00000E0A 7C01 ADD #1,R12
+ 00000E0C 3CE3 CMP/GE R14,R12
+ 00000E0E 8901 BT L782
+ 00000E10 AF7B BRA L631
+ 00000E12 0009 NOP
+ 00000E14 L782:
+ 00000E14 62F2 MOV.L @R15,R2
+ 00000E16 7201 ADD #1,R2
+ 00000E18 32E3 CMP/GE R14,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 42
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000E1A 8D02 BT/S L783
+ 00000E1C 2F22 MOV.L R2,@R15
+ 00000E1E AF70 BRA L630
+ 00000E20 0009 NOP
+ 00000E22 L783:
+ draw.c 357 }
+ draw.c 358 }
+ draw.c 359 }
+ draw.c 360 }
+ draw.c 361 }
+ draw.c 362 break;
+ 00000E22 A087 BRA L538
+ 00000E24 0009 NOP
+ 00000E26 L481: ; case label
+ draw.c 363 case 7:
+ draw.c 364 for(xcount = 0; xcount < 3; xcount ++)
+ 00000E26 2F42 MOV.L R4,@R15
+ 00000E28 L642:
+ 00000E28 63F2 MOV.L @R15,R3
+ draw.c 365 {
+ draw.c 366 for(ycount = 0; ycount < 3; ycount ++)
+ 00000E2A 6C43 MOV R4,R12
+ 00000E2C 4308 SHLL2 R3
+ 00000E2E 1F32 MOV.L R3,@(8,R15)
+ 00000E30 L643:
+ draw.c 367 {
+ draw.c 368 if(blockS[dir][ycount][xcount] == 1 && ypos - ycount - 2 >= 0)
+ 00000E30 6090 MOV.B @R9,R0
+ 00000E32 62C3 MOV R12,R2
+ 00000E34 D145 MOV.L L784+2,R1 ; _blockS
+ 00000E36 6303 MOV R0,R3
+ 00000E38 4008 SHLL2 R0
+ 00000E3A 4000 SHLL R0
+ 00000E3C 303C ADD R3,R0
+ 00000E3E 4008 SHLL2 R0
+ 00000E40 63C3 MOV R12,R3
+ 00000E42 4200 SHLL R2
+ 00000E44 323C ADD R3,R2
+ 00000E46 4208 SHLL2 R2
+ 00000E48 53F2 MOV.L @(8,R15),R3
+ 00000E4A 301C ADD R1,R0
+ 00000E4C 302C ADD R2,R0
+ 00000E4E 003E MOV.L @(R0,R3),R0
+ 00000E50 8801 CMP/EQ #1,R0
+ 00000E52 8B65 BF L644
+ 00000E54 D23E MOV.L L784+6,R2 ; _ypos
+ 00000E56 6022 MOV.L @R2,R0
+ 00000E58 30C8 SUB R12,R0
+ 00000E5A 70FE ADD #-2,R0
+ 00000E5C 4011 CMP/PZ R0
+ 00000E5E 8B5F BF L644
+ 00000E60 63F2 MOV.L @R15,R3
+ 00000E62 6252 MOV.L @R5,R2
+ 00000E64 3238 SUB R3,R2
+ 00000E66 72FE ADD #-2,R2
+ 00000E68 1F21 MOV.L R2,@(4,R15)
+ 00000E6A 4211 CMP/PZ R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 43
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000E6C 8B0A BF L646
+ 00000E6E E109 MOV #9,R1
+ 00000E70 52F1 MOV.L @(4,R15),R2
+ 00000E72 3217 CMP/GT R1,R2
+ 00000E74 8906 BT L646
+ 00000E76 E014 MOV #20,R0
+ 00000E78 D135 MOV.L L784+6,R1 ; _ypos
+ 00000E7A 6212 MOV.L @R1,R2
+ 00000E7C 32C8 SUB R12,R2
+ 00000E7E 72FE ADD #-2,R2
+ 00000E80 3207 CMP/GT R0,R2
+ 00000E82 8B01 BF L645
+ 00000E84 L646:
+ draw.c 369 {
+ draw.c 370 if(xpos - xcount - 2 < 0 || xpos - xcount - 2 > 9 || ypos
+ +- ycount - 2 > 20)
+ draw.c 371 {
+ draw.c 372 fit = False;
+ 00000E84 A04C BRA L644
+ 00000E86 6D43 MOV R4,R13
+ 00000E88 L645:
+ draw.c 373 }
+ draw.c 374 else
+ draw.c 375 {
+ draw.c 376 changemap[ypos - ycount - 2][xpos - xcount - 2] =
+ +7;
+ 00000E88 6062 MOV.L @R6,R0
+ 00000E8A 30C8 SUB R12,R0
+ 00000E8C 52F1 MOV.L @(4,R15),R2
+ 00000E8E 70FE ADD #-2,R0
+ 00000E90 6303 MOV R0,R3
+ 00000E92 4008 SHLL2 R0
+ 00000E94 303C ADD R3,R0
+ 00000E96 4000 SHLL R0
+ 00000E98 308C ADD R8,R0
+ 00000E9A E307 MOV #7,R3
+ 00000E9C 0234 MOV.B R3,@(R0,R2)
+ draw.c 377 if(globalmap[ypos - ycount - 2][xpos - xcount - 2]
+ + != 0 || ypos - ycount - 2 >= 20)
+ 00000E9E 6062 MOV.L @R6,R0
+ 00000EA0 30C8 SUB R12,R0
+ 00000EA2 70FE ADD #-2,R0
+ 00000EA4 1F01 MOV.L R0,@(4,R15)
+ 00000EA6 6303 MOV R0,R3
+ 00000EA8 6252 MOV.L @R5,R2
+ 00000EAA 4008 SHLL2 R0
+ 00000EAC 303C ADD R3,R0
+ 00000EAE 4000 SHLL R0
+ 00000EB0 63F2 MOV.L @R15,R3
+ 00000EB2 307C ADD R7,R0
+ 00000EB4 3238 SUB R3,R2
+ 00000EB6 72FE ADD #-2,R2
+ 00000EB8 002C MOV.B @(R0,R2),R0
+ 00000EBA 2008 TST R0,R0
+ 00000EBC 8B03 BF L649
+ 00000EBE E114 MOV #20,R1
+ 00000EC0 52F1 MOV.L @(4,R15),R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 44
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000EC2 3213 CMP/GE R1,R2
+ 00000EC4 8B00 BF L648
+ 00000EC6 L649:
+ draw.c 378 {
+ draw.c 379 fit = False;
+ 00000EC6 6D43 MOV R4,R13
+ 00000EC8 L648:
+ draw.c 380 }
+ draw.c 381 if(globalmap[ypos - ycount - 2][xpos - xcount - 1
+ +- 2] != 0 || xpos - xcount - 2 < 1)
+ 00000EC8 6062 MOV.L @R6,R0
+ 00000ECA 30C8 SUB R12,R0
+ 00000ECC 6252 MOV.L @R5,R2
+ 00000ECE 70FE ADD #-2,R0
+ 00000ED0 6303 MOV R0,R3
+ 00000ED2 4008 SHLL2 R0
+ 00000ED4 303C ADD R3,R0
+ 00000ED6 4000 SHLL R0
+ 00000ED8 63F2 MOV.L @R15,R3
+ 00000EDA 307C ADD R7,R0
+ 00000EDC 3238 SUB R3,R2
+ 00000EDE 1F21 MOV.L R2,@(4,R15)
+ 00000EE0 72FD ADD #-3,R2
+ 00000EE2 002C MOV.B @(R0,R2),R0
+ 00000EE4 2008 TST R0,R0
+ 00000EE6 8B04 BF L651
+ 00000EE8 51F1 MOV.L @(4,R15),R1
+ 00000EEA E201 MOV #1,R2
+ 00000EEC 71FE ADD #-2,R1
+ 00000EEE 3123 CMP/GE R2,R1
+ 00000EF0 8900 BT L650
+ 00000EF2 L651:
+ draw.c 382 {
+ draw.c 383 right = False;
+ 00000EF2 2A40 MOV.B R4,@R10
+ 00000EF4 L650:
+ draw.c 384 }
+ draw.c 385 if(globalmap[ypos - ycount - 2][xpos - xcount + 1
+ +- 2] != 0 || xpos - xcount - 2 > 8)
+ 00000EF4 6062 MOV.L @R6,R0
+ 00000EF6 30C8 SUB R12,R0
+ 00000EF8 6252 MOV.L @R5,R2
+ 00000EFA 70FE ADD #-2,R0
+ 00000EFC 6303 MOV R0,R3
+ 00000EFE 4008 SHLL2 R0
+ 00000F00 303C ADD R3,R0
+ 00000F02 4000 SHLL R0
+ 00000F04 63F2 MOV.L @R15,R3
+ 00000F06 307C ADD R7,R0
+ 00000F08 3238 SUB R3,R2
+ 00000F0A 1F21 MOV.L R2,@(4,R15)
+ 00000F0C 72FF ADD #-1,R2
+ 00000F0E 002C MOV.B @(R0,R2),R0
+ 00000F10 2008 TST R0,R0
+ 00000F12 8B04 BF L653
+ 00000F14 51F1 MOV.L @(4,R15),R1
+ 00000F16 E208 MOV #8,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 45
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000F18 71FE ADD #-2,R1
+ 00000F1A 3127 CMP/GT R2,R1
+ 00000F1C 8B00 BF L644
+ 00000F1E L653:
+ draw.c 386 {
+ draw.c 387 left = False;
+ 00000F1E 2B40 MOV.B R4,@R11
+ 00000F20 L644:
+ 00000F20 7C01 ADD #1,R12
+ 00000F22 3CE3 CMP/GE R14,R12
+ 00000F24 8B84 BF L643
+ 00000F26 62F2 MOV.L @R15,R2
+ 00000F28 7201 ADD #1,R2
+ 00000F2A 32E3 CMP/GE R14,R2
+ 00000F2C 8D02 BT/S L785
+ 00000F2E 2F22 MOV.L R2,@R15
+ 00000F30 AF7A BRA L642
+ 00000F32 0009 NOP
+ 00000F34 L785:
+ 00000F34 L538:
+ draw.c 388 }
+ draw.c 389 }
+ draw.c 390 }
+ draw.c 391 }
+ draw.c 392 }
+ draw.c 393 break;
+ draw.c 394 }
+ draw.c 395 return fit;
+ 00000F34 60DE EXTS.B R13,R0
+ draw.c 396 }
+ 00000F36 7F0C ADD #12,R15
+ 00000F38 4F26 LDS.L @R15+,PR
+ 00000F3A 68F6 MOV.L @R15+,R8
+ 00000F3C 69F6 MOV.L @R15+,R9
+ 00000F3E 6AF6 MOV.L @R15+,R10
+ 00000F40 6BF6 MOV.L @R15+,R11
+ 00000F42 6CF6 MOV.L @R15+,R12
+ 00000F44 6DF6 MOV.L @R15+,R13
+ 00000F46 000B RTS
+ 00000F48 6EF6 MOV.L @R15+,R14
+ 00000F4A L784:
+ 00000F4A 0000 .DATA.W 0
+ 00000F4C <00000000> .DATA.L _blockS
+ 00000F50 <00000000> .DATA.L _ypos
+ draw.c 397
+ draw.c 398 void DrawBlock()
+ 00000F54 _DrawBlock: ; function: DrawBlock
+ ; frame size=80
+ ; used runtime library name:
+ ; __divls, __divlu, __modls, __modlu
+ 00000F54 2FE6 MOV.L R14,@-R15
+ 00000F56 2FD6 MOV.L R13,@-R15
+ 00000F58 2FC6 MOV.L R12,@-R15
+ 00000F5A 2FB6 MOV.L R11,@-R15
+ 00000F5C 2FA6 MOV.L R10,@-R15
+ 00000F5E 2F96 MOV.L R9,@-R15
+ 00000F60 2F86 MOV.L R8,@-R15
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 46
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000F62 4F22 STS.L PR,@-R15
+ draw.c 399 {
+ draw.c 400 int xcount, ycount;
+ draw.c 401
+ draw.c 402 clrbuffer(pScreen);
+ 00000F64 DE59 MOV.L L786+4,R14 ; _pScreen
+ 00000F66 7FF0 ADD #-16,R15
+ 00000F68 D359 MOV.L L786+8,R3 ; _clrbuffer
+ 00000F6A 430B JSR @R3
+ 00000F6C 64E2 MOV.L @R14,R4
+ draw.c 403
+ draw.c 404 drawNumber(pScreen, (int)(level / 10) % 10, 115, 39);
+ 00000F6E EA0A MOV #10,R10
+ 00000F70 D359 MOV.L L786+16,R3 ; __divls
+ 00000F72 E727 MOV #39,R7
+ 00000F74 DC57 MOV.L L786+12,R12; _level
+ 00000F76 E673 MOV #115,R6
+ 00000F78 61C0 MOV.B @R12,R1
+ 00000F7A 430B JSR @R3
+ 00000F7C 60A3 MOV R10,R0
+ 00000F7E 6103 MOV R0,R1
+ 00000F80 D256 MOV.L L786+20,R2 ; __modls
+ 00000F82 420B JSR @R2
+ 00000F84 60A3 MOV R10,R0
+ 00000F86 6503 MOV R0,R5
+ 00000F88 B987 BSR _drawNumber
+ 00000F8A 64E2 MOV.L @R14,R4
+ draw.c 405 drawNumber(pScreen, (int)(level / 10) % 100 / 10, 115, 43);
+ 00000F8C 61C0 MOV.B @R12,R1
+ 00000F8E EB64 MOV #100,R11
+ 00000F90 D351 MOV.L L786+16,R3 ; __divls
+ 00000F92 E72B MOV #43,R7
+ 00000F94 E673 MOV #115,R6
+ 00000F96 430B JSR @R3
+ 00000F98 60A3 MOV R10,R0
+ 00000F9A 6103 MOV R0,R1
+ 00000F9C D24F MOV.L L786+20,R2 ; __modls
+ 00000F9E 420B JSR @R2
+ 00000FA0 60B3 MOV R11,R0
+ 00000FA2 6103 MOV R0,R1
+ 00000FA4 D34C MOV.L L786+16,R3 ; __divls
+ 00000FA6 430B JSR @R3
+ 00000FA8 60A3 MOV R10,R0
+ 00000FAA 6503 MOV R0,R5
+ 00000FAC B975 BSR _drawNumber
+ 00000FAE 64E2 MOV.L @R14,R4
+ draw.c 406
+ draw.c 407 drawString(pScreen, &"LV", 2, 115, 59);
+ 00000FB0 D54B MOV.L L786+24,R5 ; L411
+ 00000FB2 E33B MOV #59,R3
+ 00000FB4 2F36 MOV.L R3,@-R15
+ 00000FB6 E773 MOV #115,R7
+ 00000FB8 E602 MOV #2,R6
+ 00000FBA B953 BSR _drawString
+ 00000FBC 64E2 MOV.L @R14,R4
+ draw.c 408
+ draw.c 409 drawNumber(pScreen, points % 10, 109, 39);
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 47
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000FBE E727 MOV #39,R7
+ 00000FC0 D349 MOV.L L786+32,R3 ; __modlu
+ 00000FC2 E66D MOV #109,R6
+ 00000FC4 DD47 MOV.L L786+28,R13; _points
+ 00000FC6 61D2 MOV.L @R13,R1
+ 00000FC8 430B JSR @R3
+ 00000FCA 60A3 MOV R10,R0
+ 00000FCC 6503 MOV R0,R5
+ 00000FCE B964 BSR _drawNumber
+ 00000FD0 64E2 MOV.L @R14,R4
+ draw.c 410 drawNumber(pScreen, points % 100 / 10, 109, 43);
+ 00000FD2 E72B MOV #43,R7
+ 00000FD4 61D2 MOV.L @R13,R1
+ 00000FD6 E66D MOV #109,R6
+ 00000FD8 D343 MOV.L L786+32,R3 ; __modlu
+ 00000FDA 430B JSR @R3
+ 00000FDC 60B3 MOV R11,R0
+ 00000FDE 6103 MOV R0,R1
+ 00000FE0 D242 MOV.L L786+36,R2 ; __divlu
+ 00000FE2 420B JSR @R2
+ 00000FE4 60A3 MOV R10,R0
+ 00000FE6 6503 MOV R0,R5
+ 00000FE8 B957 BSR _drawNumber
+ 00000FEA 64E2 MOV.L @R14,R4
+ draw.c 411 drawNumber(pScreen, points % 1000 / 100, 109, 47);
+ 00000FEC 996C MOV.W L786,R9 ; H'03E8
+ 00000FEE E72F MOV #47,R7
+ 00000FF0 61D2 MOV.L @R13,R1
+ 00000FF2 E66D MOV #109,R6
+ 00000FF4 D23C MOV.L L786+32,R2 ; __modlu
+ 00000FF6 420B JSR @R2
+ 00000FF8 6093 MOV R9,R0
+ 00000FFA 6103 MOV R0,R1
+ 00000FFC D33B MOV.L L786+36,R3 ; __divlu
+ 00000FFE 430B JSR @R3
+ 00001000 60B3 MOV R11,R0
+ 00001002 6503 MOV R0,R5
+ 00001004 B949 BSR _drawNumber
+ 00001006 64E2 MOV.L @R14,R4
+ draw.c 412 drawNumber(pScreen, points % 10000 / 1000, 109, 51);
+ 00001008 905F MOV.W L786+2,R0 ; H'2710
+ 0000100A E733 MOV #51,R7
+ 0000100C D336 MOV.L L786+32,R3 ; __modlu
+ 0000100E E66D MOV #109,R6
+ 00001010 430B JSR @R3
+ 00001012 61D2 MOV.L @R13,R1
+ 00001014 D235 MOV.L L786+36,R2 ; __divlu
+ 00001016 6103 MOV R0,R1
+ 00001018 420B JSR @R2
+ 0000101A 6093 MOV R9,R0
+ 0000101C 6503 MOV R0,R5
+ 0000101E B93C BSR _drawNumber
+ 00001020 64E2 MOV.L @R14,R4
+ draw.c 413 drawNumber(pScreen, points % 100000 / 10000, 109, 55);
+ 00001022 E737 MOV #55,R7
+ 00001024 D032 MOV.L L786+40,R0 ; H'000186A0
+ 00001026 E66D MOV #109,R6
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 48
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001028 D22F MOV.L L786+32,R2 ; __modlu
+ 0000102A 420B JSR @R2
+ 0000102C 61D2 MOV.L @R13,R1
+ 0000102E 6103 MOV R0,R1
+ 00001030 D32E MOV.L L786+36,R3 ; __divlu
+ 00001032 904A MOV.W L786+2,R0 ; H'2710
+ 00001034 430B JSR @R3
+ 00001036 0009 NOP
+ 00001038 6503 MOV R0,R5
+ 0000103A B92E BSR _drawNumber
+ 0000103C 64E2 MOV.L @R14,R4
+ draw.c 414 drawNumber(pScreen, points % 1000000 / 100000, 109, 59);
+ 0000103E E73B MOV #59,R7
+ 00001040 D02C MOV.L L786+44,R0 ; H'000F4240
+ 00001042 E66D MOV #109,R6
+ 00001044 D328 MOV.L L786+32,R3 ; __modlu
+ 00001046 430B JSR @R3
+ 00001048 61D2 MOV.L @R13,R1
+ 0000104A 6103 MOV R0,R1
+ 0000104C D227 MOV.L L786+36,R2 ; __divlu
+ 0000104E D028 MOV.L L786+40,R0 ; H'000186A0
+ 00001050 420B JSR @R2
+ 00001052 0009 NOP
+ 00001054 6503 MOV R0,R5
+ 00001056 B920 BSR _drawNumber
+ 00001058 64E2 MOV.L @R14,R4
+ draw.c 415 drawNumber(pScreen, points / 1000000, 109, 63);
+ 0000105A E73F MOV #63,R7
+ 0000105C D025 MOV.L L786+44,R0 ; H'000F4240
+ 0000105E E66D MOV #109,R6
+ 00001060 D222 MOV.L L786+36,R2 ; __divlu
+ 00001062 420B JSR @R2
+ 00001064 61D2 MOV.L @R13,R1
+ 00001066 6503 MOV R0,R5
+ 00001068 B917 BSR _drawNumber
+ 0000106A 64E2 MOV.L @R14,R4
+ draw.c 416
+ draw.c 417 drawString(pScreen, &"PTS", 3, 103, 51);
+ 0000106C D522 MOV.L L786+48,R5 ; L412
+ 0000106E E233 MOV #51,R2
+ 00001070 2F26 MOV.L R2,@-R15
+ 00001072 E767 MOV #103,R7
+ 00001074 E603 MOV #3,R6
+ 00001076 B8F5 BSR _drawString
+ 00001078 64E2 MOV.L @R14,R4
+ draw.c 418
+ draw.c 419 drawString(pScreen, &"LINE", 4, 121, 51);
+ 0000107A E233 MOV #51,R2
+ 0000107C D51F MOV.L L786+52,R5 ; L413
+ 0000107E E779 MOV #121,R7
+ 00001080 2F26 MOV.L R2,@-R15
+ 00001082 E604 MOV #4,R6
+ 00001084 B8EE BSR _drawString
+ 00001086 64E2 MOV.L @R14,R4
+ draw.c 420
+ draw.c 421 drawNumber(pScreen, level % 10, 121, 39);
+ 00001088 D314 MOV.L L786+20,R3 ; __modls
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 49
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000108A 7F0C ADD #12,R15
+ 0000108C 61C0 MOV.B @R12,R1
+ 0000108E E727 MOV #39,R7
+ 00001090 E679 MOV #121,R6
+ 00001092 430B JSR @R3
+ 00001094 60A3 MOV R10,R0
+ 00001096 6503 MOV R0,R5
+ 00001098 B8FF BSR _drawNumber
+ 0000109A 64E2 MOV.L @R14,R4
+ draw.c 422 drawNumber(pScreen, level % 100 / 10, 121, 43);
+ 0000109C 61C0 MOV.B @R12,R1
+ 0000109E E72B MOV #43,R7
+ 000010A0 D30E MOV.L L786+20,R3 ; __modls
+ 000010A2 E679 MOV #121,R6
+ 000010A4 430B JSR @R3
+ 000010A6 60B3 MOV R11,R0
+ 000010A8 D20B MOV.L L786+16,R2 ; __divls
+ 000010AA 6103 MOV R0,R1
+ 000010AC 420B JSR @R2
+ 000010AE 60A3 MOV R10,R0
+ 000010B0 6503 MOV R0,R5
+ 000010B2 B8F2 BSR _drawNumber
+ 000010B4 64E2 MOV.L @R14,R4
+ draw.c 423 drawNumber(pScreen, level % 1000 / 100, 121, 47);
+ 000010B6 E72F MOV #47,R7
+ 000010B8 61C0 MOV.B @R12,R1
+ 000010BA E679 MOV #121,R6
+ 000010BC D307 MOV.L L786+20,R3 ; __modls
+ 000010BE 430B JSR @R3
+ 000010C0 6093 MOV R9,R0
+ 000010C2 6103 MOV R0,R1
+ 000010C4 A01C BRA L761
+ 000010C6 60B3 MOV R11,R0
+ 000010C8 L786:
+ 000010C8 03E8 .DATA.W H'03E8
+ 000010CA 2710 .DATA.W H'2710
+ 000010CC <00000000> .DATA.L _pScreen
+ 000010D0 <00000000> .DATA.L _clrbuffer
+ 000010D4 <00000000> .DATA.L _level
+ 000010D8 <00000000> .DATA.L __divls
+ 000010DC <00000000> .DATA.L __modls
+ 000010E0 <00000000> .DATA.L L411
+ 000010E4 <00000000> .DATA.L _points
+ 000010E8 <00000000> .DATA.L __modlu
+ 000010EC <00000000> .DATA.L __divlu
+ 000010F0 000186A0 .DATA.L H'000186A0
+ 000010F4 000F4240 .DATA.L H'000F4240
+ 000010F8 <00000000> .DATA.L L412
+ 000010FC <00000000> .DATA.L L413
+ 00001100 L761:
+ 00001100 D283 MOV.L L787+2,R2 ; __divls
+ 00001102 420B JSR @R2
+ 00001104 0009 NOP
+ 00001106 6503 MOV R0,R5
+ 00001108 B8C7 BSR _drawNumber
+ 0000110A 64E2 MOV.L @R14,R4
+ draw.c 424
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 50
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 425 if(DrawSprite() == False)
+ 0000110C DB81 MOV.L L787+6,R11 ; _globalmap
+ 0000110E B990 BSR _DrawSprite
+ 00001110 E900 MOV #0,R9
+ 00001112 2008 TST R0,R0
+ 00001114 8B67 BF L655
+ draw.c 426 {
+ draw.c 427 for(ycount = 0; ycount < 20; ycount ++)
+ 00001116 6793 MOV R9,R7
+ 00001118 D57F MOV.L L787+10,R5 ; _changemap
+ 0000111A L656:
+ draw.c 428 {
+ draw.c 429 for(xcount = 0; xcount < 10; xcount ++)
+ 0000111A 6493 MOV R9,R4
+ 0000111C 6D73 MOV R7,R13
+ 0000111E 6373 MOV R7,R3
+ 00001120 4D08 SHLL2 R13
+ 00001122 3D3C ADD R3,R13
+ 00001124 4D00 SHLL R13
+ 00001126 66D3 MOV R13,R6
+ 00001128 365C ADD R5,R6
+ 0000112A L658:
+ draw.c 430 {
+ draw.c 431 if(changemap[ycount + 1][xcount] != 0)
+ 0000112A 6343 MOV R4,R3
+ 0000112C 336C ADD R6,R3
+ 0000112E 843A MOV.B @(10,R3),R0
+ 00001130 2008 TST R0,R0
+ 00001132 8908 BT L659
+ draw.c 432 {
+ draw.c 433 globalmap[ycount][xcount] = changemap[ycount + 1][xcount];
+ 00001134 60D3 MOV R13,R0
+ 00001136 30BC ADD R11,R0
+ 00001138 6203 MOV R0,R2
+ 0000113A 324C ADD R4,R2
+ 0000113C 63D3 MOV R13,R3
+ 0000113E 335C ADD R5,R3
+ 00001140 334C ADD R4,R3
+ 00001142 843A MOV.B @(10,R3),R0
+ 00001144 2200 MOV.B R0,@R2
+ 00001146 L659:
+ 00001146 7401 ADD #1,R4
+ 00001148 6343 MOV R4,R3
+ 0000114A 336C ADD R6,R3
+ 0000114C 843A MOV.B @(10,R3),R0
+ 0000114E 2008 TST R0,R0
+ 00001150 8908 BT L660
+ 00001152 60D3 MOV R13,R0
+ 00001154 30BC ADD R11,R0
+ 00001156 6203 MOV R0,R2
+ 00001158 324C ADD R4,R2
+ 0000115A 63D3 MOV R13,R3
+ 0000115C 335C ADD R5,R3
+ 0000115E 334C ADD R4,R3
+ 00001160 843A MOV.B @(10,R3),R0
+ 00001162 2200 MOV.B R0,@R2
+ 00001164 L660:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 51
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001164 7401 ADD #1,R4
+ 00001166 6343 MOV R4,R3
+ 00001168 336C ADD R6,R3
+ 0000116A 843A MOV.B @(10,R3),R0
+ 0000116C 2008 TST R0,R0
+ 0000116E 8908 BT L661
+ 00001170 60D3 MOV R13,R0
+ 00001172 30BC ADD R11,R0
+ 00001174 6203 MOV R0,R2
+ 00001176 324C ADD R4,R2
+ 00001178 63D3 MOV R13,R3
+ 0000117A 335C ADD R5,R3
+ 0000117C 334C ADD R4,R3
+ 0000117E 843A MOV.B @(10,R3),R0
+ 00001180 2200 MOV.B R0,@R2
+ 00001182 L661:
+ 00001182 7401 ADD #1,R4
+ 00001184 6343 MOV R4,R3
+ 00001186 336C ADD R6,R3
+ 00001188 843A MOV.B @(10,R3),R0
+ 0000118A 2008 TST R0,R0
+ 0000118C 8908 BT L662
+ 0000118E 60D3 MOV R13,R0
+ 00001190 30BC ADD R11,R0
+ 00001192 6203 MOV R0,R2
+ 00001194 324C ADD R4,R2
+ 00001196 63D3 MOV R13,R3
+ 00001198 335C ADD R5,R3
+ 0000119A 334C ADD R4,R3
+ 0000119C 843A MOV.B @(10,R3),R0
+ 0000119E 2200 MOV.B R0,@R2
+ 000011A0 L662:
+ 000011A0 7401 ADD #1,R4
+ 000011A2 E306 MOV #6,R3
+ 000011A4 3433 CMP/GE R3,R4
+ 000011A6 8BC0 BF L658
+ 000011A8 34A3 CMP/GE R10,R4
+ 000011AA 8910 BT L663
+ 000011AC L664:
+ 000011AC 6243 MOV R4,R2
+ 000011AE 326C ADD R6,R2
+ 000011B0 842A MOV.B @(10,R2),R0
+ 000011B2 2008 TST R0,R0
+ 000011B4 8908 BT L665
+ 000011B6 60D3 MOV R13,R0
+ 000011B8 30BC ADD R11,R0
+ 000011BA 6203 MOV R0,R2
+ 000011BC 324C ADD R4,R2
+ 000011BE 63D3 MOV R13,R3
+ 000011C0 335C ADD R5,R3
+ 000011C2 334C ADD R4,R3
+ 000011C4 843A MOV.B @(10,R3),R0
+ 000011C6 2200 MOV.B R0,@R2
+ 000011C8 L665:
+ 000011C8 7401 ADD #1,R4
+ 000011CA 34A3 CMP/GE R10,R4
+ 000011CC 8BEE BF L664
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 52
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000011CE L663:
+ 000011CE 7701 ADD #1,R7
+ 000011D0 E214 MOV #20,R2
+ 000011D2 3723 CMP/GE R2,R7
+ 000011D4 8BA1 BF L656
+ draw.c 434 }
+ draw.c 435 }
+ draw.c 436 }
+ draw.c 437 CreateBlock();
+ 000011D6 D151 MOV.L L787+14,R1 ; _CreateBlock
+ 000011D8 410B JSR @R1
+ 000011DA 0009 NOP
+ draw.c 438 if(nextdir == Fast)
+ 000011DC D450 MOV.L L787+18,R4 ; _nextdir
+ 000011DE 6040 MOV.B @R4,R0
+ 000011E0 881E CMP/EQ #30,R0
+ 000011E2 8B00 BF L655
+ draw.c 439 {
+ draw.c 440 nextdir = Down;
+ 000011E4 2490 MOV.B R9,@R4
+ 000011E6 L655:
+ draw.c 441 }
+ draw.c 442 }
+ draw.c 443
+ draw.c 444 line(pScreen, 0 , 0 , 101 , 0, 1);
+ 000011E6 ED01 MOV #1,R13
+ 000011E8 D24E MOV.L L787+22,R2 ; _line
+ 000011EA E765 MOV #101,R7
+ 000011EC 2FD6 MOV.L R13,@-R15
+ 000011EE E600 MOV #0,R6
+ 000011F0 2F96 MOV.L R9,@-R15
+ 000011F2 6563 MOV R6,R5
+ 000011F4 420B JSR @R2
+ 000011F6 64E2 MOV.L @R14,R4
+ draw.c 445 line(pScreen, 0 , 0 , 0 , 51, 1);
+ 000011F8 2FD6 MOV.L R13,@-R15
+ 000011FA E700 MOV #0,R7
+ 000011FC D349 MOV.L L787+22,R3 ; _line
+ 000011FE EC33 MOV #51,R12
+ 00001200 2FC6 MOV.L R12,@-R15
+ 00001202 6673 MOV R7,R6
+ 00001204 6573 MOV R7,R5
+ 00001206 430B JSR @R3
+ 00001208 64E2 MOV.L @R14,R4
+ draw.c 446 line(pScreen, 101 , 0 , 101 , 51, 1);
+ 0000120A E765 MOV #101,R7
+ 0000120C D245 MOV.L L787+22,R2 ; _line
+ 0000120E E600 MOV #0,R6
+ 00001210 2FD6 MOV.L R13,@-R15
+ 00001212 6573 MOV R7,R5
+ 00001214 2FC6 MOV.L R12,@-R15
+ 00001216 420B JSR @R2
+ 00001218 64E2 MOV.L @R14,R4
+ draw.c 447 line(pScreen, 101 , 51 , 0 , 51, 1);
+ 0000121A E700 MOV #0,R7
+ 0000121C D341 MOV.L L787+22,R3 ; _line
+ 0000121E 66C3 MOV R12,R6
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 53
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001220 2FD6 MOV.L R13,@-R15
+ 00001222 E565 MOV #101,R5
+ 00001224 2FC6 MOV.L R12,@-R15
+ 00001226 430B JSR @R3
+ 00001228 64E2 MOV.L @R14,R4
+ 0000122A 7F20 ADD #32,R15
+ draw.c 448
+ draw.c 449 for(ycount = 0; ycount < 20; ycount ++)
+ 0000122C 6893 MOV R9,R8
+ 0000122E L667:
+ draw.c 450 {
+ draw.c 451 for(xcount = 0; xcount < 10; xcount ++)
+ 0000122E 6D93 MOV R9,R13
+ 00001230 6C83 MOV R8,R12
+ 00001232 6383 MOV R8,R3
+ 00001234 4C08 SHLL2 R12
+ 00001236 3C3C ADD R3,R12
+ 00001238 4C00 SHLL R12
+ 0000123A L669:
+ draw.c 452 {
+ draw.c 453 if(globalmap[ycount][xcount] != 0 || changemap[ycount][xcount] != 0)
+ 0000123A 60C3 MOV R12,R0
+ 0000123C 30BC ADD R11,R0
+ 0000123E 03DC MOV.B @(R0,R13),R3
+ 00001240 2338 TST R3,R3
+ 00001242 8B05 BF L671
+ 00001244 D134 MOV.L L787+10,R1 ; _changemap
+ 00001246 31CC ADD R12,R1
+ 00001248 31DC ADD R13,R1
+ 0000124A 6310 MOV.B @R1,R3
+ 0000124C 2338 TST R3,R3
+ 0000124E 8910 BT L670
+ 00001250 L671:
+ draw.c 454 {
+ draw.c 455 fillbox(pScreen, ycount, xcount, (globalmap[ycount][xcount] != 0)? global
+ +map[ycount][xcount] - 1 : changemap[ycount][xcount] - 1);
+ 00001250 60C3 MOV R12,R0
+ 00001252 30BC ADD R11,R0
+ 00001254 07DC MOV.B @(R0,R13),R7
+ 00001256 2778 TST R7,R7
+ 00001258 8D02 BT/S L672
+ 0000125A 2F72 MOV.L R7,@R15
+ 0000125C A004 BRA L756
+ 0000125E 67F2 MOV.L @R15,R7
+ 00001260 L672:
+ 00001260 D72D MOV.L L787+10,R7 ; _changemap
+ 00001262 37CC ADD R12,R7
+ 00001264 37DC ADD R13,R7
+ 00001266 6770 MOV.B @R7,R7
+ 00001268 L756:
+ 00001268 77FF ADD #-1,R7
+ 0000126A 66D3 MOV R13,R6
+ 0000126C 6583 MOV R8,R5
+ 0000126E B85A BSR _fillbox
+ 00001270 64E2 MOV.L @R14,R4
+ 00001272 L670:
+ 00001272 7D01 ADD #1,R13
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 54
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001274 60C3 MOV R12,R0
+ 00001276 30BC ADD R11,R0
+ 00001278 03DC MOV.B @(R0,R13),R3
+ 0000127A 2338 TST R3,R3
+ 0000127C 8B05 BF L675
+ 0000127E D126 MOV.L L787+10,R1 ; _changemap
+ 00001280 31CC ADD R12,R1
+ 00001282 31DC ADD R13,R1
+ 00001284 6310 MOV.B @R1,R3
+ 00001286 2338 TST R3,R3
+ 00001288 8910 BT L674
+ 0000128A L675:
+ 0000128A 60C3 MOV R12,R0
+ 0000128C 30BC ADD R11,R0
+ 0000128E 07DC MOV.B @(R0,R13),R7
+ 00001290 2778 TST R7,R7
+ 00001292 8D02 BT/S L676
+ 00001294 2F72 MOV.L R7,@R15
+ 00001296 A004 BRA L757
+ 00001298 67F2 MOV.L @R15,R7
+ 0000129A L676:
+ 0000129A D71F MOV.L L787+10,R7 ; _changemap
+ 0000129C 37CC ADD R12,R7
+ 0000129E 37DC ADD R13,R7
+ 000012A0 6770 MOV.B @R7,R7
+ 000012A2 L757:
+ 000012A2 77FF ADD #-1,R7
+ 000012A4 66D3 MOV R13,R6
+ 000012A6 6583 MOV R8,R5
+ 000012A8 B83D BSR _fillbox
+ 000012AA 64E2 MOV.L @R14,R4
+ 000012AC L674:
+ 000012AC 7D01 ADD #1,R13
+ 000012AE 60C3 MOV R12,R0
+ 000012B0 30BC ADD R11,R0
+ 000012B2 03DC MOV.B @(R0,R13),R3
+ 000012B4 2338 TST R3,R3
+ 000012B6 8B05 BF L679
+ 000012B8 D117 MOV.L L787+10,R1 ; _changemap
+ 000012BA 31CC ADD R12,R1
+ 000012BC 31DC ADD R13,R1
+ 000012BE 6310 MOV.B @R1,R3
+ 000012C0 2338 TST R3,R3
+ 000012C2 8910 BT L678
+ 000012C4 L679:
+ 000012C4 60C3 MOV R12,R0
+ 000012C6 30BC ADD R11,R0
+ 000012C8 07DC MOV.B @(R0,R13),R7
+ 000012CA 2778 TST R7,R7
+ 000012CC 8D02 BT/S L680
+ 000012CE 2F72 MOV.L R7,@R15
+ 000012D0 A004 BRA L758
+ 000012D2 67F2 MOV.L @R15,R7
+ 000012D4 L680:
+ 000012D4 D710 MOV.L L787+10,R7 ; _changemap
+ 000012D6 37CC ADD R12,R7
+ 000012D8 37DC ADD R13,R7
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 55
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000012DA 6770 MOV.B @R7,R7
+ 000012DC L758:
+ 000012DC 77FF ADD #-1,R7
+ 000012DE 66D3 MOV R13,R6
+ 000012E0 6583 MOV R8,R5
+ 000012E2 B820 BSR _fillbox
+ 000012E4 64E2 MOV.L @R14,R4
+ 000012E6 L678:
+ 000012E6 7D01 ADD #1,R13
+ 000012E8 60C3 MOV R12,R0
+ 000012EA 30BC ADD R11,R0
+ 000012EC 03DC MOV.B @(R0,R13),R3
+ 000012EE 2338 TST R3,R3
+ 000012F0 8B05 BF L683
+ 000012F2 D109 MOV.L L787+10,R1 ; _changemap
+ 000012F4 31CC ADD R12,R1
+ 000012F6 31DC ADD R13,R1
+ 000012F8 6310 MOV.B @R1,R3
+ 000012FA 2338 TST R3,R3
+ 000012FC 891E BT L682
+ 000012FE L683:
+ 000012FE 60C3 MOV R12,R0
+ 00001300 30BC ADD R11,R0
+ 00001302 07DC MOV.B @(R0,R13),R7
+ 00001304 2778 TST R7,R7
+ 00001306 8D0F BT/S L684
+ 00001308 2F72 MOV.L R7,@R15
+ 0000130A A011 BRA L759
+ 0000130C 67F2 MOV.L @R15,R7
+ 0000130E L787:
+ 0000130E 0000 .DATA.W 0
+ 00001310 <00000000> .DATA.L __divls
+ 00001314 <00000000> .DATA.L _globalmap
+ 00001318 <00000000> .DATA.L _changemap
+ 0000131C <00000000> .DATA.L _CreateBlock
+ 00001320 <00000000> .DATA.L _nextdir
+ 00001324 <00000000> .DATA.L _line
+ 00001328 L684:
+ 00001328 D776 MOV.L L788,R7 ; _changemap
+ 0000132A 37CC ADD R12,R7
+ 0000132C 37DC ADD R13,R7
+ 0000132E 6770 MOV.B @R7,R7
+ 00001330 L759:
+ 00001330 D275 MOV.L L788+4,R2 ; _fillbox
+ 00001332 77FF ADD #-1,R7
+ 00001334 66D3 MOV R13,R6
+ 00001336 6583 MOV R8,R5
+ 00001338 420B JSR @R2
+ 0000133A 64E2 MOV.L @R14,R4
+ 0000133C L682:
+ 0000133C 7D01 ADD #1,R13
+ 0000133E E306 MOV #6,R3
+ 00001340 3D33 CMP/GE R3,R13
+ 00001342 8901 BT L789
+ 00001344 AF79 BRA L669
+ 00001346 0009 NOP
+ 00001348 L789:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 56
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001348 3DA3 CMP/GE R10,R13
+ 0000134A 891F BT L686
+ 0000134C L687:
+ 0000134C 60C3 MOV R12,R0
+ 0000134E 30BC ADD R11,R0
+ 00001350 03DC MOV.B @(R0,R13),R3
+ 00001352 2338 TST R3,R3
+ 00001354 8B05 BF L689
+ 00001356 D16B MOV.L L788,R1 ; _changemap
+ 00001358 31CC ADD R12,R1
+ 0000135A 31DC ADD R13,R1
+ 0000135C 6310 MOV.B @R1,R3
+ 0000135E 2338 TST R3,R3
+ 00001360 8911 BT L688
+ 00001362 L689:
+ 00001362 60C3 MOV R12,R0
+ 00001364 30BC ADD R11,R0
+ 00001366 07DC MOV.B @(R0,R13),R7
+ 00001368 2778 TST R7,R7
+ 0000136A 8D02 BT/S L690
+ 0000136C 2F72 MOV.L R7,@R15
+ 0000136E A004 BRA L760
+ 00001370 67F2 MOV.L @R15,R7
+ 00001372 L690:
+ 00001372 D764 MOV.L L788,R7 ; _changemap
+ 00001374 37CC ADD R12,R7
+ 00001376 37DC ADD R13,R7
+ 00001378 6770 MOV.B @R7,R7
+ 0000137A L760:
+ 0000137A 77FF ADD #-1,R7
+ 0000137C D262 MOV.L L788+4,R2 ; _fillbox
+ 0000137E 66D3 MOV R13,R6
+ 00001380 6583 MOV R8,R5
+ 00001382 420B JSR @R2
+ 00001384 64E2 MOV.L @R14,R4
+ 00001386 L688:
+ 00001386 7D01 ADD #1,R13
+ 00001388 3DA3 CMP/GE R10,R13
+ 0000138A 8BDF BF L687
+ 0000138C L686:
+ 0000138C 7801 ADD #1,R8
+ 0000138E E214 MOV #20,R2
+ 00001390 3823 CMP/GE R2,R8
+ 00001392 8901 BT L790
+ 00001394 AF4B BRA L667
+ 00001396 0009 NOP
+ 00001398 L790:
+ draw.c 456 }
+ draw.c 457 }
+ draw.c 458 }
+ draw.c 459
+ draw.c 460 drawString(pScreen, &"NEXT", 4, 103, 2);
+ 00001398 D55C MOV.L L788+8,R5 ; L423
+ 0000139A E102 MOV #2,R1
+ 0000139C D35C MOV.L L788+12,R3 ; _drawString
+ 0000139E E767 MOV #103,R7
+ 000013A0 2F16 MOV.L R1,@-R15
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 57
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000013A2 E604 MOV #4,R6
+ 000013A4 430B JSR @R3
+ 000013A6 64E2 MOV.L @R14,R4
+ draw.c 461
+ draw.c 462 //draw the next block
+ draw.c 463
+ draw.c 464 switch(nextblock)
+ 000013A8 D25A MOV.L L788+16,R2 ; _nextblock
+ 000013AA 7F04 ADD #4,R15
+ 000013AC 6020 MOV.B @R2,R0
+ 000013AE E804 MOV #4,R8
+ 000013B0 EC03 MOV #3,R12
+ 000013B2 8801 CMP/EQ #1,R0
+ 000013B4 8D16 BT/S L486
+ 000013B6 ED16 MOV #22,R13
+ 000013B8 8802 CMP/EQ #2,R0
+ 000013BA 8937 BT L487
+ 000013BC 8803 CMP/EQ #3,R0
+ 000013BE 897D BT L488
+ 000013C0 8804 CMP/EQ #4,R0
+ 000013C2 8B01 BF L791
+ 000013C4 A0B0 BRA L489
+ 000013C6 0009 NOP
+ 000013C8 L791:
+ 000013C8 8805 CMP/EQ #5,R0
+ 000013CA 8B01 BF L792
+ 000013CC A0D0 BRA L490
+ 000013CE 0009 NOP
+ 000013D0 L792:
+ 000013D0 8806 CMP/EQ #6,R0
+ 000013D2 8B01 BF L793
+ 000013D4 A0F0 BRA L491
+ 000013D6 0009 NOP
+ 000013D8 L793:
+ 000013D8 8807 CMP/EQ #7,R0
+ 000013DA 8B01 BF L794
+ 000013DC A110 BRA L492
+ 000013DE 0009 NOP
+ 000013E0 L794:
+ 000013E0 A130 BRA L692
+ 000013E2 0009 NOP
+ 000013E4 L486: ; case label
+ 000013E4 D44C MOV.L L788+20,R4 ; _blockO
+ draw.c 465 {
+ draw.c 466 case 1 :
+ draw.c 467 for(xcount = 0; xcount < 4; xcount ++)
+ 000013E6 6A93 MOV R9,R10
+ 000013E8 6343 MOV R4,R3
+ 000013EA 7330 ADD #48,R3
+ 000013EC 1F31 MOV.L R3,@(4,R15)
+ 000013EE 1F43 MOV.L R4,@(12,R15)
+ 000013F0 L693:
+ 000013F0 2FD2 MOV.L R13,@R15
+ 000013F2 63A3 MOV R10,R3
+ 000013F4 5BF3 MOV.L @(12,R15),R11
+ 000013F6 4308 SHLL2 R3
+ 000013F8 1F32 MOV.L R3,@(8,R15)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 58
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 468 {
+ draw.c 469 for(ycount = 0; ycount < 3; ycount ++)
+ 000013FA 52F1 MOV.L @(4,R15),R2
+ 000013FC 3B22 CMP/HS R2,R11
+ 000013FE 8910 BT L694
+ 00001400 L695:
+ draw.c 470 {
+ draw.c 471 if(blockO[0][ycount][xcount] == 1)
+ 00001400 50F2 MOV.L @(8,R15),R0
+ 00001402 00BE MOV.L @(R0,R11),R0
+ 00001404 8801 CMP/EQ #1,R0
+ 00001406 8B05 BF L696
+ draw.c 472 {
+ draw.c 473 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 0);
+ 00001408 65F2 MOV.L @R15,R5
+ 0000140A E700 MOV #0,R7
+ 0000140C D343 MOV.L L788+24,R3 ; _normalfillbox
+ 0000140E 66A3 MOV R10,R6
+ 00001410 430B JSR @R3
+ 00001412 64E2 MOV.L @R14,R4
+ 00001414 L696:
+ 00001414 62F2 MOV.L @R15,R2
+ 00001416 7B10 ADD #16,R11
+ 00001418 7201 ADD #1,R2
+ 0000141A 2F22 MOV.L R2,@R15
+ 0000141C 53F1 MOV.L @(4,R15),R3
+ 0000141E 3B32 CMP/HS R3,R11
+ 00001420 8BEE BF L695
+ 00001422 L694:
+ 00001422 7A01 ADD #1,R10
+ 00001424 3A83 CMP/GE R8,R10
+ 00001426 8BE3 BF L693
+ draw.c 474 }
+ draw.c 475 }
+ draw.c 476 }
+ draw.c 477 break;
+ 00001428 A10C BRA L692
+ 0000142A 0009 NOP
+ 0000142C L487: ; case label
+ draw.c 478
+ draw.c 479 case 2 :
+ draw.c 480 for(xcount = 0; xcount < 4; xcount ++)
+ 0000142C 2F92 MOV.L R9,@R15
+ 0000142E D43C MOV.L L788+28,R4 ; _blockI
+ 00001430 6343 MOV R4,R3
+ 00001432 7340 ADD #64,R3
+ 00001434 1F32 MOV.L R3,@(8,R15)
+ 00001436 1F43 MOV.L R4,@(12,R15)
+ 00001438 L697:
+ 00001438 5BF3 MOV.L @(12,R15),R11
+ 0000143A 63F2 MOV.L @R15,R3
+ 0000143C 4308 SHLL2 R3
+ 0000143E 1F31 MOV.L R3,@(4,R15)
+ draw.c 481 {
+ draw.c 482 for(ycount = 0; ycount < 4; ycount ++)
+ 00001440 52F2 MOV.L @(8,R15),R2
+ 00001442 3B22 CMP/HS R2,R11
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 59
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001444 8D33 BT/S L698
+ 00001446 6AD3 MOV R13,R10
+ 00001448 L699:
+ draw.c 483 {
+ draw.c 484 if(blockI[0][ycount][xcount] == 1)
+ 00001448 50F1 MOV.L @(4,R15),R0
+ 0000144A 00BE MOV.L @(R0,R11),R0
+ 0000144C 8801 CMP/EQ #1,R0
+ 0000144E 8B05 BF L700
+ draw.c 485 {
+ draw.c 486 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 1);
+ 00001450 66F2 MOV.L @R15,R6
+ 00001452 65A3 MOV R10,R5
+ 00001454 D331 MOV.L L788+24,R3 ; _normalfillbox
+ 00001456 E701 MOV #1,R7
+ 00001458 430B JSR @R3
+ 0000145A 64E2 MOV.L @R14,R4
+ 0000145C L700:
+ 0000145C 50F1 MOV.L @(4,R15),R0
+ 0000145E 7B10 ADD #16,R11
+ 00001460 00BE MOV.L @(R0,R11),R0
+ 00001462 8801 CMP/EQ #1,R0
+ 00001464 8F06 BF/S L701
+ 00001466 7A01 ADD #1,R10
+ 00001468 66F2 MOV.L @R15,R6
+ 0000146A 65A3 MOV R10,R5
+ 0000146C D32B MOV.L L788+24,R3 ; _normalfillbox
+ 0000146E E701 MOV #1,R7
+ 00001470 430B JSR @R3
+ 00001472 64E2 MOV.L @R14,R4
+ 00001474 L701:
+ 00001474 50F1 MOV.L @(4,R15),R0
+ 00001476 7B10 ADD #16,R11
+ 00001478 00BE MOV.L @(R0,R11),R0
+ 0000147A 8801 CMP/EQ #1,R0
+ 0000147C 8F06 BF/S L702
+ 0000147E 7A01 ADD #1,R10
+ 00001480 66F2 MOV.L @R15,R6
+ 00001482 65A3 MOV R10,R5
+ 00001484 D325 MOV.L L788+24,R3 ; _normalfillbox
+ 00001486 E701 MOV #1,R7
+ 00001488 430B JSR @R3
+ 0000148A 64E2 MOV.L @R14,R4
+ 0000148C L702:
+ 0000148C 50F1 MOV.L @(4,R15),R0
+ 0000148E 7B10 ADD #16,R11
+ 00001490 00BE MOV.L @(R0,R11),R0
+ 00001492 8801 CMP/EQ #1,R0
+ 00001494 8F06 BF/S L703
+ 00001496 7A01 ADD #1,R10
+ 00001498 66F2 MOV.L @R15,R6
+ 0000149A 65A3 MOV R10,R5
+ 0000149C D31F MOV.L L788+24,R3 ; _normalfillbox
+ 0000149E E701 MOV #1,R7
+ 000014A0 430B JSR @R3
+ 000014A2 64E2 MOV.L @R14,R4
+ 000014A4 L703:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 60
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000014A4 52F2 MOV.L @(8,R15),R2
+ 000014A6 7B10 ADD #16,R11
+ 000014A8 3B22 CMP/HS R2,R11
+ 000014AA 8FCD BF/S L699
+ 000014AC 7A01 ADD #1,R10
+ 000014AE L698:
+ 000014AE 61F2 MOV.L @R15,R1
+ 000014B0 7101 ADD #1,R1
+ 000014B2 3183 CMP/GE R8,R1
+ 000014B4 8FC0 BF/S L697
+ 000014B6 2F12 MOV.L R1,@R15
+ draw.c 487 }
+ draw.c 488 }
+ draw.c 489 }
+ draw.c 490 break;
+ 000014B8 A0C4 BRA L692
+ 000014BA 0009 NOP
+ 000014BC L488: ; case label
+ 000014BC D419 MOV.L L788+32,R4 ; _blockT
+ draw.c 491
+ draw.c 492 case 3 :
+ draw.c 493 for(xcount = 0; xcount < 3; xcount ++)
+ 000014BE 6A93 MOV R9,R10
+ 000014C0 6343 MOV R4,R3
+ 000014C2 7324 ADD #36,R3
+ 000014C4 1F31 MOV.L R3,@(4,R15)
+ 000014C6 1F43 MOV.L R4,@(12,R15)
+ 000014C8 L704:
+ 000014C8 2FD2 MOV.L R13,@R15
+ 000014CA 63A3 MOV R10,R3
+ 000014CC 5BF3 MOV.L @(12,R15),R11
+ 000014CE 4308 SHLL2 R3
+ 000014D0 1F32 MOV.L R3,@(8,R15)
+ draw.c 494 {
+ draw.c 495 for(ycount = 0; ycount < 3; ycount ++)
+ 000014D2 52F1 MOV.L @(4,R15),R2
+ 000014D4 3B22 CMP/HS R2,R11
+ 000014D6 8910 BT L705
+ 000014D8 L706:
+ draw.c 496 {
+ draw.c 497 if(blockT[0][ycount][xcount] == 1)
+ 000014D8 50F2 MOV.L @(8,R15),R0
+ 000014DA 00BE MOV.L @(R0,R11),R0
+ 000014DC 8801 CMP/EQ #1,R0
+ 000014DE 8B05 BF L707
+ draw.c 498 {
+ draw.c 499 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 2);
+ 000014E0 65F2 MOV.L @R15,R5
+ 000014E2 E702 MOV #2,R7
+ 000014E4 D30D MOV.L L788+24,R3 ; _normalfillbox
+ 000014E6 66A3 MOV R10,R6
+ 000014E8 430B JSR @R3
+ 000014EA 64E2 MOV.L @R14,R4
+ 000014EC L707:
+ 000014EC 62F2 MOV.L @R15,R2
+ 000014EE 7B0C ADD #12,R11
+ 000014F0 7201 ADD #1,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 61
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000014F2 2F22 MOV.L R2,@R15
+ 000014F4 53F1 MOV.L @(4,R15),R3
+ 000014F6 3B32 CMP/HS R3,R11
+ 000014F8 8BEE BF L706
+ 000014FA L705:
+ 000014FA 7A01 ADD #1,R10
+ 000014FC 3AC3 CMP/GE R12,R10
+ 000014FE 8BE3 BF L704
+ draw.c 500 }
+ draw.c 501 }
+ draw.c 502 }
+ draw.c 503 break;
+ 00001500 A0A0 BRA L692
+ 00001502 0009 NOP
+ 00001504 L788:
+ 00001504 <00000000> .DATA.L _changemap
+ 00001508 <00000000> .DATA.L _fillbox
+ 0000150C <00000000> .DATA.L L423
+ 00001510 <00000000> .DATA.L _drawString
+ 00001514 <00000000> .DATA.L _nextblock
+ 00001518 <00000000> .DATA.L _blockO
+ 0000151C <00000000> .DATA.L _normalfillbox
+ 00001520 <00000000> .DATA.L _blockI
+ 00001524 <00000000> .DATA.L _blockT
+ 00001528 L489: ; case label
+ 00001528 D469 MOV.L L795,R4 ; _blockJ
+ draw.c 504
+ draw.c 505 case 4 :
+ draw.c 506 for(xcount = 0; xcount < 3; xcount ++)
+ 0000152A 6A93 MOV R9,R10
+ 0000152C 6343 MOV R4,R3
+ 0000152E 7324 ADD #36,R3
+ 00001530 1F31 MOV.L R3,@(4,R15)
+ 00001532 1F43 MOV.L R4,@(12,R15)
+ 00001534 L708:
+ 00001534 2FD2 MOV.L R13,@R15
+ 00001536 63A3 MOV R10,R3
+ 00001538 5BF3 MOV.L @(12,R15),R11
+ 0000153A 4308 SHLL2 R3
+ 0000153C 1F32 MOV.L R3,@(8,R15)
+ draw.c 507 {
+ draw.c 508 for(ycount = 0; ycount < 3; ycount ++)
+ 0000153E 52F1 MOV.L @(4,R15),R2
+ 00001540 3B22 CMP/HS R2,R11
+ 00001542 8910 BT L709
+ 00001544 L710:
+ draw.c 509 {
+ draw.c 510 if(blockJ[0][ycount][xcount] == 1)
+ 00001544 50F2 MOV.L @(8,R15),R0
+ 00001546 00BE MOV.L @(R0,R11),R0
+ 00001548 8801 CMP/EQ #1,R0
+ 0000154A 8B05 BF L711
+ draw.c 511 {
+ draw.c 512 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 3);
+ 0000154C 65F2 MOV.L @R15,R5
+ 0000154E E703 MOV #3,R7
+ 00001550 D360 MOV.L L795+4,R3 ; _normalfillbox
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 62
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001552 66A3 MOV R10,R6
+ 00001554 430B JSR @R3
+ 00001556 64E2 MOV.L @R14,R4
+ 00001558 L711:
+ 00001558 62F2 MOV.L @R15,R2
+ 0000155A 7B0C ADD #12,R11
+ 0000155C 7201 ADD #1,R2
+ 0000155E 2F22 MOV.L R2,@R15
+ 00001560 53F1 MOV.L @(4,R15),R3
+ 00001562 3B32 CMP/HS R3,R11
+ 00001564 8BEE BF L710
+ 00001566 L709:
+ 00001566 7A01 ADD #1,R10
+ 00001568 3AC3 CMP/GE R12,R10
+ 0000156A 8BE3 BF L708
+ draw.c 513 }
+ draw.c 514 }
+ draw.c 515 }
+ draw.c 516 break;
+ 0000156C A06A BRA L692
+ 0000156E 0009 NOP
+ 00001570 L490: ; case label
+ draw.c 517
+ draw.c 518 case 5 :
+ draw.c 519 for(xcount = 0; xcount < 3; xcount ++)
+ 00001570 2F92 MOV.L R9,@R15
+ 00001572 D459 MOV.L L795+8,R4 ; _blockL
+ 00001574 6343 MOV R4,R3
+ 00001576 7324 ADD #36,R3
+ 00001578 1F31 MOV.L R3,@(4,R15)
+ 0000157A 1F43 MOV.L R4,@(12,R15)
+ 0000157C L712:
+ 0000157C 5BF3 MOV.L @(12,R15),R11
+ 0000157E 63F2 MOV.L @R15,R3
+ 00001580 4308 SHLL2 R3
+ 00001582 1F32 MOV.L R3,@(8,R15)
+ draw.c 520 {
+ draw.c 521 for(ycount = 0; ycount < 3; ycount ++)
+ 00001584 52F1 MOV.L @(4,R15),R2
+ 00001586 3B22 CMP/HS R2,R11
+ 00001588 8D0F BT/S L713
+ 0000158A 6AD3 MOV R13,R10
+ 0000158C L714:
+ draw.c 522 {
+ draw.c 523 if(blockL[0][ycount][xcount] == 1)
+ 0000158C 50F2 MOV.L @(8,R15),R0
+ 0000158E 00BE MOV.L @(R0,R11),R0
+ 00001590 8801 CMP/EQ #1,R0
+ 00001592 8B05 BF L715
+ draw.c 524 {
+ draw.c 525 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 4);
+ 00001594 66F2 MOV.L @R15,R6
+ 00001596 65A3 MOV R10,R5
+ 00001598 D34E MOV.L L795+4,R3 ; _normalfillbox
+ 0000159A E704 MOV #4,R7
+ 0000159C 430B JSR @R3
+ 0000159E 64E2 MOV.L @R14,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 63
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000015A0 L715:
+ 000015A0 52F1 MOV.L @(4,R15),R2
+ 000015A2 7B0C ADD #12,R11
+ 000015A4 3B22 CMP/HS R2,R11
+ 000015A6 8FF1 BF/S L714
+ 000015A8 7A01 ADD #1,R10
+ 000015AA L713:
+ 000015AA 61F2 MOV.L @R15,R1
+ 000015AC 7101 ADD #1,R1
+ 000015AE 31C3 CMP/GE R12,R1
+ 000015B0 8FE4 BF/S L712
+ 000015B2 2F12 MOV.L R1,@R15
+ draw.c 526 }
+ draw.c 527 }
+ draw.c 528 }
+ draw.c 529 break;
+ 000015B4 A046 BRA L692
+ 000015B6 0009 NOP
+ 000015B8 L491: ; case label
+ draw.c 530
+ draw.c 531 case 6 :
+ draw.c 532 for(xcount = 0; xcount < 3; xcount ++)
+ 000015B8 2F92 MOV.L R9,@R15
+ 000015BA D448 MOV.L L795+12,R4 ; _blockZ
+ 000015BC 6343 MOV R4,R3
+ 000015BE 7324 ADD #36,R3
+ 000015C0 1F31 MOV.L R3,@(4,R15)
+ 000015C2 1F43 MOV.L R4,@(12,R15)
+ 000015C4 L716:
+ 000015C4 5BF3 MOV.L @(12,R15),R11
+ 000015C6 63F2 MOV.L @R15,R3
+ 000015C8 4308 SHLL2 R3
+ 000015CA 1F32 MOV.L R3,@(8,R15)
+ draw.c 533 {
+ draw.c 534 for(ycount = 0; ycount < 3; ycount ++)
+ 000015CC 52F1 MOV.L @(4,R15),R2
+ 000015CE 3B22 CMP/HS R2,R11
+ 000015D0 8D0F BT/S L717
+ 000015D2 6AD3 MOV R13,R10
+ 000015D4 L718:
+ draw.c 535 {
+ draw.c 536 if(blockZ[0][ycount][xcount] == 1)
+ 000015D4 50F2 MOV.L @(8,R15),R0
+ 000015D6 00BE MOV.L @(R0,R11),R0
+ 000015D8 8801 CMP/EQ #1,R0
+ 000015DA 8B05 BF L719
+ draw.c 537 {
+ draw.c 538 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 5);
+ 000015DC 66F2 MOV.L @R15,R6
+ 000015DE 65A3 MOV R10,R5
+ 000015E0 D33C MOV.L L795+4,R3 ; _normalfillbox
+ 000015E2 E705 MOV #5,R7
+ 000015E4 430B JSR @R3
+ 000015E6 64E2 MOV.L @R14,R4
+ 000015E8 L719:
+ 000015E8 52F1 MOV.L @(4,R15),R2
+ 000015EA 7B0C ADD #12,R11
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 64
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000015EC 3B22 CMP/HS R2,R11
+ 000015EE 8FF1 BF/S L718
+ 000015F0 7A01 ADD #1,R10
+ 000015F2 L717:
+ 000015F2 61F2 MOV.L @R15,R1
+ 000015F4 7101 ADD #1,R1
+ 000015F6 31C3 CMP/GE R12,R1
+ 000015F8 8FE4 BF/S L716
+ 000015FA 2F12 MOV.L R1,@R15
+ draw.c 539 }
+ draw.c 540 }
+ draw.c 541 }
+ draw.c 542 break;
+ 000015FC A022 BRA L692
+ 000015FE 0009 NOP
+ 00001600 L492: ; case label
+ draw.c 543
+ draw.c 544 case 7 :
+ draw.c 545 for(xcount = 0; xcount < 3; xcount ++)
+ 00001600 2F92 MOV.L R9,@R15
+ 00001602 D437 MOV.L L795+16,R4 ; _blockS
+ 00001604 6343 MOV R4,R3
+ 00001606 7324 ADD #36,R3
+ 00001608 1F31 MOV.L R3,@(4,R15)
+ 0000160A 1F43 MOV.L R4,@(12,R15)
+ 0000160C L720:
+ 0000160C 5BF3 MOV.L @(12,R15),R11
+ 0000160E 63F2 MOV.L @R15,R3
+ 00001610 4308 SHLL2 R3
+ 00001612 1F32 MOV.L R3,@(8,R15)
+ draw.c 546 {
+ draw.c 547 for(ycount = 0; ycount < 3; ycount ++)
+ 00001614 52F1 MOV.L @(4,R15),R2
+ 00001616 3B22 CMP/HS R2,R11
+ 00001618 8D0F BT/S L721
+ 0000161A 6AD3 MOV R13,R10
+ 0000161C L722:
+ draw.c 548 {
+ draw.c 549 if(blockS[0][ycount][xcount] == 1)
+ 0000161C 50F2 MOV.L @(8,R15),R0
+ 0000161E 00BE MOV.L @(R0,R11),R0
+ 00001620 8801 CMP/EQ #1,R0
+ 00001622 8B05 BF L723
+ draw.c 550 {
+ draw.c 551 normalfillbox(pScreen, 22 + ycount , 0 + xcount, 6);
+ 00001624 66F2 MOV.L @R15,R6
+ 00001626 65A3 MOV R10,R5
+ 00001628 D32A MOV.L L795+4,R3 ; _normalfillbox
+ 0000162A E706 MOV #6,R7
+ 0000162C 430B JSR @R3
+ 0000162E 64E2 MOV.L @R14,R4
+ 00001630 L723:
+ 00001630 52F1 MOV.L @(4,R15),R2
+ 00001632 7B0C ADD #12,R11
+ 00001634 3B22 CMP/HS R2,R11
+ 00001636 8FF1 BF/S L722
+ 00001638 7A01 ADD #1,R10
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 65
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000163A L721:
+ 0000163A 61F2 MOV.L @R15,R1
+ 0000163C 7101 ADD #1,R1
+ 0000163E 31C3 CMP/GE R12,R1
+ 00001640 8FE4 BF/S L720
+ 00001642 2F12 MOV.L R1,@R15
+ 00001644 L692:
+ draw.c 552 }
+ draw.c 553 }
+ draw.c 554 }
+ draw.c 555 break;
+ draw.c 556 }
+ draw.c 557
+ draw.c 558 drawString(pScreen, &"HOLD", 4, 103, 22);
+ 00001644 2FD6 MOV.L R13,@-R15
+ 00001646 E767 MOV #103,R7
+ 00001648 D526 MOV.L L795+20,R5 ; L446
+ 0000164A E604 MOV #4,R6
+ 0000164C D326 MOV.L L795+24,R3 ; _drawString
+ 0000164E 430B JSR @R3
+ 00001650 64E2 MOV.L @R14,R4
+ draw.c 559
+ draw.c 560 //draw the stored block
+ draw.c 561
+ draw.c 562 switch(hold)
+ 00001652 D226 MOV.L L795+28,R2 ; _hold
+ 00001654 6020 MOV.B @R2,R0
+ 00001656 8801 CMP/EQ #1,R0
+ 00001658 8D18 BT/S L494
+ 0000165A 7F04 ADD #4,R15
+ 0000165C 8802 CMP/EQ #2,R0
+ 0000165E 8949 BT L495
+ 00001660 8803 CMP/EQ #3,R0
+ 00001662 8B01 BF L796
+ 00001664 A08E BRA L496
+ 00001666 0009 NOP
+ 00001668 L796:
+ 00001668 8804 CMP/EQ #4,R0
+ 0000166A 8B01 BF L797
+ 0000166C A0AC BRA L497
+ 0000166E 0009 NOP
+ 00001670 L797:
+ 00001670 8805 CMP/EQ #5,R0
+ 00001672 8B01 BF L798
+ 00001674 A0CA BRA L498
+ 00001676 0009 NOP
+ 00001678 L798:
+ 00001678 8806 CMP/EQ #6,R0
+ 0000167A 8B01 BF L799
+ 0000167C A0E8 BRA L499
+ 0000167E 0009 NOP
+ 00001680 L799:
+ 00001680 8807 CMP/EQ #7,R0
+ 00001682 8B01 BF L800
+ 00001684 A106 BRA L500
+ 00001686 0009 NOP
+ 00001688 L800:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 66
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001688 A124 BRA L724
+ 0000168A 0009 NOP
+ 0000168C L494: ; case label
+ 0000168C D418 MOV.L L795+32,R4 ; _blockO
+ draw.c 563 {
+ draw.c 564 case 1 :
+ draw.c 565 for(xcount = 0; xcount < 4; xcount ++)
+ 0000168E 6B93 MOV R9,R11
+ 00001690 2F42 MOV.L R4,@R15
+ 00001692 6943 MOV R4,R9
+ 00001694 7930 ADD #48,R9
+ 00001696 L725:
+ 00001696 6AD3 MOV R13,R10
+ 00001698 6CF2 MOV.L @R15,R12
+ 0000169A 63B3 MOV R11,R3
+ 0000169C 4308 SHLL2 R3
+ 0000169E 62B3 MOV R11,R2
+ 000016A0 1F31 MOV.L R3,@(4,R15)
+ draw.c 566 {
+ draw.c 567 for(ycount = 0; ycount < 3; ycount ++)
+ 000016A2 3C92 CMP/HS R9,R12
+ 000016A4 7204 ADD #4,R2
+ 000016A6 8D0E BT/S L726
+ 000016A8 1F22 MOV.L R2,@(8,R15)
+ 000016AA L727:
+ draw.c 568 {
+ draw.c 569 if(blockO[0][ycount][xcount] == 1)
+ 000016AA 50F1 MOV.L @(4,R15),R0
+ 000016AC 00CE MOV.L @(R0,R12),R0
+ 000016AE 8801 CMP/EQ #1,R0
+ 000016B0 8B05 BF L728
+ draw.c 570 {
+ draw.c 571 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 0);
+ 000016B2 E700 MOV #0,R7
+ 000016B4 56F2 MOV.L @(8,R15),R6
+ 000016B6 65A3 MOV R10,R5
+ 000016B8 D306 MOV.L L795+4,R3 ; _normalfillbox
+ 000016BA 430B JSR @R3
+ 000016BC 64E2 MOV.L @R14,R4
+ 000016BE L728:
+ 000016BE 7C10 ADD #16,R12
+ 000016C0 3C92 CMP/HS R9,R12
+ 000016C2 8FF2 BF/S L727
+ 000016C4 7A01 ADD #1,R10
+ 000016C6 L726:
+ 000016C6 7B01 ADD #1,R11
+ 000016C8 3B83 CMP/GE R8,R11
+ 000016CA 8BE4 BF L725
+ draw.c 572 }
+ draw.c 573 }
+ draw.c 574 }
+ draw.c 575 break;
+ 000016CC A102 BRA L724
+ 000016CE 0009 NOP
+ 000016D0 L795:
+ 000016D0 <00000000> .DATA.L _blockJ
+ 000016D4 <00000000> .DATA.L _normalfillbox
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 67
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000016D8 <00000000> .DATA.L _blockL
+ 000016DC <00000000> .DATA.L _blockZ
+ 000016E0 <00000000> .DATA.L _blockS
+ 000016E4 <00000000> .DATA.L L446
+ 000016E8 <00000000> .DATA.L _drawString
+ 000016EC <00000000> .DATA.L _hold
+ 000016F0 <00000000> .DATA.L _blockO
+ 000016F4 L495: ; case label
+ 000016F4 D47C MOV.L L801,R4 ; _blockI
+ draw.c 576
+ draw.c 577 case 2 :
+ draw.c 578 for(xcount = 0; xcount < 4; xcount ++)
+ 000016F6 6A93 MOV R9,R10
+ 000016F8 6343 MOV R4,R3
+ 000016FA 7340 ADD #64,R3
+ 000016FC 1F31 MOV.L R3,@(4,R15)
+ 000016FE 1F42 MOV.L R4,@(8,R15)
+ 00001700 L729:
+ 00001700 5CF2 MOV.L @(8,R15),R12
+ 00001702 69A3 MOV R10,R9
+ 00001704 6BD3 MOV R13,R11
+ 00001706 63A3 MOV R10,R3
+ 00001708 7304 ADD #4,R3
+ 0000170A 2F32 MOV.L R3,@R15
+ draw.c 579 {
+ draw.c 580 for(ycount = 0; ycount < 4; ycount ++)
+ 0000170C 52F1 MOV.L @(4,R15),R2
+ 0000170E 3C22 CMP/HS R2,R12
+ 00001710 8D33 BT/S L730
+ 00001712 4908 SHLL2 R9
+ 00001714 L731:
+ draw.c 581 {
+ draw.c 582 if(blockI[0][ycount][xcount] == 1)
+ 00001714 6093 MOV R9,R0
+ 00001716 00CE MOV.L @(R0,R12),R0
+ 00001718 8801 CMP/EQ #1,R0
+ 0000171A 8B05 BF L732
+ draw.c 583 {
+ draw.c 584 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 1);
+ 0000171C 66F2 MOV.L @R15,R6
+ 0000171E 65B3 MOV R11,R5
+ 00001720 D372 MOV.L L801+4,R3 ; _normalfillbox
+ 00001722 E701 MOV #1,R7
+ 00001724 430B JSR @R3
+ 00001726 64E2 MOV.L @R14,R4
+ 00001728 L732:
+ 00001728 7C10 ADD #16,R12
+ 0000172A 6093 MOV R9,R0
+ 0000172C 00CE MOV.L @(R0,R12),R0
+ 0000172E 8801 CMP/EQ #1,R0
+ 00001730 8F06 BF/S L733
+ 00001732 7B01 ADD #1,R11
+ 00001734 66F2 MOV.L @R15,R6
+ 00001736 65B3 MOV R11,R5
+ 00001738 D36C MOV.L L801+4,R3 ; _normalfillbox
+ 0000173A E701 MOV #1,R7
+ 0000173C 430B JSR @R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 68
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000173E 64E2 MOV.L @R14,R4
+ 00001740 L733:
+ 00001740 7C10 ADD #16,R12
+ 00001742 6093 MOV R9,R0
+ 00001744 00CE MOV.L @(R0,R12),R0
+ 00001746 8801 CMP/EQ #1,R0
+ 00001748 8F06 BF/S L734
+ 0000174A 7B01 ADD #1,R11
+ 0000174C 66F2 MOV.L @R15,R6
+ 0000174E 65B3 MOV R11,R5
+ 00001750 D366 MOV.L L801+4,R3 ; _normalfillbox
+ 00001752 E701 MOV #1,R7
+ 00001754 430B JSR @R3
+ 00001756 64E2 MOV.L @R14,R4
+ 00001758 L734:
+ 00001758 7C10 ADD #16,R12
+ 0000175A 6093 MOV R9,R0
+ 0000175C 00CE MOV.L @(R0,R12),R0
+ 0000175E 8801 CMP/EQ #1,R0
+ 00001760 8F06 BF/S L735
+ 00001762 7B01 ADD #1,R11
+ 00001764 66F2 MOV.L @R15,R6
+ 00001766 65B3 MOV R11,R5
+ 00001768 D360 MOV.L L801+4,R3 ; _normalfillbox
+ 0000176A E701 MOV #1,R7
+ 0000176C 430B JSR @R3
+ 0000176E 64E2 MOV.L @R14,R4
+ 00001770 L735:
+ 00001770 52F1 MOV.L @(4,R15),R2
+ 00001772 7C10 ADD #16,R12
+ 00001774 3C22 CMP/HS R2,R12
+ 00001776 8FCD BF/S L731
+ 00001778 7B01 ADD #1,R11
+ 0000177A L730:
+ 0000177A 7A01 ADD #1,R10
+ 0000177C 3A83 CMP/GE R8,R10
+ 0000177E 8BBF BF L729
+ draw.c 585 }
+ draw.c 586 }
+ draw.c 587 }
+ draw.c 588 break;
+ 00001780 A0A8 BRA L724
+ 00001782 0009 NOP
+ 00001784 L496: ; case label
+ 00001784 D45A MOV.L L801+8,R4 ; _blockT
+ draw.c 589
+ draw.c 590 case 3 :
+ draw.c 591 for(xcount = 0; xcount < 3; xcount ++)
+ 00001786 6A93 MOV R9,R10
+ 00001788 2F42 MOV.L R4,@R15
+ 0000178A 6843 MOV R4,R8
+ 0000178C 7824 ADD #36,R8
+ 0000178E L736:
+ 0000178E 69D3 MOV R13,R9
+ 00001790 6BF2 MOV.L @R15,R11
+ 00001792 63A3 MOV R10,R3
+ 00001794 4308 SHLL2 R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 69
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00001796 62A3 MOV R10,R2
+ 00001798 1F32 MOV.L R3,@(8,R15)
+ draw.c 592 {
+ draw.c 593 for(ycount = 0; ycount < 3; ycount ++)
+ 0000179A 3B82 CMP/HS R8,R11
+ 0000179C 7204 ADD #4,R2
+ 0000179E 8D0E BT/S L737
+ 000017A0 1F21 MOV.L R2,@(4,R15)
+ 000017A2 L738:
+ draw.c 594 {
+ draw.c 595 if(blockT[0][ycount][xcount] == 1)
+ 000017A2 50F2 MOV.L @(8,R15),R0
+ 000017A4 00BE MOV.L @(R0,R11),R0
+ 000017A6 8801 CMP/EQ #1,R0
+ 000017A8 8B05 BF L739
+ draw.c 596 {
+ draw.c 597 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 2);
+ 000017AA E702 MOV #2,R7
+ 000017AC 56F1 MOV.L @(4,R15),R6
+ 000017AE 6593 MOV R9,R5
+ 000017B0 D34E MOV.L L801+4,R3 ; _normalfillbox
+ 000017B2 430B JSR @R3
+ 000017B4 64E2 MOV.L @R14,R4
+ 000017B6 L739:
+ 000017B6 7B0C ADD #12,R11
+ 000017B8 3B82 CMP/HS R8,R11
+ 000017BA 8FF2 BF/S L738
+ 000017BC 7901 ADD #1,R9
+ 000017BE L737:
+ 000017BE 7A01 ADD #1,R10
+ 000017C0 3AC3 CMP/GE R12,R10
+ 000017C2 8BE4 BF L736
+ draw.c 598 }
+ draw.c 599 }
+ draw.c 600 }
+ draw.c 601 break;
+ 000017C4 A086 BRA L724
+ 000017C6 0009 NOP
+ 000017C8 L497: ; case label
+ 000017C8 D44A MOV.L L801+12,R4 ; _blockJ
+ draw.c 602
+ draw.c 603 case 4 :
+ draw.c 604 for(xcount = 0; xcount < 3; xcount ++)
+ 000017CA 6A93 MOV R9,R10
+ 000017CC 1F42 MOV.L R4,@(8,R15)
+ 000017CE 6843 MOV R4,R8
+ 000017D0 7824 ADD #36,R8
+ 000017D2 L740:
+ 000017D2 69D3 MOV R13,R9
+ 000017D4 5BF2 MOV.L @(8,R15),R11
+ 000017D6 63A3 MOV R10,R3
+ 000017D8 4308 SHLL2 R3
+ 000017DA 62A3 MOV R10,R2
+ 000017DC 1F31 MOV.L R3,@(4,R15)
+ draw.c 605 {
+ draw.c 606 for(ycount = 0; ycount < 3; ycount ++)
+ 000017DE 3B82 CMP/HS R8,R11
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 70
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000017E0 7204 ADD #4,R2
+ 000017E2 8D0E BT/S L741
+ 000017E4 2F22 MOV.L R2,@R15
+ 000017E6 L742:
+ draw.c 607 {
+ draw.c 608 if(blockJ[0][ycount][xcount] == 1)
+ 000017E6 50F1 MOV.L @(4,R15),R0
+ 000017E8 00BE MOV.L @(R0,R11),R0
+ 000017EA 8801 CMP/EQ #1,R0
+ 000017EC 8B05 BF L743
+ draw.c 609 {
+ draw.c 610 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 3);
+ 000017EE E703 MOV #3,R7
+ 000017F0 66F2 MOV.L @R15,R6
+ 000017F2 6593 MOV R9,R5
+ 000017F4 D33D MOV.L L801+4,R3 ; _normalfillbox
+ 000017F6 430B JSR @R3
+ 000017F8 64E2 MOV.L @R14,R4
+ 000017FA L743:
+ 000017FA 7B0C ADD #12,R11
+ 000017FC 3B82 CMP/HS R8,R11
+ 000017FE 8FF2 BF/S L742
+ 00001800 7901 ADD #1,R9
+ 00001802 L741:
+ 00001802 7A01 ADD #1,R10
+ 00001804 3AC3 CMP/GE R12,R10
+ 00001806 8BE4 BF L740
+ draw.c 611 }
+ draw.c 612 }
+ draw.c 613 }
+ draw.c 614 break;
+ 00001808 A064 BRA L724
+ 0000180A 0009 NOP
+ 0000180C L498: ; case label
+ 0000180C D43A MOV.L L801+16,R4 ; _blockL
+ draw.c 615
+ draw.c 616 case 5 :
+ draw.c 617 for(xcount = 0; xcount < 3; xcount ++)
+ 0000180E 6A93 MOV R9,R10
+ 00001810 1F42 MOV.L R4,@(8,R15)
+ 00001812 6843 MOV R4,R8
+ 00001814 7824 ADD #36,R8
+ 00001816 L744:
+ 00001816 69D3 MOV R13,R9
+ 00001818 5BF2 MOV.L @(8,R15),R11
+ 0000181A 63A3 MOV R10,R3
+ 0000181C 4308 SHLL2 R3
+ 0000181E 62A3 MOV R10,R2
+ 00001820 1F31 MOV.L R3,@(4,R15)
+ draw.c 618 {
+ draw.c 619 for(ycount = 0; ycount < 3; ycount ++)
+ 00001822 3B82 CMP/HS R8,R11
+ 00001824 7204 ADD #4,R2
+ 00001826 8D0E BT/S L745
+ 00001828 2F22 MOV.L R2,@R15
+ 0000182A L746:
+ draw.c 620 {
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 71
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 621 if(blockL[0][ycount][xcount] == 1)
+ 0000182A 50F1 MOV.L @(4,R15),R0
+ 0000182C 00BE MOV.L @(R0,R11),R0
+ 0000182E 8801 CMP/EQ #1,R0
+ 00001830 8B05 BF L747
+ draw.c 622 {
+ draw.c 623 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 4);
+ 00001832 E704 MOV #4,R7
+ 00001834 66F2 MOV.L @R15,R6
+ 00001836 6593 MOV R9,R5
+ 00001838 D32C MOV.L L801+4,R3 ; _normalfillbox
+ 0000183A 430B JSR @R3
+ 0000183C 64E2 MOV.L @R14,R4
+ 0000183E L747:
+ 0000183E 7B0C ADD #12,R11
+ 00001840 3B82 CMP/HS R8,R11
+ 00001842 8FF2 BF/S L746
+ 00001844 7901 ADD #1,R9
+ 00001846 L745:
+ 00001846 7A01 ADD #1,R10
+ 00001848 3AC3 CMP/GE R12,R10
+ 0000184A 8BE4 BF L744
+ draw.c 624 }
+ draw.c 625 }
+ draw.c 626 }
+ draw.c 627 break;
+ 0000184C A042 BRA L724
+ 0000184E 0009 NOP
+ 00001850 L499: ; case label
+ 00001850 D42A MOV.L L801+20,R4 ; _blockZ
+ draw.c 628
+ draw.c 629 case 6 :
+ draw.c 630 for(xcount = 0; xcount < 3; xcount ++)
+ 00001852 6A93 MOV R9,R10
+ 00001854 1F42 MOV.L R4,@(8,R15)
+ 00001856 6843 MOV R4,R8
+ 00001858 7824 ADD #36,R8
+ 0000185A L748:
+ 0000185A 69D3 MOV R13,R9
+ 0000185C 5BF2 MOV.L @(8,R15),R11
+ 0000185E 63A3 MOV R10,R3
+ 00001860 4308 SHLL2 R3
+ 00001862 62A3 MOV R10,R2
+ 00001864 2F32 MOV.L R3,@R15
+ draw.c 631 {
+ draw.c 632 for(ycount = 0; ycount < 3; ycount ++)
+ 00001866 3B82 CMP/HS R8,R11
+ 00001868 7204 ADD #4,R2
+ 0000186A 8D0E BT/S L749
+ 0000186C 1F21 MOV.L R2,@(4,R15)
+ 0000186E L750:
+ draw.c 633 {
+ draw.c 634 if(blockZ[0][ycount][xcount] == 1)
+ 0000186E 60F2 MOV.L @R15,R0
+ 00001870 00BE MOV.L @(R0,R11),R0
+ 00001872 8801 CMP/EQ #1,R0
+ 00001874 8B05 BF L751
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 72
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ draw.c 635 {
+ draw.c 636 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 5);
+ 00001876 E705 MOV #5,R7
+ 00001878 56F1 MOV.L @(4,R15),R6
+ 0000187A 6593 MOV R9,R5
+ 0000187C D31B MOV.L L801+4,R3 ; _normalfillbox
+ 0000187E 430B JSR @R3
+ 00001880 64E2 MOV.L @R14,R4
+ 00001882 L751:
+ 00001882 7B0C ADD #12,R11
+ 00001884 3B82 CMP/HS R8,R11
+ 00001886 8FF2 BF/S L750
+ 00001888 7901 ADD #1,R9
+ 0000188A L749:
+ 0000188A 7A01 ADD #1,R10
+ 0000188C 3AC3 CMP/GE R12,R10
+ 0000188E 8BE4 BF L748
+ draw.c 637 }
+ draw.c 638 }
+ draw.c 639 }
+ draw.c 640 break;
+ 00001890 A020 BRA L724
+ 00001892 0009 NOP
+ 00001894 L500: ; case label
+ 00001894 D41A MOV.L L801+24,R4 ; _blockS
+ draw.c 641
+ draw.c 642 case 7 :
+ draw.c 643 for(xcount = 0; xcount < 3; xcount ++)
+ 00001896 6A93 MOV R9,R10
+ 00001898 2F42 MOV.L R4,@R15
+ 0000189A 6843 MOV R4,R8
+ 0000189C 7824 ADD #36,R8
+ 0000189E L752:
+ 0000189E 69D3 MOV R13,R9
+ 000018A0 6BF2 MOV.L @R15,R11
+ 000018A2 63A3 MOV R10,R3
+ 000018A4 4308 SHLL2 R3
+ 000018A6 62A3 MOV R10,R2
+ 000018A8 1F31 MOV.L R3,@(4,R15)
+ draw.c 644 {
+ draw.c 645 for(ycount = 0; ycount < 3; ycount ++)
+ 000018AA 3B82 CMP/HS R8,R11
+ 000018AC 7204 ADD #4,R2
+ 000018AE 8D0E BT/S L753
+ 000018B0 1F22 MOV.L R2,@(8,R15)
+ 000018B2 L754:
+ draw.c 646 {
+ draw.c 647 if(blockS[0][ycount][xcount] == 1)
+ 000018B2 50F1 MOV.L @(4,R15),R0
+ 000018B4 00BE MOV.L @(R0,R11),R0
+ 000018B6 8801 CMP/EQ #1,R0
+ 000018B8 8B05 BF L755
+ draw.c 648 {
+ draw.c 649 normalfillbox(pScreen, 22 + ycount , 4 + xcount, 6);
+ 000018BA E706 MOV #6,R7
+ 000018BC 56F2 MOV.L @(8,R15),R6
+ 000018BE 6593 MOV R9,R5
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 73
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000018C0 D30A MOV.L L801+4,R3 ; _normalfillbox
+ 000018C2 430B JSR @R3
+ 000018C4 64E2 MOV.L @R14,R4
+ 000018C6 L755:
+ 000018C6 7B0C ADD #12,R11
+ 000018C8 3B82 CMP/HS R8,R11
+ 000018CA 8FF2 BF/S L754
+ 000018CC 7901 ADD #1,R9
+ 000018CE L753:
+ 000018CE 7A01 ADD #1,R10
+ 000018D0 3AC3 CMP/GE R12,R10
+ 000018D2 8BE4 BF L752
+ 000018D4 L724:
+ draw.c 650 }
+ draw.c 651 }
+ draw.c 652 }
+ draw.c 653 break;
+ draw.c 654 }
+ draw.c 655 }
+ 000018D4 7F10 ADD #16,R15
+ 000018D6 4F26 LDS.L @R15+,PR
+ 000018D8 68F6 MOV.L @R15+,R8
+ 000018DA 69F6 MOV.L @R15+,R9
+ 000018DC 6AF6 MOV.L @R15+,R10
+ 000018DE 6BF6 MOV.L @R15+,R11
+ 000018E0 6CF6 MOV.L @R15+,R12
+ 000018E2 6DF6 MOV.L @R15+,R13
+ 000018E4 000B RTS
+ 000018E6 6EF6 MOV.L @R15+,R14
+ 000018E8 L801:
+ 000018E8 <00000000> .DATA.L _blockI
+ 000018EC <00000000> .DATA.L _normalfillbox
+ 000018F0 <00000000> .DATA.L _blockT
+ 000018F4 <00000000> .DATA.L _blockJ
+ 000018F8 <00000000> .DATA.L _blockL
+ 000018FC <00000000> .DATA.L _blockZ
+ 00001900 <00000000> .DATA.L _blockS
+D 00000000 _numbers: ; static: numbers
+ 00000000 0000000100 .DATA.L H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000010000 + H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0001000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,
+ 0100000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000100 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000010000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0100000001 + H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000010000 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0001000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0100000001 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0000000000 + H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,
+ 0000010000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,
+ 0000000000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,
+ 0000000001 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,
+ 0000000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0001000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 74
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000000100 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000001,H'00000001
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 75
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 00000258 _character: ; static: character
+ 00000258 0000000000 .DATA.L H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000010000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0100000000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000000100 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000010000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0001000000 + H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0100000001 + H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0000010000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,
+ 0001000000 + H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,
+ 0000000001 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 76
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000100 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,
+ 0000010000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0100000000 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000000100 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000010000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,
+ 0001000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0000000001 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000010000 + H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0001000000 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0100000000 + H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000010000 + H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0001000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0100000000 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000000000 + H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,
+ 0000010000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000000,H'00000001
+ 0000000001
+ 0000000000
+ 0000000000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 77
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 78
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000000
+ 000001
+ 000005A8 0000000000 .DATA.L H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000010000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0100000001 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000010000 + H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0001000000 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0000000001 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0100000001 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 79
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000010000 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000000000 + H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0100000001 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000000100 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0001000000 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000100 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,
+ 0000000000 + H'00000001,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000001 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000010000 + H'00000001,H'00000001,H'00000001
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 80
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0000000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 81
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0001
+ 00000870 _blockO: ; static: blockO
+ 00000870 0000000000 .DATA.L H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,
+ 0000010000 + H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,
+ 0001000000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000000100 + H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0000000001
+ 0000000100
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000
+ 00000930 _blockJ: ; static: blockJ
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 82
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000930 0000000100 .DATA.L H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000000000 + H'00000000,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0100000001 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,
+ 0000000100 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0000000000 + H'00000000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 00000000
+ 000009C0 _blockT: ; static: blockT
+ 000009C0 0000000000 .DATA.L H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0100000001 + H'00000001,H'00000001,H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000100 + H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000100
+ 0000010000
+ 0000000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 83
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000001
+ 00000000
+ 00000A50 _blockL: ; static: blockL
+ 00000A50 0000000000 .DATA.L H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,
+ 0000000000 + H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0001000000 + H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,H'00000000,
+ 0100000001 + H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000100 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0000000000 + H'00000000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000001
+ 00000000
+ 00000AE0 _blockI: ; static: blockI
+ 00000AE0 0000000000 .DATA.L H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,H'00000001,H'00000001,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000000000 + H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000001 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,
+ 0000000100 + H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,H'00000001,
+ 0001000000 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,
+ 0000000000 + H'00000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 84
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000000100
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0001000000
+ 0100000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000001
+ 0000000000
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000000000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 00
+ 00000BE0 _blockZ: ; static: blockZ
+ 00000BE0 0000000100 .DATA.L H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000001,H'00000000,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000000001 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,
+ 0000000100 + H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,H'00000000,H'00000001,
+ 0000000000 + H'00000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000010000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000100
+ 0000010000
+ 0000000000
+ 0000000001
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000001
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 85
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000000
+ 00000C70 _blockS: ; static: blockS
+ 00000C70 0000000000 .DATA.L H'00000000,H'00000001,H'00000001,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000010000 + H'00000000,H'00000000,H'00000000,H'00000001,H'00000000,H'00000000,H'00000001,
+ 0001000000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000000,H'00000001,H'00000001,
+ 0100000001 + H'00000001,H'00000001,H'00000000,H'00000000,H'00000000,H'00000000,H'00000000,
+ 0000000000 + H'00000001,H'00000000,H'00000000,H'00000001,H'00000001,H'00000000,H'00000000,
+ 0000000000 + H'00000001
+ 0000000000
+ 0000000000
+ 0000000100
+ 0000000000
+ 0000000000
+ 0100000001
+ 0000000000
+ 0000000000
+ 0001000000
+ 0000000001
+ 0000000100
+ 0000010000
+ 0001000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0100000000
+ 0000000000
+ 0000010000
+ 0001000000
+ 0000000000
+ 00000001
+ 00000D00 _spritesheed: ; static: spritesheed
+ 00000D00 0000000300 .DATA.L H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000000,
+ 0000030000 + H'00000000,H'00000000,H'00000003,H'00000003,H'00000000,H'00000003,H'00000000,
+ 0003000000 + H'00000003,H'00000003,H'00000000,H'00000000,H'00000000,H'00000003,H'00000003,
+ 0300000003 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000300 + H'00000003,H'00000003,H'00000003,H'00000001,H'00000001,H'00000001,H'00000003,
+ 0000000000 + H'00000003,H'00000001,H'00000000,H'00000001,H'00000003,H'00000003,H'00000001,
+ 0000000000 + H'00000001,H'00000001,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000003 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000300 + H'00000001,H'00000001,H'00000001,H'00000003,H'00000003,H'00000001,H'00000000,
+ 0000000000 + H'00000002,H'00000003,H'00000003,H'00000002,H'00000002,H'00000002,H'00000003,
+ 0003000000 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000003 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000002,H'00000002,H'00000002,
+ 0000000300 + H'00000003,H'00000003,H'00000002,H'00000002,H'00000002,H'00000003,H'00000003,
+ 0000000000 + H'00000002,H'00000002,H'00000002,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000000 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0000000003 + H'00000003,H'00000001,H'00000002,H'00000002,H'00000003,H'00000003,H'00000002,
+ 0000000300 + H'00000002,H'00000001,H'00000003,H'00000003,H'00000002,H'00000001,H'00000002,
+ 0000030000 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0003000000 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000001,H'00000001,
+ 0300000003 + H'00000001,H'00000003,H'00000003,H'00000001,H'00000003,H'00000001,H'00000003,
+ 0000000300 + H'00000003,H'00000001,H'00000001,H'00000001,H'00000003,H'00000003,H'00000003,
+ 0000030000 + H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,
+ 0003000000 + H'00000003,H'00000003,H'00000002,H'00000002,H'00000002,H'00000003,H'00000003,
+ 0300000003 + H'00000002,H'00000000,H'00000002,H'00000003,H'00000003,H'00000002,H'00000002,
+ 0000000300 + H'00000002,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003,H'00000003
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 86
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000010000
+ 0001000000
+ 0100000003
+ 0000000300
+ 0000010000
+ 0000000000
+ 0100000003
+ 0000000300
+ 0000010000
+ 0001000000
+ 0100000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000010000
+ 0001000000
+ 0100000003
+ 0000000300
+ 0000010000
+ 0000000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000030000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 87
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000010000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0100000003
+ 0000000300
+ 0000020000
+ 0001000000
+ 0200000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000010000
+ 0001000000
+ 0100000003
+ 0000000300
+ 0000010000
+ 0003000000
+ 0100000003
+ 0000000300
+ 0000010000
+ 0001000000
+ 0100000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000030000
+ 0003000000
+ 0300000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0000000000
+ 0200000003
+ 0000000300
+ 0000020000
+ 0002000000
+ 0200000003
+ 0000000300
+ 0000030000
+ 0003000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 88
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0300000003
+C 00000000 L411:
+ 00000000 4C56 .SDATA "LV"
+ 00000002 00 .DATA.B H'00
+ 00000003 00000001 .RES.B 1
+ 00000004 L412:
+ 00000004 505453 .SDATA "PTS"
+ 00000007 00 .DATA.B H'00
+ 00000008 L413:
+ 00000008 4C494E45 .SDATA "LINE"
+ 0000000C 00 .DATA.B H'00
+ 0000000D 00000001 .RES.B 1
+ 0000000E 00000002 .RES.W 1
+ 00000010 L423:
+ 00000010 4E455854 .SDATA "NEXT"
+ 00000014 00 .DATA.B H'00
+ 00000015 00000001 .RES.B 1
+ 00000016 00000002 .RES.W 1
+ 00000018 L446:
+ 00000018 484F4C44 .SDATA "HOLD"
+ 0000001C 00 .DATA.B H'00
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 5
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 655
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 00001904 Byte(s)
+CONSTANT SECTION (C): 0000001D Byte(s)
+DATA SECTION (D): 00000FBC Byte(s)
+BSS SECTION (B): 00000000 Byte(s)
+
+ TOTAL PROGRAM SIZE: 000028DD Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 21
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 20
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 335
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk48E4.tmp
+
diff --git a/Debug/draw.obj b/Debug/draw.obj Binary files differnew file mode 100644 index 0000000..ff9caee --- /dev/null +++ b/Debug/draw.obj diff --git a/Debug/global.lst b/Debug/global.lst new file mode 100644 index 0000000..f658553 --- /dev/null +++ b/Debug/global.lst @@ -0,0 +1,203 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:13 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Matris\global.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ global.c 1 #include "global.h"
+ global.c 2
+ global.c 3 char* pScreen;
+ global.c 4 //pointer to the 3 graybuffers
+ global.c 5
+ global.c 6 char right = True;
+ global.c 7 char left = True;
+ global.c 8 //can move?
+ global.c 9
+ global.c 10 char changemap[21][10] = {0};
+ global.c 11 char globalmap [20][10] = {0};
+ global.c 12 //the two brickmaps: globalmap is the visible one
+ global.c 13
+ global.c 14 char block;
+ global.c 15 //block type
+ global.c 16 int xpos = 7, ypos = 3;
+ global.c 17 char dir;
+ global.c 18 //position and direction of brick
+ global.c 19
+ global.c 20 char level;
+ global.c 21 //current level
+ global.c 22
+ global.c 23 unsigned int points = 0;
+ global.c 24 //points
+ global.c 25
+ global.c 26 char nextdir = Down;
+ global.c 27 //the direction for the next round
+ global.c 28
+ global.c 29 char nextblock = 1;
+ global.c 30 //the next block
+ global.c 31
+ global.c 32 char hold = 0;
+ global.c 33 //the stored brick
+D 00000000 _right: ; static: right
+ 00000000 01 .DATA.B H'01
+ 00000001 _left: ; static: left
+ 00000001 01 .DATA.B H'01
+ 00000002 _changemap: ; static: changemap
+ 00000002 00 .DATA.B H'00
+ 00000003 000000D101 .DATAB.B 209,0
+ 00
+ 000000D4 _globalmap: ; static: globalmap
+ 000000D4 00 .DATA.B H'00
+ 000000D5 000000C701 .DATAB.B 199,0
+ 00
+ 0000019C _xpos: ; static: xpos
+ 0000019C 00000007 .DATA.L H'00000007
+ 000001A0 _ypos: ; static: ypos
+ 000001A0 00000003 .DATA.L H'00000003
+ 000001A4 _points: ; static: points
+ 000001A4 00000000 .DATA.L H'00000000
+ 000001A8 _nextdir: ; static: nextdir
+ 000001A8 00 .DATA.B H'00
+ 000001A9 _nextblock: ; static: nextblock
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:13 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000001A9 01 .DATA.B H'01
+ 000001AA _hold: ; static: hold
+ 000001AA 00 .DATA.B H'00
+B 00000000 _pScreen: ; static: pScreen
+ 00000000 00000004 .RES.L 1
+ 00000004 _block: ; static: block
+ 00000004 00000001 .RES.B 1
+ 00000005 _dir: ; static: dir
+ 00000005 00000001 .RES.B 1
+ 00000006 _level: ; static: level
+ 00000006 00000001 .RES.B 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:13 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 0
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 33
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 00000000 Byte(s)
+CONSTANT SECTION (C): 00000000 Byte(s)
+DATA SECTION (D): 000001AB Byte(s)
+BSS SECTION (B): 00000007 Byte(s)
+
+ TOTAL PROGRAM SIZE: 000001B2 Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 0
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 14
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk4B55.tmp
+
diff --git a/Debug/global.obj b/Debug/global.obj Binary files differnew file mode 100644 index 0000000..c2dae63 --- /dev/null +++ b/Debug/global.obj diff --git a/Debug/key.lst b/Debug/key.lst new file mode 100644 index 0000000..5eab91c --- /dev/null +++ b/Debug/key.lst @@ -0,0 +1,335 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Matris\key.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ key.c 1 int OSVersionAsInt(void)
+P 00000000 _OSVersionAsInt: ; function: OSVersionAsInt
+ ; frame size=20
+ 00000000 4F22 STS.L PR,@-R15
+ 00000002 7FF0 ADD #-16,R15
+ key.c 2 {
+ key.c 3 unsigned char mainversion;
+ key.c 4 unsigned char minorversion;
+ key.c 5 unsigned short release;
+ key.c 6 unsigned short build;
+ key.c 7 GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
+ 00000004 D333 MOV.L L259,R3 ; _GlibGetOSVersionInfo
+ 00000006 67F3 MOV R15,R7
+ 00000008 770C ADD #12,R7
+ 0000000A 66F3 MOV R15,R6
+ 0000000C 7608 ADD #8,R6
+ 0000000E 65F3 MOV R15,R5
+ 00000010 7504 ADD #4,R5
+ 00000012 430B JSR @R3
+ 00000014 64F3 MOV R15,R4
+ key.c 8 return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( releas
+ +e & 0x0000FFFF );
+ 00000016 60F0 MOV.B @R15,R0
+ 00000018 D32F MOV.L L259+4,R3 ; H'FF000000
+ 0000001A 600C EXTU.B R0,R0
+ 0000001C D22F MOV.L L259+8,R2 ; H'00FF0000
+ 0000001E 4028 SHLL16 R0
+ 00000020 4018 SHLL8 R0
+ 00000022 2039 AND R3,R0
+ 00000024 6103 MOV R0,R1
+ 00000026 84F4 MOV.B @(4,R15),R0
+ 00000028 600C EXTU.B R0,R0
+ 0000002A 4028 SHLL16 R0
+ 0000002C 2029 AND R2,R0
+ 0000002E 201B OR R1,R0
+ 00000030 6103 MOV R0,R1
+ 00000032 85F4 MOV.W @(8,R15),R0
+ 00000034 600D EXTU.W R0,R0
+ key.c 9 }
+ 00000036 7F10 ADD #16,R15
+ 00000038 4F26 LDS.L @R15+,PR
+ 0000003A 000B RTS
+ 0000003C 201B OR R1,R0
+ key.c 10
+ key.c 11 #define isOS2 (OSVersionAsInt() >= 0x02020000)
+ key.c 12
+ key.c 13 const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;
+ key.c 14
+ key.c 15 unsigned short key[8];
+ key.c 16
+ key.c 17 int KeyDown(int keycode)
+ 0000003E _KeyDown: ; function: KeyDown
+ ; frame size=32
+ ; used runtime library name:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ ; __divls, __modls
+ 0000003E 2FE6 MOV.L R14,@-R15
+ 00000040 2FD6 MOV.L R13,@-R15
+ 00000042 4F22 STS.L PR,@-R15
+ 00000044 7FEC ADD #-20,R15
+ key.c 18 {
+ key.c 19 if(isOS2)
+ 00000046 BFDB BSR _OSVersionAsInt
+ 00000048 6E43 MOV R4,R14
+ 0000004A D225 MOV.L L259+12,R2 ; H'02020000
+ 0000004C 3023 CMP/GE R2,R0
+ 0000004E 8B27 BF L255
+ key.c 20 {
+ key.c 21 int row, col, word, bit;
+ key.c 22
+ key.c 23 row = keycode%10;
+ 00000050 D324 MOV.L L259+16,R3 ; __modls
+ 00000052 E50A MOV #10,R5
+ 00000054 61E3 MOV R14,R1
+ 00000056 430B JSR @R3
+ 00000058 6053 MOV R5,R0
+ 0000005A 6403 MOV R0,R4
+ key.c 24 col = keycode/10-1;
+ 0000005C D322 MOV.L L259+20,R3 ; __divls
+ 0000005E 61E3 MOV R14,R1
+ 00000060 430B JSR @R3
+ 00000062 6053 MOV R5,R0
+ key.c 25 word = row>>1;
+ key.c 26 bit = col + 8*(row&1);
+ key.c 27
+ key.c 28 memcpy(&key, keyboardregister, 8 * sizeof(unsigned short));
+ 00000064 D221 MOV.L L259+24,R2 ; _keyboardregister
+ 00000066 6503 MOV R0,R5
+ 00000068 75FF ADD #-1,R5
+ 0000006A 6143 MOV R4,R1
+ 0000006C 4121 SHAR R1
+ 0000006E E301 MOV #1,R3
+ 00000070 1F11 MOV.L R1,@(4,R15)
+ 00000072 E610 MOV #16,R6
+ 00000074 D11F MOV.L L259+32,R1 ; _memcpy
+ 00000076 2439 AND R3,R4
+ 00000078 4408 SHLL2 R4
+ 0000007A 4400 SHLL R4
+ 0000007C 345C ADD R5,R4
+ 0000007E 2F42 MOV.L R4,@R15
+ 00000080 D41B MOV.L L259+28,R4 ; _key
+ 00000082 410B JSR @R1
+ 00000084 6522 MOV.L @R2,R5
+ key.c 29
+ key.c 30 return (0 != (key[word] & 1<<bit));
+ 00000086 E201 MOV #1,R2
+ 00000088 50F1 MOV.L @(4,R15),R0
+ 0000008A 4000 SHLL R0
+ 0000008C D118 MOV.L L259+28,R1 ; _key
+ 0000008E 001D MOV.W @(R0,R1),R0
+ 00000090 63F2 MOV.L @R15,R3
+ 00000092 600D EXTU.W R0,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 3
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000094 423C SHAD R3,R2
+ 00000096 2029 AND R2,R0
+ 00000098 2008 TST R0,R0
+ 0000009A 0029 MOVT R0
+ 0000009C A015 BRA L257
+ 0000009E CA01 XOR #1,R0
+ 000000A0 L255:
+ key.c 31 }
+ key.c 32 else
+ key.c 33 {
+ key.c 34 unsigned char buffer[12];
+ key.c 35 KBD_PRGM_GetKey( buffer );
+ 000000A0 D115 MOV.L L259+36,R1 ; _KBD_PRGM_GetKey
+ 000000A2 6DF3 MOV R15,R13
+ 000000A4 7D08 ADD #8,R13
+ 000000A6 410B JSR @R1
+ 000000A8 64D3 MOV R13,R4
+ key.c 36 return ( buffer[1] & 0x0F ) * 10 + ( ( buffer[2] & 0xF0 ) >> 4 ) == keycode;
+ 000000AA 84D1 MOV.B @(1,R13),R0
+ 000000AC 600C EXTU.B R0,R0
+ 000000AE C90F AND #15,R0
+ 000000B0 6303 MOV R0,R3
+ 000000B2 4008 SHLL2 R0
+ 000000B4 303C ADD R3,R0
+ 000000B6 4000 SHLL R0
+ 000000B8 6203 MOV R0,R2
+ 000000BA E3FC MOV #-4,R3
+ 000000BC 84D2 MOV.B @(2,R13),R0
+ 000000BE 600C EXTU.B R0,R0
+ 000000C0 C9F0 AND #240,R0
+ 000000C2 403C SHAD R3,R0
+ 000000C4 302C ADD R2,R0
+ 000000C6 30E0 CMP/EQ R14,R0
+ 000000C8 0029 MOVT R0
+ key.c 37 }
+ key.c 38 }
+ 000000CA L257:
+ 000000CA 7F14 ADD #20,R15
+ 000000CC 4F26 LDS.L @R15+,PR
+ 000000CE 6DF6 MOV.L @R15+,R13
+ 000000D0 000B RTS
+ 000000D2 6EF6 MOV.L @R15+,R14
+ 000000D4 L259:
+ 000000D4 <00000000> .DATA.L _GlibGetOSVersionInfo
+ 000000D8 FF000000 .DATA.L H'FF000000
+ 000000DC 00FF0000 .DATA.L H'00FF0000
+ 000000E0 02020000 .DATA.L H'02020000
+ 000000E4 <00000000> .DATA.L __modls
+ 000000E8 <00000000> .DATA.L __divls
+ 000000EC <00000000> .DATA.L _keyboardregister
+ 000000F0 <00000000> .DATA.L _key
+ 000000F4 <00000000> .DATA.L _memcpy
+ 000000F8 <00000000> .DATA.L _KBD_PRGM_GetKey
+ key.c 39
+D 00000000 _keyboardregister: ; static: keyboardregister
+ 00000000 A44B0000 .DATA.L H'A44B0000
+B 00000000 _key: ; static: key
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 4
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000000 00000010 .RES.W 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:12 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 0
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 39
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 000000FC Byte(s)
+CONSTANT SECTION (C): 00000000 Byte(s)
+DATA SECTION (D): 00000004 Byte(s)
+BSS SECTION (B): 00000010 Byte(s)
+
+ TOTAL PROGRAM SIZE: 00000110 Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 5
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 4
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk46D1.tmp
+
diff --git a/Debug/key.obj b/Debug/key.obj Binary files differnew file mode 100644 index 0000000..0a6fa3a --- /dev/null +++ b/Debug/key.obj |
