'ProgramMode:RUN
' System Manager
' Version 1.1.0
' 2018.04.20
' Copyright _#E59E_ 2018 Colon
'
'
'DANGEROUSChar!Char!
'
'DO NOT CHANGEChar!Char!
'

ClrMat 
"1.1"->Str 5

If Version<46:Then 
"Your C.Basic for CG"
"Version does not"
"support this program."
"Upgrade C.Basic to"
"  Ver 0.46_#E640_ or later."
Blue Locate 10,7,"Press [EXIT]"
While 1
Getkey1=47=>Break
WhileEnd
Goto E
IfEnd

#F7F82
#F7FA0

#F7F40X12FC,311,&Str 3
#F7F40X12FC,329,&Str 4

StrSrc(Str 3+"   ","  ")->L
L+1=>StrLeft(Str 3+" ",L)->Str 3
StrSrc(Str 4," ")-1->L
L+1=>StrLeft(Str 4,L)->Str 4

Str 3+"("+Str 4+" "+Str 5+")"->Str 3

'_#F7F4_0X1D77,&_Str _3,0,4,0
'_#F7F4_0X2B7,0
'_#F7F4_0X2B8,3,0X103,0,0


'_(-)_1_(-)_
Lbl S
#F7FB.T
#F9C0

#F7F40X1D77,&Str 3,0,4,0
#F7F40X2B7,0
#F7F40X2B8,3,0X103,0,0


#F7F40X1EF8,7

#F7F40X1901,1,1,311,0X20,1
#F7F40X1901,1,2,917,0X20,0
#F7F40X1901,1,3,746,0X20,0
#F7F40X1901,1,4,315,0X20,0
#F7F40X1901,1,5,316,0X20,0
#F7F40X1901,1,7,527,0X20,0
#F7FD1,1114
#F7FD2,1186
#F7FD3,990
#F7FD4,991
#F7FD6,6
0->K
Do
#F7F40X1D81
#F9C2
Getkey1->K
LpWhile K<>69 And K<>59 And K<>49 And K<>47 And K<>79 And K<>29
K=47=>Goto E
K=29=>Goto s
K=49=>#F7F40X1E34
If K=59
Then #F7F40X1D77,&Str 6,0,4,0
#F7F40X1D81
#F7F40X1E0D,0


#F7F40X12FC,311,&Str 3
#F7F40X12FC,329,&Str 4

StrSrc(Str 3+"   ","  ")->L
L+1=>StrLeft(Str 3+" ",L)->Str 3
StrSrc(Str 4," ")-1->L
L+1=>StrLeft(Str 4,L)->Str 4


Str 3+"("+Str 4+" "+Str 5+")"->Str 3

#F7F40X1D77,&Str 3,0,4,0

IfEnd
K=69=>Gosub P
K=79=>Gosub D
Goto S


'_(-)_2_(-)_
Lbl s
#F7FB.T
#F9C0
#F7F40X1EF8,7

#F7F40X1901,1,1,311,0X20,1
#F7F40X1901,1,2,2055,0X20,0
#F7F40X1901,1,3,1936,0X20,0
#F7F40X1901,1,7,527,0X20,0
#F7FD1,1185
#F7FD2,1225
#F7FD6,6
0->K
Do
#F7F40X1D81
#F9C2
Getkey1->K
LpWhile K<>29 And K<>79 And K<>69 And K<>47
K=47=>Goto E
K=29=>Goto S
K=79=>#F7F40X1E07,0
K=69=>#F7F40X1E2F
Goto s


Lbl P
0->P
0->K
Do
#F7F40X1E91)->P%
#F7F40X12D9)->B%
#F9C0
#F7F40X1901,1,1,747,0,1
Sprintf(":%d Min.",%P%)->Str 1
Sprintf(":%s Min.",ToStr(B%frac2))->Str 2
If P=0:Then 
Locate 1,3,"                     ",R
Locate 1,4,"                     ",R
#F7F40X1901,1,3,334,1,0
Locate Char!12,4,Str 1,R
#F7F40X1901,1,5,748,0,0
Locate Char!12,6,Str 2


Else 
Locate 1,5,"                     ",R
Locate 1,6,"                     ",R
Locate Char!12,6,Str 2,R
#F7F40X1901,1,5,748,1,0
#F7F40X1901,1,3,334,0,0
Locate Char!12,4,Str 1
IfEnd

