Banana list |
int data = System.BitConverter.ToInt32(rom, offset); int TypeID = data & 0x3FE; int X = ((data & 0xFFE00000) >> 21) << 3; int Y = ((data & 0x1FFC00) >> 10) << 3;
public static bool[,] BananaPatternDecode(byte[] rom, int address) { int width = rom[address--]; int height = rom[address--]; if(width >= 32 || height >= 24) return null; bool[,] result = new bool[width, height]; int index = 0; int x = 0, y = height - 1, bitcount = 0; while(x < width) { result[x, y] = (rom[address - index] & (1 << bitcount)) != 0; if(--bitcount == 0) { bitcount = 0; index--; } if(y > 0) y--; else { y = height - 1; x--; } } return result; }
Index | Address | Content | Pattern |
---|---|---|---|
00
|
$D64F
$D737 |
Terminate of level banana
|
|
02
|
$D651
$D739 |
single
|
O
|
04
|
$D654
$D73C |
Vertical 2
|
O - - O |
06
|
$D657
$D73F |
Vertical 2
|
O - - - O |
08
|
$D65A
$D742 |
Vertical 2
|
O - - - - O |
0A
|
$D65D
$D745 |
Vertical 3
|
O - - O - - O |
0C
|
$D660
$D748 |
Vertical 2
|
O - - - - - O |
0E
|
$D663
$D74B |
Vertical 3
|
O - - - O - - - O |
10
|
$D667
$D74F |
Vertical 4
|
O - - O - - O - - O |
12
|
$D66B
$D753 |
Vertical 3
|
O - - - - O - - - - O |
14
|
$D66F
$D757 |
Vertical 4
|
O - - - O - - - O - - - O |
16
|
$D673
$D75B |
Vertical 5
|
O - - O - - O - - O - - O |
18
|
$D677
$D75F |
Vertical 3
|
O - - - - - O - - - - - O |
1A
|
$D67B
$D763 |
Vertical 4
|
O - - - - O - - - - O - - - - O |
1C
|
$D67F
$D767 |
Horizontal 2
|
O-O
|
1E
|
$D682
$D76A |
Horizontal 2
|
O--O
|
Index | Address | Content | Pattern |
---|---|---|---|
20
|
$D685
$D76D |
Upward diagonal 2
|
---O
---- O--- |
22
|
$D689
$D771 |
Downward diagonal 2
|
O--- ---- ---O |
24
|
$D68D
$D775 |
Rectangle: 2x2
|
O--O ---- ---- O--O |
26
|
$D691
$D779 |
Rectangle: 2x3
|
O--O ---- ---- O--O ---- ---- O--O |
28
|
$D697
$D77F |
Horizontal 3
|
O-O-O
|
2A
|
$D69A
$D782 |
Horizontal 2
|
O---O
|
2C
|
$D69D
$D785 |
Rectangle: 3x2
|
O-O-O ----- O-O-O |
2E
|
$D6A1
$D789 |
Rectangle: 2x2
|
O---O ----- ----- ----- O---O |
30
|
$D6A7
$D78F |
Arrow sign (down)
|
--O-- ----- --O-- ----- --O-- ----- O-O-O -O-O- --O-- |
32
|
$D6AF
$D797 |
Rectangle: 2x3
|
O---O ----- ----- ----- O---O ----- ----- ----- O---O |
34
|
$D6B7
$D79F |
Letter: 2
|
-OOO- O---O ----- ----O ---O- --O-- -O--- ----- O---- ----- OOOOO |
36
|
$D6C0
$D7A8 |
Letter: 3
|
OOOO- ----O ----- ----O ---O- OOO-- ---O- ----O ----- ----O OOOO- |
38
|
$D6C9
$D7B1 |
Letter: 1
|
--O-- -O--- O-O-- ----- --O-- ----- --O-- ----- --O-- ----- OOOOO |
3A
|
$D6D2
$D7BA |
Rectangle: 2x4
|
O---O ----- ----- ----- O---O ----- ----- ----- O---O ----- ----- ----- O---O |
3C
|
$D6DD
$D7C5 |
Letter: !
|
-OOO- ----- OOOOO ----- OOOOO ----- -OOO- ----- --O-- ----- ----- ----- --O-- -O-O- --O-- |
3E
|
$D6E9
$D7D1 |
Horizontal 2
|
O----O |
Index | Address | Content | Pattern |
---|---|---|---|
40
|
$D6EC
$D7D4 |
Rectangle: 2x2
|
O----O
------ ------ ------ ------ O----O |
42
|
$D6F3
$D7DB |
Rectangle: 2x3
|
O----O ------ ------ ------ O----O ------ ------ ------ O----O |
44
|
$D6FC
$D7E4 |
Rectangle: 2x3
|
O----O ------ ------ ------ ------ O----O ------ ------ ------ ------ O----O |
46
|
$D707
$D7EF |
Rectangle: 2x4
|
O----O ------ ------ ------ ------ O----O ------ ------ ------ ------ O----O ------ ------ ------ ------ O----O |
48
|
$D715
$D7FD |
Horizontal 3
|
O--O--O
|
4A
|
$D718
$D800 |
Horizontal 2
|
O-----O
|
4C
|
$D71B
$D803 |
Rectangle: 3x2
|
O--O--O ------- ------- O--O--O |
4E
|
$D721
$D809 |
Downward diagonal 2
|
O------ ------- ------- ------- ------- ------O |
50
|
$D729
$D811 |
Upward diagonal 3
|
------O ------- ------- ---O--- ------- ------- O------ |
52
|
$D732
$D81A |
Rectangle: 3x3
|
O--O--O ------- ------- O--O--O ------- ------- O--O--O |
54
|
$D73B
$D823 |
Downward diagonal 3
|
O------ ------- ------- ---O--- ------- ------- ------O |
56
|
$D744
$D82C |
Parabola (left)
|
------O ---O--- ------- -O----- ------- ------- ------- O------ |
58
|
$D74E
$D836 |
Parabola (right)
|
O------ ---O--- ------- -----O- ------- ------- ------- ------O |
5A
|
$D758
$D840 |
Arrow sign (left)
|
--O----- -O------ O-OOOOOO -O------ --O----- |
5C
|
$D75F
$D847 |
Arrow sign (right)
|
-----O-- ------O- OOOOOO-O ------O- -----O-- |
5E
|
$D766
$D84E |
Letters: IN
|
O--O---O ----O--- O--O-O-O ------O- O--O---O |
Index | Address | Content | Pattern |
---|---|---|---|
60
|
$D76D
$D855 |
Horizontal 5
|
O-O-O-O-O
|
62
|
$D771
$D859 |
Horizontal 2
|
O-------O |
64
|
$D775
$D85D |
Horizontal 3
|
O---O---O |
66
|
$D779
$D861 |
Downward diagonal 3
|
O-------- ----O---- --------O |
68
|
$D77F
$D867 |
Upward diagonal 3
|
--------O ----O---- O-------- |
6A
|
$D785
$D86D |
Rectangle: 5x2
|
O-O-O-O-O
--------- O-O-O-O-O |
6C
|
$D78B
$D873 |
Rectangle: 3x2
|
O---O---O --------- --------- --------- O---O---O |
6E
|
$D793
$D87B |
Downward diagonal 3
|
O-------- --------- ----O---- --------- --------O |
70
|
$D79B
$D883 |
Downward diagonal 3
|
O-------- --------- --------- ----O---- --------- --------- --------O |
72
|
$D7A5
$D88D |
Downward diagonal 3
|
O-------- --------- --------- --------- ----O---- --------- --------- --------- --------O |
74
|
$D7B2
$D89A |
Diamond
|
----O---- --------- --------- --------- O-------O --------- --------- --------- ----O---- |
76
|
$D7BF
$D8A7 |
Upward diagonal 3
|
--------O --------- --------- --------- ----O---- --------- --------- --------- O-------- |
78
|
$D7CC
$D8B4 |
Arrow sign (down)
|
----O---- --------- --------- ----O---- --------- --------- ----O---- --------- O-------O ----O---- --O---O-- --------- ----O---- |
7A
|
$D7DD
$D8C5 |
Horizontal 4
|
O--O--O--O
|
7C
|
$D7E1
$D8C9 |
Rectangle: 4x2
|
O--O--O--O ---------- ---------- O--O--O--O |
7E
|
$D7E8
$D8D0 |
Quadrant (top right)
|
O--O------ ------O--- ---------- --------O- ---------- ---------- ---------O |
Index | Address | Content | Pattern |
---|---|---|---|
80
|
$D7F3
$D8DB |
Quadrant (top left)
|
---------O
------O--- ---------- ---O------ ---------- ---------- -O-------- ---------- ---------- O--------- |
82
|
$D802
$D8EA |
Downward diagonal 4
|
O--------- ---------- ---------- ---O------ ---------- ---------- ------O--- ---------- ---------- ---------O |
84
|
$D811
$D8F9 |
Upward diagonal 4
|
---------O ---------- ---------- ------O--- ---------- ---------- ---O------ ---------- ---------- O--------- |
86
|
$D820
$D908 |
Quadrant (top right)
|
O--------- ---O------ ---------- ------O--- ---------- ---------- --------O- ---------- ---------- ---------O |
88
|
$D82F
$D917 |
Rectangle: 4x5
|
O--O--O--O ---------- ---------- O--O--O--O ---------- ---------- O--O--O--O ---------- ---------- O--O--O--O ---------- ---------- O--O--O--O |
8A
|
$D842
$D92A |
Horizontal 3
|
O----O----O
|
8C
|
$D846
$D92E |
Downward diagonal 3
|
O---------- ----------- -----O----- ----------- ----------O |
8E
|
$D84F
$D937 |
Upward diagonal 3
|
----------O ----------- -----O----- ----------- O---------- |
90
|
$D858
$D940 |
Downward diagonal 3
|
O---------- ----------- ----------- ----------- -----O----- ----------- ----------- ----------- ----------O |
92
|
$D867
$D94F |
Upward diagonal 3
|
----------O ----------- ----------- ----------- -----O----- ----------- ----------- ----------- O---------- |
94
|
$D876
$D95E |
Letter: x2
|
--------OOO- -------O---O ------------ O---O------O -O-O------O- --O------O-- -O-O----O--- O---O------- -------O---- ------------ -------OOOOO |
96
|
$D889
$D971 |
Horizontal 4
|
O---O---O---O
|
98
|
$D88D
$D975 |
Horizontal 5
|
O--O--O--O--O
|
9A
|
$D891
$D979 |
Horizontal 3
|
O-----O-----O
|
9C
|
$D895
$D97D |
Arch 4 (bottom)
|
O-----------O ----O---O---- |
9E
|
$D89B
$D983 |
Rectangle: 4x2
|
O---O---O---O ------------- ------------- ------------- O---O---O---O |
Index | Address | Content | Pattern |
---|---|---|---|
A0
|
$D8A6
$D98E |
Parabola
|
------O------
---O-----O--- ------------- ------------- -O---------O- ------------- ------------- O-----------O |
A2
|
$D8B5
$D99D |
Arrow sign (right)
|
--------O---- ------------- ----------O-- ------------- O--O--O--O--O ------------- ----------O-- ------------- --------O---- |
A4
|
$D8C6
$D9AE |
Arrow sign (left)
|
----O-------- ------------- --O---------- ------------- O--O--O--O--O ------------- --O---------- ------------- ----O-------- |
A6
|
$D8D7
$D9BF |
Parabola
|
------O------ ------------- ---O-----O--- ------------- ------------- -O---------O- ------------- ------------- O-----------O |
A8
|
$D8E8
$D9D0 |
Upward diagonal 5
|
------------O ------------- ------------- ---------O--- ------------- ------------- ------O------ ------------- ------------- ---O--------- ------------- ------------- O------------ |
AA
|
$D900
$D9E8 |
Downward diagonal 4
|
O------------ ------------- ------------- ------------- ----O-------- ------------- ------------- ------------- --------O---- ------------- ------------- ------------- ------------O |
AC
|
$D918
$DA00 |
Rectangle: 4x4
|
O---O---O---O ------------- ------------- ------------- O---O---O---O ------------- ------------- ------------- O---O---O---O ------------- ------------- ------------- O---O---O---O |
AE
|
$D930
$DA18 |
Upward diagonal 4
|
------------O ------------- ------------- ------------- --------O---- ------------- ------------- ------------- ----O-------- ------------- ------------- ------------- O------------ |
B0
|
$D948
$DA30 |
Quadrant (bottom right)
|
---------O ---------- ---------- --------O- ---------- ---------- ------O--- ---------- ---O------ O--------- |
B2
|
$D961
$DA49 |
Parabola
|
------O--O----- --------------- ---O-------O--- --------------- -O-----------O- --------------- --------------- O-------------O |
B4
|
$D972
$DA5A |
Arrow sign (left)
|
------O-------- --------------- ----O---------- --------------- --O------------ --------------- O-O-O-O-O-O-O-O --------------- --O------------ --------------- ----O---------- --------------- ------O-------- |
B6
|
$D98D
$DA75 |
Horizontal 4
|
O----O----O----O |
B8
|
$D991
$DA79 |
Downward diagonal 4
|
O--------------- ---------------- -----O---------- ---------------- ----------O----- ---------------- ---------------O |
BA
|
$D9A1
$DA39 |
Upward diagonal 4
|
---------------O ---------------- ----------O----- ---------------- -----O---------- ---------------- O--------------- |
BC
|
$D9B1
$DA99 |
Parabola
|
------O--O------ ---------------- ---O--------O--- ---------------- ---------------- -O------------O- ---------------- ---------------- O--------------O |
BE
|
$D9C5
$DAAD |
Upward diagonal 6
|
---------------O ---------------- ------------O--- ---------------- ---------O------ ---------------- ------O--------- ---------------- ---O------------ ---------------- O--------------- |
Index | Address | Content | Pattern |
---|---|---|---|
C0
|
$D9DD
$DAC5 |
Horizontal 5
|
O---O---O---O---O
|
C2
|
$D9E2
$DACA |
Upward diagonal 5
|
----------------O ------------O---- --------O-------- ----O------------ O---------------- |
C4
|
$D9EF
$DAD7 |
Downward diagonal 5
|
O---------------- ----O------------ --------O-------- ------------O---- ----------------O |
C6
|
$D9FC
$DAE4 |
Rectangle: 5x2
|
O---O---O---O---O ----------------- ----------------- ----------------- ----------------- O---O---O---O---O |
C8
|
$DA0B
$DAF3 |
Downward diagonal 5
|
O---------------- ----------------- ----O------------ ----------------- --------O-------- ----------------- ------------O---- ----------------- ----------------O |
CA
|
$DA21
$DB09 |
Rectangle: 5x3
|
O---O---O---O---O ----------------- ----------------- ----------------- O---O---O---O---O ----------------- ----------------- ----------------- O---O---O---O---O |
CC
|
$DA37
$DB1F |
Arrow sign (left)
|
--------O-------- ------O---------- ----O---O-------- --O---O---------- O---O---O-O-O-O-O --O---O---------- ----O---O-------- ------O---------- --------O-------- |
CE
|
$DA4D
$DB35 |
Rectangle: 5x4
|
O---O---O---O---O ----------------- ----------------- ----------------- O---O---O---O---O ----------------- ----------------- ----------------- O---O---O---O---O ----------------- ----------------- ----------------- O---O---O---O---O |
D0
|
$DA6B
$DB53 |
Circle
|
--------O-------- -----O-----O----- ----------------- ---O---------O--- ----------------- -O-------------O- ----------------- ----------------- O---------------O ----------------- ----------------- -O-------------O- ----------------- ---O---------O--- ----------------- -----O-----O----- |
D2
|
$DA8F
$DB77 |
Horizontal 4
|
O-----O-----O-----O |
D4
|
$DA94
$DB7C |
Rectangle: 7x2
|
O--O--O--O--O--O--O ------------------- ------------------- O--O--O--O--O--O--O |
D6
|
$DAA0
$DB88 |
Rectangle: 4x2
|
O-----O-----O-----O ------------------- ------------------- ------------------- ------------------- ------------------- O-----O-----O-----O |
D8
|
$DAB3
$DB9B |
Arrow sign (left)
|
--------O---------- ------O------------ ----O---O---------- --O---O------------ O---O---O-O-O-O-O-O --O---O------------ ----O---O---------- ------O------------ --------O---------- |
DA
|
$DACB
$DBB3 |
Rectangle: 7x4
|
O--O--O--O--O--O--O ------------------- ------------------- O--O--O--O--O--O--O ------------------- ------------------- O--O--O--O--O--O--O ------------------- ------------------- O--O--O--O--O--O--O |
DC
|
$DAE5
$DBCD |
Parabola
|
---------O--------- ------O-----O------ ------------------- ---O-----------O--- ------------------- ------------------- -O---------------O- ------------------- ------------------- O-----------------O |
DE
|
$DAFF
$DBE7 |
Rectangle: 4x3
|
O-----O-----O-----O ------------------- ------------------- ------------------- ------------------- ------------------- O-----O-----O-----O ------------------- ------------------- ------------------- ------------------- ------------------- O-----O-----O-----O |
Index | Address | Content | Pattern |
---|---|---|---|
E0
|
$DB20
$DC08 |
Rectangle: 10x8
|
O-O-O-O-O-O-O-O-O-O
------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O ------------------- O-O-O-O-O-O-O-O-O-O |
E2
|
$DB46
$DC2E |
Horizontal 5
|
O----O----O----O----O
|
E4
|
$DB4B
$DC33 |
Horizontal 6
|
O---O---O---O---O---O
|
E6
|
$DB50
$DC38 |
Rectangle: 6x2
|
O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O |
E8
|
$DB60
$DC48 |
Rectangle: 5x2
|
O----O----O----O----O --------------------- --------------------- --------------------- --------------------- O----O----O----O----O |
EA
|
$DB72
$DC5A |
Upward diagonal 5
|
--------------------O --------------------- ---------------O----- --------------------- ----------O---------- --------------------- -----O--------------- --------------------- O-------------------- |
EC
|
$DB8C
$DC74 |
Rectangle: 6x3
|
O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O |
EE
|
$DBA6
$DC8E |
Downward diagonal 5
|
O-------------------- --------------------- -----O--------------- --------------------- ----------O---------- --------------------- ---------------O----- --------------------- --------------------O |
F0
|
$DBC0
$DCA8 |
Rectangle: 6x4
|
O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O --------------------- --------------------- --------------------- O---O---O---O---O---O |
F2
|
$DBE5
$DCCD |
Rectangle: 5x4
|
O----O----O----O----O --------------------- --------------------- --------------------- --------------------- O----O----O----O----O --------------------- --------------------- --------------------- --------------------- O----O----O----O----O --------------------- --------------------- --------------------- --------------------- O----O----O----O----O |
F4
|
$DC11
$DCF9 |
Arch 6 (bottom)
|
O----------------------O ------------------------ ----O--------------O---- ---------O----O--------- |
F6
|
$DC1F
$DD07 |
Horizontal 5
|
O-----O-----O-----O-----O |
F8
|
$DC25
$DD0D |
Zig-zag 9
|
---O-----O-----O-----O--- ------------------------- ------------------------- O-----O-----O-----O-----O |
FA
|
$DC34
$DD1C |
Rectangle: 5x2
|
O-----O-----O-----O-----O ------------------------- ------------------------- ------------------------- ------------------------- ------------------------- O-----O-----O-----O-----O |
FC
|
$DC4C
$DD34 |
Rectangle: 5x3
|
O-----O-----O-----O-----O ------------------------- ------------------------- ------------------------- ------------------------- ------------------------- O-----O-----O-----O-----O ------------------------- ------------------------- ------------------------- ------------------------- ------------------------- O-----O-----O-----O-----O |
FE
|
$DC77
$DD5F |
Rectangle: 10x2
|
O--O--O--O--O--O--O--O--O--O ---------------------------- ---------------------------- O--O--O--O--O--O--O--O--O--O |
100*
|
$DC87
$DD6F |
Horizontal 8
|
O---O---O---O---O---O---O---O |
102*
|
$DC8D
$DD75 |
Rectangle: 10x2
|
O---O---O---O---O---O---O---O ----------------------------- ----------------------------- ----------------------------- O---O---O---O---O---O---O---O |