diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-06-12 20:08:57 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-06-12 20:08:57 +0200 |
| commit | ba07c2bc98fdba991b6d6444d57f0f897cf5959f (patch) | |
| tree | 6ff34bf1bf181a6eebcd59bbeba2ad05ffe4408b /Debug/Matris.lst | |
| parent | 847d1a917f6cb17493c66398ce4ce53b89d8c438 (diff) | |
| download | fx-matris-ba07c2bc98fdba991b6d6444d57f0f897cf5959f.tar.gz fx-matris-ba07c2bc98fdba991b6d6444d57f0f897cf5959f.zip | |
Diffstat (limited to 'Debug/Matris.lst')
| -rw-r--r-- | Debug/Matris.lst | 3305 |
1 files changed, 3305 insertions, 0 deletions
diff --git a/Debug/Matris.lst b/Debug/Matris.lst new file mode 100644 index 0000000..7883b00 --- /dev/null +++ b/Debug/Matris.lst @@ -0,0 +1,3305 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 1
+
+************ OBJECT LISTING ************
+
+FILE NAME: G:\Casio SDK\Projekte\Matris\Matris.c
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 1 /*Matris by Casimo is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
+ +License.
+ Matris.c 2 see here: http://creativecommons.org/licenses/by-nc-sa/3.0/
+ Matris.c 3 */
+ Matris.c 4 #include "stdio.h"
+ Matris.c 5 #include "key.h"
+ Matris.c 6 #include "draw.h"
+ Matris.c 7 #include "global.h"
+ Matris.c 8
+ Matris.c 9 short*APP_EnableRestart()
+P 00000000 _APP_EnableRestart: ; function: APP_EnableRestart
+ ; frame size=0
+ Matris.c 10 {
+ Matris.c 11 unsigned int ea;
+ Matris.c 12 unsigned int j;
+ Matris.c 13 short*pEnableRestartFlag;
+ Matris.c 14 ea = *(unsigned int*)0x8001007C;
+ 00000000 D541 MOV.L L685+4,R5 ; H'8001007C
+ 00000002 6452 MOV.L @R5,R4
+ Matris.c 15 ea += 0x0490*4;
+ 00000004 937E MOV.W L685,R3 ; H'1240
+ 00000006 343C ADD R3,R4
+ Matris.c 16 if ( ea < 0x8001007C ) return 0;
+ 00000008 3452 CMP/HS R5,R4
+ 0000000A 8B19 BF L673
+ Matris.c 17 if ( ea > 0x81000000 ) return 0;
+ 0000000C D73F MOV.L L685+8,R7 ; H'81000000
+ 0000000E 3476 CMP/HI R7,R4
+ 00000010 8916 BT L673
+ Matris.c 18 ea = *(unsigned int*)( ea );
+ 00000012 6442 MOV.L @R4,R4
+ Matris.c 19 if ( ea < 0x8001007C ) return 0;
+ 00000014 3452 CMP/HS R5,R4
+ 00000016 8B13 BF L673
+ Matris.c 20 if ( ea > 0x81000000 ) return 0;
+ 00000018 3476 CMP/HI R7,R4
+ 0000001A 8911 BT L673
+ Matris.c 21 j = *(unsigned char*)( ea + 1 );
+ 0000001C 8441 MOV.B @(1,R4),R0
+ Matris.c 22 j *= 4;
+ Matris.c 23 ea = ( ea + j + 4 ) & 0xFFFFFFFC;
+ 0000001E E3FC MOV #-4,R3
+ 00000020 660C EXTU.B R0,R6
+ 00000022 4608 SHLL2 R6
+ 00000024 346C ADD R6,R4
+ 00000026 7404 ADD #4,R4
+ 00000028 2439 AND R3,R4
+ Matris.c 24 if ( ea < 0x8001007C ) return 0;
+ 0000002A 3452 CMP/HS R5,R4
+ 0000002C 8B08 BF L673
+ Matris.c 25 if ( ea > 0x81000000 ) return 0;
+ 0000002E 3476 CMP/HI R7,R4
+ 00000030 8906 BT L673
+ Matris.c 26 pEnableRestartFlag = (short*)(*( unsigned int*)( ea ) + 8 );
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 2
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000032 6442 MOV.L @R4,R4
+ Matris.c 27 if ( ( (unsigned int)pEnableRestartFlag & 0xFF000000 ) != 0x88000000 ) return 0;
+ 00000034 D236 MOV.L L685+12,R2 ; H'FF000000
+ 00000036 7408 ADD #8,R4
+ 00000038 D336 MOV.L L685+16,R3 ; H'88000000
+ 0000003A 2249 AND R4,R2
+ 0000003C 3230 CMP/EQ R3,R2
+ 0000003E 8901 BT L509
+ 00000040 L673:
+ 00000040 000B RTS
+ 00000042 E000 MOV #0,R0
+ 00000044 L509:
+ Matris.c 28 if ( pEnableRestartFlag ) *pEnableRestartFlag = 1;
+ 00000044 2448 TST R4,R4
+ 00000046 8D02 BT/S L510
+ Matris.c 29 return pEnableRestartFlag;
+ 00000048 6043 MOV R4,R0
+ 0000004A E201 MOV #1,R2
+ 0000004C 2421 MOV.W R2,@R4
+ 0000004E L510:
+ Matris.c 30 }
+ 0000004E L503:
+ 0000004E 000B RTS
+ 00000050 0009 NOP
+ Matris.c 31
+ Matris.c 32 //restart addin after return 1
+ Matris.c 33
+ Matris.c 34 static unsigned int seed = 123456789;
+ Matris.c 35 unsigned int kiss()
+ 00000052 _kiss: ; function: kiss
+ ; frame size=4
+ 00000052 4F12 STS.L MACL,@-R15
+ Matris.c 36 {
+ Matris.c 37 // interner Zustand
+ Matris.c 38 static unsigned int y = 362436000;
+ Matris.c 39 static unsigned int z = 521288629;
+ Matris.c 40 static unsigned int c = 7654321;
+ Matris.c 41
+ Matris.c 42 unsigned long t;
+ Matris.c 43
+ Matris.c 44 // Linearer Kongruenzgenerator
+ Matris.c 45 seed = 69069 * seed + 12345;
+ 00000054 D630 MOV.L L685+20,R6 ; __$seed
+ 00000056 D331 MOV.L L685+24,R3 ; H'00010DCD
+ 00000058 6262 MOV.L @R6,R2
+ 0000005A 0237 MUL.L R3,R2
+ 0000005C 9153 MOV.W L685+2,R1 ; H'3039
+ 0000005E 031A STS MACL,R3
+ Matris.c 46
+ Matris.c 47 // Xorshift
+ Matris.c 48 y ^= y << 13;
+ 00000060 D42F MOV.L L685+28,R4 ; __$y$306
+ 00000062 331C ADD R1,R3
+ Matris.c 49 y ^= y >> 17;
+ Matris.c 50 y ^= y << 5;
+ Matris.c 51
+ Matris.c 52 // Multiply-with-carry
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 3
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 53 t = (unsigned long)698769069 * z + c;
+ 00000064 D72F MOV.L L685+32,R7 ; __$z$307
+ 00000066 2632 MOV.L R3,@R6
+ 00000068 6242 MOV.L @R4,R2
+ 0000006A E30D MOV #13,R3
+ 0000006C 6042 MOV.L @R4,R0
+ 0000006E 423D SHLD R3,R2
+ 00000070 202A XOR R2,R0
+ 00000072 6203 MOV R0,R2
+ 00000074 4229 SHLR16 R2
+ 00000076 4201 SHLR R2
+ 00000078 202A XOR R2,R0
+ 0000007A 6203 MOV R0,R2
+ 0000007C 4208 SHLL2 R2
+ 0000007E 4208 SHLL2 R2
+ 00000080 4200 SHLL R2
+ 00000082 202A XOR R2,R0
+ 00000084 2402 MOV.L R0,@R4
+ 00000086 D228 MOV.L L685+36,R2 ; H'29A65EAD
+ 00000088 6072 MOV.L @R7,R0
+ 0000008A 0027 MUL.L R2,R0
+ 0000008C D027 MOV.L L685+40,R0 ; __$c$308
+ 0000008E 051A STS MACL,R5
+ 00000090 6102 MOV.L @R0,R1
+ Matris.c 54 c = t >> 32;
+ 00000092 E2E0 MOV #-32,R2
+ 00000094 351C ADD R1,R5
+ 00000096 6353 MOV R5,R3
+ 00000098 432D SHLD R2,R3
+ 0000009A 6203 MOV R0,R2
+ 0000009C 2232 MOV.L R3,@R2
+ Matris.c 55 z = (unsigned int) t;
+ Matris.c 56
+ Matris.c 57 return seed + y + z;
+ 0000009E 6153 MOV R5,R1
+ 000000A0 2752 MOV.L R5,@R7
+ 000000A2 6342 MOV.L @R4,R3
+ 000000A4 6062 MOV.L @R6,R0
+ 000000A6 303C ADD R3,R0
+ 000000A8 301C ADD R1,R0
+ Matris.c 58 }
+ 000000AA 000B RTS
+ 000000AC 4F16 LDS.L @R15+,MACL
+ Matris.c 59
+ Matris.c 60 void seedkiss()
+ 000000AE _seedkiss: ; function: seedkiss
+ ; frame size=4
+ 000000AE 4F22 STS.L PR,@-R15
+ Matris.c 61 {
+ Matris.c 62 seed = RTC_GetTicks();
+ 000000B0 D31F MOV.L L685+44,R3 ; _RTC_GetTicks
+ 000000B2 430B JSR @R3
+ 000000B4 0009 NOP
+ 000000B6 D218 MOV.L L685+20,R2 ; __$seed
+ Matris.c 63 }
+ 000000B8 4F26 LDS.L @R15+,PR
+ 000000BA 000B RTS
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 4
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000BC 2202 MOV.L R0,@R2
+ Matris.c 64
+ Matris.c 65 //kiss is a random number generator
+ Matris.c 66
+ Matris.c 67 char *Disp_GetVRAMPtr(void);
+ Matris.c 68 void DrawLineVRAM(int x1, int y1, int x2, int y2);
+ Matris.c 69 void AllClr_DD(void);
+ Matris.c 70 void AllClr_VRAM(void);
+ Matris.c 71 void AllClr_DDVRAM(void);
+ Matris.c 72 void locate(int x, int y);
+ Matris.c 73 void Print(const unsigned char *str);
+ Matris.c 74 int Timer_Install(int TimerID, void (*handler)(void), int delay);
+ Matris.c 75 int Timer_Uninstall(int TimerID);
+ Matris.c 76 int Timer_Start(int TimerID);
+ Matris.c 77 void App_RUN_MAT();
+ Matris.c 78
+ Matris.c 79 //some prototypes
+ Matris.c 80
+ Matris.c 81 char swit;
+ Matris.c 82
+ Matris.c 83 char pause = False;
+ Matris.c 84 //pause the game
+ Matris.c 85
+ Matris.c 86 char quit = False;
+ Matris.c 87
+ Matris.c 88 char levelchanged = False;
+ Matris.c 89 //has the level changed during two actions?
+ Matris.c 90
+ Matris.c 91 char exit = False;
+ Matris.c 92
+ Matris.c 93 char ready;
+ Matris.c 94
+ Matris.c 95 char onoff = True;
+ Matris.c 96 //used for timers
+ Matris.c 97
+ Matris.c 98 char canswap;
+ Matris.c 99 //brick already swapped?
+ Matris.c 100
+ Matris.c 101 char slowyposdown = 0;
+ Matris.c 102
+ Matris.c 103 char connected;
+ Matris.c 104 //multiplayer activated?
+ Matris.c 105
+ Matris.c 106 unsigned char receiveline = 0;
+ Matris.c 107 unsigned char sendline = 0;
+ Matris.c 108 //what to send or receive?
+ Matris.c 109
+ Matris.c 110 char cantrans = False;
+ Matris.c 111 //allowed to transfer?
+ Matris.c 112
+ Matris.c 113 //taken from MonochromeLib by PierrotLL
+ Matris.c 114
+ Matris.c 115 void drawbuffer(char *buffer)
+ 000000BE _drawbuffer: ; function: drawbuffer
+ ; frame size=16
+ 000000BE E107 MOV #7,R1
+ 000000C0 D61C MOV.L L685+48,R6 ; H'B4000000
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 5
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000000C2 E004 MOV #4,R0
+ 000000C4 D51C MOV.L L685+52,R5 ; H'B4010000
+ 000000C6 2FD6 MOV.L R13,@-R15
+ 000000C8 2FC6 MOV.L R12,@-R15
+ Matris.c 116 {
+ Matris.c 117 char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000;
+ Matris.c 118 int i, j;
+ Matris.c 119 for(i=0 ; i<64 ; i++)
+ 000000CA EC00 MOV #0,R12
+ 000000CC 2FA6 MOV.L R10,@-R15
+ 000000CE 6DC3 MOV R12,R13
+ 000000D0 2F96 MOV.L R9,@-R15
+ 000000D2 EA10 MOV #16,R10
+ 000000D4 E940 MOV #64,R9
+ 000000D6 L512:
+ Matris.c 120 {
+ Matris.c 121 *LCD_register_selector = 4;
+ Matris.c 122 *LCD_data_register = i|192;
+ 000000D6 E3C0 MOV #-64,R3
+ 000000D8 2600 MOV.B R0,@R6
+ Matris.c 123 *LCD_register_selector = 4;
+ Matris.c 124 *LCD_data_register = 0;
+ Matris.c 125 *LCD_register_selector = 7;
+ Matris.c 126 for(j=0 ; j<16 ; j++) *LCD_data_register = *buffer++;
+ 000000DA 67A3 MOV R10,R7
+ 000000DC 23DB OR R13,R3
+ 000000DE 2530 MOV.B R3,@R5
+ 000000E0 2600 MOV.B R0,@R6
+ 000000E2 25C0 MOV.B R12,@R5
+ 000000E4 2610 MOV.B R1,@R6
+ 000000E6 L514:
+ 000000E6 77FE ADD #-2,R7
+ 000000E8 6344 MOV.B @R4+,R3
+ 000000EA 2778 TST R7,R7
+ 000000EC 2530 MOV.B R3,@R5
+ 000000EE 6344 MOV.B @R4+,R3
+ 000000F0 8FF9 BF/S L514
+ 000000F2 2530 MOV.B R3,@R5
+ 000000F4 7D01 ADD #1,R13
+ 000000F6 3D93 CMP/GE R9,R13
+ 000000F8 8BED BF L512
+ Matris.c 127 }
+ Matris.c 128 }
+ 000000FA 69F6 MOV.L @R15+,R9
+ 000000FC 6AF6 MOV.L @R15+,R10
+ 000000FE 6CF6 MOV.L @R15+,R12
+ 00000100 000B RTS
+ 00000102 6DF6 MOV.L @R15+,R13
+ 00000104 L685:
+ 00000104 1240 .DATA.W H'1240
+ 00000106 3039 .DATA.W H'3039
+ 00000108 8001007C .DATA.L H'8001007C
+ 0000010C 81000000 .DATA.L H'81000000
+ 00000110 FF000000 .DATA.L H'FF000000
+ 00000114 88000000 .DATA.L H'88000000
+ 00000118 <00000000> .DATA.L __$seed
+ 0000011C 00010DCD .DATA.L H'00010DCD
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 6
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000120 <00000000> .DATA.L __$y$306
+ 00000124 <00000000> .DATA.L __$z$307
+ 00000128 29A65EAD .DATA.L H'29A65EAD
+ 0000012C <00000000> .DATA.L __$c$308
+ 00000130 <00000000> .DATA.L _RTC_GetTicks
+ 00000134 B4000000 .DATA.L H'B4000000
+ 00000138 B4010000 .DATA.L H'B4010000
+ Matris.c 129
+ Matris.c 130 void RestGray(void)
+ 0000013C _RestGray: ; function: RestGray
+ ; frame size=8
+ 0000013C 2FE6 MOV.L R14,@-R15
+ 0000013E 4F22 STS.L PR,@-R15
+ Matris.c 131 {
+ Matris.c 132 drawbuffer(pScreen);
+ 00000140 DE30 MOV.L L686+8,R14 ; _pScreen
+ 00000142 BFBC BSR _drawbuffer
+ 00000144 64E2 MOV.L @R14,R4
+ Matris.c 133 drawbuffer(pScreen + 1024);
+ 00000146 9359 MOV.W L686,R3 ; H'0400
+ 00000148 64E2 MOV.L @R14,R4
+ 0000014A BFB8 BSR _drawbuffer
+ 0000014C 343C ADD R3,R4
+ Matris.c 134 drawbuffer(pScreen + 2048);
+ 0000014E 9356 MOV.W L686+2,R3 ; H'0800
+ 00000150 64E2 MOV.L @R14,R4
+ 00000152 343C ADD R3,R4
+ 00000154 4F26 LDS.L @R15+,PR
+ 00000156 AFB2 BRA _drawbuffer
+ 00000158 6EF6 MOV.L @R15+,R14
+ Matris.c 135 }
+ Matris.c 136
+ Matris.c 137
+ Matris.c 138 void Disconnect()
+ 0000015A _Disconnect: ; function: Disconnect
+ ; frame size=4
+ 0000015A 4F22 STS.L PR,@-R15
+ Matris.c 139 {
+ Matris.c 140 Serial_Close(1);
+ 0000015C D32A MOV.L L686+12,R3 ; _Serial_Close
+ 0000015E 430B JSR @R3
+ 00000160 E401 MOV #1,R4
+ Matris.c 141 connected = False;
+ 00000162 E200 MOV #0,R2
+ 00000164 D329 MOV.L L686+16,R3 ; _connected
+ Matris.c 142 }
+ 00000166 4F26 LDS.L @R15+,PR
+ 00000168 000B RTS
+ 0000016A 2320 MOV.B R2,@R3
+ Matris.c 143
+ Matris.c 144 void TeacherMode()
+ 0000016C _TeacherMode: ; function: TeacherMode
+ ; frame size=4
+ 0000016C 4F22 STS.L PR,@-R15
+ Matris.c 145 {
+ Matris.c 146 Timer_Uninstall(6);
+ 0000016E D328 MOV.L L686+20,R3 ; _Timer_Uninstall
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 7
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000170 430B JSR @R3
+ 00000172 E406 MOV #6,R4
+ Matris.c 147 Timer_Uninstall(7);
+ 00000174 D226 MOV.L L686+20,R2 ; _Timer_Uninstall
+ 00000176 420B JSR @R2
+ 00000178 E407 MOV #7,R4
+ Matris.c 148 Disconnect();
+ 0000017A BFEE BSR _Disconnect
+ 0000017C 0009 NOP
+ Matris.c 149
+ Matris.c 150 App_RUN_MAT();
+ 0000017E D225 MOV.L L686+24,R2 ; _App_RUN_MAT
+ 00000180 422B JMP @R2
+ 00000182 4F26 LDS.L @R15+,PR
+ Matris.c 151 }
+ Matris.c 152
+ Matris.c 153 int round(float num)
+ 00000184 _round: ; function: round
+ ; frame size=32
+ ; used runtime library name:
+ ; __addd, __stod, __dtoi
+ 00000184 4F22 STS.L PR,@-R15
+ Matris.c 154 {
+ Matris.c 155 return (int) (num + 0.5);
+ 00000186 6043 MOV R4,R0
+ 00000188 D323 MOV.L L686+28,R3 ; __stod
+ 0000018A 7FF0 ADD #-16,R15
+ 0000018C 430B JSR @R3
+ 0000018E 2FF6 MOV.L R15,@-R15
+ 00000190 D123 MOV.L L686+36,R1 ; __addd
+ 00000192 E200 MOV #0,R2
+ 00000194 2F26 MOV.L R2,@-R15
+ 00000196 D221 MOV.L L686+32,R2 ; H'3FE00000
+ 00000198 2F26 MOV.L R2,@-R15
+ 0000019A 63F3 MOV R15,R3
+ 0000019C 7310 ADD #16,R3
+ 0000019E 410B JSR @R1
+ 000001A0 2F36 MOV.L R3,@-R15
+ 000001A2 D220 MOV.L L686+40,R2 ; __dtoi
+ 000001A4 420B JSR @R2
+ 000001A6 0009 NOP
+ Matris.c 156 }
+ 000001A8 4F26 LDS.L @R15+,PR
+ 000001AA 000B RTS
+ 000001AC 0009 NOP
+ Matris.c 157
+ Matris.c 158 void clrbuffer(char *buffer)
+ 000001AE _clrbuffer: ; function: clrbuffer
+ ; frame size=0
+ Matris.c 159 {
+ Matris.c 160 memset(buffer, 0, 3072);
+ 000001AE 9627 MOV.W L686+4,R6 ; H'0C00
+ 000001B0 D31D MOV.L L686+44,R3 ; _memset
+ 000001B2 432B JMP @R3
+ 000001B4 E500 MOV #0,R5
+ Matris.c 161 }
+ Matris.c 162
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 8
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 163
+ Matris.c 164 void CreateBlock()
+ 000001B6 _CreateBlock: ; function: CreateBlock
+ ; frame size=8
+ ; used runtime library name:
+ ; __modlu
+ 000001B6 2FE6 MOV.L R14,@-R15
+ 000001B8 4F22 STS.L PR,@-R15
+ Matris.c 165 {
+ Matris.c 166 block = nextblock;
+ Matris.c 167 canswap = True;
+ 000001BA EE01 MOV #1,R14
+ 000001BC D21B MOV.L L686+48,R2 ; _nextblock
+ 000001BE 6320 MOV.B @R2,R3
+ 000001C0 D11B MOV.L L686+52,R1 ; _block
+ 000001C2 2130 MOV.B R3,@R1
+ 000001C4 D31B MOV.L L686+56,R3 ; _canswap
+ Matris.c 168 nextblock = (kiss() % 7) + 1;
+ 000001C6 BF44 BSR _kiss
+ 000001C8 23E0 MOV.B R14,@R3
+ 000001CA 6103 MOV R0,R1
+ 000001CC D31A MOV.L L686+60,R3 ; __modlu
+ 000001CE 430B JSR @R3
+ 000001D0 E007 MOV #7,R0
+ 000001D2 7001 ADD #1,R0
+ 000001D4 D215 MOV.L L686+48,R2 ; _nextblock
+ Matris.c 169 xpos = 7;
+ 000001D6 E307 MOV #7,R3
+ 000001D8 D118 MOV.L L686+64,R1 ; _xpos
+ 000001DA 2200 MOV.B R0,@R2
+ 000001DC 2132 MOV.L R3,@R1
+ Matris.c 170 ypos = 3;
+ 000001DE E203 MOV #3,R2
+ 000001E0 D317 MOV.L L686+68,R3 ; _ypos
+ Matris.c 171 dir = 0;
+ 000001E2 E000 MOV #0,R0
+ Matris.c 172 left = True;
+ 000001E4 D118 MOV.L L686+76,R1 ; _left
+ 000001E6 2322 MOV.L R2,@R3
+ 000001E8 D216 MOV.L L686+72,R2 ; _dir
+ 000001EA 2200 MOV.B R0,@R2
+ 000001EC 21E0 MOV.B R14,@R1
+ Matris.c 173 right = True;
+ 000001EE D317 MOV.L L686+80,R3 ; _right
+ Matris.c 174 cantrans = True;
+ 000001F0 D217 MOV.L L686+84,R2 ; _cantrans
+ 000001F2 23E0 MOV.B R14,@R3
+ 000001F4 22E0 MOV.B R14,@R2
+ Matris.c 175 }
+ 000001F6 4F26 LDS.L @R15+,PR
+ 000001F8 000B RTS
+ 000001FA 6EF6 MOV.L @R15+,R14
+ 000001FC L686:
+ 000001FC 0400 .DATA.W H'0400
+ 000001FE 0800 .DATA.W H'0800
+ 00000200 0C00 .DATA.W H'0C00
+ 00000202 0000 .DATA.W 0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 9
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000204 <00000000> .DATA.L _pScreen
+ 00000208 <00000000> .DATA.L _Serial_Close
+ 0000020C <00000000> .DATA.L _connected
+ 00000210 <00000000> .DATA.L _Timer_Uninstall
+ 00000214 <00000000> .DATA.L _App_RUN_MAT
+ 00000218 <00000000> .DATA.L __stod
+ 0000021C 3FE00000 .DATA.L H'3FE00000
+ 00000220 <00000000> .DATA.L __addd
+ 00000224 <00000000> .DATA.L __dtoi
+ 00000228 <00000000> .DATA.L _memset
+ 0000022C <00000000> .DATA.L _nextblock
+ 00000230 <00000000> .DATA.L _block
+ 00000234 <00000000> .DATA.L _canswap
+ 00000238 <00000000> .DATA.L __modlu
+ 0000023C <00000000> .DATA.L _xpos
+ 00000240 <00000000> .DATA.L _ypos
+ 00000244 <00000000> .DATA.L _dir
+ 00000248 <00000000> .DATA.L _left
+ 0000024C <00000000> .DATA.L _right
+ 00000250 <00000000> .DATA.L _cantrans
+ Matris.c 176
+ Matris.c 177 void ResetValues()
+ 00000254 _ResetValues: ; function: ResetValues
+ ; frame size=60
+ ; used runtime library name:
+ ; __modlu
+ 00000254 2FE6 MOV.L R14,@-R15
+ 00000256 2FD6 MOV.L R13,@-R15
+ 00000258 4F22 STS.L PR,@-R15
+ 0000025A 7FE0 ADD #-32,R15
+ Matris.c 178 {
+ Matris.c 179 int x,y;
+ Matris.c 180
+ Matris.c 181 char text[30];
+ Matris.c 182
+ Matris.c 183 memset(&changemap, 0, 210);
+ 0000025C 966E MOV.W L687,R6 ; H'00D2
+ 0000025E D438 MOV.L L687+4,R4 ; _changemap
+ 00000260 D338 MOV.L L687+8,R3 ; _memset
+ 00000262 430B JSR @R3
+ 00000264 E500 MOV #0,R5
+ Matris.c 184 memset(&globalmap, 0, 210);
+ 00000266 9669 MOV.W L687,R6 ; H'00D2
+ 00000268 D437 MOV.L L687+12,R4 ; _globalmap
+ 0000026A D236 MOV.L L687+8,R2 ; _memset
+ 0000026C 420B JSR @R2
+ 0000026E E500 MOV #0,R5
+ Matris.c 185
+ Matris.c 186 ypos = 3;
+ 00000270 D236 MOV.L L687+16,R2 ; _ypos
+ Matris.c 187 xpos = 0;
+ 00000272 E100 MOV #0,R1
+ 00000274 D036 MOV.L L687+20,R0 ; _xpos
+ Matris.c 188 block = 0;
+ Matris.c 189 onoff = True;
+ 00000276 ED01 MOV #1,R13
+ 00000278 E303 MOV #3,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 10
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000027A 6E13 MOV R1,R14
+ 0000027C 2232 MOV.L R3,@R2
+ 0000027E 2012 MOV.L R1,@R0
+ 00000280 D334 MOV.L L687+24,R3 ; _block
+ 00000282 23E0 MOV.B R14,@R3
+ 00000284 D234 MOV.L L687+28,R2 ; _onoff
+ 00000286 22D0 MOV.B R13,@R2
+ Matris.c 190 levelchanged = False;
+ 00000288 D134 MOV.L L687+32,R1 ; _levelchanged
+ 0000028A 21E0 MOV.B R14,@R1
+ Matris.c 191 right = True;
+ 0000028C D334 MOV.L L687+36,R3 ; _right
+ 0000028E 23D0 MOV.B R13,@R3
+ Matris.c 192 left = True;
+ 00000290 D234 MOV.L L687+40,R2 ; _left
+ 00000292 22D0 MOV.B R13,@R2
+ Matris.c 193 hold = 0;
+ 00000294 D134 MOV.L L687+44,R1 ; _hold
+ 00000296 21E0 MOV.B R14,@R1
+ Matris.c 194 exit = False;
+ 00000298 D334 MOV.L L687+48,R3 ; _exit
+ 0000029A 23E0 MOV.B R14,@R3
+ Matris.c 195 nextdir = Down;
+ 0000029C D234 MOV.L L687+52,R2 ; _nextdir
+ Matris.c 196 nextblock = (kiss() % 7) + 1;
+ 0000029E BED8 BSR _kiss
+ 000002A0 22E0 MOV.B R14,@R2
+ 000002A2 6103 MOV R0,R1
+ 000002A4 D333 MOV.L L687+56,R3 ; __modlu
+ 000002A6 430B JSR @R3
+ 000002A8 E007 MOV #7,R0
+ 000002AA 7001 ADD #1,R0
+ 000002AC D232 MOV.L L687+60,R2 ; _nextblock
+ Matris.c 197 CreateBlock();
+ 000002AE BF82 BSR _CreateBlock
+ 000002B0 2200 MOV.B R0,@R2
+ Matris.c 198 clrbuffer(pScreen);
+ 000002B2 D132 MOV.L L687+64,R1 ; _pScreen
+ 000002B4 BF7B BSR _clrbuffer
+ 000002B6 6412 MOV.L @R1,R4
+ Matris.c 199 Timer_Uninstall(6);
+ 000002B8 D231 MOV.L L687+68,R2 ; _Timer_Uninstall
+ 000002BA 420B JSR @R2
+ 000002BC E406 MOV #6,R4
+ Matris.c 200 Timer_Uninstall(7);
+ 000002BE D330 MOV.L L687+68,R3 ; _Timer_Uninstall
+ 000002C0 430B JSR @R3
+ 000002C2 E407 MOV #7,R4
+ Matris.c 201 ready = True;
+ 000002C4 D22F MOV.L L687+72,R2 ; _ready
+ 000002C6 22D0 MOV.B R13,@R2
+ Matris.c 202 connected = False;
+ 000002C8 D32F MOV.L L687+76,R3 ; _connected
+ Matris.c 203
+ Matris.c 204 AllClr_DDVRAM();
+ 000002CA D130 MOV.L L687+80,R1 ; _AllClr_DDVRAM
+ 000002CC 410B JSR @R1
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 11
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000002CE 23E0 MOV.B R14,@R3
+ Matris.c 205
+ Matris.c 206 PopUpWin(2);
+ 000002D0 D32F MOV.L L687+84,R3 ; _PopUpWin
+ 000002D2 430B JSR @R3
+ 000002D4 E402 MOV #2,R4
+ Matris.c 207 sprintf(&text, "Points: %d", points);
+ 000002D6 D32F MOV.L L687+88,R3 ; _points
+ 000002D8 D12F MOV.L L687+92,R1 ; L367
+ 000002DA 6232 MOV.L @R3,R2
+ 000002DC 2F26 MOV.L R2,@-R15
+ 000002DE 2F16 MOV.L R1,@-R15
+ 000002E0 D22E MOV.L L687+96,R2 ; _sprintf
+ 000002E2 64F3 MOV R15,R4
+ 000002E4 420B JSR @R2
+ 000002E6 7408 ADD #8,R4
+ Matris.c 208 locate(3, 3);
+ 000002E8 D32D MOV.L L687+100,R3; _locate
+ 000002EA E503 MOV #3,R5
+ 000002EC 430B JSR @R3
+ 000002EE 6453 MOV R5,R4
+ Matris.c 209 Print(&text);
+ 000002F0 D22C MOV.L L687+104,R2; _Print
+ 000002F2 64F3 MOV R15,R4
+ 000002F4 420B JSR @R2
+ 000002F6 7408 ADD #8,R4
+ Matris.c 210 sprintf(&text, "Level: %d", level);
+ 000002F8 D22B MOV.L L687+108,R2; _level
+ 000002FA 6320 MOV.B @R2,R3
+ 000002FC D12B MOV.L L687+112,R1; L368
+ 000002FE 2F36 MOV.L R3,@-R15
+ 00000300 2F16 MOV.L R1,@-R15
+ 00000302 64F3 MOV R15,R4
+ 00000304 D325 MOV.L L687+96,R3 ; _sprintf
+ 00000306 430B JSR @R3
+ 00000308 7410 ADD #16,R4
+ 0000030A 7F10 ADD #16,R15
+ Matris.c 211 locate(3, 4);
+ 0000030C D224 MOV.L L687+100,R2; _locate
+ 0000030E E504 MOV #4,R5
+ 00000310 420B JSR @R2
+ 00000312 E403 MOV #3,R4
+ Matris.c 212 Print(&text);
+ 00000314 D323 MOV.L L687+104,R3; _Print
+ 00000316 430B JSR @R3
+ 00000318 64F3 MOV R15,R4
+ Matris.c 213 PutDisp_DD();
+ 0000031A D225 MOV.L L687+116,R2; _PutDisp_DD
+ 0000031C 420B JSR @R2
+ 0000031E 0009 NOP
+ Matris.c 214
+ Matris.c 215 points = 0;
+ 00000320 D31C MOV.L L687+88,R3 ; _points
+ 00000322 23E2 MOV.L R14,@R3
+ Matris.c 216 level = 0;
+ 00000324 D220 MOV.L L687+108,R2; _level
+ 00000326 22E0 MOV.B R14,@R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 12
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000328 DE22 MOV.L L687+120,R14; _KeyDown
+ Matris.c 217
+ Matris.c 218 while(!KeyDown(31));
+ 0000032A L516:
+ 0000032A 4E0B JSR @R14
+ 0000032C E41F MOV #31,R4
+ 0000032E 2008 TST R0,R0
+ 00000330 89FB BT L516
+ Matris.c 219 }
+ 00000332 7F20 ADD #32,R15
+ 00000334 4F26 LDS.L @R15+,PR
+ 00000336 6DF6 MOV.L @R15+,R13
+ 00000338 000B RTS
+ 0000033A 6EF6 MOV.L @R15+,R14
+ 0000033C L687:
+ 0000033C 00D2 .DATA.W H'00D2
+ 0000033E 0000 .DATA.W 0
+ 00000340 <00000000> .DATA.L _changemap
+ 00000344 <00000000> .DATA.L _memset
+ 00000348 <00000000> .DATA.L _globalmap
+ 0000034C <00000000> .DATA.L _ypos
+ 00000350 <00000000> .DATA.L _xpos
+ 00000354 <00000000> .DATA.L _block
+ 00000358 <00000000> .DATA.L _onoff
+ 0000035C <00000000> .DATA.L _levelchanged
+ 00000360 <00000000> .DATA.L _right
+ 00000364 <00000000> .DATA.L _left
+ 00000368 <00000000> .DATA.L _hold
+ 0000036C <00000000> .DATA.L _exit
+ 00000370 <00000000> .DATA.L _nextdir
+ 00000374 <00000000> .DATA.L __modlu
+ 00000378 <00000000> .DATA.L _nextblock
+ 0000037C <00000000> .DATA.L _pScreen
+ 00000380 <00000000> .DATA.L _Timer_Uninstall
+ 00000384 <00000000> .DATA.L _ready
+ 00000388 <00000000> .DATA.L _connected
+ 0000038C <00000000> .DATA.L _AllClr_DDVRAM
+ 00000390 <00000000> .DATA.L _PopUpWin
+ 00000394 <00000000> .DATA.L _points
+ 00000398 <00000000> .DATA.L L367
+ 0000039C <00000000> .DATA.L _sprintf
+ 000003A0 <00000000> .DATA.L _locate
+ 000003A4 <00000000> .DATA.L _Print
+ 000003A8 <00000000> .DATA.L _level
+ 000003AC <00000000> .DATA.L L368
+ 000003B0 <00000000> .DATA.L _PutDisp_DD
+ 000003B4 <00000000> .DATA.L _KeyDown
+ Matris.c 220
+ Matris.c 221 void Transfer()
+ 000003B8 _Transfer: ; function: Transfer
+ ; frame size=44
+ ; used runtime library name:
+ ; __modlu
+ 000003B8 2FE6 MOV.L R14,@-R15
+ 000003BA 2FD6 MOV.L R13,@-R15
+ 000003BC 2FC6 MOV.L R12,@-R15
+ 000003BE 2FB6 MOV.L R11,@-R15
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 13
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000003C0 2FA6 MOV.L R10,@-R15
+ 000003C2 2F96 MOV.L R9,@-R15
+ 000003C4 2F86 MOV.L R8,@-R15
+ 000003C6 4F22 STS.L PR,@-R15
+ 000003C8 7FF8 ADD #-8,R15
+ Matris.c 222 {
+ Matris.c 223 int xcount, ycount;
+ Matris.c 224 char space = kiss() % 10; //where is the hole?
+ 000003CA BE42 BSR _kiss
+ 000003CC EA0A MOV #10,R10
+ 000003CE 6103 MOV R0,R1
+ 000003D0 D283 MOV.L L688+2,R2 ; __modlu
+ 000003D2 420B JSR @R2
+ 000003D4 60A3 MOV R10,R0
+ 000003D6 2F00 MOV.B R0,@R15
+ Matris.c 225
+ Matris.c 226 if(connected == True)
+ 000003D8 D382 MOV.L L688+6,R3 ; _connected
+ 000003DA 6030 MOV.B @R3,R0
+ 000003DC 8801 CMP/EQ #1,R0
+ 000003DE 8901 BT L689
+ 000003E0 A093 BRA L518
+ 000003E2 0009 NOP
+ 000003E4 L689:
+ Matris.c 227 {
+ Matris.c 228 if(receiveline > sendline)
+ 000003E4 DD80 MOV.L L688+10,R13; _sendline
+ 000003E6 DE81 MOV.L L688+14,R14; _receiveline
+ 000003E8 62D0 MOV.B @R13,R2
+ 000003EA 61E0 MOV.B @R14,R1
+ 000003EC 3126 CMP/HI R2,R1
+ 000003EE 8F06 BF/S L519
+ 000003F0 EB00 MOV #0,R11
+ Matris.c 229 {
+ Matris.c 230 //if there are lines arriving, but there can be send lines back, erase the lines,
+ +for example: receiving 3 lines, sending 1 -> 0 are send, 2 are received
+ Matris.c 231 receiveline -= sendline;
+ 000003F2 62D0 MOV.B @R13,R2
+ 000003F4 61E0 MOV.B @R14,R1
+ 000003F6 3128 SUB R2,R1
+ 000003F8 2E10 MOV.B R1,@R14
+ Matris.c 232 sendline = 0;
+ 000003FA A005 BRA L520
+ 000003FC 2DB0 MOV.B R11,@R13
+ 000003FE L519:
+ Matris.c 233 }
+ Matris.c 234 else
+ Matris.c 235 {
+ Matris.c 236 sendline -= receiveline;
+ 000003FE 62E0 MOV.B @R14,R2
+ 00000400 61D0 MOV.B @R13,R1
+ 00000402 3128 SUB R2,R1
+ 00000404 2D10 MOV.B R1,@R13
+ Matris.c 237 receiveline = 0;
+ 00000406 2EB0 MOV.B R11,@R14
+ 00000408 L520:
+ Matris.c 238 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 14
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 239 if(sendline > 0)
+ 00000408 63D0 MOV.B @R13,R3
+ 0000040A 633C EXTU.B R3,R3
+ 0000040C 4315 CMP/PL R3
+ 0000040E 8B06 BF L521
+ 00000410 DC77 MOV.L L688+18,R12; _Serial_BufferedTransmitOneByte
+ Matris.c 240 {
+ Matris.c 241 while(Serial_BufferedTransmitOneByte(sendline) != 0);
+ 00000412 L522:
+ 00000412 64D0 MOV.B @R13,R4
+ 00000414 4C0B JSR @R12
+ 00000416 644C EXTU.B R4,R4
+ 00000418 2008 TST R0,R0
+ 0000041A 8BFA BF L522
+ Matris.c 242 //send the number of lines
+ Matris.c 243 sendline = 0;
+ 0000041C 2DB0 MOV.B R11,@R13
+ 0000041E L521:
+ 0000041E 60E0 MOV.B @R14,R0
+ 00000420 600C EXTU.B R0,R0
+ 00000422 4015 CMP/PL R0
+ 00000424 8B71 BF L518
+ Matris.c 244 }
+ Matris.c 245 if(receiveline > 0)
+ Matris.c 246 {
+ Matris.c 247 for(ycount = 0; ycount < 20 - receiveline; ycount++)
+ 00000426 E714 MOV #20,R7
+ 00000428 DC72 MOV.L L688+22,R12; _globalmap
+ 0000042A 6273 MOV R7,R2
+ 0000042C 3208 SUB R0,R2
+ 0000042E 4215 CMP/PL R2
+ 00000430 8F2A BF/S L525
+ 00000432 65B3 MOV R11,R5
+ 00000434 L526:
+ Matris.c 248 {
+ Matris.c 249 for(xcount = 0; xcount < 10; xcount++)
+ 00000434 60B3 MOV R11,R0
+ 00000436 6653 MOV R5,R6
+ 00000438 6353 MOV R5,R3
+ 0000043A 4608 SHLL2 R6
+ 0000043C 363C ADD R3,R6
+ 0000043E 4600 SHLL R6
+ 00000440 36CC ADD R12,R6
+ 00000442 L528:
+ Matris.c 250 {
+ Matris.c 251 globalmap[ycount][xcount] = globalmap[ycount + receiveline][xcount
+ +];
+ 00000442 6103 MOV R0,R1
+ 00000444 63E0 MOV.B @R14,R3
+ 00000446 316C ADD R6,R1
+ 00000448 633C EXTU.B R3,R3
+ 0000044A 335C ADD R5,R3
+ 0000044C 6233 MOV R3,R2
+ 0000044E 4308 SHLL2 R3
+ 00000450 332C ADD R2,R3
+ 00000452 4300 SHLL R3
+ 00000454 33CC ADD R12,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 15
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000456 033C MOV.B @(R0,R3),R3
+ 00000458 2130 MOV.B R3,@R1
+ 0000045A 7001 ADD #1,R0
+ 0000045C 63E0 MOV.B @R14,R3
+ 0000045E 6103 MOV R0,R1
+ 00000460 316C ADD R6,R1
+ 00000462 633C EXTU.B R3,R3
+ 00000464 335C ADD R5,R3
+ 00000466 6233 MOV R3,R2
+ 00000468 4308 SHLL2 R3
+ 0000046A 332C ADD R2,R3
+ 0000046C 4300 SHLL R3
+ 0000046E 33CC ADD R12,R3
+ 00000470 033C MOV.B @(R0,R3),R3
+ 00000472 7001 ADD #1,R0
+ 00000474 2130 MOV.B R3,@R1
+ 00000476 30A3 CMP/GE R10,R0
+ 00000478 8BE3 BF L528
+ 0000047A 7501 ADD #1,R5
+ 0000047C 62E0 MOV.B @R14,R2
+ 0000047E 6373 MOV R7,R3
+ 00000480 622C EXTU.B R2,R2
+ 00000482 3328 SUB R2,R3
+ 00000484 3533 CMP/GE R3,R5
+ 00000486 8BD5 BF L526
+ 00000488 L525:
+ Matris.c 252 //move all lines upwards
+ Matris.c 253 }
+ Matris.c 254 }
+ Matris.c 255
+ Matris.c 256 for(ycount = 19; ycount > 19 - receiveline; ycount --)
+ 00000488 63E0 MOV.B @R14,R3
+ 0000048A E813 MOV #19,R8
+ 0000048C 633C EXTU.B R3,R3
+ 0000048E 6283 MOV R8,R2
+ 00000490 3238 SUB R3,R2
+ 00000492 3827 CMP/GT R2,R8
+ 00000494 8B38 BF L529
+ 00000496 L530:
+ Matris.c 257 {
+ Matris.c 258 for(xcount = 0; xcount < 10; xcount ++)
+ 00000496 6DB3 MOV R11,R13
+ 00000498 6983 MOV R8,R9
+ 0000049A 6383 MOV R8,R3
+ 0000049C 4908 SHLL2 R9
+ 0000049E 393C ADD R3,R9
+ 000004A0 4900 SHLL R9
+ 000004A2 39CC ADD R12,R9
+ 000004A4 L532:
+ Matris.c 259 {
+ Matris.c 260 globalmap[ycount][xcount] = (xcount == space) ? 0 : (kiss() % 7) +
+ + 1;
+ 000004A4 63D3 MOV R13,R3
+ 000004A6 339C ADD R9,R3
+ 000004A8 2F36 MOV.L R3,@-R15
+ 000004AA 62F3 MOV R15,R2
+ 000004AC 7204 ADD #4,R2
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 16
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000004AE 6220 MOV.B @R2,R2
+ 000004B0 1F22 MOV.L R2,@(8,R15)
+ 000004B2 3D20 CMP/EQ R2,R13
+ 000004B4 8B01 BF L533
+ 000004B6 A008 BRA L534
+ 000004B8 E200 MOV #0,R2
+ 000004BA L533:
+ 000004BA BDCA BSR _kiss
+ 000004BC 0009 NOP
+ 000004BE 6103 MOV R0,R1
+ 000004C0 D347 MOV.L L688+2,R3 ; __modlu
+ 000004C2 430B JSR @R3
+ 000004C4 E007 MOV #7,R0
+ 000004C6 7001 ADD #1,R0
+ 000004C8 6203 MOV R0,R2
+ 000004CA L534:
+ 000004CA 7D01 ADD #1,R13
+ 000004CC 63F6 MOV.L @R15+,R3
+ 000004CE 2320 MOV.B R2,@R3
+ 000004D0 63D3 MOV R13,R3
+ 000004D2 339C ADD R9,R3
+ 000004D4 2F36 MOV.L R3,@-R15
+ 000004D6 52F2 MOV.L @(8,R15),R2
+ 000004D8 3D20 CMP/EQ R2,R13
+ 000004DA 8B01 BF L535
+ 000004DC A008 BRA L536
+ 000004DE E200 MOV #0,R2
+ 000004E0 L535:
+ 000004E0 BDB7 BSR _kiss
+ 000004E2 0009 NOP
+ 000004E4 D33E MOV.L L688+2,R3 ; __modlu
+ 000004E6 6103 MOV R0,R1
+ 000004E8 430B JSR @R3
+ 000004EA E007 MOV #7,R0
+ 000004EC 7001 ADD #1,R0
+ 000004EE 6203 MOV R0,R2
+ 000004F0 L536:
+ 000004F0 63F6 MOV.L @R15+,R3
+ 000004F2 7D01 ADD #1,R13
+ 000004F4 2320 MOV.B R2,@R3
+ 000004F6 3DA3 CMP/GE R10,R13
+ 000004F8 8BD4 BF L532
+ 000004FA 78FF ADD #-1,R8
+ 000004FC 63E0 MOV.B @R14,R3
+ 000004FE E213 MOV #19,R2
+ 00000500 633C EXTU.B R3,R3
+ 00000502 3238 SUB R3,R2
+ 00000504 3827 CMP/GT R2,R8
+ 00000506 89C6 BT L530
+ 00000508 L529:
+ Matris.c 261 //add lines at the bottom
+ Matris.c 262 }
+ Matris.c 263 }
+ Matris.c 264 receiveline = 0;
+ 00000508 2EB0 MOV.B R11,@R14
+ 0000050A L518:
+ Matris.c 265 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 17
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 266 }
+ Matris.c 267 }
+ 0000050A 7F08 ADD #8,R15
+ 0000050C 4F26 LDS.L @R15+,PR
+ 0000050E 68F6 MOV.L @R15+,R8
+ 00000510 69F6 MOV.L @R15+,R9
+ 00000512 6AF6 MOV.L @R15+,R10
+ 00000514 6BF6 MOV.L @R15+,R11
+ 00000516 6CF6 MOV.L @R15+,R12
+ 00000518 6DF6 MOV.L @R15+,R13
+ 0000051A 000B RTS
+ 0000051C 6EF6 MOV.L @R15+,R14
+ Matris.c 268
+ Matris.c 269 void receive(void)
+ 0000051E _receive: ; function: receive
+ ; frame size=8
+ Matris.c 270 {
+ Matris.c 271 unsigned char receiveadd = 0;
+ 0000051E E300 MOV #0,R3
+ 00000520 4F22 STS.L PR,@-R15
+ 00000522 7FFC ADD #-4,R15
+ 00000524 2F30 MOV.B R3,@R15
+ Matris.c 272
+ Matris.c 273 if(Serial_ReadOneByte(&receiveadd) != 0)
+ 00000526 D334 MOV.L L688+26,R3 ; _Serial_ReadOneByte
+ 00000528 430B JSR @R3
+ 0000052A 64F3 MOV R15,R4
+ 0000052C 2008 TST R0,R0
+ 0000052E 8901 BT L537
+ Matris.c 274 {
+ Matris.c 275 receiveadd = 0;
+ 00000530 E300 MOV #0,R3
+ 00000532 2F30 MOV.B R3,@R15
+ 00000534 L537:
+ Matris.c 276 }
+ Matris.c 277
+ Matris.c 278 receiveline += (receiveadd > 20)?0:receiveadd;
+ 00000534 D52D MOV.L L688+14,R5 ; _receiveline
+ 00000536 E314 MOV #20,R3
+ 00000538 64F0 MOV.B @R15,R4
+ 0000053A 644C EXTU.B R4,R4
+ 0000053C 3437 CMP/GT R3,R4
+ 0000053E 8B01 BF L538
+ 00000540 A001 BRA L539
+ 00000542 E300 MOV #0,R3
+ 00000544 L538:
+ 00000544 6343 MOV R4,R3
+ 00000546 L539:
+ 00000546 6250 MOV.B @R5,R2
+ 00000548 323C ADD R3,R2
+ 0000054A 2520 MOV.B R2,@R5
+ Matris.c 279 }
+ 0000054C 7F04 ADD #4,R15
+ 0000054E 4F26 LDS.L @R15+,PR
+ 00000550 000B RTS
+ 00000552 0009 NOP
+ Matris.c 280
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 18
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 281 void Connect()
+ 00000554 _Connect: ; function: Connect
+ ; frame size=24
+ 00000554 2FE6 MOV.L R14,@-R15
+ 00000556 2FD6 MOV.L R13,@-R15
+ 00000558 4F22 STS.L PR,@-R15
+ 0000055A 7FF4 ADD #-12,R15
+ Matris.c 282 {
+ Matris.c 283 unsigned char connstart = 111;
+ Matris.c 284 unsigned char answer;
+ Matris.c 285 char open_mode[6];
+ Matris.c 286
+ Matris.c 287 PopUpWin(1);
+ 0000055C D327 MOV.L L688+30,R3 ; _PopUpWin
+ 0000055E 430B JSR @R3
+ 00000560 E401 MOV #1,R4
+ Matris.c 288 locate( 5 , 4);
+ 00000562 E504 MOV #4,R5
+ 00000564 D226 MOV.L L688+34,R2 ; _locate
+ 00000566 420B JSR @R2
+ 00000568 E405 MOV #5,R4
+ Matris.c 289 Print("Connecting...");
+ 0000056A D426 MOV.L L688+38,R4 ; L395
+ 0000056C D326 MOV.L L688+42,R3 ; _Print
+ 0000056E 430B JSR @R3
+ 00000570 0009 NOP
+ Matris.c 290 PutDisp_DD();
+ 00000572 D226 MOV.L L688+46,R2 ; _PutDisp_DD
+ 00000574 420B JSR @R2
+ 00000576 0009 NOP
+ Matris.c 291
+ Matris.c 292 open_mode[ 0 ] = 0; // always 0
+ Matris.c 293 open_mode[ 1 ] = 9; // 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400, 8=57600, 9=
+ +115200 baud
+ Matris.c 294 open_mode[ 2 ] = 2; // parity: 0=no; 1=odd; 2=even
+ Matris.c 295 open_mode[ 3 ] = 0; // datalength: 0=8 bit; 1=7 bit
+ Matris.c 296 open_mode[ 4 ] = 0; // stop bits: 0=one; 1=two
+ Matris.c 297 open_mode[ 5 ] = 0; // always 0
+ Matris.c 298
+ Matris.c 299 Serial_Open( &open_mode );
+ 00000578 D325 MOV.L L688+50,R3 ; _Serial_Open
+ 0000057A E400 MOV #0,R4
+ 0000057C 6043 MOV R4,R0
+ 0000057E 80F4 MOV.B R0,@(4,R15)
+ 00000580 E009 MOV #9,R0
+ 00000582 80F5 MOV.B R0,@(5,R15)
+ 00000584 E002 MOV #2,R0
+ 00000586 80F6 MOV.B R0,@(6,R15)
+ 00000588 6043 MOV R4,R0
+ 0000058A 80F7 MOV.B R0,@(7,R15)
+ 0000058C 6043 MOV R4,R0
+ 0000058E 80F8 MOV.B R0,@(8,R15)
+ 00000590 6043 MOV R4,R0
+ 00000592 64F3 MOV R15,R4
+ 00000594 80F9 MOV.B R0,@(9,R15)
+ 00000596 430B JSR @R3
+ 00000598 7404 ADD #4,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 19
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000059A DD17 MOV.L L688+26,R13; _Serial_ReadOneByte
+ 0000059C DE14 MOV.L L688+18,R14; _Serial_BufferedTransmitOneByte
+ Matris.c 300
+ Matris.c 301 do
+ 0000059E L540:
+ Matris.c 302 {
+ Matris.c 303 Serial_BufferedTransmitOneByte(connstart);
+ 0000059E 4E0B JSR @R14
+ 000005A0 E46F MOV #111,R4
+ Matris.c 304 Serial_ReadOneByte(&answer);
+ 000005A2 4D0B JSR @R13
+ 000005A4 64F3 MOV R15,R4
+ Matris.c 305 }while(answer != connstart && !KeyDown(47));
+ 000005A6 60F0 MOV.B @R15,R0
+ 000005A8 600C EXTU.B R0,R0
+ 000005AA 886F CMP/EQ #111,R0
+ 000005AC 8904 BT L541
+ 000005AE D219 MOV.L L688+54,R2 ; _KeyDown
+ 000005B0 420B JSR @R2
+ 000005B2 E42F MOV #47,R4
+ 000005B4 2008 TST R0,R0
+ 000005B6 89F2 BT L540
+ 000005B8 L541:
+ Matris.c 306
+ Matris.c 307 if(!KeyDown(47))connected = True;
+ 000005B8 D216 MOV.L L688+54,R2 ; _KeyDown
+ 000005BA 420B JSR @R2
+ 000005BC E42F MOV #47,R4
+ 000005BE 2008 TST R0,R0
+ 000005C0 8B02 BF L542
+ 000005C2 E201 MOV #1,R2
+ 000005C4 D307 MOV.L L688+6,R3 ; _connected
+ 000005C6 2320 MOV.B R2,@R3
+ 000005C8 L542:
+ Matris.c 308
+ Matris.c 309 if(connected != True)
+ 000005C8 D106 MOV.L L688+6,R1 ; _connected
+ 000005CA 6010 MOV.B @R1,R0
+ 000005CC 8801 CMP/EQ #1,R0
+ 000005CE 8901 BT L543
+ Matris.c 310 {
+ Matris.c 311 Disconnect();
+ 000005D0 BDC3 BSR _Disconnect
+ 000005D2 0009 NOP
+ 000005D4 L543:
+ Matris.c 312 }
+ Matris.c 313 }
+ 000005D4 7F0C ADD #12,R15
+ 000005D6 4F26 LDS.L @R15+,PR
+ 000005D8 6DF6 MOV.L @R15+,R13
+ 000005DA 000B RTS
+ 000005DC 6EF6 MOV.L @R15+,R14
+ 000005DE L688:
+ 000005DE 0000 .DATA.W 0
+ 000005E0 <00000000> .DATA.L __modlu
+ 000005E4 <00000000> .DATA.L _connected
+ 000005E8 <00000000> .DATA.L _sendline
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 20
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000005EC <00000000> .DATA.L _receiveline
+ 000005F0 <00000000> .DATA.L _Serial_BufferedTransmitOneByte
+ 000005F4 <00000000> .DATA.L _globalmap
+ 000005F8 <00000000> .DATA.L _Serial_ReadOneByte
+ 000005FC <00000000> .DATA.L _PopUpWin
+ 00000600 <00000000> .DATA.L _locate
+ 00000604 <00000000> .DATA.L L395
+ 00000608 <00000000> .DATA.L _Print
+ 0000060C <00000000> .DATA.L _PutDisp_DD
+ 00000610 <00000000> .DATA.L _Serial_Open
+ 00000614 <00000000> .DATA.L _KeyDown
+ Matris.c 314
+ Matris.c 315 void SwapPieces()
+ 00000618 _SwapPieces: ; function: SwapPieces
+ ; frame size=8
+ ; used runtime library name:
+ ; __modlu
+ 00000618 4F22 STS.L PR,@-R15
+ 0000061A 7FFC ADD #-4,R15
+ Matris.c 316 {
+ Matris.c 317 char save;
+ Matris.c 318 if(canswap == True)
+ 0000061C D33F MOV.L L690+2,R3 ; _canswap
+ 0000061E 6030 MOV.B @R3,R0
+ 00000620 8801 CMP/EQ #1,R0
+ 00000622 8B20 BF L544
+ Matris.c 319 {
+ Matris.c 320 save = block;
+ 00000624 D53E MOV.L L690+6,R5 ; _block
+ 00000626 6150 MOV.B @R5,R1
+ 00000628 D23E MOV.L L690+10,R2 ; _hold
+ 0000062A 2F10 MOV.B R1,@R15
+ 0000062C 6420 MOV.B @R2,R4
+ 0000062E 614E EXTS.B R4,R1
+ 00000630 2118 TST R1,R1
+ 00000632 8B0B BF L545
+ Matris.c 321 if(hold == 0)
+ Matris.c 322 {
+ Matris.c 323 block = nextblock;
+ 00000634 D03C MOV.L L690+14,R0 ; _nextblock
+ 00000636 6100 MOV.B @R0,R1
+ Matris.c 324 nextblock = (kiss() % 7) + 1;
+ 00000638 BD0B BSR _kiss
+ 0000063A 2510 MOV.B R1,@R5
+ 0000063C D23B MOV.L L690+18,R2 ; __modlu
+ 0000063E 6103 MOV R0,R1
+ 00000640 420B JSR @R2
+ 00000642 E007 MOV #7,R0
+ 00000644 D338 MOV.L L690+14,R3 ; _nextblock
+ 00000646 7001 ADD #1,R0
+ 00000648 A001 BRA L546
+ 0000064A 2300 MOV.B R0,@R3
+ 0000064C L545:
+ Matris.c 325 }
+ Matris.c 326 else
+ Matris.c 327 {
+ Matris.c 328 block = hold;
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 21
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000064C 2540 MOV.B R4,@R5
+ 0000064E L546:
+ Matris.c 329 }
+ Matris.c 330 hold = save;
+ Matris.c 331 xpos = 7;
+ 0000064E E107 MOV #7,R1
+ 00000650 63F0 MOV.B @R15,R3
+ Matris.c 332 ypos = 3;
+ 00000652 E003 MOV #3,R0
+ 00000654 D233 MOV.L L690+10,R2 ; _hold
+ 00000656 2230 MOV.B R3,@R2
+ 00000658 D335 MOV.L L690+22,R3 ; _xpos
+ Matris.c 333 dir = 0;
+ 0000065A E200 MOV #0,R2
+ 0000065C 2312 MOV.L R1,@R3
+ 0000065E D135 MOV.L L690+26,R1 ; _ypos
+ 00000660 2102 MOV.L R0,@R1
+ 00000662 D035 MOV.L L690+30,R0 ; _dir
+ 00000664 2020 MOV.B R2,@R0
+ 00000666 L544:
+ Matris.c 334 }
+ Matris.c 335 canswap = False;
+ 00000666 E300 MOV #0,R3
+ 00000668 D12C MOV.L L690+2,R1 ; _canswap
+ 0000066A 2130 MOV.B R3,@R1
+ Matris.c 336 }
+ 0000066C 7F04 ADD #4,R15
+ 0000066E 4F26 LDS.L @R15+,PR
+ 00000670 000B RTS
+ 00000672 0009 NOP
+ Matris.c 337
+ Matris.c 338 void Rotate()
+ 00000674 _Rotate: ; function: Rotate
+ ; frame size=8
+ 00000674 2FE6 MOV.L R14,@-R15
+ 00000676 4F22 STS.L PR,@-R15
+ Matris.c 339 {
+ Matris.c 340 if(++dir == 4)
+ 00000678 DE2F MOV.L L690+30,R14; _dir
+ 0000067A 60E0 MOV.B @R14,R0
+ 0000067C 7001 ADD #1,R0
+ 0000067E 2E00 MOV.B R0,@R14
+ 00000680 600E EXTS.B R0,R0
+ 00000682 8804 CMP/EQ #4,R0
+ 00000684 8B01 BF L547
+ Matris.c 341 {
+ Matris.c 342 dir = 0;
+ 00000686 E200 MOV #0,R2
+ 00000688 2E20 MOV.B R2,@R14
+ 0000068A L547:
+ Matris.c 343 }
+ Matris.c 344
+ Matris.c 345 if(DrawSprite() == False)
+ 0000068A D32C MOV.L L690+34,R3 ; _DrawSprite
+ 0000068C 430B JSR @R3
+ 0000068E 0009 NOP
+ 00000690 2008 TST R0,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 22
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000692 8B07 BF L548
+ Matris.c 346 {
+ Matris.c 347 dir = (dir == 0)? 3 : dir - 1;
+ 00000694 64E0 MOV.B @R14,R4
+ 00000696 2448 TST R4,R4
+ 00000698 8B01 BF L549
+ 0000069A A002 BRA L550
+ 0000069C E303 MOV #3,R3
+ 0000069E L549:
+ 0000069E 6343 MOV R4,R3
+ 000006A0 73FF ADD #-1,R3
+ 000006A2 L550:
+ 000006A2 2E30 MOV.B R3,@R14
+ 000006A4 L548:
+ Matris.c 348 }
+ Matris.c 349 }
+ 000006A4 4F26 LDS.L @R15+,PR
+ 000006A6 000B RTS
+ 000006A8 6EF6 MOV.L @R15+,R14
+ Matris.c 350
+ Matris.c 351 void MoveBlock()
+ 000006AA _MoveBlock: ; function: MoveBlock
+ ; frame size=12
+ 000006AA 2FE6 MOV.L R14,@-R15
+ 000006AC 2FD6 MOV.L R13,@-R15
+ 000006AE 4F22 STS.L PR,@-R15
+ Matris.c 352 {
+ Matris.c 353 switch (nextdir)
+ 000006B0 D41F MOV.L L690+22,R4 ; _xpos
+ 000006B2 DE23 MOV.L L690+38,R14; _nextdir
+ 000006B4 60E0 MOV.B @R14,R0
+ 000006B6 88FF CMP/EQ #-1,R0
+ 000006B8 8D08 BT/S L494
+ 000006BA ED00 MOV #0,R13
+ 000006BC 8801 CMP/EQ #1,R0
+ 000006BE 890D BT L495
+ 000006C0 8814 CMP/EQ #20,R0
+ 000006C2 8913 BT L496
+ 000006C4 880A CMP/EQ #10,R0
+ 000006C6 8915 BT L497
+ 000006C8 A017 BRA L551
+ 000006CA 0009 NOP
+ 000006CC L494: ; case label
+ Matris.c 354 {
+ Matris.c 355 case Left : if(left == True) {xpos ++;} nextdir = Down;break;
+ 000006CC D31D MOV.L L690+42,R3 ; _left
+ 000006CE 6030 MOV.B @R3,R0
+ 000006D0 8801 CMP/EQ #1,R0
+ 000006D2 8B11 BF L676
+ 000006D4 6142 MOV.L @R4,R1
+ 000006D6 7101 ADD #1,R1
+ 000006D8 A00E BRA L676
+ 000006DA 2412 MOV.L R1,@R4
+ 000006DC L495: ; case label
+ Matris.c 356 case Right: if(right == True){xpos --;}nextdir = Down;break;
+ 000006DC D31A MOV.L L690+46,R3 ; _right
+ 000006DE 6030 MOV.B @R3,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 23
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000006E0 8801 CMP/EQ #1,R0
+ 000006E2 8B09 BF L676
+ 000006E4 6142 MOV.L @R4,R1
+ 000006E6 71FF ADD #-1,R1
+ 000006E8 A006 BRA L676
+ 000006EA 2412 MOV.L R1,@R4
+ 000006EC L496: ; case label
+ Matris.c 357 case Rot : Rotate();nextdir = Down;break;
+ 000006EC BFC2 BSR _Rotate
+ 000006EE 0009 NOP
+ 000006F0 A002 BRA L676
+ 000006F2 0009 NOP
+ 000006F4 L497: ; case label
+ Matris.c 358 case Swap: SwapPieces();nextdir = Down;break;
+ 000006F4 BF90 BSR _SwapPieces
+ 000006F6 0009 NOP
+ 000006F8 L676:
+ 000006F8 2ED0 MOV.B R13,@R14
+ 000006FA L551:
+ Matris.c 359 }
+ Matris.c 360
+ Matris.c 361 if(nextdir == Fast && (int)slowyposdown == slowyposdown)
+ 000006FA 60E0 MOV.B @R14,R0
+ 000006FC 881E CMP/EQ #30,R0
+ 000006FE 8B08 BF L554
+ 00000700 D312 MOV.L L690+50,R3 ; _slowyposdown
+ 00000702 6230 MOV.B @R3,R2
+ 00000704 6130 MOV.B @R3,R1
+ 00000706 3210 CMP/EQ R1,R2
+ 00000708 8B03 BF L554
+ Matris.c 362 {
+ Matris.c 363 points += 1;
+ 0000070A D411 MOV.L L690+54,R4 ; _points
+ 0000070C 6342 MOV.L @R4,R3
+ 0000070E 7301 ADD #1,R3
+ 00000710 2432 MOV.L R3,@R4
+ 00000712 L554:
+ Matris.c 364 }
+ Matris.c 365 }
+ 00000712 4F26 LDS.L @R15+,PR
+ 00000714 6DF6 MOV.L @R15+,R13
+ 00000716 000B RTS
+ 00000718 6EF6 MOV.L @R15+,R14
+ 0000071A L690:
+ 0000071A 0000 .DATA.W 0
+ 0000071C <00000000> .DATA.L _canswap
+ 00000720 <00000000> .DATA.L _block
+ 00000724 <00000000> .DATA.L _hold
+ 00000728 <00000000> .DATA.L _nextblock
+ 0000072C <00000000> .DATA.L __modlu
+ 00000730 <00000000> .DATA.L _xpos
+ 00000734 <00000000> .DATA.L _ypos
+ 00000738 <00000000> .DATA.L _dir
+ 0000073C <00000000> .DATA.L _DrawSprite
+ 00000740 <00000000> .DATA.L _nextdir
+ 00000744 <00000000> .DATA.L _left
+ 00000748 <00000000> .DATA.L _right
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 24
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000074C <00000000> .DATA.L _slowyposdown
+ 00000750 <00000000> .DATA.L _points
+ Matris.c 366
+ Matris.c 367 void CheckPoints()
+ 00000754 _CheckPoints: ; function: CheckPoints
+ ; frame size=80
+ ; used runtime library name:
+ ; __divls
+ 00000754 2FE6 MOV.L R14,@-R15
+ 00000756 2FD6 MOV.L R13,@-R15
+ 00000758 2FC6 MOV.L R12,@-R15
+ 0000075A 2FB6 MOV.L R11,@-R15
+ 0000075C 2FA6 MOV.L R10,@-R15
+ Matris.c 368 {
+ Matris.c 369 char typecount = 0;
+ 0000075E EA00 MOV #0,R10
+ 00000760 DC88 MOV.L L691,R12 ; _globalmap
+ 00000762 60A3 MOV R10,R0
+ Matris.c 370 char oldlevel;
+ Matris.c 371 int xcount, ycount;
+ Matris.c 372 int ycount2, ycount3;
+ Matris.c 373 char fulllinecount = 0;
+ Matris.c 374
+ Matris.c 375 for(xcount = 0; xcount < 10; xcount ++)
+ 00000764 D688 MOV.L L691+4,R6 ; _exit
+ 00000766 65C3 MOV R12,R5
+ 00000768 2F96 MOV.L R9,@-R15
+ 0000076A 64C3 MOV R12,R4
+ 0000076C 2F86 MOV.L R8,@-R15
+ 0000076E 750A ADD #10,R5
+ 00000770 4F22 STS.L PR,@-R15
+ 00000772 3452 CMP/HS R5,R4
+ 00000774 4F12 STS.L MACL,@-R15
+ 00000776 7FF4 ADD #-12,R15
+ 00000778 8D08 BT/S L555
+ 0000077A 80F8 MOV.B R0,@(8,R15)
+ 0000077C L556:
+ Matris.c 376 {
+ Matris.c 377 if(globalmap[0][xcount] != 0)
+ 0000077C 6240 MOV.B @R4,R2
+ 0000077E 2228 TST R2,R2
+ 00000780 8D02 BT/S L557
+ 00000782 7401 ADD #1,R4
+ Matris.c 378 {
+ Matris.c 379 exit = True;
+ 00000784 E101 MOV #1,R1
+ 00000786 2610 MOV.B R1,@R6
+ 00000788 L557:
+ 00000788 3452 CMP/HS R5,R4
+ 0000078A 8BF7 BF L556
+ 0000078C L555:
+ Matris.c 380 //game over
+ Matris.c 381 }
+ Matris.c 382 }
+ Matris.c 383
+ Matris.c 384 for(ycount = 0; ycount < 20; ycount ++)
+ 0000078C 1FA1 MOV.L R10,@(4,R15)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 25
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000078E E90A MOV #10,R9
+ 00000790 DB7E MOV.L L691+8,R11 ; _pScreen
+ 00000792 L558:
+ Matris.c 385 {
+ Matris.c 386 fulllinecount = 0;
+ 00000792 67A3 MOV R10,R7
+ 00000794 54F1 MOV.L @(4,R15),R4
+ 00000796 66C3 MOV R12,R6
+ Matris.c 387 for(xcount = 0; xcount < 10; xcount ++)
+ 00000798 65A3 MOV R10,R5
+ 0000079A 6343 MOV R4,R3
+ 0000079C 4408 SHLL2 R4
+ 0000079E 343C ADD R3,R4
+ 000007A0 4400 SHLL R4
+ 000007A2 34CC ADD R12,R4
+ 000007A4 L560:
+ Matris.c 388 {
+ Matris.c 389 if(globalmap[ycount][xcount] != 0)
+ 000007A4 6340 MOV.B @R4,R3
+ 000007A6 2338 TST R3,R3
+ 000007A8 8904 BT L559
+ Matris.c 390 {
+ Matris.c 391 fulllinecount ++;
+ 000007AA 7701 ADD #1,R7
+ 000007AC 7501 ADD #1,R5
+ 000007AE 3593 CMP/GE R9,R5
+ 000007B0 8FF8 BF/S L560
+ 000007B2 7401 ADD #1,R4
+ 000007B4 L559:
+ Matris.c 392 }
+ Matris.c 393 else
+ Matris.c 394 {
+ Matris.c 395 break;
+ Matris.c 396 }
+ Matris.c 397 }
+ Matris.c 398
+ Matris.c 399 if(fulllinecount == 10)
+ 000007B4 607E EXTS.B R7,R0
+ 000007B6 880A CMP/EQ #10,R0
+ 000007B8 8901 BT L692
+ 000007BA A102 BRA L564
+ 000007BC 0009 NOP
+ 000007BE L692:
+ Matris.c 400 {
+ Matris.c 401 typecount ++;
+ 000007BE 84F8 MOV.B @(8,R15),R0
+ 000007C0 7001 ADD #1,R0
+ 000007C2 80F8 MOV.B R0,@(8,R15)
+ Matris.c 402
+ Matris.c 403 //1: single, 2: double, 3: triple line, 4: tetris (maximum)
+ Matris.c 404
+ Matris.c 405 for(ycount2 = ycount; ycount2 > 0; ycount2 --)
+ 000007C4 55F1 MOV.L @(4,R15),R5
+ 000007C6 6D53 MOV R5,R13
+ 000007C8 6353 MOV R5,R3
+ 000007CA 4D08 SHLL2 R13
+ 000007CC 3D3C ADD R3,R13
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 26
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000007CE 4D00 SHLL R13
+ 000007D0 3D6C ADD R6,R13
+ 000007D2 6E53 MOV R5,R14
+ 000007D4 7EFF ADD #-1,R14
+ 000007D6 63E3 MOV R14,R3
+ 000007D8 4E08 SHLL2 R14
+ 000007DA 3E3C ADD R3,R14
+ 000007DC 4E00 SHLL R14
+ 000007DE 4515 CMP/PL R5
+ 000007E0 8F11 BF/S L565
+ 000007E2 3E6C ADD R6,R14
+ 000007E4 L566:
+ Matris.c 406 {
+ Matris.c 407 for(xcount = 0; xcount < 10; xcount ++)
+ 000007E4 66A3 MOV R10,R6
+ 000007E6 67E3 MOV R14,R7
+ 000007E8 64D3 MOV R13,R4
+ 000007EA L568:
+ 000007EA 7602 ADD #2,R6
+ Matris.c 408 {
+ Matris.c 409 globalmap[ycount2][xcount] = globalmap[ycount2 - 1][xcount];
+ 000007EC 6374 MOV.B @R7+,R3
+ 000007EE 3693 CMP/GE R9,R6
+ 000007F0 2430 MOV.B R3,@R4
+ 000007F2 7401 ADD #1,R4
+ 000007F4 6374 MOV.B @R7+,R3
+ 000007F6 2430 MOV.B R3,@R4
+ 000007F8 8FF7 BF/S L568
+ 000007FA 7401 ADD #1,R4
+ 000007FC 75FF ADD #-1,R5
+ 000007FE 7DF6 ADD #-10,R13
+ 00000800 4515 CMP/PL R5
+ 00000802 8DEF BT/S L566
+ 00000804 7EF6 ADD #-10,R14
+ 00000806 L565:
+ Matris.c 410 //move averything
+ Matris.c 411 }
+ Matris.c 412 }
+ Matris.c 413
+ Matris.c 414 line(pScreen, 0 , 0 , 81 , 0, 1);
+ 00000806 E201 MOV #1,R2
+ 00000808 D361 MOV.L L691+12,R3 ; _line
+ 0000080A E751 MOV #81,R7
+ 0000080C 2F26 MOV.L R2,@-R15
+ 0000080E E600 MOV #0,R6
+ 00000810 2FA6 MOV.L R10,@-R15
+ 00000812 6563 MOV R6,R5
+ 00000814 430B JSR @R3
+ 00000816 64B2 MOV.L @R11,R4
+ Matris.c 415 line(pScreen, 0 , 0 , 0 , 41, 1);
+ 00000818 D15D MOV.L L691+12,R1 ; _line
+ 0000081A E201 MOV #1,R2
+ 0000081C 2F26 MOV.L R2,@-R15
+ 0000081E E329 MOV #41,R3
+ 00000820 2F36 MOV.L R3,@-R15
+ 00000822 E700 MOV #0,R7
+ 00000824 6673 MOV R7,R6
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 27
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000826 6573 MOV R7,R5
+ 00000828 410B JSR @R1
+ 0000082A 64B2 MOV.L @R11,R4
+ Matris.c 416 line(pScreen, 81 , 0 , 81 , 41, 1);
+ 0000082C D158 MOV.L L691+12,R1 ; _line
+ 0000082E E301 MOV #1,R3
+ 00000830 2F36 MOV.L R3,@-R15
+ 00000832 E229 MOV #41,R2
+ 00000834 2F26 MOV.L R2,@-R15
+ 00000836 E751 MOV #81,R7
+ 00000838 E600 MOV #0,R6
+ 0000083A 6573 MOV R7,R5
+ 0000083C 410B JSR @R1
+ 0000083E 64B2 MOV.L @R11,R4
+ Matris.c 417 line(pScreen, 81 , 41 , 0 , 41, 1);
+ 00000840 D153 MOV.L L691+12,R1 ; _line
+ 00000842 E301 MOV #1,R3
+ 00000844 2F36 MOV.L R3,@-R15
+ 00000846 E229 MOV #41,R2
+ 00000848 2F26 MOV.L R2,@-R15
+ 0000084A E700 MOV #0,R7
+ 0000084C 6623 MOV R2,R6
+ 0000084E E551 MOV #81,R5
+ 00000850 410B JSR @R1
+ 00000852 64B2 MOV.L @R11,R4
+ 00000854 7F20 ADD #32,R15
+ Matris.c 418
+ Matris.c 419 for(ycount3 = 0; ycount3 < 20; ycount3 ++)
+ 00000856 68A3 MOV R10,R8
+ 00000858 L569:
+ Matris.c 420 {
+ Matris.c 421 for(xcount = 0; xcount < 10; xcount ++)
+ 00000858 6EA3 MOV R10,R14
+ 0000085A 6D83 MOV R8,R13
+ 0000085C 6383 MOV R8,R3
+ 0000085E 4D08 SHLL2 R13
+ 00000860 3D3C ADD R3,R13
+ 00000862 4D00 SHLL R13
+ 00000864 L571:
+ Matris.c 422 {
+ Matris.c 423 if(globalmap[ycount3][xcount] != 0 || changemap[ycount3][xcount] !
+ += 0)
+ 00000864 60D3 MOV R13,R0
+ 00000866 30CC ADD R12,R0
+ 00000868 03EC MOV.B @(R0,R14),R3
+ 0000086A 2338 TST R3,R3
+ 0000086C 8B05 BF L573
+ 0000086E D149 MOV.L L691+16,R1 ; _changemap
+ 00000870 31DC ADD R13,R1
+ 00000872 31EC ADD R14,R1
+ 00000874 6310 MOV.B @R1,R3
+ 00000876 2338 TST R3,R3
+ 00000878 8911 BT L572
+ 0000087A L573:
+ Matris.c 424 {
+ Matris.c 425 fillbox(pScreen, ycount3, xcount, (globalmap[ycount3][xcou
+ +nt] != 0)? globalmap[ycount3][xcount] - 1 : changemap[ycount3][xcount] - 1);
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 28
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 0000087A 60D3 MOV R13,R0
+ 0000087C 30CC ADD R12,R0
+ 0000087E 07EC MOV.B @(R0,R14),R7
+ 00000880 2778 TST R7,R7
+ 00000882 8D02 BT/S L574
+ 00000884 2F72 MOV.L R7,@R15
+ 00000886 A004 BRA L677
+ 00000888 67F2 MOV.L @R15,R7
+ 0000088A L574:
+ 0000088A D742 MOV.L L691+16,R7 ; _changemap
+ 0000088C 37DC ADD R13,R7
+ 0000088E 37EC ADD R14,R7
+ 00000890 6770 MOV.B @R7,R7
+ 00000892 L677:
+ 00000892 77FF ADD #-1,R7
+ 00000894 D240 MOV.L L691+20,R2 ; _fillbox
+ 00000896 66E3 MOV R14,R6
+ 00000898 6583 MOV R8,R5
+ 0000089A 420B JSR @R2
+ 0000089C 64B2 MOV.L @R11,R4
+ 0000089E L572:
+ 0000089E 7E01 ADD #1,R14
+ 000008A0 60D3 MOV R13,R0
+ 000008A2 30CC ADD R12,R0
+ 000008A4 03EC MOV.B @(R0,R14),R3
+ 000008A6 2338 TST R3,R3
+ 000008A8 8B05 BF L577
+ 000008AA D13A MOV.L L691+16,R1 ; _changemap
+ 000008AC 31DC ADD R13,R1
+ 000008AE 31EC ADD R14,R1
+ 000008B0 6310 MOV.B @R1,R3
+ 000008B2 2338 TST R3,R3
+ 000008B4 8911 BT L576
+ 000008B6 L577:
+ 000008B6 60D3 MOV R13,R0
+ 000008B8 30CC ADD R12,R0
+ 000008BA 07EC MOV.B @(R0,R14),R7
+ 000008BC 2778 TST R7,R7
+ 000008BE 8D02 BT/S L578
+ 000008C0 2F72 MOV.L R7,@R15
+ 000008C2 A004 BRA L678
+ 000008C4 67F2 MOV.L @R15,R7
+ 000008C6 L578:
+ 000008C6 D733 MOV.L L691+16,R7 ; _changemap
+ 000008C8 37DC ADD R13,R7
+ 000008CA 37EC ADD R14,R7
+ 000008CC 6770 MOV.B @R7,R7
+ 000008CE L678:
+ 000008CE 77FF ADD #-1,R7
+ 000008D0 D231 MOV.L L691+20,R2 ; _fillbox
+ 000008D2 66E3 MOV R14,R6
+ 000008D4 6583 MOV R8,R5
+ 000008D6 420B JSR @R2
+ 000008D8 64B2 MOV.L @R11,R4
+ 000008DA L576:
+ 000008DA 7E01 ADD #1,R14
+ 000008DC 60D3 MOV R13,R0
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 29
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000008DE 30CC ADD R12,R0
+ 000008E0 03EC MOV.B @(R0,R14),R3
+ 000008E2 2338 TST R3,R3
+ 000008E4 8B05 BF L581
+ 000008E6 D12B MOV.L L691+16,R1 ; _changemap
+ 000008E8 31DC ADD R13,R1
+ 000008EA 31EC ADD R14,R1
+ 000008EC 6310 MOV.B @R1,R3
+ 000008EE 2338 TST R3,R3
+ 000008F0 8911 BT L580
+ 000008F2 L581:
+ 000008F2 60D3 MOV R13,R0
+ 000008F4 30CC ADD R12,R0
+ 000008F6 07EC MOV.B @(R0,R14),R7
+ 000008F8 2778 TST R7,R7
+ 000008FA 8D02 BT/S L582
+ 000008FC 2F72 MOV.L R7,@R15
+ 000008FE A004 BRA L679
+ 00000900 67F2 MOV.L @R15,R7
+ 00000902 L582:
+ 00000902 D724 MOV.L L691+16,R7 ; _changemap
+ 00000904 37DC ADD R13,R7
+ 00000906 37EC ADD R14,R7
+ 00000908 6770 MOV.B @R7,R7
+ 0000090A L679:
+ 0000090A 77FF ADD #-1,R7
+ 0000090C D222 MOV.L L691+20,R2 ; _fillbox
+ 0000090E 66E3 MOV R14,R6
+ 00000910 6583 MOV R8,R5
+ 00000912 420B JSR @R2
+ 00000914 64B2 MOV.L @R11,R4
+ 00000916 L580:
+ 00000916 7E01 ADD #1,R14
+ 00000918 60D3 MOV R13,R0
+ 0000091A 30CC ADD R12,R0
+ 0000091C 03EC MOV.B @(R0,R14),R3
+ 0000091E 2338 TST R3,R3
+ 00000920 8B05 BF L585
+ 00000922 D11C MOV.L L691+16,R1 ; _changemap
+ 00000924 31DC ADD R13,R1
+ 00000926 31EC ADD R14,R1
+ 00000928 6310 MOV.B @R1,R3
+ 0000092A 2338 TST R3,R3
+ 0000092C 8911 BT L584
+ 0000092E L585:
+ 0000092E 60D3 MOV R13,R0
+ 00000930 30CC ADD R12,R0
+ 00000932 07EC MOV.B @(R0,R14),R7
+ 00000934 2778 TST R7,R7
+ 00000936 8D02 BT/S L586
+ 00000938 2F72 MOV.L R7,@R15
+ 0000093A A004 BRA L680
+ 0000093C 67F2 MOV.L @R15,R7
+ 0000093E L586:
+ 0000093E D715 MOV.L L691+16,R7 ; _changemap
+ 00000940 37DC ADD R13,R7
+ 00000942 37EC ADD R14,R7
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 30
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000944 6770 MOV.B @R7,R7
+ 00000946 L680:
+ 00000946 77FF ADD #-1,R7
+ 00000948 D213 MOV.L L691+20,R2 ; _fillbox
+ 0000094A 66E3 MOV R14,R6
+ 0000094C 6583 MOV R8,R5
+ 0000094E 420B JSR @R2
+ 00000950 64B2 MOV.L @R11,R4
+ 00000952 L584:
+ 00000952 7E01 ADD #1,R14
+ 00000954 E306 MOV #6,R3
+ 00000956 3E33 CMP/GE R3,R14
+ 00000958 8B84 BF L571
+ 0000095A 3E93 CMP/GE R9,R14
+ 0000095C 892B BT L588
+ 0000095E L589:
+ 0000095E 60D3 MOV R13,R0
+ 00000960 30CC ADD R12,R0
+ 00000962 03EC MOV.B @(R0,R14),R3
+ 00000964 2338 TST R3,R3
+ 00000966 8B05 BF L591
+ 00000968 D10A MOV.L L691+16,R1 ; _changemap
+ 0000096A 31DC ADD R13,R1
+ 0000096C 31EC ADD R14,R1
+ 0000096E 6310 MOV.B @R1,R3
+ 00000970 2338 TST R3,R3
+ 00000972 891D BT L590
+ 00000974 L591:
+ 00000974 60D3 MOV R13,R0
+ 00000976 30CC ADD R12,R0
+ 00000978 07EC MOV.B @(R0,R14),R7
+ 0000097A 2778 TST R7,R7
+ 0000097C 8D0E BT/S L592
+ 0000097E 2F72 MOV.L R7,@R15
+ 00000980 A010 BRA L681
+ 00000982 67F2 MOV.L @R15,R7
+ 00000984 L691:
+ 00000984 <00000000> .DATA.L _globalmap
+ 00000988 <00000000> .DATA.L _exit
+ 0000098C <00000000> .DATA.L _pScreen
+ 00000990 <00000000> .DATA.L _line
+ 00000994 <00000000> .DATA.L _changemap
+ 00000998 <00000000> .DATA.L _fillbox
+ 0000099C L592:
+ 0000099C D73C MOV.L L693+8,R7 ; _changemap
+ 0000099E 37DC ADD R13,R7
+ 000009A0 37EC ADD R14,R7
+ 000009A2 6770 MOV.B @R7,R7
+ 000009A4 L681:
+ 000009A4 D23B MOV.L L693+12,R2 ; _fillbox
+ 000009A6 77FF ADD #-1,R7
+ 000009A8 66E3 MOV R14,R6
+ 000009AA 6583 MOV R8,R5
+ 000009AC 420B JSR @R2
+ 000009AE 64B2 MOV.L @R11,R4
+ 000009B0 L590:
+ 000009B0 7E01 ADD #1,R14
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 31
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 000009B2 3E93 CMP/GE R9,R14
+ 000009B4 8BD3 BF L589
+ 000009B6 L588:
+ 000009B6 7801 ADD #1,R8
+ 000009B8 E214 MOV #20,R2
+ 000009BA 3823 CMP/GE R2,R8
+ 000009BC 8901 BT L694
+ 000009BE AF4B BRA L569
+ 000009C0 0009 NOP
+ 000009C2 L694:
+ 000009C2 L564:
+ 000009C2 E314 MOV #20,R3
+ 000009C4 51F1 MOV.L @(4,R15),R1
+ 000009C6 7101 ADD #1,R1
+ 000009C8 3133 CMP/GE R3,R1
+ 000009CA 8D02 BT/S L695
+ 000009CC 1F11 MOV.L R1,@(4,R15)
+ 000009CE AEE0 BRA L558
+ 000009D0 0009 NOP
+ 000009D2 L695:
+ 000009D2 84F8 MOV.B @(8,R15),R0
+ 000009D4 6E03 MOV R0,R14
+ 000009D6 4E15 CMP/PL R14
+ 000009D8 8B4B BF L594
+ Matris.c 426 }
+ Matris.c 427 }
+ Matris.c 428 }
+ Matris.c 429 }
+ Matris.c 430 }
+ Matris.c 431 if(typecount > 0)
+ Matris.c 432 {
+ Matris.c 433 int blink;
+ Matris.c 434
+ Matris.c 435 points += (typecount == 1)? 40 * (level + 1): (typecount == 2)? 100 * level : (typecount =
+ += 3)? 300 *(level + 1): (typecount == 4)? 1200 * (level + 1) : 0;
+ 000009DA 60E3 MOV R14,R0
+ 000009DC D42E MOV.L L693+16,R4 ; _points
+ 000009DE 8801 CMP/EQ #1,R0
+ 000009E0 8B08 BF L595
+ 000009E2 D32E MOV.L L693+20,R3 ; _level
+ 000009E4 6230 MOV.B @R3,R2
+ 000009E6 7201 ADD #1,R2
+ 000009E8 6123 MOV R2,R1
+ 000009EA 4208 SHLL2 R2
+ 000009EC 321C ADD R1,R2
+ 000009EE 4208 SHLL2 R2
+ 000009F0 A01B BRA L599
+ 000009F2 4200 SHLL R2
+ 000009F4 L595:
+ 000009F4 8802 CMP/EQ #2,R0
+ 000009F6 8B04 BF L596
+ 000009F8 D328 MOV.L L693+20,R3 ; _level
+ 000009FA E164 MOV #100,R1
+ 000009FC 6230 MOV.B @R3,R2
+ 000009FE A011 BRA L683
+ 00000A00 221F MULS R1,R2
+ 00000A02 L596:
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 32
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000A02 60E3 MOV R14,R0
+ 00000A04 8803 CMP/EQ #3,R0
+ 00000A06 8B06 BF L597
+ 00000A08 D324 MOV.L L693+20,R3 ; _level
+ 00000A0A 6230 MOV.B @R3,R2
+ 00000A0C 913C MOV.W L693,R1 ; H'012C
+ 00000A0E 7201 ADD #1,R2
+ 00000A10 0217 MUL.L R1,R2
+ 00000A12 A007 BRA L683
+ 00000A14 0009 NOP
+ 00000A16 L597:
+ 00000A16 8804 CMP/EQ #4,R0
+ 00000A18 8B06 BF L598
+ 00000A1A D320 MOV.L L693+20,R3 ; _level
+ 00000A1C 9135 MOV.W L693+2,R1 ; H'04B0
+ 00000A1E 6230 MOV.B @R3,R2
+ 00000A20 7201 ADD #1,R2
+ 00000A22 0217 MUL.L R1,R2
+ 00000A24 L683:
+ 00000A24 A001 BRA L599
+ 00000A26 021A STS MACL,R2
+ 00000A28 L598:
+ 00000A28 E200 MOV #0,R2
+ 00000A2A L599:
+ Matris.c 436 //increment points
+ Matris.c 437
+ Matris.c 438 sendline = (typecount == 4)? 4 : typecount - 1;
+ 00000A2A 60E3 MOV R14,R0
+ 00000A2C 6342 MOV.L @R4,R3
+ 00000A2E 8804 CMP/EQ #4,R0
+ 00000A30 332C ADD R2,R3
+ 00000A32 2432 MOV.L R3,@R4
+ 00000A34 8B01 BF L603
+ 00000A36 A002 BRA L604
+ 00000A38 E204 MOV #4,R2
+ 00000A3A L603:
+ 00000A3A 62E3 MOV R14,R2
+ 00000A3C 72FF ADD #-1,R2
+ 00000A3E L604:
+ 00000A3E D318 MOV.L L693+24,R3 ; _sendline
+ Matris.c 439 //send a line, if not tetris send lines - 1
+ Matris.c 440 oldlevel = level;
+ 00000A40 D416 MOV.L L693+20,R4 ; _level
+ 00000A42 2320 MOV.B R2,@R3
+ 00000A44 6540 MOV.B @R4,R5
+ Matris.c 441 level += typecount;
+ 00000A46 84F8 MOV.B @(8,R15),R0
+ 00000A48 6140 MOV.B @R4,R1
+ 00000A4A 310C ADD R0,R1
+ 00000A4C 2410 MOV.B R1,@R4
+ Matris.c 442 if((int)(level / 10) != (int)(oldlevel / 10) && level < 200)
+ 00000A4E 6640 MOV.B @R4,R6
+ 00000A50 D214 MOV.L L693+28,R2 ; __divls
+ 00000A52 6163 MOV R6,R1
+ 00000A54 420B JSR @R2
+ 00000A56 6093 MOV R9,R0
+ 00000A58 D212 MOV.L L693+28,R2 ; __divls
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 33
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000A5A 6303 MOV R0,R3
+ 00000A5C 615E EXTS.B R5,R1
+ 00000A5E 420B JSR @R2
+ 00000A60 6093 MOV R9,R0
+ 00000A62 3300 CMP/EQ R0,R3
+ 00000A64 8905 BT L594
+ 00000A66 9311 MOV.W L693+4,R3 ; H'00C8
+ 00000A68 3633 CMP/GE R3,R6
+ 00000A6A 8902 BT L594
+ Matris.c 443 {
+ Matris.c 444 levelchanged = True;
+ 00000A6C D20E MOV.L L693+32,R2 ; _levelchanged
+ 00000A6E E101 MOV #1,R1
+ 00000A70 2210 MOV.B R1,@R2
+ 00000A72 L594:
+ Matris.c 445 //level = round cleared lines / 10
+ Matris.c 446 }
+ Matris.c 447 }
+ Matris.c 448 Transfer();
+ 00000A72 7F0C ADD #12,R15
+ 00000A74 4F16 LDS.L @R15+,MACL
+ 00000A76 4F26 LDS.L @R15+,PR
+ 00000A78 68F6 MOV.L @R15+,R8
+ 00000A7A 69F6 MOV.L @R15+,R9
+ 00000A7C 6AF6 MOV.L @R15+,R10
+ 00000A7E 6BF6 MOV.L @R15+,R11
+ 00000A80 6CF6 MOV.L @R15+,R12
+ 00000A82 6DF6 MOV.L @R15+,R13
+ 00000A84 AC98 BRA _Transfer
+ 00000A86 6EF6 MOV.L @R15+,R14
+ 00000A88 L693:
+ 00000A88 012C .DATA.W H'012C
+ 00000A8A 04B0 .DATA.W H'04B0
+ 00000A8C 00C8 .DATA.W H'00C8
+ 00000A8E 0000 .DATA.W 0
+ 00000A90 <00000000> .DATA.L _changemap
+ 00000A94 <00000000> .DATA.L _fillbox
+ 00000A98 <00000000> .DATA.L _points
+ 00000A9C <00000000> .DATA.L _level
+ 00000AA0 <00000000> .DATA.L _sendline
+ 00000AA4 <00000000> .DATA.L __divls
+ 00000AA8 <00000000> .DATA.L _levelchanged
+ Matris.c 449 }
+ Matris.c 450
+ Matris.c 451 void ReadKey()
+ 00000AAC _ReadKey: ; function: ReadKey
+ ; frame size=12
+ 00000AAC 2FE6 MOV.L R14,@-R15
+ Matris.c 452 {
+ Matris.c 453 nextdir =Down;
+ 00000AAE E300 MOV #0,R3
+ 00000AB0 2FD6 MOV.L R13,@-R15
+ 00000AB2 4F22 STS.L PR,@-R15
+ 00000AB4 DD32 MOV.L L696,R13 ; _nextdir
+ 00000AB6 2D30 MOV.B R3,@R13
+ Matris.c 454
+ Matris.c 455 if(KeyDown(38)) nextdir = Rot;
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 34
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000AB8 DE32 MOV.L L696+4,R14 ; _KeyDown
+ 00000ABA 4E0B JSR @R14
+ 00000ABC E426 MOV #38,R4
+ 00000ABE 2008 TST R0,R0
+ 00000AC0 8D02 BT/S L606
+ Matris.c 456 if(KeyDown(37)) nextdir = Left ;
+ 00000AC2 E425 MOV #37,R4
+ 00000AC4 E314 MOV #20,R3
+ 00000AC6 2D30 MOV.B R3,@R13
+ 00000AC8 L606:
+ 00000AC8 4E0B JSR @R14
+ 00000ACA 0009 NOP
+ 00000ACC 2008 TST R0,R0
+ 00000ACE 8D02 BT/S L607
+ Matris.c 457 if(KeyDown(28)) nextdir = Right;
+ 00000AD0 E41C MOV #28,R4
+ 00000AD2 E3FF MOV #-1,R3
+ 00000AD4 2D30 MOV.B R3,@R13
+ 00000AD6 L607:
+ 00000AD6 4E0B JSR @R14
+ 00000AD8 0009 NOP
+ 00000ADA 2008 TST R0,R0
+ 00000ADC 8D02 BT/S L608
+ Matris.c 458 if(KeyDown(27)) nextdir = Fast;
+ 00000ADE E41B MOV #27,R4
+ 00000AE0 E301 MOV #1,R3
+ 00000AE2 2D30 MOV.B R3,@R13
+ 00000AE4 L608:
+ 00000AE4 4E0B JSR @R14
+ 00000AE6 0009 NOP
+ 00000AE8 2008 TST R0,R0
+ 00000AEA 8D02 BT/S L609
+ Matris.c 459 if(KeyDown(47)) exit = True;
+ 00000AEC E42F MOV #47,R4
+ 00000AEE E31E MOV #30,R3
+ 00000AF0 2D30 MOV.B R3,@R13
+ 00000AF2 L609:
+ 00000AF2 4E0B JSR @R14
+ 00000AF4 0009 NOP
+ 00000AF6 2008 TST R0,R0
+ 00000AF8 8D03 BT/S L610
+ Matris.c 460 if(KeyDown(26)) nextdir = Swap;
+ 00000AFA E41A MOV #26,R4
+ 00000AFC D222 MOV.L L696+8,R2 ; _exit
+ 00000AFE E301 MOV #1,R3
+ 00000B00 2230 MOV.B R3,@R2
+ 00000B02 L610:
+ 00000B02 4E0B JSR @R14
+ 00000B04 0009 NOP
+ 00000B06 2008 TST R0,R0
+ 00000B08 8D02 BT/S L611
+ Matris.c 461 if(KeyDown(31)) TeacherMode();
+ 00000B0A E41F MOV #31,R4
+ 00000B0C E20A MOV #10,R2
+ 00000B0E 2D20 MOV.B R2,@R13
+ 00000B10 L611:
+ 00000B10 4E0B JSR @R14
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 35
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B12 0009 NOP
+ 00000B14 2008 TST R0,R0
+ 00000B16 8901 BT L612
+ 00000B18 BB28 BSR _TeacherMode
+ 00000B1A 0009 NOP
+ 00000B1C L612:
+ Matris.c 462 if(KeyDown(39)) {pause = (pause == True)? False : True; while(KeyDown(39));}
+ 00000B1C 4E0B JSR @R14
+ 00000B1E E427 MOV #39,R4
+ 00000B20 2008 TST R0,R0
+ 00000B22 890B BT L613
+ 00000B24 D419 MOV.L L696+12,R4 ; _pause
+ 00000B26 6040 MOV.B @R4,R0
+ 00000B28 8801 CMP/EQ #1,R0
+ 00000B2A 8B01 BF L614
+ 00000B2C A001 BRA L615
+ 00000B2E E200 MOV #0,R2
+ 00000B30 L614:
+ 00000B30 E201 MOV #1,R2
+ 00000B32 L615:
+ 00000B32 2420 MOV.B R2,@R4
+ 00000B34 L616:
+ 00000B34 4E0B JSR @R14
+ 00000B36 E427 MOV #39,R4
+ 00000B38 2008 TST R0,R0
+ 00000B3A 8BFB BF L616
+ 00000B3C L613:
+ Matris.c 463 }
+ 00000B3C 4F26 LDS.L @R15+,PR
+ 00000B3E 6DF6 MOV.L @R15+,R13
+ 00000B40 000B RTS
+ 00000B42 6EF6 MOV.L @R15+,R14
+ Matris.c 464
+ Matris.c 465 void Main(void)
+ 00000B44 _Main: ; function: Main
+ ; frame size=16
+ ; used runtime library name:
+ ; __modls
+ 00000B44 2FE6 MOV.L R14,@-R15
+ Matris.c 466 {
+ Matris.c 467 cantrans = False;
+ 00000B46 E400 MOV #0,R4
+ 00000B48 D311 MOV.L L696+16,R3 ; _cantrans
+ 00000B4A 2FD6 MOV.L R13,@-R15
+ 00000B4C 2FC6 MOV.L R12,@-R15
+ 00000B4E 4F22 STS.L PR,@-R15
+ 00000B50 2340 MOV.B R4,@R3
+ Matris.c 468 ready = False;
+ 00000B52 D210 MOV.L L696+20,R2 ; _ready
+ Matris.c 469 if(pause == False)
+ 00000B54 D00D MOV.L L696+12,R0 ; _pause
+ 00000B56 2240 MOV.B R4,@R2
+ 00000B58 6100 MOV.B @R0,R1
+ 00000B5A 2118 TST R1,R1
+ 00000B5C 8B4B BF L618
+ Matris.c 470 {
+ Matris.c 471 receive();
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 36
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000B5E BCDE BSR _receive
+ 00000B60 0009 NOP
+ Matris.c 472 ypos += (slowyposdown % 10 == 0 || nextdir == Fast)? 1 : 0;
+ 00000B62 E50A MOV #10,R5
+ 00000B64 D40C MOV.L L696+24,R4 ; _ypos
+ 00000B66 DE0D MOV.L L696+28,R14; _slowyposdown
+ 00000B68 D30D MOV.L L696+32,R3 ; __modls
+ 00000B6A 61E0 MOV.B @R14,R1
+ 00000B6C 430B JSR @R3
+ 00000B6E 6053 MOV R5,R0
+ 00000B70 2008 TST R0,R0
+ 00000B72 8903 BT L620
+ 00000B74 D202 MOV.L L696,R2 ; _nextdir
+ 00000B76 6020 MOV.B @R2,R0
+ 00000B78 881E CMP/EQ #30,R0
+ 00000B7A 8B13 BF L619
+ 00000B7C L620:
+ 00000B7C A013 BRA L621
+ 00000B7E E201 MOV #1,R2
+ 00000B80 L696:
+ 00000B80 <00000000> .DATA.L _nextdir
+ 00000B84 <00000000> .DATA.L _KeyDown
+ 00000B88 <00000000> .DATA.L _exit
+ 00000B8C <00000000> .DATA.L _pause
+ 00000B90 <00000000> .DATA.L _cantrans
+ 00000B94 <00000000> .DATA.L _ready
+ 00000B98 <00000000> .DATA.L _ypos
+ 00000B9C <00000000> .DATA.L _slowyposdown
+ 00000BA0 <00000000> .DATA.L __modls
+ 00000BA4 L619:
+ 00000BA4 E200 MOV #0,R2
+ 00000BA6 L621:
+ 00000BA6 6342 MOV.L @R4,R3
+ 00000BA8 332C ADD R2,R3
+ 00000BAA 2432 MOV.L R3,@R4
+ Matris.c 473 if(nextdir == Left || nextdir == Right || nextdir == Fast || nextdir == Rot || slowyposdow
+ +n % 10 == 0)
+ 00000BAC D235 MOV.L L697+6,R2 ; _nextdir
+ 00000BAE 6020 MOV.B @R2,R0
+ 00000BB0 88FF CMP/EQ #-1,R0
+ 00000BB2 8D0F BT/S L623
+ 00000BB4 6403 MOV R0,R4
+ 00000BB6 6043 MOV R4,R0
+ 00000BB8 8801 CMP/EQ #1,R0
+ 00000BBA 890B BT L623
+ 00000BBC 6043 MOV R4,R0
+ 00000BBE 881E CMP/EQ #30,R0
+ 00000BC0 8908 BT L623
+ 00000BC2 6043 MOV R4,R0
+ 00000BC4 8814 CMP/EQ #20,R0
+ 00000BC6 8905 BT L623
+ 00000BC8 61E0 MOV.B @R14,R1
+ 00000BCA D32F MOV.L L697+10,R3 ; __modls
+ 00000BCC 430B JSR @R3
+ 00000BCE 6053 MOV R5,R0
+ 00000BD0 2008 TST R0,R0
+ 00000BD2 8B0D BF L622
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 37
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000BD4 L623:
+ Matris.c 474 {
+ Matris.c 475 MoveBlock();
+ 00000BD4 BD69 BSR _MoveBlock
+ 00000BD6 0009 NOP
+ Matris.c 476 DrawBlock();
+ 00000BD8 D12C MOV.L L697+14,R1 ; _DrawBlock
+ 00000BDA 410B JSR @R1
+ 00000BDC 0009 NOP
+ Matris.c 477 if(cantrans == True)
+ 00000BDE D22C MOV.L L697+18,R2 ; _cantrans
+ 00000BE0 6020 MOV.B @R2,R0
+ 00000BE2 8801 CMP/EQ #1,R0
+ 00000BE4 8B04 BF L622
+ Matris.c 478 {
+ Matris.c 479 CheckPoints();
+ 00000BE6 BDB5 BSR _CheckPoints
+ 00000BE8 0009 NOP
+ Matris.c 480 DrawBlock();
+ 00000BEA D328 MOV.L L697+14,R3 ; _DrawBlock
+ 00000BEC 430B JSR @R3
+ 00000BEE 0009 NOP
+ 00000BF0 L622:
+ Matris.c 481 }
+ Matris.c 482 }
+ Matris.c 483 slowyposdown++;
+ 00000BF0 62E0 MOV.B @R14,R2
+ 00000BF2 7201 ADD #1,R2
+ 00000BF4 2E20 MOV.B R2,@R14
+ 00000BF6 L618:
+ Matris.c 484 }
+ Matris.c 485 ready = True;
+ 00000BF6 E301 MOV #1,R3
+ 00000BF8 D126 MOV.L L697+22,R1 ; _ready
+ Matris.c 486 drawNumber(pScreen, connected, 0, 62);
+ 00000BFA E73E MOV #62,R7
+ 00000BFC DC26 MOV.L L697+26,R12; _pScreen
+ 00000BFE E600 MOV #0,R6
+ 00000C00 DD26 MOV.L L697+30,R13; _connected
+ 00000C02 2130 MOV.B R3,@R1
+ 00000C04 DE26 MOV.L L697+34,R14; _drawNumber
+ 00000C06 65D0 MOV.B @R13,R5
+ 00000C08 4E0B JSR @R14
+ 00000C0A 64C2 MOV.L @R12,R4
+ Matris.c 487 drawNumber(pScreen + 1024, connected, 0, 62);
+ 00000C0C 65D0 MOV.B @R13,R5
+ 00000C0E E73E MOV #62,R7
+ 00000C10 9335 MOV.W L697,R3 ; H'0400
+ 00000C12 E600 MOV #0,R6
+ 00000C14 64C2 MOV.L @R12,R4
+ 00000C16 4E0B JSR @R14
+ 00000C18 343C ADD R3,R4
+ Matris.c 488 drawNumber(pScreen + 2048, connected, 0, 62);
+ 00000C1A E73E MOV #62,R7
+ 00000C1C 65D0 MOV.B @R13,R5
+ 00000C1E E600 MOV #0,R6
+ 00000C20 932E MOV.W L697+2,R3 ; H'0800
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 38
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000C22 64C2 MOV.L @R12,R4
+ 00000C24 4E0B JSR @R14
+ 00000C26 343C ADD R3,R4
+ Matris.c 489 }
+ 00000C28 4F26 LDS.L @R15+,PR
+ 00000C2A 6CF6 MOV.L @R15+,R12
+ 00000C2C 6DF6 MOV.L @R15+,R13
+ 00000C2E 000B RTS
+ 00000C30 6EF6 MOV.L @R15+,R14
+ Matris.c 490
+ Matris.c 491 void CallMain(void)
+ 00000C32 _CallMain: ; function: CallMain
+ ; frame size=12
+ 00000C32 2FE6 MOV.L R14,@-R15
+ 00000C34 2FD6 MOV.L R13,@-R15
+ 00000C36 4F22 STS.L PR,@-R15
+ Matris.c 492 {
+ Matris.c 493 ReadKey();
+ 00000C38 BF38 BSR _ReadKey
+ 00000C3A 0009 NOP
+ 00000C3C D619 MOV.L L697+38,R6 ; _onoff
+ 00000C3E DD11 MOV.L L697+6,R13 ; _nextdir
+ 00000C40 DE19 MOV.L L697+42,R14; _Timer_Install
+ 00000C42 D414 MOV.L L697+22,R4 ; _ready
+ 00000C44 60D0 MOV.B @R13,R0
+ 00000C46 881E CMP/EQ #30,R0
+ 00000C48 8F36 BF/S L625
+ 00000C4A 6503 MOV R0,R5
+ 00000C4C D215 MOV.L L697+38,R2 ; _onoff
+ 00000C4E 6320 MOV.B @R2,R3
+ 00000C50 2338 TST R3,R3
+ 00000C52 8B31 BF L625
+ 00000C54 L626:
+ Matris.c 494 if(nextdir == Fast && onoff == False)
+ Matris.c 495 {
+ Matris.c 496 while(ready == False);
+ 00000C54 6140 MOV.B @R4,R1
+ 00000C56 2118 TST R1,R1
+ 00000C58 89FC BT L626
+ Matris.c 497 onoff = True;
+ 00000C5A E201 MOV #1,R2
+ Matris.c 498 Timer_Uninstall(7);
+ 00000C5C D313 MOV.L L697+46,R3 ; _Timer_Uninstall
+ 00000C5E 2620 MOV.B R2,@R6
+ 00000C60 430B JSR @R3
+ 00000C62 E407 MOV #7,R4
+ Matris.c 499 Timer_Install(7, &Main, 50);
+ 00000C64 D512 MOV.L L697+50,R5 ; _Main
+ 00000C66 E632 MOV #50,R6
+ 00000C68 4E0B JSR @R14
+ 00000C6A E407 MOV #7,R4
+ Matris.c 500 Timer_Start(7);
+ 00000C6C D211 MOV.L L697+54,R2 ; _Timer_Start
+ 00000C6E 420B JSR @R2
+ 00000C70 E407 MOV #7,R4
+ Matris.c 501 if(nextdir == Down)
+ 00000C72 63D0 MOV.B @R13,R3
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 39
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000C74 2338 TST R3,R3
+ 00000C76 8B48 BF L629
+ Matris.c 502 {
+ Matris.c 503 nextdir = Fast;
+ 00000C78 E11E MOV #30,R1
+ 00000C7A A046 BRA L629
+ 00000C7C 2D10 MOV.B R1,@R13
+ 00000C7E L697:
+ 00000C7E 0400 .DATA.W H'0400
+ 00000C80 0800 .DATA.W H'0800
+ 00000C82 0000 .DATA.W 0
+ 00000C84 <00000000> .DATA.L _nextdir
+ 00000C88 <00000000> .DATA.L __modls
+ 00000C8C <00000000> .DATA.L _DrawBlock
+ 00000C90 <00000000> .DATA.L _cantrans
+ 00000C94 <00000000> .DATA.L _ready
+ 00000C98 <00000000> .DATA.L _pScreen
+ 00000C9C <00000000> .DATA.L _connected
+ 00000CA0 <00000000> .DATA.L _drawNumber
+ 00000CA4 <00000000> .DATA.L _onoff
+ 00000CA8 <00000000> .DATA.L _Timer_Install
+ 00000CAC <00000000> .DATA.L _Timer_Uninstall
+ 00000CB0 <00000000> .DATA.L _Main
+ 00000CB4 <00000000> .DATA.L _Timer_Start
+ 00000CB8 L625:
+ Matris.c 504 }
+ Matris.c 505 }
+ Matris.c 506 else
+ Matris.c 507 {
+ Matris.c 508 if(nextdir != Fast && onoff == True || levelchanged == True)
+ 00000CB8 6053 MOV R5,R0
+ 00000CBA 881E CMP/EQ #30,R0
+ 00000CBC 8903 BT L632
+ 00000CBE D31E MOV.L L698,R3 ; _onoff
+ 00000CC0 6030 MOV.B @R3,R0
+ 00000CC2 8801 CMP/EQ #1,R0
+ 00000CC4 8903 BT L633
+ 00000CC6 L632:
+ 00000CC6 D31D MOV.L L698+4,R3 ; _levelchanged
+ 00000CC8 6030 MOV.B @R3,R0
+ 00000CCA 8801 CMP/EQ #1,R0
+ 00000CCC 8B1D BF L629
+ 00000CCE L633:
+ Matris.c 509 {
+ Matris.c 510 while(ready == False);
+ 00000CCE 6240 MOV.B @R4,R2
+ 00000CD0 2228 TST R2,R2
+ 00000CD2 89FC BT L633
+ Matris.c 511 onoff = False;
+ Matris.c 512 Timer_Uninstall(7);
+ 00000CD4 D31A MOV.L L698+8,R3 ; _Timer_Uninstall
+ 00000CD6 E100 MOV #0,R1
+ 00000CD8 2610 MOV.B R1,@R6
+ 00000CDA 430B JSR @R3
+ 00000CDC E407 MOV #7,R4
+ Matris.c 513
+ Matris.c 514 if(level < 20)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 40
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000CDE E114 MOV #20,R1
+ 00000CE0 D318 MOV.L L698+12,R3 ; _level
+ 00000CE2 6230 MOV.B @R3,R2
+ 00000CE4 3213 CMP/GE R1,R2
+ 00000CE6 8906 BT L635
+ Matris.c 515 {
+ Matris.c 516 Timer_Install(7, &Main, 100 - level * 5);
+ 00000CE8 6030 MOV.B @R3,R0
+ 00000CEA E664 MOV #100,R6
+ 00000CEC 6203 MOV R0,R2
+ 00000CEE 4008 SHLL2 R0
+ 00000CF0 302C ADD R2,R0
+ 00000CF2 A001 BRA L684
+ 00000CF4 3608 SUB R0,R6
+ 00000CF6 L635:
+ Matris.c 517 }
+ Matris.c 518 else
+ Matris.c 519 {
+ Matris.c 520 Timer_Install(7, &Main, 0);
+ 00000CF6 E600 MOV #0,R6
+ 00000CF8 L684:
+ 00000CF8 D513 MOV.L L698+16,R5 ; _Main
+ 00000CFA 4E0B JSR @R14
+ 00000CFC E407 MOV #7,R4
+ Matris.c 521 }
+ Matris.c 522
+ Matris.c 523 Timer_Start(7);
+ 00000CFE D213 MOV.L L698+20,R2 ; _Timer_Start
+ 00000D00 420B JSR @R2
+ 00000D02 E407 MOV #7,R4
+ Matris.c 524 levelchanged = False;
+ 00000D04 D20D MOV.L L698+4,R2 ; _levelchanged
+ 00000D06 E300 MOV #0,R3
+ 00000D08 2230 MOV.B R3,@R2
+ 00000D0A L629:
+ Matris.c 525 }
+ Matris.c 526 }
+ Matris.c 527 }
+ 00000D0A 4F26 LDS.L @R15+,PR
+ 00000D0C 6DF6 MOV.L @R15+,R13
+ 00000D0E 000B RTS
+ 00000D10 6EF6 MOV.L @R15+,R14
+ Matris.c 528
+ Matris.c 529 //the code above is not good, CallMain handles the keys and sets the timer of Main
+ Matris.c 530
+ Matris.c 531 void ReadMenuKeys()
+ 00000D12 _ReadMenuKeys: ; function: ReadMenuKeys
+ ; frame size=4
+ 00000D12 4F22 STS.L PR,@-R15
+ Matris.c 532 {
+ Matris.c 533 if(KeyDown(31)) TeacherMode();
+ 00000D14 D30E MOV.L L698+24,R3 ; _KeyDown
+ 00000D16 430B JSR @R3
+ 00000D18 E41F MOV #31,R4
+ 00000D1A 2008 TST R0,R0
+ 00000D1C 8901 BT L637
+ 00000D1E BA25 BSR _TeacherMode
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 41
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D20 0009 NOP
+ 00000D22 L637:
+ Matris.c 534 if(KeyDown(47)) quit = True;
+ 00000D22 D20B MOV.L L698+24,R2 ; _KeyDown
+ 00000D24 420B JSR @R2
+ 00000D26 E42F MOV #47,R4
+ 00000D28 2008 TST R0,R0
+ 00000D2A 8902 BT L638
+ 00000D2C D309 MOV.L L698+28,R3 ; _quit
+ 00000D2E E201 MOV #1,R2
+ 00000D30 2320 MOV.B R2,@R3
+ 00000D32 L638:
+ Matris.c 535 }
+ 00000D32 4F26 LDS.L @R15+,PR
+ 00000D34 000B RTS
+ 00000D36 0009 NOP
+ 00000D38 L698:
+ 00000D38 <00000000> .DATA.L _onoff
+ 00000D3C <00000000> .DATA.L _levelchanged
+ 00000D40 <00000000> .DATA.L _Timer_Uninstall
+ 00000D44 <00000000> .DATA.L _level
+ 00000D48 <00000000> .DATA.L _Main
+ 00000D4C <00000000> .DATA.L _Timer_Start
+ 00000D50 <00000000> .DATA.L _KeyDown
+ 00000D54 <00000000> .DATA.L _quit
+ Matris.c 536
+ Matris.c 537 int AddIn_main(int isAppli, unsigned short OptionNum)
+ 00000D58 _AddIn_main: ; function: AddIn_main
+ ; frame size=52
+ ; used runtime library name:
+ ; __modlu
+ 00000D58 2FE6 MOV.L R14,@-R15
+ 00000D5A 2FD6 MOV.L R13,@-R15
+ 00000D5C 2FC6 MOV.L R12,@-R15
+ Matris.c 538 {
+ Matris.c 539 char c[] = {0xE6, 0x9B, 0};
+ Matris.c 540 char mode = 0;
+ 00000D5E ED00 MOV #0,R13
+ Matris.c 541
+ Matris.c 542 level = 0;
+ Matris.c 543
+ Matris.c 544 pScreen = (char*)malloc(3072);
+ 00000D60 9473 MOV.W L699,R4 ; H'0C00
+ 00000D62 62D3 MOV R13,R2
+ 00000D64 2FB6 MOV.L R11,@-R15
+ 00000D66 2FA6 MOV.L R10,@-R15
+ 00000D68 2F96 MOV.L R9,@-R15
+ 00000D6A 2F86 MOV.L R8,@-R15
+ 00000D6C 4F22 STS.L PR,@-R15
+ 00000D6E 7FEC ADD #-20,R15
+ 00000D70 D137 MOV.L L699+6,R1 ; L462
+ 00000D72 63F3 MOV R15,R3
+ 00000D74 6010 MOV.B @R1,R0
+ 00000D76 7310 ADD #16,R3
+ 00000D78 2300 MOV.B R0,@R3
+ 00000D7A 8411 MOV.B @(1,R1),R0
+ 00000D7C 8031 MOV.B R0,@(1,R3)
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 42
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000D7E 8412 MOV.B @(2,R1),R0
+ 00000D80 8032 MOV.B R0,@(2,R3)
+ 00000D82 D334 MOV.L L699+10,R3 ; _level
+ 00000D84 2320 MOV.B R2,@R3
+ 00000D86 D234 MOV.L L699+14,R2 ; _malloc
+ 00000D88 420B JSR @R2
+ 00000D8A 0009 NOP
+ 00000D8C D333 MOV.L L699+18,R3 ; _pScreen
+ Matris.c 545
+ Matris.c 546 nextblock = (kiss() % 7) + 1;
+ 00000D8E B960 BSR _kiss
+ 00000D90 2302 MOV.L R0,@R3
+ 00000D92 6103 MOV R0,R1
+ 00000D94 D332 MOV.L L699+22,R3 ; __modlu
+ 00000D96 430B JSR @R3
+ 00000D98 E007 MOV #7,R0
+ 00000D9A 7001 ADD #1,R0
+ 00000D9C D231 MOV.L L699+26,R2 ; _nextblock
+ Matris.c 547 CreateBlock();
+ 00000D9E BA0A BSR _CreateBlock
+ 00000DA0 2200 MOV.B R0,@R2
+ Matris.c 548
+ Matris.c 549 ready = True;
+ 00000DA2 E101 MOV #1,R1
+ 00000DA4 D330 MOV.L L699+30,R3 ; _ready
+ Matris.c 550
+ Matris.c 551 APP_EnableRestart();//thx to SimonLothar
+ 00000DA6 B92B BSR _APP_EnableRestart
+ 00000DA8 2310 MOV.B R1,@R3
+ Matris.c 552
+ Matris.c 553 seedkiss();//seed random numbers
+ 00000DAA B980 BSR _seedkiss
+ 00000DAC 0009 NOP
+ 00000DAE D22F MOV.L L699+34,R2 ; L467
+ 00000DB0 D32F MOV.L L699+38,R3 ; L468
+ 00000DB2 1F21 MOV.L R2,@(4,R15)
+ 00000DB4 1F33 MOV.L R3,@(12,R15)
+ 00000DB6 63F3 MOV R15,R3
+ Matris.c 554
+ Matris.c 555 while(mode != 3)
+ 00000DB8 D82F MOV.L L699+46,R8 ; _Timer_Install
+ 00000DBA 7310 ADD #16,R3
+ 00000DBC D92F MOV.L L699+50,R9 ; _exit
+ 00000DBE D22D MOV.L L699+42,R2 ; L469
+ 00000DC0 DB2F MOV.L L699+54,R11; _Print
+ 00000DC2 1F22 MOV.L R2,@(8,R15)
+ 00000DC4 2F32 MOV.L R3,@R15
+ 00000DC6 DC2F MOV.L L699+58,R12; _locate
+ 00000DC8 DE2F MOV.L L699+62,R14; _KeyDown
+ 00000DCA L640:
+ Matris.c 556 {
+ Matris.c 557 quit = False;
+ 00000DCA E300 MOV #0,R3
+ 00000DCC D22F MOV.L L699+66,R2 ; _quit
+ 00000DCE 2230 MOV.B R3,@R2
+ Matris.c 558 Timer_Install(10, &ReadMenuKeys, 200);
+ 00000DD0 963C MOV.W L699+2,R6 ; H'00C8
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 43
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000DD2 D52F MOV.L L699+70,R5 ; _ReadMenuKeys
+ 00000DD4 480B JSR @R8
+ 00000DD6 E40A MOV #10,R4
+ Matris.c 559 Timer_Start(10);
+ 00000DD8 D32E MOV.L L699+74,R3 ; _Timer_Start
+ 00000DDA 430B JSR @R3
+ 00000DDC E40A MOV #10,R4
+ Matris.c 560 while(!KeyDown(31) && mode != 3)
+ 00000DDE 4E0B JSR @R14
+ 00000DE0 E41F MOV #31,R4
+ 00000DE2 2008 TST R0,R0
+ 00000DE4 8901 BT L700
+ 00000DE6 A07E BRA L641
+ 00000DE8 0009 NOP
+ 00000DEA L700:
+ 00000DEA 60DE EXTS.B R13,R0
+ 00000DEC 8803 CMP/EQ #3,R0
+ 00000DEE 897A BT L641
+ 00000DF0 L642:
+ Matris.c 561 {
+ Matris.c 562 AllClr_VRAM();
+ 00000DF0 D229 MOV.L L699+78,R2 ; _AllClr_VRAM
+ 00000DF2 420B JSR @R2
+ 00000DF4 0009 NOP
+ Matris.c 563
+ Matris.c 564 locate( 6, 3 );
+ 00000DF6 E503 MOV #3,R5
+ 00000DF8 4C0B JSR @R12
+ 00000DFA E406 MOV #6,R4
+ Matris.c 565 Print(&"Singleplayer");
+ 00000DFC 4B0B JSR @R11
+ 00000DFE 54F1 MOV.L @(4,R15),R4
+ Matris.c 566 locate( 6, 4 );
+ 00000E00 E504 MOV #4,R5
+ 00000E02 4C0B JSR @R12
+ 00000E04 E406 MOV #6,R4
+ Matris.c 567 Print(&"Multiplayer");
+ 00000E06 4B0B JSR @R11
+ 00000E08 54F3 MOV.L @(12,R15),R4
+ Matris.c 568 locate( 2, 8);
+ 00000E0A E508 MOV #8,R5
+ 00000E0C 4C0B JSR @R12
+ 00000E0E E402 MOV #2,R4
+ Matris.c 569 Print(&"Copyright by Casimo");
+ 00000E10 4B0B JSR @R11
+ 00000E12 54F2 MOV.L @(8,R15),R4
+ Matris.c 570
+ Matris.c 571 locate( 4, 3 + mode);
+ 00000E14 65DE EXTS.B R13,R5
+ 00000E16 7503 ADD #3,R5
+ 00000E18 4C0B JSR @R12
+ 00000E1A E404 MOV #4,R4
+ Matris.c 572 PrintC(&c);
+ 00000E1C D31F MOV.L L699+82,R3 ; _PrintC
+ 00000E1E 430B JSR @R3
+ 00000E20 64F2 MOV.L @R15,R4
+ Matris.c 573
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 44
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 574 PutDisp_DD();
+ 00000E22 D21F MOV.L L699+86,R2 ; _PutDisp_DD
+ 00000E24 420B JSR @R2
+ 00000E26 0009 NOP
+ Matris.c 575
+ Matris.c 576 if(KeyDown(37))
+ 00000E28 4E0B JSR @R14
+ 00000E2A E425 MOV #37,R4
+ 00000E2C 2008 TST R0,R0
+ 00000E2E 8939 BT L643
+ Matris.c 577 {
+ Matris.c 578 mode += (mode == 1)? -1 : 1;
+ 00000E30 60DE EXTS.B R13,R0
+ 00000E32 8801 CMP/EQ #1,R0
+ 00000E34 8B01 BF L644
+ 00000E36 A001 BRA L645
+ 00000E38 E2FF MOV #-1,R2
+ 00000E3A L644:
+ 00000E3A E201 MOV #1,R2
+ 00000E3C L645:
+ 00000E3C 3D2C ADD R2,R13
+ Matris.c 579 while(KeyDown(37));
+ 00000E3E L646:
+ 00000E3E 4E0B JSR @R14
+ 00000E40 E425 MOV #37,R4
+ 00000E42 2008 TST R0,R0
+ 00000E44 8BFB BF L646
+ 00000E46 A047 BRA L648
+ 00000E48 0009 NOP
+ 00000E4A L699:
+ 00000E4A 0C00 .DATA.W H'0C00
+ 00000E4C 00C8 .DATA.W H'00C8
+ 00000E4E 0000 .DATA.W 0
+ 00000E50 <00000000> .DATA.L L462
+ 00000E54 <00000000> .DATA.L _level
+ 00000E58 <00000000> .DATA.L _malloc
+ 00000E5C <00000000> .DATA.L _pScreen
+ 00000E60 <00000000> .DATA.L __modlu
+ 00000E64 <00000000> .DATA.L _nextblock
+ 00000E68 <00000000> .DATA.L _ready
+ 00000E6C <00000000> .DATA.L L467
+ 00000E70 <00000000> .DATA.L L468
+ 00000E74 <00000000> .DATA.L L469
+ 00000E78 <00000000> .DATA.L _Timer_Install
+ 00000E7C <00000000> .DATA.L _exit
+ 00000E80 <00000000> .DATA.L _Print
+ 00000E84 <00000000> .DATA.L _locate
+ 00000E88 <00000000> .DATA.L _KeyDown
+ 00000E8C <00000000> .DATA.L _quit
+ 00000E90 <00000000> .DATA.L _ReadMenuKeys
+ 00000E94 <00000000> .DATA.L _Timer_Start
+ 00000E98 <00000000> .DATA.L _AllClr_VRAM
+ 00000E9C <00000000> .DATA.L _PrintC
+ 00000EA0 <00000000> .DATA.L _PutDisp_DD
+ 00000EA4 L643:
+ Matris.c 580 }
+ Matris.c 581 else
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 45
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 582 {
+ Matris.c 583 if(KeyDown(28))
+ 00000EA4 4E0B JSR @R14
+ 00000EA6 E41C MOV #28,R4
+ 00000EA8 2008 TST R0,R0
+ 00000EAA 890C BT L649
+ Matris.c 584 {
+ Matris.c 585 mode -= (mode == 0)? -1 : 1;
+ 00000EAC 62DE EXTS.B R13,R2
+ 00000EAE 2228 TST R2,R2
+ 00000EB0 8B01 BF L650
+ 00000EB2 A001 BRA L651
+ 00000EB4 E3FF MOV #-1,R3
+ 00000EB6 L650:
+ 00000EB6 E301 MOV #1,R3
+ 00000EB8 L651:
+ 00000EB8 3D38 SUB R3,R13
+ Matris.c 586 while(KeyDown(28));
+ 00000EBA L652:
+ 00000EBA 4E0B JSR @R14
+ 00000EBC E41C MOV #28,R4
+ 00000EBE 2008 TST R0,R0
+ 00000EC0 8BFB BF L652
+ 00000EC2 A009 BRA L648
+ 00000EC4 0009 NOP
+ 00000EC6 L649:
+ Matris.c 587 }
+ Matris.c 588 else
+ Matris.c 589 {
+ Matris.c 590 if(KeyDown(47))
+ 00000EC6 4E0B JSR @R14
+ 00000EC8 E42F MOV #47,R4
+ 00000ECA 2008 TST R0,R0
+ 00000ECC 8904 BT L648
+ Matris.c 591 {
+ Matris.c 592 mode = 3;
+ 00000ECE ED03 MOV #3,R13
+ Matris.c 593 while(KeyDown(47));
+ 00000ED0 L656:
+ 00000ED0 4E0B JSR @R14
+ 00000ED2 E42F MOV #47,R4
+ 00000ED4 2008 TST R0,R0
+ 00000ED6 8BFB BF L656
+ 00000ED8 L648:
+ 00000ED8 4E0B JSR @R14
+ 00000EDA E41F MOV #31,R4
+ 00000EDC 2008 TST R0,R0
+ 00000EDE 8B02 BF L641
+ 00000EE0 60DE EXTS.B R13,R0
+ 00000EE2 8803 CMP/EQ #3,R0
+ 00000EE4 8B84 BF L642
+ 00000EE6 L641:
+ Matris.c 594 }
+ Matris.c 595 }
+ Matris.c 596
+ Matris.c 597 }
+ Matris.c 598 }
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 46
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 599
+ Matris.c 600 Timer_Uninstall(10);
+ 00000EE6 D222 MOV.L L701+4,R2 ; _Timer_Uninstall
+ 00000EE8 420B JSR @R2
+ 00000EEA E40A MOV #10,R4
+ 00000EEC 6ADE EXTS.B R13,R10
+ 00000EEE 60A3 MOV R10,R0
+ 00000EF0 8803 CMP/EQ #3,R0
+ 00000EF2 8920 BT L659
+ Matris.c 601
+ Matris.c 602 if(mode != 3)
+ Matris.c 603 {
+ Matris.c 604 if(mode == 1)
+ 00000EF4 60A3 MOV R10,R0
+ 00000EF6 8801 CMP/EQ #1,R0
+ 00000EF8 8B04 BF L660
+ Matris.c 605 {
+ Matris.c 606 Serial_ClearReceiveBuffer();
+ 00000EFA D31E MOV.L L701+8,R3 ; _Serial_ClearReceiveBuffer
+ 00000EFC 430B JSR @R3
+ 00000EFE 0009 NOP
+ Matris.c 607 Connect();
+ 00000F00 BB28 BSR _Connect
+ 00000F02 0009 NOP
+ 00000F04 L660:
+ Matris.c 608 }
+ Matris.c 609
+ Matris.c 610 Timer_Install(6,&CallMain, 150);
+ 00000F04 9632 MOV.W L701,R6 ; H'0096
+ 00000F06 D51C MOV.L L701+12,R5 ; _CallMain
+ 00000F08 480B JSR @R8
+ 00000F0A E406 MOV #6,R4
+ Matris.c 611 Timer_Start(6);
+ 00000F0C D31B MOV.L L701+16,R3 ; _Timer_Start
+ 00000F0E 430B JSR @R3
+ 00000F10 E406 MOV #6,R4
+ Matris.c 612
+ Matris.c 613 while(exit == False){RestGray();}
+ 00000F12 6290 MOV.B @R9,R2
+ 00000F14 2228 TST R2,R2
+ 00000F16 8B04 BF L661
+ 00000F18 L662:
+ 00000F18 B910 BSR _RestGray
+ 00000F1A 0009 NOP
+ 00000F1C 6390 MOV.B @R9,R3
+ 00000F1E 2338 TST R3,R3
+ 00000F20 89FA BT L662
+ 00000F22 L661:
+ Matris.c 614
+ Matris.c 615 ResetValues();
+ 00000F22 B997 BSR _ResetValues
+ 00000F24 0009 NOP
+ Matris.c 616
+ Matris.c 617 while(KeyDown(47));
+ 00000F26 L663:
+ 00000F26 4E0B JSR @R14
+ 00000F28 E42F MOV #47,R4
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 47
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 00000F2A 2008 TST R0,R0
+ 00000F2C 8BFB BF L663
+ 00000F2E L665:
+ Matris.c 618 while(KeyDown(31));
+ 00000F2E 4E0B JSR @R14
+ 00000F30 E41F MOV #31,R4
+ 00000F32 2008 TST R0,R0
+ 00000F34 8BFB BF L665
+ 00000F36 L659:
+ 00000F36 60A3 MOV R10,R0
+ 00000F38 8803 CMP/EQ #3,R0
+ 00000F3A 8901 BT L702
+ 00000F3C AF45 BRA L640
+ 00000F3E 0009 NOP
+ 00000F40 L702:
+ Matris.c 619 }
+ Matris.c 620 }
+ Matris.c 621 Timer_Uninstall(6);
+ 00000F40 D30B MOV.L L701+4,R3 ; _Timer_Uninstall
+ 00000F42 430B JSR @R3
+ 00000F44 E406 MOV #6,R4
+ Matris.c 622 Timer_Uninstall(7);
+ 00000F46 D20A MOV.L L701+4,R2 ; _Timer_Uninstall
+ 00000F48 420B JSR @R2
+ 00000F4A E407 MOV #7,R4
+ Matris.c 623 Disconnect();
+ 00000F4C B905 BSR _Disconnect
+ 00000F4E 0009 NOP
+ Matris.c 624 free(pScreen);
+ 00000F50 D20B MOV.L L701+20,R2 ; _pScreen
+ 00000F52 D30C MOV.L L701+24,R3 ; _free
+ 00000F54 430B JSR @R3
+ 00000F56 6422 MOV.L @R2,R4
+ Matris.c 625 }
+ 00000F58 7F14 ADD #20,R15
+ 00000F5A 4F26 LDS.L @R15+,PR
+ 00000F5C 68F6 MOV.L @R15+,R8
+ 00000F5E 69F6 MOV.L @R15+,R9
+ 00000F60 6AF6 MOV.L @R15+,R10
+ 00000F62 6BF6 MOV.L @R15+,R11
+ 00000F64 6CF6 MOV.L @R15+,R12
+ 00000F66 6DF6 MOV.L @R15+,R13
+ 00000F68 000B RTS
+ 00000F6A 6EF6 MOV.L @R15+,R14
+ 00000F6C L701:
+ 00000F6C 0096 .DATA.W H'0096
+ 00000F6E 0000 .DATA.W 0
+ 00000F70 <00000000> .DATA.L _Timer_Uninstall
+ 00000F74 <00000000> .DATA.L _Serial_ClearReceiveBuffer
+ 00000F78 <00000000> .DATA.L _CallMain
+ 00000F7C <00000000> .DATA.L _Timer_Start
+ 00000F80 <00000000> .DATA.L _pScreen
+ 00000F84 <00000000> .DATA.L _free
+ Matris.c 626
+ Matris.c 627 //I'm sure there are unused variables
+ Matris.c 628
+ Matris.c 629 #pragma section _BR_Size
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 48
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ Matris.c 630 unsigned long BR_Size;
+ Matris.c 631 #pragma section
+ Matris.c 632 #pragma section _TOP
+ Matris.c 633 int InitializeSystem(int isAppli, unsigned short OptionNum)
+P_T 00000000 _InitializeSystem: ; function: InitializeSystem
+ ; frame size=4
+ Matris.c 634 {return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
+ 00000000 D303 MOV.L L703+2,R3 ; _INIT_ADDIN_APPLICATION
+ 00000002 7FFC ADD #-4,R15
+ 00000004 2F51 MOV.W R5,@R15
+ 00000006 65F1 MOV.W @R15,R5
+ 00000008 655D EXTU.W R5,R5
+ 0000000A 432B JMP @R3
+ 0000000C 7F04 ADD #4,R15
+ 0000000E L703:
+ 0000000E 0000 .DATA.W 0
+ 00000010 <00000000> .DATA.L _INIT_ADDIN_APPLICATION
+ Matris.c 635 #pragma section
+D 00000000 __$seed: ; static: seed
+ 00000000 075BCD15 .DATA.L H'075BCD15
+ 00000004 __$y$306: ; static: y
+ 00000004 159A55A0 .DATA.L H'159A55A0
+ 00000008 __$z$307: ; static: z
+ 00000008 1F123BB5 .DATA.L H'1F123BB5
+ 0000000C __$c$308: ; static: c
+ 0000000C 0074CBB1 .DATA.L H'0074CBB1
+ 00000010 _pause: ; static: pause
+ 00000010 00 .DATA.B H'00
+ 00000011 _quit: ; static: quit
+ 00000011 00 .DATA.B H'00
+ 00000012 _levelchanged: ; static: levelchanged
+ 00000012 00 .DATA.B H'00
+ 00000013 _exit: ; static: exit
+ 00000013 00 .DATA.B H'00
+ 00000014 _onoff: ; static: onoff
+ 00000014 01 .DATA.B H'01
+ 00000015 _slowyposdown: ; static: slowyposdown
+ 00000015 00 .DATA.B H'00
+ 00000016 _receiveline: ; static: receiveline
+ 00000016 00 .DATA.B H'00
+ 00000017 _sendline: ; static: sendline
+ 00000017 00 .DATA.B H'00
+ 00000018 _cantrans: ; static: cantrans
+ 00000018 00 .DATA.B H'00
+C 00000000 L367:
+ 00000000 506F696E74 .SDATA "Points: %d"
+ 733A202564
+ 0000000A 00 .DATA.B H'00
+ 0000000B 00000001 .RES.B 1
+ 0000000C L368:
+ 0000000C 4C6576656C .SDATA "Level: %d"
+ 3A202564
+ 00000015 00 .DATA.B H'00
+ 00000016 00000002 .RES.W 1
+ 00000018 L395:
+ 00000018 436F6E6E65 .SDATA "Connecting..."
+ 6374696E67
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 49
+
+
+SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT
+
+ 2E2E2E
+ 00000025 00 .DATA.B H'00
+ 00000026 L462:
+ 00000026 E69B00 .DATA.B H'E6,H'9B,H'00
+ 00000029 00000001 .RES.B 1
+ 0000002A 00000002 .RES.W 1
+ 0000002C L467:
+ 0000002C 53696E676C .SDATA "Singleplayer"
+ 65706C6179
+ 6572
+ 00000038 00 .DATA.B H'00
+ 00000039 00000001 .RES.B 1
+ 0000003A 00000002 .RES.W 1
+ 0000003C L468:
+ 0000003C 4D756C7469 .SDATA "Multiplayer"
+ 706C617965
+ 72
+ 00000047 00 .DATA.B H'00
+ 00000048 L469:
+ 00000048 436F707972 .SDATA "Copyright by Casimo"
+ 6967687420
+ 6279204361
+ 73696D6F
+ 0000005B 00 .DATA.B H'00
+B 00000000 _swit: ; static: swit
+ 00000000 00000001 .RES.B 1
+ 00000001 _ready: ; static: ready
+ 00000001 00000001 .RES.B 1
+ 00000002 _canswap: ; static: canswap
+ 00000002 00000001 .RES.B 1
+ 00000003 _connected: ; static: connected
+ 00000003 00000001 .RES.B 1
+B_B 00000000 _BR_Size: ; static: BR_Size
+ 00000000 00000004 .RES.L 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SH SERIES C/C++ Compiler (Ver. 6.0C) 02-Apr-2013 12:26:11 PAGE 1
+
+
+******** STATISTICS INFORMATION ********
+
+
+********** ERROR INFORMATION ***********
+
+NUMBER OF ERRORS: 0
+NUMBER OF WARNINGS: 9
+
+
+
+
+******* SOURCE LINE INFORMATION ********
+
+COMPILED SOURCE LINE: 635
+
+
+
+******* SECTION SIZE INFORMATION *******
+
+PROGRAM SECTION (P): 00000F88 Byte(s)
+PROGRAM SECTION (P_BR_Size): 00000000 Byte(s)
+PROGRAM SECTION (P_TOP): 00000014 Byte(s)
+CONSTANT SECTION (C): 0000005C Byte(s)
+CONSTANT SECTION (C_BR_Size): 00000000 Byte(s)
+CONSTANT SECTION (C_TOP): 00000000 Byte(s)
+DATA SECTION (D): 00000019 Byte(s)
+DATA SECTION (D_BR_Size): 00000000 Byte(s)
+DATA SECTION (D_TOP): 00000000 Byte(s)
+BSS SECTION (B): 00000004 Byte(s)
+BSS SECTION (B_BR_Size): 00000004 Byte(s)
+BSS SECTION (B_TOP): 00000000 Byte(s)
+
+ TOTAL PROGRAM SIZE: 00001019 Byte(s)
+
+
+
+********** LABEL INFORMATION ***********
+
+NUMBER OF EXTERNAL REFERENCE SYMBOLS: 48
+NUMBER OF EXTERNAL DEFINITION SYMBOLS: 38
+NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 243
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*** COMMAND PARAMETER ***
+
+
+ -subcommand=C:\Users\Timo\AppData\Local\Temp\hmk43B4.tmp
+
|
