Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-13 21:05:38 +02:00
parent 538ef25eb5
commit e87cb9907b
14 changed files with 417 additions and 147 deletions

Binary file not shown.

Binary file not shown.

View File

@ -108,7 +108,7 @@ Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000
* 4 bytes * 16 Colors
*--------------------------------------
* c1110000 c3322221 c5444433 c6666555
Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable)
Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disabled)
.DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue
.DA #%10100010,#%11000100,#%10001000,#%10010001 dark green
.DA #%10110011,#%11100110,#%11001100,#%10011001 medium blue
@ -123,7 +123,7 @@ Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit di
.DA #%11001100,#%10011001,#%10110011,#%11100110 orange
.DA #%11011101,#%10111011,#%11110111,#%11101110 pink
.DA #%11101110,#%11011101,#%10111011,#%11110111 yellow
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable)
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disabled)
*--------------------------------------
COL.BANK .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2

View File

@ -2,7 +2,7 @@ NEW
AUTO 3,1
*--------------------------------------
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
IO.D2.SeekTimeF .EQ 80 LIBBLKDEV Track Formatter
IO.D2.SeekTimeF .EQ 85 LIBBLKDEV Track Formatter
IO.D2.SeekTimeB .EQ 60 LIBBLKDEV Boot Block
IO.D2.SeekTimeP .EQ 40 ProDOS.FX initial
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128

View File

@ -14,6 +14,21 @@ LIBGUI.WND.SetProp .EQ 22
LIBGUI.WND.GetProp .EQ 24
LIBGUI.WND.Show .EQ 26
*--------------------------------------
C16.D.BLUE .EQ 1
C16.D.GREEN .EQ 2
C16.M.BLUE .EQ 3
C16.BROWN .EQ 4
C16.GREY2 .EQ 5
C16.GREEN .EQ 6
C16.AQUA .EQ 7
C16.MAGENTA .EQ 8
C16.VIOLET .EQ 9
C16.GREY1 .EQ 10
C16.L.BLUE .EQ 11
C16.ORANGE .EQ 12
C16.PINK .EQ 13
C16.YELLOW .EQ 14
*--------------------------------------
CUR.T.ARROW .EQ 0
CUR.T.RESIZEX .EQ 2
CUR.T.RESIZEY .EQ 4
@ -81,33 +96,36 @@ S.OBJ .EQ 22
S.WND.F.RESIZE .EQ %00000001
S.WND.F.MOVE .EQ %00000010
S.WND.F.CLOSE .EQ %00000100
S.WND.F.MAX .EQ %00001000
S.WND.F.MIN .EQ %00010000
S.WND.F.MIN .EQ %00001000
S.WND.F.MAX .EQ %00010000
S.WND.F.BORDER .EQ %00100000
S.WND.F.MODAL .EQ %01000000
S.WND.F.SYSMODAL .EQ %10000000
*
S.WND.S.ACTIVE .EQ %00000100
S.WND.S.MAXIMIZED .EQ %00001000
S.WND.S.MINIMIZED .EQ %00010000
S.WND.S.HASTOPBAR .EQ %00000001
S.WND.S.MAXIMIZED .EQ %00000010
S.WND.S.MINIMIZED .EQ %00000100
S.WND.S.ACTIVE .EQ %01000000
*
S.WND.MinW .EQ S.OBJ
S.WND.MinH .EQ S.OBJ+2
S.WND.TITLE .EQ S.OBJ+4
S.WND.MBAR .EQ S.OBJ+6
S.WND.BGCOLOR .EQ S.OBJ+8
S.WND.BGBM .EQ S.OBJ+10
S.WND.hCUR .EQ S.OBJ+12
S.WND.STATUS .EQ S.OBJ+14
S.WND.ICON .EQ S.OBJ+16
S.WND.InnerW .EQ S.OBJ+18
S.WND.InnerH .EQ S.OBJ+20
S.WND.DocW .EQ S.OBJ+22
S.WND.DocH .EQ S.OBJ+24
S.WND.DocX .EQ S.OBJ+26
S.WND.DocY .EQ S.OBJ+28
S.WND.STATUS .EQ S.OBJ+8
S.WND.ICON .EQ S.OBJ+10
S.WND.BGCOLOR .EQ S.OBJ+12
S.WND.BGBM .EQ S.OBJ+14
S.WND.hCUR .EQ S.OBJ+16
S.WND.TitleX1 .EQ S.OBJ+18
S.WND.TitleX2 .EQ S.OBJ+20
S.WND.InnerW .EQ S.OBJ+22
S.WND.InnerH .EQ S.OBJ+24
S.WND.DocW .EQ S.OBJ+26
S.WND.DocH .EQ S.OBJ+28
S.WND.DocX .EQ S.OBJ+30
S.WND.DocY .EQ S.OBJ+32
*
S.WND .EQ S.OBJ+30
S.WND .EQ S.OBJ+34
*--------------------------------------
S.MBAR.MENULIST .EQ S.OBJ
* ... S.MENUs...

