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