2014年05月07日投稿 /タグ : 投稿プログラム OSもどき mkII専用 /投稿者:ありふれた
未来の学習用OSです。
学習ソフトは、鉛筆マークです。
開発したサブルーチンに
GOSUB @MOUSE ’~ココカラハ、シ゛ユウ~ IF BASH==1 THEN GOSUB @COMMAND GPAGE 0,M,!M:M=(M+1)%2:GCLS CNK:BU3=0
と、入れるだけです。
ACLS:CLEAR:LOAD”SPU:PTXCHR”,0:SPSET 0,5,1,0,0,0:GOSUB @STARTING:CNK=1:X=123:Y=85:SHELLON=1 BGMSETD 128,@MIDIBGM01:DIM FLM$(20) CHRSET ”BGU”,1,”666666666FFFFFF66FFFFFF66FFFFFF66FFFFFF6666666666666666600000000”DSKP=1 @DESKTOP FOR I=0 TO 1 GOSUB @MOUSE IF BU3==1 THEN SHELLON=1 IF BASH==1 THEN GOSUB @COMMAND GPAGE 0,M,!M:M=(M+1)%2:GCLS CNK:BU3=0 IF M==0 THEN VSYNC 1 IF DSKP==1 THEN NEXT ELSE I=0:NEXT GOTO @KIDSDESKTOP @MOUSE BU3=0:CLICK=0 IF BUTTON() AND 1 THEN Y=Y-1 IF BUTTON() AND 2 THEN Y=Y+1 IF BUTTON() AND 4 THEN X=X-1 IF BUTTON() AND 8 THEN X=X+1 IF BUTTON() AND 256THEN BU3=1:CLICK=1 IF BUTTON() AND 512THEN BU3=2 IF SHELLON==0AND KEYBOARD==15 THEN CLS:GOTO @DESKTOP SPOFS 0,X,Y:MX=X:MY=Y RETURN @COMMAND IF X>=CMDX-2 AND X<=CMDX2 AND Y>=CMDY-2 AND Y<=CMDY2 AND BU3==1 THEN SHELLON=1 IF COL1==15 THEN COL=1 IF COL1==0 THEN COL1=16 GFILL CMDX,CMDY,CMDX2,CMDY2,COL1 IF SHELLON==1 THEN GBOX CMDX,CMDY-1,CMDX2,CMDY2+1,7 ELSE GBOX CMDX,CMDY-1,CMDX2,CMDY2+1,16+7 IF SHELLON==1 THEN GFILL CMDX,CMDY,CMDX2,CMDY+8,16+7 ELSE GFILL CMDX,CMDY,CMDX2,CMDY+8,7 WINTTL$(0)=”xterm” FOR G=0 TO LEN(WINTTL$(0))-1:GPUTCHR CMDX+1+108/2+G*6,CMDY,”BGF”,ASC(MID$(WINTTL$(0),G,1)),0,1:NEXT IF SHELLON==1 THEN GBOX CMDX,CMDY,CMDX2,CMDY+8,7 ELSE GBOX CMDX,CMDY,CMDX2,CMDY+8,7+16 GPUTCHR CMDX+1,CMDY,”BGU”,1,0,1 ’アタリハンテイ IF X>=CMDX-2 AND X<=CMDX2 AND Y>=CMDY-8 AND Y<=CMDY+8 AND BU3==1 THEN CMDI=1 IF VIEDITOR==1 THEN GOSUB @VI_TAR ’AAA IF USER$(PASS)==”ROOT” THEN PMT$=”#”:ROOT=1 ELSE PMT$=”$”:ROOT=0 G$(SHELL)=USER$(PASS)+”@”+CD$+PMT$+INK$(SHELL)+PPP$ PPP=PPP+1 IF PPP>=20 THEN PPP$=CHR$(13) IF PPP>=40 THEN PPP$=””:PPP=0 @CON_BASH IF SHELLON==1 THEN INK$(SHELL)=INK$(SHELL)+INKEY$() FOR G=0 TO LEN(G$(0))-1:GPUTCHR CMDX+1+G*6,CMDY+8*1,”BGU1”,ASC(MID$(G$(0),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(1))-1:GPUTCHR CMDX+1+G*6,CMDY+8*2,”BGU1”,ASC(MID$(G$(1),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(2))-1:GPUTCHR CMDX+1+G*6,CMDY+8*3,”BGU1”,ASC(MID$(G$(2),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(3))-1:GPUTCHR CMDX+1+G*6,CMDY+8*4,”BGU1”,ASC(MID$(G$(3),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(4))-1:GPUTCHR CMDX+1+G*6,CMDY+8*5,”BGU1”,ASC(MID$(G$(4),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(5))-1:GPUTCHR CMDX+1+G*6,CMDY+8*6,”BGU1”,ASC(MID$(G$(5),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(6))-1:GPUTCHR CMDX+1+G*6,CMDY+8*7,”BGU1”,ASC(MID$(G$(6),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(7))-1:GPUTCHR CMDX+1+G*6,CMDY+8*8,”BGU1”,ASC(MID$(G$(7),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(8))-1:GPUTCHR CMDX+1+G*6,CMDY+8*9,”BGU1”,ASC(MID$(G$(8),G,1)),COL,1:NEXT FOR G=0 TO LEN(G$(9))-1:GPUTCHR CMDX+1+G*6,CMDY+8*10,”BGU1”,ASC(MID$(G$(9),G,1)),COL,1:NEXT IF SHELLON==1 THEN INK$(SHELL)=INK$(SHELL)+INKEY$() IF VIEDITOR==1 THEN RETURN SL=SHELL IF INK$(SL)==CHR$(13) THEN SHELL=SHELL+1 IF INK$(SL)==”CLEAR”+CHR$(13) THEN FOR I=0 TO 9:G$(I)=””:INK$(I)=”” IF INK$(SL)==”CLEAR”+CHR$(13) THEN SHELL=SHELL-SHELL:NEXT:INK$(SL)=”” IF PASS>=1AND INK$(SL)==”SUDO”CHR$(13) THEN PASS(0)=PASS:PASS=0:SHELL=SHELL+1:INK$(SL)=”” IF PASS==0AND INK$(SL)==”SUDO”CHR$(13) THEN PASS=PASS(0):SHELL=SHELL+1:INK$(SL)=”” IF PASS>=1AND INK$(SL)==”SU”CHR$(13) THEN PASS(0)=PASS:PASS=0:SHELL=SHELL+1:INK$(SL)=”” IF PASS==0AND INK$(SL)==”SU”CHR$(13) THEN PASS=PASS(0):SHELL=SHELL+1:INK$(SL)=”” IF PASS>=1AND INK$(SL)==”SUDO SU”CHR$(13) THEN PASS(0)=PASS:PASS=0:SHELL=SHELL+1:INK$(SL)=”” IF PASS==0AND INK$(SL)==”SUDO SU”CHR$(13) THEN PASS=PASS(0):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”DATE”+CHR$(13) THEN G$(SHELL+1)=DATE$:SHELL=SHELL+2:INK$(SL)=”” IF INK$(SL)==”TIME”+CHR$(13) THEN G$(SHELL+1)=TIME$:SHELL=SHELL+2:INK$(SL)=”” IF INK$(SL)==”QUIT”+CHR$(13) THEN BASH=0:INK$(SL)=”” IF INK$(SL)==”VER”+CHR$(13) THEN G$(SHELL+1)=”HiroLinux 1.00”:SHELL=SHELL+2:INK$(SL)=”” IF INK$(SL)==”LS”+CHR$(13) THEN GOSUB @COM_DIR:INK$(SL)=”” IF INK$(SL)==”SHUTDOWN”+CHR$(13) THEN ACLS:FOR I=0 TO 3:CHRINIT ”BGU”+STR$(I):NEXT:END:INK$(SL)=”” IF INK$(SL)==”REBOOT”+CHR$(13) THEN GOTO @START IF INK$(SL)==”CD LINUX”+CHR$(13) THEN CD$=CD$+”Linux”:SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”CD XBIN”+CHR$(13) THEN CD$=CD$+”\XBIN”:SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”CD BIN”+CHR$(13) THEN CD$=CD$+”\BIN”:SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”CD ROOT”+CHR$(13) THEN CD$=CD$+”ROOT”:SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”CD SCHOOL”+CHR$(13) THEN CD$=CD$+”SCHOOL”:SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”CD SYSTEM”+CHR$(13) THEN CD$=CD$+”\SYSTEM”:SHELL=SHELL+1:INK$(SL)=”” IF CD$==”Linux\SYSTEM”AND INK$(SL)==”CD ..”+CHR$(13) THEN CD$=LEFT$(CD$,LEN(CD$)-7) IF CD$==”Linux\SYSTEM”AND INK$(SL)==”CD ..”+CHR$(13) THEN SHELL=SHELL+1:INK$(SL)=”” IF CD$==”Linux\XBIN”AND INK$(SL)==”CD ..”+CHR$(13) THEN CD$=LEFT$(CD$,LEN(CD$)-5) IF CD$==”Linux\XBIN”AND INK$(SL)==”CD ..”+CHR$(13) THEN SHELL=SHELL+1:INK$(SL)=”” IF CD$==”Linux\BIN”AND INK$(SL)==”CD ..”+CHR$(13) THEN CD$=LEFT$(CD$,LEN(CD$)-4) IF CD$==”Linux\BIN”AND INK$(SL)==”CD ..”+CHR$(13) THEN SHELL=SHELL+1:INK$(SL)=”” IF CD$==”ROOT”AND INK$(SL)==”CD ..”+CHR$(13) THEN CD$=LEFT$(CD$,LEN(CD$)-4) IF CD$==”ROOT”AND INK$(SL)==”CD ..”+CHR$(13) THEN SHELL=SHELL+1:INK$(SL)=”” IF CD$==”SCHOOL”AND INK$(SL)==”CD ..”+CHR$(13) THEN CD$=LEFT$(CD$,LEN(CD$)-6) IF CD$==”SCHOOL”AND INK$(SL)==”CD ..”+CHR$(13) THEN SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”PWD”+CHR$(13) THEN G$(SHELL+1)=CD$:SHELL=SHELL+2:INK$(SL)=”” IF INK$(SL)==”COLOR 0”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 1”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 2”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 3”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 4”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 5”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 6”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 7”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 8”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 9”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 10”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 11”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 12”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 13”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 14”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INK$(SL)==”COLOR 15”+CHR$(13) THEN COL=VAL(MID$(INK$(SL),6,255))):SHELL=SHELL+1:INK$(SL)=”” IF INSTR(INK$(SL),”ECHO ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_ECHO IF INSTR(INK$(SL),”SH ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_SH IF INSTR(INK$(SL),”DEV ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_DEV IF INSTR(INK$(SL),”VI ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_VI IF INSTR(INK$(SL),”START ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_RUN IF INSTR(INK$(SL),”./”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_TARRUN IF INSTR(INK$(SL),”CNK ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_CNK IF INSTR(INK$(SL),”RM ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_RM IF INSTR(INK$(SL),”BATTRY ”)>=0AND INSTR(INK$(SL),CHR$(13))>=1 THEN GOSUB @COM_BAT IF INSTR(INK$(SL),CHR$(13))>=1 THEN G$(SL+1)=”Bad Command”:SHELL=SHELL+2 IF LEN(INK$(SL))>=1AND KEYBOARD==15 THEN INK$(SL)=LEFT$(INK$(SL),LEN(INK$(SL))-1) ’x IF CD$==”\SYSTEM” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:CD$=KNO$ IF CD$==”\BIN” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:CD$=KNO$ IF CD$==”\XBIN” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:CD$=KNO$ IF CD$==”LinuxSCHOOL” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:NOT2=2 IF CD$==”LinuxROOT” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:NOT2=3 IF CD$==”Linux\SYSTEMLinux” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:NOT2=1 IF CD$==”Linux\SYSTEMSCHOOL” THEN G$(SHELL)=”NOT Directry”:SHELL=SHELL+1:NOT2=2 IF NOT2==1 THEN CD$=LEFT$(CD$,LEN(CD$-6)) IF NOT2==2 THEN CD$=LEFT$(CD$,LEN(CD$-7)) IF NOT2==3 THEN CD$=LEFT$(CD$,LEN(CD$-4)) GPUTCHR CMDX2-8,CMDY,”BGF”,ASC(”x”),1,1 IF X>=CMDX2-8 AND X<=CMDX2 AND Y>=CMDY AND Y<=CMDY+8 AND BU3==1THEN BASH=0:VIEDITOR=0 IF CMDI==1 THEN GOSUB @CMDI NOT2=0 RETURN @CMDI CMDX=X:CMDY=Y CMDX=X+18*8:CMDY=Y+88 CMDI=BU3 RETURN @COM_RUN GPAGE 0,0,0:START$=MID$(INK$(SL),6,LEN(INK$(SL))-1) GOSUB ”@”+LEFT$(START$,LEN(START$)-1):INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_TARRUN GPAGE 0,0,0:START$=MID$(INK$(SL),3,LEN(INK$(SL))-1) GOSUB ”@”+LEFT$(START$,LEN(START$)-1):INK$(SL)=””:SHELL=SHELL+1:RETURN @ECHO PRT$=MID$(INK$(SL),5,LEN(INK$(SL))-1) LEFT$(PRT$,LEN(PRT$)-1):INK$(SL)=””:SHELL=SHELL+2:RETURN @COM_CNK PRT$=MID$(INK$(SL),4,LEN(INK$(SL))-1) LEFT$(PRT$,LEN(PRT$)-1):INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_RM PRT$=MID$(INK$(SL),3,LEN(INK$(SL))-1) LEFT$(PRT$,LEN(PRT$)-1):INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_VI PRT$=MID$(INK$(SL),3,LEN(INK$(SL))-1) IF PRT$==”” THEN :ELSE LOAD”MEM:”+LEFT$(PRT$,LEN(PRT$)-1):G$(0)=MEM$ VIEDITOR=1:INK$(SL)=””:SHELL=SHELL+2:RETURN @COM_BATTRY PRT$=MID$(INK$(SL),7,LEN(INK$(SL))-1) BATTRY=VAL(PRT$):INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_DEV PRT$=MID$(INK$(SL),4,LEN(INK$(SL))-1) DEV=VAL(PRT$):INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_SH PRT$=MID$(INK$(SL),4,LEN(INK$(SL))-1) IF INSTR(PRT$,”.SH”)>=0 THEN LOAD”MEM:”+LEFT$(PRT$,LEN(PRT$)-4) INK$(SL+1)=MEM$:INK$(SL)=””:SHELL=SHELL+1:RETURN @COM_DIR IF CD$==”Linux” THEN G$(SHELL)=”SYSTEM/ PAINT.PSA BIN/”:SHELL=SHELL+1 IF CD$==”Linux” THEN G$(SHELL)=”XBIN/”:SHELL=SHELL+2 IF CD$==”Linux\SYSTEM” THEN G$(SHELL)=”BOOT.TAR KERNEL.TAR”:SHELL=SHELL+2 IF CD$==”Linux\BIN” THEN G$(SHELL)=”LS VER DATE TIME”:SHELL=SHELL+1 IF CD$==”Linux\BIN” THEN G$(SHELL)=”CD QUIT SHUTDOWN”:SHELL=SHELL+1 IF CD$==”Linux\BIN” THEN G$(SHELL)=”REBOOT PWD COLOR”:SHELL=SHELL+1 IF CD$==”Linux\BIN” THEN G$(SHELL)=”SU SUDO BATTRY”:SHELL=SHELL+2 IF CD$==”Linux\XBIN” THEN G$(SHELL)=”VI”:SHELL=SHELL+2 IF CD$==”” THEN G$(SHELL)=”SCHOOL/ Linux/ SHELL.TAR”:SHELL=SHELL+1 IF CD$==”” THEN G$(SHELL)=”ROOT/”:SHELL=SHELL+2 RETURN @STARTING FOR I=32 TO 127:CHRREAD (”BGF”,I),C$:CHRSET ”BGU1”,I,C$:NEXT CHRREAD (”BGF”,127),C$:CHRSET ”BGU1”,92,C$:CHRREAD (”BGF”,32),C$:CHRSET ”BGU1”,127,C$ CHRREAD (”SPS1”,176),C$:CHRSET ”BGU1”,13,C$ X=0:Y=1:GOSUB @CMDI:CD$=”Linux”:USER$(0)=”ROOT”:RETURN @VI_TAR VIEDITOR=1 PPP=PPP+1 IF PPP>=20 THEN PPP$=CHR$(13) IF PPP>=40 THEN PPP$=””:PPP=0 GOSUB @CON_BASH G$(ED)=INK$(SHELL)+PPP$ IF INSTR(INK$(SHELL),CHR$(13))>=1 THEN SHELL=SHELL-1:G=G+1:ED=ED+1:WAIT 20 IF KEYBOARD==1 THEN COMMODE=1 IF INK$(SHELL)==””AND COMMODE==1 THEN G$(9)=”- INSERT -” IF COMMODE==1 THEN G$(9)=INK$(SHELL) IF COMMODE==1 THEN GOSUB @COMMANDMODEVI FOR I=ED TO 8:G$(I)=”~”:NEXT G$(9)=”- ”+FILE$+” 1/1 100%” IF FILE$==”” THEN FILE$=”No file” IF LEN(G$(ED))>=1AND KEYBOARD==15 THEN INK$(SHELL)=LEFT$(INK$(SHELL),LEN(INK$(SHELL))-1) IF LEN(G$(ED))>=1AND KEYBOARD==15 THEN G$(SHELL)=LEFT$(G$(SHELL),LEN(G$(SHELL))-1) GPUTCHR CMDX2-8,CMDY,”BGF”,ASC(”x”),1,1 IF X>=CMDX2-8 AND X<=CMDX2 AND Y>=CMDY AND Y<=CMDY+8 AND BU3==1THEN BASH=0 IF CMDI==1 THEN GOSUB @CMDI RETURN @COMMANDMODEVI IF INSTR(INK$(G),”:Q”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN SAVE ”MEM:”+FILE$ IF INSTR(INK$(G),”:Q!”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN VIEDITOR=0 IF INSTR(INK$(G),”:W”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN GOSUB @W_VI_BASH IF INSTR(INK$(G),”:WQ”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN GOSUB @W_VI_BASH IF INSTR(INK$(G),”:X”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN G$(G)=LEFT$(G$,LEN(G$)-1 IF INSTR(INK$(G),”:X”)>=0AND INSTR(INK$,CHR$(13))>=1 THEN G$(G)=”” RETURN @W_VI_BASH FOR I=0 TO 8 MEM$=G$(I)+G$(I) NEXT IF INSTR(INK$(G),”:W”)>=1 THEN PRT$=MID$(INK$(SL),3,LEN(INK$(SL))-1) IF INSTR(INK$(G),”:WQ”)>=1 THEN PRT$=MID$(INK$(SL),4,LEN(INK$(SL))-1) SAVE”MEM:”+LEFT$(PRT$,LEN(PRT$)-1) RETURN @KIDSDESKTOP GOSUB @MOUSE GOSUB @KSDESKTOP IF BU3==1 THEN SHELLON=1 IF BASH==1 THEN GOSUB @COMMAND IF M==0 THEN VSYNC 1 GPAGE 0,M,!M:M=(M+1)%2:GCLS CNK:BU3=0 GOTO @KIDSDESKTOP @KSDESKTOP GOSUB ”KDS_”+DIR$:GCLS CNK GFILL 0,0,255,16,13 GPUTCHR 1,01,”BGU”,001,0,2 GPUTCHR 18,1,”BGF”,232,1,2 IF SHELLON==0AND X>=1AND X<=17AND Y>=1AND Y<=15AND BU3==1 THEN BASH=1 IF SHELLON==0AND X>=18AND X<=18+16AND Y>=1AND Y<=16AND BU3==1 THEN HOME=1 IF BGMCHK()==1 THEN GPUTCHR 18+16,1,”BGF”,228,1,2 IF SHELLON==0AND BGMCHK()==1AND X>=18+16*1AND X<=18+16*2AND Y>=1AND Y<=16AND BU3==1 THEN BGMSTOP 0 FLM=0 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 IF Y>=FLM*8+16 AND Y<=FLM*8+16+8AND BU3==1 THEN GOSUB @FLMCLK FOR G=0 TO LEN(FLM$(FLM))-1:GPUTCHR G*6,17+8*FLM,”BGF”,ASC(MID$(FLM$(FLM),G,1)),0,1:NEXT:FLM=FLM+1 FLM=0 FLM$(1)=””:FLM$(0)=””:FLM$(2)=””:FLM$(3)=””:FLM$(4)=””:FLM$(5)=””:FLM$(6)=””:FLM$(7)=””:FLM$(8)=”” FLM$(9)=””:FLM$(10)=””:FLM$(11)=””:FLM$(12)=”” IF HOME==1 THEN DIR$=””:HOME=0 ’===ROOTF=== @KDS_ROOT FLM$(0)=”YASEINOKOKORO.MID” RETURN ’===FILES=== @KDS_SCHOOL RETURN @KDS_ FLM$(0)=”SCHOOL/” FLM$(1)=”LINUX/” FLM$(2)=”ROOT/” FLM$(3)=”XTERM.TAR” RETURN @KDS_LINUX FLM$(0)=”XBIN/” FLM$(1)=”BIN/” FLM$(2)=”SYSTEM/” FLM$(3)=”PAINT.PSA” RETURN @KDS_LINUXBIN FLM$(0)=”LS” FLM$(1)=”VER” FLM$(2)=”QUIT” FLM$(3)=”REBOOT” FLM$(4)=”DATE” FLM$(5)=”TIME” FLM$(6)=”SHUTDOWN” FLM$(7)=”CD” FLM$(8)=”PWD” FLM$(9)=”COLOR” FLM$(10)=”SU” FLM$(11)=”SUDO” FLM$(12)=”BATTRY” RETURN @KDS_LINUXXBIN FLM$(0)=”VI” RETURN @KDS_LINUXSYSTEM FLM$(0)=”BOOT.TAR” FLM$(1)=”KERNEL.TAR” RETURN @FLMCLK IF SHELLON==1 THEN RETURN IF FLM$(FLM)==”XTERM.TAR” THEN BASH=1 IF DIR$==””AND FLM$(FLM)==”LINUX/” THEN DIR$=”LINUX”:WAIT 10 IF DIR$==””AND FLM$(FLM)==”SCHOOL/” THEN DIR$=”SCHOOL”:WAIT10 IF DIR$==””AND FLM$(FLM)==”ROOT/” THEN DIR$=”ROOT”:WAIT10 IF DIR$==”LINUX”AND FLM$(FLM)==”SYSTEM/” THEN DIR$=”LINUXSYSTEM”:WAIT10 IF DIR$==”LINUX”AND FLM$(FLM)==”BIN/” THEN DIR$=”LINUXBIN”:WAIT10 IF DIR$==”LINUX”AND FLM$(FLM)==”XBIN/” THEN DIR$=”LINUXXBIN”:WAIT10 IF DIR$==”LINUX”AND FLM$(FLM)==”PAINT.PSA” THEN GOTO @PAINT:WAIT10 GOSUB @SCHOOLOS_MUSIC @APPINIT GPAGE 0,0,0:GCLS BC:CLS RETURN @PAINT BC=19:SHELLON=0 GOSUB @APPINIT ?”タタ゛ノ Ver1.00 ┨┠ ┨┠” ?” ┌──┐ ┌──┐ │ ├──┐ │┃ ┻┃ ┻” ?” │ │ ┌──┤ │ │ ─┼─ ┳┠┓ ” ?” ├──┘ │ │ │ │ │ │ ┠┨┠ ” ?” │ └──└ │ │ │ └─ ┠┗┫┓” GFILL 0,50,200,192,15 FOR Z=0 TO 15 ZI=Z*10 GFILL 205,30+ZI,215,40+ZI,Z NEXT LOCATE 0,5?”Ф:ケス @PLOOP GOSUB @MOUSE FOR Z=0 TO 15 ZI=Z*10 IF CLICK==TRUE AND MX>205 AND MX<215 AND MY>30+ZI AND MY<40+ZI THEN PENC=Z NEXT IF CLICK==TRUE AND MX>0 AND MX<200 AND MY>50 AND MY<192 THEN GCIRCLE MX,MY,1,PENC:GPAINT MX,MY,PENC LOCATE 15,5?ヘ゜ンノイロハ”:PENC IF (BUTTON() AND 64) THEN @PAINT VSYNC 1 GOTO @PLOOP @SCHOOLOS_MUSIC IF FLM$(FLM)==”YASEINOKOKORO.MID” THEN BGMPLAY 128 RETURN @MIDIBGM01 DATA”:0 DATA”[@147@V70 DATA”O4L16R1R1R1R1R1R1R1R1B<D#F#B>B<D#F#B>P127B<D#F#B>B<D#F#B DATA”P64C#EG#<C#>C#EG#<C#>P0C#EG#<C#>D#F#A#<D#O4 DATA”P64B<D#F#B>B<D#F#B>P127B<D#F#B>B<D#F#B>P64F#A#<C#F#>F#A#<C#F#>P0D#F#A#<D#>F#A#<C#F#R1 DATA”P64R1R1B8.R16G#4E4D#4L1] DATA”:1P0@V80 DATA”[@81O4L16C#>G#B<C#8>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>B DATA”B<C#>G#B<C#8>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>BBR8<B8A#8B8E8 DATA”E8R16ED#>B<C#8C#8E8E8E8E8F#8F#8R8B8A#8B8E8E8R16ED#EF#8F#8D#8E8F#8F#8G#8G#8R8B8A#8 DATA”B8E8E8R16ED#>B<C#8C#8E8E8E8E8F#8F#8R8B8A#8B8E8E8R16EF#G#A#8D#8A#8D#<C#8>B8A#8F#G# DATA”A#B2G#4A#4B8E8B8E<E8D#8C#8>B<C#>BA#1R1] DATA”:2P0@V80 DATA”[@87O2L16R1R1R1R1EEEEE>B<E>B<EEEEE>B<E>B<C#C#C#C#C#>G#<C#>G#<C#C#C#>G#<D#D#D#>B< DATA”EEEEE>B<E>B<EEEEE>B<E>B<F#F#F#F#F#C#F#C#D#D#D#D#F#F#F#F#EEEEE>B<E>B<EEEEE>B< DATA”E>B<C#C#C#C#C#>G#<C#>G#<C#C#C#>G#<D#D#D#>B<EEEEE>B<E>B<EEEEE>B<E>B<F#F#F#F#F# DATA”C#F#C#D#D#D#D#F#F#F#F#G#G#G#G#G#G#G#G#EEEEF#F#F#F#BBBBBF#BF#EED#D#C#C#>BBA# DATA”A#A#A#A#F#A#F#A#A#A#A#BB<C#C#BBBBG#G#G#G#EEEED#D#D#D#] DATA”:3P127@V80 DATA”[@96O6L8R1R1R1R1R1R1R1R1R8BA#BEER16E16D#16>B16<C#C#EEEEF#F#R8BA#BEER16E16F#16G#16A#D#A#D#16<C# DATA”>BA#F#16G#16A#16B2G#4A#4D#>G#<D#>G#16<G#F#ED#16E16D#16C#1R1] DATA”:4P127@V80R64 DATA”[@80O4L16C#>G#B<C#8>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>BB<C#>G#B< DATA”C#8>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>BBR8<B8A#8B8E8E8R16ED#>B<C# DATA”8C#8E8E8E8E8F#8F#8R8B8A#8B8E8E8R16ED#EF#8F#8D#8E8F#8F#8G#8G#8R8B8A#8B8E8E8R16ED#>B<C# DATA”8C#8E8E8E8E8F#8F#8R8B8A#8B8E8E8R16EF#G#A#8D#8A#8D#<C#8>B8A#8F#G#A#B2G#4A#4B8E8B8E< DATA”E8D#8C#8>B<C#>BA#1R1] DATA”:5@73P0@V80 DATA”[O6L4R1R1R1R1E2E2C#2EF#E2E2C#2EF#R8B8A#8B8ER16E16D#16>B16<C#E8E8EF#R8B8A#8B8ER16E16 DATA”F#16G#16A#8D#8A#8D#16 DATA”<C#8>B8A#8F#16G#16A#16B2G#A#R1R1O5BG#ED#] DATA”:6@71P96@V80 DATA”[O4L8R1R1R1R1G#2G#2C#2C#>A#16<C#16D#F#G#2G#2D#4>BB<D#4E4R2R8BA#BE2C#4D#4R2R8BA#B DATA”A#D#A#D#16G#G#F#D#16E16F#16F#4.>B<B4G#A#BEBER16<D#C#>B16<C#16>B16A#1R1] DATA”:7@57@V80 DATA”[O3L16C#>G#B<C#8>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>BB<C#>G#B<C#8 DATA”>G#B<C#8>G#B<C#ED#>G#B<C#>G#B<C#8>G#B<C#8>G#B<C#EE>BBR8<B8A#8B8E8E8R16ED#>B<C#8C#8 DATA”E8E8E8E8F#8F#8R8B8A#8B8E8E8R16ED#EF#8F#8D#8E8F#8F#8G#8G#8R8B8A#8B8E8E8R16ED#>B<C#8C#8E8 DATA”E8E8E8F#8F#8R8B8A#8B8E8E8R16EF#G#A#8D#8A#8D#<C#8>B8A#8F#G#A#B2G#4A#4B8E8B8E<E8D#8 DATA”C#8>B<C#>BA#1R1] DATA”:8O2@128@V127 DATA”[L32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8 DATA”R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32 DATA”CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8 DATA”R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16 DATA”R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32 DATA”CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32 DATA”CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32 DATA”CR8R32CR16R32CR8R32CR8R16R32CR32CR8R32CR8R32CR16R32CR8R32] DATA”:9@128@V127[O2L32R8ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16R32ER16R32ER16R32 DATA”ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16R32ER16R32ER32 DATA”ER32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16R32ER16R32 DATA”ER16R32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16R32ER16 DATA”R32ER32ER32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16R32 DATA”ER16R32ER16R32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8R16 DATA”R32ER16R32ER32ER32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32ER8 DATA”R16R32ER16R32ER16R32ER32ER8R32ER8R16R32ER8R16R32ER16R32ER16R32ER8R16R32ER8R16R32 DATA”ER8R16R32ER16R32ER32ER32ER32ER32] DATA”:10@V0@128[O2L32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A# DATA”R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32 DATA”A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A# DATA”R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16 DATA”R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32 DATA”A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A# DATA”R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16 DATA”R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32 DATA”A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16R32A# DATA”R16R32A#R16R32A#R16R32A#R16R32A#R16R32A#R16.] DATA”:11@128@V127 DATA”[O3L32C#R1R1R1R2R4R8R16R32C#R1R1R1R2R4R8R16R32C#R1R1R1R2R4R8R16R32C#R16R32C#R16R32C# DATA”R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16 DATA”R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32C#R16R32R1] DATA 0