View File

@ -72,12 +72,8 @@ D2MoveHead >PULLB MoveTo
cmp MoveTo
beq .7
bit IO.D2.Ph0Off,x
nop
nop
ldx IO.D2.Ph0Off,y
nop
nop
jsr .8
bcs .2
* Current < Target, must move in
@ -114,30 +110,36 @@ D2MoveHead >PULLB MoveTo
and #6
ora Slotn0
tax
bcs .4
* move out : invert 2 phases
phy
tay
pla
.4 tax
lda IO.D2.Ph0On,y
nop
nop
lda IO.D2.Ph0On,x
nop
nop
lda IO.D2.Ph0On,y
nop
nop
lda #IO.D2.SeekTimeF
jsr D2.Wait100usecA
bra .1
.7 jsr D2.Wait25600usec
lda IO.D2.Ph0Off,x
nop
nop
lda IO.D2.Ph0Off,y
nop
nop
jsr D2.Wait25600usec
clc
.8 bit IO.D2.Ph0Off,x
nop
nop
ldx IO.D2.Ph0Off,y
nop
nop
.9 rts
*--------------------------------------

View File

@ -5,14 +5,60 @@ BM.Apple .DA #S.BM.F.BBP4
.DA #2 RowBytes
.DA 16 W
.DA 7 H
.DA 0 no MASK.OFS
.HS FFF6 green (8)
.HS 6FF6 green (8)
.DA BM.Apple.AND-BM.Apple
.HS 0006 green (8)
.HS 6006 green (8)
.HS EEEE yellow (15)
.HS CCFC orange (14)
.HS 88F8 magenta (10)
.HS CC0C orange (14)
.HS 8808 magenta (10)
.HS 9999 violet (11)
.HS 1FF1 Dark blue (4)
.HS 1001 Dark blue (4)
BM.Apple.AND .HS FFF0
.HS 0FF0
.HS 0000
.HS 00F0
.HS 00F0
.HS 0000
.HS 0FF0
*--------------------------------------
BM.Close .DA #S.BM.F.BBP1
.DA #1 RowBytes
.DA 7 W
.DA 7 Y
.DA 0 no MASK.OFS
.DA #%01000000
.DA #%01000000
.DA #%01010100
.DA #%01001000
.DA #%01010100
.DA #%01000000
.DA #%01000000
*--------------------------------------
BM.Max .DA #S.BM.F.BBP1
.DA #1 RowBytes
.DA 7 W
.DA 7 Y
.DA 0 no MASK.OFS
.DA #%01000000
.DA #%01011110
.DA #%01011110
.DA #%01010010
.DA #%01010010
.DA #%01011110
.DA #%01000000
*--------------------------------------
BM.Min .DA #S.BM.F.BBP1
.DA #1 RowBytes
.DA 7 W
.DA 7 Y
.DA 0 no MASK.OFS
.DA #%01000000
.DA #%01000000
.DA #%01000000
.DA #%01000000
.DA #%01000000
.DA #%01011110
.DA #%01000000
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.g.bm

View File

@ -23,7 +23,7 @@ CUR.CB .DA #S.CB.CMD.BITBLT
.BS 1
.DA #S.CB.M.MONO
.DA #0
.BS S.CB-4
.BS S.CB-2
*--------------------------------------
CUR.SaveBuf .BS 64 16*4
*--------------------------------------

View File

@ -4,6 +4,7 @@ NEW
hSYSFON .BS 1
hSYSFONB .BS 1
SYSFON.H .BS 1
SYSFON.H2 .BS 1
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.g.fon

View File

@ -17,6 +17,9 @@ FON.Init >LDYA L.SYSX7
* >SYSCALL2 GetStkObjProp
lda #7
sta SYSFON.H
inc
inc
sta SYSFON.H2
.9 rts
*--------------------------------------

View File

