mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-14 04:29:02 +00:00
Kernel version 0.8 : Fixed bug in STAT (AUXTYPE) preventing relocation
This commit is contained in:
parent
d1de493789
commit
e30dfc0eb4
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -247,7 +247,6 @@ SYS.GetKeyboardEvent .EQ $98
|
||||
SYS.MKNOD .EQ $FF
|
||||
SYS.MKFIFO .EQ $FF
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
* ProDOS ERROR CODES : $00->$5F
|
||||
* Lib ERROR CODES : $80->$BF
|
||||
* Kernel ERROR CODES : $C0->$FF
|
||||
@ -441,8 +440,8 @@ S.STAT.MTIME .EQ 26 DWORD
|
||||
S.STAT.CTIME .EQ 30 DWORD
|
||||
S.STAT.BLOCKS .EQ 34 DWORD
|
||||
S.STAT.BLKSIZE .EQ 38 WORD
|
||||
S.STAT.TYPE .EQ 40 BYTE
|
||||
S.STAT.AUXTYPE .EQ 41 WORD
|
||||
S.STAT.PRODOS.TYPE .EQ 40 BYTE
|
||||
S.STAT.PRODOS.AUXTYPE .EQ 41 WORD
|
||||
*
|
||||
S.STAT .EQ 43
|
||||
*--------------------------------------
|
||||
|
@ -121,7 +121,7 @@ Cmd.Exec.EXT ldy #1
|
||||
>SYSCALL SYS.STAT
|
||||
bcs .99
|
||||
|
||||
lda STAT+S.STAT.TYPE
|
||||
lda STAT+S.STAT.PRODOS.TYPE
|
||||
cmp #$04 TXT File ?
|
||||
beq Cmd.Exec.EXT.TXT
|
||||
cmp #$06 BIN File ?
|
||||
@ -253,7 +253,7 @@ Cmd.Exec.CD.Change
|
||||
>SYSCALL SYS.STAT
|
||||
bcs .9
|
||||
|
||||
lda STAT+S.STAT.TYPE
|
||||
lda STAT+S.STAT.PRODOS.TYPE
|
||||
sec
|
||||
eor #$0F Directory ?
|
||||
bne .9
|
||||
@ -379,7 +379,7 @@ Cmd.Exec.DATE >LDYA L.TIME
|
||||
>PUSHWI UsrBuf256
|
||||
>PUSHW L.FMT.DATE
|
||||
>PUSHW L.TIME
|
||||
>SYSCALL SYS.StrFTime
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>LDYAI UsrBuf256
|
||||
>SYSCALL SYS.PStrOutYA
|
||||
@ -396,7 +396,7 @@ Cmd.Exec.TIME >LDYA L.TIME
|
||||
>PUSHW L.FMT.TIME
|
||||
>PUSHW L.TIME
|
||||
|
||||
>SYSCALL SYS.StrFTime
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>LDYAI UsrBuf256
|
||||
>SYSCALL SYS.PStrOutYA
|
||||
|
@ -5,10 +5,13 @@ INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
TXT.OpenFileYA >PUSHWI 0 Aux type
|
||||
TXT.OpenFileYA pha
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
||||
>PUSHBI SYS.FOPEN.R+SYS.FOPEN.T
|
||||
|
||||
pla
|
||||
|
||||
>PUSHYA
|
||||
>SYSCALL SYS.FOPEN
|
||||
bcs .9
|
||||
|
||||
@ -59,20 +62,13 @@ TXT.ReadFile >PUSHWI UsrBuf256+1
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
TXT.CloseFile ldy #hInputArgs
|
||||
lda (pData),y
|
||||
beq .1
|
||||
>SYSCALL SYS.FreeMemA
|
||||
|
||||
.1 ldy #hInputFile
|
||||
TXT.CloseFile ldy #hInputFile
|
||||
lda (pData),y
|
||||
beq .9
|
||||
|
||||
>SYSCALL SYS.FCLOSEA
|
||||
|
||||
.9 lda #0
|
||||
ldy #hInputArgs
|
||||
sta (pData),y
|
||||
ldy #hInputFile
|
||||
sta (pData),y
|
||||
rts
|
||||
|
@ -60,7 +60,9 @@ J.INTCMDS .DA Cmd.Exec.CD
|
||||
.DA Cmd.Exec.TYPE
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >SYSCALL SYS.GetArgC
|
||||
CS.INIT >DEBUG
|
||||
|
||||
>SYSCALL SYS.GetArgC
|
||||
cmp #1
|
||||
|
||||
beq CS.INIT.INTERACTIVE no arg, continue starting interactive
|
||||
@ -460,7 +462,6 @@ hCmdHistory .BS 1
|
||||
CmdHistory.IDX .BS 1
|
||||
CmdHistory.END .BS 1
|
||||
hInputFile .BS 1
|
||||
hInputArgs .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
|
@ -31,18 +31,17 @@ K.LoadEXEYA.1 >PUSHWI KrnBuf256
|
||||
jsr K.STAT Look for AUXTYPE
|
||||
bcs .9
|
||||
|
||||
>LDYA KrnBuf256+S.STAT.AUXTYPE
|
||||
>LDYA KrnBuf256+S.STAT.PRODOS.AUXTYPE
|
||||
>STYA BIN.Relocate.Start
|
||||
|
||||
>PUSHYA Push AUXTYPE
|
||||
>PUSHBI 6 S.FILEINFO.TYPE.BIN
|
||||
>PUSHBI SYS.FOPEN.R
|
||||
>PUSHW K.LoadEXEYA.Filename
|
||||
|
||||
jsr K.LoadFile
|
||||
.9 bcs .99 Error Loading file
|
||||
|
||||
>DEBUG
|
||||
|
||||
stx K.LoadEXEYA.hMem save hMem
|
||||
|
||||
pha YA=CODE+DATA size
|
||||
@ -59,8 +58,6 @@ K.LoadEXEYA.1 >PUSHWI KrnBuf256
|
||||
jsr K.GetMemPtrA
|
||||
>STYA ZPQuickPtr1 set ZPQuickPtr1 -> Code start
|
||||
|
||||
>DEBUG
|
||||
|
||||
pha YA = actual load address
|
||||
tya
|
||||
sec
|
||||
@ -310,7 +307,7 @@ BIN.RelocateEXE ldy #H.BIN.HEADER+1
|
||||
lda (ZPQuickPtr1),y
|
||||
cmp /H.BIN.HEADER.BIN65
|
||||
bne *
|
||||
|
||||
|
||||
ldy #H.BIN.JMP relocate Main JMP
|
||||
lda (ZPQuickPtr1),y
|
||||
clc
|
||||
|
@ -411,7 +411,7 @@ K.READDIRA.ADD. lda #1
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda #$0F
|
||||
sta KrnBuf256+S.STAT.TYPE
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
ldy #$25 total_blocks
|
||||
lda (ZPQuickPtr3),y
|
||||
@ -432,7 +432,7 @@ K.READDIRA.ADD..
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda #$0F
|
||||
sta KrnBuf256+S.STAT.TYPE
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
bra K.READDIRA.ADDSTAT
|
||||
*--------------------------------------
|
||||
@ -441,7 +441,7 @@ K.READDIRA.ADDD jsr K.READDIRA.AddFNToBuf
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda #$0F
|
||||
sta KrnBuf256+S.STAT.TYPE
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
bra K.READDIRA.ADDSTAT
|
||||
*--------------------------------------
|
||||
@ -451,14 +451,14 @@ K.READDIRA.ADDF jsr K.READDIRA.AddFNToBuf
|
||||
|
||||
ldy #$10 type
|
||||
lda (ZPQuickPtr3),y
|
||||
sta KrnBuf256+S.STAT.TYPE
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
ldy #$1F auxtype
|
||||
lda (ZPQuickPtr3),y
|
||||
sta KrnBuf256+S.STAT.AUXTYPE
|
||||
sta KrnBuf256+S.STAT.PRODOS.AUXTYPE
|
||||
iny
|
||||
lda (ZPQuickPtr3),y
|
||||
sta KrnBuf256+S.STAT.AUXTYPE+1
|
||||
sta KrnBuf256+S.STAT.PRODOS.AUXTYPE+1
|
||||
|
||||
*--------------------------------------
|
||||
K.READDIRA.AddStat
|
||||
|
@ -155,9 +155,9 @@ K.FREAD jsr PFT.CheckFileSTK
|
||||
* Y,A = Bytes Written
|
||||
*--------------------------------------
|
||||
K.FWRITE jsr PFT.CheckFileSTK
|
||||
>PULLA
|
||||
ldx #MLIWRITE
|
||||
K.FREAD.1 jsr FILE.SetupPrt1A
|
||||
K.FREAD.1 >PULLA
|
||||
jsr FILE.SetupPrt1A
|
||||
>PULLW MLICALL.PARAMS+4
|
||||
>PULLW MLICALL.PARAMS+2
|
||||
|
||||
@ -335,14 +335,16 @@ FILE.MLI2STAT.Types
|
||||
lda #S.STAT.MODE.XO+S.STAT.MODE.RO
|
||||
|
||||
.2 ldy #S.STAT.MODE
|
||||
sta (ZPQuickPtr3),y
|
||||
sta (ZPQuickPtr2),y
|
||||
|
||||
ldy #S.STAT.BLOCKS
|
||||
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE
|
||||
sta (ZPQuickPtr3),y
|
||||
iny
|
||||
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE+1
|
||||
sta (ZPQuickPtr3),y
|
||||
ldx #2
|
||||
ldy #S.STAT.PRODOS.TYPE+2
|
||||
|
||||
.3 lda MLICALL.PARAMS+S.FILEINFO.TYPE,x
|
||||
sta (ZPQuickPtr2),y
|
||||
dey
|
||||
dex
|
||||
bpl .3
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -36,7 +36,7 @@ PFT.CheckPathYA
|
||||
stx S.PFT.SYSCALL save #SYSCALL
|
||||
>STYA ZPQuickPtr1
|
||||
|
||||
>LDYA FltMgr.Table
|
||||
>LDYAI FltMgr.Table
|
||||
>STYA ZPQuickPtr2
|
||||
|
||||
.1 lda (ZPQuickPtr2) Get Filter Len
|
||||
|
@ -238,7 +238,6 @@ PS.CreateChild >LDYAI TskMgr.Table+S.PS.SIZE
|
||||
.82 lda #S.PS.F.INUSE+S.PS.F.INIT
|
||||
ora (ZPQuickPtr3)
|
||||
sta (ZPQuickPtr3) Make this PS Init....
|
||||
|
||||
lda TSKMGR.LASTID
|
||||
clc Exit with A=PSID
|
||||
.9 rts
|
||||
@ -344,6 +343,7 @@ PS.Select0
|
||||
>STYA pPs
|
||||
bra PS.SelectDev
|
||||
PS.SelectN
|
||||
>DEBUG
|
||||
jsr K.GetPSByIDA
|
||||
bcs *
|
||||
>STYA pPs
|
||||
|
@ -5,9 +5,7 @@ INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
K.KernelRun >DEBUG
|
||||
|
||||
jsr TSK.TskMgrRun
|
||||
K.KernelRun jsr TSK.TskMgrRun
|
||||
bcs .9
|
||||
|
||||
jsr EVT.GetEvents
|
||||
|
@ -31,7 +31,7 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
||||
and #$FF^S.PS.F.HOLD unmark as HOLD
|
||||
sta (pPs)
|
||||
|
||||
.2 jsr PS.SelectA
|
||||
.2 jsr PS.Select
|
||||
|
||||
lda (pPS)
|
||||
bit #S.PS.F.INIT
|
||||
@ -63,7 +63,9 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
||||
bra .4
|
||||
|
||||
.3 ldx #TSKMGR.RUN
|
||||
|
||||
.31 jsr pCodeJmp Call INIT/RUN function
|
||||
|
||||
.4 bcc .7 INIT/RUN said CS=QUIT?
|
||||
|
||||
ldx #TSKMGR.QUIT yes, quit this process
|
||||
@ -113,7 +115,7 @@ TSK.DispatchEvents
|
||||
bit #S.PS.F.EVENT Accept Events ?
|
||||
beq .4
|
||||
|
||||
jsr PS.SelectA
|
||||
jsr PS.Select
|
||||
|
||||
stz pEvent
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user