mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel version 0.8 : Fixed bug in LOADBIN called from BNK1
This commit is contained in:
parent
c04a398bf8
commit
4219fe9e0d
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user