From ea4cacb667159616a2b99c767b882e97a3757942 Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Tue, 12 Aug 2025 21:02:05 +1000 Subject: [PATCH] temp --- DSS/API/Execute.ASM | 10 +--- DSS/DRV-MAIN.ASM | 12 +++-- DSS/DSS-MAIN.ASM | 51 ++++++++++--------- DSS/FS/FAT.asm | 2 +- ...O_SYS_ERRORS.ASM => DRV_TO_SYS_ERRORS.Z80} | 0 SHELL/Commands/HELP.ASM | 2 +- 6 files changed, 37 insertions(+), 40 deletions(-) rename DSS/drivers/{DRV_TO_SYS_ERRORS.ASM => DRV_TO_SYS_ERRORS.Z80} (100%) diff --git a/DSS/API/Execute.ASM b/DSS/API/Execute.ASM index 3169d65..953383a 100644 --- a/DSS/API/Execute.ASM +++ b/DSS/API/Execute.ASM @@ -340,7 +340,7 @@ _TST_PROC: CALL GETMEM SUB B LD (CORE_BUFFERS.BUFFER_CLP),A ; - LD SP,CORE_BUFFERS.EXEBUFF + _sEXE_HEADER ;R02 + LD SP,CORE_BUFFERS.EXEBUFF + _sEXE_HEADER ;R02 ; ! Далее стек в нулевой странице! BIOS и не DSS-MAIN не вызывать LD A,SHARED_PAGE OUT (SLOT1),A @@ -371,21 +371,16 @@ FRC000: LD A,(DE) LD A,(EXE_FM) CALL MOVE_FP ; - ;LD SP,#403F ;R02 ;!HARDCODE STACK before start EXE. Устанавливается когда воткнуты SHARED_PAGE - ;LD A,R - ;DI LD SP,#4100 ;R02 ;!HARDCODE STACK before start EXE. Устанавливается когда воткнуты SHARED_PAGE - ;PUSH AF _ret+1: JP 0 ;EXEC02.RET_1 или _RET_2 ; ; сюда возврат из EXEC02.RET_1 или _RET_2 _TST_PROC_2: ; ! Далее стек в нулевой странице! BIOS и не DSS-MAIN не вызывать - ; LD SP,CORE_BUFFERS.EXEBUFF + _sEXE_HEADER CALL M_PSP - LD SP,(CORE_BUFFERS.EXEBUFF.SP_REG) ; + LD SP,(CORE_BUFFERS.EXEBUFF.SP_REG) LD HL,(CORE_BUFFERS.EXEBUFF.LD_ADDR) LD DE,#0080 ;!HARDCODE CLP_Buffer XOR A @@ -410,7 +405,6 @@ _TST_PROC_2: POP IX ; EI - ;RET LD HL,(CORE_BUFFERS.EXEBUFF.PC_REG) JP (HL) ;----------------------------------------------------------------------- diff --git a/DSS/DRV-MAIN.ASM b/DSS/DRV-MAIN.ASM index f8ea974..453727b 100644 --- a/DSS/DRV-MAIN.ASM +++ b/DSS/DRV-MAIN.ASM @@ -6,7 +6,7 @@ ;--------------------------------------------------------------- ;R00 2003-03-19 DNS Initial version ;--------------------------------------------------------------- - +DRV_MODULE_START EQU $ ; ORG #0000 ;PAGEDRV EQU 0 @@ -343,9 +343,9 @@ RAMDTBL EQU LOGDRV + LOGDRV.Size ; EDUP ; .Size EQU $-RAMDTBL ;----------------------------------------------------------------------; -; ENDMODULE ////////////////////////////////////////////////////////////////////////; + ;DISPLAY "DEVICE start: ", /H, DEVICE ;DISPLAY "Old DEVICE start: ", /H, OLD_TABLES.DEVICE ;DISPLAY "LOGDRV start: ", /H, LOGDRV @@ -355,10 +355,12 @@ RAMDTBL EQU LOGDRV + LOGDRV.Size ; ;DRV_TEMP_BUFFER: - +DRV_MODULE_START.Size EQU (OLD_TABLES.RAMDTBL + OLD_TABLES.RAMDTBL.Size) - DRV_MODULE_START + DISPLAY "DRV MODULE SIZE: ",/A,DRV_MODULE_START.Size +;!TODO ;---------[256 bytes stack for return pages of RST #18 callers]--------; -; #3F00 - #3FFF -DRV_PAGE.RSTx18_RET_PAGES EQU #3FFF +; #3F00 - #4000 +DRV_PAGE.RSTx18_RET_PAGES EQU #4000 ;----------------------------------------------------------------------; ; ASSERT ((#4000-DRV_TEMP_BUFFER-256) > (DEVICE.Size + LOGDRV.Size + RAMDTBL.Size)), "No space for DRV_TEMP_BUFFER in DRV-MAIN page" ; ENDMODULE diff --git a/DSS/DSS-MAIN.ASM b/DSS/DSS-MAIN.ASM index e4c3b4e..982a38b 100644 --- a/DSS/DSS-MAIN.ASM +++ b/DSS/DSS-MAIN.ASM @@ -347,13 +347,10 @@ DSS_API_TABLE: /* -;!FIXIT к буферам ; Массив лог. номеров банок расширения DSS BANKTBL: BLOCK USING_MEMPAGES+1,#FF ; +1 для COREPAGE HANDBUF: BLOCK HANDBUF.SIZE,0 ; - -;!FIXIT к буферам MASKARE: BLOCK 8,0 ; имя файла BLOCK 3,0 ; расш. BLOCK 21,0 ; 11+21=32 @@ -376,6 +373,7 @@ TMPNAME EQU BUFFERSplace.TMPNAME HANDBUF EQU BUFFERSplace.HANDBUF .SIZE EQU FAT_DIRECTORY_RECORD MASKARE _sMASKARE = BUFFERSplace.MASKARE +.Size EQU _sMASKARE FM_BUF _sFM = BUFFERSplace.FileManipulator .Size EQU _sFM .FullSize EQU FMCOUNT*FM_BUF.Size @@ -399,38 +397,41 @@ CLEAR_ZONE.size EQU _sBuffers - ; Тут не всё - DISPLAY "--- --- --- --- --- --- --- ---" - DISPLAY "CLEAR_ZONE.start ", /H, CLEAR_ZONE.start - DISPLAY "CLEAR_ZONE.Size ", /H, CLEAR_ZONE.size - DISPLAY "--- --- --- --- --- --- --- ---" + DISPLAY "--- --- --- --- --- --- --- --- --- --- --- --- ---" + DISPLAY " BANKTBL ", /H, BANKTBL," Size ", /H, BANKTBL.Size + DISPLAY "--- --- --- --- --- --- --- --- --- --- --- --- ---" + DISPLAY "CLEAR_ZONE.start ", /H, CLEAR_ZONE.start," Size ", /H, CLEAR_ZONE.size + DISPLAY "--- --- --- --- --- --- --- --- --- --- --- --- ---" DISPLAY "Consist: " - DISPLAY " FM_BUF ", /H, CORE_BUFFERS.FM_BUF - DISPLAY " FM_BUF.Size: ", /H, CORE_BUFFERS.FM_BUF.Size - DISPLAY " FM_BUF.FullSize ", /H, CORE_BUFFERS.FM_BUF.FullSize - DISPLAY " FS_Buffer ", /H, CORE_BUFFERS.FS_Buffer - DISPLAY " FS_Buffer.Size ", /H, CORE_BUFFERS.EXEBUFF - CORE_BUFFERS.FS_Buffer - DISPLAY " EXEBUFF ", /H, CORE_BUFFERS.EXEBUFF - DISPLAY " Size ", /H, CORE_BUFFERS.XSTACK - CORE_BUFFERS.EXEBUFF - DISPLAY " XSTACK ", /H, CORE_BUFFERS.XSTACK - DISPLAY " Size ", /H, CORE_BUFFERS.BUFFER - CORE_BUFFERS.XSTACK - DISPLAY " BUFFER ", /H, CORE_BUFFERS.BUFFER - DISPLAY " Size ", /H, CORE_BUFFERS.MemoryTable - CORE_BUFFERS.BUFFER - DISPLAY " MemoryTable ", /H, CORE_BUFFERS.MemoryTable - DISPLAY " Size ", /H, _sBuffers - (CORE_BUFFERS.MemoryTable - CORE_BUFFERS.BUFFERSplace) - DISPLAY "--- --- --- --- --- --- --- ---" + DISPLAY " TMPNAME ", /H, CORE_BUFFERS.TMPNAME," Size ", /H, CORE_BUFFERS.TMPNAME.Size + DISPLAY " HANDBUF ", /H, CORE_BUFFERS.HANDBUF," Size ", /H, CORE_BUFFERS.HANDBUF.SIZE + DISPLAY " MASKARE ", /H, CORE_BUFFERS.MASKARE," Size ", /H, _sMASKARE + DISPLAY " FM_BUF ", /H, CORE_BUFFERS.FM_BUF," Size ", /H, CORE_BUFFERS.FM_BUF.Size + DISPLAY " Full Size ", /H, CORE_BUFFERS.FM_BUF.FullSize + DISPLAY " FS_Buffer ", /H, CORE_BUFFERS.FS_Buffer," Size ", /H, CORE_BUFFERS.EXEBUFF - CORE_BUFFERS.FS_Buffer + DISPLAY " EXEBUFF ", /H, CORE_BUFFERS.EXEBUFF," Size ", /H, CORE_BUFFERS.XSTACK - CORE_BUFFERS.EXEBUFF + DISPLAY " XSTACK ", /H, CORE_BUFFERS.XSTACK," Size ", /H, CORE_BUFFERS.BUFFER - CORE_BUFFERS.XSTACK + DISPLAY " BUFFER ", /H, CORE_BUFFERS.BUFFER," Size ", /H, CORE_BUFFERS.MemoryTable - CORE_BUFFERS.BUFFER + DISPLAY " MemoryTable ", /H, CORE_BUFFERS.MemoryTable," Size ", /H, _sBuffers - (CORE_BUFFERS.MemoryTable - CORE_BUFFERS.BUFFERSplace) + DISPLAY " CurrentPath ", /H, CORE_BUFFERS.CurrentPath," Size ", /H, CORE_BUFFERS.CurrentDirectory - CORE_BUFFERS.CurrentPath + DISPLAY " CurrentDirectory ", /H, CORE_BUFFERS.CurrentDirectory," Size ", /H, DIRECTORY_PATH_LENGTH + DISPLAY " WorkDirectory ", /H, CORE_BUFFERS.WorkDirectory," Size ", /H, DIRECTORY_PATH_LENGTH + DISPLAY " BUFFER_CLP ", /H, CORE_BUFFERS.BUFFER_CLP," Size ", /H, #4000 - CORE_BUFFERS.BUFFER_CLP + DISPLAY "--- --- --- --- --- --- --- --- --- --- --- --- ---" DISPLAY "CLEAR_ZONE.End ", /H, CLEAR_ZONE.start + CLEAR_ZONE.size - DISPLAY "--- --- --- --- --- --- --- ---" + DISPLAY "--- --- --- --- --- --- --- --- --- --- --- --- ---" EXPORT BANKTBL EXPORT CLEAR_ZONE.start EXPORT CLEAR_ZONE.size EXPORT CORE_BUFFERS.BUFFERSplace + EXPORT CORE_BUFFERS.TMPNAME + EXPORT CORE_BUFFERS.TMPNAME.Size EXPORT CORE_BUFFERS.HANDBUF EXPORT CORE_BUFFERS.HANDBUF.SIZE EXPORT CORE_BUFFERS.MASKARE - EXPORT CORE_BUFFERS.TMPNAME + EXPORT CORE_BUFFERS.MASKARE.Size EXPORT CORE_BUFFERS.FM_BUF EXPORT CORE_BUFFERS.FM_BUF.Size EXPORT CORE_BUFFERS.FM_BUF.FullSize @@ -462,7 +463,7 @@ CLEAR_ZONE.size EQU _sBuffers ASSERT "Warning! ENVVALUE != BUFFER" ENDIF - DISPLAY "MODULE SIZE: ",/A,MODULE_SIZE + DISPLAY "FAT MODULE SIZE: ",/A,MODULE_SIZE DISPLAY "DEPLOY end address: ",/H,$ DISPLAY "Space for DRV-MAIN: ",/A,#4000-$," bytes." diff --git a/DSS/FS/FAT.asm b/DSS/FS/FAT.asm index 216f09f..ec7e053 100644 --- a/DSS/FS/FAT.asm +++ b/DSS/FS/FAT.asm @@ -150,7 +150,7 @@ SEARCH: ; LD DE,0 ; EXX ; -.loop: LD A,(IX+FAT_DIRECTORY_RECORD.NAME) +.loop: LD A,(IX + FAT_DIRECTORY_RECORD.NAME) OR A JR Z,.error_file_not_found CP #E5 ;!HARDCODE #E5 - запись в директории свободна, так как файл/директория были удалены diff --git a/DSS/drivers/DRV_TO_SYS_ERRORS.ASM b/DSS/drivers/DRV_TO_SYS_ERRORS.Z80 similarity index 100% rename from DSS/drivers/DRV_TO_SYS_ERRORS.ASM rename to DSS/drivers/DRV_TO_SYS_ERRORS.Z80 diff --git a/SHELL/Commands/HELP.ASM b/SHELL/Commands/HELP.ASM index 906e4e1..30f5193 100644 --- a/SHELL/Commands/HELP.ASM +++ b/SHELL/Commands/HELP.ASM @@ -14,7 +14,7 @@ cmd_help: LD HL,.help_txt ; JP ToBIOS ;JP ECHO_MESSAGE -; 1 2\ 3 4 5 6 7 8 +; 1 2 3 4 5 6 7 8 ; 01234567890123456789012345678901234567890123456789012345678901234567890123456789; .help_txt: DB "COMMANDS:\r\n" DB "SET INFO REN = RENAME PATH CLS [ink]\r\n"