#F7F40X1D77,&Str 3,0,4,0
#F7F40X2B7,0
#F7F40X2B8,3,0X103,0,0

Do
#F7F40X1D81
#F9C2
Getkey1->K
LpWhile K<>47 And K<>28 And K<>37 And K<>42 And K<>32 And K<>31 And K<>27 And K<>38
K=28 Or K=37=>Abs (P-1)->P

If P:Then 
(K=27 Or K=42) And B%<127=>Isz B%
(K=38 Or K=32) And B%>1=>Dsz B%
Else 
(K=27 Or K=42) And P%<9999=>Isz P%
(K=38 Or K=32) And P%>1=>Dsz P%
If K=31:Then 
Locate Char!16,4,"  Min.",R
?(13,4,4,"_",4,R)->A
1<=A And A<=9999=>A->P%
#F7F40X2B7,0
IfEnd
IfEnd
B%>2P%=>2P%->B%

#F7F40X1E90,P%
#F7F40X12D8,B%

LpWhile K<>47
Return 

Lbl D
#F9C0
#F7FD1,"0"
#F7FD2,"1"
#F7FD3,"2"
#F7FD4,"3"
#F7FD5,"4"
#F7FD6,"5"

For 3->D To 323 Step 64
#F9CAD,171,D+57,188,0,0,2
Next


0->D

Lbl d
#F7F40X1901,1,1,919,0,1
#F7F40X1901,1,3,920,0,0
#A6F7#FEBB256->M
MOD(#F7FE,256->S
If D:Then 
Locate Char!1,5,"  EN2 <<           >>"
Locate Char!1,6,"  PWM DUTY :     //_#E5D2__#E5D5__#E5D5_",R


Locate Char!14,6,S,R
M=>Locate Char!10,5,"_@E74C__@E74F__@E757_  HIGH"
M=0=>Locate Char!10,5,"LOW  _@E748__@E749__@E747__@E748_"
Else 
Locate Char!1,5,"  EN2 <<           >>",R
Locate Char!1,6,"  PWM DUTY :     //_#E5D2__#E5D5__#E5D5_"
Locate Char!14,6,S
M=>Locate Char!10,5,"_@E74C__@E74F__@E757_  HIGH",R
M=0=>Locate Char!10,5,"LOW  _@E748__@E749__@E747__@E748_",R
IfEnd

+#F7FE=20=>#F9CA3,171,60,188,0,0,2
+#F7FE=50=>#F9CA67,171,124,188,0,0,2
+#F7FE=120=>#F9CA131,171,188,188,0,0,2
+#F7FE=210=>#F9CA195,171,252,188,0,0,2
+#F7FE=366=>#F9CA259,171,316,188,0,0,2
+#F7FE=416=>#F9CA323,171,380,188,0,0,2


Do
#F7F40X1D81
#F9C2
Getkey1->K
#F7FE256M+S
LpWhile K<>47 And K<>28 And K<>37 And K<>38 And K<>27 And K<>42 And K<>32 And K<>31 And MOD(K,10)<>9
K=47=>Return 
K=28 Or K=37=>Abs (D-1)->D

If MOD(K,10)=9:Then 
K>=49=>0->M
K<=39=>1->M
K=79=>20->S
K=69=>50->S
K=59=>120->S
K=49=>210->S
K=39=>110->S
K=29=>160->S
IfEnd

If D:Then 
(K=42 Or K=27) And S<255=>Isz S
(K=32 Or K=38) And S>6=>S-1->S
If K=31
Then ?(14,6,3,"_",3,R)->s
s>=1=>s->S
S<6=>6->S
S>255=>255->S
#F7F40X2B7,0
IfEnd
Else 
K=32 Or K=38=>0->M
K=42 Or K=27=>1->M
IfEnd

+#F7FE=20=>#F9CA3,171,60,188,0,0,2
+#F7FE=50=>#F9CA67,171,124,188,0,0,2
+#F7FE=120=>#F9CA131,171,188,188,0,0,2
+#F7FE=210=>#F9CA195,171,252,188,0,0,2
+#F7FE=366=>#F9CA259,171,316,188,0,0,2
+#F7FE=416=>#F9CA323,171,380,188,0,0,2

#F7FE256M+S
Goto d

Lbl E
#F9C0
ClrMat 
0