; ;(有)姫路ソフトワークス ROBOXERO コントロール ;メインプログラム ; Original ; デアゴスティーニ週刊ロボゼロ68号 F5.TXT ; Modify ; 2012/08/01 Micono Utilities F5g02.TXT ; ;START WAIT JUMPIF(V126,=,100,MAINKEYWAITGYROON) ; :START V0=0 V1=0 V2=0 V3=0 V4=0 SOUND V126=100 ; ;START KEY WAIT ; V25=0-5120 V26=0-5099 V27=0-5078 ; :STARTKEYCHECK V130=0 :STARTKEYWAIT JUMPIF(V130,#,0,STARTKEYANZ) JUMP(STARTKEYWAIT) ; ; START KEY ANALYZE ; :STARTKEYANZ JUMPIF(V130,=,V25,MODEAT) JUMPIF(V130,=,V26,MODEBT) JUMPIF(V130,=,V27,MODECT) CALL(ERRBEEP) JUMP(STARTKEYCHECK) ; :MODEAT V25=0-5120 JUMP(KEYDATASET) :MODEBT V25=0-5099 JUMP(KEYDATASET) :MODECT V25=0-5078 JUMP(KEYDATASET) ; ; KEYDATA SET ; :KEYDATASET V00=21 V01=25 V02=26 :KEYDATASETLOOP (V02=(V01 + 1 V01=V01 + 1 V02=V02 + 1 V00=V00 - 1 JUMPIF(V00,>,0,KEYDATASETLOOP) ; ; HOME SET&POWER ON ; ; ;READ FROM file63- sector64 ; V00=1 V01=63 V02=64 V03=0 SDREAD V00=24 V01=133 V02=457 :HSETLOOP (V02 = (V01 V01=V01+1 V02=V02+1 V00=V00-1 JUMPIF(V00,>,0,HSETLOOP) HOMEPOS WAIT(200) V00=200 MOTORSPEED V00=1 V01=1 V02=1 V03=1 V04=1 V05=1 V06=1 V07=1 V08=1 V09=1 V10=1 V11=1 V12=1 V13=1 V14=1 V15=1 V16=1 V17=1 V18=1 V19=1 V20=1 V21=1 V22=1 V23=1 POWER WAIT(200) WAIT(200) WAIT(200) V00=0 MOTORSPEED WAIT(50) CALL(OKBEEP) CALL(OKBEEP) CALL(OKBEEP) ; 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,1300) V46=10 V47=5 :GYROINIT CALL(GYROON) ; ; ; MAIN KEY WAIT ; :MAINKEYWAITGYROON (N389=1 :MAINKEYWAIT V130=0 :MAINKEYWAITLOOP V00=INPUTADC(1) JUMPIF(V00,<,105,BATTERYERRROR) JUMPIF(V130,#,0,MAINKEYANZ) JUMP(MAINKEYWAITLOOP) ; ; START KEY ANALYZE 2 ; :MAINKEYANZ ; ; STANDARD KEY CHECK ; JUMPIF(V130,=,V26,FWD) JUMPIF(V130,=,V28,LTURN) JUMPIF(V130,=,V30,RTURN) JUMPIF(V130,=,V32,BACK) JUMPIF(V130,=,V31,LSTEP) JUMPIF(V130,=,V33,RSTEP) ; JUMPIF(V130,=,V29,WAKEUP) ; JUMPIF(V130,=,V34,KEY1) JUMPIF(V130,=,V35,KEY2) JUMPIF(V130,=,V36,KEY3) JUMPIF(V130,=,V37,KEY4) JUMPIF(V130,=,V38,KEY5) JUMPIF(V130,=,V39,KEY6) JUMPIF(V130,=,V40,KEY7) JUMPIF(V130,=,V41,KEY8) JUMPIF(V130,=,V42,KEY9) ; ; FUNCTION KEY CHECK ; JUMPIF(V130,=,V43,MODEA) JUMPIF(V130,=,V44,MODEB) JUMPIF(V130,=,V45,MODEC) ; JUMPIF(V130,=,V25,EXIT) ; CALL(ERRBEEP) JUMP(MAINKEYWAIT) ; ;MODEA CHECK ; :MODEA CALL(OKBEEP) :MODEALOOP V130=0 :MODEAWAITLOOP JUMPIF(V130,#,0,MODEAANZ) JUMP(MODEAWAITLOOP) ; ; KEY CHECK ; :MODEAANZ JUMPIF(V130,=,V34,KEYA1) JUMPIF(V130,=,V35,KEYA2) JUMPIF(V130,=,V36,KEYA3) JUMPIF(V130,=,V37,KEYA4) JUMPIF(V130,=,V38,KEYA5) JUMPIF(V130,=,V39,KEYA6) JUMPIF(V130,=,V40,KEYA7) JUMPIF(V130,=,V41,KEYA8) JUMPIF(V130,=,V42,KEYA9) JUMPIF(V130,=,V43,MODEAA) JUMPIF(V130,=,V44,MODEAB) CALL(ERRBEEP) JUMP(MODEALOOP) ; ;MODEB CHECK ; :MODEB CALL(OKBEEP) :MODEBLOOP V130=0 :MODEBWAITLOOP JUMPIF(V130,#,0,MODEBANZ) JUMP(MODEBWAITLOOP) ; ; KEY CHECK ; :MODEBANZ JUMPIF(V130,=,V34,KEYB1) JUMPIF(V130,=,V35,KEYB2) JUMPIF(V130,=,V36,KEYB3) JUMPIF(V130,=,V37,KEYB4) JUMPIF(V130,=,V38,KEYB5) JUMPIF(V130,=,V39,KEYB6) JUMPIF(V130,=,V40,KEYB7) JUMPIF(V130,=,V41,KEYB8) JUMPIF(V130,=,V42,KEYB9) CALL(ERRBEEP) JUMP(MODEBLOOP) ; ;MODEC CHECK ; :MODEC CALL(OKBEEP) :MODECLOOP V130=0 :MODECWAITLOOP JUMPIF(V130,#,0,MODECANZ) JUMP(MODECWAITLOOP) ; ; KEY CHECK ; :MODECANZ JUMPIF(V130,=,V34,KEYCU1) JUMPIF(V130,=,V35,KEYCU2) JUMPIF(V130,=,V36,KEYCU3) CALL(ERRBEEP) JUMP(MODECLOOP) ; ;MODE AA CHECK ; :MODEAA CALL(OKBEEP) :MODEAALOOP V130=0 :MODEAAWAITLOOP JUMPIF(V130,#,0,MODEAAANZ) JUMP(MODEAAWAITLOOP) ; ; KEY CHECK ; :MODEAAANZ V46=V130-V33 JUMPIF(V46,<,1,MODEAAANZERR) JUMPIF(V46,>,9,MODEAAANZERR) V46=V46+5 CALL(OKBEEP) JUMP(GYROINIT) :MODEAAANZERR CALL(ERRBEEP) JUMP(MODEAALOOP) ; ;MODE AB CHECK ; :MODEAB CALL(OKBEEP) :MODEABLOOP V130=0 :MODEABWAITLOOP JUMPIF(V130,#,0,MODEABANZ) JUMP(MODEABWAITLOOP) ; ; KEY CHECK ; :MODEABANZ V47=V130-V33 JUMPIF(V47,<,1,MODEABANZERR) JUMPIF(V47,>,9,MODEABANZERR) CALL(OKBEEP) JUMP(GYROINIT) :MODEABANZERR CALL(ERRBEEP) JUMP(MODEABLOOP) ; ; MODE-C1x ; :KEYCU1 CALL(OKBEEP) :MODEC1ULOOP V130=0 :MODEC1UWAITLOOP JUMPIF(V130,#,0,MODEC1UANZ) JUMP(MODEC1UWAITLOOP) ; ; KEY CHECK ; :MODEC1UANZ JUMPIF(V130,=,V34,KEYC11) JUMPIF(V130,=,V35,KEYC12) JUMPIF(V130,=,V36,KEYC13) JUMPIF(V130,=,V37,KEYC14) JUMPIF(V130,=,V38,KEYC15) JUMPIF(V130,=,V39,KEYC16) JUMPIF(V130,=,V40,KEYC17) JUMPIF(V130,=,V41,KEYC18) JUMPIF(V130,=,V42,KEYC19) CALL(ERRBEEP) JUMP(MODEC1ULOOP) ; ; MODE-C2x ; :KEYCU2 CALL(OKBEEP) :MODEC2ULOOP V130=0 :MODEC2UWAITLOOP JUMPIF(V130,#,0,MODEC2UANZ) JUMP(MODEC2UWAITLOOP) ; ; KEY CHECK ; :MODEC2UANZ JUMPIF(V130,=,V34,KEYC21) JUMPIF(V130,=,V35,KEYC22) JUMPIF(V130,=,V36,KEYC23) JUMPIF(V130,=,V37,KEYC24) JUMPIF(V130,=,V38,KEYC25) JUMPIF(V130,=,V39,KEYC26) JUMPIF(V130,=,V40,KEYC27) JUMPIF(V130,=,V41,KEYC28) JUMPIF(V130,=,V42,KEYC29) CALL(ERRBEEP) JUMP(MODEC2ULOOP) ; ; MODE-C3x ; :KEYCU3 CALL(OKBEEP) :MODEC3ULOOP V130=0 :MODEC3UWAITLOOP JUMPIF(V130,#,0,MODEC3UANZ) JUMP(MODEC3UWAITLOOP) ; ; KEY CHECK ; :MODEC3UANZ JUMPIF(V130,=,V34,KEYC31) JUMPIF(V130,=,V35,KEYC32) JUMPIF(V130,=,V36,KEYC33) JUMPIF(V130,=,V37,KEYC34) CALL(ERRBEEP) JUMP(MODEC3ULOOP) ; ; EXECUTE ; :FWD V00=6 FJUMP :LTURN V00=7 FJUMP :RTURN V00=9 FJUMP :BACK V00=11 FJUMP ; :LSTEP V00=10 FJUMP :RSTEP V00=12 FJUMP ; :WAKEUP (N389=0 V00=8 FJUMP ; :KEY1 V00=13 FJUMP :KEY2 V00=14 FJUMP :KEY3 V00=15 FJUMP :KEY4 V00=16 FJUMP :KEY5 V00=17 FJUMP :KEY6 V00=18 FJUMP :KEY7 V00=19 FJUMP :KEY8 V00=20 FJUMP :KEY9 V00=21 FJUMP ; :KEYA1 V00=22 FJUMP :KEYA2 V00=23 FJUMP :KEYA3 V00=24 FJUMP :KEYA4 V00=25 FJUMP :KEYA5 V00=26 FJUMP :KEYA6 V00=27 FJUMP :KEYA7 V00=28 FJUMP :KEYA8 V00=29 FJUMP :KEYA9 V00=30 FJUMP ; :KEYB1 V00=31 FJUMP :KEYB2 V00=32 FJUMP :KEYB3 V00=33 FJUMP :KEYB4 V00=34 FJUMP :KEYB5 V00=35 FJUMP :KEYB6 V00=36 FJUMP :KEYB7 V00=37 FJUMP :KEYB8 V00=38 FJUMP :KEYB9 V00=39 FJUMP ; :KEYC11 V00=40 FJUMP :KEYC12 V00=41 FJUMP :KEYC13 V00=42 FJUMP :KEYC14 V00=43 FJUMP :KEYC15 V00=44 FJUMP :KEYC16 V00=45 FJUMP :KEYC17 V00=46 FJUMP :KEYC18 V00=47 FJUMP :KEYC19 V00=48 FJUMP ; :KEYC21 V00=49 FJUMP :KEYC22 V00=50 FJUMP :KEYC23 V00=51 FJUMP :KEYC24 V00=52 FJUMP :KEYC25 V00=53 FJUMP :KEYC26 V00=54 FJUMP :KEYC27 V00=55 FJUMP :KEYC28 V00=56 FJUMP :KEYC29 V00=57 FJUMP ; :KEYC31 V00=58 FJUMP :KEYC32 V00=59 FJUMP :KEYC33 V00=60 FJUMP :KEYC34 V00=61 FJUMP ; :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 :BATTERYERRROR V00=62 V01=42 V02=0 V03=53 V04=0 SOUND WAIT(200) WAIT(200) WAIT(200) SOUND WAIT(200) WAIT(200) WAIT(200) SOUND WAIT(200) WAIT(200) WAIT(200) :EXIT CALL(GYROOFF) Move(128,-226,2,333,1,141,-9,768,589,-1000,-36,-1095,1065,92,979,-623,-818,97,13,-1,-385,-17,217,-166,3000) WAIT(200) V00=0 V01=0 V02=0 V03=0 V04=0 V05=0 V06=0 V07=0 V08=0 V09=0 V10=0 V11=0 V12=0 V13=0 V14=0 V15=0 V16=0 V17=0 V18=0 V19=0 V20=0 V21=0 V22=0 V23=0 POWER V99=0 JUMP(START) :GYROON (N389=0 (N393=74 (N394=74 (N396=0 (N398=0 (N397=V46 (N399=0-V46 (N401=0 (N403=0 (N402=V47 (N404=V47 ;(N389=1 RETURN :GYROOFF (N389=0 (N393=74 (N394=74 (N396=0 (N398=0 (N397=0 (N399=0 (N401=0 (N403=0 (N402=0 (N404=0 (N389=0 RETURN