From b0b7a371e29c1cf8ec35eaf04b9488d512280bea Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Fri, 5 Jul 2024 03:48:04 +1000 Subject: [PATCH] ... --- Shared_Includes | 2 +- menu.asm | 117 ++++++++++++++++++++++++++++-------------------- 2 files changed, 70 insertions(+), 49 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 18c132c..bfc070c 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 18c132c6e9b507cb92d2144f5497278f021a0292 +Subproject commit bfc070c1eeb661e952fe887862754b940b43aff5 diff --git a/menu.asm b/menu.asm index 2ea3f2c..50b246f 100755 --- a/menu.asm +++ b/menu.asm @@ -292,54 +292,75 @@ INIT: XOR A HNDMEM DB 0 -CLICK - CALL M_OBJECT - JP Z,NOEXIT -PRESS SUB #11 - LD IX,MENU_TABLE - JR Z,CLICK2 - LD BC,ITEMSIZE -CLICK1 ADD IX,BC - DEC A - JR NZ,CLICK1 -CLICK2 LD L,(IX+2) - LD H,(IX+3) - PUSH HL - ; PUSH HL - CALL WIN_BACK - LD A,#FF - LD (C_OBJECT),A - LD (GO_TIME),A -; - LD C,2 - RST #30 +CLICK: CALL M_OBJECT + JP Z,NOEXIT +PRESS: SUB #11 ;!HARDCODE + LD IX,MENU_TABLE + JR Z,CLICK2 + LD BC,ITEMSIZE +CLICK1: ADD IX,BC + DEC A + JR NZ,CLICK1 +CLICK2: LD L,(IX+2) + LD H,(IX+3) +.cont: ;PUSH IX ; [ ] 04/07/2024 parser multi-command + PUSH HL + ; [ ] 04/07/2024 parser multi-command +.parse: ;INC HL + ;LD A,(HL) + ;AND A + ;JR Z,.parse_end + ;CP ';' + ;JR NZ,.parse + ;LD (HL),0 + ;INC HL +.parse_end: ;LD (IX+2),L + ;LD (IX+3),H + ; + CALL WIN_BACK ; [ ] 04/07/2024 parser multi-command + LD A,#FF + LD (C_OBJECT),A + LD (GO_TIME),A + ; + LD C,2 + RST ToDSS.Mouse + ; + POP HL + LD BC,Dss.Exec + RST ToDSS ;Launch the program + PUSH AF + ; !TODO оживить когда будет App_EXE_Version = 1 + ; LD HL,(WorkDirAddr) + ; + LD HL,WorkDir + LD C,Dss.ChDir + RST ToDSS + ; + POP AF + JR NC,.OK_EXEC + LD A,7 + CALL MESSAGE +.OK_EXEC: ; [ ] 04/07/2024 parser multi-command + ;POP IX + ;LD L,(IX+2) + ;LD H,(IX+3) + ;LD A,(HL) + ;AND A + ;JR Z,.end + ;DEC HL + ;LD (HL),';' + ;INC HL + ;JR .cont + ; +.end: ;CALL WIN_BACK ; [ ] 04/07/2024 parser multi-command + LD A,(DOEXIT) + LD C,A + LD A,(AEXIT) + OR C + JP NZ,QUIT + JP RETURN_TO_MENU - POP HL - - LD BC,Dss.Exec - RST ToDSS ;Launch the program - PUSH AF - ; !TODO оживить когда будет App_EXE_Version = 1 - ; LD HL,(WorkDirAddr) - ; - LD HL,WorkDir - LD C,Dss.ChDir - RST ToDSS - ; - POP AF - JR NC,OK_EXEC - LD A,7 - CALL MESSAGE -OK_EXEC - LD A,(DOEXIT) - LD C,A - - LD A,(AEXIT) - OR C - JP NZ,QUIT - - JP RETURN_TO_MENU K_OBJECT @@ -955,9 +976,9 @@ OBSOLUTE_CNT_POS MSG0 DB 0 ;0 - DB "User Menu v1.01, Copyright " + DB "User Menu v1.02, Copyright " DB "2002 (c) Peters Plus LTD",CR,LF - DB "2023 (c) Sprinter Team",CR,LF,CR,LF,0 + DB "2023 - 2024 (c) Sprinter Team",CR,LF,CR,LF,0 ;1 DB " Error: Unknown switch: %1",CR,LF,0 ;2