PR#3 PREFIX /A2OSX.BUILD LOMEM $A00 INC 1 AUTO 6 *-------------------------------------- * $E000-E0FF K.SYSCALL.JMP Jmp Table *-------------------------------------- * Bank 1 *-------------------------------------- K.SYSCALL.JMP .DA 0 $00 .DA 0 .DA K.Stat .DA K.MKDir.YA .DA K.MKNod.YA .DA K.MKFIFO .DA 0 .DA 0 .DA K.OpenDir.YA $10 .DA K.ReadDir.A .DA K.CloseDir.A .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA K.FPutC.AY $20 .DA K.PutChar.A .DA K.GetC.A .DA K.GetChar .DA K.FPutS .DA K.PutS.YA .DA K.FGetS .DA K.GetS.YA .DA K.FOpen $30 .DA K.FClose.A .DA K.FRead .DA K.FWrite .DA K.FFlush.A .DA K.FSeek .DA K.FTell.A .DA K.FEOF.A .DA K.Remove.YA $40 .DA K.Rename .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 $50 .DA K.SScanF .DA 0 .DA 0 .DA K.PrintF.YA .DA K.SPrintF.YA .DA K.FPrintF.YA .DA 0 .DA K.FileSearch $60 .DA K.GetFullPath.YA .DA K.LoadFile .DA K.SaveFile .DA K.ChTyp .DA K.ChMod .DA K.ChOwn .DA K.ChGrp *-------------------------------------- * Bank 2 *-------------------------------------- .DA 0 $70 .DA K.StrCpy .DA K.StrCat .DA K.StrMatch .DA K.StrUpr.YA .DA K.StrLwr.YA .DA K.StrFTime .DA 0 .DA K.AToF $80 .DA K.AToI.YA .DA K.AToL .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA K.Time.YA $90 .DA K.CTime2Time .DA K.PTime2Time .DA 0 .DA K.GetDevByID.A .DA K.GetDevByName.YA .DA K.GetDevStatus.A .DA 0 .DA K.ExecProcessNewEnv.YA $A0 .DA K.ExecProcess.YA .DA K.CreateProcessNewEnv.YA .DA K.CreateProcess.YA .DA K.GetPSByID.A .DA 0 .DA K.Sleep .DA 0 .DA K.GetArgC $B0 .DA K.GetArg.A .DA K.ExpandPStr.YA .DA 0 .DA K.PutEnv.YA .DA K.SetEnv .DA K.GetEnv.YA .DA K.UnsetEnv.YA *-------------------------------------- * $E000 *-------------------------------------- .DA K.GetMem $C0 .DA K.FreeMem.A .DA K.GetMemPtr.A .DA K.GetMemByID.A .DA K.GetMem.YA .DA K.GetMem0.YA .DA 0 .DA 0 *-------------------------------------- .DA K.SetLoMem $D0 .DA K.GetMemStat.YA .DA 0 .DA 0 .DA K.LoadStkObj.YA .DA K.GetStkObj.A .DA K.FreeStkObj.A .DA 0 *-------------------------------------- .DA K.LoadLib.YA $E0 .DA K.UnloadLib.A .DA K.LoadDrv.YA *-------------------------------------- * LO Byte : * #RRAMWRAMBNK1,#RRAMWRAMBNK2 * HI Byte : * Flags (ROOT....) *-------------------------------------- K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $10 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $20 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $30 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $40 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $50 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 $60 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 .DA #RRAMWRAMBNK1 .DA #$80 *-------------------------------------- .DA #RRAMWRAMBNK2 $70 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 $80 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 $90 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 $A0 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 $B0 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 *-------------------------------------- .DA 0 $C0 : MemMgr at $E000 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 *-------------------------------------- .DA 0 $D0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 *-------------------------------------- .DA 0 $E0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 *-------------------------------------- PullPtr1Ptr2Ptr3 sec .HS 90 bcc PullPtr1Ptr2 clc >PULLW ZPPtr1 >PULLW ZPPtr2 bcc .9 >PULLW ZPPtr3 .9 rts */-------------------------------------- * # NewPStrYA * Create a new copy of PSTR * ## In: * Y,A = PTR to buffer * ## Out: * CC : success * Y,A = PTR to String * X = hMem (PSTR) * CS : error * A = SYS error code *\-------------------------------------- K.NewPStr.YA >STYA ZPPtr2 lda (ZPPtr2) inc tay lda #0 Y,A = len of new string jsr K.GetMem.YA bcs .9 >STYA ZPPtr1 lda (ZPPtr2) sta (ZPPtr1) tay beq .2 .1 lda (ZPPtr2),y sta (ZPPtr1),y dey bne .1 .2 >LDYA ZPPtr1 clc .9 rts *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.JMP LOAD /A2OSX.SRC/SYS/KERNEL.S ASM