; 転車台プログラム ; リモコンの設定(Aモードのみ対応) V25=0-5120 V00=21 V01=25 V02=26 :KEYDATASETLOOP (V02=(V01 + 1 V01=V01 + 1 V02=V02 + 1 V00=V00 - 1 JUMPIF(V00,>,0,KEYDATASETLOOP) :START V101=0 V102=0 V108=0 V109=0 ; 速度係数 V103=10 ; 正回転補正 V104=30 ; 逆回転補正 V105=18 MOVE(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7200) CALL(OKBEEP) :LOOP V130=0 V120=0 :MAINKEYWAITLOOP V00=INPUTADC(4) JUMPIF(V00,<,200,LINE1) V00=INPUTADC(6) JUMPIF(V00,<,200,LINE5) ;無線対応 V130=V130+V120 JUMPIF(V130,#,0,MAINKEYANZ) JUMP(MAINKEYWAITLOOP) :MAINKEYANZ ;JUMPIF(V130,=,V29,EXIT) JUMPIF(V130,=,V26,FWD) JUMPIF(V130,=,V32,BACK) JUMPIF(V130,=,V29,STOP) JUMPIF(V130,=,V31,TPWR) JUMPIF(V130,=,V34,KEY1) JUMPIF(V130,=,V35,KEY2) JUMPIF(V130,=,V36,KEY3) JUMPIF(V130,=,V37,KEY4) JUMPIF(V130,=,V38,KEY5) JUMPIF(V130,=,V43,KEYA) JUMPIF(V130,=,V44,KEYB) JUMPIF(V130,=,V28,TFWD) JUMPIF(V130,=,V30,TBACK) JUMPIF(V130,=,V27,TPLUS) JUMPIF(V130,=,2,FWD) JUMPIF(V130,=,8,BACK) JUMPIF(V130,=,5,STOP) JUMPIF(V130,=,7,TPWR) JUMPIF(V130,=,10,KEY1) JUMPIF(V130,=,11,KEY2) JUMPIF(V130,=,12,KEY3) JUMPIF(V130,=,13,KEY4) JUMPIF(V130,=,14,KEY5) JUMPIF(V130,=,15,KEYA) JUMPIF(V130,=,16,KEYB) JUMPIF(V130,=,4,TFWD) JUMPIF(V130,=,6,TBACK) JUMPIF(V130,=,3,TPLUS) ;CALL(ERRBEEP) V130=0 JUMP(LOOP) :LINE1 JUMPIF(V111,=,1,LOOP) V108=1 JUMP(STOP) :LINE5 JUMPIF(V111,=,5,LOOP) V108=5 JUMP(STOP) :STOP ; 停止 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,0,X,V101) JUMPIF(V108,=,1,KEY1) JUMPIF(V108,=,5,KEY5) JUMP(LOOP) :TFWD V100=100 :TFWD1 ; 転車台前進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,-1200,X,V101) WAIT(20) JUMPIF(V100,=,0,FWD) WAIT(150) :FWD ; 前進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,-900,X,V101) V108=0 V109=1 JUMP(LOOP) :TBACK V100=100 :TBACK1 ; 転車台後進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,1300,X,V101) WAIT(20) JUMPIF(V100,=,0,BACK) WAIT(150) :BACK ; 後進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,900,X,V101) V108=0 V109=2 JUMP(LOOP) :TPOINT1 ; ポイント1,2直進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,800,800,X,X,V101) JUMP(LOOP) :BPOINT1 ; ポイント1,2分岐 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,-1000,-1000,X,X,V101) JUMP(LOOP) :TPOINT3 ; ポイント3直進 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,600,X,X,X,X,V101) JUMP(LOOP) :BPOINT3 ; ポイント3分岐 MOVE(X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,-1200,X,X,X,X,V101) JUMP(LOOP) ; 転車台電源 :TPLUS V100=0 JUMP(TPWR1) :TPWR V100=100 :TPWR1 JUMPIF(V109,=,1,TFWD1) JUMPIF(V109,=,2,TBACK1) JUMP(LOOP) :KEY1 V110=1 ; 1番正転 V100=450 JUMPIF(V102,=,0,TURN) ; 1番反転 V100=0-1350 JUMP(TURN) :KEY2 V110=2 ; 2番正転 V100=750 JUMPIF(V102,=,0,TURN) ; 2番反転 V100=0-1050 JUMP(TURN) :KEY3 V110=3 ; 3番正転 V100=904 JUMPIF(V102,=,0,TURN) ; 3番反転 V100=0-900 JUMP(TURN) :KEY4 V110=4 ; 4番正転 V100=1054 JUMPIF(V102,=,0,TURN) ; 4番反転 V100=0-750 JUMP(TURN) :KEY5 V110=5 ; 5番正転 V100=1358 JUMPIF(V102,=,0,TURN) ; 5番反転 V100=0-450 JUMP(TURN) :KEYA ; 正転 V102=0 CALL(OKBEEP) JUMP(LOOP) :KEYB ; 反転 V102=1 CALL(OKBEEP) JUMP(LOOP) :TURN V106=V100 JUMPIF(V100,<,V101,RTURN) V106=V106+V104 V107=V100 V107=V107-V101 JUMP(DOTURN) :RTURN V106=V106+V105 V107=V101 V107=V107-V100 :DOTURN V107=V107*V103 MOVE(V106,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,V106,V107) V101=V100 V111=V110 JUMPIF(V108,=,1,BACK) JUMPIF(V108,=,5,FWD) JUMP(LOOP) ;============================ ;SUBROUTINE ;============================ :OKBEEP V00=62 V01=192 V02=0 V03=20 V04=0 SOUND WAIT(100) RETURN :ERRBEEP V00=62 V01=213 V02=0 V03=20 V04=0 SOUND RETURN