diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 5b56aab0..d8586d6b 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 4cbb1ad2..1feb7c1e 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index b6158aa4..5398e465 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -190,7 +190,7 @@ SYS.SaveFile .EQ $46 SYS.LoadDrvYA .EQ $50 SYS.LoadLibYA .EQ $52 SYS.UnloadLibA .EQ $54 -* .EQ $56 +SYS.LoadExeYA .EQ $56 SYS.TimeYA .EQ $58 SYS.CTime2Time .EQ $5A diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 1107e783..cd208e74 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -12,10 +12,10 @@ AUTO 6 * Y,A = MEMPTR * X = hMem of Code Segment *-------------------------------------- -BIN.LoadEXEYA >STYA BIN.LoadExe.Filename - jsr K.PStrUprYA Y,A unmodified +K.LoadEXEYA >STYA K.LoadEXEYA.Filename + >SYSCALL SYS.PStrUprYA Y,A unmodified jsr K.GetMemByNameYA - bcs BIN.LoadEXEYA.1 not already loaded + bcs K.LoadEXEYA.1 not already loaded >STYA ZPQuickPtr1 Save base address ldy #S.MEM.REFCNT @@ -26,8 +26,8 @@ BIN.LoadEXEYA >STYA BIN.LoadExe.Filename txa jmp K.GetMemPtrA X=hMem from K.GetMemByNameA *-------------------------------------- -BIN.LoadEXEYA.1 >PUSHWI KrnBuf256 - >PUSHW BIN.LoadExe.Filename +K.LoadEXEYA.1 >PUSHWI KrnBuf256 + >PUSHW K.LoadEXEYA.Filename jsr K.STAT Look for AUXTYPE bcs .9 @@ -37,12 +37,12 @@ BIN.LoadEXEYA.1 >PUSHWI KrnBuf256 >PUSHYA Push AUXTYPE >PUSHBI 6 S.FILEINFO.TYPE.BIN >PUSHBI SYS.FOPEN.R - >PUSHW BIN.LoadExe.Filename + >PUSHW K.LoadEXEYA.Filename jsr K.LoadFile .9 bcs .99 Error Loading file >STYA BIN.Relocate.SegLen - stx BIN.LoadExe.hMem save hMem + stx K.LoadEXEYA.hMem save hMem txa jsr K.GetMemPtrA >STYA ZPQuickPtr1 @@ -57,7 +57,7 @@ BIN.LoadEXEYA.1 >PUSHWI KrnBuf256 lda BIN.Relocate.Start Get AUXTYPE for actual Base Address clc adc BIN.Relocate.SegLen - sta BIN.Relocate.End compute Range End=AUXTYPE+FILELEN + sta BIN.Relocate.End compute Range End=AUXTYPE+FILELEN lda BIN.Relocate.Start+1 adc BIN.Relocate.SegLen+1 @@ -73,14 +73,13 @@ BIN.LoadEXEYA.1 >PUSHWI KrnBuf256 sta BIN.Relocate.Offset+1 jsr Bin.RelocateEXE - bcs .98 relocation error, dicard Code segment - >LDYA BIN.LoadExe.Filename get back bin path - jsr K.NewPStrYA make a copy of this string + >LDYA K.LoadEXEYA.Filename get back bin path + >SYSCALL SYS.NewPStrYA make a copy of this string bcs .98 phx save copy - lda BIN.LoadExe.hMem + lda K.LoadEXEYA.hMem jsr K.GetMemByIDA >STYA ZPQuickPtr1 @@ -92,22 +91,22 @@ BIN.LoadEXEYA.1 >PUSHWI KrnBuf256 ldy #S.MEM.BIN sta (ZPQuickPtr1),y - lda BIN.LoadExe.hMem + lda K.LoadEXEYA.hMem tax return hMEM to Caller... jsr K.GetMemPtrA clc ...and Y,A=PTR to CS rts .98 pha - lda BIN.LoadExe.hMem + lda K.LoadEXEYA.hMem jsr K.FreeMemA Discard Loaded Code pla sec .99 rts *-------------------------------------- -BIN.LoadExe.Filename .BS 2 -BIN.LoadExe.hMem .BS 1 +K.LoadEXEYA.Filename .BS 2 +K.LoadEXEYA.hMem .BS 1 *-------------------------------------- * BIN.InstallDRV * pDrv = .DRV File Loaded Address @@ -326,6 +325,9 @@ BIN.RelocateEXE ldy #H.BIN.JMP relocate Main JMP ldy #H.BIN.RELOC.TABLE skip Header, CS.SIZE & DS.SIZE... (16 bytes) + + >DEBUG + .HS 2C bit abs *-------------------------------------- BIN.RelocateDRV ldy #0 @@ -418,8 +420,7 @@ BIN.RelocateDRV ldy #0 inc ZPQuickPtr1+1 bra .3 next opcode.... -.8 clc - rts +.8 rts *-------------------------------------- * 65C02 OPCODES * Bit 3 : 1 = absolute addressing diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 9360c673..f3b0aac6 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -25,7 +25,7 @@ K.LoadDrvYA >STYA K.LoadDrv.CmdArray bcs .99 stx K.LoadDrv.hFullName - jsr BIN.LoadExeYA Y,A =filename full path + jsr K.LoadExeYA Y,A =filename full path bcs .98 >STYA pDrv diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 75125a3c..3dfa452c 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -61,7 +61,7 @@ KERNEL.SYSCALL .DA K.LoadDrvYA $50 .DA K.LoadLibYA .DA K.UnloadLibA - .DA 0 + .DA K.LoadExeYA .DA K.TimeYA .DA K.CTime2Time .DA K.PTime2Time diff --git a/SYS/KERNEL.S.LIB.txt b/SYS/KERNEL.S.LIB.txt index f93d70f4..b05bab4f 100644 --- a/SYS/KERNEL.S.LIB.txt +++ b/SYS/KERNEL.S.LIB.txt @@ -25,7 +25,7 @@ K.LoadLibYA >STYA K.LoadLib.Name save libname for K.FileSearch stx K.LoadLib.hFullName - jsr BIN.LoadExeYA Y,A=filename full path + jsr K.LoadExeYA Y,A=filename full path bcs .98 stx K.LoadLib.hMem diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 185f0734..86fdb3a8 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -257,7 +257,7 @@ PS.Init >LDYA K.CreateProcess.CmdLine pla Restore PTR... ply - jsr BIN.LoadEXEYA Y,A=filename full path + >SYSCALL SYS.LoadExeYA Y,A=filename full path bcs .9 >STYA ZPQuickPtr4 save PTR to Code Segment