mirror of
https://github.com/A2osX/A2osX.git
synced 2024-12-25 04:30:59 +00:00
Kernel 0.92
This commit is contained in:
parent
64a7b37e2d
commit
3a08dc34ce
Binary file not shown.
@ -196,6 +196,13 @@ L.Color.Pixels .DA Color.Pixels
|
||||
*--------------------------------------
|
||||
STATUS >STYA ZPIOCTL
|
||||
|
||||
ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBasePtr
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBasePtr+1
|
||||
|
||||
ldy #S.IOCTL.STATCODE
|
||||
lda (ZPIOCTL),y
|
||||
beq .1
|
||||
@ -203,26 +210,30 @@ STATUS >STYA ZPIOCTL
|
||||
cmp #S.IOCTL.STATCODE.GETDIB
|
||||
bne STATUS.DCB
|
||||
|
||||
ldx #S.DIB-1
|
||||
ldy #S.DIB-1
|
||||
.HS 2C bit abs
|
||||
.1 ldx #3
|
||||
|
||||
ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta .3+1
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
sta .3+2
|
||||
.1 ldy #3
|
||||
|
||||
.2 lda DIB,x
|
||||
.3 sta $ffff,x SELF MODIFIED
|
||||
dex
|
||||
.2 lda DIB,y
|
||||
sta (ZPBasePtr),y
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
STATUS.DCB
|
||||
STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB
|
||||
bne STATUS.9
|
||||
|
||||
ldy #S.DCB.GFX-1
|
||||
|
||||
.2 lda DCB,y
|
||||
sta (ZPBasePtr),y
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
STATUS.9 lda #MLI.E.BADCTL
|
||||
sec
|
||||
@ -243,7 +254,7 @@ OPEN ldx #0 DEV.ID in A
|
||||
|
||||
.20 sta A2osX.SCRNDEVS,x
|
||||
sta DCB+S.DCB.GFX.DEVID
|
||||
|
||||
|
||||
lda #S.DIB.S.OPENED
|
||||
tsb DIB+S.DIB.S
|
||||
|
||||
@ -274,7 +285,7 @@ OPEN ldx #0 DEV.ID in A
|
||||
dey
|
||||
bne .2
|
||||
*--------------------------------------
|
||||
CONTROL lda DCB+S.DCB.GFX.DEVID NON STANDARD
|
||||
CONTROL lda DCB+S.DCB.GFX.DEVID NON STANDARD
|
||||
cmp A2osX.ASCREEN
|
||||
beq .8
|
||||
|
||||
@ -494,10 +505,10 @@ DCB .DA #S.DCB.T.GFX
|
||||
.DA 192 H
|
||||
*--------------------------------------
|
||||
DRV.END
|
||||
.LI ON
|
||||
.LIST ON
|
||||
DRV.CS.SIZE .EQ DRV.CS.END-DRV.CS.START
|
||||
DRV.SIZE .EQ DRV.END-DRV.CS.START
|
||||
.LI OFF
|
||||
.LIST OFF
|
||||
MAN
|
||||
SAVE USR/SRC/DRV/DHGR.DRV.S
|
||||
ASM
|
||||
|
@ -202,6 +202,9 @@ OPEN php
|
||||
ldy #INITMOUSE Reset
|
||||
jsr GOMOUSE
|
||||
|
||||
lda #S.DIB.S.OPENED
|
||||
tsb DIB+S.DIB.S
|
||||
|
||||
plp
|
||||
|
||||
clc
|
||||
@ -209,12 +212,18 @@ OPEN php
|
||||
*--------------------------------------
|
||||
CLOSE php
|
||||
sei
|
||||
|
||||
ldx DEVSLOT0n
|
||||
lda MOUSEMODx,x keep if VBLInt already activated by kernel
|
||||
and #MOUSEMODx.INTVBL Disable ALL but VBLInt if previously active
|
||||
ldy #SETMOUSE
|
||||
jsr GOMOUSE
|
||||
|
||||
lda #S.DIB.S.OPENED
|
||||
trb DIB+S.DIB.S
|
||||
|
||||
plp
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -120,14 +120,17 @@ ShowCursor.I lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
||||
sbc #0
|
||||
sta CUR.CB+S.CB.DstY+1
|
||||
|
||||
DrawCursor.I >LDYA L.GC.Screen
|
||||
jsr GC.Get
|
||||
DrawCursor.I
|
||||
|
||||
* >LDYA L.GC.Screen
|
||||
* jsr GC.Get
|
||||
|
||||
* >LDYA L.CUR.CB
|
||||
* jsr CLIP.YA
|
||||
* bcs .9
|
||||
|
||||
>LDYA L.CUR.CB
|
||||
jsr CLIP.YA
|
||||
bcs .9
|
||||
|
||||
jmp GoDevGfx
|
||||
jmp GFXWrite.YA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -39,7 +39,7 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.Y
|
||||
|
||||
>PUSHWI L.MouseClamp
|
||||
>PUSHW L.MouseClamp
|
||||
>PUSHBI IOCTL.CONTROL
|
||||
lda hDevMouse
|
||||
>SYSCALL IOCTL
|
||||
@ -50,7 +50,8 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
jsr SetCursor
|
||||
|
||||
jsr ShowCursor
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
@ -66,22 +67,24 @@ MOU.Quit lda hDevMouse
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MOU.Read >STYA ZPPtr1
|
||||
|
||||
MOU.ReadMouse lda A2osX.ASCREEN GUI screen active ?
|
||||
cmp DCB.GFX+S.DCB.GFX.DEVID
|
||||
bne .9 no, exit....
|
||||
|
||||
lda hDevMouse
|
||||
beq .9
|
||||
|
||||
pha
|
||||
>PUSHW ZPPtr1
|
||||
|
||||
* >PUSHW ZPPtr1
|
||||
>PUSHBI IOCTL.READ
|
||||
|
||||
pla
|
||||
>SYSCALL IOCTL
|
||||
bcs .9
|
||||
|
||||
rts
|
||||
|
||||
.8 sec
|
||||
.9 rts
|
||||
.9 sec
|
||||
>RET 2 Discard PTR
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/LIB/LIBGUI.S.MOU
|
||||
|
@ -8,10 +8,17 @@ WND.Init >PUSHBI 0
|
||||
bcs .9
|
||||
|
||||
sta hDevGFX
|
||||
pha
|
||||
>PUSHW L.DCB.GFX
|
||||
pla
|
||||
>SYSCALL GetDevStatus
|
||||
|
||||
>LDYA L.DCB.GFX
|
||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||
lda #S.IOCTL.STATCODE.GETDCB
|
||||
sta IOCTL+S.IOCTL.STATCODE
|
||||
|
||||
>PUSHW L.IOCTL
|
||||
>PUSHBI IOCTL.STATUS
|
||||
lda hDevGFX
|
||||
>SYSCALL IOCTL
|
||||
|
||||
bcs .9
|
||||
|
||||
lda DCB.GFX+S.DCB.GFX.W
|
||||
|
@ -73,18 +73,24 @@ CS.START cld
|
||||
.DA HideCursor
|
||||
.DA ShowCursor
|
||||
.DA UpdateCursor
|
||||
.DA MOU.Read
|
||||
.DA MOU.ReadMouse
|
||||
.DA GetScreenGC
|
||||
*--------------------------------------
|
||||
J.Cmds .DA DrawLine
|
||||
.DA DrawText
|
||||
*--------------------------------------
|
||||
L.DEVNAME.GFX .DA DEVNAME.GFX
|
||||
L.DEVNAME.MOUSE .DA DEVNAME.MOUSE
|
||||
L.SYSX7 .DA SYSX7
|
||||
L.SYSX7B .DA SYSX7B
|
||||
L.IOCTL .DA IOCTL
|
||||
L.DCB.GFX .DA DCB.GFX
|
||||
L.MouseClamp .DA MouseClamp
|
||||
L.GC.Screen .DA GC.Screen
|
||||
L.GC.Desktop .DA GC.Desktop
|
||||
L.GC.SysBar .DA GC.SysBar
|
||||
L.CB.Cache .DA CB.Cache
|
||||
*--------------------------------------
|
||||
L.CUR.CB .DA CUR.CB
|
||||
L.CUR.SaveBuf .DA CUR.SaveBuf
|
||||
L.Cursors .DA CUR.Arrow
|
||||
@ -171,8 +177,9 @@ GetScreenGC >LDYA L.GC.Screen
|
||||
*--------------------------------------
|
||||
GoDevGfx >LDYA L.CB.Cache
|
||||
|
||||
GFXWrite.YA >PUSHYA
|
||||
>PUSHBI IOCTL.WRITE
|
||||
lda hDevMouse
|
||||
lda hDevGFX
|
||||
>SYSCALL IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -233,8 +240,13 @@ PAT.Buf .BS 1 S.BM.F
|
||||
.DA 0 S.BM.MASK.OFS
|
||||
.BS 8 (data)
|
||||
*--------------------------------------
|
||||
IOCTL .BS S.IOCTL
|
||||
DCB.GFX .BS S.DCB.GFX
|
||||
*--------------------------------------
|
||||
GC.Screen .BS S.GC
|
||||
GC.Desktop .BS S.GC
|
||||
GC.SysBar .BS S.GC
|
||||
*--------------------------------------
|
||||
GC.Cache .BS S.GC
|
||||
CB.Cache .BS S.CB
|
||||
BM.Cache .BS S.BM
|
||||
|
@ -47,17 +47,13 @@ L.MouseData .DA MouseData
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBGUI
|
||||
>SYSCALL LoadLib
|
||||
bcs CS.INIT.RTS
|
||||
bcs .9
|
||||
sta hLIBGUI
|
||||
|
||||
clc
|
||||
CS.INIT.RTS rts
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN lda A2osX.ASCREEN GUI screen active ?
|
||||
cmp #3
|
||||
bne .8 no, exit....
|
||||
|
||||
>PUSHW L.MouseData
|
||||
CS.RUN >PUSHW L.MouseData
|
||||
>LIBCALL hLIBGUI,LIBGUI.ReadMouse
|
||||
bcs .4
|
||||
|
||||
@ -127,8 +123,6 @@ CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
hLIBGUI .BS 1
|
||||
*--------------------------------------
|
||||
SYSMENU
|
||||
*--------------------------------------
|
||||
MouseData .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
Loading…
Reference in New Issue
Block a user