A2osX/SYS/KERNEL.S.CORE.txt

648 lines
12 KiB
Plaintext
Raw Normal View History

2017-12-22 21:24:30 +00:00
NEW
2019-05-08 19:41:46 +00:00
AUTO 3,1
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.Run ldx #1
2018-10-15 15:39:21 +00:00
2020-09-24 15:31:48 +00:00
bra .80 Skip PS0
2020-09-22 15:34:51 +00:00
2020-09-24 06:24:47 +00:00
.1 stx CORE.PSIndex
lda PS.Table.hPS,x
beq .8
2020-09-22 15:34:51 +00:00
2018-06-21 15:12:10 +00:00
jsr K.GetMemPtr
>STYA pPs
2020-12-15 13:23:22 +00:00
lda (pPS) get S.PS.F
2019-07-22 16:28:44 +00:00
* bit #S.PS.F.HOLD Waiting for Another Task to Terminate?
* beq .2
bpl .2
2020-09-22 15:34:51 +00:00
ldy #S.PS.CPID
2020-02-28 07:21:46 +00:00
lda (pPS),y
2018-06-22 06:24:35 +00:00
jsr CORE.GetPS
bcc .8 yes, still running....
2020-09-22 15:34:51 +00:00
2020-02-28 07:21:46 +00:00
lda (pPS) get S.PS.F again
eor #S.PS.F.HOLD unmark as HOLD
2020-02-28 07:21:46 +00:00
sta (pPS)
2020-09-24 06:24:47 +00:00
2019-01-21 14:51:10 +00:00
.2 jsr CORE.PSSelect Restore ZP & Ptrs
.3 jsr CORE.PSExec INIT/RUN/QUIT/RESUME
dec IRQ.InKernel
2019-01-24 13:53:29 +00:00
bcc .4 INIT/RUN Exit ?
2019-01-24 13:53:29 +00:00
jsr CORE.UpdateParentPS
2020-09-22 15:34:51 +00:00
2019-07-22 16:28:44 +00:00
ldy #S.PS.S
2019-10-03 06:25:27 +00:00
lda #S.PS.S.QUIT
2020-02-28 07:21:46 +00:00
sta (pPS),y
2019-01-21 14:51:10 +00:00
bra .3 try executing QUIT now...
2020-09-22 15:34:51 +00:00
2020-02-28 07:21:46 +00:00
.4 lda (pPS)
bit #S.PS.F.SLEEP
bne .7
2020-09-22 15:34:51 +00:00
2019-07-22 16:28:44 +00:00
ldy #S.PS.S
2020-02-28 07:21:46 +00:00
lda (pPS),y
2019-07-22 16:28:44 +00:00
bne .5
2020-09-22 15:34:51 +00:00
2019-10-03 06:25:27 +00:00
lda #S.PS.S.RUN go from INIT to RUN
2020-02-28 07:21:46 +00:00
sta (pPS),y
bra .7
2020-09-22 15:34:51 +00:00
2019-10-03 06:25:27 +00:00
.5 cmp #S.PS.S.QUIT
2020-12-15 13:23:22 +00:00
bne .7
2020-09-22 15:34:51 +00:00
2019-07-24 05:53:09 +00:00
>PUSHBI 2
ldy #S.PS.PID
2020-02-28 07:21:46 +00:00
lda (pPS),y
2020-09-24 15:31:48 +00:00
cmp #1 INITD ?
bne .6
jmp CORE.Quit
2020-12-15 13:23:22 +00:00
2020-09-24 06:24:47 +00:00
.6 >SYSCALL2 Kill
bra .8
2020-09-22 15:34:51 +00:00
.7 jsr CORE.PSLeave Save ZP & Ptrs
2020-09-22 15:34:51 +00:00
2020-09-24 06:24:47 +00:00
.8 ldx CORE.PSIndex
inx
2020-09-24 15:31:48 +00:00
.80 cpx CORE.PSCount
2019-10-03 06:25:27 +00:00
bne .1
*--------------------------------------
CORE.Events jsr CORE.GetEvents
bcs .4 CS=no event
2017-10-27 14:56:46 +00:00
jsr CORE.Dispatch
bcc .4 CC=All Events Dispatched
2019-01-24 13:53:29 +00:00
lda PS.Table.PID Select PS0
jsr K.GetMemPtr
>STYA pPs
>LDYAI K.STACKTOP
>STYA pStack
lda #Evt.Table
sta pEvent
.1 lda (pEvent)
beq .3
2020-09-24 06:24:47 +00:00
bmi .2 Ignore & Discard any timer event
2020-09-24 06:24:47 +00:00
* jsr CORE.DumpEvent
.2 jsr CORE.DestroyEvent
.3 lda pEvent
clc
adc #S.EVT
sta pEvent
lda CORE.EvtCount
bne .1
2020-12-15 13:23:22 +00:00
*--------------------------------------
.4 bit OPENAPPLE
bpl .8
2020-03-11 16:41:45 +00:00
lda KBD
bpl .8
2020-03-11 16:41:45 +00:00
2018-12-10 16:45:37 +00:00
cmp #"0"
bcc .8
2020-03-11 16:41:45 +00:00
cmp #"9"+1
bcs .8
2020-03-11 16:41:45 +00:00
sta KBDSTROBE
2019-04-25 15:33:56 +00:00
and #$0F
tax
2020-03-12 07:46:43 +00:00
lda A2osX.SCRNDEVS,x Get DevID
2019-04-25 15:33:56 +00:00
beq .8 No device claimed this screen
2020-03-12 07:46:43 +00:00
cmp A2osX.ASCREEN Same as active screen...nothing to do
2019-04-25 15:33:56 +00:00
beq .8
2020-12-15 13:23:22 +00:00
2020-02-16 20:45:16 +00:00
>PUSHA
2019-04-25 15:33:56 +00:00
>PUSHBI IOCTL.CONTROL request
2020-02-16 20:45:16 +00:00
>PUSHWZ Param
>SYSCALL2 IOCTL
.8 jmp CORE.Run
*--------------------------------------
2020-11-25 16:29:06 +00:00
CORE.Quit php
sei
jsr CORE.IRQ.None.Off
plp
2020-09-24 15:31:48 +00:00
lda IRQ.INTNUM
sta K.MLI.PARAMS+1
2020-12-15 13:23:22 +00:00
2020-09-24 15:31:48 +00:00
>MLICALL MLIDEALLOCIRQ
ldx #5
.1 stz K.MLI.PARAMS+1,x
dex
bpl .1
2020-12-15 13:23:22 +00:00
2020-09-24 15:31:48 +00:00
lda #4
ldx #MLIQUIT
jmp GP.MLICall
*--------------------------------------
2019-01-24 13:53:29 +00:00
CORE.UpdateParentPS
tax save RC From INIT or RUN
ldy #S.PS.PPID Notify Parent Process for exit code...
2020-02-28 07:21:46 +00:00
lda (pPS),y
2019-01-24 13:53:29 +00:00
beq .8 no parent process
2020-09-24 06:24:47 +00:00
2019-01-24 13:53:29 +00:00
jsr CORE.GetPSByID X unmodified
bcs .8 parent is dead.....skipping...
>STYA ZPPtr1
2020-12-15 13:23:22 +00:00
lda (ZPPtr1) Parent PS is HOLD?
2019-01-24 13:53:29 +00:00
bit #S.PS.F.HOLD
beq .8 no...
ldy #S.PS.CPID
lda (ZPPtr1),y
dey #S.PS.PID
2020-02-28 07:21:46 +00:00
cmp (pPS),y
2019-01-24 13:53:29 +00:00
bne .8 Hold, but not waiting this PS
2020-09-24 06:24:47 +00:00
2019-01-24 13:53:29 +00:00
txa waiting for this PS to terminate....
ldy #S.PS.RC give it RC
sta (ZPPtr1),y
lda (ZPPtr1)
eor #S.PS.F.HOLD release Parent PS HOLD...
sta (ZPPtr1)
2020-09-24 06:24:47 +00:00
2019-10-03 06:25:27 +00:00
* clc
2020-09-24 06:24:47 +00:00
2019-01-24 13:53:29 +00:00
.8 rts
*--------------------------------------
* CORE.GetEvents :
* IN :
2020-12-15 13:23:22 +00:00
* OUT :
* CS = no event, A = ERROR
* CC * event in YA
* (pEvent)
*--------------------------------------
CORE.GetEvents lda #Evt.Table
sta pEvent point to start of event list
stz CORE.EvtCount reset Size
2020-11-19 15:34:02 +00:00
bit A2osX.IRQMode do we have IRQ enabled for Ticks ?
bpl .1 no, regular poll
2020-11-19 15:34:02 +00:00
lda IRQ.Tick a Tick ?
beq .8 no, no event
2020-11-19 15:34:02 +00:00
dec IRQ.Tick
bra .2
2019-10-03 06:25:27 +00:00
.1 lda VBL get VLINE status
tax
2020-12-15 13:23:22 +00:00
eor CORE.VBLState
bpl .8 no change,no tick
2020-11-19 15:34:02 +00:00
txa
sta CORE.VBLState save new
bpl .8 Up2down transition,no tick
2020-11-19 15:34:02 +00:00
.2 lda #0
dec CORE.TickSec
bne .3 not yet One Sec
2018-12-17 07:02:03 +00:00
lda IRQ.Mode
eor #$C0
2018-12-17 07:02:03 +00:00
sta IRQ.Mode
2020-03-12 07:46:43 +00:00
ldx A2osX.ASCREEN
2019-09-27 14:53:44 +00:00
cpx #3 devID 3 is /DEV/CONSOLE
2018-12-17 07:02:03 +00:00
bne .22
2020-11-19 15:34:02 +00:00
sta SYS.BASL0+38
2020-11-19 15:34:02 +00:00
2018-12-17 07:02:03 +00:00
.22 ldx CORE.TickPerSec
stx CORE.TickSec
lda #S.EVT.F.T1SEC
bra .4 Force Resync T1 & T10...
.3 dec CORE.Tick10t
bne .6
2020-12-15 13:23:22 +00:00
2020-01-11 17:13:27 +00:00
.4 inc DevMgr.Timer
inc A2osX.TIMER16
bne .5
2020-11-19 15:34:02 +00:00
inc A2osX.TIMER16+1
.5 ldx CORE.TickPer10t
stx CORE.Tick10t
ora #S.EVT.F.T10TH
.6 tax Finally, do we have an event ?
beq .8 no....
2020-11-19 15:34:02 +00:00
sta (pEvent)
inc CORE.EvtCount Add one event to Queue
* lda pEvent
* clc
* adc #S.EVT
* sta pEvent if CS, EVT queue full!!! ($100)
* MORE EVENT PROCESSING HERE
.8 lda CORE.EvtCount if 0, exit with CS (from cmp), and A=0 "no event"
beq .9
2020-11-19 15:34:02 +00:00
clc
rts
2020-11-19 15:34:02 +00:00
.9 sec
rts
*--------------------------------------
2017-10-27 14:56:46 +00:00
* CORE.Dispatch
2020-12-15 13:23:22 +00:00
* IN:
* OUT:
* CS: Not Dispatched
2020-12-15 13:23:22 +00:00
* CC: Event Cleared
*--------------------------------------
2020-09-24 06:24:47 +00:00
CORE.Dispatch ldx #1 skip PS0
2020-09-24 15:31:48 +00:00
bra .80
2020-12-15 13:23:22 +00:00
2020-09-24 06:24:47 +00:00
.1 stx CORE.PSIndex
lda PS.Table.hPS,x
beq .5
2020-09-24 06:24:47 +00:00
2018-06-21 15:12:10 +00:00
jsr K.GetMemPtr
>STYA pPS
2020-12-15 13:23:22 +00:00
2020-02-28 07:21:46 +00:00
lda (pPS)
bit #S.PS.F.EVENT Accept Events ?
beq .5
2019-07-22 16:28:44 +00:00
ldy #S.PS.S
2020-02-28 07:21:46 +00:00
lda (pPS),y
2019-10-03 06:25:27 +00:00
cmp #S.PS.S.RUN
2019-07-22 16:28:44 +00:00
bne .5
2019-10-03 06:25:27 +00:00
lda #S.PS.S.DOEVENT Flag this PS for IRQ Mgr
2020-02-28 07:21:46 +00:00
sta (pPS),y
jsr CORE.PSSelect
lda #Evt.Table
sta pEvent Select first event in list
lda CORE.EvtCount
sta CORE.EvtIndex
.2 lda (pEvent) Empty event, select next
beq .3
2019-07-22 16:28:44 +00:00
jsr CORE.PSExec2
dec IRQ.InKernel
bcs .3 not for this PS, try next event in list
jsr CORE.DestroyEvent this PS handled the EVT, destroy it...
lda CORE.EvtCount
beq .4 no more event, exit
.3 dec CORE.EvtIndex
beq .4 all EVT submitted to this PS, try other PS
lda pEvent try next EVT to this PS
clc
adc #S.EVT
sta pEvent
bra .2
2019-07-22 16:28:44 +00:00
.4 ldy #S.PS.S
2019-10-03 06:25:27 +00:00
lda #S.PS.S.RUN
2020-02-28 07:21:46 +00:00
sta (pPS),y
2019-07-22 16:28:44 +00:00
jsr CORE.PSLeave
2020-12-15 13:23:22 +00:00
2020-09-24 06:24:47 +00:00
.5 ldx CORE.PSIndex
inx
2020-09-24 15:31:48 +00:00
.80 cpx CORE.PSCount
bne .1
2020-12-15 13:23:22 +00:00
2019-04-15 15:29:07 +00:00
* sec
2020-09-24 15:31:48 +00:00
rts
*--------------------------------------
2018-10-15 15:39:21 +00:00
* X unmodified
*--------------------------------------
2019-01-24 13:53:29 +00:00
CORE.GetPSByID jsr CORE.GetPS
2019-01-26 14:01:05 +00:00
bcs CORE.GetPS.RTS
2018-10-17 15:31:29 +00:00
lda PS.TABLE.hPS,y
2018-06-21 15:12:10 +00:00
jmp K.GetMemPtr
2018-10-17 15:31:29 +00:00
*--------------------------------------
* X,A unmodified
*--------------------------------------
2019-01-24 13:53:29 +00:00
CORE.GetPS tay
2019-01-26 14:01:05 +00:00
beq CORE.GetPS.8 PS0 requested
2019-01-24 13:53:29 +00:00
ldy #0
bra .2 Skip PS0
2018-10-15 15:39:21 +00:00
.1 cmp PS.Table.PID,y
2019-01-26 14:01:05 +00:00
beq CORE.GetPS.8
2019-01-24 13:53:29 +00:00
.2 iny
2018-10-23 15:36:57 +00:00
cpy CORE.PSCount
bne .1
2018-10-21 20:54:07 +00:00
.9 lda #E.NSP
2018-10-15 15:39:21 +00:00
* sec
2019-01-26 14:01:05 +00:00
rts
CORE.GetPS.8
2019-10-03 06:25:27 +00:00
clc
CORE.GetPS.RTS rts
*--------------------------------------
*CORE.DumpEvent ldy #S.EVT-1
*.1 >PUSHB (pEvent),y
* dey
* bpl .1
* >LDYAI .2
2018-06-21 15:12:10 +00:00
* jmp K.printf
*.2 .AZ "!Evt:F=%b,Dev=$%h,LO=$%h,HI=$%h,W1=$%H,W2=$%H\n"
*--------------------------------------
CORE.DestroyEvent
lda (pEvent)
beq .9
2020-12-15 13:23:22 +00:00
bit #S.EVT.F.hMEM1
beq .1
pha
ldy #S.EVT.B1
lda (pEvent),y
2018-06-21 15:12:10 +00:00
jsr K.FreeMem
pla
.1 bit #S.EVT.F.hMEM2
beq .2
ldy #S.EVT.B2
lda (pEvent),y
2018-06-21 15:12:10 +00:00
jsr K.FreeMem
.2 lda #0
sta (pEvent)
dec CORE.EvtCount
.9 rts
*--------------------------------------
2020-02-04 14:35:48 +00:00
CORE.PSSelect ldy #S.PS.ZP.CODE+PSCTX.SIZE-1
2019-07-18 15:55:43 +00:00
ldx #PSCTX.SIZE-1
2020-02-28 07:21:46 +00:00
.1 lda (pPS),y
2020-02-04 14:35:48 +00:00
sta pCode,x
dey
dex
bpl .1
2020-12-15 13:23:22 +00:00
rts
*--------------------------------------
2020-02-04 14:35:48 +00:00
CORE.PSLeave ldx #PSCTX.SIZE-1
ldy #S.PS.ZP.CODE+PSCTX.SIZE-1
2020-12-15 13:23:22 +00:00
2020-02-04 14:35:48 +00:00
.1 lda pCode,x
2020-02-28 07:21:46 +00:00
sta (pPS),y
dey
dex
bpl .1
rts
*--------------------------------------
2019-01-21 14:51:10 +00:00
CORE.PSExec lda (pPS)
bit #S.PS.F.SLEEP
bne CORE.PSResume
2019-10-03 06:25:27 +00:00
2019-07-22 16:28:44 +00:00
CORE.PSExec2 ldy #S.PS.S
lda (pPS),y
2019-07-22 16:28:44 +00:00
tax
lda pCode+1
pha
lda pCode
pha
php
sei
inc IRQ.InKernel
rti
*--------------------------------------
CORE.PSResume sei
eor #S.PS.F.SLEEP unmark as SLEEP
sta (pPS)
2020-12-15 13:23:22 +00:00
>PULLA Get !BC
tax
beq .2
.1 >PULLA
pha
inx
bne .1
.2 ldy #S.PS.PC+1
2020-02-28 07:21:46 +00:00
lda (pPS),y
pha
dey #S.PS.PC
2020-02-28 07:21:46 +00:00
lda (pPS),y
pha
dey #S.PS.P
2020-02-28 07:21:46 +00:00
lda (pPS),y
pha
dey #S.PS.Y
2020-02-28 07:21:46 +00:00
lda (pPS),y
pha
dey #S.PS.X
2020-02-28 07:21:46 +00:00
lda (pPS),y
tax
dey #S.PS.A
2020-02-28 07:21:46 +00:00
lda (pPS),y
ply
inc IRQ.InKernel
rti
*--------------------------------------
2020-08-23 19:46:37 +00:00
GP.RomCall.JmpX jmp (.1-FPU.FADD,x)
*--------------------------------------
* http://www.txbobsc.com/scsc/scdocumentor/E7A0.html
*--------------------------------------
.1 .DA $E7C1 FADDT
.DA $E7AA FSUBT
.DA $E987 FMULTT.1
.DA $EA6B FDIVT+2
.DA $EE97 FPWRT
.DA $E941 LOG
.DA $EE8D SQR
.DA $EF09 EXP
.DA $EFEA COS
.DA $EFF1 SIN
.DA $F03A TAN
.DA $F09E ATN
*--------------------------------------
.DA $E9E3 LOAD.ARG.FROM.YA
.DA $EAF9 LOAD.FAC.FROM.YA
.DA $EB27 SETFOR (GETFAC)
.DA $EBB2 FCOMP (Y,A with FAC)
.DA $E82E NORMALIZE.FAC.2 (L->F)
.DA $EBF2 QINT (F->L)
.DA $EC4A FIN AToF
.DA $ED36 FOUT.1 PrintF
*--------------------------------------
2020-02-16 20:45:16 +00:00
CORE.VBLState .BS 1
CORE.TickPerSec .BS 1
CORE.TickPer10t .BS 1
CORE.TickSec .BS 1
CORE.Tick10t .BS 1
CORE.CPUStatCnt .DA #100
CORE.LastPSID .DA #0
*--------------------------------------
2019-04-15 05:40:13 +00:00
CORE.EvtIndex .BS 1
CORE.EvtCount .BS 1
*--------------------------------------
2020-09-04 15:21:15 +00:00
* Called by :
2020-09-24 15:31:48 +00:00
* - Kernel IRQ Manager (AuxLC)
2020-09-04 15:21:15 +00:00
* - ProDOS IRQ Manager (GP)
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.IIGS lda IO.IIGS.INTFLAG
2020-09-04 15:21:15 +00:00
and #$08
2020-09-24 15:31:48 +00:00
beq CORE.IRQ.DEV
2020-12-15 13:23:22 +00:00
2020-09-04 15:21:15 +00:00
stz IO.IIGS.CLRVBLINT
2020-12-15 13:23:22 +00:00
2020-09-24 15:31:48 +00:00
bra CORE.IRQ.Switch
2020-09-04 15:21:15 +00:00
*--------------------------------------
2020-09-25 12:05:23 +00:00
CORE.IRQ.TCLOCK ldy IRQ.n0
2020-09-04 15:21:15 +00:00
lda $c080,y
and #$20
2020-09-24 15:31:48 +00:00
beq CORE.IRQ.DEV
2020-09-04 15:21:15 +00:00
lda $c088,y
lda $c080,y
2020-09-24 15:31:48 +00:00
bra CORE.IRQ.Switch
2020-09-04 15:21:15 +00:00
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.MOUSE jsr $FFFF SELF MODIFIED,SERVEMOUSE
bcs CORE.IRQ.DEV Not From Mouse
2020-09-25 12:05:23 +00:00
ldx IRQ.0n
2020-09-04 15:21:15 +00:00
lda MOUSESTSx,x
and #MOUSESTSx.INTVBL IRQ was caused by VBL ?
2020-09-24 15:31:48 +00:00
beq CORE.IRQ.DEV
ldx CORE.IRQ.MOUSE.2+2 $Cn
2020-09-25 12:05:23 +00:00
ldy IRQ.n0
2020-09-24 15:31:48 +00:00
CORE.IRQ.MOUSE.2
jsr $FFFF SELF MODIFIED,READMOUSE
2020-09-04 15:21:15 +00:00
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.Switch inc IRQ.Tick
2020-09-04 15:21:15 +00:00
dec CORE.CPUStatCnt
bne .2
lda #100
sta CORE.CPUStatCnt
ldx #K.PS.MAX-1
.1 lda PS.Table.Hits,x
stz PS.Table.Hits,x
sta PS.Table.Stats,x
dex
bpl .1
2020-12-15 13:23:22 +00:00
2020-09-04 15:21:15 +00:00
.2 lda IRQ.InKernel
bpl .3
2020-12-15 13:23:22 +00:00
2020-09-04 15:21:15 +00:00
inc PS.Table.Hits
.9 clv
clc
rts
.3 ldx CORE.PSIndex
inc PS.Table.Hits,x
bit A2osX.F A2osX.F.PMODE .EQ %01000000
bvc .8
ldy #S.PS.S
lda (pPS),y
eor #S.PS.S.RUN
bne .9
lda IRQ.InLib
bmi .9 we are in LIB, no switching
.8 clc exit with V flag set
rts
2020-12-15 13:23:22 +00:00
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.DEV ldx #0
2020-09-04 15:21:15 +00:00
.1 lda IRQ.Vectors+1,x
beq .9
sta .10+2
lda IRQ.Vectors,x
sta .10+1
phx
.10 jsr $ffff SELF MODIFIED
plx
bcc .8 CC, IRQ cleared by device
.2 inx
inx
.3 cpx #K.IRQDEV.MAX*2
bne .1
.9 sec
.8 clv clear V (no task switching)
rts
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.IIGS.Off
lda #$08
trb IO.IIGS.INTEN
rts
2020-11-25 16:29:06 +00:00
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.TCLOCK.Off
2020-09-25 12:05:23 +00:00
ldx IRQ.n0
2020-09-24 15:31:48 +00:00
stz $c080,x
2020-12-15 13:23:22 +00:00
lda $c088,x
lda $c080,x
2020-09-25 12:05:23 +00:00
ldx IRQ.0n
2020-09-24 15:31:48 +00:00
sta CLRPAGE2
stz $478,x
2020-12-15 13:23:22 +00:00
stz $7f8,x
2020-09-24 15:31:48 +00:00
2020-11-25 16:29:06 +00:00
sta SETPAGE2
stz $478,x
2020-12-15 13:23:22 +00:00
stz $7f8,x
2020-11-25 16:29:06 +00:00
2020-09-24 15:31:48 +00:00
rts
2020-11-25 16:29:06 +00:00
*--------------------------------------
2020-09-24 15:31:48 +00:00
CORE.IRQ.MOUSE.Off
ldy CORE.IRQ.MOUSE.Off.1+2 Cn
2020-09-25 12:05:23 +00:00
ldy IRQ.n0
2020-09-24 15:31:48 +00:00
lda #0
CORE.IRQ.MOUSE.Off.1
jmp $ffff SELF MODIFIED
CORE.IRQ.None.Off
rts
*--------------------------------------
2020-08-23 19:46:37 +00:00
IRQ.InKernel .BS 1
IRQ.InLib .BS 1
2020-09-25 12:05:23 +00:00
IRQ.Skip .BS 1
2020-08-23 19:46:37 +00:00
IRQ.IntNum .BS 1
2020-09-25 12:05:23 +00:00
IRQ.n0 .BS 1
IRQ.0n .BS 1
2020-08-23 19:46:37 +00:00
IRQ.Mode .BS 1
IRQ.Tick .BS 1
*--------------------------------------
2020-09-04 15:21:15 +00:00
IRQ.Vectors .BS K.IRQDEV.MAX*2
*--------------------------------------
MAN
2020-12-15 13:23:22 +00:00
SAVE usr/src/sys/kernel.s.core
LOAD usr/src/sys/kernel.s
ASM