/
bitwise.p8
69 lines (64 loc) · 1.97 KB
/
bitwise.p8
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
pico-8 cartridge // http://www.pico-8.com
version 32
__lua__
--get sprite address
function getsp(sp)
n=512*(sp\16)+4*(sp%16)
return n
end
function _init()
t=0
end
function _update()
t+=1
local new=getsp(1)
if t%5==0 then
for v=0,7 do
local shift=new+v*64
local shiftv=peek(shift)
for h=1,3 do--horizontal 1byte
local addr=new+v*64+h
memcpy(addr-1,addr,1)
end
poke(shift+3,shiftv)
end
end
local new=getsp(2)
for v=0,7 do
local shift=new+v*64
local val=peek4(shift)
val=val>><4
poke4(shift,val)
end
end
function _draw()
cls()
print("peek :"..
tostr(peek(4),true),2,2,7
)
print("peek&15 :"..
tostr(peek(4)&15,true),2,8,7
)
rectfill(10,20,18,28,peek(4)&15)
for x=0,11 do
spr(1,10+x*8,30,1,1)
spr(1,10+x*8,38,1,1)
end
print("val=peek4(mem)",2,56,7)
print("val=val>><4",2,64,7)
print("poke4(mem,val)",2,72,7)
for x=0,11 do
spr(2,10+x*8,82,1,1)
spr(2,10+x*8,90,1,1)
end
--print("cpu:"..stat(1),2,20,4)
end
__gfx__
00000000194d75e6194d75e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000008194d75e8194d75e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0070070068194d7568194d7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000b68194d7b68194d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000ab68194dab68194d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
007007002ab681942ab6819400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000032ab681932ab681900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000c32ab681c32ab68100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000