741 lines
10 KiB
Plaintext
741 lines
10 KiB
Plaintext
PackedData::new:
|
|
ldi $0
|
|
aTop bitGetIndex
|
|
aTop bitPutIndex
|
|
aTop putIndex
|
|
aTop getIndex
|
|
pushi $8d ; 141, new
|
|
push0
|
|
&rest $1
|
|
super ByteArray, $4
|
|
bnot
|
|
ret
|
|
|
|
PackedData::dispose:
|
|
ldi $0
|
|
aTop bitGetIndex
|
|
aTop bitPutIndex
|
|
aTop putIndex
|
|
aTop getIndex
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
&rest $1
|
|
super ByteArray, $4
|
|
bnot
|
|
ret
|
|
|
|
PackedData::getByte:
|
|
push2
|
|
push2
|
|
pushSelf
|
|
callk kernel_156, $4
|
|
bnot
|
|
ret
|
|
|
|
PackedData::getWord:
|
|
push2
|
|
pushi $4 ; scaleX
|
|
pushSelf
|
|
callk kernel_156, $4
|
|
bnot
|
|
ret
|
|
|
|
PackedData::getLong:
|
|
link $4
|
|
lap param[$0]
|
|
bnt code_00c1
|
|
lap param[$1]
|
|
sat temp[$1]
|
|
not
|
|
bnt code_00cc
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class LongInt
|
|
send $4
|
|
bnot
|
|
sat temp[$1]
|
|
jmp code_00cc
|
|
|
|
code_00c1: pushi $8d ; 141, new
|
|
push0
|
|
class LongInt
|
|
send $4
|
|
bnot
|
|
sat temp[$1]
|
|
code_00cc: pushi $3 ; z
|
|
pushi $6 ; maxScale
|
|
pushSelf
|
|
lst temp[$1]
|
|
callk kernel_156, $6
|
|
bnot
|
|
lat temp[$1]
|
|
ret
|
|
|
|
PackedData::getArray:
|
|
link $4
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
self $4
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $129 ; 297, less
|
|
push1
|
|
push0
|
|
send $6
|
|
bnot
|
|
bt code_00f4
|
|
pTos getIndex
|
|
ldi $0
|
|
lt?
|
|
code_00f4: bnt code_0102
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
ldi $0
|
|
ret
|
|
|
|
code_0102: pushi $136 ; 310, getLong
|
|
push0
|
|
self $4
|
|
bnot
|
|
sat temp[$2]
|
|
lap param[$0]
|
|
bnt code_012e
|
|
pushi $127 ; 295, equal
|
|
push1
|
|
lsp param[$1]
|
|
lat temp[$2]
|
|
send $6
|
|
bnot
|
|
not
|
|
bnt code_012e
|
|
pushi $3 ; z
|
|
lofsa string_002c ; "Error in PackData getArray: got type=%d, wanted type=%d"
|
|
push
|
|
lst temp[$2]
|
|
lsp param[$1]
|
|
calle export60029_1, $6
|
|
bnot
|
|
code_012e: pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$2]
|
|
send $4
|
|
bnot
|
|
push
|
|
dup
|
|
ldi $0
|
|
eq?
|
|
bnt code_0153
|
|
pushi $8d ; 141, new
|
|
push1
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
class IntArray
|
|
send $6
|
|
bnot
|
|
jmp code_01b7
|
|
|
|
code_0153: dup
|
|
ldi $1
|
|
eq?
|
|
bnt code_016e
|
|
pushi $8d ; 141, new
|
|
push1
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
class IDArray
|
|
send $6
|
|
bnot
|
|
jmp code_01b7
|
|
|
|
code_016e: dup
|
|
ldi $2
|
|
eq?
|
|
bnt code_0189
|
|
pushi $8d ; 141, new
|
|
push1
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
class ByteArray
|
|
send $6
|
|
bnot
|
|
jmp code_01b7
|
|
|
|
code_0189: dup
|
|
ldi $3 ; z
|
|
eq?
|
|
bnt code_01a4
|
|
pushi $8d ; 141, new
|
|
push1
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
class Str
|
|
send $6
|
|
bnot
|
|
jmp code_01b7
|
|
|
|
code_01a4: pushi $8d ; 141, new
|
|
push1
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
class PackedData
|
|
send $6
|
|
bnot
|
|
code_01b7: toss
|
|
sat temp[$0]
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$2]
|
|
send $4
|
|
bnot
|
|
push
|
|
dup
|
|
ldi $0
|
|
eq?
|
|
bnt code_01f5
|
|
ldi $0
|
|
sat temp[$3]
|
|
code_01ce: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$3]
|
|
lat temp[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_028e
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$3]
|
|
pushi $135 ; 309, getWord
|
|
push0
|
|
self $4
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $8
|
|
bnot
|
|
+at temp[$3]
|
|
jmp code_01ce
|
|
|
|
jmp code_028e
|
|
|
|
code_01f5: dup
|
|
ldi $1
|
|
eq?
|
|
bnt code_0225
|
|
ldi $0
|
|
sat temp[$3]
|
|
code_01ff: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$3]
|
|
lat temp[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_028e
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$3]
|
|
pushi $135 ; 309, getWord
|
|
push0
|
|
self $4
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $8
|
|
bnot
|
|
+at temp[$3]
|
|
jmp code_01ff
|
|
|
|
jmp code_028e
|
|
|
|
code_0225: dup
|
|
ldi $3 ; z
|
|
eq?
|
|
bnt code_0267
|
|
ldi $0
|
|
sat temp[$3]
|
|
code_022f: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$3]
|
|
lat temp[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0252
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$3]
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
self $4
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $8
|
|
bnot
|
|
+at temp[$3]
|
|
jmp code_022f
|
|
|
|
code_0252: pushi $4b ; 75, 'K', at
|
|
push2
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
push0
|
|
lat temp[$0]
|
|
send $8
|
|
bnot
|
|
jmp code_028e
|
|
|
|
code_0267: pushi $d2 ; 210, copyToFrom
|
|
pushi $4 ; scaleX
|
|
push0
|
|
pushSelf
|
|
pTos getIndex
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $c
|
|
bnot
|
|
pTos getIndex
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
add
|
|
aTop getIndex
|
|
code_028e: toss
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$2]
|
|
send $4
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
PackedData::getString:
|
|
link $5
|
|
lap param[$0]
|
|
bnt code_02b0
|
|
lap param[$1]
|
|
sat temp[$0]
|
|
jmp code_02b4
|
|
|
|
code_02b0: ldi $0
|
|
sat temp[$0]
|
|
code_02b4: push1
|
|
class Str
|
|
push
|
|
callk kernel_10, $2
|
|
bnot
|
|
sat temp[$4]
|
|
pushi $71 ; 113, 'q', data
|
|
push1
|
|
pushi $3 ; z
|
|
pushi $8 ; fixPriority
|
|
pushSelf
|
|
lst temp[$0]
|
|
callk kernel_156, $6
|
|
bnot
|
|
push
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
lat temp[$4]
|
|
ret
|
|
|
|
PackedData::putString:
|
|
link $3
|
|
lsp param[$0]
|
|
ldi $1
|
|
gt?
|
|
bnt code_02e4
|
|
lap param[$2]
|
|
sat temp[$0]
|
|
jmp code_02ee
|
|
|
|
code_02e4: pushi $5a ; 90, 'Z', size
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
sat temp[$0]
|
|
code_02ee: ldi $0
|
|
sat temp[$2]
|
|
pushi $13b ; 315, putWord
|
|
push1
|
|
lst temp[$0]
|
|
self $6
|
|
bnot
|
|
code_02fb: lat temp[$0]
|
|
bnt code_0317
|
|
pushi $13a ; 314, putByte
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$2]
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
push
|
|
self $6
|
|
bnot
|
|
-at temp[$0]
|
|
+at temp[$2]
|
|
jmp code_02fb
|
|
|
|
code_0317: ret
|
|
|
|
PackedData::getBits:
|
|
link $3
|
|
pushi $3 ; z
|
|
push0
|
|
pushSelf
|
|
lsp param[$1]
|
|
callk kernel_156, $6
|
|
bnot
|
|
ret
|
|
|
|
PackedData::putByte:
|
|
link $1
|
|
pTos putIndex
|
|
ldi $0
|
|
ge?
|
|
bnt code_0349
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0332: lst temp[$0]
|
|
lap param[$0]
|
|
lt?
|
|
bnt code_0349
|
|
pushi $3 ; z
|
|
dup
|
|
pushSelf
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
callk kernel_156, $6
|
|
bnot
|
|
+at temp[$0]
|
|
jmp code_0332
|
|
|
|
code_0349: ret
|
|
|
|
PackedData::putWord:
|
|
link $1
|
|
pTos putIndex
|
|
ldi $0
|
|
ge?
|
|
bnt code_036f
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0357: lst temp[$0]
|
|
lap param[$0]
|
|
lt?
|
|
bnt code_036f
|
|
pushi $3 ; z
|
|
pushi $5 ; scaleY
|
|
pushSelf
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
callk kernel_156, $6
|
|
bnot
|
|
+at temp[$0]
|
|
jmp code_0357
|
|
|
|
code_036f: ret
|
|
|
|
PackedData::putLong:
|
|
link $1
|
|
pTos putIndex
|
|
ldi $0
|
|
ge?
|
|
bnt code_03aa
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_037d: lst temp[$0]
|
|
lap param[$0]
|
|
lt?
|
|
bnt code_03aa
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
ldi $ff ; 255, asInteger
|
|
eq?
|
|
bnt code_0399
|
|
pushi $13b ; 315, putWord
|
|
push2
|
|
pushi $ff ; 255, asInteger
|
|
dup
|
|
self $8
|
|
bnot
|
|
jmp code_03a6
|
|
|
|
code_0399: pushi $3 ; z
|
|
pushi $7 ; priority
|
|
pushSelf
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
callk kernel_156, $6
|
|
bnot
|
|
code_03a6: +at temp[$0]
|
|
jmp code_037d
|
|
|
|
code_03aa: ret
|
|
|
|
PackedData::putArray:
|
|
link $3
|
|
pushi $8d ; 141, new
|
|
push1
|
|
lsp param[$0]
|
|
ldi $1
|
|
gt?
|
|
bnt code_03bc
|
|
lap param[$2]
|
|
jmp code_03c4
|
|
|
|
code_03bc: pushi $5a ; 90, 'Z', size
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
code_03c4: push
|
|
class LongInt
|
|
send $6
|
|
bnot
|
|
sat temp[$0]
|
|
pushi $129 ; 297, less
|
|
push1
|
|
push0
|
|
send $6
|
|
bnot
|
|
bt code_03db
|
|
pTos putIndex
|
|
ldi $0
|
|
lt?
|
|
code_03db: bnt code_03e9
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
ldi $0
|
|
ret
|
|
|
|
code_03e9: pushi $8d ; 141, new
|
|
push1
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class PackedData
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0400
|
|
ldi $ff ; 255, asInteger
|
|
jmp code_0408
|
|
|
|
code_0400: pushi $2b ; 43, '+', type
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
code_0408: push
|
|
class LongInt
|
|
send $6
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $13c ; 316, putLong
|
|
push1
|
|
lst temp[$0]
|
|
pushi $13c ; 316, putLong
|
|
push1
|
|
push
|
|
self $c
|
|
bnot
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
dup
|
|
ldi $0
|
|
eq?
|
|
bnt code_0459
|
|
ldi $0
|
|
sat temp[$2]
|
|
code_0432: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
bnt code_04df
|
|
pushi $13b ; 315, putWord
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$2]
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
push
|
|
self $6
|
|
bnot
|
|
+at temp[$2]
|
|
jmp code_0432
|
|
|
|
jmp code_04df
|
|
|
|
code_0459: dup
|
|
ldi $1
|
|
eq?
|
|
bnt code_048a
|
|
ldi $0
|
|
sat temp[$2]
|
|
code_0463: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
bnt code_04df
|
|
pushi $13b ; 315, putWord
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$2]
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
push
|
|
self $6
|
|
bnot
|
|
+at temp[$2]
|
|
jmp code_0463
|
|
|
|
jmp code_04df
|
|
|
|
code_048a: dup
|
|
ldi $3 ; z
|
|
eq?
|
|
bnt code_04b9
|
|
ldi $0
|
|
sat temp[$2]
|
|
code_0494: pushi $12d ; 301, greater
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
bnt code_04df
|
|
pushi $13a ; 314, putByte
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$2]
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
push
|
|
self $6
|
|
bnot
|
|
+at temp[$2]
|
|
jmp code_0494
|
|
|
|
jmp code_04df
|
|
|
|
code_04b9: pushi $d2 ; 210, copyToFrom
|
|
pushi $4 ; scaleX
|
|
pTos putIndex
|
|
lsp param[$1]
|
|
push0
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
push
|
|
self $c
|
|
bnot
|
|
pTos putIndex
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
add
|
|
aTop putIndex
|
|
code_04df: toss
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
ldi $1
|
|
ret
|
|
|
|
PackedData::putBits:
|
|
link $2
|
|
pushi $4 ; scaleX
|
|
push1
|
|
pushSelf
|
|
lsp param[$1]
|
|
lsp param[$2]
|
|
callk kernel_156, $8
|
|
bnot
|
|
ret
|
|
|
|
PackedData::peek:
|
|
link $3
|
|
pToa getIndex
|
|
sat temp[$1]
|
|
push2
|
|
pushSelf
|
|
lsp param[$1]
|
|
calle export60025_5, $4
|
|
bnot
|
|
sat temp[$2]
|
|
lat temp[$1]
|
|
aTop getIndex
|
|
lat temp[$2]
|
|
ret
|
|
|