This commit is contained in:
Anatoliy Belyanskiy 2024-03-31 04:05:05 +10:00
parent 8e8ca188d3
commit c54d5d0eb8

View File

@ -1,7 +1,8 @@
;[]
;
; MENU.EXE
;
DEFINE App_EXE_Version 0
INCLUDE 'shared_includes/constants/dss_equ.inc'
CR EQU 13
LF EQU 10
@ -12,7 +13,7 @@ MAX_MENU_ITEMS EQU 24
EXE_HEADER:
DB 'EXE' ;EXE ID
DB #00 ;EXE VERSION
DB App_EXE_Version ;EXE VERSION
DW EXE_HEADER.Size
DW #0000 ;CODE OFFSET HIGH
DW #0000 ;END-BEG ;PRIMARY LOADER
@ -252,29 +253,37 @@ INIT: XOR A
LD (CMD_MENU),A
DEC A
LD (GO_TIME),A
; !TODO ®¦¨¢¨âì ª®£¤  ¡ã¤¥â App_EXE_Version = 1
; LD A,(IX+0)
; ADD A,3
; LD E,A
; EX DE,HL
; LD D,XH
; LD E,XL
; EX DE,HL
; ADD HL,DE
; LD (WorkDirAddr),HL
; ;
; XOR A
; LD BC,128 ;!HARDCODE ¤«¨­  CL
; CPIR
; DEC HL
; LD BC,128 ;!HARDCODE ¤«¨­  CL
; LD A,'\' ;
; CPDR
; INC HL
; XOR A
; LD (HL),A
;
LD A,(IX+0)
ADD A,3
LD E,A
EX DE,HL
LD D,XH
LD E,XL
EX DE,HL
ADD HL,DE
LD (WorkDirAddr),HL
;
XOR A
LD BC,128 ;!HARDCODE か┃<E3818B> CL
CPIR
DEC HL
LD BC,128 ;!HARDCODE か┃<E3818B> CL
LD A,'\' ;
CPDR
INC HL
XOR A
LD (HL),A
;
RET
LD C,Dss.CurDisk
RST ToDSS
ADD A,'A'
LD (WorkDir),A
LD A,':'
LD (WorkDir+1),A
LD C,Dss.CurDir
LD HL,WorkDir+2
JP ToDSS
;
HNDMEM DB 0
@ -307,8 +316,10 @@ CLICK2 LD L,(IX+2)
LD BC,Dss.Exec
RST ToDSS ;Launch the program
PUSH AF
; !TODO ®¦¨¢¨âì ª®£¤  ¡ã¤¥â App_EXE_Version = 1
; LD HL,(WorkDirAddr)
;
LD HL,(WorkDirAddr)
LD HL,WorkDir
LD C,Dss.ChDir
RST ToDSS
;
@ -934,7 +945,7 @@ CH_L6 LD (WIN_Y),A
LD (OBSOLUTE_CNT_POS),HL
RET
WorkDirAddr: WORD 0
OBSOLUTE_CNT_POS
DW 0
@ -1020,6 +1031,11 @@ GO_TIME DB #FF
TEXT_INDEX
DW TEXT_ARRAY
; !TODO ®¦¨¢¨âì ª®£¤  ¡ã¤¥â App_EXE_Version = 1
;WorkDirAddr: WORD 0
INIT_DATA
FST_VAR EQU $ ;DS 256
@ -1028,6 +1044,7 @@ WORKBUF EQU $+256+256 ;DS 256
WORDBUF EQU $+256+256+256 ;DS 256
MENU_TABLE EQU $+256+256+256+256
;!FIXIT £«ï­ãâì
ITEM_DEFINE
DW 0 ;ITEM 1 TEXT ADDRESS
DW 0 ;ITEM 1 COMMAND ADDRESS
@ -1043,14 +1060,15 @@ ITEMSIZE EQU ITEM_DEFINE_END-ITEM_DEFINE
;
; DW 0 ;END
; DS 256
WorkDir EQU $+256+256+256+256+256
TEXT_ARRAY EQU $+256+256+256+256+256
TEXT_ARRAY EQU $+256+256+256+256+256+256
; "Title name",0
; "Item 1",0
; "C:\fn\fn.exe",0
; DS 4096
FILE_ARRAY EQU $+256+256+256+256+256+4096
FILE_ARRAY EQU $+256+256+256+256+256+256+4096
MYWIN EQU #0000-2560*4 ;DS 34*8*2