OLED 0.95", SSD1331, 96x64 displays bitmap. Online C sets the SPI and loads the B4X icon to the flash memory. The beetle is stored in the RAM.
The display module is from Ebay: https://www.ebay.co.uk/itm/282379866279?ssPageName=STRK:MEBIDX:IT&_trksid=p2060353.m2749.l2649
To create the array:
Convert bitmap to 16 bit BMP file, I used the online converter: https://online-converting.com/image/convert2bmp/
Use "HxD Hex Editor" to convert hex to code. Remove the first 66 bytes (the file header). https://mh-nexus.de/en/downloads.php?product=HxD20
The display module is from Ebay: https://www.ebay.co.uk/itm/282379866279?ssPageName=STRK:MEBIDX:IT&_trksid=p2060353.m2749.l2649
To create the array:
Convert bitmap to 16 bit BMP file, I used the online converter: https://online-converting.com/image/convert2bmp/
Use "HxD Hex Editor" to convert hex to code. Remove the first 66 bytes (the file header). https://mh-nexus.de/en/downloads.php?product=HxD20
B4X:
Sub Process_Globals
Public Serial1 As Serial
Private tmr As Timer
Public CS As Pin
Public DC As Pin
Public SDA As Pin
Public SCK As Pin
Public RST As Pin
Public BLUE As UInt=0x01F
Public RED As UInt=0xF800
Public GREEN As UInt=0x07E0
Public CYAN As UInt=0x07FF
Public MAGENTA As UInt=0xF81F
Public YELLOW As UInt=0xFFE0
Public WHITE As UInt=0xFFFF
Private spires, spidata As Byte
Private bug() As Byte = Array As Byte( _
0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, _
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, _
0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, _
0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, _
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, _
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x41, 0xFE, 0x41, 0xFE, _
0x41, 0xFE, 0x41, 0xFE, 0x41, 0xFE, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, _
0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, _
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, _
0x1D, 0x05, 0xE4, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, _
0xEF, 0x7B, 0x00, 0x00, 0x23, 0xB7, 0x23, 0xB7, 0x23, 0xB7, 0x23, 0xB7, _
0x23, 0xB7, 0x00, 0x00, 0x1D, 0x05, 0x1D, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, _
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, _
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x05, 0xE4, 0xE8, _
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, _
0x41, 0xFE, 0x41, 0xFE, 0x41, 0xFE, 0x41, 0xFE, 0x41, 0xFE, 0xEF, 0x7B, _
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, _
0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, _
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, _
0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, _
0xFF, 0xFF, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, _
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ) '252 bytes, 14x9 pix
End Sub
Private Sub AppStart
'Serial1.Initialize(115200)
tmr.Initialize("tmr_Tick", 10000)
tmr.Enabled = False
CS.Initialize(10, CS.MODE_OUTPUT)
DC.Initialize(8, DC.MODE_OUTPUT)
SCK.Initialize(13, SCK.MODE_OUTPUT)
RST.Initialize(9, RST.MODE_OUTPUT)
SDA.Initialize(11, SDA.MODE_OUTPUT)
RunNative ("set_spi",Null)
oled_init
rectan(0,95,0,63,WHITE) 'clear scr
rectan(30,63,14,47,RED) 'background
'display icon
Dim n As UInt
command(0x15)
command(31)
command(62)
command(0x75)
command(15)
command(46)
For n=0 To 2047 Step 2
send_data(GetByte(n+1))
send_data(GetByte(n))
Next
tmr.Enabled = True
End Sub
Private Sub GetByte(Index As UInt) As Byte
Return RunNative("getdata", Index)
End Sub
Sub tmr_Tick
Dim j,k As Byte
For j=0 To 12
command(0x15)
command(j*7)
command(j*7+13)
command(0x75)
command(3)
command(11)
For k=0 To 251 Step 2
send_data(bug(k+1))
send_data(bug(k))
Next
If j=8 Then Delay(2000) Else Delay(100)
command(0x15)
command(j*7)
command(j*7+13)
command(0x75)
command(3)
command(11)
For k=0 To 251 Step 2
send_color(WHITE)
Next
Next
'walk back
Delay(2000)
For j=0 To 12
command(0x15)
command(82-j*7)
command(95-j*7)
command(0x75)
command(53)
command(61)
For k=0 To 251 Step 2
send_data(bug(251-k))
send_data(bug(250-k))
Next
If j=8 Then Delay(2000) Else Delay(100)
command(0x15)
command(82-j*7)
command(95-j*7)
command(0x75)
command(53)
command(61)
For k=0 To 251 Step 2
send_color(WHITE)
Next
Next
End Sub
Sub rectan(c0 As Byte,c1 As Byte, r0 As Byte, r1 As Byte, color As UInt)
Dim i As UInt
command(0x15) 'Column addr set
command(c0)
command(c1)
command(0x75) ' row addr set
command(r0)
command(r1)
For i=0 To (c1 - c0 + 1) * (r1 - r0 + 1)
send_color(color) 'color
Next
End Sub
Sub send_color(color As UInt)
send_data(color/16)
send_data(color)
End Sub
Sub oled_init
RST.DigitalWrite(True) 'hardware reset
Delay(200)
RST.DigitalWrite(False)
Delay(10)
RST.DigitalWrite(True)
Delay(10)
command(0xAE) 'display off
command(0xA0) 'remap
command(0x72) 'RGB=0x72, BGR=0x76
command(0xA1) ' CMD STARTLINE
command(0x0)
command(0xA2)' CMD DISPLAYOFFSET
command(0x0)
command(0xA4)' CMD NORMALDISPLAY
command(0xA8)' CMD SETMULTIPLEX
command(0x3F) ' 0x3F 1/64 duty
command(0xAD)' CMD SETMASTER
command(0x8E)
command(0xB0)' CMD POWERMODE
command(0x0B)
command(0xB1)' CMD PRECHARGE
command(0x31)
command(0xB3)' CMD CLOCKDIV
command(0xF0)' 7:4 = Oscillator Frequency, 3:0 = CLK Div Ratio
' (A[3:0]+1 = 1..16)
command(0x8A)' CMD PRECHARGEA
command(0x64)
command(0x8B)' CMD PRECHARGEB
command(0x78)
command(0x8C)' CMD PRECHARGEC
command(0x64)
command(0xBB)' CMD PRECHARGELEVEL
command(0x3A)
command(0xBE)' CMD VCOMH
command(0x3E)
command(0x87)' CMD MASTERCURRENT 6
command(0x01)
command(0x81)' CMD CONTRASTA 91
command(0xFF)
command(0x82)' CMD CONTRASTB 50
command(0xFF)
command(0x83)' CMD CONTRASTC 7D
command(0xFF)
' command(0xA4)'Normal display on
command(0xAF)'Main screen turn on
End Sub
Sub spi(data As Byte) 'send byte over spi
spidata=data
RunNative ("spi",Null)
Return
End Sub
Sub command(cmd As Byte)
DC.DigitalWrite(False) 'command Mode
CS.DigitalWrite(False) 'Select the LCD (active low)
spi(cmd)'set up data on bus
CS.DigitalWrite(True) 'Deselect LCD (active low)
End Sub
Sub send_data(data As Byte)
DC.DigitalWrite(True) 'data mode
CS.DigitalWrite(False) 'Select the LCD (active low)
spi(data) 'set up data on bus
CS.DigitalWrite(True) 'Deselect LCD (active low)
End Sub
#if C
void spi(B4R::Object* o)
{
SPDR = b4r_main::_spidata; // Start transmission
while (!(SPSR & _BV(SPIF))); // Wait For transmission To complete
b4r_main::_spires = SPDR; // received byte
}
void set_spi(B4R::Object* o)
{
SPCR = 0B1011101; // Enable spi, Master, mode3, set clock rate fck/16=1MHz
SPSR = 1; //set clock rate fck/2=2MHz
}
#include <avr/pgmspace.h>
const PROGMEM byte data[] = { //2048 bytes, 32x32 pixel
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7,
0x7E, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE7, 0x7E, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xDC, 0xBE, 0xBB, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x7F, 0xFE, 0x5E,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xF6, 0x54, 0xFC, 0xC6, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE7,
0x7C, 0x1E, 0xDD, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5A, 0xA6, 0xF3, 0x23,
0x7E, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xDF, 0xD7, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x3E, 0x7F, 0xBE, 0x06, 0x7C, 0x1E, 0xBF, 0xDF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF,
0x33, 0x2C, 0x33, 0x2C, 0xBF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE7, 0xBF, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xD7, 0x7C, 0x1E, 0x5C, 0x06, 0x5C, 0x06,
0x7E, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF9, 0x95, 0xD3, 0x0B, 0x75, 0x3C, 0xBF, 0xF7, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0xBF, 0xBF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x66, 0x7D, 0x06,
0x3B, 0x06, 0x7C, 0x06, 0xFD, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0xDF, 0xF3, 0x23, 0xD3, 0x0B, 0x75, 0x3C,
0xBF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xD7,
0x5F, 0x47, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xC7,
0x5C, 0x0E, 0x3B, 0x06, 0x1B, 0x06, 0x1B, 0x06, 0x3B, 0x1E, 0xDF, 0xE7,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0x75, 0xB2, 0x0B,
0xB2, 0x0B, 0x54, 0x34, 0xBF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x7F, 0x6F, 0x5F, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xBC, 0x4E, 0x7C, 0x06, 0x1B, 0x06, 0xFA, 0x05, 0xDA, 0x05,
0x1B, 0x06, 0xDC, 0x86, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xC6,
0xD2, 0x1B, 0x92, 0x0B, 0x92, 0x0B, 0x13, 0x24, 0x7E, 0xE7, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xD7, 0x3F, 0x0F, 0x7F, 0x7F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0xBF, 0x3B, 0x06, 0x1B, 0x06, 0xFA, 0x05,
0xDA, 0x05, 0xDA, 0x05, 0xDA, 0x05, 0xFA, 0x1D, 0xBF, 0xDF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF6, 0x54, 0xB2, 0x0B, 0x92, 0x0B, 0x92, 0x0B, 0xD2, 0x1B,
0x1D, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x67, 0x9F, 0x07,
0x9F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x7C, 0x3E, 0x3B, 0x06,
0xDA, 0x05, 0xDA, 0x05, 0xDA, 0x05, 0xB9, 0x05, 0x99, 0x05, 0xDA, 0x05,
0x7B, 0x5E, 0xFF, 0xFF, 0x7A, 0xAE, 0xB2, 0x0B, 0x92, 0x0B, 0x92, 0x0B,
0x92, 0x0B, 0xB2, 0x0B, 0x5A, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xC7,
0x3F, 0x0F, 0x3F, 0x07, 0xBF, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x9F,
0x1B, 0x06, 0xDA, 0x05, 0xDA, 0x05, 0xB9, 0x05, 0x99, 0x05, 0x99, 0x05,
0x79, 0x05, 0x79, 0x05, 0x79, 0x05, 0xFC, 0x96, 0x95, 0x44, 0xB2, 0x0B,
0x92, 0x0B, 0x71, 0x0B, 0x92, 0x0B, 0xB2, 0x0B, 0x57, 0x6D, 0xFF, 0xFF,
0xFF, 0xFF, 0x5F, 0x57, 0x3F, 0x07, 0x1F, 0x07, 0xBF, 0xAF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xEF, 0x3B, 0x2E, 0xFA, 0x05, 0xB9, 0x05, 0x99, 0x05, 0x99, 0x05,
0x79, 0x05, 0x79, 0x05, 0x79, 0x05, 0x58, 0x05, 0x58, 0x05, 0x9D, 0x0E,
0x58, 0x25, 0x71, 0x13, 0x92, 0x0B, 0x92, 0x0B, 0x92, 0x0B, 0x92, 0x0B,
0x13, 0x24, 0x9E, 0xF7, 0xBF, 0xBF, 0x1F, 0x07, 0xFF, 0x06, 0x3F, 0x07,
0xBF, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x86, 0xFA, 0x05, 0xB9, 0x05, 0x99, 0x05,
0x79, 0x05, 0x79, 0x05, 0x58, 0x05, 0x58, 0x05, 0x58, 0x05, 0x17, 0x05,
0xDA, 0x0D, 0x1F, 0x07, 0xFF, 0x0E, 0xF7, 0x14, 0x51, 0x0B, 0x92, 0x0B,
0x92, 0x0B, 0x92, 0x0B, 0x92, 0x0B, 0x19, 0x8E, 0x5F, 0x47, 0x3F, 0x07,
0xFF, 0x06, 0x5F, 0x07, 0x9F, 0x97, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE7, 0xFA, 0x1D, 0xDA, 0x05,
0x99, 0x05, 0x79, 0x05, 0x79, 0x05, 0x58, 0x05, 0x58, 0x05, 0x38, 0x05,
0x17, 0x05, 0x17, 0x05, 0x9D, 0x06, 0x1F, 0x07, 0x1F, 0x07, 0xFF, 0x0E,
0xF7, 0x14, 0x71, 0x0B, 0x71, 0x0B, 0xB2, 0x0B, 0x71, 0x0B, 0x55, 0x0C,
0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0x5F, 0x07, 0x7F, 0x6F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x76,
0xDA, 0x05, 0x79, 0x05, 0x79, 0x05, 0x58, 0x05, 0x58, 0x05, 0x38, 0x05,
0x38, 0x05, 0x17, 0x05, 0xD6, 0x04, 0xDA, 0x0D, 0x1F, 0x07, 0xFF, 0x06,
0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0x58, 0x05, 0x71, 0x0B, 0x71, 0x0B,
0x92, 0x0B, 0x71, 0x0B, 0x79, 0x05, 0x3F, 0x07, 0xFF, 0x06, 0x3F, 0x07,
0x3F, 0x37, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xBF, 0xD7, 0xB9, 0x15, 0x79, 0x05, 0x58, 0x05, 0x58, 0x05, 0x38, 0x05,
0x17, 0x05, 0xF7, 0x04, 0xF7, 0x04, 0xD6, 0x04, 0x17, 0x05, 0xBE, 0x06,
0x1F, 0x07, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07,
0x1B, 0x06, 0x33, 0x04, 0x51, 0x0B, 0x71, 0x0B, 0xB2, 0x03, 0x1B, 0x06,
0x3F, 0x07, 0xFF, 0x06, 0xFF, 0x0E, 0xDF, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0x66, 0x99, 0x05, 0x58, 0x05, 0x38, 0x05,
0x17, 0x05, 0xF7, 0x04, 0xF7, 0x04, 0xD6, 0x04, 0xD6, 0x04, 0xB5, 0x04,
0xDA, 0x0D, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0x3F, 0x07, 0xBE, 0x06, 0x58, 0x05, 0xF3, 0x03,
0x51, 0x0B, 0xB2, 0x03, 0x1B, 0x06, 0x3F, 0x07, 0x5F, 0x07, 0x7F, 0x6F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0xBF, 0x79, 0x0D, 0x58, 0x05,
0x38, 0x05, 0x17, 0x05, 0xF7, 0x04, 0xD6, 0x04, 0xD6, 0x04, 0xD6, 0x04,
0x95, 0x04, 0xF6, 0x04, 0xBE, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0x3F, 0x07, 0x9D, 0x06, 0x58, 0x05, 0xF3, 0x03, 0x91, 0x03, 0x79, 0x05,
0x1F, 0x07, 0x3F, 0x0F, 0xDF, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x4E,
0x58, 0x05, 0x17, 0x05, 0x17, 0x05, 0xF7, 0x04, 0xD6, 0x04, 0xB6, 0x04,
0xB6, 0x04, 0x95, 0x04, 0x74, 0x04, 0x17, 0x0D, 0xDE, 0x0E, 0x1F, 0x07,
0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07, 0x3F, 0x07, 0xBE, 0x06,
0x99, 0x05, 0x95, 0x04, 0xD6, 0x04, 0x7C, 0x06, 0x3F, 0x3F, 0xFF, 0xEF,
0xFF, 0xFF, 0xDC, 0x86, 0x38, 0x05, 0xF7, 0x04, 0xD6, 0x04, 0xB6, 0x04,
0x95, 0x04, 0x95, 0x04, 0x95, 0x04, 0x74, 0x04, 0x54, 0x04, 0x95, 0x04,
0x9D, 0x0E, 0x1F, 0x07, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06,
0xFF, 0x06, 0x1F, 0x07, 0x3F, 0x07, 0xFF, 0x06, 0x7C, 0x06, 0xDA, 0x05,
0x7D, 0x06, 0x5F, 0x57, 0xDF, 0xE7, 0xFF, 0xF7, 0x98, 0x35, 0xF7, 0x04,
0xB6, 0x04, 0x95, 0x04, 0x95, 0x04, 0x74, 0x04, 0x54, 0x04, 0x54, 0x04,
0x33, 0x04, 0x33, 0x04, 0x3B, 0x0E, 0x3F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0x3F, 0x07, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xBF, 0xB7, 0xFF, 0xFF,
0x1D, 0xB7, 0xF6, 0x04, 0xB5, 0x04, 0x95, 0x04, 0x54, 0x04, 0x54, 0x04,
0x33, 0x04, 0x33, 0x04, 0x33, 0x04, 0xF2, 0x03, 0x58, 0x0D, 0x1F, 0x07,
0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0x5F, 0x07, 0x3F, 0x3F,
0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3A, 0x76, 0x95, 0x04, 0x74, 0x04,
0x54, 0x04, 0x33, 0x04, 0x33, 0x04, 0x12, 0x04, 0xF2, 0x03, 0xD1, 0x03,
0x33, 0x04, 0xBE, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0x3F, 0x07, 0x9F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7,
0x57, 0x4D, 0x74, 0x04, 0x33, 0x04, 0x12, 0x04, 0xF2, 0x03, 0xF2, 0x03,
0xD1, 0x03, 0x91, 0x03, 0x70, 0x03, 0x37, 0x0D, 0x3F, 0x07, 0xFF, 0x06,
0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0x3F, 0x07, 0x3F, 0x27, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xEF, 0x57, 0x4D, 0x33, 0x04, 0xF2, 0x03,
0xD1, 0x03, 0x91, 0x03, 0x91, 0x03, 0x70, 0x03, 0x30, 0x03, 0x70, 0x03,
0x3B, 0x0E, 0x3F, 0x07, 0xFF, 0x06, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0x5F, 0x07, 0x7F, 0x7F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xEF,
0x57, 0x5D, 0xB2, 0x03, 0x91, 0x03, 0x70, 0x03, 0x30, 0x03, 0x30, 0x03,
0x0F, 0x03, 0xAE, 0x02, 0x70, 0x0B, 0x5C, 0x0E, 0x3F, 0x07, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07, 0x1F, 0x17,
0xDF, 0xD7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xB8, 0x7D, 0x70, 0x0B, 0x30, 0x03,
0x0F, 0x03, 0xEF, 0x02, 0xCE, 0x02, 0xCE, 0x02, 0xAD, 0x02, 0x70, 0x0B,
0xFA, 0x0D, 0x3F, 0x07, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0xFF, 0x06, 0x1F, 0x07, 0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06,
0x5F, 0x07, 0x7F, 0x67, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xBB, 0xBE, 0x33, 0x44, 0xCE, 0x02, 0xCE, 0x02, 0xAE, 0x02, 0xCE, 0x02,
0xCE, 0x02, 0xAD, 0x02, 0xEF, 0x02, 0x17, 0x0D, 0xBE, 0x06, 0x3F, 0x07,
0x1F, 0x07, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06, 0xFF, 0x06,
0xFF, 0x06, 0x1F, 0x07, 0x1F, 0x07, 0xDF, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0x39, 0xA6, 0x33, 0x44,
0xEE, 0x0A, 0xCE, 0x02, 0xCE, 0x02, 0xCE, 0x02, 0xAD, 0x02, 0xAD, 0x02,
0x91, 0x0B, 0x37, 0x0D, 0x7D, 0x06, 0x1F, 0x07, 0x3F, 0x07, 0x3F, 0x07,
0x1F, 0x07, 0x1F, 0x07, 0x1F, 0x07, 0x5F, 0x07, 0x5F, 0x4F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC6, 0x57, 0x75, 0x12, 0x44, 0x4F, 0x1B,
0xCE, 0x02, 0xCE, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0x0F, 0x03, 0x12, 0x04,
0x17, 0x05, 0xFA, 0x05, 0x7D, 0x06, 0xBE, 0x06, 0xFF, 0x06, 0x1F, 0x07,
0xBF, 0xB7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xDF, 0xF7, 0x3D, 0xD7, 0x7A, 0xAE, 0x77, 0x85, 0xD5, 0x64, 0x33, 0x44,
0xF1, 0x33, 0x70, 0x2B, 0x70, 0x2B, 0xF1, 0x33, 0x95, 0x44, 0x57, 0x5D,
0x3A, 0x76, 0x7E, 0xAF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF
};
B4R::Object beo1;
B4R::Object* getdata(B4R::Object* o) {
return beo1.wrapNumber(pgm_read_byte_near(data + o->toLong()));
}
#end if
Attachments
Last edited: