diff --git a/kernel/pgm.asm b/kernel/pgm.asm index 9e33deb..cd93945 100644 --- a/kernel/pgm.asm +++ b/kernel/pgm.asm @@ -8,8 +8,15 @@ ; non-zero means error. Programs should avoid having error code overlaps with ; the shell so that we know where the error comes from. ; +; *** Requirements *** +; fs +; ; *** Defines *** ; PGM_CODEADDR: Memory address where to place the code we load. +; +; *** Variables *** +.equ PGM_HANDLE PGM_RAMSTART +.equ PGM_RAMEND PGM_HANDLE+FS_HANDLE_SIZE ; Routine suitable to plug into SHELL_CMDHOOK. HL points to the full cmdline. ; We can mutate it because the shell doesn't do anything with it afterwards. @@ -48,7 +55,7 @@ pgmRun: call fsIsValid jr nz, .ioError push hl ; unparsed args - ld ix, FS_HANDLES + ld ix, PGM_HANDLE call fsOpen ld hl, PGM_CODEADDR .loop: diff --git a/tools/emul/shell/shell_.asm b/tools/emul/shell/shell_.asm index 217e67d..49dc8a9 100644 --- a/tools/emul/shell/shell_.asm +++ b/tools/emul/shell/shell_.asm @@ -60,6 +60,7 @@ .dw blkBselCmd, blkSeekCmd, blkLoadCmd, blkSaveCmd .dw fsOnCmd, flsCmd, fnewCmd, fdelCmd, fopnCmd +.equ PGM_RAMSTART SHELL_RAMEND .equ PGM_CODEADDR USERCODE #include "pgm.asm"