Kernel version 0.8 : switched BNK1 & BNK2 to add more API calls

This commit is contained in:
Rémy GIBERT 2016-10-07 17:28:17 +02:00
parent d0c5f1ce3b
commit 8e7092b3a3
15 changed files with 586 additions and 485 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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
View 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

View File

@ -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"
*-------------------------------------- *--------------------------------------

View File

@ -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

View File

@ -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

View File

@ -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
*-------------------------------------- *--------------------------------------

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 *
*-------------------------------------- *--------------------------------------