2015-03-14 22:48:35 +01:00
|
|
|
|
PR#3
|
2017-03-29 17:48:15 +02:00
|
|
|
|
PREFIX /A2OSX.BUILD
|
2017-03-15 17:44:15 +01:00
|
|
|
|
LOMEM $A00
|
2015-03-14 22:48:35 +01:00
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # LoadFile
|
|
|
|
|
* ## In:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* PUSHW = AUXTYPE (Handled by....
|
|
|
|
|
* PUSHB = TYPE ...
|
|
|
|
|
* PUSHB = MODE ...
|
2017-01-12 18:43:45 +01:00
|
|
|
|
* PUSHW = PATH ...FOpen)
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## Out:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* Y,A = File Length
|
|
|
|
|
* X = hMem of Loaded File
|
|
|
|
|
*\--------------------------------------
|
2017-10-09 17:30:48 +02:00
|
|
|
|
K.LoadFile jsr K.FOpen
|
|
|
|
|
bcs .9
|
|
|
|
|
sta K.LoadFile.hFile
|
2016-09-20 18:00:51 +02:00
|
|
|
|
|
2017-10-09 17:30:48 +02:00
|
|
|
|
jsr K.LoadFile.GetLen
|
|
|
|
|
bcs .99
|
|
|
|
|
|
|
|
|
|
>LDYA K.LoadFile.FSize
|
2017-08-25 08:37:21 +02:00
|
|
|
|
jsr K.GetMem.YA
|
2017-10-09 17:30:48 +02:00
|
|
|
|
bcs .99
|
2016-09-21 17:20:37 +02:00
|
|
|
|
>STYA K.LoadFile.Mem
|
2017-09-29 08:36:27 +02:00
|
|
|
|
stx .8+1
|
2017-10-09 17:30:48 +02:00
|
|
|
|
|
2016-09-21 17:20:37 +02:00
|
|
|
|
>PUSHW K.LoadFile.Mem
|
2017-10-09 17:30:48 +02:00
|
|
|
|
>PUSHW K.LoadFile.FSize
|
2016-09-21 17:20:37 +02:00
|
|
|
|
>PUSHB K.LoadFile.hFile
|
2017-01-12 18:43:45 +01:00
|
|
|
|
jsr K.FRead
|
2016-09-30 17:04:55 +02:00
|
|
|
|
bcs .97
|
2017-06-21 17:46:43 +02:00
|
|
|
|
|
|
|
|
|
phy
|
|
|
|
|
pha Save Bytes read
|
2016-09-20 18:00:51 +02:00
|
|
|
|
|
|
|
|
|
jsr .99
|
2016-09-21 17:20:37 +02:00
|
|
|
|
|
2017-06-21 17:46:43 +02:00
|
|
|
|
pla
|
|
|
|
|
ply
|
2017-09-29 08:36:27 +02:00
|
|
|
|
.8 ldx #$ff Self Modified
|
2016-09-20 18:00:51 +02:00
|
|
|
|
clc
|
2016-09-21 17:20:37 +02:00
|
|
|
|
.9 rts
|
2017-06-21 17:46:43 +02:00
|
|
|
|
|
2016-09-30 17:04:55 +02:00
|
|
|
|
.97 pha
|
2017-09-29 08:36:27 +02:00
|
|
|
|
lda .8+1
|
2017-08-25 08:37:21 +02:00
|
|
|
|
jsr K.FreeMem.A
|
2016-09-30 17:04:55 +02:00
|
|
|
|
pla
|
2016-09-21 17:20:37 +02:00
|
|
|
|
|
2016-09-20 18:00:51 +02:00
|
|
|
|
.99 pha
|
2016-09-21 17:20:37 +02:00
|
|
|
|
lda K.LoadFile.hFile
|
2017-08-25 08:37:21 +02:00
|
|
|
|
jsr K.FClose.A
|
2016-09-20 18:00:51 +02:00
|
|
|
|
pla
|
|
|
|
|
sec
|
2016-09-21 17:20:37 +02:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2017-10-09 17:30:48 +02:00
|
|
|
|
K.LoadFile.GetLen
|
|
|
|
|
stz K.LoadFile.FPos
|
|
|
|
|
stz K.LoadFile.FPos+1
|
|
|
|
|
stz K.LoadFile.FPos+2
|
|
|
|
|
stz K.LoadFile.FPos+3
|
|
|
|
|
|
|
|
|
|
>PUSHWI K.LoadFile.FPos
|
|
|
|
|
>PUSHBI SYS.FSeek.END
|
|
|
|
|
>PUSHB K.LoadFile.hFile
|
|
|
|
|
jsr K.FSeek
|
|
|
|
|
bcs .99
|
|
|
|
|
|
|
|
|
|
>PUSHWI K.LoadFile.FPos
|
|
|
|
|
>PUSHB K.LoadFile.hFile
|
|
|
|
|
jsr K.FTell
|
|
|
|
|
bcs .99
|
|
|
|
|
|
|
|
|
|
lda K.LoadFile.FPos+2
|
|
|
|
|
ora K.LoadFile.FPos+3
|
|
|
|
|
bne .98 too big!
|
|
|
|
|
|
|
|
|
|
>LDYA K.LoadFile.FPos
|
|
|
|
|
>STYA K.LoadFile.FSize
|
|
|
|
|
|
|
|
|
|
stz K.LoadFile.FPos
|
|
|
|
|
stz K.LoadFile.FPos+1
|
|
|
|
|
|
|
|
|
|
>PUSHWI K.LoadFile.FPos
|
|
|
|
|
>PUSHBI SYS.FSeek.SET
|
|
|
|
|
>PUSHB K.LoadFile.hFile
|
|
|
|
|
jmp K.FSeek
|
|
|
|
|
|
|
|
|
|
.98 lda #SYSMGR.ERRFTB
|
|
|
|
|
.99 rts
|
|
|
|
|
*--------------------------------------
|
2017-06-21 17:46:43 +02:00
|
|
|
|
K.LoadFile.hFile .BS 1
|
2017-10-09 17:30:48 +02:00
|
|
|
|
K.LoadFile.FPos .BS 4
|
|
|
|
|
K.LoadFile.Mem .BS 2
|
|
|
|
|
K.LoadFile.FSize .BS 2
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # SaveFile
|
|
|
|
|
* ## In:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* PUSHW = SrcPtr
|
2017-04-12 17:46:03 +02:00
|
|
|
|
* PUSHW = SrcLen
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* PUSHW = AUXTYPE (Handled by....
|
|
|
|
|
* PUSHB = TYPE ...
|
|
|
|
|
* PUSHB = MODE ...
|
2017-01-12 18:43:45 +01:00
|
|
|
|
* PUSHW = PATH ...FOpen)
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*\--------------------------------------
|
2017-01-12 18:43:45 +01:00
|
|
|
|
K.SaveFile jsr K.FOpen
|
2016-09-20 18:00:51 +02:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2017-06-21 17:46:43 +02:00
|
|
|
|
sta .90+1
|
2016-09-20 18:00:51 +02:00
|
|
|
|
|
2017-06-21 17:46:43 +02:00
|
|
|
|
>PUSHA
|
2017-01-12 18:43:45 +01:00
|
|
|
|
jsr K.FWrite
|
2016-09-20 18:00:51 +02:00
|
|
|
|
bcs .99
|
|
|
|
|
|
|
|
|
|
jsr .99
|
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.99 pha
|
2017-06-21 17:46:43 +02:00
|
|
|
|
.90 lda #$ff
|
2017-08-25 08:37:21 +02:00
|
|
|
|
jsr K.FClose.A
|
2016-09-20 18:00:51 +02:00
|
|
|
|
pla
|
|
|
|
|
sec
|
2017-08-24 17:29:22 +02:00
|
|
|
|
rts
|
|
|
|
|
|
2017-06-21 17:46:43 +02:00
|
|
|
|
.9 pha
|
2017-10-12 17:28:59 +02:00
|
|
|
|
lda pStack Discard SrcPtr & SrcLen
|
|
|
|
|
clc
|
|
|
|
|
adc #4
|
|
|
|
|
sta pStack
|
2017-06-21 17:46:43 +02:00
|
|
|
|
pla
|
2016-10-21 17:03:41 +02:00
|
|
|
|
sec
|
|
|
|
|
rts
|
2017-04-03 23:13:46 +02:00
|
|
|
|
*/--------------------------------------
|
|
|
|
|
* # ChTyp
|
|
|
|
|
* ## In:
|
2017-04-04 15:07:58 +02:00
|
|
|
|
* PUSHB = TYPE
|
|
|
|
|
* PUSHW = PATH
|
2017-04-03 23:13:46 +02:00
|
|
|
|
*\--------------------------------------
|
|
|
|
|
K.ChTyp jsr PFT.CheckPathSTK
|
2017-10-04 17:12:03 +02:00
|
|
|
|
jsr STDIO.PullMLIPath
|
2017-04-03 23:13:46 +02:00
|
|
|
|
>PULLB .1+1
|
|
|
|
|
>MLICALL MLIGETFILEINFO
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
.1 lda #$ff
|
|
|
|
|
sta K.MLI.PARAMS+S.FILEINFO.TYPE
|
2017-04-04 15:07:58 +02:00
|
|
|
|
>MLICALL MLISETFILEINFO
|
2017-04-03 23:13:46 +02:00
|
|
|
|
.9 rts
|
|
|
|
|
*/--------------------------------------
|
2017-08-25 08:37:21 +02:00
|
|
|
|
* # ChMod
|
|
|
|
|
* ## In:
|
|
|
|
|
* PUSHW = UID
|
|
|
|
|
* PUSHW = PATH
|
|
|
|
|
*\--------------------------------------
|
|
|
|
|
K.ChMod
|
|
|
|
|
*/--------------------------------------
|
2017-04-03 23:13:46 +02:00
|
|
|
|
* # ChOwn
|
|
|
|
|
* ## In:
|
2017-04-04 15:07:58 +02:00
|
|
|
|
* PUSHW = UID
|
|
|
|
|
* PUSHW = PATH
|
2017-04-03 23:13:46 +02:00
|
|
|
|
*\--------------------------------------
|
|
|
|
|
K.ChOwn
|
|
|
|
|
*/--------------------------------------
|
|
|
|
|
* # ChGrp
|
|
|
|
|
* ## In:
|
2017-04-04 15:07:58 +02:00
|
|
|
|
* PUSHW = GID
|
|
|
|
|
* PUSHW = PATH
|
2017-04-03 23:13:46 +02:00
|
|
|
|
*\--------------------------------------
|
|
|
|
|
K.ChGrp
|
|
|
|
|
sec
|
|
|
|
|
rts
|
2016-01-09 23:40:19 +01:00
|
|
|
|
*--------------------------------------
|
2015-03-14 22:48:35 +01:00
|
|
|
|
MAN
|
2017-03-29 17:48:15 +02:00
|
|
|
|
SAVE /A2OSX.SRC/SYS/KERNEL.S.FIO
|
|
|
|
|
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
2015-03-14 22:48:35 +01:00
|
|
|
|
ASM
|