From 4f0e69ddab6836b854bf8908608ee9949dd1241a Mon Sep 17 00:00:00 2001 From: iridiumR Date: Mon, 6 Jun 2022 14:27:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(MCU=E8=AF=BE=E8=AE=BE):=20=E6=96=B9?= =?UTF-8?q?=E5=9D=97=E7=A7=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MCU/MCU_REAL _FINAL/Listings/MCU_1.m51 | 1312 ++++++++++++------------ MCU/MCU_REAL _FINAL/block.c | 71 +- MCU/MCU_REAL _FINAL/block.h | 11 +- MCU/MCU_REAL _FINAL/menu.c | 15 + 4 files changed, 731 insertions(+), 678 deletions(-) diff --git a/MCU/MCU_REAL _FINAL/Listings/MCU_1.m51 b/MCU/MCU_REAL _FINAL/Listings/MCU_1.m51 index c95d014..d5c340a 100644 --- a/MCU/MCU_REAL _FINAL/Listings/MCU_1.m51 +++ b/MCU/MCU_REAL _FINAL/Listings/MCU_1.m51 @@ -1,4 +1,4 @@ -BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY: @@ -48,7 +48,6 @@ LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN) XDATA 0092H 0004H UNIT ?XD?MINICLEAR?DISPLAY XDATA 0096H 0004H UNIT ?XD?TEST?DISPLAY XDATA 009AH 0003H UNIT ?XD?MAIN - XDATA 009DH 0002H UNIT ?XD?_MOVEPIECE?BLOCK * * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0003H ABSOLUTE @@ -59,35 +58,36 @@ LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN) CODE 0277H 0208H UNIT ?CO?DRAW CODE 047FH 01FFH UNIT ?PR?DROPPIECE?BLOCK CODE 067EH 0140H UNIT ?C?LIB_CODE - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 2 + CODE 07BEH 0128H UNIT ?PR?GENPIECE?BLOCK + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 2 - CODE 07BEH 0127H UNIT ?PR?GENPIECE?BLOCK - CODE 08E5H 011BH UNIT ?PR?DRAWNUMBER?DRAW - CODE 0A00H 0103H UNIT ?PR?_MOVEPIECE?BLOCK - CODE 0B03H 00E2H UNIT ?PR?_M_MAINMENU?MENU - CODE 0BE5H 00C5H UNIT ?PR?CLEAR?DISPLAY - CODE 0CAAH 00C5H UNIT ?PR?MINICLEAR?DISPLAY - CODE 0D6FH 00C5H UNIT ?PR?TEST?DISPLAY - CODE 0E34H 008EH UNIT ?PR?DRAWNAME?DRAW - CODE 0EC2H 008EH UNIT ?PR?DRAWBLOCK?BLOCK - CODE 0F50H 008CH UNIT ?C_C51STARTUP - CODE 0FDCH 0084H UNIT ?C_INITSEG - CODE 1060H 0074H UNIT ?PR?_M_STARTUP?MENU - CODE 10D4H 0071H UNIT ?PR?_PLACEIMG_BLOCK?DRAW - CODE 1145H 0065H UNIT ?PR?_ISIEGAL?BLOCK - CODE 11AAH 0064H UNIT ?PR?_M_BLOCK?MENU - CODE 120EH 0061H UNIT ?PR?TIME?MAIN - CODE 126FH 005DH UNIT ?PR?_PLACE_VOID_BLOCK?DRAW - CODE 12CCH 005CH UNIT ?PR?INT0?MAIN - CODE 1328H 0053H UNIT ?PR?MAIN?MAIN - CODE 137BH 0045H UNIT ?PR?MENUINIT?MENU - CODE 13C0H 0020H UNIT ?PR?_DELAY?DELAY - CODE 13E0H 001CH UNIT ?PR?DISPLAYINIT?DISPLAY - CODE 13FCH 0019H UNIT ?PR?WRITE?DISPLAY - CODE 1415H 000FH UNIT ?PR?BLOCKDESTROY?BLOCK - CODE 1424H 000BH UNIT ?PR?DELAY100US?DELAY - CODE 142FH 000BH UNIT ?PR?BLOCKINIT?BLOCK + CODE 08E6H 011BH UNIT ?PR?DRAWNUMBER?DRAW + CODE 0A01H 00E2H UNIT ?PR?_M_MAINMENU?MENU + CODE 0AE3H 00D1H UNIT ?PR?MOVELEFTPIECE?BLOCK + CODE 0BB4H 00C7H UNIT ?PR?MOVERIGHTPIECE?BLOCK + CODE 0C7BH 00C5H UNIT ?PR?CLEAR?DISPLAY + CODE 0D40H 00C5H UNIT ?PR?MINICLEAR?DISPLAY + CODE 0E05H 00C5H UNIT ?PR?TEST?DISPLAY + CODE 0ECAH 008EH UNIT ?PR?DRAWNAME?DRAW + CODE 0F58H 008EH UNIT ?PR?DRAWBLOCK?BLOCK + CODE 0FE6H 008CH UNIT ?C_C51STARTUP + CODE 1072H 0084H UNIT ?C_INITSEG + CODE 10F6H 0082H UNIT ?PR?_M_BLOCK?MENU + CODE 1178H 0074H UNIT ?PR?_M_STARTUP?MENU + CODE 11ECH 0071H UNIT ?PR?_PLACEIMG_BLOCK?DRAW + CODE 125DH 0065H UNIT ?PR?_ISIEGAL?BLOCK + CODE 12C2H 0061H UNIT ?PR?TIME?MAIN + CODE 1323H 005DH UNIT ?PR?_PLACE_VOID_BLOCK?DRAW + CODE 1380H 005CH UNIT ?PR?INT0?MAIN + CODE 13DCH 0053H UNIT ?PR?MAIN?MAIN + CODE 142FH 0045H UNIT ?PR?MENUINIT?MENU + CODE 1474H 0020H UNIT ?PR?_DELAY?DELAY + CODE 1494H 001CH UNIT ?PR?DISPLAYINIT?DISPLAY + CODE 14B0H 0019H UNIT ?PR?WRITE?DISPLAY + CODE 14C9H 000FH UNIT ?PR?BLOCKDESTROY?BLOCK + CODE 14D8H 000BH UNIT ?PR?DELAY100US?DELAY + CODE 14E3H 000BH UNIT ?PR?BLOCKINIT?BLOCK @@ -119,7 +119,7 @@ SEGMENT XDATA_GROUP ?PR?CLEAR?DISPLAY 008DH 0004H +--> ?PR?WRITE?DISPLAY - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 3 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 3 @@ -153,11 +153,19 @@ SEGMENT XDATA_GROUP ?PR?_M_BLOCK?MENU 008AH 0003H +--> ?PR?BLOCKINIT?BLOCK +--> ?PR?BLOCKDESTROY?BLOCK + +--> ?PR?MOVELEFTPIECE?BLOCK + +--> ?PR?MOVERIGHTPIECE?BLOCK +--> ?PR?DRAWBLOCK?BLOCK +--> ?PR?GENPIECE?BLOCK +--> ?PR?DROPPIECE?BLOCK +--> ?PR?_DELAY?DELAY +?PR?MOVELEFTPIECE?BLOCK 008DH 0001H + +--> ?PR?_ISIEGAL?BLOCK + +?PR?MOVERIGHTPIECE?BLOCK 008DH 0001H + +--> ?PR?_ISIEGAL?BLOCK + ?PR?DRAWBLOCK?BLOCK 008DH 0002H +--> ?PR?_PLACEIMG_BLOCK?DRAW +--> ?PR?_PLACE_VOID_BLOCK?DRAW @@ -171,6 +179,9 @@ SEGMENT XDATA_GROUP ?PR?GENPIECE?BLOCK 008DH 0004H + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 4 + + ?PR?DROPPIECE?BLOCK 008DH 0002H +--> ?PR?_ISIEGAL?BLOCK @@ -179,9 +190,6 @@ SEGMENT XDATA_GROUP SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) VALUE TYPE NAME - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 4 - - ---------------------------------- ------- MODULE MAIN @@ -194,8 +202,8 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) D:00B8H PUBLIC IP X:009AH PUBLIC TH X:009BH PUBLIC TL - C:1328H PUBLIC main - C:120EH PUBLIC time + C:13DCH PUBLIC main + C:12C2H PUBLIC time D:0098H PUBLIC SCON D:0089H PUBLIC TMOD D:0088H PUBLIC TCON @@ -211,69 +219,69 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) B:00B0H.4 PUBLIC PIN_3 D:00D0H PUBLIC PSW B:00B0H.5 PUBLIC PIN_4 - C:12CCH PUBLIC int0 + C:1380H PUBLIC int0 ------- PROC INT0 ------- DO D:0005H SYMBOL LS D:0007H SYMBOL CS D:0006H SYMBOL flag ------- ENDDO - C:12CCH LINE# 11 - C:12E1H LINE# 29 - C:12E3H LINE# 30 - C:12E7H LINE# 31 - C:12EAH LINE# 32 - C:12EAH LINE# 33 - C:12EFH LINE# 34 - C:12F1H LINE# 35 - C:12F3H LINE# 36 - C:12F8H LINE# 37 - C:12F8H LINE# 38 - C:1303H LINE# 39 - C:1308H LINE# 40 - C:1311H LINE# 41 - C:1315H LINE# 42 - C:1315H LINE# 44 + C:1380H LINE# 11 + C:1395H LINE# 29 + C:1397H LINE# 30 + C:139BH LINE# 31 + C:139EH LINE# 32 + C:139EH LINE# 33 + C:13A3H LINE# 34 + C:13A5H LINE# 35 + C:13A7H LINE# 36 + C:13ACH LINE# 37 + C:13ACH LINE# 38 + C:13B7H LINE# 39 + C:13BCH LINE# 40 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 5 + + + C:13C5H LINE# 41 + C:13C9H LINE# 42 + C:13C9H LINE# 44 ------- ENDPROC INT0 ------- PROC TIME - C:120EH LINE# 46 - C:122BH LINE# 48 - C:122DH LINE# 49 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 5 - - - C:1233H LINE# 50 - C:1239H LINE# 51 - C:123FH LINE# 53 - C:1242H LINE# 54 - C:1242H LINE# 55 - C:1249H LINE# 56 - C:124CH LINE# 57 - C:1252H LINE# 58 - C:1252H LINE# 59 - C:1254H LINE# 60 + C:12C2H LINE# 46 + C:12DFH LINE# 48 + C:12E1H LINE# 49 + C:12E7H LINE# 50 + C:12EDH LINE# 51 + C:12F3H LINE# 53 + C:12F6H LINE# 54 + C:12F6H LINE# 55 + C:12FDH LINE# 56 + C:1300H LINE# 57 + C:1306H LINE# 58 + C:1306H LINE# 59 + C:1308H LINE# 60 ------- ENDPROC TIME ------- PROC MAIN - C:1328H LINE# 62 - C:1328H LINE# 63 - C:1328H LINE# 64 - C:132EH LINE# 65 - C:1332H LINE# 66 - C:1335H LINE# 67 - C:1337H LINE# 69 - C:133AH LINE# 71 - C:133CH LINE# 72 - C:133EH LINE# 73 - C:1340H LINE# 76 - C:1342H LINE# 77 - C:1344H LINE# 79 - C:1346H LINE# 81 - C:1349H LINE# 82 - C:134CH LINE# 83 - C:134FH LINE# 85 - C:134FH LINE# 86 - C:134FH LINE# 88 - C:1379H LINE# 90 + C:13DCH LINE# 62 + C:13DCH LINE# 63 + C:13DCH LINE# 64 + C:13E2H LINE# 65 + C:13E6H LINE# 66 + C:13E9H LINE# 67 + C:13EBH LINE# 69 + C:13EEH LINE# 71 + C:13F0H LINE# 72 + C:13F2H LINE# 73 + C:13F4H LINE# 76 + C:13F6H LINE# 77 + C:13F8H LINE# 79 + C:13FAH LINE# 81 + C:13FDH LINE# 82 + C:1400H LINE# 83 + C:1403H LINE# 85 + C:1403H LINE# 86 + C:1403H LINE# 88 + C:142DH LINE# 90 ------- ENDPROC MAIN ------- ENDMOD MAIN @@ -282,152 +290,164 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) X:0061H PUBLIC M_MAINMENU X:0067H SYMBOL local X:0071H PUBLIC M_BLOCK - C:0B03H PUBLIC _m_mainmenu + C:0A01H PUBLIC _m_mainmenu X:0077H PUBLIC LAST X:007AH PUBLIC M_BALL - C:137BH PUBLIC menuInit + C:142FH PUBLIC menuInit X:0080H PUBLIC opr - C:11AAH PUBLIC _m_block + C:10F6H PUBLIC _m_block X:0081H PUBLIC M_STARTUP - C:1060H PUBLIC _m_startup + C:1178H PUBLIC _m_startup X:0087H PUBLIC NOW + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 6 + + ------- PROC _M_STARTUP X:008AH SYMBOL this - C:1060H LINE# 30 - C:106BH LINE# 31 - C:106BH LINE# 34 - C:1091H LINE# 35 - C:1091H LINE# 36 - C:109FH LINE# 38 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 6 - - - C:10A2H LINE# 39 - C:10A9H LINE# 40 - C:10ACH LINE# 41 - C:10ACH LINE# 43 - C:10B4H LINE# 44 - C:10B4H LINE# 45 - C:10B7H LINE# 46 - C:10D0H LINE# 47 - C:10D3H LINE# 48 - C:10D3H LINE# 50 + C:1178H LINE# 30 + C:1183H LINE# 31 + C:1183H LINE# 34 + C:11A9H LINE# 35 + C:11A9H LINE# 36 + C:11B7H LINE# 38 + C:11BAH LINE# 39 + C:11C1H LINE# 40 + C:11C4H LINE# 41 + C:11C4H LINE# 43 + C:11CCH LINE# 44 + C:11CCH LINE# 45 + C:11CFH LINE# 46 + C:11E8H LINE# 47 + C:11EBH LINE# 48 + C:11EBH LINE# 50 ------- ENDPROC _M_STARTUP ------- PROC _M_MAINMENU X:008AH SYMBOL this - C:0B03H LINE# 53 - C:0B0EH LINE# 54 - C:0B0EH LINE# 55 - C:0B34H LINE# 56 - C:0B34H LINE# 57 - C:0B42H LINE# 58 - C:0B4AH LINE# 59 - C:0B4AH LINE# 61 - C:0B52H LINE# 62 - C:0B52H LINE# 63 - C:0B58H LINE# 64 - C:0B62H LINE# 65 - C:0B65H LINE# 67 - C:0B6BH LINE# 68 - C:0B73H LINE# 69 - C:0B73H LINE# 70 - C:0B79H LINE# 71 - C:0B79H LINE# 72 - C:0B7FH LINE# 73 - C:0B81H LINE# 75 - C:0B87H LINE# 76 - C:0B8FH LINE# 77 - C:0B8FH LINE# 78 - C:0B97H LINE# 79 - C:0B97H LINE# 81 - C:0BA8H LINE# 82 - C:0BA8H LINE# 83 - C:0BA8H LINE# 85 - C:0BA8H LINE# 86 - C:0BB6H LINE# 87 - C:0BB8H LINE# 88 - C:0BB8H LINE# 89 - C:0BC6H LINE# 90 - C:0BC8H LINE# 91 - C:0BC8H LINE# 92 - C:0BD6H LINE# 93 - C:0BD6H LINE# 94 - C:0BD6H LINE# 96 - C:0BDBH LINE# 97 - C:0BDEH LINE# 98 - C:0BE4H LINE# 99 - C:0BE4H LINE# 100 + C:0A01H LINE# 53 + C:0A0CH LINE# 54 + C:0A0CH LINE# 55 + C:0A32H LINE# 56 + C:0A32H LINE# 57 + C:0A40H LINE# 58 + C:0A48H LINE# 59 + C:0A48H LINE# 61 + C:0A50H LINE# 62 + C:0A50H LINE# 63 + C:0A56H LINE# 64 + C:0A60H LINE# 65 + C:0A63H LINE# 67 + C:0A69H LINE# 68 + C:0A71H LINE# 69 + C:0A71H LINE# 70 + C:0A77H LINE# 71 + C:0A77H LINE# 72 + C:0A7DH LINE# 73 + C:0A7FH LINE# 75 + C:0A85H LINE# 76 + C:0A8DH LINE# 77 + C:0A8DH LINE# 78 + C:0A95H LINE# 79 + C:0A95H LINE# 81 + C:0AA6H LINE# 82 + C:0AA6H LINE# 83 + C:0AA6H LINE# 85 + C:0AA6H LINE# 86 + C:0AB4H LINE# 87 + C:0AB6H LINE# 88 + C:0AB6H LINE# 89 + C:0AC4H LINE# 90 + C:0AC6H LINE# 91 + C:0AC6H LINE# 92 + C:0AD4H LINE# 93 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 7 + + + C:0AD4H LINE# 94 + C:0AD4H LINE# 96 + C:0AD9H LINE# 97 + C:0ADCH LINE# 98 + C:0AE2H LINE# 99 + C:0AE2H LINE# 100 ------- ENDPROC _M_MAINMENU ------- PROC _M_BLOCK - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 7 - - X:008AH SYMBOL this - C:11AAH LINE# 104 - C:11B5H LINE# 105 - C:11B5H LINE# 106 - C:11DBH LINE# 107 - C:11DBH LINE# 108 - C:11E9H LINE# 109 - C:11ECH LINE# 110 - C:11ECH LINE# 111 - C:11F4H LINE# 112 - C:11F4H LINE# 113 - C:11F7H LINE# 114 - C:11FAH LINE# 115 - C:11FDH LINE# 117 - C:11FDH LINE# 119 - C:1200H LINE# 120 - C:1203H LINE# 121 - C:1206H LINE# 122 - C:120DH LINE# 125 + C:10F6H LINE# 104 + C:1101H LINE# 105 + C:1101H LINE# 106 + C:1127H LINE# 107 + C:1127H LINE# 108 + C:1135H LINE# 109 + C:1138H LINE# 110 + C:1138H LINE# 112 + C:1140H LINE# 113 + C:1140H LINE# 114 + C:1143H LINE# 115 + C:1146H LINE# 116 + C:1148H LINE# 118 + C:1148H LINE# 119 + C:114EH LINE# 120 + C:114EH LINE# 121 + C:1151H LINE# 122 + C:1154H LINE# 123 + C:1156H LINE# 125 + C:1156H LINE# 126 + C:115EH LINE# 127 + C:115EH LINE# 128 + C:1161H LINE# 129 + C:1164H LINE# 130 + C:1167H LINE# 132 + C:1167H LINE# 134 + C:116AH LINE# 135 + C:116DH LINE# 136 + C:1170H LINE# 137 + C:1177H LINE# 140 ------- ENDPROC _M_BLOCK ------- PROC MENUINIT - C:137BH LINE# 126 - C:137BH LINE# 127 - C:137BH LINE# 128 - C:1389H LINE# 129 - C:1395H LINE# 131 - C:13A3H LINE# 132 - C:13B1H LINE# 135 - C:13BFH LINE# 139 + C:142FH LINE# 141 + C:142FH LINE# 142 + C:142FH LINE# 143 + C:143DH LINE# 144 + C:1449H LINE# 146 + C:1457H LINE# 147 + C:1465H LINE# 150 + C:1473H LINE# 154 ------- ENDPROC MENUINIT ------- ENDMOD MENU ------- MODULE DELAY C:0000H SYMBOL _ICE_DUMMY_ - C:1424H PUBLIC delay100us - C:13C0H PUBLIC _delay + C:14D8H PUBLIC delay100us + C:1474H PUBLIC _delay ------- PROC DELAY100US + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 8 + + ------- DO D:0007H SYMBOL i D:0006H SYMBOL j ------- ENDDO - C:1424H LINE# 3 - C:1424H LINE# 4 - C:1424H LINE# 7 - C:1425H LINE# 8 - C:1426H LINE# 9 - C:1428H LINE# 10 - C:142AH LINE# 12 - C:142AH LINE# 13 - C:142CH LINE# 14 - C:142EH LINE# 15 + C:14D8H LINE# 3 + C:14D8H LINE# 4 + C:14D8H LINE# 7 + C:14D9H LINE# 8 + C:14DAH LINE# 9 + C:14DCH LINE# 10 + C:14DEH LINE# 12 + C:14DEH LINE# 13 + C:14E0H LINE# 14 + C:14E2H LINE# 15 ------- ENDPROC DELAY100US ------- PROC _DELAY D:0006H SYMBOL n ------- DO D:0006H SYMBOL i D:0004H SYMBOL j - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 8 - - ------- ENDDO - C:13C0H LINE# 24 - C:13C0H LINE# 26 - C:13C0H LINE# 27 - C:13CBH LINE# 28 - C:13DFH LINE# 29 + C:1474H LINE# 24 + C:1474H LINE# 26 + C:1474H LINE# 27 + C:147FH LINE# 28 + C:1493H LINE# 29 ------- ENDPROC _DELAY ------- ENDMOD DELAY @@ -436,195 +456,195 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) D:0090H PUBLIC P1 D:00A0H PUBLIC P2 D:00B0H PUBLIC P3 - C:0BE5H PUBLIC clear + C:0C7BH PUBLIC clear D:00A8H PUBLIC IE - C:13E0H PUBLIC displayInit + C:1494H PUBLIC displayInit D:00B8H PUBLIC IP B:00A0H.0 PUBLIC RS B:00A0H.1 PUBLIC RW - C:1405H PUBLIC write + C:14B9H PUBLIC write D:0098H PUBLIC SCON D:0088H PUBLIC TCON - C:0CAAH PUBLIC miniclear - C:0D6FH PUBLIC test + C:0D40H PUBLIC miniclear + C:0E05H PUBLIC test B:00A0H.2 PUBLIC E B:00A0H.4 PUBLIC CSA B:00A0H.5 PUBLIC CSB D:00C8H PUBLIC T2CON D:00D0H PUBLIC PSW - C:13FCH SYMBOL L?0055 + C:14B0H SYMBOL L?0055 ------- PROC L?0054 ------- ENDPROC L?0054 - C:13FCH SYMBOL L?0055 + C:14B0H SYMBOL L?0055 ------- PROC WRITE - C:1405H LINE# 17 - C:1405H LINE# 18 - C:1405H LINE# 19 - C:1407H LINE# 20 - C:1409H LINE# 21 - C:140BH LINE# 22 - C:1412H LINE# 23 - C:1414H LINE# 24 + C:14B9H LINE# 17 + C:14B9H LINE# 18 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 9 + + + C:14B9H LINE# 19 + C:14BBH LINE# 20 + C:14BDH LINE# 21 + C:14BFH LINE# 22 + C:14C6H LINE# 23 + C:14C8H LINE# 24 ------- ENDPROC WRITE ------- PROC CLEAR ------- DO X:008DH SYMBOL i X:008FH SYMBOL j ------- ENDDO - C:0BE5H LINE# 28 - C:0BE5H LINE# 29 - C:0BE5H LINE# 31 - C:0BE7H LINE# 32 - C:0BE9H LINE# 33 - C:0C00H LINE# 34 - C:0C00H LINE# 35 - C:0C00H LINE# 36 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 9 - - - C:0C00H LINE# 37 - C:0C00H LINE# 38 - C:0C03H LINE# 39 - C:0C06H LINE# 40 - C:0C09H LINE# 42 - C:0C10H LINE# 43 - C:0C10H LINE# 44 - C:0C12H LINE# 45 - C:0C14H LINE# 46 - C:0C17H LINE# 47 - C:0C1AH LINE# 48 - C:0C37H LINE# 49 - C:0C47H LINE# 50 - C:0C49H LINE# 51 - C:0C4BH LINE# 52 - C:0C62H LINE# 53 - C:0C62H LINE# 54 - C:0C62H LINE# 55 - C:0C62H LINE# 56 - C:0C62H LINE# 57 - C:0C65H LINE# 58 - C:0C68H LINE# 59 - C:0C6BH LINE# 61 - C:0C72H LINE# 62 - C:0C72H LINE# 63 - C:0C74H LINE# 64 - C:0C76H LINE# 65 - C:0C79H LINE# 66 - C:0C7CH LINE# 67 - C:0C99H LINE# 68 - C:0CA9H LINE# 69 + C:0C7BH LINE# 28 + C:0C7BH LINE# 29 + C:0C7BH LINE# 31 + C:0C7DH LINE# 32 + C:0C7FH LINE# 33 + C:0C96H LINE# 34 + C:0C96H LINE# 35 + C:0C96H LINE# 36 + C:0C96H LINE# 37 + C:0C96H LINE# 38 + C:0C99H LINE# 39 + C:0C9CH LINE# 40 + C:0C9FH LINE# 42 + C:0CA6H LINE# 43 + C:0CA6H LINE# 44 + C:0CA8H LINE# 45 + C:0CAAH LINE# 46 + C:0CADH LINE# 47 + C:0CB0H LINE# 48 + C:0CCDH LINE# 49 + C:0CDDH LINE# 50 + C:0CDFH LINE# 51 + C:0CE1H LINE# 52 + C:0CF8H LINE# 53 + C:0CF8H LINE# 54 + C:0CF8H LINE# 55 + C:0CF8H LINE# 56 + C:0CF8H LINE# 57 + C:0CFBH LINE# 58 + C:0CFEH LINE# 59 + C:0D01H LINE# 61 + C:0D08H LINE# 62 + C:0D08H LINE# 63 + C:0D0AH LINE# 64 + C:0D0CH LINE# 65 + C:0D0FH LINE# 66 + C:0D12H LINE# 67 + C:0D2FH LINE# 68 + C:0D3FH LINE# 69 ------- ENDPROC CLEAR ------- PROC MINICLEAR ------- DO X:0092H SYMBOL i X:0094H SYMBOL j ------- ENDDO - C:0CAAH LINE# 72 - C:0CAAH LINE# 73 - C:0CAAH LINE# 75 - C:0CACH LINE# 76 - C:0CAEH LINE# 77 - C:0CC5H LINE# 78 - C:0CC5H LINE# 79 - C:0CC5H LINE# 80 - C:0CC5H LINE# 81 - C:0CC5H LINE# 82 - C:0CC8H LINE# 83 - C:0CCBH LINE# 84 - C:0CCEH LINE# 86 - C:0CD5H LINE# 87 - C:0CD5H LINE# 88 - C:0CD7H LINE# 89 - C:0CD9H LINE# 90 - C:0CDCH LINE# 91 - C:0CDFH LINE# 92 - C:0CFCH LINE# 93 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 10 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 10 - C:0D0CH LINE# 94 - C:0D0EH LINE# 95 - C:0D10H LINE# 96 - C:0D27H LINE# 97 - C:0D27H LINE# 98 - C:0D27H LINE# 99 - C:0D27H LINE# 100 - C:0D27H LINE# 101 - C:0D2AH LINE# 102 - C:0D2DH LINE# 103 - C:0D30H LINE# 105 - C:0D37H LINE# 106 - C:0D37H LINE# 107 - C:0D39H LINE# 108 - C:0D3BH LINE# 109 - C:0D3EH LINE# 110 - C:0D41H LINE# 111 - C:0D5EH LINE# 112 - C:0D6EH LINE# 113 + C:0D40H LINE# 72 + C:0D40H LINE# 73 + C:0D40H LINE# 75 + C:0D42H LINE# 76 + C:0D44H LINE# 77 + C:0D5BH LINE# 78 + C:0D5BH LINE# 79 + C:0D5BH LINE# 80 + C:0D5BH LINE# 81 + C:0D5BH LINE# 82 + C:0D5EH LINE# 83 + C:0D61H LINE# 84 + C:0D64H LINE# 86 + C:0D6BH LINE# 87 + C:0D6BH LINE# 88 + C:0D6DH LINE# 89 + C:0D6FH LINE# 90 + C:0D72H LINE# 91 + C:0D75H LINE# 92 + C:0D92H LINE# 93 + C:0DA2H LINE# 94 + C:0DA4H LINE# 95 + C:0DA6H LINE# 96 + C:0DBDH LINE# 97 + C:0DBDH LINE# 98 + C:0DBDH LINE# 99 + C:0DBDH LINE# 100 + C:0DBDH LINE# 101 + C:0DC0H LINE# 102 + C:0DC3H LINE# 103 + C:0DC6H LINE# 105 + C:0DCDH LINE# 106 + C:0DCDH LINE# 107 + C:0DCFH LINE# 108 + C:0DD1H LINE# 109 + C:0DD4H LINE# 110 + C:0DD7H LINE# 111 + C:0DF4H LINE# 112 + C:0E04H LINE# 113 ------- ENDPROC MINICLEAR ------- PROC DISPLAYINIT - C:13E0H LINE# 114 - C:13E0H LINE# 115 - C:13E0H LINE# 116 - C:13E2H LINE# 117 - C:13E4H LINE# 118 - C:13E6H LINE# 119 - C:13E8H LINE# 120 - C:13EAH LINE# 121 - C:13EDH LINE# 122 - C:13F0H LINE# 124 - C:13F2H LINE# 125 - C:13F4H LINE# 126 - C:13F6H LINE# 127 - C:13F9H LINE# 128 + C:1494H LINE# 114 + C:1494H LINE# 115 + C:1494H LINE# 116 + C:1496H LINE# 117 + C:1498H LINE# 118 + C:149AH LINE# 119 + C:149CH LINE# 120 + C:149EH LINE# 121 + C:14A1H LINE# 122 + C:14A4H LINE# 124 + C:14A6H LINE# 125 + C:14A8H LINE# 126 + C:14AAH LINE# 127 + C:14ADH LINE# 128 ------- ENDPROC DISPLAYINIT ------- PROC TEST + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 11 + + ------- DO X:0096H SYMBOL i X:0098H SYMBOL j ------- ENDDO - C:0D6FH LINE# 131 - C:0D6FH LINE# 132 - C:0D6FH LINE# 134 - C:0D71H LINE# 135 - C:0D73H LINE# 136 - C:0D8AH LINE# 137 - C:0D8AH LINE# 138 - C:0D8AH LINE# 139 - C:0D8AH LINE# 140 - C:0D8AH LINE# 141 - C:0D8DH LINE# 142 - C:0D90H LINE# 143 - C:0D93H LINE# 145 - C:0D9AH LINE# 146 - C:0D9AH LINE# 147 - C:0D9CH LINE# 148 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 11 - - - C:0D9EH LINE# 149 - C:0DA1H LINE# 150 - C:0DA4H LINE# 151 - C:0DC1H LINE# 152 - C:0DD1H LINE# 153 - C:0DD3H LINE# 154 - C:0DD5H LINE# 155 - C:0DECH LINE# 156 - C:0DECH LINE# 157 - C:0DECH LINE# 158 - C:0DECH LINE# 159 - C:0DECH LINE# 160 - C:0DEFH LINE# 161 - C:0DF2H LINE# 162 - C:0DF5H LINE# 164 - C:0DFCH LINE# 165 - C:0DFCH LINE# 166 - C:0DFEH LINE# 167 - C:0E00H LINE# 168 - C:0E03H LINE# 169 - C:0E06H LINE# 170 - C:0E23H LINE# 171 - C:0E33H LINE# 172 + C:0E05H LINE# 131 + C:0E05H LINE# 132 + C:0E05H LINE# 134 + C:0E07H LINE# 135 + C:0E09H LINE# 136 + C:0E20H LINE# 137 + C:0E20H LINE# 138 + C:0E20H LINE# 139 + C:0E20H LINE# 140 + C:0E20H LINE# 141 + C:0E23H LINE# 142 + C:0E26H LINE# 143 + C:0E29H LINE# 145 + C:0E30H LINE# 146 + C:0E30H LINE# 147 + C:0E32H LINE# 148 + C:0E34H LINE# 149 + C:0E37H LINE# 150 + C:0E3AH LINE# 151 + C:0E57H LINE# 152 + C:0E67H LINE# 153 + C:0E69H LINE# 154 + C:0E6BH LINE# 155 + C:0E82H LINE# 156 + C:0E82H LINE# 157 + C:0E82H LINE# 158 + C:0E82H LINE# 159 + C:0E82H LINE# 160 + C:0E85H LINE# 161 + C:0E88H LINE# 162 + C:0E8BH LINE# 164 + C:0E92H LINE# 165 + C:0E92H LINE# 166 + C:0E94H LINE# 167 + C:0E96H LINE# 168 + C:0E99H LINE# 169 + C:0E9CH LINE# 170 + C:0EB9H LINE# 171 + C:0EC9H LINE# 172 ------- ENDPROC TEST ------- ENDMOD DISPLAY @@ -639,6 +659,9 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) C:03D7H PUBLIC MAINMANU_PAGE3 C:03F7H PUBLIC MAINMANU_PAGE4 D:00A8H PUBLIC IE + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 12 + + C:0417H PUBLIC MAINMANU_PAGE5 C:000EH PUBLIC _drawMAINMENU C:0437H PUBLIC MAINMANU_PAGE6 @@ -648,117 +671,117 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) B:00A0H.1 PUBLIC RW C:0477H PUBLIC IMG_BLOCK D:0098H PUBLIC SCON - C:10D4H PUBLIC _placeIMG_BLOCK + C:11ECH PUBLIC _placeIMG_BLOCK D:0088H PUBLIC TCON C:0357H PUBLIC NUMBER_RPAGE0 C:0367H PUBLIC NUMBER_RPAGE1 C:0277H PUBLIC NAME_PAGE0 C:02A7H PUBLIC NAME_PAGE1 - C:0E34H PUBLIC drawNAME + C:0ECAH PUBLIC drawNAME B:00A0H.4 PUBLIC CSA B:00A0H.5 PUBLIC CSB D:00C8H PUBLIC T2CON - C:126FH PUBLIC _place_VOID_BLOCK - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 12 - - + C:1323H PUBLIC _place_VOID_BLOCK D:00D0H PUBLIC PSW C:02D7H PUBLIC NUMBER_PAGE0 C:0317H PUBLIC NUMBER_PAGE1 - C:08E5H PUBLIC drawNUMBER + C:08E6H PUBLIC drawNUMBER ------- PROC DRAWNUMBER ------- DO X:008DH SYMBOL j ------- ENDDO - C:08E5H LINE# 16 - C:08E5H LINE# 17 - C:08E5H LINE# 19 - C:08ECH LINE# 20 - C:08ECH LINE# 22 - C:08EEH LINE# 23 - C:08F0H LINE# 24 - C:08F2H LINE# 25 - C:08F4H LINE# 26 - C:08F7H LINE# 27 - C:08FAH LINE# 28 - C:0903H LINE# 29 - C:0906H LINE# 31 - C:0908H LINE# 32 - C:090AH LINE# 33 - C:091EH LINE# 34 - C:0921H LINE# 36 - C:0923H LINE# 37 - C:0925H LINE# 38 - C:0928H LINE# 39 - C:092BH LINE# 40 - C:0934H LINE# 41 - C:0937H LINE# 43 - C:0939H LINE# 44 - C:093BH LINE# 45 - C:094FH LINE# 46 - C:0952H LINE# 48 - C:0972H LINE# 49 - C:0979H LINE# 50 - C:0979H LINE# 53 - C:097BH LINE# 54 - C:097DH LINE# 55 - C:097FH LINE# 56 - C:0981H LINE# 57 - C:0984H LINE# 58 - C:0987H LINE# 59 - C:0990H LINE# 60 - C:0993H LINE# 62 - C:0995H LINE# 63 - C:0997H LINE# 64 - C:09ABH LINE# 65 - C:09AEH LINE# 67 - C:09B0H LINE# 68 - C:09B2H LINE# 69 - C:09B5H LINE# 70 - C:09B8H LINE# 71 - C:09C1H LINE# 72 - C:09C4H LINE# 74 - C:09C6H LINE# 75 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 13 + C:08E6H LINE# 16 + C:08E6H LINE# 17 + C:08E6H LINE# 19 + C:08EDH LINE# 20 + C:08EDH LINE# 22 + C:08EFH LINE# 23 + C:08F1H LINE# 24 + C:08F3H LINE# 25 + C:08F5H LINE# 26 + C:08F8H LINE# 27 + C:08FBH LINE# 28 + C:0904H LINE# 29 + C:0907H LINE# 31 + C:0909H LINE# 32 + C:090BH LINE# 33 + C:091FH LINE# 34 + C:0922H LINE# 36 + C:0924H LINE# 37 + C:0926H LINE# 38 + C:0929H LINE# 39 + C:092CH LINE# 40 + C:0935H LINE# 41 + C:0938H LINE# 43 + C:093AH LINE# 44 + C:093CH LINE# 45 + C:0950H LINE# 46 + C:0953H LINE# 48 + C:0973H LINE# 49 + C:097AH LINE# 50 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 13 - C:09C8H LINE# 76 - C:09DCH LINE# 77 - C:09DFH LINE# 80 - C:09FFH LINE# 81 + C:097AH LINE# 53 + C:097CH LINE# 54 + C:097EH LINE# 55 + C:0980H LINE# 56 + C:0982H LINE# 57 + C:0985H LINE# 58 + C:0988H LINE# 59 + C:0991H LINE# 60 + C:0994H LINE# 62 + C:0996H LINE# 63 + C:0998H LINE# 64 + C:09ACH LINE# 65 + C:09AFH LINE# 67 + C:09B1H LINE# 68 + C:09B3H LINE# 69 + C:09B6H LINE# 70 + C:09B9H LINE# 71 + C:09C2H LINE# 72 + C:09C5H LINE# 74 + C:09C7H LINE# 75 + C:09C9H LINE# 76 + C:09DDH LINE# 77 + C:09E0H LINE# 80 + C:0A00H LINE# 81 ------- ENDPROC DRAWNUMBER ------- PROC DRAWNAME ------- DO X:008DH SYMBOL j ------- ENDDO - C:0E34H LINE# 83 - C:0E34H LINE# 84 - C:0E34H LINE# 87 - C:0E3BH LINE# 88 - C:0E3BH LINE# 89 - C:0E3DH LINE# 90 - C:0E3FH LINE# 91 - C:0E41H LINE# 92 - C:0E43H LINE# 93 - C:0E46H LINE# 94 - C:0E49H LINE# 95 - C:0E52H LINE# 96 - C:0E55H LINE# 98 - C:0E57H LINE# 99 - C:0E59H LINE# 100 - C:0E6DH LINE# 101 - C:0E70H LINE# 103 - C:0E72H LINE# 104 - C:0E74H LINE# 105 - C:0E77H LINE# 106 - C:0E7AH LINE# 107 - C:0E83H LINE# 108 - C:0E86H LINE# 110 - C:0E88H LINE# 111 - C:0E8AH LINE# 112 - C:0E9EH LINE# 113 - C:0EA1H LINE# 114 - C:0EC1H LINE# 115 + C:0ECAH LINE# 83 + C:0ECAH LINE# 84 + C:0ECAH LINE# 87 + C:0ED1H LINE# 88 + C:0ED1H LINE# 89 + C:0ED3H LINE# 90 + C:0ED5H LINE# 91 + C:0ED7H LINE# 92 + C:0ED9H LINE# 93 + C:0EDCH LINE# 94 + C:0EDFH LINE# 95 + C:0EE8H LINE# 96 + C:0EEBH LINE# 98 + C:0EEDH LINE# 99 + C:0EEFH LINE# 100 + C:0F03H LINE# 101 + C:0F06H LINE# 103 + C:0F08H LINE# 104 + C:0F0AH LINE# 105 + C:0F0DH LINE# 106 + C:0F10H LINE# 107 + C:0F19H LINE# 108 + C:0F1CH LINE# 110 + C:0F1EH LINE# 111 + C:0F20H LINE# 112 + C:0F34H LINE# 113 + C:0F37H LINE# 114 + C:0F57H LINE# 115 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 14 + + ------- ENDPROC DRAWNAME ------- PROC _DRAWMAINMENU X:008DH SYMBOL i @@ -779,9 +802,6 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) C:002FH LINE# 130 C:0032H LINE# 132 C:0034H LINE# 133 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 14 - - C:0036H LINE# 134 C:004AH LINE# 135 C:004DH LINE# 137 @@ -819,6 +839,9 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) C:00EAH LINE# 177 C:00F2H LINE# 178 C:0107H LINE# 180 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 15 + + C:011BH LINE# 181 C:011EH LINE# 183 C:0120H LINE# 184 @@ -839,9 +862,6 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) C:0176H LINE# 202 C:017FH LINE# 203 C:0182H LINE# 205 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 15 - - C:0184H LINE# 206 C:0186H LINE# 207 C:018EH LINE# 208 @@ -879,53 +899,53 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) X:0090H SYMBOL y ------- DO X:0091H SYMBOL j + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 16 + + ------- ENDDO - C:10D4H LINE# 245 - C:10DCH LINE# 246 - C:10DCH LINE# 248 - C:10F3H LINE# 249 - C:10F3H LINE# 251 - C:10F5H LINE# 252 - C:10F7H LINE# 253 - C:10F9H LINE# 254 - C:10FBH LINE# 255 - C:1106H LINE# 256 - C:1109H LINE# 257 - C:111BH LINE# 258 - C:111EH LINE# 260 - C:1120H LINE# 261 - C:1122H LINE# 262 - C:1139H LINE# 263 - C:113CH LINE# 264 - C:1144H LINE# 265 + C:11ECH LINE# 245 + C:11F4H LINE# 246 + C:11F4H LINE# 248 + C:120BH LINE# 249 + C:120BH LINE# 251 + C:120DH LINE# 252 + C:120FH LINE# 253 + C:1211H LINE# 254 + C:1213H LINE# 255 + C:121EH LINE# 256 + C:1221H LINE# 257 + C:1233H LINE# 258 + C:1236H LINE# 260 + C:1238H LINE# 261 + C:123AH LINE# 262 + C:1251H LINE# 263 + C:1254H LINE# 264 + C:125CH LINE# 265 ------- ENDPROC _PLACEIMG_BLOCK - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 16 - - ------- PROC _PLACE_VOID_BLOCK X:008FH SYMBOL x X:0090H SYMBOL y ------- DO X:0091H SYMBOL j ------- ENDDO - C:126FH LINE# 267 - C:1277H LINE# 268 - C:1277H LINE# 270 - C:128EH LINE# 271 - C:128EH LINE# 273 - C:1290H LINE# 274 - C:1292H LINE# 275 - C:1294H LINE# 276 - C:1296H LINE# 277 - C:12A1H LINE# 278 - C:12A4H LINE# 279 - C:12B6H LINE# 280 - C:12B9H LINE# 282 - C:12BBH LINE# 283 - C:12BDH LINE# 284 - C:12C0H LINE# 285 - C:12C3H LINE# 286 - C:12CBH LINE# 287 + C:1323H LINE# 267 + C:132BH LINE# 268 + C:132BH LINE# 270 + C:1342H LINE# 271 + C:1342H LINE# 273 + C:1344H LINE# 274 + C:1346H LINE# 275 + C:1348H LINE# 276 + C:134AH LINE# 277 + C:1355H LINE# 278 + C:1358H LINE# 279 + C:136AH LINE# 280 + C:136DH LINE# 282 + C:136FH LINE# 283 + C:1371H LINE# 284 + C:1374H LINE# 285 + C:1377H LINE# 286 + C:137FH LINE# 287 ------- ENDPROC _PLACE_VOID_BLOCK ------- ENDMOD DRAW @@ -936,34 +956,35 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) D:00A8H PUBLIC IE D:00B8H PUBLIC IP X:0000H PUBLIC base - C:0EC2H PUBLIC drawBlock + C:0F58H PUBLIC drawBlock C:047FH PUBLIC dropPiece - C:0A00H PUBLIC _movePiece - C:142FH PUBLIC blockInit + C:0BB4H PUBLIC moveRightPiece + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 17 + + C:07BEH PUBLIC genPiece + C:14E3H PUBLIC blockInit + C:0AE3H PUBLIC moveLeftPiece D:0098H PUBLIC SCON D:0088H PUBLIC TCON - C:1145H PUBLIC _isIegal + C:125DH PUBLIC _isIegal X:0060H PUBLIC type D:008CH PUBLIC TH0 D:00C8H PUBLIC T2CON D:00D0H PUBLIC PSW - C:1415H PUBLIC blockDestroy + C:14C9H PUBLIC blockDestroy ------- PROC BLOCKINIT - C:142FH LINE# 8 - C:142FH LINE# 9 - C:142FH LINE# 11 - C:1435H LINE# 12 - C:1437H LINE# 13 - C:1439H LINE# 15 + C:14E3H LINE# 10 + C:14E3H LINE# 11 + C:14E3H LINE# 13 + C:14E9H LINE# 14 + C:14EBH LINE# 15 + C:14EDH LINE# 17 ------- ENDPROC BLOCKINIT ------- PROC BLOCKDESTROY - C:1415H LINE# 17 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 17 - - - C:1415H LINE# 18 - C:1415H LINE# 19 + C:14C9H LINE# 19 + C:14C9H LINE# 20 + C:14C9H LINE# 21 ------- ENDPROC BLOCKDESTROY ------- PROC GENPIECE ------- DO @@ -972,161 +993,171 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) X:008DH SYMBOL random X:008FH SYMBOL len ------- ENDDO - C:07BEH LINE# 22 - C:07BEH LINE# 23 - C:07BEH LINE# 27 - C:07CBH LINE# 28 - C:07DDH LINE# 32 - C:07F0H LINE# 33 - C:0803H LINE# 34 - C:0840H LINE# 40 - C:084DH LINE# 41 - C:084DH LINE# 42 - C:0860H LINE# 43 - C:0860H LINE# 44 - C:0866H LINE# 45 - C:0868H LINE# 46 - C:086AH LINE# 48 - C:086AH LINE# 49 - C:0870H LINE# 50 - C:0874H LINE# 51 - C:0874H LINE# 52 - C:0874H LINE# 54 - C:087AH LINE# 55 - C:087AH LINE# 56 - C:0885H LINE# 57 - C:0885H LINE# 58 - C:088BH LINE# 59 - C:088DH LINE# 60 - C:088FH LINE# 61 - C:0891H LINE# 62 - C:0897H LINE# 63 - C:0897H LINE# 64 - C:089DH LINE# 65 - C:08A1H LINE# 66 - C:08A5H LINE# 67 - C:08A7H LINE# 68 - C:08ADH LINE# 69 - C:08ADH LINE# 70 - C:08B0H LINE# 71 - C:08B0H LINE# 72 - C:08B0H LINE# 73 - C:08B2H LINE# 74 - C:08B8H LINE# 75 - C:08B8H LINE# 76 - C:08BEH LINE# 77 - C:08C2H LINE# 78 - C:08C6H LINE# 79 - C:08C6H LINE# 80 - C:08C6H LINE# 82 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 18 + C:07BEH LINE# 24 + C:07BEH LINE# 25 + C:07BEH LINE# 29 + C:07CBH LINE# 30 + C:07DDH LINE# 34 + C:07F0H LINE# 35 + C:0803H LINE# 36 + C:0840H LINE# 42 + C:084DH LINE# 43 + C:084DH LINE# 44 + C:0860H LINE# 45 + C:0860H LINE# 46 + C:0866H LINE# 47 + C:0867H LINE# 48 + C:0869H LINE# 50 + C:0869H LINE# 51 + C:086FH LINE# 52 + C:0873H LINE# 53 + C:0873H LINE# 54 + C:0873H LINE# 56 + C:0879H LINE# 57 + C:0879H LINE# 58 + C:0884H LINE# 59 + C:0884H LINE# 60 + C:088AH LINE# 61 + C:088EH LINE# 62 + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 18 - C:08D2H LINE# 83 - C:08D2H LINE# 84 - C:08D8H LINE# 85 - C:08DCH LINE# 86 - C:08E0H LINE# 87 - C:08E4H LINE# 88 - C:08E4H LINE# 89 + C:0890H LINE# 63 + C:0892H LINE# 64 + C:0898H LINE# 65 + C:0898H LINE# 66 + C:089EH LINE# 67 + C:08A2H LINE# 68 + C:08A6H LINE# 69 + C:08A8H LINE# 70 + C:08AEH LINE# 71 + C:08AEH LINE# 72 + C:08B1H LINE# 73 + C:08B1H LINE# 74 + C:08B1H LINE# 75 + C:08B3H LINE# 76 + C:08B9H LINE# 77 + C:08B9H LINE# 78 + C:08BFH LINE# 79 + C:08C3H LINE# 80 + C:08C7H LINE# 81 + C:08C7H LINE# 82 + C:08C7H LINE# 84 + C:08D3H LINE# 85 + C:08D3H LINE# 86 + C:08D9H LINE# 87 + C:08DDH LINE# 88 + C:08E1H LINE# 89 + C:08E5H LINE# 90 + C:08E5H LINE# 91 ------- ENDPROC GENPIECE ------- PROC _ISIEGAL D:0007H SYMBOL i D:0005H SYMBOL j - C:1145H LINE# 92 - C:1145H LINE# 93 - C:1145H LINE# 94 - C:11A4H LINE# 95 - C:11A7H LINE# 96 - C:11A9H LINE# 97 + C:125DH LINE# 94 + C:125DH LINE# 95 + C:125DH LINE# 96 + C:12BCH LINE# 97 + C:12BFH LINE# 98 + C:12C1H LINE# 99 ------- ENDPROC _ISIEGAL ------- PROC DRAWBLOCK ------- DO X:008DH SYMBOL i X:008EH SYMBOL j ------- ENDDO - C:0EC2H LINE# 100 - C:0EC2H LINE# 101 - C:0EC2H LINE# 103 - C:0EDBH LINE# 104 - C:0EF3H LINE# 105 - C:0F29H LINE# 106 - C:0F33H LINE# 108 - C:0F4FH LINE# 109 + C:0F58H LINE# 102 + C:0F58H LINE# 103 + C:0F58H LINE# 105 + C:0F71H LINE# 106 + C:0F89H LINE# 107 + C:0FBFH LINE# 108 + C:0FC9H LINE# 110 + C:0FE5H LINE# 111 ------- ENDPROC DRAWBLOCK ------- PROC DROPPIECE ------- DO X:008DH SYMBOL i D:0001H SYMBOL j + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 19 + + X:008EH SYMBOL flag ------- ENDDO - C:047FH LINE# 112 - C:047FH LINE# 113 C:047FH LINE# 114 - C:0484H LINE# 117 - C:049FH LINE# 118 - C:049FH LINE# 119 - C:04B5H LINE# 120 - C:04B5H LINE# 121 - C:04C7H LINE# 122 - C:04C7H LINE# 123 - C:04FFH LINE# 124 + C:047FH LINE# 115 + C:047FH LINE# 116 + C:0484H LINE# 119 + C:049FH LINE# 120 + C:049FH LINE# 121 + C:04B5H LINE# 122 + C:04B5H LINE# 123 + C:04C7H LINE# 124 + C:04C7H LINE# 125 C:04FFH LINE# 126 - C:053AH LINE# 127 - C:053AH LINE# 128 - C:0540H LINE# 129 - C:0542H LINE# 130 + C:04FFH LINE# 128 + C:053AH LINE# 129 + C:053AH LINE# 130 + C:0540H LINE# 131 C:0542H LINE# 132 - C:0542H LINE# 133 - C:0546H LINE# 134 - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 19 - - - C:0555H LINE# 135 - C:0555H LINE# 136 - C:055EH LINE# 138 - C:057AH LINE# 139 - C:057AH LINE# 140 - C:0590H LINE# 141 - C:0590H LINE# 142 - C:05CCH LINE# 143 + C:0542H LINE# 134 + C:0542H LINE# 135 + C:0546H LINE# 136 + C:0555H LINE# 137 + C:0555H LINE# 138 + C:055EH LINE# 140 + C:057AH LINE# 141 + C:057AH LINE# 142 + C:0590H LINE# 143 + C:0590H LINE# 144 C:05CCH LINE# 145 - C:05E2H LINE# 146 - C:05E2H LINE# 147 - C:0611H LINE# 148 - C:0630H LINE# 149 - C:0632H LINE# 151 - C:0641H LINE# 152 - C:0670H LINE# 153 - C:0670H LINE# 154 - C:0674H LINE# 155 - C:067DH LINE# 157 + C:05CCH LINE# 147 + C:05E2H LINE# 148 + C:05E2H LINE# 149 + C:0611H LINE# 150 + C:0630H LINE# 151 + C:0632H LINE# 153 + C:0641H LINE# 154 + C:0670H LINE# 155 + C:0670H LINE# 156 + C:0674H LINE# 157 + C:067DH LINE# 159 ------- ENDPROC DROPPIECE - ------- PROC _MOVEPIECE - X:009DH SYMBOL opr + ------- PROC MOVELEFTPIECE ------- DO - X:009EH SYMBOL i + X:008DH SYMBOL i D:0001H SYMBOL j ------- ENDDO - C:0A00H LINE# 160 - C:0A05H LINE# 161 - C:0A05H LINE# 163 - C:0A1FH LINE# 164 - C:0A35H LINE# 165 - C:0A70H LINE# 166 - C:0A70H LINE# 169 - C:0A81H LINE# 170 - C:0A81H LINE# 171 - C:0A93H LINE# 172 - C:0A93H LINE# 173 - C:0A95H LINE# 174 - C:0AA7H LINE# 175 - C:0AA7H LINE# 176 - C:0AD6H LINE# 177 - C:0AF5H LINE# 178 - C:0AF5H LINE# 179 - C:0B02H LINE# 180 - ------- ENDPROC _MOVEPIECE + C:0AE3H LINE# 162 + C:0AE3H LINE# 163 + C:0AE3H LINE# 166 + C:0AFFH LINE# 167 + C:0B15H LINE# 168 + C:0B58H LINE# 169 + C:0B58H LINE# 170 + C:0B87H LINE# 171 + C:0BA6H LINE# 172 + C:0BB3H LINE# 173 + ------- ENDPROC MOVELEFTPIECE + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 20 + + + ------- PROC MOVERIGHTPIECE + ------- DO + X:008DH SYMBOL i + D:0001H SYMBOL j + ------- ENDDO + C:0BB4H LINE# 174 + C:0BB4H LINE# 176 + C:0BB4H LINE# 178 + C:0BCBH LINE# 179 + C:0BDBH LINE# 180 + C:0C1FH LINE# 181 + C:0C1FH LINE# 182 + C:0C4EH LINE# 183 + C:0C6DH LINE# 184 + C:0C7AH LINE# 185 + ------- ENDPROC MOVERIGHTPIECE ------- ENDMOD BLOCK ------- MODULE ?C?SIDIV @@ -1139,9 +1170,6 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) ------- MODULE ?C?PLDPTR C:06C0H PUBLIC ?C?PLDPTR - BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 13:54:16 PAGE 20 - - ------- ENDMOD ?C?PLDPTR ------- MODULE ?C?PLDOPTR @@ -1171,6 +1199,9 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) ------- MODULE ?C?PLDPDATA C:07A9H PUBLIC ?C?PLDPDATA + BL51 BANKED LINKER/LOCATER V6.22.2.0 06/06/2022 14:24:20 PAGE 21 + + ------- ENDMOD ?C?PLDPDATA ------- MODULE ?C?PLDCODE @@ -1186,8 +1217,5 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?TEST?DISPLAY -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_MOVEPIECE?BLOCK - -Program Size: data=9.0 xdata=159 code=5173 -LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S) +Program Size: data=9.0 xdata=157 code=5353 +LINK/LOCATE RUN COMPLETE. 3 WARNING(S), 0 ERROR(S) diff --git a/MCU/MCU_REAL _FINAL/block.c b/MCU/MCU_REAL _FINAL/block.c index 4bedd53..a3483d9 100644 --- a/MCU/MCU_REAL _FINAL/block.c +++ b/MCU/MCU_REAL _FINAL/block.c @@ -5,6 +5,8 @@ char base[MAX_X][MAX_Y] = {0}; //x*y //0为空 1为下落完成 2为正在下落 enum BLK_TP type = none; +extern enum OPR opr; + void blockInit() { @@ -23,17 +25,17 @@ void genPiece() { char i, j; - //需要一点随机性 + //需要一点随机性 int random = TH0 % 4; int len = 2 + TH0 % 3; - - + + //若存在尚未下落完成的方块则打断 for(i = 0; i < MAX_X; i++) for(j = 0; j < MAX_Y; j++) if(base[i][j] == 2) return; - + //当两个方块的情况 @@ -41,13 +43,13 @@ void genPiece() { if(random % 2 == 0) { - base[4][7] = 2; // + base[4][8] = 2; // base[4][8] = 2; // } else { - base[3][7] = 2; //// - base[4][7] = 2; + base[3][8] = 2; //// + base[4][8] = 2; } } //当三个方块的情况 @@ -55,34 +57,34 @@ void genPiece() { if(random == 0) { - base[4][7] = 2; + base[4][10] = 2; base[4][8] = 2; base[4][9] = 2; } else if(random == 1) { - base[3][7] = 2; - base[4][7] = 2; - base[5][7] = 2; + base[3][8] = 2; + base[4][8] = 2; + base[5][8] = 2; } else if(random == 2) { + base[3][9] = 2; base[3][8] = 2; - base[3][7] = 2; - base[4][7] = 2; + base[4][8] = 2; } else if (random == 3) { + base[4][9] = 2; + base[3][8] = 2; base[4][8] = 2; - base[3][7] = 2; - base[4][7] = 2; } } //当四个方块的情况 if(len == 3) { - base[3][7] = 2; - base[4][7] = 2; + base[3][9] = 2; + base[4][9] = 2; base[3][8] = 2; base[4][8] = 2; } @@ -141,13 +143,13 @@ void dropPiece() { if(base[i][j] == 2) { - //无标记则下落 + //无标记则下落 if(flag == 0 && isIegal(i, j - 1)) { base[i][j - 1] = 2; base[i][j] = 0; } - //有标记则转换 + //有标记则转换 else if(flag == 1) base[i][j] = 1; } @@ -157,26 +159,27 @@ void dropPiece() } //方块平移 -void movePiece(enum OPR opr) +void moveLeftPiece() { + char i, j; for(i = 0; i < MAX_X; i++) for(j = 0; j < MAX_Y; j++) - if(base[i][j] == 2) + if(base[i][j] == 2 && isIegal(i - 1, j)) { - - - if(opr == left && isIegal(i - 1, j)) - { - base[i - 1][j] = 2; - base[i][j] = 0; - } - else if(opr == left && isIegal(i + 1, j)) - { - base[i + 1][j] = 2; - base[i][j] = 0; - } + base[i - 1][j] = 2; + base[i][j] = 0; } } +void moveRightPiece() - +{ + char i, j; + for(i = MAX_X - 1; i >= 0; i--) + for(j = MAX_Y - 1; j >= 0; j--) + if(base[i][j] == 2 && isIegal(i + 1, j)) + { + base[i + 1][j] = 2; + base[i][j] = 0; + } +} \ No newline at end of file diff --git a/MCU/MCU_REAL _FINAL/block.h b/MCU/MCU_REAL _FINAL/block.h index e106e2c..5a0e707 100644 --- a/MCU/MCU_REAL _FINAL/block.h +++ b/MCU/MCU_REAL _FINAL/block.h @@ -1,7 +1,10 @@ #ifndef _BLOCK_H_ #define _BLOCK_H_ + #include -# include +#include +#include "button.h" + #define MAX_X 8 #define MAX_Y 12 @@ -22,8 +25,12 @@ struct _group }; typedef struct _group Group; -void genPiece(); void blockInit(); +void blockDestroy(); + +void genPiece(); void dropPiece(); void drawBlock(); +void moveLeftPiece(); +void moveRightPiece(); #endif \ No newline at end of file diff --git a/MCU/MCU_REAL _FINAL/menu.c b/MCU/MCU_REAL _FINAL/menu.c index 6f03647..408b105 100644 --- a/MCU/MCU_REAL _FINAL/menu.c +++ b/MCU/MCU_REAL _FINAL/menu.c @@ -108,6 +108,7 @@ void m_block(struct _menu* this) LAST = &M_BLOCK; blockInit(); } + //重置 if(opr == confirm) { opr = idle; @@ -115,6 +116,20 @@ void m_block(struct _menu* this) drawBlock(); return; } + if(opr == left) + { + opr = idle; + moveLeftPiece(); + drawBlock(); + return; + } + if(opr == right) + { + opr = idle; + moveRightPiece(); + drawBlock(); + return; + } genPiece(); dropPiece();