From 3da5da0680368b19f502c95d99fdaf2b50122565 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Fri, 29 Mar 2024 23:34:30 +1000 Subject: [PATCH] App_EXE_Version 1 --- Shared_Includes | 2 +- mountima.asm | 41 +++++++++++++++++++++++------------------ 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 9a65a38..2b1e30c 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 9a65a386bfb6aaccc7fb476a3e159a684af65743 +Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a diff --git a/mountima.asm b/mountima.asm index 50cc86a..e61d458 100644 --- a/mountima.asm +++ b/mountima.asm @@ -20,7 +20,8 @@ ; Defines section ;-------------[] - define NEED_LOADER 0 + define NEED_LOADER 0 + DEFINE App_EXE_Version 1 ; define NeedSafePort_Y 0 ;-------------[] @@ -197,8 +198,7 @@ RMD_SAVE: XOR A ;LD A,FileAttr RMD_MOUNT: LD A,(key_buff.FM) LD HL,0 LD IX,0 - LD B,Dss.Move_FP.FrEnd - LD C,Dss.Move_FP + LD BC,Dss.Move_FP.FrEnd RST ToDSS ; узнаём размер файла ; A - файловый манипулятор ; HL:IX - смещение указателя в файле @@ -302,8 +302,7 @@ RMD_MOUNT: LD A,(key_buff.FM) LD A,(key_buff.FM) LD HL,0 LD IX,0 - LD B,Dss.Move_FP.FrStart - LD C,Dss.Move_FP + LD BC,Dss.Move_FP.FrStart RST ToDSS IN A,(SLOT3) @@ -395,16 +394,23 @@ error: JP printANDexit ; messages: -.good: DZ "\r\n All Done. Good luck)))\r\n" -.noRAM: DZ "\r\n ERROR! No enough memory.\r\n" -.wrongMEMblkID: DZ "\r\n ERROR! Invalid Memory block ID.\r\n" -.wrongRAMdrv: DZ "\r\n ERROR! Invalid RAM disk ID or RAM disk busy.\r\n" -.readFile: DZ "\r\n ERROR! Unable to read disk image file.\r\n" -.writeFile: DZ "\r\n ERROR! Unable to write disk image to file.\r\n" -.noFreeRAMdsk: DZ "\r\n ERROR! The number of RAM disks in use has reached its maximum.\r\n" -.WrongKeys: DZ "\r\n ERROR! Wrong key combination.\r\n" -.help: DZ "\r\n HELP MESSAGE IN PROGRESS\r\n" ;!TODO -.UNDEFINED: DZ "\r\n Undefined error: SET_KEYS\r\n" ;!TODO +.good: DZ "\r\n",'Mountima:\> All Done. Good luck)))',"\r\n" +.noRAM: DZ "\r\nERROR! No enough memory.\r\n" +.wrongMEMblkID: DZ "\r\nERROR! Invalid Memory block ID.\r\n" +.wrongRAMdrv: DZ "\r\nERROR! Invalid RAM disk ID or RAM disk busy.\r\n" +.readFile: DZ "\r\nERROR! Unable to read disk image file.\r\n" +.writeFile: DZ "\r\nERROR! Unable to write disk image to file.\r\n" +.noFreeRAMdsk: DZ "\r\nERROR! The number of RAM disks in use has reached its maximum.\r\n" +.WrongKeys: DZ "\r\nERROR! Wrong key combination.\r\n" +.help: DB "\r\nMountima Help:\r\n" + DB " /M - Mounts IMG file to RAM drive.\r\n" + DB " /U - Unmounts RAM drive.\r\n" + DB " /S - Saves RAM drive to IMG file.\r\n" + DB "Examples:\r\n" + DB ' mountima.exe /M c:\images\image.img', "\r\n" + DB ' mountima.exe /U e:', "\r\n" + DZ ' mountima.exe /S c:\images\image.img e:',"\r\n" +.UNDEFINED: DZ "\r\nUndefined error: SET_KEYS\r\n" ;!TODO ;.test DZ "1234567890-1234567890-1234567890-1234567890" ;.help: DZ " HELP MESSAGE IN PROGRESS\r\n" ;!TODO ENDMODULE @@ -571,7 +577,7 @@ Set_keys: LD HL,(dss_line) ;-----------------; ;-----------------; -.OpenRDfile: LD BC,Dss.EX_Path.GET_ALL * 256 + Dss.EX_Path ; проверяем буфер на корректность имени файла +.OpenRDfile: LD BC,Dss.EX_Path.GET_ALL ; проверяем буфер на корректность имени файла RST ToDSS RET C ; ошибка в строке AND %00000011 ; проверяем, что есть имя и @@ -593,8 +599,7 @@ Set_keys: LD HL,(dss_line) EX DE,HL LD HL,Buffer - LD B,Dss.EX_Path.GET_DRIVE - LD C,Dss.EX_Path ; тут определяем имя диска ли в буфере + LD BC,Dss.EX_Path.GET_DRIVE ; тут определяем имя диска ли в буфере RST ToDSS ; получаем в А логический номер диска RET C