📄 ui_menu.lst
字号:
\ 0140 6F LD L,A
\ 0141 13 INC DE
\ 0142 1A LD A,(DE)
\ 0143 67 LD H,A
\ 0144 DD75F2 LD (IX-14),L
\ 0147 DD74F3 LD (IX-13),H
86 // GetDCStatus(&oldDC_sav);
87 SetPenColor(Color_WHITE_def);
\ 014A 010000 LD BC,0
\ 014D 11FFFF LD DE,65535
\ 0150 CD0000 CALL LWRD SetPenColor
88 SetTextOutMode(1); //设字体透明
\ 0153 1E01 LD E,1
\ 0155 CD0000 CALL LWRD SetTextOutMode
\ 0158 ?0003:
89
90 while(1)
91 {
92 if(need_draw)
\ 0158 AF XOR A
\ 0159 DDB6FC OR (IX-4)
\ 015C CAD502 JP Z,?0006
\ 015F ?0005:
93 {
94 output8(0x4e,input8(0x4e)|0x8); //zxs add
\ 015F DB4E IN A,(78)
\ 0161 CBDF SET 3,A
\ 0163 D34E OUT (78),A
95 ResShowPic(MENUTWO,0,0);
\ 0165 0E00 LD C,0
\ 0167 C5 PUSH BC
\ 0168 0E00 LD C,0
\ 016A 11C400 LD DE,196
\ 016D 3E00 LD A,BYTE3 ResShowPic
\ 016F 210000 LD HL,LWRD ResShowPic
\ 0172 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0175 F1 POP AF
96 //ResShowPic(DHT,126,0);
97 ResShowPic(DHT,194,8);
\ 0176 0E08 LD C,8
\ 0178 C5 PUSH BC
\ 0179 0EC2 LD C,194
\ 017B 112700 LD DE,39
\ 017E 3E00 LD A,BYTE3 ResShowPic
\ 0180 210000 LD HL,LWRD ResShowPic
\ 0183 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0186 F1 POP AF
98 old_active=active;
\ 0187 DD6EF2 LD L,(IX-14)
\ 018A DD66F3 LD H,(IX-13)
\ 018D DD75FA LD (IX-6),L
\ 0190 DD74FB LD (IX-5),H
99 cur_group = active / MENU_NUM_ONE_PAGE;
\ 0193 010600 LD BC,6
\ 0196 DD5EF2 LD E,(IX-14)
\ 0199 DD56F3 LD D,(IX-13)
\ 019C CD0000 CALL LWRD ?SS_DIV_L02
\ 019F DD73F8 LD (IX-8),E
\ 01A2 DD72F9 LD (IX-7),D
100 n = cur_group*MENU_NUM_ONE_PAGE;
\ 01A5 EB EX DE,HL
\ 01A6 29 ADD HL,HL
\ 01A7 4D LD C,L
\ 01A8 44 LD B,H
\ 01A9 29 ADD HL,HL
\ 01AA 09 ADD HL,BC
\ 01AB DD75F6 LD (IX-10),L
\ 01AE DD74F7 LD (IX-9),H
101 SetPenColor(Color_WHITE_def);
\ 01B1 010000 LD BC,0
\ 01B4 11FFFF LD DE,65535
\ 01B7 CD0000 CALL LWRD SetPenColor
102 //show icons & text
103 for(i=0; i<MENU_NUM_ONE_PAGE; i++)
\ 01BA AF XOR A
\ 01BB DD77F4 LD (IX-12),A
\ 01BE DD77F5 LD (IX-11),A
\ 01C1 ?0008:
\ 01C1 010680 LD BC,32774
\ 01C4 DD6EF4 LD L,(IX-12)
\ 01C7 DD66F5 LD H,(IX-11)
\ 01CA 3E80 LD A,128
\ 01CC AC XOR H
\ 01CD 67 LD H,A
\ 01CE ED42 SBC HL,BC
\ 01D0 D2D102 JP NC,?0007
\ 01D3 ?0009:
104 {
105 if(n+i >= menu->total) break; //处理不足MENU_NUM_ONE_PAGE个的情况
\ 01D3 FD4E00 LD C,(IY+0)
\ 01D6 FD4601 LD B,(IY+1)
\ 01D9 DD6EF4 LD L,(IX-12)
\ 01DC DD66F5 LD H,(IX-11)
\ 01DF DD5EF6 LD E,(IX-10)
\ 01E2 DD56F7 LD D,(IX-9)
\ 01E5 19 ADD HL,DE
\ 01E6 F680 OR 128
\ 01E8 ED42 SBC HL,BC
\ 01EA E2EE01 JP PO,?0055
\ 01ED AC XOR H
\ 01EE ?0055:
\ 01EE F2D102 JP P,?0007
\ 01F1 ?0011:
\ 01F1 ?0012:
106 if(n+i==active)
\ 01F1 DD6EF4 LD L,(IX-12)
\ 01F4 DD66F5 LD H,(IX-11)
\ 01F7 DD4EF6 LD C,(IX-10)
\ 01FA DD46F7 LD B,(IX-9)
\ 01FD 09 ADD HL,BC
\ 01FE DD4EF2 LD C,(IX-14)
\ 0201 DD46F3 LD B,(IX-13)
\ 0204 A7 AND A
\ 0205 ED42 SBC HL,BC
\ 0207 C28B02 JP NZ,?0014
\ 020A ?0013:
107 {
108 {
109 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_menu[i]-4);
\ 020A 210000 LD HL,menu_pos_menu
\ 020D DD4EF4 LD C,(IX-12)
\ 0210 DD46F5 LD B,(IX-11)
\ 0213 09 ADD HL,BC
\ 0214 7E LD A,(HL)
\ 0215 C6FC ADD A,252
\ 0217 5F LD E,A
\ 0218 D5 PUSH DE
\ 0219 0E09 LD C,9
\ 021B 11B500 LD DE,181
\ 021E 3E00 LD A,BYTE3 ResShowPic
\ 0220 210000 LD HL,LWRD ResShowPic
\ 0223 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0226 F1 POP AF
110 //ResShowPic(DHTHK,122, menu_pos_menu[i]-2);
111 ResShowPic(DHTHK,194, menu_pos_menu[i]+6);
\ 0227 210000 LD HL,menu_pos_menu
\ 022A DD4EF4 LD C,(IX-12)
\ 022D DD46F5 LD B,(IX-11)
\ 0230 09 ADD HL,BC
\ 0231 7E LD A,(HL)
\ 0232 C606 ADD A,6
\ 0234 5F LD E,A
\ 0235 D5 PUSH DE
\ 0236 0EC2 LD C,194
\ 0238 112800 LD DE,40
\ 023B 3E00 LD A,BYTE3 ResShowPic
\ 023D 210000 LD HL,LWRD ResShowPic
\ 0240 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0243 F1 POP AF
112 ///-ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_menu[i]);
113 }
114 SetPenColor(Color_WHITE_def);
\ 0244 010000 LD BC,0
\ 0247 11FFFF LD DE,65535
\ 024A CD0000 CALL LWRD SetPenColor
115 ResShowMultiString(menu->title[active], menu->string_id,
116 menu_str_x_def, menu_pos_menu[i]-3);
\ 024D 210000 LD HL,menu_pos_menu
\ 0250 DD4EF4 LD C,(IX-12)
\ 0253 DD46F5 LD B,(IX-11)
\ 0256 09 ADD HL,BC
\ 0257 7E LD A,(HL)
\ 0258 C6FD ADD A,253
\ 025A 4F LD C,A
\ 025B C5 PUSH BC
\ 025C 0E20 LD C,32
\ 025E C5 PUSH BC
\ 025F FD4E09 LD C,(IY+9)
\ 0262 FD6E04 LD L,(IY+4)
\ 0265 FD6605 LD H,(IY+5)
\ 0268 E5 PUSH HL
\ 0269 DD6EF2 LD L,(IX-14)
\ 026C DD66F3 LD H,(IX-13)
\ 026F 29 ADD HL,HL
\ 0270 EB EX DE,HL
\ 0271 E1 POP HL
\ 0272 19 ADD HL,DE
\ 0273 5E LD E,(HL)
\ 0274 23 INC HL
\ 0275 56 LD D,(HL)
\ 0276 3E00 LD A,BYTE3 ResShowMultiString
\ 0278 210000 LD HL,LWRD ResShowMultiString
\ 027B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 027E F1 POP AF
\ 027F F1 POP AF
117 SetPenColor(Color_WHITE_def);
\ 0280 010000 LD BC,0
\ 0283 11FFFF LD DE,65535
\ 0286 CD0000 CALL LWRD SetPenColor
118 }
119 else
\ 0289 183A JR ?0015
\ 028B ?0014:
120 {
121 ///-ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_menu[i]);
122 ResShowMultiString(menu->title[n+i], menu->string_id,
123 menu_str_x_def, menu_pos_menu[i]-3);
\ 028B 210000 LD HL,menu_pos_menu
\ 028E DD4EF4 LD C,(IX-12)
\ 0291 DD46F5 LD B,(IX-11)
\ 0294 09 ADD HL,BC
\ 0295 7E LD A,(HL)
\ 0296 C6FD ADD A,253
\ 0298 5F LD E,A
\ 0299 D5 PUSH DE
\ 029A 1E20 LD E,32
\ 029C D5 PUSH DE
\ 029D FD4E09 LD C,(IY+9)
\ 02A0 FD6E04 LD L,(IY+4)
\ 02A3 FD6605 LD H,(IY+5)
\ 02A6 E5 PUSH HL
\ 02A7 DD6EF4 LD L,(IX-12)
\ 02AA DD66F5 LD H,(IX-11)
\ 02AD DD5EF6 LD E,(IX-10)
\ 02B0 DD56F7 LD D,(IX-9)
\ 02B3 19 ADD HL,DE
\ 02B4 29 ADD HL,HL
\ 02B5 EB EX DE,HL
\ 02B6 E1 POP HL
\ 02B7 19 ADD HL,DE
\ 02B8 5E LD E,(HL)
\ 02B9 23 INC HL
\ 02BA 56 LD D,(HL)
\ 02BB 3E00 LD A,BYTE3 ResShowMultiString
\ 02BD 210000 LD HL,LWRD ResShowMultiString
\ 02C0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02C3 F1 POP AF
\ 02C4 F1 POP AF
\ 02C5 ?0015:
\ 02C5 DD34F4 INC (IX-12)
\ 02C8 C2C101 JP NZ,?0008
\ 02CB DD34F5 INC (IX-11)
\ 02CE C3C101 JP LWRD ?0008
\ 02D1 ?0007:
124 }
125 }
126
127 need_draw = FALSE;
\ 02D1 DD36FC00 LD (IX-4),0
\ 02D5 ?0006:
128 }//need draw
129
130 if(value_changed)
\ 02D5 AF XOR A
\ 02D6 DDB6FE OR (IX-2)
\ 02D9 281D JR Z,?0017
\ 02DB ?0016:
131 {
132 show_active_menu(menu,old_active,active);
\ 02DB DD6EF2 LD L,(IX-14)
\ 02DE DD66F3 LD H,(IX-13)
\ 02E1 E5 PUSH HL
\ 02E2 DD4EFA LD C,(IX-6)
\ 02E5 DD46FB LD B,(IX-5)
\ 02E8 FDE5 PUSH IY
\ 02EA D1 POP DE
\ 02EB 3E00 LD A,BYTE3 show_active_menu
\ 02ED 210000 LD HL,LWRD show_active_menu
\ 02F0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02F3 E1 POP HL
133 value_changed=FALSE;
\ 02F4 DD36FE00 LD (IX-2),0
\ 02F8 ?0017:
134 }
135 key = ap_get_message();
\ 02F8 CD0000 CALL LWRD ap_get_message
\ 02FB DD77FD LD (IX-3),A
136 //handle message
137 switch( key)
\ 02FE 5F LD E,A
\ 02FF CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0302 0700 DEFW 7
\ 0304 05 DEFB 5
\ 0305 06 DEFB 6
\ 0306 1E DEFB 30
\ 0307 21 DEFB 33
\ 0308 30 DEFB 48
\ 0309 45 DEFB 69
\ 030A 46 DEFB 70
\ 030B 4604 DEFW ?0048
\ 030D 1B03 DEFW ?0019
\ 030F 9C03 DEFW ?0031
\ 0311 2904 DEFW ?0044
\ 0313 2404 DEFW ?0043
\ 0315 3A04 DEFW ?0045
\ 0317 1B03 DEFW ?0019
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -