mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 07:30:41 +00:00
Kernel version 0.8 : switched BNK1 & BNK2 to add more API calls
This commit is contained in:
parent
d0c5f1ce3b
commit
8e7092b3a3
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -28,9 +28,9 @@ STARTPROC DHCPCLNT
|
|||||||
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
||||||
# End Network Section
|
# End Network Section
|
||||||
# GUI Section
|
# GUI Section
|
||||||
INSDRV DHGR.DRV
|
#INSDRV DHGR.DRV
|
||||||
INSDRV MOUSE.DRV
|
#INSDRV MOUSE.DRV
|
||||||
STARTPROC DESKTOP
|
#STARTPROC DESKTOP
|
||||||
# End GUI Section
|
# End GUI Section
|
||||||
ECHO *** End A2osX Startup file ***
|
ECHO *** End A2osX Startup file ***
|
||||||
MAN
|
MAN
|
||||||
|
183
INC/A2osX.I.txt
183
INC/A2osX.I.txt
@ -80,10 +80,10 @@ TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes)
|
* MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MemMgr.Table .EQ $1800
|
MemMgr.Table .EQ $1800 Slot 0 is Reserved
|
||||||
MemMgr.HiMem .EQ $1800 Slot 0 is Reserved
|
MemMgr.LoMem .EQ $1800
|
||||||
MemMgr.Free .EQ $1802
|
MemMgr.Free .EQ $1802
|
||||||
MemMgr.LoMem .EQ $1804
|
MemMgr.HiMem .EQ $1804
|
||||||
MemMgr.LastSlot .EQ $1806
|
MemMgr.LastSlot .EQ $1806
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MemMgr.MLoMem .EQ $2000
|
MemMgr.MLoMem .EQ $2000
|
||||||
@ -108,7 +108,7 @@ pDevJmp .EQ $BE19
|
|||||||
* $BEE0->$BEEF : Public Variables
|
* $BEE0->$BEEF : Public Variables
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
A2osX.ASCREEN .EQ $BEE0 Active Screen
|
A2osX.ASCREEN .EQ $BEE0 Active Screen
|
||||||
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE4 (4 devices)
|
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE4 (4 screen devices)
|
||||||
|
|
||||||
A2osX.CPUTYPE .EQ $BEE6
|
A2osX.CPUTYPE .EQ $BEE6
|
||||||
A2osX.CPUSPEED .EQ $BEE7 (->255.99 Mhz)
|
A2osX.CPUSPEED .EQ $BEE7 (->255.99 Mhz)
|
||||||
@ -143,109 +143,120 @@ H.BIN.DRV.REL.TABLE .EQ 0
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.SYSCALL Functions Indexes
|
* A2osX.SYSCALL Functions Indexes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.COutA .EQ $00 SYS.FPUTCA
|
SYS.FileSearch .EQ $00
|
||||||
* .EQ $02 SYS.FGETC
|
SYS.GetFullPathYA .EQ $02
|
||||||
SYS.PStrOutYA .EQ $04 SYS.FPUTSYA
|
SYS.LoadFile .EQ $04
|
||||||
* .EQ $06 SYS.FGETS
|
SYS.SaveFile .EQ $06
|
||||||
SYS.HexOutA .EQ $08
|
|
||||||
SYS.HexOutYA .EQ $0A
|
|
||||||
SYS.DecOutA .EQ $0C
|
|
||||||
SYS.DecOutYA .EQ $0E
|
|
||||||
*--------------------------------------
|
|
||||||
SYS.NewPStrYA .EQ $10
|
|
||||||
SYS.PStrCpy .EQ $12
|
|
||||||
SYS.PStrCat .EQ $14
|
|
||||||
SYS.PStrMatch .EQ $16
|
|
||||||
|
|
||||||
SYS.PStrUprYA .EQ $18
|
* .EQ $08
|
||||||
SYS.PStrLwrYA .EQ $1A
|
* .EQ $0A
|
||||||
SYS.PStrFTime .EQ $1C
|
* .EQ $0C
|
||||||
SYS.PStr2StrArrayYA .EQ $1E
|
* .EQ $0E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.ExecProcessNewEnvYA .EQ $20
|
SYS.LoadDrvYA .EQ $10
|
||||||
SYS.ExecProcessYA .EQ $22
|
SYS.LoadLibYA .EQ $12
|
||||||
SYS.CreateProcessNewEnvYA .EQ $24
|
SYS.UnloadLibA .EQ $14
|
||||||
SYS.CreateProcessYA .EQ $26
|
SYS.LoadExeYA .EQ $16
|
||||||
|
|
||||||
SYS.GetPSByIDA .EQ $28
|
SYS.TimeYA .EQ $18
|
||||||
* .EQ $2A
|
SYS.CTime2Time .EQ $1A
|
||||||
SYS.Sleep .EQ $2C
|
SYS.PTime2Time .EQ $1C
|
||||||
* .EQ $2E
|
* .EQ $1E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.GetArgC .EQ $30
|
SYS.FOPEN .EQ $20
|
||||||
SYS.GetArgA .EQ $32
|
|
||||||
SYS.ExpandPStrYA .EQ $34
|
|
||||||
* .EQ $36
|
|
||||||
|
|
||||||
SYS.PutEnvYA .EQ $38
|
|
||||||
SYS.SetEnv .EQ $3A
|
|
||||||
SYS.GetEnvYA .EQ $3C
|
|
||||||
SYS.UnsetEnvYA .EQ $3E
|
|
||||||
*--------------------------------------
|
|
||||||
SYS.FileSearch .EQ $40
|
|
||||||
SYS.GetFullPathYA .EQ $42
|
|
||||||
SYS.LoadFile .EQ $44
|
|
||||||
SYS.SaveFile .EQ $46
|
|
||||||
|
|
||||||
* .EQ $48
|
|
||||||
* .EQ $4A
|
|
||||||
* .EQ $4C
|
|
||||||
* .EQ $4E
|
|
||||||
*--------------------------------------
|
|
||||||
SYS.LoadDrvYA .EQ $50
|
|
||||||
SYS.LoadLibYA .EQ $52
|
|
||||||
SYS.UnloadLibA .EQ $54
|
|
||||||
SYS.LoadExeYA .EQ $56
|
|
||||||
|
|
||||||
SYS.TimeYA .EQ $58
|
|
||||||
SYS.CTime2Time .EQ $5A
|
|
||||||
SYS.PTime2Time .EQ $5C
|
|
||||||
* .EQ $5E
|
|
||||||
*--------------------------------------
|
|
||||||
SYS.FOPEN .EQ $60
|
|
||||||
SYS.FOPEN.R .EQ $01 Open For Read
|
SYS.FOPEN.R .EQ $01 Open For Read
|
||||||
SYS.FOPEN.W .EQ $02 Open For Write
|
SYS.FOPEN.W .EQ $02 Open For Write
|
||||||
SYS.FOPEN.A .EQ $04 Append
|
SYS.FOPEN.A .EQ $04 Append
|
||||||
SYS.FOPEN.T .EQ $08 Open/Append in Text mode
|
SYS.FOPEN.T .EQ $08 Open/Append in Text mode
|
||||||
SYS.FOPEN.X .EQ $80 Create if not exists
|
SYS.FOPEN.X .EQ $80 Create if not exists
|
||||||
|
|
||||||
SYS.FCLOSEA .EQ $62
|
SYS.FCLOSEA .EQ $22
|
||||||
SYS.FREAD .EQ $64
|
SYS.FREAD .EQ $24
|
||||||
SYS.FWRITE .EQ $66
|
SYS.FWRITE .EQ $26
|
||||||
|
|
||||||
SYS.FFLUSH .EQ $68
|
SYS.FFLUSH .EQ $28
|
||||||
SYS.FSEEK .EQ $6A
|
SYS.FSEEK .EQ $2A
|
||||||
SYS.FSEEK.SET .EQ $00
|
SYS.FSEEK.SET .EQ $00
|
||||||
SYS.FSEEK.CUR .EQ $01
|
SYS.FSEEK.CUR .EQ $01
|
||||||
SYS.FSEEK.END .EQ $02
|
SYS.FSEEK.END .EQ $02
|
||||||
SYS.FTELL .EQ $6C
|
SYS.FTELL .EQ $2C
|
||||||
SYS.FEOF .EQ $6E
|
SYS.FEOF .EQ $2E
|
||||||
|
|
||||||
SYS.REMOVE .EQ $70
|
SYS.REMOVE .EQ $30
|
||||||
SYS.RENAME .EQ $72
|
SYS.RENAME .EQ $32
|
||||||
SYS.STAT .EQ $74
|
SYS.STAT .EQ $34
|
||||||
|
* .EQ $36
|
||||||
|
|
||||||
|
SYS.OPENDIRYA .EQ $38
|
||||||
|
SYS.READDIRA .EQ $3A
|
||||||
|
SYS.CLOSEDIRA .EQ $3C
|
||||||
|
SYS.MKDIRYA .EQ $3E
|
||||||
|
*--------------------------------------
|
||||||
|
SYS.COutA .EQ $40 SYS.FPUTCA
|
||||||
|
* .EQ $42 SYS.FGETC
|
||||||
|
SYS.PStrOutYA .EQ $44 SYS.FPUTSYA
|
||||||
|
* .EQ $46 SYS.FGETS
|
||||||
|
|
||||||
|
SYS.HexOutA .EQ $48
|
||||||
|
SYS.HexOutYA .EQ $4A
|
||||||
|
SYS.DecOutA .EQ $4C
|
||||||
|
SYS.DecOutYA .EQ $4E
|
||||||
|
*--------------------------------------
|
||||||
|
SYS.NewPStrYA .EQ $50
|
||||||
|
SYS.PStrCpy .EQ $52
|
||||||
|
SYS.PStrCat .EQ $54
|
||||||
|
SYS.PStrMatch .EQ $56
|
||||||
|
|
||||||
|
SYS.PStrUprYA .EQ $58
|
||||||
|
SYS.PStrLwrYA .EQ $5A
|
||||||
|
SYS.PStrFTime .EQ $5C
|
||||||
|
SYS.PStr2StrArrayYA .EQ $5E
|
||||||
|
*--------------------------------------
|
||||||
|
SYS.ExecProcessNewEnvYA .EQ $60
|
||||||
|
SYS.ExecProcessYA .EQ $62
|
||||||
|
SYS.CreateProcessNewEnvYA .EQ $64
|
||||||
|
SYS.CreateProcessYA .EQ $66
|
||||||
|
|
||||||
|
SYS.GetPSByIDA .EQ $68
|
||||||
|
* .EQ $6A
|
||||||
|
SYS.Sleep .EQ $6C
|
||||||
|
* .EQ $6E
|
||||||
|
*--------------------------------------
|
||||||
|
SYS.GetArgC .EQ $70
|
||||||
|
SYS.GetArgA .EQ $72
|
||||||
|
SYS.ExpandPStrYA .EQ $74
|
||||||
* .EQ $76
|
* .EQ $76
|
||||||
|
|
||||||
SYS.OPENDIRYA .EQ $78
|
SYS.PutEnvYA .EQ $78
|
||||||
SYS.READDIRA .EQ $7A
|
SYS.SetEnv .EQ $7A
|
||||||
SYS.CLOSEDIRA .EQ $7C
|
SYS.GetEnvYA .EQ $7C
|
||||||
SYS.MKDIRYA .EQ $7E
|
SYS.UnsetEnvYA .EQ $7E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.GetMem .EQ $80
|
SYS.GetDevByIDA .EQ $80
|
||||||
SYS.FreeMemA .EQ $82
|
SYS.GetDevByNameYA .EQ $82
|
||||||
SYS.GetMemPtrA .EQ $84
|
SYS.GetDevInfoA .EQ $84
|
||||||
SYS.GetMemByIDA .EQ $86
|
* .EQ $86
|
||||||
|
|
||||||
SYS.GetMemByNameYA .EQ $88
|
* .EQ $88
|
||||||
SYS.LoadStockObjectYA .EQ $8A
|
* .EQ $8A
|
||||||
SYS.GetStockObjectA .EQ $8C
|
* .EQ $8C
|
||||||
SYS.FreeStockObject .EQ $8E
|
* .EQ $8E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.GetDevByIDA .EQ $90
|
SYS.GetMem .EQ $90
|
||||||
SYS.GetDevByNameYA .EQ $92
|
SYS.FreeMemA .EQ $92
|
||||||
SYS.GetDevInfoA .EQ $94
|
SYS.GetMemPtrA .EQ $94
|
||||||
|
SYS.GetMemByIDA .EQ $96
|
||||||
|
|
||||||
|
SYS.GetMemByNameYA .EQ $98
|
||||||
|
SYS.LoadStockObjectYA .EQ $9A
|
||||||
|
SYS.GetStockObjectA .EQ $9C
|
||||||
|
SYS.FreeStockObject .EQ $9E
|
||||||
|
*--------------------------------------
|
||||||
|
SYS.SetLoMem .EQ $A0
|
||||||
|
SYS.GetMemStatYA .EQ $A2
|
||||||
|
*--------------------------------------
|
||||||
|
* TO DO :
|
||||||
|
*--------------------------------------
|
||||||
SYS.MKNOD .EQ $FF
|
SYS.MKNOD .EQ $FF
|
||||||
SYS.MKFIFO .EQ $FF
|
SYS.MKFIFO .EQ $FF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
267
SYS/KERNEL.S.D01.txt
Normal file
267
SYS/KERNEL.S.D01.txt
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
PR#3
|
||||||
|
PREFIX /A2OSX.SRC
|
||||||
|
NEW
|
||||||
|
INC 1
|
||||||
|
AUTO 6
|
||||||
|
.LIST OFF
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.Count .EQ 2
|
||||||
|
DevMgr.SYS.BASL0 .EQ $800
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.NUL.Code .DA DevMgr.Unsup OPEN
|
||||||
|
.DA DevMgr.Unsup GETEVENT
|
||||||
|
.DA .8 COUT
|
||||||
|
.DA DevMgr.Unsup CLOSE
|
||||||
|
.DA DevMgr.Unsup GETINFO
|
||||||
|
.DA DevMgr.Unsup IRQ
|
||||||
|
.DA DevMgr.Unsup SELECT
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.Code .DA DevMgr.SYS.Open
|
||||||
|
.DA DevMgr.SYS.GetEvent
|
||||||
|
.DA DevMgr.SYS.COut
|
||||||
|
.DA DevMgr.Unsup CLOSE
|
||||||
|
.DA DevMgr.Unsup GETINFO
|
||||||
|
.DA DevMgr.Unsup IRQ
|
||||||
|
.DA DevMgr.SYS.Select
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.Unsup lda #DEVMGR.ERRUNSUP
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.Open stz DevMgr.SYS.CPULOADI
|
||||||
|
stz DevMgr.SYS.CH
|
||||||
|
stz DevMgr.SYS.CV
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
.1 lda DevMgr.SYS.TITLE,y
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
|
iny
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.2 lda #$20
|
||||||
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
|
iny
|
||||||
|
cpy #80
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
jsr DevMgr.SYS.Home
|
||||||
|
|
||||||
|
lda #1
|
||||||
|
sta A2osX.SCRNDEVS+1
|
||||||
|
|
||||||
|
jsr DevMgr.SYS.Select
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.GetEvent
|
||||||
|
lda A2osX.ASCREEN
|
||||||
|
cmp #2 is SYS active?
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
ldx DevMgr.SYS.CPULOADI
|
||||||
|
lda DevMgr.SYS.CPULOADC,x
|
||||||
|
sta DevMgr.SYS.BASL0+38
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
ldx #3
|
||||||
|
.1 stx DevMgr.SYS.CPULOADI
|
||||||
|
|
||||||
|
lda OPENAPPLE
|
||||||
|
bmi .9 Open apple key, not for us...
|
||||||
|
lda KBD
|
||||||
|
bpl .9
|
||||||
|
sta KBDSTROBE
|
||||||
|
|
||||||
|
and #$7F
|
||||||
|
|
||||||
|
ldy #S.EVT.DATALO
|
||||||
|
sta (pEvent),y
|
||||||
|
iny S.EVT.DATAHI
|
||||||
|
lda #0
|
||||||
|
sta (pEvent),y
|
||||||
|
lda #S.EVT.F.KEY
|
||||||
|
sta (pEvent)
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #0 Error = no event
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.COut phx
|
||||||
|
phy
|
||||||
|
cmp #' '
|
||||||
|
bcc .1
|
||||||
|
ldy DevMgr.SYS.CH
|
||||||
|
ldx DevMgr.SYS.CV
|
||||||
|
ora #$80
|
||||||
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
|
jsr DevMgr.SYS.FSOut
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.1 cmp #10
|
||||||
|
bne .2
|
||||||
|
jsr DevMgr.SYS.LF
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.2 cmp #13
|
||||||
|
bne .3
|
||||||
|
jsr DevMgr.SYS.CROut
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.3 ora #$20
|
||||||
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
|
jsr DevMgr.SYS.FSOut
|
||||||
|
|
||||||
|
.8 ply
|
||||||
|
plx
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.Select
|
||||||
|
sta SETTEXT
|
||||||
|
sta SETALTCHAR
|
||||||
|
sta SET80DISP
|
||||||
|
sta CLR80STORE
|
||||||
|
sta SETPAGE2
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.FSOut
|
||||||
|
lda DevMgr.SYS.CH
|
||||||
|
cmp #79
|
||||||
|
beq DevMgr.SYS.LF1
|
||||||
|
inc DevMgr.SYS.CH
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.CROut
|
||||||
|
jsr DevMgr.SYS.ClrEOL
|
||||||
|
stz DevMgr.SYS.CH
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.LF1 stz DevMgr.SYS.CH
|
||||||
|
DevMgr.SYS.LF ldx DevMgr.SYS.CV
|
||||||
|
cpx #23
|
||||||
|
beq DevMgr.SYS.Scroll
|
||||||
|
inc DevMgr.SYS.CV
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.ClrEOL
|
||||||
|
ldx DevMgr.SYS.CV
|
||||||
|
lda #$A0
|
||||||
|
ldy DevMgr.SYS.CH
|
||||||
|
.1 cpy #79
|
||||||
|
beq .2
|
||||||
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
|
iny
|
||||||
|
bne .1
|
||||||
|
.2 rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.Scroll
|
||||||
|
ldx #1
|
||||||
|
.1 lda DevMgr.SYS.BASEL,x
|
||||||
|
sta ZPDRV
|
||||||
|
lda DevMgr.SYS.BASEH,x
|
||||||
|
sta ZPDRV+1
|
||||||
|
inx
|
||||||
|
lda DevMgr.SYS.BASEL,x
|
||||||
|
sta ZPDRV+2
|
||||||
|
lda DevMgr.SYS.BASEH,x
|
||||||
|
sta ZPDRV+3
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
sta SETWRITEAUX
|
||||||
|
sta SETREADAUX
|
||||||
|
.2 lda (ZPDRV+2),y
|
||||||
|
sta (ZPDRV),y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
sta CLRWRITEAUX
|
||||||
|
sta CLRREADAUX
|
||||||
|
.3 lda (ZPDRV+2),y
|
||||||
|
sta (ZPDRV),y
|
||||||
|
dey
|
||||||
|
bpl .3
|
||||||
|
|
||||||
|
cpx #23
|
||||||
|
bne .1 Fall in ClrLineAtX for last line
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.ClrLineAtX
|
||||||
|
lda DevMgr.SYS.BASEL,x
|
||||||
|
sta ZPDRV
|
||||||
|
lda DevMgr.SYS.BASEH,x
|
||||||
|
sta ZPDRV+1
|
||||||
|
|
||||||
|
lda #$A0
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
|
||||||
|
.1 sta SETWRITEAUX
|
||||||
|
sta (ZPDRV),y
|
||||||
|
sta CLRWRITEAUX
|
||||||
|
sta (ZPDRV),y
|
||||||
|
dey
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.Home ldx #23
|
||||||
|
|
||||||
|
.1 jsr DevMgr.SYS.ClrLineAtX
|
||||||
|
dex
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
stz DevMgr.SYS.CH
|
||||||
|
lda #1
|
||||||
|
sta DevMgr.SYS.CV
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.SetCharAtYX
|
||||||
|
cmp #$40
|
||||||
|
bcc .1
|
||||||
|
cmp #$5F
|
||||||
|
bcs .1
|
||||||
|
and #$3F
|
||||||
|
|
||||||
|
.1 phy
|
||||||
|
pha
|
||||||
|
lda DevMgr.SYS.BASEL,x
|
||||||
|
sta ZPDRV
|
||||||
|
lda DevMgr.SYS.BASEH,x
|
||||||
|
sta ZPDRV+1
|
||||||
|
tya
|
||||||
|
lsr
|
||||||
|
tay
|
||||||
|
bcs .2
|
||||||
|
sta SETWRITEAUX
|
||||||
|
|
||||||
|
.2 pla
|
||||||
|
sta (ZPDRV),y
|
||||||
|
sta CLRWRITEAUX
|
||||||
|
ply
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.CH .BS 1
|
||||||
|
DevMgr.SYS.CV .BS 1
|
||||||
|
DevMgr.SYS.CPULOADI .BS 1
|
||||||
|
DevMgr.SYS.CPULOADC .AS -"|/-\"
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.SYS.TITLE >CSTRING "A2osX System Screen"
|
||||||
|
DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
|
||||||
|
DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B
|
||||||
|
*--------------------------------------
|
||||||
|
DevMgr.LoMem .EQ *
|
||||||
|
MAN
|
||||||
|
SAVE SYS/KERNEL.S.D01
|
||||||
|
LOAD SYS/KERNEL.S
|
||||||
|
ASM
|
@ -5,6 +5,11 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
DevMgr.Free .DA DevMgr.LoMem
|
||||||
|
DevMgr.LastDevID .DA #DevMgr.Count-1
|
||||||
|
TSKMGR.SIZE .BS 1
|
||||||
|
TSKMGR.LASTID .BS 1
|
||||||
|
*--------------------------------------
|
||||||
ENV.DRV >PSTRING "DRV"
|
ENV.DRV >PSTRING "DRV"
|
||||||
ENV.LIB >PSTRING "LIB"
|
ENV.LIB >PSTRING "LIB"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -91,266 +91,6 @@ K.GetDevInfoA jsr K.GetDevByIDA
|
|||||||
ldx #DEVMGR.GETINFO
|
ldx #DEVMGR.GETINFO
|
||||||
jmp (ZPQuickPtr1)
|
jmp (ZPQuickPtr1)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.Count .EQ 2
|
|
||||||
DevMgr.SYS.BASL0 .EQ $800
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.Free .BS 2
|
|
||||||
DevMgr.DevID .BS 1
|
|
||||||
DevMgr.LastDevID .DA #DevMgr.Count-1
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.NUL.Code .DA DevMgr.Unsup OPEN
|
|
||||||
.DA DevMgr.Unsup GETEVENT
|
|
||||||
.DA .8 COUT
|
|
||||||
.DA DevMgr.Unsup CLOSE
|
|
||||||
.DA DevMgr.Unsup GETINFO
|
|
||||||
.DA DevMgr.Unsup IRQ
|
|
||||||
.DA DevMgr.Unsup SELECT
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Code .DA DevMgr.SYS.Open
|
|
||||||
.DA DevMgr.SYS.GetEvent
|
|
||||||
.DA DevMgr.SYS.COut
|
|
||||||
.DA DevMgr.Unsup CLOSE
|
|
||||||
.DA DevMgr.Unsup GETINFO
|
|
||||||
.DA DevMgr.Unsup IRQ
|
|
||||||
.DA DevMgr.SYS.Select
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.Unsup lda #DEVMGR.ERRUNSUP
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Open stz DevMgr.SYS.CPULOADI
|
|
||||||
stz DevMgr.SYS.CH
|
|
||||||
stz DevMgr.SYS.CV
|
|
||||||
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
.1 lda DevMgr.SYS.TITLE,y
|
|
||||||
beq .2
|
|
||||||
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
|
||||||
iny
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
.2 lda #$20
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
|
||||||
iny
|
|
||||||
cpy #80
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
jsr DevMgr.SYS.Home
|
|
||||||
|
|
||||||
lda #1
|
|
||||||
sta A2osX.SCRNDEVS+1
|
|
||||||
|
|
||||||
jsr DevMgr.SYS.Select
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.GetEvent
|
|
||||||
lda A2osX.ASCREEN
|
|
||||||
cmp #2 is SYS active?
|
|
||||||
bne .9
|
|
||||||
|
|
||||||
ldx DevMgr.SYS.CPULOADI
|
|
||||||
lda DevMgr.SYS.CPULOADC,x
|
|
||||||
sta DevMgr.SYS.BASL0+38
|
|
||||||
dex
|
|
||||||
bpl .1
|
|
||||||
ldx #3
|
|
||||||
.1 stx DevMgr.SYS.CPULOADI
|
|
||||||
|
|
||||||
lda OPENAPPLE
|
|
||||||
bmi .9 Open apple key, not for us...
|
|
||||||
lda KBD
|
|
||||||
bpl .9
|
|
||||||
sta KBDSTROBE
|
|
||||||
|
|
||||||
and #$7F
|
|
||||||
|
|
||||||
ldy #S.EVT.DATALO
|
|
||||||
sta (pEvent),y
|
|
||||||
iny S.EVT.DATAHI
|
|
||||||
lda #0
|
|
||||||
sta (pEvent),y
|
|
||||||
lda #S.EVT.F.KEY
|
|
||||||
sta (pEvent)
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #0 Error = no event
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.COut phx
|
|
||||||
phy
|
|
||||||
cmp #' '
|
|
||||||
bcc .1
|
|
||||||
ldy DevMgr.SYS.CH
|
|
||||||
ldx DevMgr.SYS.CV
|
|
||||||
ora #$80
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
|
||||||
jsr DevMgr.SYS.FSOut
|
|
||||||
bra .8
|
|
||||||
|
|
||||||
.1 cmp #10
|
|
||||||
bne .2
|
|
||||||
jsr DevMgr.SYS.LF
|
|
||||||
bra .8
|
|
||||||
|
|
||||||
.2 cmp #13
|
|
||||||
bne .3
|
|
||||||
jsr DevMgr.SYS.CROut
|
|
||||||
bra .8
|
|
||||||
|
|
||||||
.3 ora #$20
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
|
||||||
jsr DevMgr.SYS.FSOut
|
|
||||||
|
|
||||||
.8 ply
|
|
||||||
plx
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Select
|
|
||||||
sta SETTEXT
|
|
||||||
sta SETALTCHAR
|
|
||||||
sta SET80DISP
|
|
||||||
sta CLR80STORE
|
|
||||||
sta SETPAGE2
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.FSOut
|
|
||||||
lda DevMgr.SYS.CH
|
|
||||||
cmp #79
|
|
||||||
beq DevMgr.SYS.LF1
|
|
||||||
inc DevMgr.SYS.CH
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.CROut
|
|
||||||
jsr DevMgr.SYS.ClrEOL
|
|
||||||
stz DevMgr.SYS.CH
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.LF1 stz DevMgr.SYS.CH
|
|
||||||
DevMgr.SYS.LF ldx DevMgr.SYS.CV
|
|
||||||
cpx #23
|
|
||||||
beq DevMgr.SYS.Scroll
|
|
||||||
inc DevMgr.SYS.CV
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.ClrEOL
|
|
||||||
ldx DevMgr.SYS.CV
|
|
||||||
lda #$A0
|
|
||||||
ldy DevMgr.SYS.CH
|
|
||||||
.1 cpy #79
|
|
||||||
beq .2
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
|
||||||
iny
|
|
||||||
bne .1
|
|
||||||
.2 rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Scroll
|
|
||||||
ldx #1
|
|
||||||
.1 lda DevMgr.SYS.BASEL,x
|
|
||||||
sta ZPDRV
|
|
||||||
lda DevMgr.SYS.BASEH,x
|
|
||||||
sta ZPDRV+1
|
|
||||||
inx
|
|
||||||
lda DevMgr.SYS.BASEL,x
|
|
||||||
sta ZPDRV+2
|
|
||||||
lda DevMgr.SYS.BASEH,x
|
|
||||||
sta ZPDRV+3
|
|
||||||
|
|
||||||
ldy #39
|
|
||||||
sta SETWRITEAUX
|
|
||||||
sta SETREADAUX
|
|
||||||
.2 lda (ZPDRV+2),y
|
|
||||||
sta (ZPDRV),y
|
|
||||||
dey
|
|
||||||
bpl .2
|
|
||||||
|
|
||||||
ldy #39
|
|
||||||
sta CLRWRITEAUX
|
|
||||||
sta CLRREADAUX
|
|
||||||
.3 lda (ZPDRV+2),y
|
|
||||||
sta (ZPDRV),y
|
|
||||||
dey
|
|
||||||
bpl .3
|
|
||||||
|
|
||||||
cpx #23
|
|
||||||
bne .1 Fall in ClrLineAtX for last line
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.ClrLineAtX
|
|
||||||
lda DevMgr.SYS.BASEL,x
|
|
||||||
sta ZPDRV
|
|
||||||
lda DevMgr.SYS.BASEH,x
|
|
||||||
sta ZPDRV+1
|
|
||||||
|
|
||||||
lda #$A0
|
|
||||||
|
|
||||||
ldy #39
|
|
||||||
|
|
||||||
.1 sta SETWRITEAUX
|
|
||||||
sta (ZPDRV),y
|
|
||||||
sta CLRWRITEAUX
|
|
||||||
sta (ZPDRV),y
|
|
||||||
dey
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Home ldx #23
|
|
||||||
|
|
||||||
.1 jsr DevMgr.SYS.ClrLineAtX
|
|
||||||
dex
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
stz DevMgr.SYS.CH
|
|
||||||
lda #1
|
|
||||||
sta DevMgr.SYS.CV
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.SetCharAtYX
|
|
||||||
cmp #$40
|
|
||||||
bcc .1
|
|
||||||
cmp #$5F
|
|
||||||
bcs .1
|
|
||||||
and #$3F
|
|
||||||
|
|
||||||
.1 phy
|
|
||||||
pha
|
|
||||||
lda DevMgr.SYS.BASEL,x
|
|
||||||
sta ZPDRV
|
|
||||||
lda DevMgr.SYS.BASEH,x
|
|
||||||
sta ZPDRV+1
|
|
||||||
tya
|
|
||||||
lsr
|
|
||||||
tay
|
|
||||||
bcs .2
|
|
||||||
sta SETWRITEAUX
|
|
||||||
|
|
||||||
.2 pla
|
|
||||||
sta (ZPDRV),y
|
|
||||||
sta CLRWRITEAUX
|
|
||||||
ply
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.CH .BS 1
|
|
||||||
DevMgr.SYS.CV .BS 1
|
|
||||||
DevMgr.SYS.CPULOADI .BS 1
|
|
||||||
DevMgr.SYS.CPULOADC .AS -"|/-\"
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.TITLE >CSTRING "A2osX System Screen"
|
|
||||||
DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
|
|
||||||
DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.LoMem .EQ *
|
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.DEV
|
SAVE SYS/KERNEL.S.DEV
|
||||||
LOAD SYS/KERNEL.S
|
LOAD SYS/KERNEL.S
|
||||||
|
@ -53,7 +53,7 @@ EVT.GetEvents.DEV
|
|||||||
>LDYAI DevMgr.Table
|
>LDYAI DevMgr.Table
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
|
|
||||||
stz DevMgr.DevID
|
stz EvtMgr.DevID
|
||||||
|
|
||||||
.1 ldy #S.DEV.F
|
.1 ldy #S.DEV.F
|
||||||
lda (pDev),y get S.DEV.F
|
lda (pDev),y get S.DEV.F
|
||||||
@ -70,7 +70,7 @@ EVT.GetEvents.DEV
|
|||||||
bcs .2 no event
|
bcs .2 no event
|
||||||
|
|
||||||
ldy #S.EVT.hDEV
|
ldy #S.EVT.hDEV
|
||||||
lda DevMgr.DevID
|
lda EvtMgr.DevID
|
||||||
sta (pEvent),y
|
sta (pEvent),y
|
||||||
|
|
||||||
jsr EVT.GetEvents.Add
|
jsr EVT.GetEvents.Add
|
||||||
@ -84,8 +84,8 @@ EVT.GetEvents.DEV
|
|||||||
bcc .3
|
bcc .3
|
||||||
inc pDev+1
|
inc pDev+1
|
||||||
|
|
||||||
.3 lda DevMgr.DevID
|
.3 lda EvtMgr.DevID
|
||||||
inc DevMgr.DevID
|
inc EvtMgr.DevID
|
||||||
cmp DevMgr.LastDevID
|
cmp DevMgr.LastDevID
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
@ -133,6 +133,7 @@ EVTMGR.VBLSTATE .BS 1
|
|||||||
EVTMGR.10TH.CNT .BS 1
|
EVTMGR.10TH.CNT .BS 1
|
||||||
EVTMGR.HZ.CNT .BS 1
|
EVTMGR.HZ.CNT .BS 1
|
||||||
EVTMGR.COUNT .BS 1
|
EVTMGR.COUNT .BS 1
|
||||||
|
EvtMgr.DevID .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.EVT
|
SAVE SYS/KERNEL.S.EVT
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Kernel.Init3 jsr K.DevMgrInit
|
Kernel.Init3 jsr K.DevMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
|
|
||||||
lda #1 SYS device
|
lda #1 SYS device
|
||||||
>SYSCALL SYS.GetDevByIDA
|
>SYSCALL SYS.GetDevByIDA
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
@ -71,6 +71,8 @@ Kernel.Init3 jsr K.DevMgrInit
|
|||||||
>STYA pPs
|
>STYA pPs
|
||||||
|
|
||||||
>DEBUGOA
|
>DEBUGOA
|
||||||
|
bit RRAMWRAMBNK2
|
||||||
|
bit RRAMWRAMBNK2
|
||||||
jmp K.KernelRun
|
jmp K.KernelRun
|
||||||
|
|
||||||
.9 >PUSHA
|
.9 >PUSHA
|
||||||
@ -88,11 +90,11 @@ K.DevMgrInit ldx #S.DEV*DevMgr.Count
|
|||||||
|
|
||||||
stz DevMgr.Table+S.DEV*DevMgr.Count
|
stz DevMgr.Table+S.DEV*DevMgr.Count
|
||||||
|
|
||||||
lda #DevMgr.Count-1
|
* >LDYAI DevMgr.LoMem Hard Coded
|
||||||
sta DevMgr.LastDevID
|
* >STYA DevMgr.Free
|
||||||
|
* lda #DevMgr.Count-1
|
||||||
|
* sta DevMgr.LastDevID
|
||||||
|
|
||||||
>LDYAI DevMgr.LoMem
|
|
||||||
>STYA DevMgr.Free
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -11,45 +11,7 @@ KERNEL.SYSCALL
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Bank 1
|
* Bank 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.COutA $00
|
.DA K.FileSearch $00
|
||||||
.DA 0
|
|
||||||
.DA K.PStrOutYA
|
|
||||||
.DA 0
|
|
||||||
.DA K.HexOutA
|
|
||||||
.DA K.HexOutYA
|
|
||||||
.DA K.DecOutA
|
|
||||||
.DA K.DecOutYA
|
|
||||||
*--------------------------------------
|
|
||||||
.DA K.NewPStrYA $10
|
|
||||||
.DA K.PStrCpy
|
|
||||||
.DA K.PStrCat
|
|
||||||
.DA K.PStrMatch
|
|
||||||
.DA K.PStrUprYA
|
|
||||||
.DA K.PStrLwrYA
|
|
||||||
.DA K.PStrFTime
|
|
||||||
.DA K.PStr2StrArrayYA
|
|
||||||
*--------------------------------------
|
|
||||||
.DA K.ExecProcessNewEnvYA $20
|
|
||||||
.DA K.ExecProcessYA
|
|
||||||
.DA K.CreateProcessNewEnvYA
|
|
||||||
.DA K.CreateProcessYA
|
|
||||||
.DA K.GetPSByIDA
|
|
||||||
.DA 0
|
|
||||||
.DA K.Sleep
|
|
||||||
.DA 0
|
|
||||||
*--------------------------------------
|
|
||||||
.DA K.GetArgC $30
|
|
||||||
.DA K.GetArgA
|
|
||||||
.DA K.ExpandPStrYA $32
|
|
||||||
.DA 0
|
|
||||||
.DA K.PutEnvYA
|
|
||||||
.DA K.SetEnv
|
|
||||||
.DA K.GetEnvYA
|
|
||||||
.DA K.UnsetEnvYA
|
|
||||||
*--------------------------------------
|
|
||||||
* Bank 2
|
|
||||||
*--------------------------------------
|
|
||||||
.DA K.FileSearch $40
|
|
||||||
.DA K.GetFullPathYA
|
.DA K.GetFullPathYA
|
||||||
.DA K.LoadFile
|
.DA K.LoadFile
|
||||||
.DA K.SaveFile
|
.DA K.SaveFile
|
||||||
@ -58,7 +20,7 @@ KERNEL.SYSCALL
|
|||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.LoadDrvYA $50
|
.DA K.LoadDrvYA $10
|
||||||
.DA K.LoadLibYA
|
.DA K.LoadLibYA
|
||||||
.DA K.UnloadLibA
|
.DA K.UnloadLibA
|
||||||
.DA K.LoadExeYA
|
.DA K.LoadExeYA
|
||||||
@ -67,7 +29,7 @@ KERNEL.SYSCALL
|
|||||||
.DA K.PTime2Time
|
.DA K.PTime2Time
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.FOPEN $60
|
.DA K.FOPEN $20
|
||||||
.DA K.FCLOSEA
|
.DA K.FCLOSEA
|
||||||
.DA K.FREAD
|
.DA K.FREAD
|
||||||
.DA K.FWRITE
|
.DA K.FWRITE
|
||||||
@ -76,7 +38,7 @@ KERNEL.SYSCALL
|
|||||||
.DA K.FTELLA
|
.DA K.FTELLA
|
||||||
.DA K.FEOFA
|
.DA K.FEOFA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.REMOVEYA $70
|
.DA K.REMOVEYA $30
|
||||||
.DA K.RENAME
|
.DA K.RENAME
|
||||||
.DA K.STAT
|
.DA K.STAT
|
||||||
.DA 0
|
.DA 0
|
||||||
@ -85,9 +47,56 @@ KERNEL.SYSCALL
|
|||||||
.DA K.CLOSEDIRA
|
.DA K.CLOSEDIRA
|
||||||
.DA K.MKDIRYA
|
.DA K.MKDIRYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* Bank 2
|
||||||
|
*--------------------------------------
|
||||||
|
.DA K.COutA $40
|
||||||
|
.DA 0
|
||||||
|
.DA K.PStrOutYA
|
||||||
|
.DA 0
|
||||||
|
.DA K.HexOutA
|
||||||
|
.DA K.HexOutYA
|
||||||
|
.DA K.DecOutA
|
||||||
|
.DA K.DecOutYA
|
||||||
|
*--------------------------------------
|
||||||
|
.DA K.NewPStrYA $50
|
||||||
|
.DA K.PStrCpy
|
||||||
|
.DA K.PStrCat
|
||||||
|
.DA K.PStrMatch
|
||||||
|
.DA K.PStrUprYA
|
||||||
|
.DA K.PStrLwrYA
|
||||||
|
.DA K.PStrFTime
|
||||||
|
.DA K.PStr2StrArrayYA
|
||||||
|
*--------------------------------------
|
||||||
|
.DA K.ExecProcessNewEnvYA $60
|
||||||
|
.DA K.ExecProcessYA
|
||||||
|
.DA K.CreateProcessNewEnvYA
|
||||||
|
.DA K.CreateProcessYA
|
||||||
|
.DA K.GetPSByIDA
|
||||||
|
.DA 0
|
||||||
|
.DA K.Sleep
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
|
.DA K.GetArgC $70
|
||||||
|
.DA K.GetArgA
|
||||||
|
.DA K.ExpandPStrYA
|
||||||
|
.DA 0
|
||||||
|
.DA K.PutEnvYA
|
||||||
|
.DA K.SetEnv
|
||||||
|
.DA K.GetEnvYA
|
||||||
|
.DA K.UnsetEnvYA
|
||||||
|
*--------------------------------------
|
||||||
|
.DA K.GetDevByIDA $80
|
||||||
|
.DA K.GetDevByNameYA
|
||||||
|
.DA K.GetDevInfoA
|
||||||
|
.DA 0
|
||||||
|
.DA 0
|
||||||
|
.DA 0
|
||||||
|
.DA 0
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
* $E000
|
* $E000
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.GetMem $80
|
.DA K.GetMem $90
|
||||||
.DA K.FreeMemA
|
.DA K.FreeMemA
|
||||||
.DA K.GetMemPtrA
|
.DA K.GetMemPtrA
|
||||||
.DA K.GetMemByIDA
|
.DA K.GetMemByIDA
|
||||||
@ -96,9 +105,8 @@ KERNEL.SYSCALL
|
|||||||
.DA K.GetStockObjectA
|
.DA K.GetStockObjectA
|
||||||
.DA K.FreeStockObject
|
.DA K.FreeStockObject
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.GetDevByIDA $90
|
.DA K.SetLoMem
|
||||||
.DA K.GetDevByNameYA
|
.DA K.GetMemStatYA
|
||||||
.DA K.GetDevInfoA
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* LO Byte :
|
* LO Byte :
|
||||||
* #RRAMWRAMBNK1 or #RRAMWRAMBNK2
|
* #RRAMWRAMBNK1 or #RRAMWRAMBNK2
|
||||||
@ -106,7 +114,7 @@ KERNEL.SYSCALL
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KERNEL.SYSCALL.FLAGS
|
KERNEL.SYSCALL.FLAGS
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $00 : CIO $D001
|
.DA #$80 $00
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
@ -124,7 +132,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $10 : STR $D001
|
.DA #$80 $10
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
@ -142,7 +150,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $20 :
|
.DA #$80 $20
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
@ -151,7 +159,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
|
|
||||||
.DA #$80 $28 :
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
@ -160,11 +168,11 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $30 : ARG
|
.DA #$80 $30
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80 $32 : ENV
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
@ -178,9 +186,9 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* $40 -> $7E
|
* $40 -> $8E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $40 : FIO
|
.DA #$80 $40
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
@ -198,7 +206,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $50 :
|
.DA #$80 $50
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
@ -216,7 +224,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $60 :
|
.DA #$80 $60
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
@ -234,7 +242,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $70 :
|
.DA #$80 $70
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
@ -252,7 +260,25 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA #$80
|
.DA #$80
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA 0 $80 : MemMgr at $E000
|
.DA #$80 $80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.DA #$80
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
*--------------------------------------
|
||||||
|
.DA 0 $90 : MemMgr at $E000
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
@ -261,13 +287,7 @@ KERNEL.SYSCALL.FLAGS
|
|||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA #$80 $90 :
|
|
||||||
.DA #RRAMWRAMBNK2
|
|
||||||
.DA #$80
|
|
||||||
.DA #RRAMWRAMBNK2
|
|
||||||
.DA #$80
|
|
||||||
.DA #RRAMWRAMBNK2
|
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.JMP
|
SAVE SYS/KERNEL.S.JMP
|
||||||
LOAD SYS/KERNEL.S
|
LOAD SYS/KERNEL.S
|
||||||
|
@ -9,8 +9,11 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected
|
ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected
|
||||||
ZPMemMgrTmp1 .EQ ZPMEMMGR+2
|
ZPMemMgrTmp1 .EQ ZPMEMMGR+2
|
||||||
ZPMemMgrTmp2 .EQ ZPMEMMGR+4
|
ZPMemMgrSrcPtr .EQ ZPMEMMGR+4
|
||||||
ZPMemMgrTmp3 .EQ ZPMEMMGR+6
|
ZPMemMgrDstPtr .EQ ZPMEMMGR+6
|
||||||
|
*--------------------------------------
|
||||||
|
MemMgr.ReqSize .EQ ZPMEMMGR+8 store requested Size
|
||||||
|
MemMgr.ReqFlags .EQ ZPMEMMGR+10 store requested Flags
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* TODO :
|
* TODO :
|
||||||
* - Create a 256 bytes table
|
* - Create a 256 bytes table
|
||||||
@ -18,10 +21,6 @@ ZPMemMgrTmp3 .EQ ZPMEMMGR+6
|
|||||||
* Garbage collector move blocks
|
* Garbage collector move blocks
|
||||||
* - mem.ID=0 always used! useful to test if hMem=0
|
* - mem.ID=0 always used! useful to test if hMem=0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MemMgr.SlotCnt .BS 1
|
|
||||||
MemMgr.ReqFlags .BS 1 store requested Flags
|
|
||||||
MemMgr.ReqSize .BS 2 store requested Size
|
|
||||||
*--------------------------------------
|
|
||||||
* PUBLIC
|
* PUBLIC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.GetMem
|
* K.GetMem
|
||||||
@ -40,11 +39,11 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
|||||||
sta SETREADAUX Aux Mem requested,switch to AUX
|
sta SETREADAUX Aux Mem requested,switch to AUX
|
||||||
sta SETWRITEAUX
|
sta SETWRITEAUX
|
||||||
|
|
||||||
.11 >PULLAX Store requested size
|
.11 >PULLAX get requested size
|
||||||
bit #$0F
|
bit #$0F 16 bytes aligned ?
|
||||||
beq .10
|
beq .10 yes, request it
|
||||||
|
|
||||||
and #$F0
|
and #$F0 align on 16 bytes
|
||||||
clc
|
clc
|
||||||
adc #$10
|
adc #$10
|
||||||
bcc .10
|
bcc .10
|
||||||
@ -57,10 +56,7 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
|||||||
|
|
||||||
ldx #0 Current slot=0
|
ldx #0 Current slot=0
|
||||||
|
|
||||||
lda MemMgr.LastSlot Check if some free slot to reuse first
|
bra .4 skip slot 0, Check if some free slot to reuse first
|
||||||
beq .41
|
|
||||||
|
|
||||||
sta MemMgr.SlotCnt
|
|
||||||
|
|
||||||
.1 inx move to next slot
|
.1 inx move to next slot
|
||||||
jsr MemMgr.NextSlot
|
jsr MemMgr.NextSlot
|
||||||
@ -85,10 +81,11 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
|||||||
cmp MemMgr.ReqSize+1
|
cmp MemMgr.ReqSize+1
|
||||||
beq .7 requested size matches slot size !!!
|
beq .7 requested size matches slot size !!!
|
||||||
|
|
||||||
.4 dec MemMgr.SlotCnt any other slot to check?
|
.4 cpx MemMgr.LastSlot any other slot to check?
|
||||||
bne .1 last one, create a new slot
|
bne .1 last one, create a new slot
|
||||||
|
|
||||||
*-------------- Create a New SLOT
|
*-------------- Create a New SLOT
|
||||||
.41 lda MemMgr.ReqFlags
|
lda MemMgr.ReqFlags
|
||||||
and #S.MEM.F.ALIGN is request needs a page align ?
|
and #S.MEM.F.ALIGN is request needs a page align ?
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
@ -105,6 +102,7 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
|||||||
.6 >LDYA MemMgr.ReqSize
|
.6 >LDYA MemMgr.ReqSize
|
||||||
jsr MemMgr.AddSlot X = new slot
|
jsr MemMgr.AddSlot X = new slot
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
*-------------- Reuse this SLOT
|
*-------------- Reuse this SLOT
|
||||||
.7 lda MemMgr.ReqFlags get requested flags
|
.7 lda MemMgr.ReqFlags get requested flags
|
||||||
ora #S.MEM.F.INUSE mark as in use
|
ora #S.MEM.F.INUSE mark as in use
|
||||||
@ -306,8 +304,8 @@ K.FreeMemA phy
|
|||||||
|
|
||||||
lda $D000
|
lda $D000
|
||||||
sta .91+1
|
sta .91+1
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
jsr PS.Select0
|
jsr PS.Select0
|
||||||
|
|
||||||
@ -328,6 +326,8 @@ K.FreeMemA phy
|
|||||||
bit $C000,x
|
bit $C000,x
|
||||||
bra *
|
bra *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
K.FreeMemA.ERR >PSTRING "***MemMgr:Attempt to Free an already freed hMem at $%H"
|
||||||
|
*--------------------------------------
|
||||||
* K.GetMemPtrA
|
* K.GetMemPtrA
|
||||||
* In:
|
* In:
|
||||||
* A = hMem
|
* A = hMem
|
||||||
@ -403,49 +403,48 @@ K.GetMemByNameYA
|
|||||||
ldx MemMgr.LastSlot
|
ldx MemMgr.LastSlot
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
>STYA ZPMemMgrTmp1 save BINPATH
|
>STYA ZPMemMgrSrcPtr save BINPATH
|
||||||
>LDYAI MemMgr.Table
|
>LDYAI MemMgr.Table
|
||||||
>STYA ZPMemMgrTmp2
|
>STYA ZPMemMgrTmp1
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda (ZPMemMgrTmp2)
|
.1 lda (ZPMemMgrTmp1)
|
||||||
bpl .6 In Use?
|
bpl .6 In Use?
|
||||||
|
|
||||||
ldy #S.MEM.BIN any BIN PATH in this slot?
|
ldy #S.MEM.BIN any BIN PATH in this slot?
|
||||||
lda (ZPMemMgrTmp2),y
|
lda (ZPMemMgrTmp1),y
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
jsr K.GetMemPtrA get pathname
|
jsr K.GetMemPtrA get pathname
|
||||||
bcs *
|
>STYA ZPMemMgrDstPtr
|
||||||
>STYA ZPMemMgrTmp3
|
|
||||||
|
|
||||||
lda (ZPMemMgrTmp1)
|
lda (ZPMemMgrSrcPtr)
|
||||||
cmp (ZPMemMgrTmp3)
|
cmp (ZPMemMgrDstPtr)
|
||||||
bne .6
|
bne .6
|
||||||
|
|
||||||
tay
|
tay
|
||||||
|
|
||||||
.2 lda (ZPMemMgrTmp1),y
|
.2 lda (ZPMemMgrSrcPtr),y
|
||||||
cmp (ZPMemMgrTmp3),y
|
cmp (ZPMemMgrDstPtr),y
|
||||||
bne .6
|
bne .6
|
||||||
dey
|
dey
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>LDYA ZPMemMgrTmp2
|
>LDYA ZPMemMgrTmp1
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.6 lda ZPMemMgrTmp2
|
.6 lda ZPMemMgrTmp1
|
||||||
clc
|
clc
|
||||||
adc #S.MEM
|
adc #S.MEM
|
||||||
sta ZPMemMgrTmp2
|
sta ZPMemMgrTmp1
|
||||||
bcc .8
|
bcc .7
|
||||||
inc ZPMemMgrTmp2+1
|
inc ZPMemMgrTmp1+1
|
||||||
|
|
||||||
.8 inx
|
.7 inx
|
||||||
.81 cpx MemMgr.LastSlot
|
cpx MemMgr.LastSlot
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
@ -461,11 +460,62 @@ K.SetLoMem
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.GarbageCollector
|
K.GetMemStatYA >STYA ZPMemMgrDstPtr
|
||||||
clc
|
|
||||||
|
ldy #7
|
||||||
|
|
||||||
|
.1 lda MemMgr.Table,y
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
dey
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
|
||||||
|
ldx #7
|
||||||
|
ldy #15
|
||||||
|
|
||||||
|
sta SETREADAUX
|
||||||
|
|
||||||
|
.2 lda MemMgr.Table,x
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
sta CLRREADAUX
|
||||||
|
|
||||||
|
ldy #16
|
||||||
|
lda #DevMgr.LoMem
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda /DevMgr.LoMem
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda DevMgr.Free
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda DevMgr.Free+1
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #DevMgr.HiMem
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda /DevMgr.HiMem
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda DevMgr.LastDevID
|
||||||
|
sta (ZPMemMgrDstPtr),y
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FreeMemA.ERR >PSTRING "***MemMgr:Attempted to Free an already freed hMem at $%H"
|
MEM.GarbageCollector
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.MEM
|
SAVE SYS/KERNEL.S.MEM
|
||||||
|
@ -342,9 +342,8 @@ PS.Select0
|
|||||||
>LDYAI TskMgr.Table Make PS #0 as current process
|
>LDYAI TskMgr.Table Make PS #0 as current process
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
bra PS.SelectDev
|
bra PS.SelectDev
|
||||||
PS.SelectN
|
|
||||||
>DEBUG
|
PS.SelectN jsr K.GetPSByIDA
|
||||||
jsr K.GetPSByIDA
|
|
||||||
bcs *
|
bcs *
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
|
|
||||||
|
@ -23,6 +23,13 @@ K.KernelRun jsr TSK.TskMgrRun
|
|||||||
|
|
||||||
bmi .2 Ignore & Discard any timer event
|
bmi .2 Ignore & Discard any timer event
|
||||||
|
|
||||||
|
ldy #S.EVT-1
|
||||||
|
|
||||||
|
.10 lda (pEvent),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
|
bpl .10
|
||||||
|
|
||||||
>LDYAI MSG.DumpEvent
|
>LDYAI MSG.DumpEvent
|
||||||
jsr K.PStrOutYA
|
jsr K.PStrOutYA
|
||||||
|
|
||||||
|
@ -165,10 +165,8 @@ TSK.DispatchEvents
|
|||||||
TSK.TskMgrQuit clc
|
TSK.TskMgrQuit clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TSKMGR.SIZE .BS 1
|
|
||||||
TSKMGR.COUNT .BS 1
|
TSKMGR.COUNT .BS 1
|
||||||
TSKMGR.EVENTCNT .BS 1
|
TSKMGR.EVENTCNT .BS 1
|
||||||
TSKMGR.LASTID .BS 1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.TSK
|
SAVE SYS/KERNEL.S.TSK
|
||||||
|
@ -60,23 +60,6 @@ A2osX.BE00.END .EQ *
|
|||||||
A2osX.D001 .EQ *
|
A2osX.D001 .EQ *
|
||||||
.PH $D000
|
.PH $D000
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.INB SYS/KERNEL.S.CIO
|
|
||||||
.INB SYS/KERNEL.S.STR
|
|
||||||
.INB SYS/KERNEL.S.PS
|
|
||||||
.INB SYS/KERNEL.S.ARG
|
|
||||||
.INB SYS/KERNEL.S.ENV
|
|
||||||
*--------------------------------------
|
|
||||||
.INB SYS/KERNEL.S.RUN
|
|
||||||
.INB SYS/KERNEL.S.EVT
|
|
||||||
.INB SYS/KERNEL.S.TSK
|
|
||||||
.EP
|
|
||||||
A2osX.D001.END .EQ *
|
|
||||||
*--------------------------------------
|
|
||||||
* LC AUX $D000 BANK2 API Calls $40-$7E
|
|
||||||
*--------------------------------------
|
|
||||||
A2osX.D002 .EQ *
|
|
||||||
.PH $D000
|
|
||||||
.DA #RRAMWRAMBNK2
|
|
||||||
.INB SYS/KERNEL.S.FIO
|
.INB SYS/KERNEL.S.FIO
|
||||||
.INB SYS/KERNEL.S.DRV
|
.INB SYS/KERNEL.S.DRV
|
||||||
.INB SYS/KERNEL.S.LIB
|
.INB SYS/KERNEL.S.LIB
|
||||||
@ -87,6 +70,24 @@ A2osX.D002 .EQ *
|
|||||||
.INB SYS/KERNEL.S.PFT
|
.INB SYS/KERNEL.S.PFT
|
||||||
.INB SYS/KERNEL.S.BIN
|
.INB SYS/KERNEL.S.BIN
|
||||||
.EP
|
.EP
|
||||||
|
A2osX.D001.END .EQ *
|
||||||
|
*--------------------------------------
|
||||||
|
* LC AUX $D000 BANK2 API Calls $40-$8E
|
||||||
|
*--------------------------------------
|
||||||
|
A2osX.D002 .EQ *
|
||||||
|
.PH $D000
|
||||||
|
.DA #RRAMWRAMBNK2
|
||||||
|
.INB SYS/KERNEL.S.CIO
|
||||||
|
.INB SYS/KERNEL.S.STR
|
||||||
|
.INB SYS/KERNEL.S.DEV
|
||||||
|
.INB SYS/KERNEL.S.PS
|
||||||
|
.INB SYS/KERNEL.S.ARG
|
||||||
|
.INB SYS/KERNEL.S.ENV
|
||||||
|
*--------------------------------------
|
||||||
|
.INB SYS/KERNEL.S.RUN
|
||||||
|
.INB SYS/KERNEL.S.EVT
|
||||||
|
.INB SYS/KERNEL.S.TSK
|
||||||
|
.EP
|
||||||
A2osX.D002.END .EQ *
|
A2osX.D002.END .EQ *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* LC AUX $E000 API Calls $80-$FE
|
* LC AUX $E000 API Calls $80-$FE
|
||||||
@ -98,9 +99,9 @@ A2osX.E000 .EQ *
|
|||||||
.INB SYS/KERNEL.S.IRQ
|
.INB SYS/KERNEL.S.IRQ
|
||||||
.INB SYS/KERNEL.S.MEM
|
.INB SYS/KERNEL.S.MEM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Make sure KERNEL.S.DEV is the last one
|
* Make sure KERNEL.S.D01 is the last one
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB SYS/KERNEL.S.DEV
|
.INB SYS/KERNEL.S.D01
|
||||||
.EP
|
.EP
|
||||||
A2osX.E000.END .EQ *
|
A2osX.E000.END .EQ *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user