'**************** Driving graph. display NOKIA LPH7779 ver.1.1 ******************
'* U must unmark correct "stack declaration" section, depending on processor *
'* used. ATMega - tested OK, 85x5 - not tested. *
'******************************* (Tiny LCD) *************************************
$regfile = "m168def.dat"
$crystal = 7372800
$baud = 9600
$swstack = 200
$hwstack = 100
'atmega 168 Z WEWNĘTZRNYM OSCYLATOREK 8MHz
'Podłączenie wyświetlacza:
'atmega pin LPH7779
'+ Vcc 4.2v 1 (Vcc 2.8 - 5V)
'PB1 2 (SCLK)
'PB2 3 (SDIN)
'PB5 4 (D/C)
'PB6 5 (SCE)
'GND 6 (GND)
'PB7 8 (RESET)
'Klawiaturka
'PD0/INT0 Sw1
'PD1/INT1 Sw2
'PD2/INT2 Sw3
'PD3/INT3 Sw4
Config Portd = Input 'keys
'Config Portb = Output 'communication port to LCD
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Spi = Soft , Din = Portb.3 , Dout = Portb.2 , Ss = None , Clock = Portb.1
'Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
Config 1wire = Portb.0 'DS1820 on pin 12 (pull up)
'************************** Global vars declarations ****************************
Dim Txloc As Byte , Tyloc As Byte , Yy As Byte , Xx As Byte , Tout As Byte
Dim Menu_ptr As Byte , Crc_ptr As Byte , Tsens As Byte , Err_ptr As Byte , Key_pressed As Byte
'************************** 1Wire vars ******************************************
Dim Bd(9) As Byte
'Sc(1) 'Temperature LSB
'Sc(2) 'Temperature MSB
'Sc(3) 'TH/user byte 1 also SRAM
'Sc(4) 'TL/user byte 2 also SRAM
'Sc(5) 'config also SRAM x R1 R0 1 1 1 1 1 - the r1 r0 are config for resolution - write FF to byte for 12 bit - others dont care
'Sc(6) 'res
'Sc(7) 'res
'Sc(8) 'res
'Sc(9) '8 CRC
Dim I As Byte , Tmp As Byte , T As Integer , Crc As Byte
Dim T1 As Integer , V As Byte , A As Byte , Tx1 As String * 14 , Tx2 As String * 14
Dim Tleft As String * 4 , Tright As String * 1
Dim T1min As Integer , T1act As Integer , T1max As Integer
Dim T2min As Integer , T2act As Integer , T2max As Integer
Dim Dsid1(8) As Byte 'Dallas ID 64 bits incl CRC
Dim Dsid2(8) As Byte
'When used like this : DsId(1) = 1wread(8)
'DsId(1) = family code 'Ds1820 10h, DS18B20 28h, Ds18s20 10h
'DsId(2) '48 Bits Serial, LSB
'DsId(3)
'DsId(4)
'DsId(5)
'DsId(6)
'DsId(7) '48 Bits Serial, MSB
'DsId(8) '8 CRC
'*********************************** Aliases ************************************
Lcd_cmd Alias Portb.5 'Low for cmd mode
Lcd_cs Alias Portb.6
Lcd_res Alias Portb.7 'Low for reset
'*************************** LCD commands constants *****************************
Const Extcmd = &H21 'extended command mode
Const Contrmid = &HC8 'LCD contract medium level(after Extcmd)
Const Tempcomp2 = &H06 'temperature compensation (after Extcmd)
Const Bias48 = &H13 'bias 1:48 for LCD (after Extcmd)
Const Normcmd = &H20 'normal command mode
Const Lcdinv = &H0D 'inverted LCD screen(after Normcmd)
Const Lcdnorm = &H0C 'normal LCD screen(after Normcmd)
Const Lcdxaddr0 = &H80 'set X addr of RAM to 0(after Normcmd)
Const Lcdpdown = &H24 'LCD in power down mode
Const Lcdact = &H20 'LCD in active mode
'************************* Subprograms declarations *****************************
Declare Sub Tcmd(byval Tlcdcmd As Byte)
Declare Sub Tlcdinit
Declare Sub Tcls
Declare Sub Tgphloc(txglc As Byte , Tyglc As Byte)
Declare Sub Tlocate(byval Txlc As Byte , Byval Tylc As Byte)
Declare Sub Tprintf(byval Tstring As String , Byval Chr_inv As Byte)
Declare Sub Tshowpic
'************************* 1Wire declarations ***********************************
Declare Sub Tprinttp(byval T0 As Integer , Byval Xlc As Byte , Byval Ylc As Byte)
Declare Sub Read1820
Declare Sub Crcit
Declare Sub Temperature
Declare Sub Errorchk
'********************************************************************************
'****************************** MAIN loop **********************************START
Spiinit
Tlcdinit
Tcmd Lcdact 'activate LCD
Portd = &B00001111 'LSB(keys) bits pullup
Menu_ptr = 1
Gosub Menu
Main_loop:
Gosub Kbd_scan
If Key_pressed = 0 Then Goto Main_loop
Gosub Kbd_decode
Gosub Menu
Goto Main_loop
End
'******************************* MENU SUB **********************************START
Menu:
Tcls
Tlocate 0 , 0
Tprintf " M E N U " , 0
Tlocate 0 , 2
Tprintf " 1 EGYPT DEMO " , 0
Tlocate 0 , 3
Tprintf " 2 ASCII DEMO " , 0
Tlocate 0 , 4
Tprintf " 3 1WIRE TEST " , 0
Tlocate 0 , 5
Tprintf " 4 LCD OFF " , 0
If Menu_ptr = 1 Then
Tlocate 0 , 2
Tprintf " 1 EGYPT DEMO " , 1
Goto Menu_exit
End If
If Menu_ptr = 2 Then
Tlocate 0 , 3
Tprintf " 2 ASCII DEMO " , 1
Goto Menu_exit
End If
If Menu_ptr = 3 Then
Tlocate 0 , 4
Tprintf " 3 1WIRE TEST " , 1
Goto Menu_exit
End If
If Menu_ptr = 4 Then
Tlocate 0 , 5
Tprintf " 4 LCD OFF " , 1
End If
Menu_exit:
Return
'***************************** Keyboard SUB ********************************START
Kbd_decode:
Select Case Tout
Case &H0E : Decr Menu_ptr
Case &H0D : Incr Menu_ptr
Case &H0B : Gosub Execute
Case &H07 : Nop
End Select
If Menu_ptr = 0 Then
Menu_ptr = 4
End If
If Menu_ptr = 5 Then
Menu_ptr = 1
End If
Return
Kbd_scan:
Key_pressed = 0
Tout = Pind And &H0F
If Tout = &H0F Then
Return
End If
Waitms 50 'wait 50 mS and check
Tout = Pind And &H0F 'if key is really pressed
If Tout = &H0F Then
Return
End If
Key_pressed = 1
Return
'****************************** Execute Demos SUB **************************START
Execute:
Select Case Menu_ptr
Case &H01 : Gosub 1
Case &H02 : Gosub 2
Case &H03 : Gosub 3
Case &H04 : Gosub 4
End Select
Return
'******************************** Demos SUBS *******************************START
'*********************************** 1 ******************************************
1:
Tcls
Tlocate 0 , 0
Tprintf " EGYPT DEMO" , 0
Tlocate 0 , 2
Restore Egypt
Tshowpic
Wait 10
Return
'*********************************** 2 ******************************************
2:
Tcls
Tlocate 0 , 0
Tprintf " abcdefghijklmnopqrstuvwxyz" , 0
Wait 1
Tlocate 0 , 2
Tprintf "ABCDEFGHIJKLMNPQRSTUVWXYZ" , 1
Wait 1
Tlocate 0 , 4
Tprintf "0123456789ąćęłńóśźżŁŚŹŻ}[-,^" , 0
Wait 5
Tcmd Lcdinv
Wait 5
Tcmd Lcdnorm
Wait 1
Return
'*********************************** 3 ******************************************
3:
Call Tcls
Call Tlocate(0 , 1)
Call Tprintf( " ilość " , 0)
Call Tprintf( " sensorów: " , 0)
Sens0:
Tsens = 1wirecount()
Tx1 = Str(tsens)
Call Tlocate(7 , 3)
Call Tprintf(tx1 , 0)
Wait 2
If Tsens = 0 Then
Goto Sens0
End If
Call Tcls
Dsid1(1) = 1wsearchfirst()
If Tsens > 1 Then
Dsid2(1) = 1wsearchnext()
End If
Call Temperature
Gosub Temp_min_max_res
Gosub Tprint_min_max
Do
Call Temperature
Call Errorchk
Call Tprinttp(t1act , 5 , 2)
If Tsens > 1 Then
Call Tprinttp(t2act , 5 , 3)
End If
Gosub Kbd_scan
If Key_pressed = 1 Then
Goto Exit_3
End If
Loop
Wait 1
Exit_3:
Call Tcls
Call Tlocate(0 , 2)
Call Tprintf( "powrót do menu" , 0)
Wait 1
Return
Tprint_min_max:
Call Tprinttp(t1max , 8 , 0)
Call Tprinttp(t1min , 0 , 0)
Call Tprinttp(t2max , 8 , 5)
Call Tprinttp(t2min , 0 , 5)
Return
Temp_min_max_res:
T1min = T1act
T1max = T1act
T2min = T2act
T2max = T2act
Return
'*********************************** 4 ******************************************
4:
Tcls
Tlocate 1 , 2
Tprintf "Powerdown in" , 0
Tlocate 7 , 3
Tprintf "3" , 0
Wait 1
Tlocate 7 , 3
Tprintf "2" , 0
Wait 1
Tlocate 7 , 3
Tprintf "1" , 0
Wait 1
Tcmd Lcdpdown
Wait 5
Tcls
Tlocate 3 , 1
Restore Been
Tshowpic
Tcmd Lcdact
Wait 10
Return
'*****************************************************************************END
'******************************** LCD subroutines *******************************
'********************************* Tcmd(Tlcdcmd) ***************************START
Sub Tcmd(byval Tlcdcmd As Byte)
Reset Lcd_cmd 'command mode
Reset Lcd_cs
Spiout Tlcdcmd , 1
Set Lcd_cs
Set Lcd_cmd 'data mode
End Sub
'********************************** Tlcdinit *******************************START
Sub Tlcdinit
Reset Lcd_res 'RESET LCD display
Set Lcd_res
Tcmd Lcdpdown '
Tcmd Extcmd 'look into
Tcmd Contrmid '"LCD commands constants"
Tcmd Tempcomp2 'section
Tcmd Bias48 '
Tcmd Normcmd '
Tcmd Lcdnorm '
Tcls '
End Sub
'************************************ Tcls *********************************START
Sub Tcls
Local Tword As Word
Tcmd Normcmd
Tcmd Lcdnorm
Tcmd Lcdxaddr0
Tout = 0
For Tword = 0 To 503 '84x6 times sends 0 to clear LCD
Reset Lcd_cs : Spiout Tout , 1 : Set Lcd_cs
Next
End Sub
'***************************** Tgphloc(Txglc , Tyglc) **********************START
Sub Tgphloc(txglc As Byte , Tyglc As Byte)
Reset Lcd_cmd 'command mode
Tout = Tyglc + &H40 'sets 0-5 Y-addr of RAM
Reset Lcd_cs
Spiout Tout , 1
Set Lcd_cs
Tout = Txglc * &H06 'sets 0-13 X-addr of RAM
Tout = Tout + &H80
Reset Lcd_cs
Spiout Tout , 1
Set Lcd_cmd 'data mode
End Sub
'***************************** Tlocate(Txloc, Tyloc) ***********************START
Sub Tlocate(byval Txlc As Byte , Byval Tylc As Byte)
Txloc = Txlc
Tyloc = Tylc
Tgphloc Txloc , Tyloc
End Sub
'********************************* Tprintf(Tstring) ************************START
Sub Tprintf(byval Tstring As String , Byval Chr_inv As Byte)
Local Tsub As Word , Tword As Word , Tchr As String * 1
For Xx = 1 To Len(tstring)
Tchr = Mid(tstring , Xx , 1)
Select Case Tchr
Case " " : Tsub = 0
Case "a" : Tsub = 1
Case "b" : Tsub = 2
Case "c" : Tsub = 3
Case "d" : Tsub = 4
Case "e" : Tsub = 5
Case "f" : Tsub = 6
Case "g" : Tsub = 7
Case "h" : Tsub = 8
Case "i" : Tsub = 9
Case "j" : Tsub = 10
Case "k" : Tsub = 11
Case "l" : Tsub = 12
Case "m" : Tsub = 13
Case "n" : Tsub = 14
Case "o" : Tsub = 15
Case "p" : Tsub = 16
Case "q" : Tsub = 17
Case "r" : Tsub = 18
Case "s" : Tsub = 19
Case "t" : Tsub = 20
Case "u" : Tsub = 21
Case "v" : Tsub = 22
Case "w" : Tsub = 23
Case "x" : Tsub = 24
Case "y" : Tsub = 25
Case "z" : Tsub = 26
Case "A" : Tsub = 27
Case "B" : Tsub = 28
Case "C" : Tsub = 29
Case "D" : Tsub = 30
Case "E" : Tsub = 31
Case "F" : Tsub = 32
Case "G" : Tsub = 33
Case "H" : Tsub = 34
Case "I" : Tsub = 35
Case "J" : Tsub = 36
Case "K" : Tsub = 37
Case "L" : Tsub = 38
Case "M" : Tsub = 39
Case "N" : Tsub = 40
Case "O" : Tsub = 41
Case "P" : Tsub = 42
Case "Q" : Tsub = 43
Case "R" : Tsub = 44
Case "S" : Tsub = 45
Case "T" : Tsub = 46
Case "U" : Tsub = 47
Case "V" : Tsub = 48
Case "W" : Tsub = 49
Case "X" : Tsub = 50
Case "Y" : Tsub = 51
Case "Z" : Tsub = 52
Case "0" : Tsub = 53
Case "1" : Tsub = 54
Case "2" : Tsub = 55
Case "3" : Tsub = 56
Case "4" : Tsub = 57
Case "5" : Tsub = 58
Case "6" : Tsub = 59
Case "7" : Tsub = 60
Case "8" : Tsub = 61
Case "9" : Tsub = 62
Case "ą" : Tsub = 63
Case "ć" : Tsub = 64
Case "ę" : Tsub = 65
Case "ł" : Tsub = 66
Case "ń" : Tsub = 67
Case "ó" : Tsub = 68
Case "ś" : Tsub = 69
Case "ź" : Tsub = 70
Case "ż" : Tsub = 71
Case "Ł" : Tsub = 72
Case "Ś" : Tsub = 73
Case "Ź" : Tsub = 74
Case "Ż" : Tsub = 75
Case "}" : Tsub = 76
Case "[" : Tsub = 77
Case "-" : Tsub = 78
Case "," : Tsub = 79
Case "^" : Tsub = 80
Case Else : Goto Exit_case
End Select
Restore Ascii
Set Lcd_cmd 'turn off command mode
Tsub = Tsub * 6
If Tsub <> 0 Then
For Tword = 1 To Tsub 'shift to character pointer
Read Tout 'Tsub times
Next
End If
For Yy = 1 To 6 'printing character loop
Read Tout
If Chr_inv = 1 Then
Tout = Tout Xor &HFF 'invert Tout
End If
Reset Lcd_cs
Spiout Tout , 1 '6x8 bits
Set Lcd_cs
Next
Exit_case:
Next
End Sub
'************************************ Tshowpic *****************************START
Sub Tshowpic
Local Twidth As Byte , Thigh As Byte
Read Twidth
Read Thigh
For Yy = 1 To Thigh
For Xx = 1 To Twidth
Read Tout : Reset Lcd_cs : Spiout Tout , 1 : Set Lcd_cs
Next
Incr Tyloc
Tgphloc Txloc , Tyloc
Next
End Sub
'************************************* 1 Wire subs *************************START
'************************************* Temperature *************************START
Sub Temperature
1wreset : 1wwrite &HCC : 1wwrite &H44 'start measure
Waitms 500 'wait for end of conversion
1wverify Dsid1(1) 'address First Sensor ""
Call Read1820 'read 9 bytes
If Crc = 0 Then 'sensor present, check CRC
T1act = T
If T > T1max Then
T1max = T
End If
If T < T1min Then
T1min = T
End If 'CRC OK, print T*10 on LCD
Else
Crc_ptr = 1 'CRC NOT OK
End If
If Tsens > 1 Then
1wverify Dsid2(1) 'address second sensor
Call Read1820 'read 9 bytes
If Crc = 0 Then 'sensor present, check CRC
T2act = T 'CRC OK, print T*10 on LCD
If T > T2max Then
T2max = T
End If
If T < T2min Then
T2min = T
End If
Else
Crc_ptr = 1 'CRC NOT OK
End If
End If
End Sub
'************************************* Read1820 ****************************START
Sub Read1820 ' reads sensor and calculate
' T for 0.1 C
1wwrite &HBE ' read 9 data
Bd(1) = 1wread(9)
1wreset
' read bytes in array
Call Crcit ' ckeck CRC
If Crc = 0 Then ' if is OK, calculate for
Tmp = Bd(1) And 1 ' 0.1C precision
If Tmp = 1 Then Decr Bd(1)
T = Makeint(bd(1) , Bd(2))
T = T * 50 : T = T - 25 : T1 = Bd(8) - Bd(7) : T1 = T1 * 100
T1 = T1 / Bd(8) : T = T + T1 : T = T / 10
End If
End Sub
'************************************* Crcit *******************************START
Sub Crcit ' calculate 8 bit CRC
' bigger but faster
Crc = 0 ' needs a 256 elements table
For I = 1 To 9
Tmp = Crc Xor Bd(i)
Crc = Lookup(tmp , Crc8)
Next
End Sub
'************************************* Tprinttp ****************************START
Sub Tprinttp(byval T0 As Integer , Byval Xlc As Byte , Byval Ylc As Byte)
Tx1 = Str(t0)
V = Len(tx1)
Select Case V
Case 4 : Tleft = Left(tx1 , 3)
Case 3 : Tleft = Left(tx1 , 2)
Case 2 : Tleft = Left(tx1 , 1)
Case 1 : Tleft = "0"
Case Else : Goto Exit_ttp
End Select
Tright = Right(tx1 , 1)
If Tleft = "-" Then
Tleft = "-0"
End If
Call Tlocate(xlc , Ylc)
Call Tprintf(tleft , 0)
Call Tprintf( "," , 0)
Call Tprintf(tright , 0)
Call Tprintf( "^" , 0)
Select Case V
Case 4 : Goto Exit_ttp
Case 3 : Call Tprintf( " " , 0)
Case 2 : Call Tprintf( " " , 0)
Case 1 : Call Tprintf( " " , 0)
End Select
Exit_ttp:
End Sub
'************************************* ErrorChk ****************************START
Sub Errorchk
If Crc_ptr = 1 Then
Call Tcls
Call Tlocate(0 , 2)
Call Tprintf( " CRC error " , 0)
Err_ptr = 1
Wait 2
Goto Exit_err
End If
If Err_ptr = 1 Then
Call Tcls
Call Tlocate(0 , 2)
Call Tprintf( " unknown error" , 0)
Wait 2
End If
Exit_err:
Crc_ptr = 0
End Sub
'************************************* D A T A *****************************START
Crc8:
Data 0 , 94 , 188 , 226 , 97 , 63 , 221 , 131 , 194 , 156
Data 126 , 32 , 163 , 253 , 31 , 65 , 157 , 195 , 33 , 127
Data 252 , 162 , 64 , 30 , 95 , 1 , 227 , 189 , 62 , 96
Data 130 , 220 , 35 , 125 , 159 , 193 , 66 , 28 , 254 , 160
Data 225 , 191 , 93 , 3 , 128 , 222 , 60 , 98 , 190 , 224
Data 2 , 92 , 223 , 129 , 99 , 61 , 124 , 34 , 192 , 158
Data 29 , 67 , 161 , 255 , 70 , 24 , 250 , 164 , 39 , 121
Data 155 , 197 , 132 , 218 , 56 , 102 , 229 , 187 , 89 , 7
Data 219 , 133 , 103 , 57 , 186 , 228 , 6 , 88 , 25 , 71
Data 165 , 251 , 120 , 38 , 196 , 154 , 101 , 59 , 217 , 135
Data 4 , 90 , 184 , 230 , 167 , 249 , 27 , 69 , 198 , 152
Data 122 , 36 , 248 , 166 , 68 , 26 , 153 , 199 , 37 , 123
Data 58 , 100 , 134 , 216 , 91 , 5 , 231 , 185 , 140 , 210
Data 48 , 110 , 237 , 179 , 81 , 15 , 78 , 16 , 242 , 172
Data 47 , 113 , 147 , 205 , 17 , 79 , 173 , 243 , 112 , 46
Data 204 , 146 , 211 , 141 , 111 , 49 , 178 , 236 , 14 , 80
Data 175 , 241 , 19 , 77 , 206 , 144 , 114 , 44 , 109 , 51
Data 209 , 143 , 12 , 82 , 176 , 238 , 50 , 108 , 142 , 208
Data 83 , 13 , 239 , 177 , 240 , 174 , 76 , 18 , 145 , 207
Data 45 , 115 , 202 , 148 , 118 , 40 , 171 , 245 , 23 , 73
Data 8 , 86 , 180 , 234 , 105 , 55 , 213 , 139 , 87 , 9
Data 235 , 181 , 54 , 104 , 138 , 212 , 149 , 203 , 41 , 119
Data 244 , 170 , 72 , 22 , 233 , 183 , 85 , 11 , 136 , 214
Data 52 , 106 , 43 , 117 , 151 , 201 , 74 , 20 , 246 , 168
Data 116 , 42 , 200 , 150 , 21 , 75 , 169 , 247 , 182 , 232
Data 10 , 84 , 215 , 137 , 107 , 53
Ascii:
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , ' space
Data &H30 , &H4A , &H4A , &H52 , &H7C , &H00 , 'a
Data &H3F , &H48 , &H44 , &H44 , &H38 , &H00 , 'b
Data &H38 , &H44 , &H44 , &H44 , &H28 , &H00 , 'c
Data &H38 , &H44 , &H44 , &H48 , &H7F , &H00 , 'd
Data &H38 , &H54 , &H54 , &H54 , &H18 , &H00 , 'e
Data &H00 , &H04 , &H7E , &H05 , &H00 , &H00 , 'f
Data &H0C , &H52 , &H52 , &H4A , &H3C , &H00 , 'g
Data &H7F , &H08 , &H04 , &H04 , &H78 , &H00 , 'h
Data &H00 , &H44 , &H7D , &H40 , &H00 , &H00 , 'i
Data &H00 , &H40 , &H44 , &H3D , &H00 , &H00 , 'j
Data &H7F , &H20 , &H10 , &H28 , &H44 , &H00 , 'k
Data &H00 , &H41 , &H7F , &H40 , &H00 , &H00 , 'l
Data &H7C , &H04 , &H18 , &H04 , &H7C , &H00 , 'm
Data &H7C , &H08 , &H04 , &H04 , &H78 , &H00 , 'n
Data &H38 , &H44 , &H44 , &H44 , &H38 , &H00, 'o
Data &H7C , &H14 , &H24 , &H24 , &H18 , &H00 , 'p
Data &H18 , &H24 , &H24 , &H14 , &H7C , &H00 , 'q
Data &H7C , &H04 , &H04 , &H08 , &H00 , &H00 , 'r
Data &H08 , &H54 , &H54 , &H54 , &H20 , &H00 , 's
Data &H04 , &H3F , &H44 , &H40 , &H00 , &H00 , 't
Data &H3C , &H40 , &H40 , &H40 , &H3C , &H00 , 'u
Data &H1C , &H20 , &H40 , &H20 , &H1C , &H00 , 'v
Data &H3C , &H40 , &H30 , &H40 , &H3C , &H00 , 'w
Data &H44 , &H28 , &H10 , &H28 , &H44 , &H00 , 'x
Data &H0C , &H50 , &H50 , &H48 , &H3C , &H00 , 'y
Data &H44 , &H64 , &H54 , &H4C , &H44 , &H00 , 'z
Data &H7C , &H12 , &H11 , &H12 , &H7C , &H00 , 'A
Data &H7F , &H49 , &H49 , &H49 , &H36 , &H00 , 'B
Data &H3E , &H41 , &H41 , &H41 , &H22 , &H00 , 'C
Data &H7F , &H41 , &H41 , &H41 , &H3E , &H00 , 'D
Data &H7F , &H49 , &H49 , &H49 , &H41 , &H00 , 'E
Data &H7F , &H09 , &H09 , &H09 , &H01 , &H00 , 'F
Data &H3E , &H41 , &H49 , &H49 , &H3A , &H00 , 'G
Data &H7F , &H08 , &H08 , &H08 , &H7F , &H00 , 'H
Data &H00 , &H41 , &H7F , &H41 , &H00 , &H00 , 'I
Data &H20 , &H41 , &H41 , &H41 , &H3F , &H00 , 'J
Data &H7F , &H08 , &H14 , &H22 , &H41 , &H00 , 'K
Data &H7F , &H40 , &H40 , &H40 , &H40 , &H00 , 'L
Data &H7F , &H02 , &H04 , &H02 , &H7F , &H00 , 'M
Data &H7F , &H04 , &H08 , &H10 , &H7F , &H00 , 'N
Data &H3E , &H41 , &H41 , &H41 , &H3E , &H00 , 'O
Data &H7F , &H09 , &H09 , &H09 , &H06 , &H00 , 'P
Data &H3E , &H41 , &H51 , &H61 , &H7E , &H00 , 'Q
Data &H7F , &H09 , &H19 , &H29 , &H46 , &H00 , 'R
Data &H06 , &H49 , &H49 , &H49 , &H30 , &H00 , 'S
Data &H01 , &H01 , &H7F , &H01 , &H01 , &H00 , 'T
Data &H3F , &H40 , &H40 , &H40 , &H3F , &H00 , 'U
Data &H1F , &H20 , &H40 , &H20 , &H1F , &H00 , 'V
Data &H7F , &H20 , &H10 , &H20 , &H7F , &H00 , 'W
Data &H63 , &H14 , &H08 , &H14 , &H63 , &H00 , 'X
Data &H03 , &H04 , &H78 , &H04 , &H03 , &H00 , 'Y
Data &H61 , &H51 , &H49 , &H45 , &H43 , &H00 , 'Z
Data &H3E , &H51 , &H49 , &H45 , &H3E , &H00 , '0
Data &H00 , &H42 , &H7F , &H40 , &H00 , &H00 , '1
Data &H42 , &H61 , &H51 , &H49 , &H46 , &H00 , '2
Data &H22 , &H41 , &H49 , &H49 , &H36 , &H00 , '3
Data &H18 , &H14 , &H12 , &H7F , &H10 , &H00 , '4
Data &H27 , &H45 , &H45 , &H45 , &H39 , &H00 , '5
Data &H3E , &H49 , &H49 , &H49 , &H32 , &H00 , '6
Data &H61 , &H11 , &H09 , &H05 , &H03 , &H00 , '7
Data &H36 , &H49 , &H49 , &H49 , &H36 , &H00 , '8
Data &H26 , &H49 , &H49 , &H49 , &H3E , &H00 , '9
Data &H30 , &H4A , &H4A , &HD2 , &H7C , &H00 , 'ą
Data &H38 , &H44 , &H46 , &H45 , &H28 , &H00 , 'ć
Data &H38 , &H54 , &H54 , &HD4 , &H18 , &H00 , 'ę
Data &H00 , &H49 , &H7F , &H44 , &H00 , &H00 , 'ł
Data &H7C , &H08 , &H06 , &H05 , &H78 , &H00 , 'ń
Data &H38 , &H44 , &H46 , &H45 , &H38 , &H00 , 'ó
Data &H08 , &H54 , &H56 , &H55 , &H20 , &H00 , 'ś
Data &H44 , &H64 , &H56 , &H4D , &H44 , &H00 , 'ź
Data &H44 , &H64 , &H55 , &H4C , &H44 , &H00 , 'ż
Data &H10 , &H7F , &H44 , &H42 , &H40 , &H00 , 'Ł
Data &H04 , &H4A , &H4B , &H4A , &H30 , &H00 , 'Ś
Data &H62 , &H56 , &H4B , &H46 , &H42 , &H00 , 'Ź
Data &H61 , &H59 , &H49 , &H4D , &H43 , &H00 , 'Ż
Data &H7E , &H43 , &H41 , &H43 , &H7E , &H00 , '} BATT
Data &H00 , &H00 , &H00 , &H7F , &H7F , &H00 , '[ PASEK
Data &H00 , &H08 , &H08 , &H08 , &H08 , &H00 , '-
Data &H00 , &H80 , &H60 , &H00 , &H00 , &H00 , ',
Data &H00 , &H02 , &H05 , &H05 , &H02 , &H00 '^ DEGR
Egypt:
Data 84 , 3, ' Image Table Name, Xbytes, N of Lines, 254 bytes
Data &HFF , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01,
Data &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H81 , &H81 , &H81 , &H41 , &H41 , &H21,
Data &H21 , &H31 , &H11 , &H11 , &H11 , &H11 , &H11 , &H31 , &H21 , &HA1 , &H41 , &HC1 , &H81 , &H81 , &H01 , &H01,
Data &H01 , &H01 , &H01 , &H81 , &HC1 , &HE1 , &HF1 , &HF9 , &HFF , &HF3 , &H8D , &H11 , &H31 , &H41 , &H81 , &H81,
Data &HE1 , &HF1 , &HF9 , &HFD , &HFF , &HFF , &HFD , &H09 , &H11 , &H21 , &H41 , &H81 , &H01 , &H01 , &H01 , &H01,
Data &H01 , &H01 , &H01 , &HFF , &HFF , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H60 , &H60 , &H3C , &H04 , &H06 , &H03 , &H01 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H80 , &HE0 , &HE0 , &HF8 , &HFC , &HFE , &HFF , &HFF , &H82 , &H04,
Data &H08 , &H30 , &HE1 , &HE3 , &HF4 , &HFC , &HFE , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HF0,
Data &HFC , &HFC , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFE , &HE0 , &H00 , &H00 , &H00,
Data &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &HC0 , &HFF , &HFF , &HFE , &HDE , &HFE , &HFE , &HFF , &HFE , &HFF,
Data &HFE , &HFF , &HEF , &HEF , &HDF , &HDF , &HFF , &HEF , &HFF , &HEF , &HEF , &HEF , &HEF , &H9E , &HDE , &HDE,
Data &HDE , &HDE , &HCE , &HCE , &HCE , &HEE , &HEE , &HCE , &H8E , &HCF , &HCF , &HCF , &HDF , &HEF , &HCF , &HEF,
Data &HCF , &HEF , &HDF , &HFC , &HFE , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF,
Data &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF,
Data &HFF , &HFE , &HFC , &HFC , &HF8 , &HFC , &HFC , &HFF , &HFF , &HFF , &HFC , &HFF
Been:
Data 48 , 4, ' Image Table Name, Xbytes, N of Lines, 194 bytes
Data &H00 , &H00 , &H00 , &H1C , &H70 , &H80 , &H00 , &H80 , &HE0 , &H18 , &H08 , &H0C , &H04 , &H04 , &H06 , &H02,
Data &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H06 , &H04 , &H0C , &H0C , &H7C , &HF8,
Data &HF8 , &HF0 , &HF0 , &HF0 , &HF0 , &HE0 , &HE0 , &HE0 , &HE0 , &HC0 , &HC0 , &H60 , &H30 , &H18 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H07 , &H0E , &H3F , &H7F , &HF8 , &H0C , &H24 , &H74 , &H3C , &H3C , &HDC,
Data &H5C , &H58 , &H30 , &H00 , &H00 , &HF8 , &HFC , &HFC , &HFE , &H5E , &H5E , &H5E , &H4E , &H7E , &H7E , &H3C,
Data &H3D , &H3F , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &H01 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H1B , &HFE , &HFC , &HF0 , &HC0 , &H80 , &HF0,
Data &HE8 , &HE0 , &HE0 , &HC0 , &HE0 , &HEB , &HEF , &HF7 , &HF6 , &HFC , &HF8 , &HF0 , &HE0 , &HC0 , &HE0 , &HF8,
Data &HFE , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &H7F , &H03 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H03 , &H07 , &H1F , &H3F , &H3F,
Data &H3F , &H3F , &H3D , &H39 , &H39 , &H3B , &H39 , &H39 , &H3D , &H3F , &H3F , &H3F , &H3F , &H3F , &H3F , &H3F,
Data &H3F , &H3F , &H3F , &H3F , &H3F , &H1F , &H07 , &H01 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00