mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-06 18:37:12 +00:00
Kernel 0.94
This commit is contained in:
parent
16a7463e7d
commit
6660b83a2d
Binary file not shown.
@ -42,10 +42,8 @@ X.OSD ldy CBX.Cache+S.CB.DstPtr
|
||||
cpx #S.BM
|
||||
bne .2
|
||||
|
||||
.4 lda CBX.Cache+S.CB.CMD
|
||||
asl
|
||||
tax
|
||||
jmp (.8,x)
|
||||
.4 ldx CBX.Cache+S.CB.CMD
|
||||
jmp (.8-2,x)
|
||||
*--------------------------------------
|
||||
.8 .DA OSD.SETPIXEL
|
||||
.DA OSD.GETPIXEL
|
||||
@ -54,7 +52,6 @@ X.OSD ldy CBX.Cache+S.CB.DstPtr
|
||||
.DA OSD.FILLRECT
|
||||
.DA OSD.BITBLT
|
||||
.DA OSD.GETRECTBUFSIZE
|
||||
.DA $ffff DRAWLINE
|
||||
.DA OSD.DRAWTEXT
|
||||
.DA OSD.GETTEXTSIZE
|
||||
*--------------------------------------
|
||||
@ -596,7 +593,6 @@ CBX.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
||||
.DA #S.CB.Y2+1 FILLRECT
|
||||
.DA #S.CB.DstPtr+1 BITBLT
|
||||
.DA #S.CB.DstPtr+1 GETRECTBUFSIZE
|
||||
.DA #S.CB.Y2+1 DRAWLINE
|
||||
.DA #S.CB.TxtPtr+1 DRAWTEXT
|
||||
.DA #S.CB.SrcH+1 GETTEXTSIZE
|
||||
*--------------------------------------
|
||||
|
@ -236,8 +236,9 @@ OSD.install >LDYA L.OSD
|
||||
.3 sta CLRWRITEAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
ClrScr ldx #0
|
||||
txa lda #0
|
||||
ClrScr lda #$55
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 ldy BASEL,x
|
||||
sty ZPPtr1
|
||||
@ -247,6 +248,8 @@ ClrScr ldx #0
|
||||
sta SETPAGE2
|
||||
jsr .2
|
||||
|
||||
eor #$7F
|
||||
|
||||
sta CLRPAGE2
|
||||
jsr .2
|
||||
|
||||
@ -445,11 +448,11 @@ WRITE >STYA ZPIOCTL NON STANDARD
|
||||
lda (ZPIOCTL) Get Cmd
|
||||
bmi .2
|
||||
|
||||
tax
|
||||
ldy CB.CmdLen,x
|
||||
|
||||
asl
|
||||
pha
|
||||
|
||||
lsr
|
||||
tax
|
||||
ldy CB.CmdLen-1,x
|
||||
|
||||
.1 lda (ZPIOCTL),y
|
||||
sta CB.Cache,y
|
||||
@ -457,18 +460,21 @@ WRITE >STYA ZPIOCTL NON STANDARD
|
||||
bpl .1
|
||||
|
||||
plx
|
||||
jmp (J.Cmds,x)
|
||||
jmp (J.Cmds-2,x)
|
||||
|
||||
.2 sta SETWRITEAUX
|
||||
|
||||
>DEBUG
|
||||
and #$7f
|
||||
sta CBX.Cache
|
||||
|
||||
lsr
|
||||
tax
|
||||
ldy CB.CmdLen,x
|
||||
ldy CB.CmdLen-1,x
|
||||
|
||||
.3 lda (ZPIOCTL),y
|
||||
sta CBX.Cache,y
|
||||
dey
|
||||
bpl .3
|
||||
bne .3
|
||||
|
||||
sta SETREADAUX
|
||||
jsr X.OSD
|
||||
@ -601,7 +607,6 @@ CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
||||
.DA #S.CB.Y2+1 FILLRECT
|
||||
.DA #S.CB.DstPtr+1 BITBLT
|
||||
.DA #S.CB.DstPtr+1 GETRECTBUFSIZE
|
||||
.DA #S.CB.Y2+1 DRAWLINE
|
||||
.DA #S.CB.TxtPtr+1 DRAWTEXT
|
||||
.DA #S.CB.SrcH+1 GETTEXTSIZE
|
||||
*--------------------------------------
|
||||
|
@ -39,16 +39,16 @@ S.FON .EQ 8
|
||||
* Command Block
|
||||
*--------------------------------------
|
||||
S.CB.CMD .EQ 0
|
||||
S.CB.CMD.SETPIXEL .EQ 0
|
||||
S.CB.CMD.GETPIXEL .EQ 1
|
||||
S.CB.CMD.HLINE .EQ 2
|
||||
S.CB.CMD.VLINE .EQ 3
|
||||
S.CB.CMD.FILLRECT .EQ 4
|
||||
S.CB.CMD.BITBLT .EQ 5
|
||||
S.CB.CMD.GETRECTBUFSIZE .EQ 6
|
||||
S.CB.CMD.DRAWLINE .EQ 7
|
||||
S.CB.CMD.DRAWTEXT .EQ 8
|
||||
S.CB.CMD.GETTEXTSIZE .EQ 9
|
||||
S.CB.CMD.SETPIXEL .EQ 2
|
||||
S.CB.CMD.GETPIXEL .EQ 4
|
||||
S.CB.CMD.HLINE .EQ 6
|
||||
S.CB.CMD.VLINE .EQ 8
|
||||
S.CB.CMD.FILLRECT .EQ 10
|
||||
S.CB.CMD.BITBLT .EQ 12
|
||||
S.CB.CMD.GETRECTBUFSIZE .EQ 14
|
||||
S.CB.CMD.DRAWTEXT .EQ 16
|
||||
S.CB.CMD.GETTEXTSIZE .EQ 18
|
||||
S.CB.CMD.DRAWLINE .EQ 20
|
||||
S.CB.CMD.OSD .EQ 128
|
||||
S.CB.OP .EQ 1
|
||||
S.CB.OP.XOR .EQ 0 screen EOR bitmap -> Screen
|
||||
|
@ -1,6 +1,5 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
LIBGUI.Draw .EQ 4
|
||||
LIBGUI.SetCursor .EQ 6
|
||||
|
@ -1,7 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
* //c Mouse Port, IIe Mouse Card
|
||||
*--------------------------------------
|
||||
@ -37,4 +35,4 @@ MOUSEMODx.INTMOVE .EQ %00000010
|
||||
MOUSEMODx.ACTIVE .EQ %00000001
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE INC/XY.MOUSE.I
|
||||
SAVE inc/xy.mouse.i
|
||||
|
@ -11,7 +11,11 @@ NEW
|
||||
*--------------------------------------
|
||||
CLIP.YA jsr CB.Get
|
||||
ldx CB.Cache+S.CB.CMD
|
||||
CLIP.X jmp (J.CLIP,x)
|
||||
bpl CLIP.X
|
||||
txa
|
||||
and #$7F
|
||||
tax
|
||||
CLIP.X jmp (J.CLIP-2,x)
|
||||
*--------------------------------------
|
||||
CLIP.Point
|
||||
CLIP.HLine
|
||||
@ -25,6 +29,7 @@ CLIP.Text
|
||||
CLIP.BitBlt.9 pla
|
||||
CLIP.BitBlt.99 sec
|
||||
rts
|
||||
|
||||
CLIP.BitBlt lda CB.Cache+S.CB.DstX
|
||||
ldx CB.Cache+S.CB.DstX+1
|
||||
pha
|
||||
|
@ -16,7 +16,9 @@ SetCursor sta CUR.T
|
||||
|
||||
lda CUR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr HideCursor.I
|
||||
|
||||
.1 ldx CUR.T
|
||||
lda L.Cursors,x
|
||||
sta CUR.CB+S.CB.SrcPtr
|
||||
@ -45,14 +47,17 @@ SetCursor.RTS rts
|
||||
*--------------------------------------
|
||||
SetCursorPos >PULLW ZPPtr1
|
||||
lda CUR.bVisible
|
||||
|
||||
bpl .1
|
||||
jsr HideCursor.I
|
||||
|
||||
.1 ldy #S.POINT-1
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
sta CUR.Pos,y
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
lda CUR.bVisible
|
||||
bmi ShowCursor.I
|
||||
|
||||
@ -66,6 +71,7 @@ HideCursor lda CUR.bVisible
|
||||
*--------------------------------------
|
||||
ShowCursor lda CUR.bVisible
|
||||
bmi .9
|
||||
|
||||
jsr ShowCursor.I
|
||||
dec CUR.bVisible
|
||||
.9 rts
|
||||
@ -91,13 +97,18 @@ ShowCursor.I lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
||||
lda CUR.Pos+S.POINT.Y+1
|
||||
sbc #0
|
||||
sta CUR.CB+S.CB.DstY+1
|
||||
|
||||
DrawCursor.I >LDYA L.SCR
|
||||
jsr OBJ.Get
|
||||
|
||||
>LDYA L.CUR.CB
|
||||
>DEBUG
|
||||
jsr CLIP.YA
|
||||
bcs .9
|
||||
|
||||
>LDYA L.CUR.CB
|
||||
jmp GFXWrite.YA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -4,8 +4,10 @@ NEW
|
||||
Draw >PULLW ZPCBPtr Get CB
|
||||
>PULLYA Get GC
|
||||
jsr OBJ.Get
|
||||
|
||||
.1 >LDYA ZPCBPtr
|
||||
jsr CB.Get
|
||||
|
||||
ldx CB.Cache+S.CB.CMD Get Cmd
|
||||
beq .8
|
||||
|
||||
@ -17,16 +19,20 @@ Draw >PULLW ZPCBPtr Get CB
|
||||
|
||||
jsr Draw.Jmp
|
||||
bra .7
|
||||
|
||||
.2 jsr GFXWrite.CB
|
||||
|
||||
.7 lda (ZPCBPtr) Get Cmd
|
||||
tax
|
||||
lda CB.CmdLen,x
|
||||
lda CB.CmdLen-1,x
|
||||
sec
|
||||
adc ZPCBPtr
|
||||
sta ZPCBPtr
|
||||
bcc .1
|
||||
|
||||
inc ZPCBPtr+1
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
|
||||
|
@ -1,11 +1,8 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
FON.Init >PUSHWZ Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI O.RDONLY
|
||||
>LDYA L.SYSX7
|
||||
>SYSCALL2 LoadStkObj
|
||||
FON.Init >LDYA L.SYSX7
|
||||
jsr FON.Load
|
||||
bcs .9
|
||||
sta hSYSFON
|
||||
|
||||
@ -14,17 +11,19 @@ FON.Init >PUSHWZ Aux type
|
||||
lda #7
|
||||
sta SYSFON.H
|
||||
|
||||
>PUSHWZ Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI O.RDONLY
|
||||
>LDYA L.SYSX7B
|
||||
>SYSCALL2 LoadStkObj
|
||||
jsr FON.Load
|
||||
bcs .9
|
||||
sta hSYSFONB
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
||||
FON.Load >PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI $CC Type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL2 LoadStkObj
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.fon
|
||||
|
@ -32,13 +32,16 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||
sta MouseClamp+6
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.Y
|
||||
>PUSHW L.MouseClamp
|
||||
|
||||
>PUSHB hDevMouse
|
||||
>PUSHBI IOCTL.CONTROL
|
||||
lda hDevMouse
|
||||
>PUSHW L.MouseClamp
|
||||
>SYSCALL2 IOCTL
|
||||
bcs .9
|
||||
|
||||
>LDYA L.CUR.SaveBuf
|
||||
>STYA CUR.CB+S.CB.DstPtr
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
jsr SetCursor
|
||||
jsr ShowCursor
|
||||
@ -48,30 +51,36 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||
*--------------------------------------
|
||||
MOU.Quit lda hDevMouse
|
||||
beq .8
|
||||
pha
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI IOCTL.CLOSE
|
||||
>PUSHWZ
|
||||
pla
|
||||
>SYSCALL2 IOCTL
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MOU.ReadMouse lda A2osX.ASCREEN GUI screen active ?
|
||||
cmp DCB.GFX+S.DCB.GFX.DEVID
|
||||
MOU.ReadMouse >PULLYA
|
||||
|
||||
ldx A2osX.ASCREEN GUI screen active ?
|
||||
cpx DCB.GFX+S.DCB.GFX.DEVID
|
||||
bne .9 no, exit....
|
||||
lda hDevMouse
|
||||
|
||||
ldx hDevMouse
|
||||
beq .9
|
||||
pha
|
||||
|
||||
* >PUSHW ZPPtr1
|
||||
|
||||
txa
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI IOCTL.READ
|
||||
pla
|
||||
>PUSHYA
|
||||
>SYSCALL2 IOCTL
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
>RET 2 Discard PTR
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.mou
|
||||
|
@ -5,14 +5,17 @@ WND.Init >PUSHBI 0
|
||||
>LDYA L.DEVNAME.GFX
|
||||
>SYSCALL2 open
|
||||
bcs .9
|
||||
|
||||
sta SCR+S.SCREEN.hDEV
|
||||
|
||||
>LDYA L.DCB.GFX
|
||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||
lda #S.IOCTL.STATCODE.GETDCB
|
||||
sta IOCTL+S.IOCTL.STATCODE
|
||||
>PUSHW L.IOCTL
|
||||
|
||||
>PUSHB SCR+S.SCREEN.hDEV
|
||||
>PUSHBI IOCTL.STATUS
|
||||
lda SCR+S.SCREEN.hDEV
|
||||
>PUSHW L.IOCTL
|
||||
>SYSCALL2 IOCTL
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
@ -35,18 +38,24 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
sbc #0
|
||||
sta WND.Desktop+S.OBJ.H+1
|
||||
sta WND.SysBar+S.OBJ.X1+1
|
||||
|
||||
>LDYA L.SCR
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
>STYA SCR.Childs
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jsr OBJ.SetX2Y2
|
||||
>STYA SCR.Childs+2
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
lda #CUR.T.ARROW
|
||||
sta WND.Desktop+S.WND.hCUR
|
||||
sta WND.SysBar+S.WND.hCUR
|
||||
|
||||
sta $C057
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Quit lda SCR+S.SCREEN.hDEV
|
||||
|
@ -119,36 +119,44 @@ J.Clip .DA CLIP.Point SETPIXEL
|
||||
LIB.LOAD lda LibCount
|
||||
bne .8
|
||||
|
||||
jsr FON.Init
|
||||
bcs .9
|
||||
|
||||
jsr MOU.Init
|
||||
bcs .9
|
||||
* bcs .9
|
||||
|
||||
jsr WND.Init
|
||||
bcs .9
|
||||
jsr WND.Setup
|
||||
lda hDevMouse
|
||||
beq .8
|
||||
jsr MOU.Setup
|
||||
.8 inc LibCount
|
||||
|
||||
clc
|
||||
jsr FON.Init
|
||||
bcs .9
|
||||
|
||||
lda hDevMouse
|
||||
beq .1
|
||||
|
||||
jsr MOU.Setup
|
||||
|
||||
.1 jsr WND.Setup
|
||||
|
||||
inc LibCount
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
LIB.UNLOAD dec LibCount
|
||||
bne .8
|
||||
|
||||
jsr MOU.Quit
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.Get >STYA .1+1
|
||||
|
||||
ldx #S.OBJ-1
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
sta OBJ.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.SetX2Y2 >STYA ZPObjPtr
|
||||
@ -211,9 +219,11 @@ CB.Get >STYA .1+1
|
||||
*--------------------------------------
|
||||
GFXWrite.CB >LDYA L.CB.Cache
|
||||
|
||||
GFXWrite.YA >PUSHYA
|
||||
GFXWrite.YA pha
|
||||
>PUSHB SCR+S.SCREEN.hDEV
|
||||
>PUSHBI IOCTL.WRITE
|
||||
lda SCR+S.SCREEN.hDEV
|
||||
pla
|
||||
>PUSHYA
|
||||
>SYSCALL2 IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -273,6 +283,7 @@ PAT.Buf .BS 1 S.BM.F
|
||||
*--------------------------------------
|
||||
IOCTL .BS S.IOCTL
|
||||
DCB.GFX .BS S.DCB.GFX
|
||||
MOUSEDATA .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
MouseClamp .BS 8
|
||||
*--------------------------------------
|
||||
|
@ -55,6 +55,7 @@ CS.INIT >LDYA L.LIBGUI
|
||||
CS.RUN >PUSHW L.MouseData
|
||||
>LIBCALL hLIBGUI,LIBGUI.ReadMouse
|
||||
bcs .4
|
||||
|
||||
lda MouseData+S.MOUSE.S
|
||||
bit #S.MOUSE.S.MOVE
|
||||
beq .1
|
||||
@ -62,6 +63,7 @@ CS.RUN >PUSHW L.MouseData
|
||||
>PUSHW L.MouseData
|
||||
>LIBCALL hLIBGUI,LIBGUI.SetCursorPos
|
||||
lda MouseData+S.MOUSE.S
|
||||
|
||||
.1 bit #S.MOUSE.S.CLK
|
||||
beq .4
|
||||
>LDA.G CUR.T
|
||||
|
Loading…
x
Reference in New Issue
Block a user