diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 930b1314..73b0c463 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 86c47422..1a795150 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 57860d92..521a346d 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -82,7 +82,11 @@ SYS.MKFIFO .EQ $0A SYS.OpenDir.YA .EQ $10 SYS.ReadDir.A .EQ $12 SYS.CloseDir.A .EQ $14 -* .EQ $16-$1E +* .EQ $16 +* .EQ $18 +* .EQ $1A +* .EQ $1C +* .EQ $1E SYS.FPutC.AY .EQ $20 SYS.PutChar.A .EQ $22 @@ -90,8 +94,8 @@ SYS.GetC.A .EQ $24 SYS.GetChar .EQ $26 SYS.FPutS .EQ $28 SYS.PutS.YA .EQ $2A -SYS.FGetS .EQ $2C -SYS.GetS.YA .EQ $2E +*SYS.FGetS .EQ $2C +*SYS.GetS.YA .EQ $2E SYS.FOpen .EQ $30 SYS.FOpen.R .EQ $01 Open For Read @@ -109,6 +113,7 @@ SYS.FSeek.CUR .EQ $01 SYS.FSeek.END .EQ $02 SYS.FTell .EQ $3C SYS.FEOF .EQ $3E + SYS.Remove.YA .EQ $40 SYS.Rename .EQ $42 * .EQ $44 @@ -165,7 +170,7 @@ SYS.LoadLib.YA .EQ $98 SYS.UnloadLib.A .EQ $9A SYS.LoadDrv.YA .EQ $9C SYS.FileSearch .EQ $9E - +*-------------------------------------- SYS.ExecPSNewEnv.YA .EQ $A0 SYS.ExecPS.YA .EQ $A2 SYS.CreatePSNewEnv.YA .EQ $A4 diff --git a/LIB/LIBGUI.S.CUR.txt b/LIB/LIBGUI.S.CUR.txt index 7b352f80..1fd2df55 100644 --- a/LIB/LIBGUI.S.CUR.txt +++ b/LIB/LIBGUI.S.CUR.txt @@ -130,8 +130,7 @@ DrawCursor.I >LDYA L.GC.Screen jsr CLIP.YA bcs .9 - >LDYA L.CB.Cache - jmp GoDevGfx.YA + jmp GoDevGfx .9 rts *-------------------------------------- diff --git a/LIB/LIBGUI.S.DRAW.txt b/LIB/LIBGUI.S.DRAW.txt index d22b6634..0a4d1899 100644 --- a/LIB/LIBGUI.S.DRAW.txt +++ b/LIB/LIBGUI.S.DRAW.txt @@ -24,9 +24,7 @@ Draw >PULLW ZPCBPtr Get CB jsr Draw.Jmp bra .7 -.2 >LDYA L.CB.Cache - - jsr GoDevGfx.YA +.2 jsr GoDevGfx .7 lda (ZPCBPtr) Get Cmd tax diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 9547b840..f2772606 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -251,7 +251,7 @@ GetScreenGC >LDYA L.GC.Screen rts *-------------------------------------- GoDevGfx >LDYA L.CB.Cache -GoDevGfx.YA ldx #DEVMGR.WRITE + ldx #DEVMGR.WRITE GoDevGfx.Jmp jmp $ffff *-------------------------------------- GoDevMouse jmp $ffff diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 77fb25ed..5ba17b7d 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -6,7 +6,7 @@ AUTO 6 .LIST OFF .OP 65C02 .OR $2000 - .TF /A2OSX.BUILD/SBIN/GUI + .TF /A2OSX.BUILD/SBIN/GUI/GUI *-------------------------------------- .INB /A2OSX.BUILD/INC/IO.I .INB /A2OSX.BUILD/INC/MACROS.I @@ -36,6 +36,7 @@ CS.START cld .DA CS.QUIT L.MSG.INIT .DA MSG.INIT L.LIBGUI .DA LIBGUI +L.SYSFONT .DA SYSFONT L.Filename .DA Filename L.MouseData .DA MouseData L.CB.Rect .DA CB.Rect @@ -49,18 +50,26 @@ CS.INIT >LDYA L.MSG.INIT >LDYA L.LIBGUI >SYSCALL LoadLib.YA - bcs .9 + bcs .99 sta hLIBGUI >LIBCALL hLIBGUI,LIBGUI.InitGUI - bcs .9 + bcs .99 + >PUSHWI 0 Aux type + >PUSHBI $CC Type + >PUSHBI SYS.FOpen.R + >PUSHW L.SYSFONT + >SYSCALL LoadStkObj + bcs .99 + sta hSYSFONT + >PUSHWI 0 Aux type >PUSHBI $CB Type >PUSHBI SYS.FOpen.R >PUSHW L.FILENAME >SYSCALL LoadStkObj - bcs .9 +.99 bcs .9 sta CB.BitBlt+S.CB.SrcPtr @@ -163,9 +172,12 @@ CS.END LIBGUI >CSTR "libgui.o" MSG.INIT >CSTR "GUI:Init...\r\n" hLIBGUI .BS 1 +hSYSFONT .BS 1 *-------------------------------------- Filename >CSTR "/A2OSX.BUILD/MARILYN" *-------------------------------------- +SYSFONT >CSTR "/A2OSX.BUILD/SBIN/GUI/SYSTEM" +*-------------------------------------- MouseData .BS S.MOUSE *-------------------------------------- CB.Rect .DA #S.CB.CMD.FILLRECT diff --git a/SBIN/GUIOSD.S.txt b/SBIN/GUIOSD.S.txt index cc1bea5a..8d7e7e83 100644 --- a/SBIN/GUIOSD.S.txt +++ b/SBIN/GUIOSD.S.txt @@ -60,6 +60,8 @@ CS.END *-------------------------------------- ZPCmdPtr .EQ ZPDRV ZPDestBMPtr .EQ ZPDRV+2 +ZPFontPtr .EQ ZPDRV+4 +ZPCharPtr .EQ ZPDRV+6 *-------------------------------------- * YA =Ptr to S.CB in MAIN**** * X = DestBM hMem @@ -186,6 +188,12 @@ FILLRECT *-------------------------------------- BITBLT *-------------------------------------- +* In: +* S.CB.SrcW +* S.CB.SrcH +* Out: +* S.CB.DstPtr : Buffer Size (in bytes) +*-------------------------------------- GETRECTBUFSIZE *-------------------------------------- * In: diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 990da254..64bdb28d 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -175,11 +175,15 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split bcs .99 .3 >LDYA ZPCMDBuf + .4 >SYSCALL NewStr.YA bcs .99 txa >STA.G CMD.hFullpath + lda #0 + sta (ZPCMDBuf) reset ZPCMDBuf for final CMD + ldy #CMD.Stat+S.STAT.P.TYPE lda (pData),y cmp #$04 TXT File ? @@ -199,22 +203,23 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split *-------------------------------------- Cmd.Exec.EXT.TXT lda #0 Get arg[0] = /PATH/SHELL + >SYSCALL GetArg.A >PUSHYA >PUSHW ZPCMDBuf - >SYSCALL StrCpy + >SYSCALL StrCat jsr Cmd.Exec.EXT.SEP Add a space.... - +*-------------------------------------- +* BIN : Launch "/PATH/CMD ARGS" +*-------------------------------------- +Cmd.Exec.EXT.BIN >LDA.G CMD.hFullpath >SYSCALL GetMemPtr.A >PUSHYA >PUSHW ZPCMDBuf >SYSCALL StrCat -*-------------------------------------- -* BIN : Launch "/PATH/CMD ARGS" -*-------------------------------------- -Cmd.Exec.EXT.BIN + lda (ZPPTR2) Some ARGS ? beq .1 diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index d5a1970c..54cbd9ce 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -194,16 +194,20 @@ K.FileSearch.I >PULLW .4+1 Filename >SYSCALL STAT -> BNK1 bcs .1 Failed...retry next path... + lda K.S.STAT+S.STAT.P.TYPE + cmp #S.FI.T.DIR Dir ? + beq .1 + jsr .98 Discard Expanded hSrch list clc - rts +.99 rts .98 lda #$ff SELF MODIFIED : Discard Expanded hSrch list jsr K.FreeMem.A lda #MLI.E.FNOTFND sec -.99 rts + rts *-------------------------------------- BIN.FindLIB clc .HS B0 bcs