@ -12,7 +12,7 @@ WND.Init >PUSHBI 0
>STYA IOCTL+S.IOCTL.BUFPTR
lda #S.IOCTL.STATCODE.GETDCB
sta IOCTL+S.IOCTL.STATCODE
>PUSHB WND.Screen+S.OBJ.hPARENT
>PUSHBI IOCTL.STATUS
>PUSHW L.IOCTL
@ -57,9 +57,9 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
lda #CUR.T.ARROW
sta WND.Desktop+S.WND.hCUR
sta WND.SysBar+S.WND.hCUR
stz WND.Stack.Top
rts
*--------------------------------------
WND.Quit lda WND.Screen+S.OBJ.hPARENT
@ -95,21 +95,21 @@ WND.Create ldy WND.Stack.Top
.1 sta (ZPPtr1),y
dey
bne .1
>PULLA
ldy #S.OBJ.H
sta (ZPPtr1),y
>PULLA
iny
sta (ZPPtr1),y
>PULLA
ldy #S.OBJ.W
sta (ZPPtr1),y
>PULLA
iny
sta (ZPPtr1),y
>PULLA
ldy #S.OBJ.Y1
sta (ZPPtr1),y
@ -123,7 +123,7 @@ WND.Create ldy WND.Stack.Top
>PULLA
iny
sta (ZPPtr1),y
>PULLA
ldy #S.OBJ.F
sta (ZPPtr1),y
@ -133,12 +133,12 @@ WND.Create ldy WND.Stack.Top
ldy #S.OBJ.hOWNER
sta (ZPPtr1),y
txa ID
ldy WND.Stack.Top
sta WND.Stack
inc WND.Stack.Top
* clc
rts
@ -153,12 +153,12 @@ WND.SetProp ldy #3
>SYSCALL2 GetMemPtr
>STYA ZPPtr1
ldy #2
lda (pStack),y
tay
>PULLA
sta (ZPPtr1),y
@ -172,67 +172,75 @@ WND.SetProp ldy #3
*--------------------------------------
WND.GetProp >PULLA
pha
>PULLA
>SYSCALL2 GetMemPtr
>STYA ZPPtr1
ply
lda (ZPPtr1),y
pha
iny
lda (ZPPtr1),y
ply
rts
*--------------------------------------
* A = hWND
*--------------------------------------
WND.Show >SYSCALL2 GetMemPtr
>STYA ZPPtr1
jsr OBJ.SetX2Y2
jsr GetCBBuf
bcs .9
stz Counter X
stz Counter+1 Y
ldy #S.OBJ.F
lda (ZPPtr1),y
and #S.WND.F.RESIZE+S.WND.F.BORDER
beq .1
inc Counter 1 pixel L
inc Counter 1 pixel R
inc Counter+1 1 top
inc Counter+1 1 bottom
jsr WND.PaintBorders
.1 ldy #S.WND.TITLE+1
lda (ZPPtr1),y
beq .77
bne .2
lda Counter+1
ldy #S.OBJ.S
lda (ZPPtr1),y
and #S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MIN+S.WND.F.MAX
beq .3
.2 lda Counter+1
clc
adc SYSFON.H
inc
inc
adc SYSFON.H2
sta Counter+1
jsr WND.PaintTitle
lda #S.WND.S.HASTOPBAR
jsr WND.SetStatus
jsr WND.PaintTopBar
bcs .9
.3
.77 lda #0
lda #0
jsr PutCBBuf
>LDYA L.WND.Screen
jsr DrawToYA
lda hCBBuf
>SYSCALL FreeMem
@ -250,9 +258,9 @@ WND.Paint >STYA ZPPtr1
WND.PaintBorders
lda #S.CB.CMD.HLINE TOP
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
.1 lda (ZPPtr1),y
jsr PutCBBuf
iny
@ -261,9 +269,9 @@ WND.PaintBorders
lda #S.CB.CMD.VLINE LEFT
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
.2 lda (ZPPtr1),y
jsr PutCBBuf
iny
@ -275,28 +283,28 @@ WND.PaintBorders
ldy #S.OBJ.X2
jsr WND.PaintPushWY
ldy #S.OBJ.Y1
jsr WND.PaintPushWY
ldy #S.OBJ.X2
jsr WND.PaintPushWY
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
lda #S.CB.CMD.HLINE BOTTOM
jsr WND.PaintBorders.H
ldy #S.OBJ.X1
jsr WND.PaintPushWY
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
ldy #S.OBJ.X2
jsr WND.PaintPushWY
ldy #S.OBJ.Y2
jsr WND.PaintPushWY
@ -318,44 +326,168 @@ WND.PaintPushWY lda (ZPPtr1),y
jsr PutCBBuf
rts
*--------------------------------------
WND.PaintTitle ldx #S.CB-1
.1 stz CB.Cache,x
WND.PaintTopBar lda #S.CB.CMD.FILLRECT
jsr PutCBBuf
lda #S.CB.OP.SET
jsr PutCBBuf
lda #S.CB.M.C16
jsr PutCBBuf
lda PREFS.TOBARCOLOR
jsr PutCBBuf
ldy #S.WND.ICON+1
lda (ZPPtr1),y
tax
dey
ora (ZPPtr1),y
bne .1
lda L.BM.Apple
ldx L.BM.Apple+1
bra .2
.1 lda (ZPPtr1),y
.2 sta ZPObjPtr
stx ZPObjPtr+1
lda #1
ldx #0
jsr WND.PaintTopBarBMAtAX
jsr WND.PaintTopBarTitle
bcs .9
clc
.9 rts
*--------------------------------------
WND.PaintTopBarBMAtAX
clc
ldy #S.OBJ.X1
adc (ZPPtr1),y
pha
iny
txa
adc (ZPPtr1),y
tax
lda #S.CB.CMD.BITBLT
jsr PutCBBuf
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
jsr PutCBBuf
lda #S.CB.M.C16
jsr PutCBBuf
lda #0
jsr PutCBBuf
pla X1
jsr PutCBBufAX
ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
lda #0 S.CB.X2
jsr PutCBBuf
jsr PutCBBuf
jsr PutCBBuf S.CB.Y2
jsr PutCBBuf
jsr PutCBBuf S.CB.SrcX
jsr PutCBBuf
jsr PutCBBuf S.CB.SrcY
jsr PutCBBuf
ldx #4
ldy #S.BM.W
.1 lda (ZPObjPtr),y
jsr PutCBBuf
iny
dex
bpl .1
bne .1
lda ZPObjPtr S.CB.SrcPtr
jsr PutCBBuf
lda ZPObjPtr+1
jsr PutCBBuf
lda #0 S.CB.DstPtr
jsr PutCBBuf
>DEBUG
jsr PutCBBuf
rts
*--------------------------------------
WND.PaintTopBarTitle
ldy #S.OBJ.X1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
iny ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
iny ldy #S.OBJ.X2
lda (ZPPtr1),y
sec
sbc #1
jsr PutCBBuf
iny
lda (ZPPtr1),y
sbc #0
jsr PutCBBuf
ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc SYSFON.H2
jsr PutCBBuf
iny
lda (ZPPtr1),y
adc #0
jsr PutCBBuf
jsr CB.Clear
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
sta CB.Cache+S.CB.CMD
lda #S.CB.OP.SET +S.CB.OP.INVERSE
lda #S.CB.OP.SET+S.CB.OP.INVERSE
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda hSYSFONB
sta CB.Cache+S.CB.hFont
ldy #S.OBJ.X1
lda (ZPPtr1),y
clc
adc #1
sta CB.Cache+S.CB.X1
iny
lda (ZPPtr1),y
adc #0
sta CB.Cache+S.CB.X1+1
iny #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #1
sta CB.Cache+S.CB.Y1
iny
lda (ZPPtr1),y
adc #0
sta CB.Cache+S.CB.Y1+1
ldy #S.WND.TITLE
lda (ZPPtr1),y
sta CB.Cache+S.CB.TxtPtr
@ -365,7 +497,28 @@ WND.PaintTitle ldx #S.CB-1
jsr GFXWrite.CB
bcs .9
ldy #S.OBJ.X1
lda (ZPPtr1),y
clc
adc #17
sta CB.Cache+S.CB.X1
iny
lda (ZPPtr1),y
adc #0
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.Y1
lda (ZPPtr1),y
clc
adc #2
sta CB.Cache+S.CB.Y1
iny
lda (ZPPtr1),y
adc #0
sta CB.Cache+S.CB.Y1+1
ldx #0
.8 lda CB.Cache,x
@ -373,10 +526,21 @@ WND.PaintTitle ldx #S.CB-1
inx
cpx #S.CB.DstPtr+2
bne .8
clc
.9 rts
.9 rts
*--------------------------------------
WND.ClrStatus ldy #S.OBJ.S
eor #$ff
and (ZPPtr1),y
sta (ZPPtr1),y
rts
*--------------------------------------
WND.SetStatus ldy #S.OBJ.S
ora (ZPPtr1),y
sta (ZPPtr1),y
rts
*--------------------------------------
WND.Close clc
rts

