mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-24 05:35:33 +00:00
Kernel 0.9.1 : KERNEL, Preemtive mode, Code cleaning....step by step....#6
This commit is contained in:
parent
7550b8bdfb
commit
5bdf3479dd
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -307,7 +307,6 @@ A2CharAX pha
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
and #$0F
|
||||
ora #$30
|
||||
cmp #'9'+1
|
||||
bcc .1
|
||||
|
@ -221,7 +221,6 @@ A2CharAX pha
|
||||
lsr
|
||||
lsr
|
||||
and #$0F
|
||||
ora #$30
|
||||
cmp #'9'+1
|
||||
bcc .1
|
||||
adc #6
|
||||
|
@ -12,8 +12,7 @@ AUTO 4,1
|
||||
.INB /A2OSX.BUILD/INC/XY.MOUSE.I
|
||||
.INB /A2OSX.BUILD/INC/LIBGUI.I
|
||||
*--------------------------------------
|
||||
ZPGoMouse .EQ ZPDRV
|
||||
ZPTmpPtr1 .EQ ZPDRV+2
|
||||
ZPTmpPtr1 .EQ ZPDRV
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -40,9 +39,9 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
|
||||
stz ZPTmpPtr1
|
||||
lda #$C1
|
||||
sta ZPTmpPtr1+1
|
||||
.1 sta ZPTmpPtr1+1
|
||||
|
||||
.1 ldx #DEVSIG.Value-DEVSIG.Offset-1
|
||||
ldx #DEVSIG.Value-DEVSIG.Offset-1
|
||||
|
||||
.2 ldy DEVSIG.Offset,x
|
||||
lda (ZPTmpPtr1),y
|
||||
@ -52,7 +51,9 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
bpl .2
|
||||
|
||||
lda ZPTmpPtr1+1
|
||||
sta DEVSLOTCn
|
||||
sta GOMOUSE+2
|
||||
sta GOMOUSE.Cn+1
|
||||
sta GOMOUSE.JMP+2
|
||||
and #$0F
|
||||
sta DEVSLOT0n
|
||||
ora #$30
|
||||
@ -61,7 +62,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
sta DEVSLOTn0
|
||||
sta GOMOUSE.n0+1
|
||||
|
||||
>PUSHW L.DEV.HEADER.NAME
|
||||
>LDYA L.MSG.DETECT.OK
|
||||
@ -69,8 +70,8 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
clc
|
||||
rts
|
||||
|
||||
.3 inc ZPTmpPtr1+1 no match, try next slot....
|
||||
lda ZPTmpPtr1+1
|
||||
.3 lda ZPTmpPtr1+1 no match, try next slot....
|
||||
inc
|
||||
cmp #$C8
|
||||
bne .1
|
||||
|
||||
@ -79,8 +80,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
|
||||
lda #MLI.E.NODEV
|
||||
sec
|
||||
rts
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.DETECT .AZ "Apple Mouse Driver.\r\n"
|
||||
@ -118,9 +118,7 @@ STATUS >LDYA L.DEVSTAT
|
||||
*--------------------------------------
|
||||
READBLOCK >STYA ZPTmpPtr1
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
lda #0
|
||||
sta (ZPTmpPtr1),y Reset Flags
|
||||
stz READBLOCK.S+1 Reset Flags
|
||||
|
||||
php
|
||||
sei
|
||||
@ -151,9 +149,8 @@ READBLOCK >STYA ZPTmpPtr1
|
||||
lda MOUSEYHIx,x
|
||||
sta (ZPTmpPtr1),y
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
lda #S.MOUSE.S.MOVE
|
||||
sta (ZPTmpPtr1),y
|
||||
tsb READBLOCK.S+1
|
||||
|
||||
stz bDblClick Reset DblClick flag
|
||||
|
||||
@ -167,10 +164,8 @@ READBLOCK >STYA ZPTmpPtr1
|
||||
asl if CS, down & previously up
|
||||
bcc .2
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
lda #S.MOUSE.S.DOWN
|
||||
ora (ZPTmpPtr1),y
|
||||
sta (ZPTmpPtr1),y button has been pressed, start drag...
|
||||
tsb READBLOCK.S+1 button has been pressed, start drag...
|
||||
|
||||
lda MOUSEXLOx,x
|
||||
sta SrcDrag
|
||||
@ -186,13 +181,12 @@ READBLOCK >STYA ZPTmpPtr1
|
||||
|
||||
bra .8
|
||||
|
||||
.2 ldy #S.MOUSE.S
|
||||
lda (ZPTmpPtr1),y
|
||||
.2 lda READBLOCK.S+1
|
||||
|
||||
pha save move state
|
||||
|
||||
ora #S.MOUSE.S.UP
|
||||
sta (ZPTmpPtr1),y
|
||||
sta READBLOCK.S+1
|
||||
|
||||
pla get back move state
|
||||
|
||||
@ -209,15 +203,11 @@ READBLOCK >STYA ZPTmpPtr1
|
||||
|
||||
.3 dec bDblClick
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
ora (ZPTmpPtr1),y
|
||||
sta (ZPTmpPtr1),y
|
||||
tsb READBLOCK.S+1
|
||||
bra .8
|
||||
|
||||
.4 lda #S.MOUSE.S.DRAG
|
||||
ldy #S.MOUSE.S
|
||||
ora (ZPTmpPtr1),y
|
||||
sta (ZPTmpPtr1),y
|
||||
tsb READBLOCK.S+1
|
||||
|
||||
ldy #S.MOUSE.X2+3
|
||||
|
||||
@ -228,9 +218,11 @@ READBLOCK >STYA ZPTmpPtr1
|
||||
|
||||
.8 plp
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
lda (ZPTmpPtr1),y
|
||||
READBLOCK.S lda #$ff SELF MODIFIED
|
||||
beq .9
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
sta (ZPTmpPtr1),y
|
||||
clc
|
||||
rts
|
||||
|
||||
@ -245,11 +237,11 @@ CONTROL >STYA ZPTmpPtr1
|
||||
|
||||
ldy #0
|
||||
ldx #0 set X
|
||||
jsr CONTROL.SETCLAMP
|
||||
jsr SETCLAMP
|
||||
|
||||
ldy #4
|
||||
ldx #1 set Y
|
||||
jsr CONTROL.SETCLAMP
|
||||
jsr SETCLAMP
|
||||
|
||||
ldy #HOMEMOUSE
|
||||
jsr GOMOUSE
|
||||
@ -258,28 +250,6 @@ CONTROL >STYA ZPTmpPtr1
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CONTROL.SETCLAMP
|
||||
lda (ZPTmpPtr1),y
|
||||
sta LOCLAMPLO
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta LOCLAMPHI
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta HICLAMPLO
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta HICLAMPHI
|
||||
|
||||
txa
|
||||
ldy #CLAMPMOUSE
|
||||
jsr GOMOUSE
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OPEN php
|
||||
sei
|
||||
|
||||
@ -311,25 +281,37 @@ CLOSE php
|
||||
*--------------------------------------
|
||||
* PRIVATE
|
||||
*--------------------------------------
|
||||
GOMOUSE pha
|
||||
stz ZPGoMouse
|
||||
ldx DEVSLOTCn
|
||||
stx ZPGoMouse+1
|
||||
lda (ZPGoMouse),y
|
||||
sta ZPGoMouse
|
||||
ldy DEVSLOTn0
|
||||
pla
|
||||
jmp (ZPGoMouse)
|
||||
SETCLAMP lda (ZPTmpPtr1),y
|
||||
sta LOCLAMPLO
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta LOCLAMPHI
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta HICLAMPLO
|
||||
|
||||
iny
|
||||
lda (ZPTmpPtr1),y
|
||||
sta HICLAMPHI
|
||||
|
||||
txa
|
||||
ldy #CLAMPMOUSE
|
||||
*--------------------------------------
|
||||
GOMOUSE ldx $FF00,y SELF MODIFIED
|
||||
stx GOMOUSE.JMP+1
|
||||
GOMOUSE.Cn ldx #$ff SELF MODIFIED
|
||||
GOMOUSE.n0 ldy #$ff SELF MODIFIED
|
||||
GOMOUSE.JMP jmp $FFFF SELF MODIFIED
|
||||
*--------------------------------------
|
||||
DRV.CS.END
|
||||
DEVSLOT0n .BS 1
|
||||
DEVSLOTn0 .BS 1
|
||||
DEVSLOTCn .BS 1
|
||||
bDblClick .BS 1
|
||||
SrcDrag .BS 4
|
||||
*--------------------------------------
|
||||
DEVSTAT .DA #0
|
||||
.DA #0,#0,#0 size
|
||||
.DA #0,#0,#0
|
||||
>PSTR "Apple II Mouse"
|
||||
.BS 2
|
||||
.DA #S.DSTAT.T.XY
|
||||
|
@ -165,7 +165,6 @@ A2CharAX pha
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
and #$0F
|
||||
ora #$30
|
||||
cmp #'9'+1
|
||||
bcc .1
|
||||
|
@ -38,10 +38,7 @@ K.ExpandStr.YA stz ENV.hStr Reset Intermediate string...
|
||||
.21 bit ENV.bNoExp
|
||||
bpl .23
|
||||
|
||||
.22 ldx ENV.BufLen
|
||||
sta K.Buf256,x
|
||||
inx
|
||||
stx ENV.BufLen
|
||||
.22 jsr ENV.AddAToBuf
|
||||
bra .11
|
||||
|
||||
.23 ldx ENV.bInVar already in a var?
|
||||
@ -134,14 +131,6 @@ ENV.GetValue jsr ENV.ExpandSysVar
|
||||
jsr ENV.AddP3ToBuf
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
ENV.BufLen .BS 1
|
||||
ENV.bNoExp .BS 1
|
||||
ENV.bInVar .BS 1
|
||||
ENV.bFound .BS 1
|
||||
ENV.hStr .BS 1
|
||||
ENV.VarLen .BS 1
|
||||
ENV.VarName .BS 16
|
||||
*/--------------------------------------
|
||||
* # PutEnv.YA
|
||||
* ## In:
|
||||
@ -354,8 +343,9 @@ ENV.ExpandSysVar
|
||||
asl
|
||||
tax
|
||||
jmp (ENV.SysVarsJmp,x)
|
||||
|
||||
*--------------------------------------
|
||||
ENV.SysVars .AS "*#?@$!"
|
||||
*--------------------------------------
|
||||
ENV.SysVarsJmp .DA ENV.SysVarsArgs
|
||||
.DA ENV.SysVarsArgC
|
||||
.DA ENV.SysVarsRC
|
||||
@ -389,19 +379,6 @@ ENV.SysVarsArgs lda #1
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
ENV.AddP3ToBuf ldx ENV.BufLen
|
||||
ldy #$ff
|
||||
dex
|
||||
|
||||
.1 iny
|
||||
inx
|
||||
lda (ZPPtr3),y
|
||||
sta K.Buf256,x
|
||||
bne .1
|
||||
|
||||
stx ENV.BufLen
|
||||
rts
|
||||
*--------------------------------------
|
||||
ENV.SysVarsArgC ldy #S.PS.ARGC
|
||||
.HS 2C
|
||||
ENV.SysVarsRC ldy #S.PS.RC
|
||||
@ -438,10 +415,13 @@ ENV.SysVarsCPID ldy #S.PS.CPID
|
||||
ldx ENV.BufLen
|
||||
lda .3+1
|
||||
beq .4
|
||||
|
||||
ora #$30
|
||||
sta K.Buf256,x
|
||||
inx
|
||||
|
||||
.4 lda .2+1
|
||||
pha
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
@ -452,9 +432,11 @@ ENV.SysVarsCPID ldy #S.PS.CPID
|
||||
sta K.Buf256,x
|
||||
inx
|
||||
|
||||
.5 lda .2+1
|
||||
.5 pla
|
||||
|
||||
and #$0f
|
||||
ora #$30
|
||||
|
||||
.8 ora #$30
|
||||
sta K.Buf256,x
|
||||
inx
|
||||
|
||||
@ -554,6 +536,33 @@ ENV.NextEnvP3 ldy #0
|
||||
inc ZPPtr3+1
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
ENV.AddP3ToBuf ldx ENV.BufLen
|
||||
ldy #$ff
|
||||
dex
|
||||
|
||||
.1 iny
|
||||
inx
|
||||
lda (ZPPtr3),y
|
||||
sta K.Buf256,x
|
||||
bne .1
|
||||
|
||||
stx ENV.BufLen
|
||||
rts
|
||||
*--------------------------------------
|
||||
ENV.AddAToBuf ldx ENV.BufLen
|
||||
sta K.Buf256,x
|
||||
inx
|
||||
stx ENV.BufLen
|
||||
rts
|
||||
*--------------------------------------
|
||||
ENV.BufLen .BS 1
|
||||
ENV.bNoExp .BS 1
|
||||
ENV.bInVar .BS 1
|
||||
ENV.bFound .BS 1
|
||||
ENV.hStr .BS 1
|
||||
ENV.VarLen .BS 1
|
||||
ENV.VarName .BS 16
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.ENV
|
||||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||||
|
@ -1155,11 +1155,10 @@ HEX2DEC ror .31+1
|
||||
lsr
|
||||
|
||||
.6 and #$0F
|
||||
|
||||
beq .7 a zero?
|
||||
ora #$30
|
||||
|
||||
cmp #'0' a zero?
|
||||
beq .7
|
||||
|
||||
inc PADLEN found a non zero, Print all digits, even if 0, next time
|
||||
ldy #'0'
|
||||
sty PADCHAR
|
||||
|
@ -556,24 +556,26 @@ K.StrFTime.Y ldy #S.Time.YEAR
|
||||
K.StrFTime.addDecPtr1Y
|
||||
lda (ZPPtr1),y
|
||||
K.StrFTime.addDecA
|
||||
sta K.StrFTime.BIN
|
||||
stz K.StrFTime.DEC
|
||||
|
||||
sed
|
||||
stz .2+1
|
||||
|
||||
ldx #8
|
||||
sed
|
||||
|
||||
.1 asl K.StrFTime.BIN
|
||||
.1 asl
|
||||
pha
|
||||
.2 lda #$ff Self Modified
|
||||
|
||||
lda K.StrFTime.DEC
|
||||
adc K.StrFTime.DEC
|
||||
sta K.StrFTime.DEC
|
||||
adc .2+1
|
||||
sta .2+1
|
||||
|
||||
pla
|
||||
dex
|
||||
bne .1
|
||||
|
||||
cld
|
||||
|
||||
* lda K.StrFTime.DEC already in A
|
||||
lda .2+1
|
||||
pha
|
||||
lsr
|
||||
lsr
|
||||
@ -613,9 +615,6 @@ K.StrFTime.MON >PSTR "January"
|
||||
>PSTR "November"
|
||||
>PSTR "December"
|
||||
*--------------------------------------
|
||||
K.StrFTime.BIN .BS 1
|
||||
K.StrFTime.DEC .BS 1 always < 100
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.TIME
|
||||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||||
|
Loading…
x
Reference in New Issue
Block a user