Difference between revisions of "Lichtkrant Sigma ASC 333"

From RevSpace
Jump to navigation Jump to search
(Created page with "{{NewsItem |Name=Sigma ASC 333 |Date=2016-08-02 |Info=Toffe spullen op de weggeeftafel die een tweede kans krijgen! }} De Sigma ASC 333 die op de gratis weggeeftafel lag i...")
 
m
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{NewsItem
+
{{Project
|Name=Sigma ASC 333
+
  |Name= Lichtkrant Sigma ASC 333
|Date=2016-08-02
+
  |Picture=20cfd30e10c772ea31ace5881e51c2aa.jpg
|Info=Toffe spullen op de weggeeftafel die een tweede kans krijgen!
+
  |Omschrijving=Lichtkrant voor het restaurant
}}
+
  |Status= Completed
 +
  |Contact=Sebastius
 +
  }}
 +
==Inleiding==
 +
De Sigma ASC 333 die op de gratis weggeeftafel lag is door [[benadski]] gerepareerd. De voeding is zo aangepast dat deze ook op gelijkstroom kan werken, en is dus meteen geschikt gemaakt voor zijn [http://altpwr.net/ ALTPWR 42V gelijkstroomnet].
  
De Sigma ASC 333 die op de gratis weggeeftafel lag is door [[benadski]] gerepareerd!
+
Hierna heeft Sebastius de lichtkrant verder in onderzoek genomen om het ding makkelijk over MQTT te voorzien van informatie.
De voeding is zo aangepast dat deze ook op gelijkstroom kan werken, en is dus meteen geschikt gemaakt voor zijn [http://altpwr.net/ ALTPWR 42V gelijkstroomnet].
 
  
[[File:20cfd30e10c772ea31ace5881e51c2aa.jpg|650px]]
+
==Huidige staat==
 +
9 oktober 2016 - MQTT werkt, NTP werkt. Lichtkrant start en laat nu de 24uurs-klok zien in drie kleuren. Voeding netter gemaakt (Wago-klemmen zijn weg).
 +
September 2016 - Spaceloop bordje geschikt gemaakt (twee weerstandjes erbij gehackt, 5v regulator gebypasst). Protocol uitgelezen met hulp van antieke PC.
 +
 
 +
23 oktober 2016 - Als klok neergezet in restaurant. Momenteel weinig zin om verder met de code te gaan.
 +
 
 +
==Plan==
 +
Een ESP aan MQTT moet dit ding gaan voeden met teksten. Daarna mag hij in het restaurant voor allerhande informatievoorzieningen.
 +
 
 +
==Reverse Engineering==
 +
De software draait niet op moderne systemen. Hierom is een oud beestje van stal gehaald om het protocol (zie onder) te achterhalen:
 +
 
 +
[[File:Lichtkrant_IMG_2340.JPG|300px]] [[File:Lichtkrant_IMG_2341.JPG|300px]]
 +
 
 +
Toegevoegd nog om het feest compleet te maken: een ESP (met een MAX232 bordje op een soft-serial pin) die het signaal van de PC ontvangt, inverteert en in een leesbaar formaat weer naar de reguliere USB-serial overzet.
 +
 
 +
==Hardware==
 +
[[File:Lichtkrant_IMG_2338.JPG|300px]]
 +
 
 +
Dit was de eerste 'level shifter'. Een transistor en twee weerstanden aan elkaar gehackt met WAGO klemmen.
 +
 
 +
[[File:Lichtkrang_IMG_2342.JPG|300px]]
 +
 
 +
Nu is er een licht aangepast SpaceLoop 3 bordje. De lichtkrant voedt de ESP via de terminal-kabel (5v, GND, RX zijn aangesloten). Vier modificaties:
 +
 
 +
* Buzzer NPN transistor ESP-basisweerstand is nu 10k
 +
* Pullup 300ohm tussen 5v en de collector van de Buzzer NPN (er past precies een 0805 SMD weerstand tussen de pinnetjes van de RJ45
 +
* 5v regulator weggelaten en de 5v met de VCC lijn verbonden
 +
* Dikke condensator (100uF) op de VCC rails, in plaats van de printkroonsteen aldaar.
 +
 
 +
==Informatie over de Sigma ASC 333==
 +
 
 +
Manual / software: [http://elektrotanya.com/sigma_asc_333,as226_fenyujsag_software.zip/download.html]
 +
 
 +
Prococol: [http://www.hetlab.tk/artikelen/lichtkrant-protocol]
 +
 
 +
[[Media:Lichtkrant_protocol.pdf]] Bovenstaande website als PDF aangezien hij vaak niet bereikbaar is.
 +
 
 +
==Protocol==
 +
Een heleboel nageplozen en uitgevogeld hoe het werkt
 +
 
 +
 +
'''Sync'''
 +
0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
 +
 +
'''Tekstoverdracht starten'''
 +
0xBB,
 +
 +
'''Programmakeuze'''
 +
0xAF, 0x41,
 +
Parameter is de letter A (0x41) voor programma A (A-Z is beschikbaar, alleen A kan GoSubs doen)
 +
 +
'''Einde tekstoverdracht'''
 +
0xBF, 0xB1,
 +
  dit stuur je als laatste mee om de boel af te sluiten.
 +
 +
'''Letters oversturen'''
 +
kleur, letter
 +
 +
0x01 = zwarte achtergrond, rode letter
 +
Letter gewoon in Ascii
 +
 +
'''Spatie / dubbele punt'''
 +
Deze moet je omwisselen, dus spatie geeft een dubbelepunt, en andersom
 +
 +
'''Custom Char aanvragen'''
 +
Kleur zit IN het character, is dus niet on the fly te wisselen
 +
0x10, 0x0,
 +
0x10, 0x8,
 +
0x10, 0x10
 +
2e is de code uit de tabel (zie onder)
 +
 +
'''Speed'''
 +
0xA0, 0x31,
 +
0xA0, 0x32,
 +
0xA0, 0x38,
 +
0xA0, 0x39,
 +
 +
0xA0 is commando, daarna in Ascii de waarde 1-9
 +
 +
'''Wait'''
 +
0xA1, 0x31,
 +
0xA1, 0x32,
 +
0xA1, 0x38,
 +
0xA1, 0x39,
 +
 +
0xA1 is commando, daarna in Ascii de waarde 1-9
 +
 +
'''Gosub'''
 +
 +
0xA2, 0x42,
 +
 +
0xA2 = GoSub
 +
0x42 = B (programma B)
 +
 +
'''Klok'''
 +
Klok blijft 3 seconden in beeld bij een aanroep
 +
 +
24uursklok rood
 +
0x8F, 0x05,
 +
 +
24uursklok groen
 +
0x8F, 0x06,
 +
 +
24uursklok geel
 +
0x8F, 0x07,
 +
 +
12uurs klok rood
 +
0x8F, 0x01,
 +
 +
12uurs klok groen
 +
0x8F, 0x02,
 +
 +
12uurs klok geel
 +
0x8F, 0x03,
 +
 +
'''Left'''
 +
0x80, 0x02,
 +
 +
'''Right'''
 +
0x81, 0x02,
 +
 +
'''Up'''
 +
0x82, 0x02,
 +
 +
'''Down'''
 +
0x83, 0x02,
 +
 +
'''Open <>'''
 +
0x84, 0x02,
 +
 +
'''Closed ><'''
 +
0x85, 0x02,
 +
 +
'''Open>'''
 +
0x86, 0x02,
 +
 +
'''Close> (haalt tekst weg, dus na tekst plaatsen)'''
 +
0x87, 0x02,
 +
 +
'''Brede letters'''
 +
Ascii code +128 (dec) / +80 (hex)
 +
 +
'''Tijd instellen'''
 +
 +
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, '''0xBE, 0x33''',
 +
 
 +
0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36,
 +
yy/mm/dd hh:mm:ss
 +
 +
'''0xBF, 0xB1''',
 +
 +
 +
'''Custom Font Tabel'''
 +
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, '''0xBD''',
 +
 +
eerste byte is letternummer, 6 bytes voor rood, 6 bytes voor groen,
 +
verticaal van onder naar boven geteld, eerste bit 0 laten, MSB onderaan
 +
 +
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60,
 +
0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x8, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x10, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60,
 +
0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x17, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x1F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x29, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x2A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x2B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x2C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
 +
0x2D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
 +
0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
0x2F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 +
 +
0xBF, '''0xB3''',

Latest revision as of 15:04, 23 October 2016

Project Lichtkrant Sigma ASC 333
20cfd30e10c772ea31ace5881e51c2aa.jpg
Lichtkrant voor het restaurant
Status Completed
Contact Sebastius
Last Update 2016-10-23

Inleiding

De Sigma ASC 333 die op de gratis weggeeftafel lag is door benadski gerepareerd. De voeding is zo aangepast dat deze ook op gelijkstroom kan werken, en is dus meteen geschikt gemaakt voor zijn ALTPWR 42V gelijkstroomnet.

Hierna heeft Sebastius de lichtkrant verder in onderzoek genomen om het ding makkelijk over MQTT te voorzien van informatie.

Huidige staat

9 oktober 2016 - MQTT werkt, NTP werkt. Lichtkrant start en laat nu de 24uurs-klok zien in drie kleuren. Voeding netter gemaakt (Wago-klemmen zijn weg). September 2016 - Spaceloop bordje geschikt gemaakt (twee weerstandjes erbij gehackt, 5v regulator gebypasst). Protocol uitgelezen met hulp van antieke PC.

23 oktober 2016 - Als klok neergezet in restaurant. Momenteel weinig zin om verder met de code te gaan.

Plan

Een ESP aan MQTT moet dit ding gaan voeden met teksten. Daarna mag hij in het restaurant voor allerhande informatievoorzieningen.

Reverse Engineering

De software draait niet op moderne systemen. Hierom is een oud beestje van stal gehaald om het protocol (zie onder) te achterhalen:

Lichtkrant IMG 2340.JPG Lichtkrant IMG 2341.JPG

Toegevoegd nog om het feest compleet te maken: een ESP (met een MAX232 bordje op een soft-serial pin) die het signaal van de PC ontvangt, inverteert en in een leesbaar formaat weer naar de reguliere USB-serial overzet.

Hardware

Lichtkrant IMG 2338.JPG

Dit was de eerste 'level shifter'. Een transistor en twee weerstanden aan elkaar gehackt met WAGO klemmen.

Lichtkrang IMG 2342.JPG

Nu is er een licht aangepast SpaceLoop 3 bordje. De lichtkrant voedt de ESP via de terminal-kabel (5v, GND, RX zijn aangesloten). Vier modificaties:

  • Buzzer NPN transistor ESP-basisweerstand is nu 10k
  • Pullup 300ohm tussen 5v en de collector van de Buzzer NPN (er past precies een 0805 SMD weerstand tussen de pinnetjes van de RJ45
  • 5v regulator weggelaten en de 5v met de VCC lijn verbonden
  • Dikke condensator (100uF) op de VCC rails, in plaats van de printkroonsteen aldaar.

Informatie over de Sigma ASC 333

Manual / software: [1]

Prococol: [2]

Media:Lichtkrant_protocol.pdf Bovenstaande website als PDF aangezien hij vaak niet bereikbaar is.

Protocol

Een heleboel nageplozen en uitgevogeld hoe het werkt


Sync
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 

Tekstoverdracht starten
0xBB, 

Programmakeuze
0xAF, 0x41, 
Parameter is de letter A (0x41) voor programma A (A-Z is beschikbaar, alleen A kan GoSubs doen)

Einde tekstoverdracht
0xBF, 0xB1, 
 dit stuur je als laatste mee om de boel af te sluiten.

Letters oversturen
kleur, letter

0x01 = zwarte achtergrond, rode letter
Letter gewoon in Ascii

Spatie / dubbele punt
Deze moet je omwisselen, dus spatie geeft een dubbelepunt, en andersom

Custom Char aanvragen
Kleur zit IN het character, is dus niet on the fly te wisselen
0x10, 0x0, 
0x10, 0x8, 
0x10, 0x10
2e is de code uit de tabel (zie onder)

Speed
0xA0, 0x31, 
0xA0, 0x32, 
0xA0, 0x38, 
0xA0, 0x39,

0xA0 is commando, daarna in Ascii de waarde 1-9

Wait
0xA1, 0x31, 
0xA1, 0x32, 
0xA1, 0x38, 
0xA1, 0x39,

0xA1 is commando, daarna in Ascii de waarde 1-9

Gosub

0xA2, 0x42, 

0xA2 = GoSub
0x42 = B (programma B)

Klok
Klok blijft 3 seconden in beeld bij een aanroep

24uursklok rood
0x8F, 0x05,

24uursklok groen
0x8F, 0x06,

24uursklok geel
0x8F, 0x07,

12uurs klok rood
0x8F, 0x01,

12uurs klok groen
0x8F, 0x02,

12uurs klok geel
0x8F, 0x03,

Left
0x80, 0x02,

Right
0x81, 0x02,

Up
0x82, 0x02,

Down
0x83, 0x02,

Open <>
0x84, 0x02,

Closed ><
0x85, 0x02,

Open>
0x86, 0x02,

Close> (haalt tekst weg, dus na tekst plaatsen)
0x87, 0x02,

Brede letters
Ascii code +128 (dec) / +80 (hex)

Tijd instellen

0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBE, 0x33,
 
0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36,
yy/mm/dd hh:mm:ss

0xBF, 0xB1, 


Custom Font Tabel
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBD, 

eerste byte is letternummer, 6 bytes voor rood, 6 bytes voor groen, 
verticaal van onder naar boven geteld, eerste bit 0 laten, MSB onderaan

0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 
0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x8, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x10, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x60, 
0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x17, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x1F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x29, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x2A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x2B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x2C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,  
0x2D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,  
0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x2F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 

0xBF, 0xB3,