View File

@ -171,6 +171,9 @@ L.WND.Desktop .DA WND.Desktop
L.WND.SysBar .DA WND.SysBar
*--------------------------------------
L.BM.Apple .DA BM.Apple
.DA BM.Close
.DA BM.Max
.DA BM.Min
*--------------------------------------
L.CUR.CB .DA CUR.CB
L.CUR.SaveBuf .DA CUR.SaveBuf
@ -294,6 +297,14 @@ OBJ.SetX2Y2 >STYA ZPObjPtr
rts
*--------------------------------------
CB.Clear ldx #S.CB-1
.1 stz CB.Cache,x
dex
bpl .1
rts
*--------------------------------------
CB.Get >STYA .1+1
ldx #S.CB-1
@ -314,6 +325,10 @@ GetCBBuf >LDYAI 256
>STYA ZPCBBufPtr
.9 rts
*--------------------------------------
PutCBBufAX jsr PutCBBuf
txa
PutCBBuf sta (ZPCBBufPtr)
inc ZPCBBufPtr
bne .8
@ -424,6 +439,7 @@ MENU.Sys .DA #2 ID
.DA #0
*--------------------------------------
PREFS.BORDERCOLOR .DA #0 BLACK
PREFS.TOBARCOLOR .DA #C16.D.BLUE
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.s

