diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index f22a3f3f..e1107463 100644 Binary files a/.Floppies/A2OSX.BOOT.po and b/.Floppies/A2OSX.BOOT.po differ diff --git a/.Floppies/A2OSX.BOOT.woz b/.Floppies/A2OSX.BOOT.woz index 05a4ed82..d0d09ecf 100644 Binary files a/.Floppies/A2OSX.BOOT.woz and b/.Floppies/A2OSX.BOOT.woz differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 134096aa..daf25714 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index 32b87eed..14ddb0e8 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -103,8 +103,10 @@ S.WND.F.MODAL .EQ %01000000 S.WND.F.SYSMODAL .EQ %10000000 * S.WND.S.HASTOPBAR .EQ %00000001 -S.WND.S.MAXIMIZED .EQ %00000010 -S.WND.S.MINIMIZED .EQ %00000100 +S.WND.S.HASMENU .EQ %00000010 +S.WND.S.HASSTATUSBAR .EQ %00000100 +S.WND.S.MAXIMIZED .EQ %00001000 +S.WND.S.MINIMIZED .EQ %00010000 S.WND.S.ACTIVE .EQ %01000000 * S.WND.MinW .EQ S.OBJ diff --git a/LIB/LIBBLKDEV.S.BB.txt b/LIB/LIBBLKDEV.S.BB.txt index 59100bf4..2fd0a621 100644 --- a/LIB/LIBBLKDEV.S.BB.txt +++ b/LIB/LIBBLKDEV.S.BB.txt @@ -399,7 +399,8 @@ BB.Trk2Qtrk asl x2 bit BB.HdrVol bpl .1 x4 - + bvs .1 > $C0 ? (VOL=254) + lsr x3 .1 adc #$ff SELF MODIFIED diff --git a/LIB/LIBBLKDEV.S.D2.txt b/LIB/LIBBLKDEV.S.D2.txt index e3084f5f..a85e0057 100644 --- a/LIB/LIBBLKDEV.S.D2.txt +++ b/LIB/LIBBLKDEV.S.D2.txt @@ -92,7 +92,7 @@ D2MoveHead >PULLB MoveTo and #6 ora Slotn0 - tay + tax pla @@ -110,15 +110,15 @@ D2MoveHead >PULLB MoveTo and #6 ora Slotn0 - bcs .4 + bcc .4 * move out : invert 2 phases - phy - tay + phx + tax pla -.4 tax +.4 tay lda IO.D2.Ph0On,x nop diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index f5809c7b..243d5935 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -231,7 +231,18 @@ WND.Show >SYSCALL2 GetMemPtr .3 - lda #0 +.7 ldy #S.WND.STATUS+1 + lda (ZPPtr1),y + beq .8 + + lda Counter+1 + clc + adc SYSFON.H2 + sta Counter+1 + + jsr WND.PaintStatusBar + +.8 lda #0 jsr PutCBBuf >LDYA L.WND.Screen @@ -351,7 +362,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT jsr PutCBBuf lda #S.CB.M.C16 jsr PutCBBuf - lda PREFS.TOBARCOLOR + lda PREFS.TOPBARCOLOR jsr PutCBBuf ldy #S.OBJ.X1 @@ -570,7 +581,7 @@ WND.PaintTopBarTitle sta CB.Cache+S.CB.OP lda #S.CB.M.MONO sta CB.Cache+S.CB.M - lda hSYSFONB + lda hSYSFON sta CB.Cache+S.CB.hFont ldy #S.WND.TITLE @@ -602,6 +613,7 @@ WND.PaintTopBarTitle lda (ZPPtr1),y clc adc DX + and PREFS.BESTVIEWEDX sta CB.Cache+S.CB.X1 iny @@ -629,6 +641,58 @@ WND.PaintTopBarTitle clc +.9 rts +*-------------------------------------- +WND.PaintStatusBar + 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 + sta CB.Cache+S.CB.OP + lda #S.CB.M.MONO + sta CB.Cache+S.CB.M + lda hSYSFON + sta CB.Cache+S.CB.hFont + + ldy #S.WND.STATUS + lda (ZPPtr1),y + sta CB.Cache+S.CB.TxtPtr + iny + lda (ZPPtr1),y + sta CB.Cache+S.CB.TxtPtr+1 + + jsr GFXWrite.CB + bcs .9 + + ldy #S.OBJ.X1 + lda (ZPPtr1),y + sta CB.Cache+S.CB.X1 + + iny + lda (ZPPtr1),y + sta CB.Cache+S.CB.X1+1 + + ldy #S.OBJ.Y2 + lda (ZPPtr1),y + sec + sbc SYSFON.H + sta CB.Cache+S.CB.Y1 + iny + lda (ZPPtr1),y + sbc #0 + sta CB.Cache+S.CB.Y1+1 + + ldx #0 + +.8 lda CB.Cache,x + jsr PutCBBuf + inx + cpx #S.CB.DstPtr+2 + bne .8 + + clc + .9 rts *-------------------------------------- WND.ClrStatus ldy #S.OBJ.S diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 23b2428b..a5653e2d 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -440,7 +440,7 @@ MENU.Sys .DA #2 ID *-------------------------------------- PREFS.BESTVIEWEDX .DA #$FC PREFS.BORDERCOLOR .DA #0 BLACK -PREFS.TOBARCOLOR .DA #C16.D.BLUE +PREFS.TOPBARCOLOR .DA #C16.D.BLUE *-------------------------------------- MAN SAVE usr/src/lib/libgui.s diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index f873d7f2..f1cbb759 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -802,7 +802,7 @@ XRW.Seek ldx XRW.UnitIndex and #6 ora A2L - tay + tax pla @@ -821,15 +821,15 @@ XRW.Seek ldx XRW.UnitIndex and #6 ora A2L - bcs .4 + bcc .4 * move out : invert 2 phases - phy - tay + phx + tax pla -.4 tax +.4 tay lda IO.D2.Ph0On,x nop @@ -857,6 +857,7 @@ XRW.Trk2Qtrk asl x2 bit XRW.D2VolNum-1,x bpl .1 x4 + bvs .1 > $C0 ? (VOL=254) lsr x3