-
Notifications
You must be signed in to change notification settings - Fork 0
/
gas-burner.s
53 lines (51 loc) · 879 Bytes
/
gas-burner.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
alias furnace d0
alias fuelpump d1
alias exhaustpump d2
alias fuelsensor d3
alias exhaustsensor d4
define O2CombustRatio 0.05
define H2CombustRatio 0.1
define FuelFillPressure 1000
define MaxExhaustPressure 10000
init:
s fuelsensor On 1
s exhaustsensor On 1
s exhaustpump On 0
s exhaustpump Setting 100
s fuelpump On 0
s fuelpump Setting 10
combust:
yield
l r0 furnace Combustion
breqz r0 3
sleep 1
j combust
l r0 furnace RatioOxygen
l r1 furnace RatioVolatiles
sgt r0 r0 O2CombustRatio
sgt r1 r1 H2CombustRatio
and r0 r0 r1
breqz r0 4
s furnace Activate 1
sleep 1
j combust
exhaust:
yield
l r0 furnace Pressure
breqz r0 4
s exhaustpump On 1
sleep 1
j exhaust
s exhaustpump On 0
l r0 exhaustsensor Pressure
brlt r0 MaxExhaustPressure 2
j combust
fill:
yield
l r0 furnace Pressure
brge r0 FuelFillPressure 3
s fuelpump On 1
j fill
s fuelpump On 0
s furnace Activate 1
j combust