View File

@ -782,12 +782,7 @@ XRW.Seek ldx XRW.UnitIndex
cmp XRW.TargetQTrack
beq .7
bit IO.D2.Ph0Off,x
nop
nop
ldx IO.D2.Ph0Off,y
nop
nop
jsr .8
bcs .2
@ -825,24 +820,33 @@ XRW.Seek ldx XRW.UnitIndex
and #6
ora A2L
tax
bcs .4
* move out : invert 2 phases
phy
tay
pla
.4 tax
lda IO.D2.Ph0On,y
nop
nop
lda IO.D2.Ph0On,x
nop
nop
lda IO.D2.Ph0On,y
nop
nop
jsr XRW.WaitSeekTime
bra .1
.7 jsr XRW.Wait25600usec
lda IO.D2.Ph0Off,x
.8 bit IO.D2.Ph0Off,x
nop
nop
lda IO.D2.Ph0Off,y
ldx IO.D2.Ph0Off,y
nop
nop

View File

@ -43,8 +43,9 @@ CS.START cld
.DA CS.QUIT
L.LIBGUI .DA LIBGUI
L.MouseData .DA MouseData
L.WND.Title .DA WND.Title
L.WND.Menu .DA WND.Menu
L.WND.TITLE .DA WND.TITLE
L.WND.MBAR .DA WND.MBAR
L.WND.STATUS .DA WND.STATUS
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBGUI
@ -108,27 +109,34 @@ CS.DOEVENT lda (pEvent)
rts
*--------------------------------------
CS.QUIT clc
rts
CS.QUIT.RTS rts
*--------------------------------------
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
>PUSHW MouseData+S.MOUSE.X1
>PUSHW MouseData+S.MOUSE.Y1
>PUSHWI 200
>PUSHWI 100
>PUSHWI 240
>PUSHWI 90
>LIBCALL hLIBGUI,LIBGUI.WND.Create
bcs .9
bcs CS.QUIT.RTS
sta hWND
>PUSHA
>PUSHBI S.WND.TITLE
>PUSHW L.WND.Title
>PUSHW L.WND.TITLE
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
* >PUSHA
* >PUSHBI S.WND.TITLE
* >PUSHW L.WND.Title
* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp
lda hWND
>PUSHA
>PUSHBI S.WND.MBAR
>PUSHW L.WND.MBAR
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
lda hWND
>PUSHA
>PUSHBI S.WND.STATUS
>PUSHW L.WND.STATUS
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
>LIBCALL hLIBGUI,LIBGUI.HideCursor
lda hWND
@ -145,9 +153,9 @@ hLIBGUI .BS 1
MouseData .BS S.MOUSE
*--------------------------------------
hWND .BS 1
WND.Title .AZ "Window Title"
WND.TITLE .AZ "Window Title"
*--------------------------------------
WND.Menu .AZ "File"
WND.MBAR .AZ "File"
.DA #02 ID
.DA #S.MITEM.KEYMOD.CTRL
.DA #'N'
@ -189,7 +197,15 @@ WND.Menu .AZ "File"
.DA #0
.AZ "Check Me"
.DA #0
.AZ "?"
.DA #20 ID
.DA #0
.DA #0
.AZ "About..."
.DA #0
.DA #0
*--------------------------------------
WND.STATUS .AZ "Window status bar message"
*--------------------------------------
.DUMMY
.OR 0