427 lines
6.0 KiB
Plaintext
427 lines
6.0 KiB
Plaintext
code_00e7: add
|
|
link $1
|
|
pToa property_16
|
|
sat temp[$0]
|
|
ldi $0
|
|
aTop property_16
|
|
lat temp[$0]
|
|
bnt $12d
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $bc ; 188, timer
|
|
send $6
|
|
bnot
|
|
bnt $10c
|
|
pushi $bc ; 188, timer
|
|
push1
|
|
push0
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $104 ; 260, cueSelector
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
bnt $12d
|
|
push2
|
|
lst temp[$0]
|
|
pTos property_17
|
|
calle export60025_5, $4
|
|
bnot
|
|
ret
|
|
|
|
Timer::new:
|
|
pTos -info-
|
|
ldi $8000 ; -32768
|
|
and
|
|
bnt code_0140
|
|
pushi $8d ; 141, new
|
|
push0
|
|
super Obj, $4
|
|
bnot
|
|
jmp code_0141
|
|
|
|
code_0140: selfID
|
|
code_0141: ret
|
|
|
|
Timer::init:
|
|
lag global[$3]
|
|
aTop pRoom
|
|
lap param[$1]
|
|
aTop client
|
|
pushi $9f ; 159, add
|
|
push1
|
|
pushSelf
|
|
pushi $108 ; 264, pTimers
|
|
push0
|
|
pToa pRoom
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $bc ; 188, timer
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_018e
|
|
pushi $bc ; 188, timer
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
bnt code_0184
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
pushi $bc ; 188, timer
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
code_0184: pushi $bc ; 188, timer
|
|
push1
|
|
pushSelf
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
code_018e: ret
|
|
|
|
Timer::doit:
|
|
link $1
|
|
pTos cycleCnt
|
|
ldi $ff ; 255, asInteger
|
|
ne?
|
|
bnt code_01a6
|
|
dpToa cycleCnt
|
|
not
|
|
bnt code_01de
|
|
push1
|
|
pushSelf
|
|
call code_00e7, $2
|
|
bnot
|
|
jmp code_01de
|
|
|
|
code_01a6: pTos seconds
|
|
ldi $ff ; 255, asInteger
|
|
ne?
|
|
bnt code_01cc
|
|
pTos lastTime
|
|
push1
|
|
push1
|
|
callk kernel_121, $2
|
|
bnot
|
|
sat temp[$0]
|
|
ne?
|
|
bnt code_01de
|
|
lat temp[$0]
|
|
aTop lastTime
|
|
dpToa seconds
|
|
not
|
|
bnt code_01de
|
|
push1
|
|
pushSelf
|
|
call code_00e7, $2
|
|
bnot
|
|
jmp code_01de
|
|
|
|
code_01cc: lsg global[$40]
|
|
pToa ticks
|
|
sub
|
|
push
|
|
ldi $0
|
|
gt?
|
|
bnt code_01de
|
|
push1
|
|
pushSelf
|
|
call code_00e7, $2
|
|
bnot
|
|
code_01de: ret
|
|
|
|
Timer::dispose:
|
|
pToa client
|
|
bnt code_01f9
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $bc ; 188, timer
|
|
send $6
|
|
bnot
|
|
bnt code_01f9
|
|
pushi $bc ; 188, timer
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $6
|
|
bnot
|
|
code_01f9: ldi $0
|
|
aTop client
|
|
ret
|
|
|
|
Timer::delete:
|
|
pTos client
|
|
ldi $0
|
|
eq?
|
|
bnt code_021d
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
pushSelf
|
|
pushi $108 ; 264, pTimers
|
|
push0
|
|
pToa pRoom
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
super Obj, $4
|
|
bnot
|
|
code_021d: ret
|
|
|
|
Timer::setCycle:
|
|
link $1
|
|
pTos -info-
|
|
ldi $8000 ; -32768
|
|
and
|
|
bnt code_0231
|
|
pushi $8d ; 141, new
|
|
push0
|
|
self $4
|
|
bnot
|
|
jmp code_0232
|
|
|
|
code_0231: selfID
|
|
code_0232: sat temp[$0]
|
|
pushi $94 ; 148, init
|
|
push1
|
|
lsp param[$1]
|
|
pushi $102 ; 258, cycleCnt
|
|
push1
|
|
lsp param[$2]
|
|
send $c
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
Timer::set:
|
|
link $3
|
|
ldi $6 ; maxScale
|
|
sat temp[$2]
|
|
push
|
|
ldi $0
|
|
eq?
|
|
bnt code_0256
|
|
ldi $1
|
|
sat temp[$2]
|
|
code_0256: lsp param[$2]
|
|
ldi $3c ; 60, '<', b_di
|
|
mul
|
|
push
|
|
lat temp[$2]
|
|
div
|
|
sat temp[$1]
|
|
lsp param[$0]
|
|
ldi $2
|
|
gt?
|
|
bnt code_0277
|
|
lst temp[$1]
|
|
lsp param[$3]
|
|
ldi $e10 ; 3600, BAD SELECTOR
|
|
mul
|
|
push
|
|
lat temp[$2]
|
|
div
|
|
add
|
|
sat temp[$1]
|
|
code_0277: lsp param[$0]
|
|
ldi $3 ; z
|
|
gt?
|
|
bnt code_0291
|
|
lst temp[$1]
|
|
lsp param[$4]
|
|
ldi $e10 ; 3600, BAD SELECTOR
|
|
mul
|
|
push
|
|
lat temp[$2]
|
|
div
|
|
push
|
|
ldi $3c ; 60, '<', b_di
|
|
mul
|
|
add
|
|
sat temp[$1]
|
|
code_0291: pTos -info-
|
|
ldi $8000 ; -32768
|
|
and
|
|
bnt code_02a2
|
|
pushi $8d ; 141, new
|
|
push0
|
|
self $4
|
|
bnot
|
|
jmp code_02a3
|
|
|
|
code_02a2: selfID
|
|
code_02a3: sat temp[$0]
|
|
pushi $94 ; 148, init
|
|
push1
|
|
lsp param[$1]
|
|
pushi $102 ; 258, cycleCnt
|
|
push1
|
|
lst temp[$1]
|
|
send $c
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
Timer::setReal:
|
|
link $2
|
|
lap param[$2]
|
|
sat temp[$1]
|
|
lsp param[$0]
|
|
ldi $2
|
|
gt?
|
|
bnt code_02ce
|
|
lst temp[$1]
|
|
lsp param[$3]
|
|
ldi $3c ; 60, '<', b_di
|
|
mul
|
|
add
|
|
sat temp[$1]
|
|
code_02ce: lsp param[$0]
|
|
ldi $3 ; z
|
|
gt?
|
|
bnt code_02e0
|
|
lst temp[$1]
|
|
lsp param[$4]
|
|
ldi $e10 ; 3600, BAD SELECTOR
|
|
mul
|
|
add
|
|
sat temp[$1]
|
|
code_02e0: pTos -info-
|
|
ldi $8000 ; -32768
|
|
and
|
|
bnt code_02f1
|
|
pushi $8d ; 141, new
|
|
push0
|
|
self $4
|
|
bnot
|
|
jmp code_02f2
|
|
|
|
code_02f1: selfID
|
|
code_02f2: sat temp[$0]
|
|
pushi $94 ; 148, init
|
|
push1
|
|
lsp param[$1]
|
|
pushi $be ; 190, seconds
|
|
push1
|
|
lst temp[$1]
|
|
send $c
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
Timer::setTicks:
|
|
link $1
|
|
pTos -info-
|
|
ldi $8000 ; -32768
|
|
and
|
|
bnt code_0319
|
|
pushi $8d ; 141, new
|
|
push0
|
|
self $4
|
|
bnot
|
|
jmp code_031a
|
|
|
|
code_0319: selfID
|
|
code_031a: sat temp[$0]
|
|
pushi $c0 ; 192, ticks
|
|
push1
|
|
lsg global[$40]
|
|
lap param[$1]
|
|
add
|
|
push
|
|
pushi $94 ; 148, init
|
|
push1
|
|
lsp param[$2]
|
|
lat temp[$0]
|
|
send $c
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
GlobalTimer::init:
|
|
lap param[$1]
|
|
aTop client
|
|
pushi $9f ; 159, add
|
|
push1
|
|
pushSelf
|
|
class WaitingTimers
|
|
send $6
|
|
bnot
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $bc ; 188, timer
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0375
|
|
pushi $bc ; 188, timer
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
bnt code_036b
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
pushi $bc ; 188, timer
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
code_036b: pushi $bc ; 188, timer
|
|
push1
|
|
pushSelf
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
code_0375: ret
|
|
|
|
GlobalTimer::delete:
|
|
pTos client
|
|
ldi $0
|
|
eq?
|
|
bnt code_038c
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
pushSelf
|
|
class GlobalTimers
|
|
send $6
|
|
bnot
|
|
push1
|
|
pushSelf
|
|
callk kernel_11, $2
|
|
bnot
|
|
code_038c: ret
|
|
|
|
TO::set:
|
|
lap param[$1]
|
|
aTop timeLeft
|
|
ret
|
|
|
|
TO::doit:
|
|
pToa timeLeft
|
|
bnt code_0398
|
|
dpToa timeLeft
|
|
code_0398: ret
|
|
|