From ba07c2bc98fdba991b6d6444d57f0f897cf5959f Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 12 Jun 2016 20:08:57 +0200 Subject: import full project --- Debug/draw.lst | 5879 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5879 insertions(+) create mode 100644 Debug/draw.lst (limited to 'Debug/draw.lst') 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) + 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) + 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 + -- cgit v1.3.1