#picaxe 40X2
let dirsB = 255
init: pause 500 ‘
let dirsB = 255
serout B.7,N2400,(254,1)
serout B.7,N2400,(254,134)
serout B.7,N2400,("EYES-UP")
pause 1700
serout B.7,N2400,(254,152)
serout B.7,N2400,("live to ride")
pause 1000
serout B.7,N2400,(254,212)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,213)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,214)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,215)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,216)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,217)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,218)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,219)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,220)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,221)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,222)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,223)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,224)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,225)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,226)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,227)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,228)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,229)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,230)serout B.7,N2400,(".")pause 200 serout B.7,N2400,(254,231)serout B.7,N2400,(".")pause 250
serout B.7,N2400,(254,1)
goto main
main:
if pinC.0 = 1 then
goto TRACK ; jump to TRACK if pin0 is high
end if
goto ROAD ; else go to ROAD MODE
TRACK:
serout B.7,N2400,(254,128)
serout B.7,N2400,("MODE:T")
STATS:
if pinC.1 = 1 then
goto ROLLY ; go and display Y on roll?
end if
goto ROLLN ; go and display N on roll?
ROLLY:
Serout B.7,N2400,(254,192)
serout B.7,N2400,("ROLL:Y")
goto ACCEL
ROLLN:
Serout B.7,N2400,(254,192)
serout B.7,N2400,("ROLL:N")
goto ACCEL
ACCEL:
if pinC.2 = 1 then
goto HUNDRED
end if
goto SIXTY
SIXTY:
Serout B.7,N2400,(254,148)
serout B.7,N2400,("0-060")
goto EOPD
HUNDRED:
Serout B.7,N2400,(254,148)
serout B.7,N2400,("0-100")
goto EOPD
ROAD:
serout B.7,N2400,(254,128)
serout B.7,N2400,("MODE:R")
serout B.7,N2400,(254,192)
if pinC.4 = 1 then
goto STATS
end if
serout B.7,N2400,(" ")
serout B.7,N2400,(254,148)
serout B.7,N2400,(" ")
EOPD:
goto BAT
BAT:
serout B.7,N2400,(254,212)
serout B.7,N2400,(" ")
if pinC.6 = 1 then
goto BATL
end if
goto BATCHECK
BATL:
serout B.7,N2400,(254,212)
serout B.7,N2400,("BAT!")
pause 200
goto BATCHECK
BATCHECK:
if pinC.5 = 1 then
goto BATCHECKY
end if
goto BATEND
BATCHECKY:
serout B.7,N2400,(254,212) serout B.7,N2400,("BAT:")
BLV1: serin [20,BLV2],D.1,N2400,(1) serout B.7,N2400,(254,216) serout B.7,N2400,("- F") goto BATCHECK
BLV2: serin [20,BLV3],D.1,N2400,(2) serout B.7,N2400,(254,216) serout B.7,N2400,("-- F") goto BATCHECK
BLV3: serin [20,BLV4],D.1,N2400,(3) serout B.7,N2400,(254,216) serout B.7,N2400,("--- F") goto BATCHECK
BLV4: serin [20,BLV5],D.1,N2400,(4) serout B.7,N2400,(254,216) serout B.7,N2400,("---- F") goto BATCHECK
BLV5: serin [20,BLV6],D.1,N2400,(5) serout B.7,N2400,(254,216) serout B.7,N2400,("----- F") goto BATCHECK
BLV6: serin [20,BLV7],D.1,N2400,(6) serout B.7,N2400,(254,216) serout B.7,N2400,("------ F") goto BATCHECK
BLV7: serin [20,BLV8],D.1,N2400,(7) serout B.7,N2400,(254,216) serout B.7,N2400,("------- F") goto BATCHECK
BLV8: serin [20,BLV9],D.1,N2400,(8) serout B.7,N2400,(254,216) serout B.7,N2400,("-------- F") goto BATCHECK
BLV9: serin [20,BLV1],D.1,N2400,(9) serout B.7,N2400,(254,216) serout B.7,N2400,("---------F") goto BATCHECK
BATEND:
serout B.7,N2400,(254,212) serout B.7,N2400,(" ")
goto CONT
CONT: ; contrast section
CONT1:serin [20,CONT2],D.2,N2400,(1) serout B.7,N2400,(254,135) serout B.7,N2400,("C ") goto CONTIN ; read level
CONT2:serin [20,CONT3],D.2,N2400,(2) serout B.7,N2400,(254,135) serout B.7,N2400,("C- ") goto CONTIN
CONT3:serin [20,CONT4],D.2,N2400,(3) serout B.7,N2400,(254,135) serout B.7,N2400,("C-- ") goto CONTIN
CONT4:serin [20,CONT5],D.2,N2400,(4) serout B.7,N2400,(254,135) serout B.7,N2400,("C--- ") goto CONTIN
CONT5:serin [20,CONT6],D.2,N2400,(5) serout B.7,N2400,(254,135) serout B.7,N2400,("C---- ") goto CONTIN
CONT6:serin [20,CONT7],D.2,N2400,(6) serout B.7,N2400,(254,135) serout B.7,N2400,("C----- ") goto CONTIN
CONT7:serin [20,CONT1],D.2,N2400,(7) serout B.7,N2400,(254,135) serout B.7,N2400,("C------") goto CONTIN
CONTIN: ; auto/manual contrast
if pinC.7 = 1 then
serout B.7,N2400,(254,142)
serout B.7,N2400,("A")
goto RECAll
end if
serout B.7,N2400,(254,142)
serout B.7,N2400,("M")
goto RECALL ;end of contrast section
RECALL:
if pinC.3 = 1 then
goto BEST
end if
GOTO LAST
BEST:
serout B.7,N2400,(254,208)
serout B.7,N2400,("R:B ")
goto RECALLT
LAST:
serout B.7,N2400,(254,208)
serout B.7,N2400,("R: L")
goto RECALLT ;recall button actually pressed
RECALLT:
if pinC.4 = 1 then
goto RECALLTY
end if
goto RECALLTN
RECALLTY:
serout B.7,N2400,(254,208)
serout B.7,N2400,(" ")
serout B.7,N2400,(254,199)
serout B.7,N2400,("RECALL")
goto INSTRUCTION
RECALLTN:
serout B.7,N2400,(254,199)
serout B.7,N2400,(" SPEED")
goto INSTRUCTION
INSTRUCTION:
serin [100,INROLL],D.3,N2400,(1) goto INSTOPY
INSTOPY: serout B.7,N2400,(254,228) serout B.7,N2400,("STOP")
goto INSTRUCTIONEND
INROLL: serin [100,INGO],D.3,N2400,(2) goto INROLLY
INROLLY: serout B.7,N2400,(254,228) serout B.7,N2400,("ROLL")
goto INSTRUCTIONEND
INGO: serin [100,NOINSTRUCTION],D.3,N2400,(3) goto INGOY
INGOY: serout B.7,N2400,(254,228) serout B.7,N2400,("!GO!")
goto INSTRUCTIONEND
NOINSTRUCTION: serin [100,INSTRUCTIONEND],D.3,N2400,(4) goto NOINSTRUCTIONY
NOINSTRUCTIONY: serout B.7,N2400,(254,228) serout B.7,N2400,(" ")
goto INSTRUCTIONEND
INSTRUCTIONEND:
goto SPEEDREAD