Repository: ArjanteMarvelde/uSDR-pico Branch: main Commit: 1253502fac2c Files: 33 Total size: 623.1 KB Directory structure: gitextract_jg7cwinb/ ├── .github/ │ └── workflows/ │ └── cmake.yml ├── CMakeLists.txt ├── README.md ├── dsp.c ├── dsp.h ├── dsp_fft.c ├── dsp_tim.c ├── fix_fft.c ├── fix_fft.h ├── font16.c ├── font20.c ├── font24.c ├── font7spp.c ├── font8.c ├── fontAR.c ├── fontGR.c ├── fontSYM16.c ├── fontSYM32.c ├── fonts.h ├── fontub.c ├── fontubb.c ├── hmi.c ├── hmi.h ├── lcd.c ├── lcd.h ├── monitor.c ├── monitor.h ├── relay.c ├── relay.h ├── si5351.c ├── si5351.h ├── uSDR.c └── uSDR.h ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/workflows/cmake.yml ================================================ name: CMake on: # Trigger the workflow on push or pull request, # but only for the main branch push: branches: - main pull_request: branches: - main env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release PICO_SDK_FETCH_FROM_GIT: 1 jobs: build-firmware: # The CMake configure and build commands are platform agnostic and should work equally # well on Windows or Mac. You can convert this to a matrix build if you need # cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ubuntu-latest name: build-frmware steps: - uses: actions/checkout@v2 - name: Install libs # Some projects don't allow in-source building, so create a separate build directory # We'll use this as our working directory for all subsequent commands run: sudo apt-get install -y gcc-arm-none-eabi - name: Create Build Environment shell: bash run: cmake -E make_directory ${{runner.workspace}}/build - name: Configure CMake shell: bash working-directory: ${{runner.workspace}}/build run: cmake $GITHUB_WORKSPACE - name: Build firmware working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . ================================================ FILE: CMakeLists.txt ================================================ # Generated Cmake Pico project file # # After changing this file, empty the build folder and execute from there: # cmake -G "Ninja" .. # cmake_minimum_required(VERSION 3.13) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) # initalize pico_sdk from installed location # (note this can come from environment, CMake cache etc) set(PICO_SDK_PATH "C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk") # Pull in Raspberry Pi Pico SDK (must be before project) include(${PICO_SDK_PATH}/external/pico_sdk_import.cmake) project(uSDR-Pico C CXX ASM) # Initialise the Raspberry Pi Pico SDK pico_sdk_init() # Add executable. Default name is the project name, version 0.1 # uSDR.c main loop and initialisation of the software # lcd.c LCD driver stuff; pay attention, X different HW implementations exist # si5351.c The drivers for setting output frequency and phase in the SI5351 chip # dsp.c The signal processing stuff, either timedomain or frequency domain # fix_fft.c The FFT transformations in fixed point format # hmi.c All user interaction, controlling freq, modulation, levels, etc # monitor.c A tty shell on a serial interface # relay.c Switching for the band filter and attenuator relays # font?.c Graphical character fonts add_executable(uSDR-Pico uSDR.c lcd.c si5351.c dsp.c fix_fft.c hmi.c monitor.c relay.c font7spp.c font8.c font16.c font20.c font24.c fontub.c fontubb.c fontAR.c fontGR.c fontSYM32.c fontSYM16.c ) target_compile_options(uSDR-Pico PRIVATE -Wall) pico_set_program_name(uSDR-Pico "uSDR-Pico") pico_set_program_version(uSDR-Pico "4.0") # Pull in our pico_stdlib which aggregates commonly used features target_link_libraries(uSDR-Pico pico_stdlib) # Disable uart output, enable usb output pico_enable_stdio_uart(uSDR-Pico 0) pico_enable_stdio_usb(uSDR-Pico 1) # Add any user requested libraries target_link_libraries(uSDR-Pico pico_stdlib pico_multicore hardware_i2c hardware_spi hardware_pwm hardware_gpio hardware_timer hardware_clocks hardware_pll hardware_adc hardware_dma ) # create map/bin/hex/uf2 file in addition to ELF. pico_add_extra_outputs(uSDR-Pico) ================================================ FILE: README.md ================================================ ![uSDR-Pico 4](https://github.com/ArjanteMarvelde/uSDR-pico/blob/main/doc/uSDR-Pico-4.jpg) The new V4.0 is now available: - Integrated audio on the CPU board - Moved VFO to Mixer board - Use discrete MMIC for LNA on RX board - New low power TX board - New layout BPF board - Proper bus connectors for all 5 boards, - Increased board size: 2" x 3.7", with the bus connectors this enables a cleaner stack - LCD graphical display (ILI9341 based: 320x240) - No more RS232, replaced with USB interface which can also be used for programming - Recalculated all filters The V4.0 schematics are now available in KiCAD format, so open for all to adapt. In the package I included a library with some dedicated definitions. Note that there are some patches needed to make things functional. These are described in the documentation. New software to run on this upgrade is also available as a package. Please update your SDK before building. The V4.1 SW package is also available. This version only works when the patches on the HW have been made, as described in the [V4.10](https://github.com/ArjanteMarvelde/uSDR-pico/blob/main/doc/uSDR%20-%20v4.10.pdf) documentation. Still to be done: - More software updates # uSDR-pico This Git repository contains a Micro-SDR implementation, based on a RP2040 Pi Pico. The project is highly experimental, foremost intended to investigate how the Pico HW and SDK work with an application like this. Also, it is a platform to experiment with digital signal processing techniques. The repository contains the code for an experimental implementation of the control and signal processing for a Quadrature Sampling Detector (QSD) and - Exciter (QSE) based transceiver. For completeness, the repository contains the electronic design of some modules that cover the mixing, filtering and RF amplification, as I have implemented in my prototype. See the *doc* subdirectory for full documentation. The ZIP files contain a consistent package, but the latest code with all the bug fixes and some new features is contained in the files in the main directory. Starting with the V3.00 package **uSDR-pico** contains *two signal processing engines*, selectable with a compile switch in uSDR.h. The first engine is the time domain processor, more or less as in V2.00, and the second engine is a new FFT-based frequency domain processor. For a more detailed description of the software and the hardware, again refer to the elaborate documentation. The processor platform is a Pi Pico module, with an RP2040 device. This processor has dual cores running at 125MHz each, and a very configurable I/O which eases the HW design enormously. The platform can be overclocked, but some functions seem to become unstable when pushed too far. It is one of the topics for further investigation, although performance-wise not neccessary at the moment. The software is distributed over the two cores: *core0* takes care of all user I/O and control functions, while *core1* performs all of the signal processing. The *core1* functionality consists of a TX-branch and an RX-branch, each invoked by a function that is synchronized by a timer every 64usec. Hence the signal processing rythm on *core1* effectively is 15.625kHz. On *core1* the three ADC channels are continuously sampled at maximum speed in round-robin mode. Samples are therefore taken every 6usec for each channel, maximum jitter between I and Q channels is 2usec, which has a negligible effect in the audio domain. For the time domain processing the TX and RX functions are executed within every 64usec timeslot, but for the frequency domain processing the samples are collected until half an FFT buffer is filled (512 samples), and hence this happens every 32msec (in background). On *core0* the main loop takes care of user I/O, all other controls and the monitor port. There is also a LED flashing timer callback functioning as a heartbeat. The Pico controls an Si5351A clock module to obtain the switching clock for the QSE and QSD. The module outputs two synchronous square wave clocks on ch 0 and 1, whith selectable phase difference (0, 90, 180 or 270 degrees). The clock on ch2 is free to be used for other goals. The module is controlled over one of the I2C channels. The display is a standard 16x2 LCD, but with an I2C interface. The display is connected through the other I2C channel, as well as the bus expanders for controlling the various relays. ## Open issues: - [ ] all SW to be tested on new v4.10 HW - [ ] add simple waterfall over the 7.8kHz FFT band, as tuning assist - [ ] upgrade SDK and HW to the Pico 2 board - [ ] audio interface over USB ## Installing and using the SDK: Forget about collecting all the tooling manually in Windows, and avoid going through the hassle of keeping all things in sync. Instead, use Ubuntu on WSL (Windows Subsystem for Linux) and use the command line interface to generate your build. You can still edit the source files in Windows e.g. with Notepad++. ### Ubuntu on WSL Make sure that virtualization is enabled in BIOS open Powershell as administrator - wsl --install restart computer open Powershell as administrator - wsl.exe --list --online (to see the list of distro's) - wsl.exe --install [Distro] (I have used *Ubuntu-24.04*) exit Powershell run ubuntu from the Start menu - sudo apt update - sudo apt upgrade - sudo apt install cmake gcc-arm-none-eabi build-essential libnewlib-arm-none-eabi git ### Get SDK and other stuff run ubuntu from the Start menu - cd ~ - mkdir pico - cd pico - git clone -b master https://github.com/raspberrypi/pico-sdk.git - cd pico-sdk - git submodule update --init - cd ~/pico - git clone -b master https://github.com/raspberrypi/pico-examples.git - cd ~ - nano .bashrc add to the end: *export PICO_SDK_PATH=~/pico/pico-sdk* (now the *CMakeLists.txt* file no longer needs to set this) - save file and exit nano - exit ### Test with blink example run ubuntu from the Start menu - cd ~/pico/pico-examples - mkdir build - cd build - cmake .. - cd blink - make ### Some hints In Ubuntu the windows C:\ is available under **/mnt/c** Likewise, the Documents folder: **/mnt/c/Users//Documents** Use "explorer.exe ." to open a windows explorer in the current directory ## Building uSDR-pico: In ubuntu, git clone the uSDR-pico files: "cd ~~/pico; git clone https://github.com/ArjanteMarvelde/uSDR-pico". Create the build folder: "mkdir ~~/pico/uSDR-pico/build". Edit **~/pico/uSDR-pico/CMakeLists.txt** to have the correct environment parameter *PICO_SDK_PATH*, but it should also take it from the environment setting. In line with above installation this will be "~/pico/pico-sdk". Now create the build environment, "cd ~/pico/uSDR-pico/build; cmake ..". *Note* that every time you change something in **CMakeLists.txt** (like adding another source file to the build) you will have to clean the build folder and execute cmake once more: "cd ~/pico/uSDR-pico/build; rm -rf *; cmake ..". Now you have initialized the build environment and by executing **make** in the **build** folder, all SDK libraries and finally the Pi Pico loadable file **uSDR.uf2** will be created. *Note that when environment errors are encountered, it may help to empty the build folder and re-issue the cmake command.* Rebooting the Pico while the bootsel button is pressed will open a Windows Explorer window with the Pico shown as a Mass Storage Device (e.g. drive E:). Moving **uSDR.uf2** from the build to the Pico drive is as easy as dragging and dropping this file in windows explorer. ## Releases Stable packages are archived in zip files. The source files in the root folder are newest and could be used to replace files from the zip archive. There are pre-built UF2 files for three display types, which could be tried. However, there are too many differnt types and addresses, so it is better to build a fresh one for your own implementation. The PCB files have been made with Eagle 5.11, and can be modified or otherwise re-used when needed. The CAM files for each board are packaged in separate zips, these can be used as-is to order PCBs. # Background The Raspberry website contains the manuals, of which the *C-SDK description*, the *RP2040 datasheet* and the *Pico Pinout* are absolute must-reads when you start writing software. For calculating filters I have used the free software from [Iowa Hills](http://www.iowahills.com/8DownloadPage.html) (website has been down for a while, but files can be found using [Wayback Machine]( https://web.archive.org/web/20210819042054/http://www.iowahills.com/8DownloadPage.html)) I also used the online FIR filter calculator [T-Filter](http://t-filter.engineerjs.com/) # Copyright notice **The code and electronic designs as well as the implementations presented in this repository can be copied and modified freely, for non-commercial use. Use for commercial purposes is allowed as well, as long as a reference to this repository is included in the product.** See also my [Wave Form Generator](https://github.com/ArjanteMarvelde/uWFG-Pico) project. ================================================ FILE: dsp.c ================================================ /* * dsp.c * * Created: Mar 2021 * Author: Arjan te Marvelde * * Signal processing of RX and TX branch, to be run on the second processor core (CORE1). * * The actual DSP engine can be either FFT based in the frequency domain, or in the time domain. * In dsp.h this can be selected compile-time, by defining the environment variable DSP_FFT. * */ #include "pico/stdlib.h" #include "pico/multicore.h" #include "pico/platform.h" #include "pico/time.h" #include "pico/sem.h" #include "hardware/structs/bus_ctrl.h" #include "hardware/pwm.h" #include "hardware/adc.h" #include "hardware/dma.h" #include "hardware/irq.h" #include "hardware/timer.h" #include "hardware/clocks.h" #include "uSDR.h" #include "dsp.h" #include "hmi.h" #include "fix_fft.h" volatile bool tx_enabled; // TX branch active volatile int32_t dsp_overrun; // Overrun counter (could be underrun too) /* * DAC_RANGE defines PWM cycle, determining DAC resolution and PWM frequency. * DAC resolution = Vcc / DAC_RANGE * PWM frequency = Fsys / DAC_RANGE * A value of 250 means 125MHz/250=500kHz * ADC is 12 bit, so resolution is by definition 4096 */ #define DAC_RANGE 256 #define DAC_BIAS (DAC_RANGE/2) #define ADC_RANGE 4096 #define ADC_BIAS (ADC_RANGE/2) volatile uint16_t dac_iq, dac_audio; /*** External Interfaces, mostly used by hmi.c ***/ /* * MODE is modulation/demodulation * This setting steers the signal processing branch chosen */ volatile int dsp_mode; void dsp_setmode(int mode) { dsp_mode = mode; } /* * S-Meter is for now based on RSSI, which is in fact the signal level in the preprocessor, * in uV equivalent. The S level makes 6dB steps, i.e. factor 2 in voltage. The length of * the (I,Q) vector (amplitude) of Rx signal is taken as reference for RSSI. This covers the * whole sampled RX band, and is not specific to a particular station. To realize that, the * S value must be calculated after FFT and for the specific tuning frequency. * Returned S value is highest bit set, i.e. RSSI of 512 corresponds with S9 (S=log2(RSSI)) * This value was calibrated roughly by using the sam antenna and * comparing an IC R71-E with my uSDR HW implementation and ADC_INT=8. * +20dB means 10x the S-9 RSSI level, or >5120 * +40dB means 100x the S-9 RSSI level, or >51200 */ #define S940 51200 #define S930 16180 #define S920 5120 #define S910 1618 #define S9 512 #define S8 256 #define S7 128 #define S6 64 #define S5 32 #define S4 16 #define S3 8 #define S2 4 #define S1 2 #define LSH 12 // LPF SHift coefficient for level measurement volatile uint32_t dsp_rssi, dsp_vox; // Signal levels for IF and Audio ADC channels (fixed point 16.16) int get_sval(void) { uint32_t sval = GET_RSSI_LEVEL; // Make local copy to prevent access glitches if (sval>S940) return(94); // Return max 2 digits! if (sval>S930) return(93); if (sval>S920) return(92); if (sval>S910) return(91); if (sval>S9) return(9); if (sval>S8) return(8); if (sval>S7) return(7); if (sval>S6) return(6); if (sval>S5) return(5); if (sval>S4) return(4); if (sval>S3) return(3); if (sval>S2) return(2); return(1); } /* * AGC reference level is log2(0x40) = 6, where 0x40 is the MSB of half DAC_RANGE * 1/AGC_DECAY and 1/AGC_ATTACK are multipliers before agc_gain value integrator * These values should ultimately be set by the HMI. * The time it takes to a gain change is the ( (Set time)/(signal delta) ) / samplerate * So when delta is 1, and attack is 64, the time is 64/15625 = 4msec (fast attack) * The decay time is about 100x this value * Slow attack would be about 4096 */ #define AGC_REF 6 #define AGC_DECAY 8192 #define AGC_SHORT 64 #define AGC_LONG 4096 #define AGC_DIS 32766 #define IFAGC_TOP 1023 #define RXAGC_TOP 2047 #define TXAGC_TOP 2047 volatile uint16_t agc_decay = AGC_DIS; volatile uint16_t agc_attack = AGC_DIS; void dsp_setagc(int agc) { switch(agc) { case AGC_SLOW: agc_attack = AGC_LONG; agc_decay = AGC_DECAY; break; case AGC_FAST: agc_attack = AGC_SHORT; agc_decay = AGC_DECAY; break; default: agc_attack = AGC_DIS; agc_decay = AGC_DIS; break; } } /* * VOX LINGER is the number msec to wait before releasing TX mode * The level of detection is derived from the maximum ADC range. */ #define VOX_LINGER 500 // 500msec volatile uint16_t vox_count = 0; // Linger time in # of samples volatile uint16_t vox_level = 0; // ADC_BIAS is maximum amplitude from ADC volatile bool vox_active; // Is set when audio energy > vox level (and not OFF) void dsp_setvox(int vox) { switch(vox) { case VOX_HIGH: vox_level = ADC_BIAS/2; break; case VOX_MEDIUM: vox_level = ADC_BIAS/4; break; case VOX_LOW: vox_level = ADC_BIAS/16; break; default: vox_level = 0; vox_count = 0; break; } } /*** Some handy macro's ***/ #define ABS(x) ( (x)<0 ? -(x) : (x) ) /* * Calculation of vector length: * Z = alpha*max(i,q) + beta*min(i,q); * alpha = 1/1, beta = 3/8 (error<6.8%) * alpha = 15/16, beta = 15/32 (error<6.25%) * Better algorithm: * Z = max( max(i,q), alpha*max(i,q)+beta*min(i,q) ) * alpha = 29/32, beta = 61/128 (error<2.4%) */ inline uint16_t mag(int16_t i, int16_t q) { i = ABS(i); q = ABS(q); if (i>q) return (MAX(i,((29*i/32) + (61*q/128)))); else return (MAX(q,((29*q/32) + (61*i/128)))); } /* * Note: A simple regression IIR single pole low pass filter could be made for anti-aliasing. * y(n) = (1-a)*y(n-1) + a*x(n) = y(n-1) + a*(x(n) - y(n-1)) * in this a = T / (T + R*C) * Example: * T is sample period (e.g. 64usec) * RC the desired RC time: T*(1-a)/a. * example: a=1/256 : RC = 255*64usec = 16msec (65Hz) * Alternative faster implementation with higher accuracy * y(n) = y(n-1) + (x(n) - y(n-1)>>b) * Here the filtered value is maintained in higher accuracy, i.e. left shifted by b bits. * Before using the value shift it back: y >> b. * Also, for RC value 1/a = 1<ints0 = 1u << CH0; // Clear the interrupt request. adccnt++; // ADC overrun indicator increment //while (!adc_fifo_is_empty()) adc_fifo_get(); // Empty leftovers from fifo } /** CORE1: Timer callback routine **/ /* * This runs every TIM_US, i.e. 64usec, and hence this determines the effective sample rate * The ADC is free running, nr of samples is limited by the attached DMA (ADC_INT per ADC channel) * One ADC cycle takes 6usec to complete (2usec per channel), times ADC_INT. * So max ADC_INT depth is about 10, disregarding the time needed in this routine, so choose a lower value. * The ADC result is saved after processing the raw samples, so a new ADC burst can be started. * Also the DACs are written with the next output sample, either A or I&Q channels. * The timing is critical, it assumes that the ADC is finished, so: * --> do not put any other stuff in this callback routine that may affect timing! */ #define ADC_INT 6 // Nr of samples for integration (use 8=2^3) #define BSH 8 // Bias SHift size for the moving average; length is 2^BSH #define DC_LEN (1< 15625Hz **/ // Integration and DC bias removal // Adds ADC_INT samples for each channel, after first removing DC bias // this implicitly converts from unsigned to signed int // Summaton increases dynamic range and has implicit LPF (but it may be better to use proper filter coefficients) adc_result[CH_Q] = 0; adc_result[CH_I] = 0; adc_result[CH_A] = 0; for (temp = 0; temp>BSH // Calculate new bias / sumbias values and replace sample in movavg delay line adc_sumbias[CH_Q] += adc_sample[0][CH_Q] - adc_movavg[adc_k][CH_Q]; adc_bias[CH_Q] = adc_sumbias[CH_Q]>>BSH; adc_sumbias[CH_I] += adc_sample[0][CH_I] - adc_movavg[adc_k][CH_I]; adc_bias[CH_I] = adc_sumbias[CH_I]>>BSH; adc_sumbias[CH_A] += adc_sample[0][CH_A] - adc_movavg[adc_k][CH_A]; adc_bias[CH_A] = adc_sumbias[CH_A]>>BSH; adc_movavg[adc_k][CH_Q] = adc_sample[0][CH_Q]; adc_movavg[adc_k][CH_I] = adc_sample[0][CH_I]; adc_movavg[adc_k][CH_A] = adc_sample[0][CH_A]; if (++adc_k >= DC_LEN) adc_k = 0; // Raw samples are no longer used, so kick-off a new ADC acquisition phase // Restart the ADCs and the DMA channel adc_select_input(0); // Start with ADC0 while (!adc_fifo_is_empty()) adc_fifo_get(); // Empty leftovers from fifo, if any dma_hw->ch[CH0].read_addr = (io_rw_32)&adc_hw->fifo; // DMA: Read from ADC FIFO dma_hw->ch[CH0].write_addr = (io_rw_32)&adc_sample[0][0]; // DMA: Write to sample buffer dma_hw->ch[CH0].transfer_count = ADC_INT * 3; // DMA: Nr of 16 bit words to transfer dma_hw->ch[CH0].ctrl_trig = DMA_CTRL0; // DMA: Write ctrl word while starting the DMA adc_run(true); // Start the ADC too adccnt--; // ADC overrun indicator decrement /* * To be done for noise suppression: * Add I-Q adc results to median delay line * Calculate amplitude and add to delay line * Choose median amplitude entry for further processing */ // Derive RSSI level from IF sample vector length // This value is taken through an IIR low-pass filter: // y(n) = y(n-1) + (x(n) - y(n-1)>>b) // RC = ((1<> b. // Then determine IF AGC wrt to top level if (!tx_enabled) { temp = mag(adc_result[CH_I], adc_result[CH_Q]); // Approximate amplitude, with alpha max + beta min function temp = (MAX(1,temp)); // Prevent 0 level temp = (temp<<16) - dsp_rssi; // Promote amplitude to Q16.16 and calculate delta dsp_rssi += temp>>LSH; // LPF: RC = (1< if_agc ) if_agc++; // Increment factor when signal smaller than desired else if_agc--; // Decrement when larger if (if_agc==0) if_agc=1; // Should never happen } // Likewise, derive VOX level from Audio sample amplitude temp = ABS(adc_result[CH_A]); // Take absolute amplitude temp = (MAX(1,temp)); // Prevent 0 level temp = (temp<<16) - dsp_vox; // Promote to fixed point format (Q16.16), calculate delta dsp_vox += temp>>LSH; // LPF: RC = (1< Need to insert RX_AGC mechanism here ***/ pwm_set_gpio_level(DAC_A, A_buf[dsp_active][dsp_tick] + DAC_BIAS); // Output A to DAC } // When buffers are full, move pointer to the next and signal the DSP loop if (++dsp_tick >= BUFSIZE) // Increment tick and check range { dsp_overrun++; // Increment overrun counter dsp_tick = 0; // Reset counter if (++dsp_active > 2) dsp_active = 0; // Point to next buffer sem_release(&dsp_sem); // Signal background processing } #else // Copy samples from/to the right buffers if (tx_enabled) { a_sample = tx_agc * adc_result[CH_A]; // Store A sample for background processing pwm_set_gpio_level(DAC_I, i_sample); // Output calculated I sample to DAC pwm_set_gpio_level(DAC_Q, q_sample); // Output calculated Q sample to DAC } else { q_sample = rx_agc * adc_result[CH_Q]; // Store Q sample for background processing i_sample = rx_agc * adc_result[CH_I]; // Store I sample for background processing pwm_set_gpio_level(DAC_A, a_sample); // Output calculated A sample to DAC } dsp_overrun++; // Increment overrun counter sem_release(&dsp_sem); // Signal background processing #endif return true; } /** CORE1: DSP loop **/ /* * Background signal processing, triggered by semaphore dsp_sem * --> In Time Domain processing this is released every sample collection slot (64 us), * --> In Frequency Domain processing this is triggered when buffers are switched (64*512 us) * This loop also initializes all signal processing variables */ void __not_in_flash_func(dsp_loop)() { alarm_pool_t *ap; int i; tx_enabled = false; vox_active = false; /* * Initialize DACs, * default mode is free running, * A and B pins are output */ gpio_set_function(DAC_Q, GPIO_FUNC_PWM); // GP20 is PWM for Q DAC (Slice 2, Channel A) gpio_set_function(DAC_I, GPIO_FUNC_PWM); // GP21 is PWM for I DAC (Slice 2, Channel B) dac_iq = pwm_gpio_to_slice_num(DAC_Q); // Get PWM slice for GP20 (Same for GP21) pwm_set_clkdiv_int_frac (dac_iq, 1, 0); // clock divide by 1: full system clock pwm_set_wrap(dac_iq, DAC_RANGE-1); // Set cycle length; nr of counts until wrap, i.e. 125/DAC_RANGE MHz pwm_set_enabled(dac_iq, true); // Set the PWM running gpio_set_function(DAC_A, GPIO_FUNC_PWM); // GP22 is PWM for Audio DAC (Slice 3, Channel A) dac_audio = pwm_gpio_to_slice_num(DAC_A); // Find PWM slice for GP22 pwm_set_clkdiv_int_frac (dac_audio, 1, 0); // clock divide by 1: full system clock pwm_set_wrap(dac_audio, DAC_RANGE-1); // Set cycle length; nr of counts until wrap, i.e. 125/DAC_RANGE MHz pwm_set_enabled(dac_audio, true); // Set the PWM running /* * Initialize ADCs, use in round robin mode (3 channels) * samples are stored in array through IRQ callback * Initialize ADC delay lines for DC moving average */ adc_init(); // Initialize ADC to known state adc_gpio_init(ADC_Q); // ADC GPIO for Q channel adc_gpio_init(ADC_I); // ADC GPIO for I channel adc_gpio_init(ADC_A); // ADC GPIO for Audio channel adc_set_round_robin(0x01+0x02+0x04); // Sequence ADC 0-1-2 (GP 26, 27, 28) free running adc_select_input(0); // Start with ADC0 adc_fifo_setup(true,true,3,false,false); // IRQ result, DMA req, fifo thr=3: xfer per 3 x 16 bits adc_set_clkdiv(0); // Fastest clock (500 kSps) for (i=0; ich[CH0].read_addr = (io_rw_32)&adc_hw->fifo; // Read from ADC FIFO dma_hw->ch[CH0].write_addr = (io_rw_32)&adc_sample[0][0]; // Write to sample buffer dma_hw->ch[CH0].transfer_count = ADC_INT * 3; // Nr of 16 bit words to transfer (interrupt when done) dma_hw->ch[CH0].ctrl_trig = DMA_CTRL0; // Write ctrl word and start the DMA adc_run(true); // Also start the ADC /* * Use alarm_pool_add_repeating_timer_us() for a core1 associated timer * First create an alarm pool on core1: * alarm_pool_t *alarm_pool_create( uint hardware_alarm_num, * uint max_timers); * For the core1 alarm pool don't use the default alarm_num (usually 3) but e.g. 1 * Timer callback signals semaphore, while loop blocks on getting it. * Initialize repeating timer on core1: * bool alarm_pool_add_repeating_timer_us( alarm_pool_t *pool, * int64_t delay_us, * repeating_timer_callback_t callback, * void *user_data, * repeating_timer_t *out); */ sem_init(&dsp_sem, 0, 1); ap = alarm_pool_create(1, 4); alarm_pool_add_repeating_timer_us( ap, -TIM_US, dsp_callback, NULL, &dsp_timer); dsp_overrun = 0; // Background processing loop while(1) { sem_acquire_blocking(&dsp_sem); // Wait until timer-callback releases sem // Compare actual level with set threshold if (vox_level == 0) // When VOX is disabled { vox_active = false; // always de-activate VOX trigger vox_count = 0; // and reset linger counter } else // VOX is enabled { if ((GET_DSP_VOX) > vox_level) // AND actual level > limit level { #if DSP_FFT == 1 vox_count = (S_RATE * VOX_LINGER / 1000)/512; // audio present, set linger counter #else vox_count = S_RATE * VOX_LINGER / 1000; // audio present, set linger counter #endif vox_active = true; // activate VOX trigger } else if (vox_active) // no audio but vox still active if (--vox_count==0) vox_active = false; // deactivate VOX trigger when linger counter expires } if (tx_enabled) // Use previous setting { gpio_put(GP_PTT_OUT, true); // Drive PTT high (active) tx(); // Do TX signal processing (Freq or Time domain) } else { gpio_put(GP_PTT_OUT, false); // Drive PTT low (inactive) rx(); // Do RX signal processing (Freq or Time domain) } /** Activate transmission **/ tx_enabled = vox_active || ptt_active; // VOX or PTT triggered dsp_overrun--; // Decrement overrun counter #if DSP_FFT == 1 dsp_tickx = dsp_tick; // Capture how far we are in sampling a FFT buffer #endif } } /** CORE0: Initialize dsp context and spawn CORE1 process **/ void dsp_init() { bus_ctrl_hw->priority = BUSCTRL_BUS_PRIORITY_PROC1_BITS; // Set Core 1 prio on bus to high multicore_launch_core1(dsp_loop); // Start processing on Core 1 } ================================================ FILE: dsp.h ================================================ #ifndef __DSP_FFT_H__ #define __DSP_FFT_H__ /* * dsp.h * * Created: Mar 2021 * Author: Arjan te Marvelde * * See dsp.c for more information * * HERE THE SELECTION BETWEEN TIME OR FREQUENCY DOMAIN PROCESSING IS MADE * DO THIS BY SETTING THE #define DSP_FFT TO 0 OR TO 1 RESPECTIVELY * */ /* * Callback timeout is TIM_US, value in usec * The carrier offset is !=0 only in FFT case. */ #if DSP_FFT == 1 #define TIM_US 64 #define S_RATE 15625 // 1e6/TIM_US #define FC_OFFSET 3906 // RX carrier in bin FFT_SIZE/4 ==> S_RATE/4 #else #define TIM_US 64 #define S_RATE 15625 // 1e6/TIM_US #define FC_OFFSET 0 // Must be 0 for time-domain DSP #endif /** DSP module interface **/ extern volatile uint32_t dsp_rssi, dsp_vox; // Fixed point UQ16.16 #define GET_RSSI_LEVEL (uint16_t)(dsp_rssi>>16) #define GET_DSP_VOX (uint16_t)(dsp_vox>>16) int get_sval(void); extern volatile bool tx_enabled; // Determined by (vox_active || ptt_active) #define VOX_OFF 0 #define VOX_LOW 1 #define VOX_MEDIUM 2 #define VOX_HIGH 3 void dsp_setvox(int vox); #define MODE_USB 0 #define MODE_LSB 1 #define MODE_AM 2 #define MODE_CW 3 void dsp_setmode(int mode); #define AGC_NONE 0 #define AGC_SLOW 1 #define AGC_FAST 2 void dsp_setagc(int agc); void dsp_init(); #endif ================================================ FILE: dsp_fft.c ================================================ /* * dsp_fft.c * ==>TO BE INCLUDED IN dsp.c * * Created: May 2022 * Author: Arjan te Marvelde * * Signal processing of RX and TX branch, to be run on the second processor core (CORE1). * A branch has a dedicated routine that must run on set times. * In this case it runs when half FFT_SIZE of samples is ready to be processed. * * * The pace for sampling is set by a timer at 64usec (15.625 kHz) * The associated timer callback routine: * - handles data transfer to/from physical interfaces * - starts a new ADC conversion sequence * - maintains dsp_tick counter * - when dsp_tick == FFT_SIZE/2 (one buffer), the dsp-loop is triggered. * * The ADC functions in round-robin and fifo mode, triggering IRQ after 3 conversions (ADC[0..2]) * The ADC FIFO IRQ handler reads the 3 samples from the fifo after stopping the ADC * * Buffer structure, built from half FFT_SIZE buffers. * The I, Q and A external interfaces communicate each through 3x buffers. * One buffer is being filled or emptied, depending on data direction. * The other two are swapped with the FFT signal processing buffers. * Since we use complex FFT, the algorithm uses 4x buffers. * * I, Q and A buffers are used as queues. RX case looks like: * * +--+--+--+ +--+--+--+ * i --> | | | | | | | | --> a * +--+--+--+ +--+--+--+ * \ \ \ +--+--+ / / * ---------> | | | / / * +--+--+ FFT-DSP-iFFT ------ * ---------> | | | * / / / +--+--+ * +--+--+--+ * q --> | | | | * +--+--+--+ * * RX, when triggered by timer callback: * - The oldest two I and Q buffers are copied into the FFT buffers * - FFT is executed * - Signal processing is done * - iFFT is executed * - The oldest real FFT buffer is moved to the A output queue * * +--+--+--+ +--+--+--+ * a --> | | | | | | | | --> i * +--+--+--+ +--+--+--+ * \ \ \ +--+--+ / / * --------> | | | ------- * +--+--+ FFT-DSP-iFFT * | | | ------- * +--+--+ \ \ * +--+--+--+ * | | | | --> q * +--+--+--+ * * TX, when triggered by timer callback: * - The oldest two A buffers are copied to the real FFT buffer, the imaginary FFT buffer is nulled * - FFT is executed * - Signal processing is done * - iFFT is executed * - The oldest FFT buffers are appended to the I/Q output queues * * The bin step is the sampling frequency divided by the FFT_SIZE. * So for S_RATE=15625 and FFT_SIZE=1024 this step is 15625/1024=15.259 Hz * The Subcarrier offset (Fc) is at about half the Nyquist frequency: bin 256 or 3906 Hz * */ #include "uSDR.h" #include "dsp.h" /* * FFT buffer allocation * Buffer size is FFT_SIZE/2 (see fix_fft.h). * In case FFT_SIZE of 1024, a buffer is 1kB * RX: 3 buffers for I samples, 3 buffers for Q samples, 3 buffers for Audio * DSP: 4 buffers for FFT, complex samples and these have to be consecutive! * TX: re-use RX buffers in reverse order * Total of 13kByte RAM is required. * Samples are 16 bit signed integer, but align buffers on 32bit boundaries * dsp_tick points into I, Q and A buffers, so wrap once per two FFTs * When tick==FFT_SIZE/2: do buffer copy */ #define BUFSIZE FFT_SIZE/2 int16_t I_buf[3][BUFSIZE] __attribute__((aligned(4))); // I sample queue, 3x buffer of FFT_SIZE/2 int16_t Q_buf[3][BUFSIZE] __attribute__((aligned(4))); // Q sample queue, 3x buffer of FFT_SIZE/2 int16_t A_buf[3][BUFSIZE] __attribute__((aligned(4))); // A sample queue, 3x buffer of FFT_SIZE/2 int16_t XI_buf[FFT_SIZE] __attribute__((aligned(4))); // Re FFT buffer, 1x buffer of FFT_SIZE int16_t XQ_buf[FFT_SIZE] __attribute__((aligned(4))); // Im FFT buffer, 1x buffer of FFT_SIZE // Sample buffer indexes, updated by timer callback volatile int dsp_active = 0; // I, Q, A active buffer number (0..2) volatile uint32_t dsp_tick = 0; // Index in active buffer volatile uint32_t dsp_tickx = 0; // Load indicator DSP loop // Spectrum bins for a frequency #define BIN(f) (int)(((f)*FFT_SIZE+S_RATE/2)/S_RATE) #define BIN_FC 256 // Use BIN_FC > BIN_3000 to avoid aliasing! #define BIN_100 7 // 110Hz bin #define BIN_300 20 // 300Hz bin #define BIN_900 59 // 900Hz bin #define BIN_3000 197 // 3000Hz bin #define BIN_3600 236 // 3600Hz bin /* * Downshift frequency with Fs/4 = Fc * SEE: Lyons, Understanding DSP, CHAPTER 13.1.2 * * Shift center frequency back to DC by multipling time domain samples with e(-j*w*t) * w = 2*pi*f, where f is FC_OFFSET (3906Hz) * t = n*Ts, where Ts is 1/S_RATE (1/15625Hz) * So the exponent becomes n*2*pi*FC_OFFSET/S_RATE = n*pi/2 (since FC_OFFSET = S_RATE/4) * The complex offset is then cos(-n*pi/2) + j*sin(-n*pi/2) ==> (a,b) = ( 1, 0); ( 0,-1); (-1, 0); ( 0, 1); ... * Complex multiply: (a+jb)*(I+jQ)=(aI-bQ) + j(aQ+bI) ==> (I,Q) = ( I, Q); ( Q,-I); (-I,-Q); (-Q, I); ... */ void __not_in_flash_func(dsp_shift)(void) { int i; uint16_t x; for (i=0; i(FFT_SIZE/2-3))||(highbin-lowbin<6)) return; // Boundaries are inclusive lo1 = lowbin-2; lo2 = highbin+2; hi1 = FFT_SIZE-highbin-2; hi2 = FFT_SIZE-lowbin+2; // Null all bins excluded from passbands // Calculate filter edges as raised cosine XI_buf[0] = 0; XQ_buf[0] = 0; // Block DC for (i=1; i 2) b = 0; // Point to Old Saved sample buffer ip = &I_buf[b][0]; xip = &XI_buf[0]; qp = &Q_buf[b][0]; xqp = &XQ_buf[0]; for (i=0; i 2) b = 0; // Point to New Saved sample buffer ip = &I_buf[b][0]; xip = &XI_buf[BUFSIZE]; qp = &Q_buf[b][0]; xqp = &XQ_buf[BUFSIZE]; for (i=0; i 2) b = 0; // Point to oldest (will be next for output) ap = &A_buf[b][0]; xip = &XI_buf[BUFSIZE]; for (i=0; i 2) b = 0; // Point to Old Saved sample buffer ap = &A_buf[b][0]; xip = &XI_buf[0]; xqp = &XQ_buf[0]; for (i=0; i 2) b = 0; // Point to New Saved sample buffer ap = &A_buf[b][0]; xip = &XI_buf[BUFSIZE]; xqp = &XQ_buf[BUFSIZE]; for (i=0; i bandwidth for (i=1; i 2) b = 0; // Point to oldest (will be next for output) qp = &Q_buf[b][0]; xqp = &XQ_buf[BUFSIZE]; ip = &I_buf[b][0]; xip = &XI_buf[BUFSIZE]; for (i=0; iTO BE INCLUDED IN dsp.c * * Created: May 2022 * Author: Arjan te Marvelde * * Signal processing of RX and TX branch, to be run on the second processor core. * Each branch has a dedicated routine that must run on set times. * The period is determined by reads from the inter-core fifo, by the dsp_loop() routine. * This fifo is written from core0 from a 16us timer callback routine (i.e. 62.5kHz) * * The RX branch: * - Sample I and Q QSD channels, and shift into I and Q delay line (62.5 kHz per channel) * - Low pass filter: Fc=4kHz * - Quarter rate (15.625 kHz) to improve low freq behavior of Hilbert transform * - Calculate 15 tap Hilbert transform on Q * - Demodulate, taking proper delays into account * - Push to Audio output DAC * * Always perform audio sampling (62.5kHz) and level detections, in case of VOX active * * The TX branch (if VOX or PTT): * - Low pass filter: Fc=3kHz * - Eight rate (7.8125 kHz) to improve low F behavior of Hilbert transform * - Generate Q samples by doing a Hilbert transform * - Push I and Q to QSE output DACs * */ #include "uSDR.h" volatile int32_t q_sample, i_sample, a_sample; // Latest processed sample values /* * Low pass FIR filters Fc=3, 7 and 15 kHz (see http://t-filter.engineerjs.com/) * Settings: sample rates 62500, 31250 or 15625 Hz, stopband -40dB, passband ripple 5dB * Note: 8 bit precision, so divide sum by 256 (this could be improved when 32bit accumulator) */ int16_t lpf3_62[15] = { 3, 3, 5, 7, 9, 10, 11, 11, 11, 10, 9, 7, 5, 3, 3}; // Pass: 0-3000, Stop: 6000-31250 int16_t lpf3_31[15] = { -2, -3, -3, 1, 10, 21, 31, 35, 31, 21, 10, 1, -3, -3, -2}; // Pass: 0-3000, Stop: 6000-15625 int16_t lpf3_15[15] = { 3, 4, -3,-14,-15, 6, 38, 53, 38, 6,-15,-14, -3, 4, 3}; // Pass: 0-3000, Stop: 4500-7812 int16_t lpf7_62[15] = { -2, -1, 1, 7, 16, 26, 33, 36, 33, 26, 16, 7, 1, -1, -2}; // Pass: 0-7000, Stop: 10000-31250 int16_t lpf7_31[15] = { -1, 4, 9, 2,-12, -2, 40, 66, 40, -2,-12, 2, 9, 4, -1}; // Pass: 0-7000, Stop: 10000-15625 int16_t lpf15_62[15] = { -1, 3, 12, 6,-12, -4, 40, 69, 40, -4,-12, 6, 12, 3, -1}; // Pass: 0-15000, Stop: 20000-31250 /** CORE1: RX Branch **/ /* * Execute RX branch signal processing * max time to spend is <64us (TIM_US) * The pre-processed I/Q samples are passed in i_sample and q_sample * The calculated A sample is passed in a_sample */ volatile int32_t i_s_raw[15], q_s_raw[15]; // Raw I/Q samples minus DC bias volatile int32_t i_s[15], q_s[15]; // Filtered I/Q samples bool __not_in_flash_func(rx)(void) { int32_t q_accu, i_accu; int32_t qh; uint16_t i; /*** SAMPLING ***/ /* * Shift-in I and Q raw samples */ for (i=0; i<14; i++) // Store preprocessed samples in shift registers { q_s_raw[i] = q_s_raw[i+1]; i_s_raw[i] = i_s_raw[i+1]; } q_s_raw[14] = q_sample; i_s_raw[14] = i_sample; /* * Low pass FIR filter */ q_accu = 0; // Initialize accumulators i_accu = 0; for (i=0; i<15; i++) // Low pass FIR filter { q_accu += (int32_t)q_s_raw[i]*lpf3_15[i]; // Fc=3kHz, at 15625 Hz sampling i_accu += (int32_t)i_s_raw[i]*lpf3_15[i]; // Fc=3kHz, at 15625 Hz sampling } q_accu = q_accu/256; i_accu = i_accu/256; for (i=0; i<14; i++) // Store filtered samples in shift registers { q_s[i] = q_s[i+1]; i_s[i] = i_s[i+1]; } q_s[14] = q_accu; i_s[14] = i_accu; /*** DEMODULATION ***/ switch (dsp_mode) { case MODE_USB: /* * USB demodulate: I[7] - Qh, * Qh is Classic Hilbert transform 15 taps, 12 bits * (see Iowa Hills calculator) */ q_accu = (q_s[0]-q_s[14])*315L + (q_s[2]-q_s[12])*440L + (q_s[4]-q_s[10])*734L + (q_s[6]-q_s[ 8])*2202L; qh = q_accu / 4096L; a_sample = i_s[7] - qh; break; case MODE_LSB: /* * LSB demodulate: I[7] + Qh, * Qh is Classic Hilbert transform 15 taps, 12 bits * (see Iowa Hills calculator) */ q_accu = (q_s[0]-q_s[14])*315L + (q_s[2]-q_s[12])*440L + (q_s[4]-q_s[10])*734L + (q_s[6]-q_s[ 8])*2202L; qh = q_accu / 4096L; a_sample = i_s[7] + qh; break; case MODE_AM: /* * AM demodulate: sqrt(sqr(i)+sqr(q)) * Approximated with mag(i,q) */ a_sample = mag(i_s[7], q_s[7]); break; default: break; } /*** AUDIO GENERATION ***/ /* * Scale and clip output, * Send to audio DAC output */ a_sample = (a_sample/64) + DAC_BIAS; // -18dB and add bias level if (a_sample > DAC_RANGE) // Clip to DAC range a_sample = DAC_RANGE; else if (a_sample<0) a_sample = 0; return true; } /** CORE1: TX branch **/ /* * Execute TX branch signal processing, * max time to spend is <64us (TIM_US) * The pre-processed audio sample is passed in a_sample * The calculated I and Q samples are passed in i_sample and q_sample */ volatile int16_t a_s_raw[15]; // Raw samples, minus DC bias volatile int16_t a_s[15]; // Filtered and decimated samplesvolatile int16_t bool __not_in_flash_func(tx)(void) { int32_t a_accu, q_accu; int16_t qh; int i; uint16_t i_dac, q_dac; /*** RAW Audio ***/ for (i=0; i<14; i++) // and store in shift register a_s_raw[i] = a_s_raw[i+1]; a_s_raw[14] = a_sample; /*** Low pass filter ***/ a_accu = 0; // Initialize accumulator for (i=0; i<15; i++) // Low pass FIR filter, using raw samples a_accu += (int32_t)a_s_raw[i]*lpf3_15[i]; // Fc=3kHz, at 15.625 kHz sampling for (i=0; i<14; i++) // Shift decimated samples a_s[i] = a_s[i+1]; a_s[14] = a_accu / 256; // Store rescaled accumulator /*** MODULATION ***/ switch (dsp_mode) { case 0: // USB /* * qh is Classic Hilbert transform 15 taps, 12 bits * (see Iowa Hills calculator) */ q_accu = (a_s[0]-a_s[14])*315L + (a_s[2]-a_s[12])*440L + (a_s[4]-a_s[10])*734L + (a_s[6]-a_s[ 8])*2202L; qh = -(q_accu / 4096L); // USB: sign is negative break; case 1: // LSB /* * qh is Classic Hilbert transform 15 taps, 12 bits * (see Iowa Hills calculator) */ q_accu = (a_s[0]-a_s[14])*315L + (a_s[2]-a_s[12])*440L + (a_s[4]-a_s[10])*734L + (a_s[6]-a_s[ 8])*2202L; qh = q_accu / 4096L; // LSB: sign is positive break; case 2: // AM /* * I and Q values are identical */ qh = a_s[7]; break; default: break; } /* * Write I and Q to QSE DACs, phase is 7 samples back. * Need to multiply AC with DAC_RANGE/ADC_RANGE (appr 1/8) * Any case: clip to range */ a_accu = DAC_BIAS - (qh/8); if (a_accu<0) q_sample = 0; else if (a_accu>(DAC_RANGE-1)) q_sample = DAC_RANGE-1; else q_sample = a_accu; a_accu = DAC_BIAS + (a_s[7]/8); if (a_accu<0) i_sample = 0; else if (a_accu>(DAC_RANGE-1)) i_sample = DAC_RANGE-1; else i_sample = a_accu; return true; } ================================================ FILE: fix_fft.c ================================================ /* fix_fft.c - Fixed-point in-place DIT Fast Fourier Transform */ /* All data are fixed-point uint16_t integers, in which -32768 to +32768 represent -1.0 to +1.0 respectively. Integer arithmetic is used for speed, instead of the more natural floating-point. For the forward FFT (time -> freq), fixed scaling is performed to prevent arithmetic overflow, and to map a 0dB sine/cosine wave (i.e. amplitude = 32767) to two -6dB freq coefficients. The return value is always 0. For the inverse FFT (freq -> time), fixed scaling cannot be done, as two 0dB coefficients would sum to a peak amplitude of 64K, overflowing the 32k range of the fixed-point integers. Thus, the fix_fft() routine performs variable scaling, and returns a value which is the number of bits LEFT by which the output must be shifted to get the actual amplitude (i.e. if fix_fft() returns 3, each value of fr[] and fi[] must be multiplied by 8 (2**3) for proper scaling. Clearly, this cannot be done within fixed-point uint16_t integers. In practice, if the result is to be used as a filter, the scale_shift can usually be ignored, as the result will be approximately correctly normalized as is. Written by: Tom Roberts 11/8/89 Made portable: Malcolm Slaney 12/15/94 malcolm@interval.com Enhanced: Dimitrios P. Bouras 14 Jun 2006 dbouras@ieee.org */ /* This implementation uses a lookup table for bit reverse sorting, which adds 2kbyte to the memory footprint. The iFFT range detector has been optimized. The bitshifting of signed integers is undefined, so these have been replaced by divisions. The compiler will optimize it. The size is fixed at 1024. */ #include "pico/stdlib.h" #include "pico/multicore.h" #include "pico/platform.h" #include "fix_fft.h" /** Fixed point Sine lookup table, [-1, 1] == [-32768, 32767] **/ int16_t Sine[3*FFT_SIZE/4] = { 0, 201, 402, 603, 804, 1005, 1206, 1406, 1607, 1808, 2009, 2209, 2410, 2610, 2811, 3011, 3211, 3411, 3611, 3811, 4011, 4210, 4409, 4608, 4807, 5006, 5205, 5403, 5601, 5799, 5997, 6195, 6392, 6589, 6786, 6982, 7179, 7375, 7571, 7766, 7961, 8156, 8351, 8545, 8739, 8932, 9126, 9319, 9511, 9703, 9895, 10087, 10278, 10469, 10659, 10849, 11038, 11227, 11416, 11604, 11792, 11980, 12166, 12353, 12539, 12724, 12909, 13094, 13278, 13462, 13645, 13827, 14009, 14191, 14372, 14552, 14732, 14911, 15090, 15268, 15446, 15623, 15799, 15975, 16150, 16325, 16499, 16672, 16845, 17017, 17189, 17360, 17530, 17699, 17868, 18036, 18204, 18371, 18537, 18702, 18867, 19031, 19194, 19357, 19519, 19680, 19840, 20000, 20159, 20317, 20474, 20631, 20787, 20942, 21096, 21249, 21402, 21554, 21705, 21855, 22004, 22153, 22301, 22448, 22594, 22739, 22883, 23027, 23169, 23311, 23452, 23592, 23731, 23869, 24006, 24143, 24278, 24413, 24546, 24679, 24811, 24942, 25072, 25201, 25329, 25456, 25582, 25707, 25831, 25954, 26077, 26198, 26318, 26437, 26556, 26673, 26789, 26905, 27019, 27132, 27244, 27355, 27466, 27575, 27683, 27790, 27896, 28001, 28105, 28208, 28309, 28410, 28510, 28608, 28706, 28802, 28897, 28992, 29085, 29177, 29268, 29358, 29446, 29534, 29621, 29706, 29790, 29873, 29955, 30036, 30116, 30195, 30272, 30349, 30424, 30498, 30571, 30643, 30713, 30783, 30851, 30918, 30984, 31049, 31113, 31175, 31236, 31297, 31356, 31413, 31470, 31525, 31580, 31633, 31684, 31735, 31785, 31833, 31880, 31926, 31970, 32014, 32056, 32097, 32137, 32176, 32213, 32249, 32284, 32318, 32350, 32382, 32412, 32441, 32468, 32495, 32520, 32544, 32567, 32588, 32609, 32628, 32646, 32662, 32678, 32692, 32705, 32717, 32727, 32736, 32744, 32751, 32757, 32761, 32764, 32766, 32767, 32766, 32764, 32761, 32757, 32751, 32744, 32736, 32727, 32717, 32705, 32692, 32678, 32662, 32646, 32628, 32609, 32588, 32567, 32544, 32520, 32495, 32468, 32441, 32412, 32382, 32350, 32318, 32284, 32249, 32213, 32176, 32137, 32097, 32056, 32014, 31970, 31926, 31880, 31833, 31785, 31735, 31684, 31633, 31580, 31525, 31470, 31413, 31356, 31297, 31236, 31175, 31113, 31049, 30984, 30918, 30851, 30783, 30713, 30643, 30571, 30498, 30424, 30349, 30272, 30195, 30116, 30036, 29955, 29873, 29790, 29706, 29621, 29534, 29446, 29358, 29268, 29177, 29085, 28992, 28897, 28802, 28706, 28608, 28510, 28410, 28309, 28208, 28105, 28001, 27896, 27790, 27683, 27575, 27466, 27355, 27244, 27132, 27019, 26905, 26789, 26673, 26556, 26437, 26318, 26198, 26077, 25954, 25831, 25707, 25582, 25456, 25329, 25201, 25072, 24942, 24811, 24679, 24546, 24413, 24278, 24143, 24006, 23869, 23731, 23592, 23452, 23311, 23169, 23027, 22883, 22739, 22594, 22448, 22301, 22153, 22004, 21855, 21705, 21554, 21402, 21249, 21096, 20942, 20787, 20631, 20474, 20317, 20159, 20000, 19840, 19680, 19519, 19357, 19194, 19031, 18867, 18702, 18537, 18371, 18204, 18036, 17868, 17699, 17530, 17360, 17189, 17017, 16845, 16672, 16499, 16325, 16150, 15975, 15799, 15623, 15446, 15268, 15090, 14911, 14732, 14552, 14372, 14191, 14009, 13827, 13645, 13462, 13278, 13094, 12909, 12724, 12539, 12353, 12166, 11980, 11792, 11604, 11416, 11227, 11038, 10849, 10659, 10469, 10278, 10087, 9895, 9703, 9511, 9319, 9126, 8932, 8739, 8545, 8351, 8156, 7961, 7766, 7571, 7375, 7179, 6982, 6786, 6589, 6392, 6195, 5997, 5799, 5601, 5403, 5205, 5006, 4807, 4608, 4409, 4210, 4011, 3811, 3611, 3411, 3211, 3011, 2811, 2610, 2410, 2209, 2009, 1808, 1607, 1406, 1206, 1005, 804, 603, 402, 201, 0, -201, -402, -603, -804, -1005, -1206, -1406, -1607, -1808, -2009, -2209, -2410, -2610, -2811, -3011, -3211, -3411, -3611, -3811, -4011, -4210, -4409, -4608, -4807, -5006, -5205, -5403, -5601, -5799, -5997, -6195, -6392, -6589, -6786, -6982, -7179, -7375, -7571, -7766, -7961, -8156, -8351, -8545, -8739, -8932, -9126, -9319, -9511, -9703, -9895, -10087, -10278, -10469, -10659, -10849, -11038, -11227, -11416, -11604, -11792, -11980, -12166, -12353, -12539, -12724, -12909, -13094, -13278, -13462, -13645, -13827, -14009, -14191, -14372, -14552, -14732, -14911, -15090, -15268, -15446, -15623, -15799, -15975, -16150, -16325, -16499, -16672, -16845, -17017, -17189, -17360, -17530, -17699, -17868, -18036, -18204, -18371, -18537, -18702, -18867, -19031, -19194, -19357, -19519, -19680, -19840, -20000, -20159, -20317, -20474, -20631, -20787, -20942, -21096, -21249, -21402, -21554, -21705, -21855, -22004, -22153, -22301, -22448, -22594, -22739, -22883, -23027, -23169, -23311, -23452, -23592, -23731, -23869, -24006, -24143, -24278, -24413, -24546, -24679, -24811, -24942, -25072, -25201, -25329, -25456, -25582, -25707, -25831, -25954, -26077, -26198, -26318, -26437, -26556, -26673, -26789, -26905, -27019, -27132, -27244, -27355, -27466, -27575, -27683, -27790, -27896, -28001, -28105, -28208, -28309, -28410, -28510, -28608, -28706, -28802, -28897, -28992, -29085, -29177, -29268, -29358, -29446, -29534, -29621, -29706, -29790, -29873, -29955, -30036, -30116, -30195, -30272, -30349, -30424, -30498, -30571, -30643, -30713, -30783, -30851, -30918, -30984, -31049, -31113, -31175, -31236, -31297, -31356, -31413, -31470, -31525, -31580, -31633, -31684, -31735, -31785, -31833, -31880, -31926, -31970, -32014, -32056, -32097, -32137, -32176, -32213, -32249, -32284, -32318, -32350, -32382, -32412, -32441, -32468, -32495, -32520, -32544, -32567, -32588, -32609, -32628, -32646, -32662, -32678, -32692, -32705, -32717, -32727, -32736, -32744, -32751, -32757, -32761, -32764, -32766 }; static int16_t bitrev[FFT_SIZE] = { 0x000, 0x200, 0x100, 0x300, 0x080, 0x280, 0x180, 0x380, 0x040, 0x240, 0x140, 0x340, 0x0c0, 0x2c0, 0x1c0, 0x3c0, 0x020, 0x220, 0x120, 0x320, 0x0a0, 0x2a0, 0x1a0, 0x3a0, 0x060, 0x260, 0x160, 0x360, 0x0e0, 0x2e0, 0x1e0, 0x3e0, 0x010, 0x210, 0x110, 0x310, 0x090, 0x290, 0x190, 0x390, 0x050, 0x250, 0x150, 0x350, 0x0d0, 0x2d0, 0x1d0, 0x3d0, 0x030, 0x230, 0x130, 0x330, 0x0b0, 0x2b0, 0x1b0, 0x3b0, 0x070, 0x270, 0x170, 0x370, 0x0f0, 0x2f0, 0x1f0, 0x3f0, 0x008, 0x208, 0x108, 0x308, 0x088, 0x288, 0x188, 0x388, 0x048, 0x248, 0x148, 0x348, 0x0c8, 0x2c8, 0x1c8, 0x3c8, 0x028, 0x228, 0x128, 0x328, 0x0a8, 0x2a8, 0x1a8, 0x3a8, 0x068, 0x268, 0x168, 0x368, 0x0e8, 0x2e8, 0x1e8, 0x3e8, 0x018, 0x218, 0x118, 0x318, 0x098, 0x298, 0x198, 0x398, 0x058, 0x258, 0x158, 0x358, 0x0d8, 0x2d8, 0x1d8, 0x3d8, 0x038, 0x238, 0x138, 0x338, 0x0b8, 0x2b8, 0x1b8, 0x3b8, 0x078, 0x278, 0x178, 0x378, 0x0f8, 0x2f8, 0x1f8, 0x3f8, 0x004, 0x204, 0x104, 0x304, 0x084, 0x284, 0x184, 0x384, 0x044, 0x244, 0x144, 0x344, 0x0c4, 0x2c4, 0x1c4, 0x3c4, 0x024, 0x224, 0x124, 0x324, 0x0a4, 0x2a4, 0x1a4, 0x3a4, 0x064, 0x264, 0x164, 0x364, 0x0e4, 0x2e4, 0x1e4, 0x3e4, 0x014, 0x214, 0x114, 0x314, 0x094, 0x294, 0x194, 0x394, 0x054, 0x254, 0x154, 0x354, 0x0d4, 0x2d4, 0x1d4, 0x3d4, 0x034, 0x234, 0x134, 0x334, 0x0b4, 0x2b4, 0x1b4, 0x3b4, 0x074, 0x274, 0x174, 0x374, 0x0f4, 0x2f4, 0x1f4, 0x3f4, 0x00c, 0x20c, 0x10c, 0x30c, 0x08c, 0x28c, 0x18c, 0x38c, 0x04c, 0x24c, 0x14c, 0x34c, 0x0cc, 0x2cc, 0x1cc, 0x3cc, 0x02c, 0x22c, 0x12c, 0x32c, 0x0ac, 0x2ac, 0x1ac, 0x3ac, 0x06c, 0x26c, 0x16c, 0x36c, 0x0ec, 0x2ec, 0x1ec, 0x3ec, 0x01c, 0x21c, 0x11c, 0x31c, 0x09c, 0x29c, 0x19c, 0x39c, 0x05c, 0x25c, 0x15c, 0x35c, 0x0dc, 0x2dc, 0x1dc, 0x3dc, 0x03c, 0x23c, 0x13c, 0x33c, 0x0bc, 0x2bc, 0x1bc, 0x3bc, 0x07c, 0x27c, 0x17c, 0x37c, 0x0fc, 0x2fc, 0x1fc, 0x3fc, 0x002, 0x202, 0x102, 0x302, 0x082, 0x282, 0x182, 0x382, 0x042, 0x242, 0x142, 0x342, 0x0c2, 0x2c2, 0x1c2, 0x3c2, 0x022, 0x222, 0x122, 0x322, 0x0a2, 0x2a2, 0x1a2, 0x3a2, 0x062, 0x262, 0x162, 0x362, 0x0e2, 0x2e2, 0x1e2, 0x3e2, 0x012, 0x212, 0x112, 0x312, 0x092, 0x292, 0x192, 0x392, 0x052, 0x252, 0x152, 0x352, 0x0d2, 0x2d2, 0x1d2, 0x3d2, 0x032, 0x232, 0x132, 0x332, 0x0b2, 0x2b2, 0x1b2, 0x3b2, 0x072, 0x272, 0x172, 0x372, 0x0f2, 0x2f2, 0x1f2, 0x3f2, 0x00a, 0x20a, 0x10a, 0x30a, 0x08a, 0x28a, 0x18a, 0x38a, 0x04a, 0x24a, 0x14a, 0x34a, 0x0ca, 0x2ca, 0x1ca, 0x3ca, 0x02a, 0x22a, 0x12a, 0x32a, 0x0aa, 0x2aa, 0x1aa, 0x3aa, 0x06a, 0x26a, 0x16a, 0x36a, 0x0ea, 0x2ea, 0x1ea, 0x3ea, 0x01a, 0x21a, 0x11a, 0x31a, 0x09a, 0x29a, 0x19a, 0x39a, 0x05a, 0x25a, 0x15a, 0x35a, 0x0da, 0x2da, 0x1da, 0x3da, 0x03a, 0x23a, 0x13a, 0x33a, 0x0ba, 0x2ba, 0x1ba, 0x3ba, 0x07a, 0x27a, 0x17a, 0x37a, 0x0fa, 0x2fa, 0x1fa, 0x3fa, 0x006, 0x206, 0x106, 0x306, 0x086, 0x286, 0x186, 0x386, 0x046, 0x246, 0x146, 0x346, 0x0c6, 0x2c6, 0x1c6, 0x3c6, 0x026, 0x226, 0x126, 0x326, 0x0a6, 0x2a6, 0x1a6, 0x3a6, 0x066, 0x266, 0x166, 0x366, 0x0e6, 0x2e6, 0x1e6, 0x3e6, 0x016, 0x216, 0x116, 0x316, 0x096, 0x296, 0x196, 0x396, 0x056, 0x256, 0x156, 0x356, 0x0d6, 0x2d6, 0x1d6, 0x3d6, 0x036, 0x236, 0x136, 0x336, 0x0b6, 0x2b6, 0x1b6, 0x3b6, 0x076, 0x276, 0x176, 0x376, 0x0f6, 0x2f6, 0x1f6, 0x3f6, 0x00e, 0x20e, 0x10e, 0x30e, 0x08e, 0x28e, 0x18e, 0x38e, 0x04e, 0x24e, 0x14e, 0x34e, 0x0ce, 0x2ce, 0x1ce, 0x3ce, 0x02e, 0x22e, 0x12e, 0x32e, 0x0ae, 0x2ae, 0x1ae, 0x3ae, 0x06e, 0x26e, 0x16e, 0x36e, 0x0ee, 0x2ee, 0x1ee, 0x3ee, 0x01e, 0x21e, 0x11e, 0x31e, 0x09e, 0x29e, 0x19e, 0x39e, 0x05e, 0x25e, 0x15e, 0x35e, 0x0de, 0x2de, 0x1de, 0x3de, 0x03e, 0x23e, 0x13e, 0x33e, 0x0be, 0x2be, 0x1be, 0x3be, 0x07e, 0x27e, 0x17e, 0x37e, 0x0fe, 0x2fe, 0x1fe, 0x3fe, 0x001, 0x201, 0x101, 0x301, 0x081, 0x281, 0x181, 0x381, 0x041, 0x241, 0x141, 0x341, 0x0c1, 0x2c1, 0x1c1, 0x3c1, 0x021, 0x221, 0x121, 0x321, 0x0a1, 0x2a1, 0x1a1, 0x3a1, 0x061, 0x261, 0x161, 0x361, 0x0e1, 0x2e1, 0x1e1, 0x3e1, 0x011, 0x211, 0x111, 0x311, 0x091, 0x291, 0x191, 0x391, 0x051, 0x251, 0x151, 0x351, 0x0d1, 0x2d1, 0x1d1, 0x3d1, 0x031, 0x231, 0x131, 0x331, 0x0b1, 0x2b1, 0x1b1, 0x3b1, 0x071, 0x271, 0x171, 0x371, 0x0f1, 0x2f1, 0x1f1, 0x3f1, 0x009, 0x209, 0x109, 0x309, 0x089, 0x289, 0x189, 0x389, 0x049, 0x249, 0x149, 0x349, 0x0c9, 0x2c9, 0x1c9, 0x3c9, 0x029, 0x229, 0x129, 0x329, 0x0a9, 0x2a9, 0x1a9, 0x3a9, 0x069, 0x269, 0x169, 0x369, 0x0e9, 0x2e9, 0x1e9, 0x3e9, 0x019, 0x219, 0x119, 0x319, 0x099, 0x299, 0x199, 0x399, 0x059, 0x259, 0x159, 0x359, 0x0d9, 0x2d9, 0x1d9, 0x3d9, 0x039, 0x239, 0x139, 0x339, 0x0b9, 0x2b9, 0x1b9, 0x3b9, 0x079, 0x279, 0x179, 0x379, 0x0f9, 0x2f9, 0x1f9, 0x3f9, 0x005, 0x205, 0x105, 0x305, 0x085, 0x285, 0x185, 0x385, 0x045, 0x245, 0x145, 0x345, 0x0c5, 0x2c5, 0x1c5, 0x3c5, 0x025, 0x225, 0x125, 0x325, 0x0a5, 0x2a5, 0x1a5, 0x3a5, 0x065, 0x265, 0x165, 0x365, 0x0e5, 0x2e5, 0x1e5, 0x3e5, 0x015, 0x215, 0x115, 0x315, 0x095, 0x295, 0x195, 0x395, 0x055, 0x255, 0x155, 0x355, 0x0d5, 0x2d5, 0x1d5, 0x3d5, 0x035, 0x235, 0x135, 0x335, 0x0b5, 0x2b5, 0x1b5, 0x3b5, 0x075, 0x275, 0x175, 0x375, 0x0f5, 0x2f5, 0x1f5, 0x3f5, 0x00d, 0x20d, 0x10d, 0x30d, 0x08d, 0x28d, 0x18d, 0x38d, 0x04d, 0x24d, 0x14d, 0x34d, 0x0cd, 0x2cd, 0x1cd, 0x3cd, 0x02d, 0x22d, 0x12d, 0x32d, 0x0ad, 0x2ad, 0x1ad, 0x3ad, 0x06d, 0x26d, 0x16d, 0x36d, 0x0ed, 0x2ed, 0x1ed, 0x3ed, 0x01d, 0x21d, 0x11d, 0x31d, 0x09d, 0x29d, 0x19d, 0x39d, 0x05d, 0x25d, 0x15d, 0x35d, 0x0dd, 0x2dd, 0x1dd, 0x3dd, 0x03d, 0x23d, 0x13d, 0x33d, 0x0bd, 0x2bd, 0x1bd, 0x3bd, 0x07d, 0x27d, 0x17d, 0x37d, 0x0fd, 0x2fd, 0x1fd, 0x3fd, 0x003, 0x203, 0x103, 0x303, 0x083, 0x283, 0x183, 0x383, 0x043, 0x243, 0x143, 0x343, 0x0c3, 0x2c3, 0x1c3, 0x3c3, 0x023, 0x223, 0x123, 0x323, 0x0a3, 0x2a3, 0x1a3, 0x3a3, 0x063, 0x263, 0x163, 0x363, 0x0e3, 0x2e3, 0x1e3, 0x3e3, 0x013, 0x213, 0x113, 0x313, 0x093, 0x293, 0x193, 0x393, 0x053, 0x253, 0x153, 0x353, 0x0d3, 0x2d3, 0x1d3, 0x3d3, 0x033, 0x233, 0x133, 0x333, 0x0b3, 0x2b3, 0x1b3, 0x3b3, 0x073, 0x273, 0x173, 0x373, 0x0f3, 0x2f3, 0x1f3, 0x3f3, 0x00b, 0x20b, 0x10b, 0x30b, 0x08b, 0x28b, 0x18b, 0x38b, 0x04b, 0x24b, 0x14b, 0x34b, 0x0cb, 0x2cb, 0x1cb, 0x3cb, 0x02b, 0x22b, 0x12b, 0x32b, 0x0ab, 0x2ab, 0x1ab, 0x3ab, 0x06b, 0x26b, 0x16b, 0x36b, 0x0eb, 0x2eb, 0x1eb, 0x3eb, 0x01b, 0x21b, 0x11b, 0x31b, 0x09b, 0x29b, 0x19b, 0x39b, 0x05b, 0x25b, 0x15b, 0x35b, 0x0db, 0x2db, 0x1db, 0x3db, 0x03b, 0x23b, 0x13b, 0x33b, 0x0bb, 0x2bb, 0x1bb, 0x3bb, 0x07b, 0x27b, 0x17b, 0x37b, 0x0fb, 0x2fb, 0x1fb, 0x3fb, 0x007, 0x207, 0x107, 0x307, 0x087, 0x287, 0x187, 0x387, 0x047, 0x247, 0x147, 0x347, 0x0c7, 0x2c7, 0x1c7, 0x3c7, 0x027, 0x227, 0x127, 0x327, 0x0a7, 0x2a7, 0x1a7, 0x3a7, 0x067, 0x267, 0x167, 0x367, 0x0e7, 0x2e7, 0x1e7, 0x3e7, 0x017, 0x217, 0x117, 0x317, 0x097, 0x297, 0x197, 0x397, 0x057, 0x257, 0x157, 0x357, 0x0d7, 0x2d7, 0x1d7, 0x3d7, 0x037, 0x237, 0x137, 0x337, 0x0b7, 0x2b7, 0x1b7, 0x3b7, 0x077, 0x277, 0x177, 0x377, 0x0f7, 0x2f7, 0x1f7, 0x3f7, 0x00f, 0x20f, 0x10f, 0x30f, 0x08f, 0x28f, 0x18f, 0x38f, 0x04f, 0x24f, 0x14f, 0x34f, 0x0cf, 0x2cf, 0x1cf, 0x3cf, 0x02f, 0x22f, 0x12f, 0x32f, 0x0af, 0x2af, 0x1af, 0x3af, 0x06f, 0x26f, 0x16f, 0x36f, 0x0ef, 0x2ef, 0x1ef, 0x3ef, 0x01f, 0x21f, 0x11f, 0x31f, 0x09f, 0x29f, 0x19f, 0x39f, 0x05f, 0x25f, 0x15f, 0x35f, 0x0df, 0x2df, 0x1df, 0x3df, 0x03f, 0x23f, 0x13f, 0x33f, 0x0bf, 0x2bf, 0x1bf, 0x3bf, 0x07f, 0x27f, 0x17f, 0x37f, 0x0ff, 0x2ff, 0x1ff, 0x3ff }; /** FIX_MPY() **/ /* * Assume Q(0,15) notation, 1 sign, 0 int, 15 frac bits */ int16_t __not_in_flash_func(FIX_MPY)(int16_t a, int16_t b) // Fixed-point mpy and scaling { int32_t c; c = (int32_t)a * (int32_t)b; // multiply c = c + 0x4000; // and round up c = c >> 15; // Shift right fractional bits return((int16_t)c); // Return scaled product } /** FIX_FFT() **/ /* * fr[] i samples [1024] * fi[] q samples [1024] * inverse true: iFFT * Note: i-FFT could also be calculated by exchanging the arrays for FFT (fxtbook.pdf 21.7) */ int __not_in_flash_func(fix_fft)(int16_t *fr, int16_t *fi, bool inverse) { uint16_t i, j, m, k, step, scale; bool shift; int16_t qr, qi, tr, ti, wr, wi; int16_t *bp; /* Decimation in time: re-order samples */ bp=&bitrev[0]; for (i=0; i i) { tr = fr[i]; fr[i] = fr[*bp]; fr[*bp] = tr; ti = fi[i]; fi[i] = fi[*bp]; fi[*bp] = ti; } bp++; } scale = 0; step = 1; // Counting up: 1, 2, 4, 8, ... /* FFT Stages */ for (k=FFT_ORDER; k>0; k--) // #cycles: FFT_ORDER { /* Scaling * Variable scaling, depends on current data * --> it seems quite CPU intensive to go through complete array * FFT_ORDER times, could this be optimized? * If always scaling: * --> the main loop has log_2(FFT_SIZE) cycles, * resulting in an overall factor of 1/FFT_SIZE, * distributed over cycles to maximize accuracy. */ shift = false; // No shift, unless... for (i=0; i 0x3fff) || (fr[i] < -0x4000) || (fi[i] > 0x3fff) || (fi[i] < -0x4000)) { shift = true; scale++; break; // Bail out at first detect } } /* Inner loops resolving the butterflies for each stage*/ for (m=0; m 0x7FFF) // Clip result tmp = 0x7FFF; else if (tmp < -0x8000) tmp = -0x8000; return (int16_t)tmp; } // a - b int16_t q_sub(int16_t a, int16_t b) { return a - b; } // a * b int16_t q_mul(int16_t a, int16_t b) { int32_t tmp; tmp = (int32_t)a * (int32_t)b; tmp += K; // Rounding; mid values are rounded up tmp = tmp >> Q; // Correct by dividing by base if (tmp > 0x7FFF) // Clip result tmp = 0x7FFF; else if (tmp < -0x8000) tmp = -0x8000; return (int16_t)tmp; } // a / b int16_t q_div(int16_t a, int16_t b) { int32_t tmp; tmp = (int32_t)a << Q; // Pre multiply with base if ((tmp >= 0 && b >= 0) || (tmp < 0 && b < 0)) // Rounding; mid values are rounded up tmp += (b >> 2); else // or down... tmp -= (b >> 2); return (int16_t)(tmp / b); } #endif ================================================ FILE: fix_fft.h ================================================ #ifndef __FIX_FFT_H__ #define __FIX_FFT_H__ /* * fix_fft.h * * Created: Apr 2022 * Author: Arjan te Marvelde * * See fix_fft.c for more information */ #define FFT_SIZE 1024 // Use this for buffer allocations #define FFT_ORDER 10 // FFT_SIZE = 1 << FFT_ORDER int fix_fft(int16_t *fr, int16_t *fi, bool inverse); #endif ================================================ FILE: font16.c ================================================ /** ****************************************************************************** * @file font16.c * @author MCD Application Team * @version V1.0.0 * @date 18-February-2014 * @brief This file provides text font16 for STM32xx-EVAL's LCD driver. ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2014 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "fonts.h" // // Font data for Courier New 12pt // const unsigned char Font16_Table[] = { // @0 ' ' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @32 '!' (11 pixels wide) 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @64 '"' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1D, 0xC0, // ### ### 0x1D, 0xC0, // ### ### 0x08, 0x80, // # # 0x08, 0x80, // # # 0x08, 0x80, // # # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @96 '#' (11 pixels wide) 0x00, 0x00, // 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x3F, 0xC0, // ######## 0x1B, 0x00, // ## ## 0x3F, 0xC0, // ######## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @128 '$' (11 pixels wide) 0x04, 0x00, // # 0x1F, 0x80, // ###### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x38, 0x00, // ### 0x1E, 0x00, // #### 0x0F, 0x00, // #### 0x03, 0x80, // ### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3F, 0x00, // ###### 0x04, 0x00, // # 0x04, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @160 '%' (11 pixels wide) 0x00, 0x00, // 0x18, 0x00, // ## 0x24, 0x00, // # # 0x24, 0x00, // # # 0x18, 0xC0, // ## ## 0x07, 0x80, // #### 0x1E, 0x00, // #### 0x31, 0x80, // ## ## 0x02, 0x40, // # # 0x02, 0x40, // # # 0x01, 0x80, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @192 '&' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x0F, 0x00, // #### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x0C, 0x00, // ## 0x1D, 0x80, // ### ## 0x37, 0x00, // ## ### 0x33, 0x00, // ## ## 0x1D, 0x80, // ### ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @224 ''' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x00, // ### 0x07, 0x00, // ### 0x02, 0x00, // # 0x02, 0x00, // # 0x02, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @256 '(' (11 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0E, 0x00, // ### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0E, 0x00, // ### 0x06, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @288 ')' (11 pixels wide) 0x00, 0x00, // 0x18, 0x00, // ## 0x18, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x1C, 0x00, // ### 0x18, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @320 '*' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x06, 0x00, // ## 0x3F, 0xC0, // ######## 0x3F, 0xC0, // ######## 0x0F, 0x00, // #### 0x1F, 0x80, // ###### 0x19, 0x80, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @352 '+' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x04, 0x00, // # 0x04, 0x00, // # 0x04, 0x00, // # 0x3F, 0x80, // ####### 0x04, 0x00, // # 0x04, 0x00, // # 0x04, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @384 ',' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x06, 0x00, // ## 0x04, 0x00, // # 0x0C, 0x00, // ## 0x08, 0x00, // # 0x08, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // // @416 '-' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @448 '.' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @480 '/' (11 pixels wide) 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @512 '0' (11 pixels wide) 0x00, 0x00, // 0x0E, 0x00, // ### 0x1B, 0x00, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1B, 0x00, // ## ## 0x0E, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @544 '1' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x3E, 0x00, // ##### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x3F, 0xC0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @576 '2' (11 pixels wide) 0x00, 0x00, // 0x0F, 0x00, // #### 0x19, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x18, 0x00, // ## 0x30, 0x00, // ## 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @608 '3' (11 pixels wide) 0x00, 0x00, // 0x3F, 0x00, // ###### 0x61, 0x80, // ## ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x1F, 0x00, // ##### 0x03, 0x80, // ### 0x01, 0x80, // ## 0x01, 0x80, // ## 0x61, 0x80, // ## ## 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @640 '4' (11 pixels wide) 0x00, 0x00, // 0x07, 0x00, // ### 0x07, 0x00, // ### 0x0F, 0x00, // #### 0x0B, 0x00, // # ## 0x1B, 0x00, // ## ## 0x13, 0x00, // # ## 0x33, 0x00, // ## ## 0x3F, 0x80, // ####### 0x03, 0x00, // ## 0x0F, 0x80, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @672 '5' (11 pixels wide) 0x00, 0x00, // 0x1F, 0x80, // ###### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x1F, 0x00, // ##### 0x11, 0x80, // # ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x21, 0x80, // # ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @704 '6' (11 pixels wide) 0x00, 0x00, // 0x07, 0x80, // #### 0x1C, 0x00, // ### 0x18, 0x00, // ## 0x30, 0x00, // ## 0x37, 0x00, // ## ### 0x39, 0x80, // ### ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x19, 0x80, // ## ## 0x0F, 0x00, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @736 '7' (11 pixels wide) 0x00, 0x00, // 0x7F, 0x00, // ####### 0x43, 0x00, // # ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @768 '8' (11 pixels wide) 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @800 '9' (11 pixels wide) 0x00, 0x00, // 0x1E, 0x00, // #### 0x33, 0x00, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0x80, // ### ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x07, 0x00, // ### 0x3C, 0x00, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @832 ':' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @864 ';' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x06, 0x00, // ## 0x04, 0x00, // # 0x08, 0x00, // # 0x08, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @896 '<' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0xC0, // ## 0x03, 0x00, // ## 0x04, 0x00, // # 0x18, 0x00, // ## 0x60, 0x00, // ## 0x18, 0x00, // ## 0x04, 0x00, // # 0x03, 0x00, // ## 0x00, 0xC0, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @928 '=' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0xC0, // ######### 0x00, 0x00, // 0x7F, 0xC0, // ######### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @960 '>' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x60, 0x00, // ## 0x18, 0x00, // ## 0x04, 0x00, // # 0x03, 0x00, // ## 0x00, 0xC0, // ## 0x03, 0x00, // ## 0x04, 0x00, // # 0x18, 0x00, // ## 0x60, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @992 '?' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x01, 0x80, // ## 0x07, 0x00, // ### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1024 '@' (11 pixels wide) 0x00, 0x00, // 0x0E, 0x00, // ### 0x11, 0x00, // # # 0x21, 0x00, // # # 0x21, 0x00, // # # 0x27, 0x00, // # ### 0x29, 0x00, // # # # 0x29, 0x00, // # # # 0x27, 0x00, // # ### 0x20, 0x00, // # 0x11, 0x00, // # # 0x0E, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1056 'A' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x00, // ###### 0x0F, 0x00, // #### 0x09, 0x00, // # # 0x19, 0x80, // ## ## 0x19, 0x80, // ## ## 0x1F, 0x80, // ###### 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x79, 0xE0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1088 'B' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x00, // ####### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3F, 0x00, // ###### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x7F, 0x00, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1120 'C' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x40, // ##### # 0x30, 0xC0, // ## ## 0x60, 0x40, // ## # 0x60, 0x00, // ## 0x60, 0x00, // ## 0x60, 0x00, // ## 0x60, 0x40, // ## # 0x30, 0x80, // ## # 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1152 'D' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x00, // ####### 0x31, 0x80, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x31, 0x80, // ## ## 0x7F, 0x00, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1184 'E' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x80, // ######## 0x30, 0x80, // ## # 0x30, 0x80, // ## # 0x32, 0x00, // ## # 0x3E, 0x00, // ##### 0x32, 0x00, // ## # 0x30, 0x80, // ## # 0x30, 0x80, // ## # 0x7F, 0x80, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1216 'F' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0xC0, // ######### 0x30, 0x40, // ## # 0x30, 0x40, // ## # 0x32, 0x00, // ## # 0x3E, 0x00, // ##### 0x32, 0x00, // ## # 0x30, 0x00, // ## 0x30, 0x00, // ## 0x7C, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1248 'G' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1E, 0x80, // #### # 0x31, 0x80, // ## ## 0x60, 0x80, // ## # 0x60, 0x00, // ## 0x60, 0x00, // ## 0x67, 0xC0, // ## ##### 0x61, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1280 'H' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3F, 0x80, // ####### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x7B, 0xC0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1312 'I' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xC0, // ######## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x3F, 0xC0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1344 'J' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0xC0, // ####### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x63, 0x00, // ## ## 0x63, 0x00, // ## ## 0x63, 0x00, // ## ## 0x3E, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1376 'K' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x33, 0x00, // ## ## 0x36, 0x00, // ## ## 0x3C, 0x00, // #### 0x3E, 0x00, // ##### 0x33, 0x00, // ## ## 0x31, 0x80, // ## ## 0x79, 0xC0, // #### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1408 'L' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7E, 0x00, // ###### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x40, // ## # 0x18, 0x40, // ## # 0x18, 0x40, // ## # 0x7F, 0xC0, // ######### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1440 'M' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0xE0, 0xE0, // ### ### 0x60, 0xC0, // ## ## 0x71, 0xC0, // ### ### 0x7B, 0xC0, // #### #### 0x6A, 0xC0, // ## # # ## 0x6E, 0xC0, // ## ### ## 0x64, 0xC0, // ## # ## 0x60, 0xC0, // ## ## 0xFB, 0xE0, // ##### ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1472 'N' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x73, 0xC0, // ### #### 0x31, 0x80, // ## ## 0x39, 0x80, // ### ## 0x3D, 0x80, // #### ## 0x35, 0x80, // ## # ## 0x37, 0x80, // ## #### 0x33, 0x80, // ## ### 0x31, 0x80, // ## ## 0x79, 0x80, // #### ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1504 'O' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1536 'P' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x00, // ####### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3F, 0x00, // ###### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x7E, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1568 'Q' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x0C, 0xC0, // ## ## 0x1F, 0x80, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1600 'R' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x00, // ####### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3E, 0x00, // ##### 0x33, 0x00, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x7C, 0xE0, // ##### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1632 'S' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x80, // ###### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x38, 0x00, // ### 0x1F, 0x00, // ##### 0x03, 0x80, // ### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1664 'T' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x80, // ######## 0x4C, 0x80, // # ## # 0x4C, 0x80, // # ## # 0x4C, 0x80, // # ## # 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1696 'U' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1728 'V' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x0A, 0x00, // # # 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1760 'W' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0xFB, 0xE0, // ##### ##### 0x60, 0xC0, // ## ## 0x64, 0xC0, // ## # ## 0x6E, 0xC0, // ## ### ## 0x6E, 0xC0, // ## ### ## 0x2A, 0x80, // # # # # 0x3B, 0x80, // ### ### 0x3B, 0x80, // ### ### 0x31, 0x80, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1792 'X' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x1B, 0x00, // ## ## 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x1B, 0x00, // ## ## 0x31, 0x80, // ## ## 0x7B, 0xC0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1824 'Y' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x79, 0xE0, // #### #### 0x30, 0xC0, // ## ## 0x19, 0x80, // ## ## 0x0F, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x1F, 0x80, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1856 'Z' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x80, // ####### 0x21, 0x80, // # ## 0x23, 0x00, // # ## 0x06, 0x00, // ## 0x04, 0x00, // # 0x0C, 0x00, // ## 0x18, 0x80, // ## # 0x30, 0x80, // ## # 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1888 '[' (11 pixels wide) 0x00, 0x00, // 0x07, 0x80, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1920 '\' (11 pixels wide) 0x30, 0x00, // ## 0x30, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1952 ']' (11 pixels wide) 0x00, 0x00, // 0x1E, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x1E, 0x00, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1984 '^' (11 pixels wide) 0x04, 0x00, // # 0x0A, 0x00, // # # 0x0A, 0x00, // # # 0x11, 0x00, // # # 0x20, 0x80, // # # 0x20, 0x80, // # # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2016 '_' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0xFF, 0xE0, // ########### // @2048 '`' (11 pixels wide) 0x08, 0x00, // # 0x04, 0x00, // # 0x02, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2080 'a' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x01, 0x80, // ## 0x01, 0x80, // ## 0x1F, 0x80, // ###### 0x31, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0xC0, // ### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2112 'b' (11 pixels wide) 0x00, 0x00, // 0x70, 0x00, // ### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x37, 0x00, // ## ### 0x39, 0x80, // ### ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x39, 0x80, // ### ## 0x77, 0x00, // ### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2144 'c' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1E, 0x80, // #### # 0x31, 0x80, // ## ## 0x60, 0x80, // ## # 0x60, 0x00, // ## 0x60, 0x80, // ## # 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2176 'd' (11 pixels wide) 0x00, 0x00, // 0x03, 0x80, // ### 0x01, 0x80, // ## 0x01, 0x80, // ## 0x1D, 0x80, // ### ## 0x33, 0x80, // ## ### 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0xC0, // ### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2208 'e' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x60, 0xC0, // ## ## 0x7F, 0xC0, // ######### 0x60, 0x00, // ## 0x30, 0xC0, // ## ## 0x1F, 0x80, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2240 'f' (11 pixels wide) 0x00, 0x00, // 0x07, 0xE0, // ###### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x3F, 0x80, // ####### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2272 'g' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1D, 0xC0, // ### ### 0x33, 0x80, // ## ### 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0x80, // ### ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // // @2304 'h' (11 pixels wide) 0x00, 0x00, // 0x70, 0x00, // ### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x37, 0x00, // ## ### 0x39, 0x80, // ### ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x7B, 0xC0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2336 'i' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x06, 0x00, // ## 0x00, 0x00, // 0x1E, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x3F, 0xC0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2368 'j' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x06, 0x00, // ## 0x00, 0x00, // 0x3F, 0x00, // ###### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x3E, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // // @2400 'k' (11 pixels wide) 0x00, 0x00, // 0x70, 0x00, // ### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x37, 0x80, // ## #### 0x36, 0x00, // ## ## 0x3C, 0x00, // #### 0x3C, 0x00, // #### 0x36, 0x00, // ## ## 0x33, 0x00, // ## ## 0x77, 0xC0, // ### ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2432 'l' (11 pixels wide) 0x00, 0x00, // 0x1E, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x3F, 0xC0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2464 'm' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x80, // ######## 0x36, 0xC0, // ## ## ## 0x36, 0xC0, // ## ## ## 0x36, 0xC0, // ## ## ## 0x36, 0xC0, // ## ## ## 0x36, 0xC0, // ## ## ## 0x76, 0xE0, // ### ## ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2496 'n' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x77, 0x00, // ### ### 0x39, 0x80, // ### ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x7B, 0xC0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2528 'o' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x31, 0x80, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x60, 0xC0, // ## ## 0x31, 0x80, // ## ## 0x1F, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2560 'p' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x77, 0x00, // ### ### 0x39, 0x80, // ### ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x39, 0x80, // ### ## 0x37, 0x00, // ## ### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x7C, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // // @2592 'q' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1D, 0xC0, // ### ### 0x33, 0x80, // ## ### 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x61, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0x80, // ### ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x07, 0xC0, // ##### 0x00, 0x00, // 0x00, 0x00, // // @2624 'r' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0x80, // #### ### 0x1C, 0xC0, // ### ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x7F, 0x00, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2656 's' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x80, // ###### 0x31, 0x80, // ## ## 0x3C, 0x00, // #### 0x1F, 0x00, // ##### 0x03, 0x80, // ### 0x31, 0x80, // ## ## 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2688 't' (11 pixels wide) 0x00, 0x00, // 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x7F, 0x00, // ####### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x80, // ## # 0x0F, 0x00, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2720 'u' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x73, 0x80, // ### ### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x33, 0x80, // ## ### 0x1D, 0xC0, // ### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2752 'v' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x31, 0x80, // ## ## 0x31, 0x80, // ## ## 0x1B, 0x00, // ## ## 0x1B, 0x00, // ## ## 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2784 'w' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0xF1, 0xE0, // #### #### 0x60, 0xC0, // ## ## 0x64, 0xC0, // ## # ## 0x6E, 0xC0, // ## ### ## 0x3B, 0x80, // ### ### 0x3B, 0x80, // ### ### 0x31, 0x80, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2816 'x' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7B, 0xC0, // #### #### 0x1B, 0x00, // ## ## 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x0E, 0x00, // ### 0x1B, 0x00, // ## ## 0x7B, 0xC0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2848 'y' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x79, 0xE0, // #### #### 0x30, 0xC0, // ## ## 0x19, 0x80, // ## ## 0x19, 0x80, // ## ## 0x0B, 0x00, // # ## 0x0F, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x3E, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // // @2880 'z' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x80, // ####### 0x21, 0x80, // # ## 0x03, 0x00, // ## 0x0E, 0x00, // ### 0x18, 0x00, // ## 0x30, 0x80, // ## # 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2912 '{' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x18, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2944 '|' (11 pixels wide) 0x00, 0x00, // 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2976 '}' (11 pixels wide) 0x00, 0x00, // 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3008 '~' (11 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x18, 0x00, // ## 0x24, 0x80, // # # # 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // }; sFONT Font16 = { Font16_Table, 11, // Width 16, // Height 0x20, // First ' ' 0x7E // Last '~' }; /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ ================================================ FILE: font20.c ================================================ /** ****************************************************************************** * @file font20.c * @author MCD Application Team * @version V1.0.0 * @date 18-February-2014 * @brief This file provides text font20 for STM32xx-EVAL's LCD driver. ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2014 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "fonts.h" // Character bitmaps for Courier New 15pt const uint8_t Font20_Table[] = { // @0 ' ' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @40 '!' (14 pixels wide) 0x00, 0x00, // 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x02, 0x00, // # 0x02, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x00, // ### 0x07, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @80 '"' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1C, 0xE0, // ### ### 0x1C, 0xE0, // ### ### 0x1C, 0xE0, // ### ### 0x08, 0x40, // # # 0x08, 0x40, // # # 0x08, 0x40, // # # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @120 '#' (14 pixels wide) 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @160 '$' (14 pixels wide) 0x03, 0x00, // ## 0x03, 0x00, // ## 0x07, 0xE0, // ###### 0x0F, 0xE0, // ####### 0x18, 0x60, // ## ## 0x18, 0x00, // ## 0x1F, 0x00, // ##### 0x0F, 0xC0, // ###### 0x00, 0xE0, // ### 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x1F, 0xC0, // ####### 0x1F, 0x80, // ###### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @200 '%' (14 pixels wide) 0x00, 0x00, // 0x1C, 0x00, // ### 0x22, 0x00, // # # 0x22, 0x00, // # # 0x22, 0x00, // # # 0x1C, 0x60, // ### ## 0x01, 0xE0, // #### 0x0F, 0x80, // ##### 0x3C, 0x00, // #### 0x31, 0xC0, // ## ### 0x02, 0x20, // # # 0x02, 0x20, // # # 0x02, 0x20, // # # 0x01, 0xC0, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @240 '&' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0xE0, // ##### 0x0F, 0xE0, // ####### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x0F, 0x30, // #### ## 0x1F, 0xF0, // ######### 0x19, 0xE0, // ## #### 0x18, 0xC0, // ## ## 0x1F, 0xF0, // ######### 0x07, 0xB0, // #### ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @280 ''' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x80, // ### 0x03, 0x80, // ### 0x01, 0x00, // # 0x01, 0x00, // # 0x01, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @320 '(' (14 pixels wide) 0x00, 0x00, // 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @360 ')' (14 pixels wide) 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @400 '*' (14 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x1B, 0x60, // ## ## ## 0x1F, 0xE0, // ######## 0x07, 0x80, // #### 0x07, 0x80, // #### 0x0F, 0xC0, // ###### 0x0C, 0xC0, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @440 '+' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @480 ',' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x04, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @520 '-' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xE0, // ######### 0x3F, 0xE0, // ######### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @560 '.' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x80, // ### 0x03, 0x80, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @600 '/' (14 pixels wide) 0x00, 0x60, // ## 0x00, 0x60, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @640 '0' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x80, // ##### 0x1F, 0xC0, // ####### 0x18, 0xC0, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x1F, 0xC0, // ####### 0x0F, 0x80, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @680 '1' (14 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x1F, 0x00, // ##### 0x1F, 0x00, // ##### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @720 '2' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x80, // ##### 0x1F, 0xC0, // ####### 0x38, 0xE0, // ### ### 0x30, 0x60, // ## ## 0x00, 0x60, // ## 0x00, 0xC0, // ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x18, 0x00, // ## 0x3F, 0xE0, // ######### 0x3F, 0xE0, // ######### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @760 '3' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x80, // ##### 0x3F, 0xC0, // ######## 0x30, 0xE0, // ## ### 0x00, 0x60, // ## 0x00, 0xE0, // ### 0x07, 0xC0, // ##### 0x07, 0xC0, // ##### 0x00, 0xE0, // ### 0x00, 0x60, // ## 0x00, 0x60, // ## 0x60, 0xE0, // ## ### 0x7F, 0xC0, // ######### 0x3F, 0x80, // ####### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @800 '4' (14 pixels wide) 0x00, 0x00, // 0x01, 0xC0, // ### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x06, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x30, 0xC0, // ## ## 0x3F, 0xE0, // ######### 0x3F, 0xE0, // ######### 0x00, 0xC0, // ## 0x03, 0xE0, // ##### 0x03, 0xE0, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @840 '5' (14 pixels wide) 0x00, 0x00, // 0x1F, 0xC0, // ####### 0x1F, 0xC0, // ####### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x1F, 0x80, // ###### 0x1F, 0xC0, // ####### 0x18, 0xE0, // ## ### 0x00, 0x60, // ## 0x00, 0x60, // ## 0x00, 0x60, // ## 0x30, 0xE0, // ## ### 0x3F, 0xC0, // ######## 0x1F, 0x80, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @880 '6' (14 pixels wide) 0x00, 0x00, // 0x03, 0xE0, // ##### 0x0F, 0xE0, // ####### 0x1E, 0x00, // #### 0x18, 0x00, // ## 0x38, 0x00, // ### 0x37, 0x80, // ## #### 0x3F, 0xC0, // ######## 0x38, 0xE0, // ### ### 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x18, 0xE0, // ## ### 0x1F, 0xC0, // ####### 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @920 '7' (14 pixels wide) 0x00, 0x00, // 0x3F, 0xE0, // ######### 0x3F, 0xE0, // ######### 0x30, 0x60, // ## ## 0x00, 0x60, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @960 '8' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x80, // ##### 0x1F, 0xC0, // ####### 0x38, 0xE0, // ### ### 0x30, 0x60, // ## ## 0x38, 0xE0, // ### ### 0x1F, 0xC0, // ####### 0x1F, 0xC0, // ####### 0x38, 0xE0, // ### ### 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x38, 0xE0, // ### ### 0x1F, 0xC0, // ####### 0x0F, 0x80, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1000 '9' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x00, // #### 0x1F, 0xC0, // ####### 0x38, 0xC0, // ### ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x38, 0xE0, // ### ### 0x1F, 0xE0, // ######## 0x0F, 0x60, // #### ## 0x00, 0xE0, // ### 0x00, 0xC0, // ## 0x03, 0xC0, // #### 0x3F, 0x80, // ####### 0x3E, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1040 ':' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x80, // ### 0x03, 0x80, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x80, // ### 0x03, 0x80, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1080 ';' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x01, 0xC0, // ### 0x01, 0xC0, // ### 0x01, 0xC0, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x03, 0x80, // ### 0x03, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x04, 0x00, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1120 '<' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x30, // ## 0x00, 0xF0, // #### 0x03, 0xC0, // #### 0x07, 0x00, // ### 0x1C, 0x00, // ### 0x78, 0x00, // #### 0x1C, 0x00, // ### 0x07, 0x00, // ### 0x03, 0xC0, // #### 0x00, 0xF0, // #### 0x00, 0x30, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1160 '=' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0xF0, // ########### 0x7F, 0xF0, // ########### 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0xF0, // ########### 0x7F, 0xF0, // ########### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1200 '>' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x30, 0x00, // ## 0x3C, 0x00, // #### 0x0F, 0x00, // #### 0x03, 0x80, // ### 0x00, 0xE0, // ### 0x00, 0x78, // #### 0x00, 0xE0, // ### 0x03, 0x80, // ### 0x0F, 0x00, // #### 0x3C, 0x00, // #### 0x30, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1240 '?' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x0F, 0x80, // ##### 0x1F, 0xC0, // ####### 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x00, 0x60, // ## 0x01, 0xC0, // ### 0x03, 0x80, // ### 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x00, // ### 0x07, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1280 '@' (14 pixels wide) 0x00, 0x00, // 0x03, 0x80, // ### 0x0C, 0x80, // ## # 0x08, 0x40, // # # 0x10, 0x40, // # # 0x10, 0x40, // # # 0x11, 0xC0, // # ### 0x12, 0x40, // # # # 0x12, 0x40, // # # # 0x12, 0x40, // # # # 0x11, 0xC0, // # ### 0x10, 0x00, // # 0x08, 0x00, // # 0x08, 0x40, // # # 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1320 'A' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x80, // ###### 0x1F, 0x80, // ###### 0x03, 0x80, // ### 0x06, 0xC0, // ## ## 0x06, 0xC0, // ## ## 0x0C, 0xC0, // ## ## 0x0C, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x30, 0x30, // ## ## 0x78, 0x78, // #### #### 0x78, 0x78, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1360 'B' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x80, // ####### 0x3F, 0xC0, // ######## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0xE0, // ## ### 0x1F, 0xC0, // ####### 0x1F, 0xE0, // ######## 0x18, 0x70, // ## ### 0x18, 0x30, // ## ## 0x18, 0x30, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xE0, // ######### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1400 'C' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xB0, // #### ## 0x0F, 0xF0, // ######## 0x1C, 0x70, // ### ### 0x38, 0x30, // ### ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x38, 0x30, // ### ## 0x1C, 0x70, // ### ### 0x0F, 0xE0, // ####### 0x07, 0xC0, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1440 'D' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7F, 0x80, // ######## 0x7F, 0xC0, // ######### 0x30, 0xE0, // ## ### 0x30, 0x70, // ## ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x70, // ## ### 0x30, 0xE0, // ## ### 0x7F, 0xC0, // ######### 0x7F, 0x80, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1480 'E' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x18, 0x30, // ## ## 0x18, 0x30, // ## ## 0x19, 0x80, // ## ## 0x1F, 0x80, // ###### 0x1F, 0x80, // ###### 0x19, 0x80, // ## ## 0x18, 0x30, // ## ## 0x18, 0x30, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1520 'F' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x18, 0x30, // ## ## 0x18, 0x30, // ## ## 0x19, 0x80, // ## ## 0x1F, 0x80, // ###### 0x1F, 0x80, // ###### 0x19, 0x80, // ## ## 0x18, 0x00, // ## 0x18, 0x00, // ## 0x3F, 0x00, // ###### 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1560 'G' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xB0, // #### ## 0x1F, 0xF0, // ######### 0x18, 0x70, // ## ### 0x30, 0x30, // ## ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x31, 0xF8, // ## ###### 0x31, 0xF8, // ## ###### 0x30, 0x30, // ## ## 0x18, 0x30, // ## ## 0x1F, 0xF0, // ######### 0x07, 0xC0, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1600 'H' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1640 'I' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1680 'J' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x03, 0xF8, // ####### 0x03, 0xF8, // ####### 0x00, 0x60, // ## 0x00, 0x60, // ## 0x00, 0x60, // ## 0x00, 0x60, // ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x30, 0xE0, // ## ### 0x3F, 0xC0, // ######## 0x0F, 0x80, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1720 'K' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3E, 0xF8, // ##### ##### 0x3E, 0xF8, // ##### ##### 0x18, 0xE0, // ## ### 0x19, 0x80, // ## ## 0x1B, 0x00, // ## ## 0x1F, 0x00, // ##### 0x1D, 0x80, // ### ## 0x18, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x18, 0x60, // ## ## 0x3E, 0x78, // ##### #### 0x3E, 0x38, // ##### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1760 'L' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0x00, // ###### 0x3F, 0x00, // ###### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x30, // ## ## 0x0C, 0x30, // ## ## 0x0C, 0x30, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1800 'M' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x78, 0x78, // #### #### 0x78, 0x78, // #### #### 0x38, 0x70, // ### ### 0x3C, 0xF0, // #### #### 0x34, 0xB0, // ## # # ## 0x37, 0xB0, // ## #### ## 0x37, 0xB0, // ## #### ## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x30, 0x30, // ## ## 0x7C, 0xF8, // ##### ##### 0x7C, 0xF8, // ##### ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1840 'N' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x39, 0xF0, // ### ##### 0x3D, 0xF0, // #### ##### 0x1C, 0x60, // ### ## 0x1E, 0x60, // #### ## 0x1E, 0x60, // #### ## 0x1B, 0x60, // ## ## ## 0x1B, 0x60, // ## ## ## 0x19, 0xE0, // ## #### 0x19, 0xE0, // ## #### 0x18, 0xE0, // ## ### 0x3E, 0xE0, // ##### ### 0x3E, 0x60, // ##### ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1880 'O' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x80, // #### 0x0F, 0xC0, // ###### 0x1C, 0xE0, // ### ### 0x38, 0x70, // ### ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x38, 0x70, // ### ### 0x1C, 0xE0, // ### ### 0x0F, 0xC0, // ###### 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1920 'P' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xC0, // ######## 0x3F, 0xE0, // ######### 0x18, 0x70, // ## ### 0x18, 0x30, // ## ## 0x18, 0x30, // ## ## 0x18, 0x70, // ## ### 0x1F, 0xE0, // ######## 0x1F, 0xC0, // ####### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x3F, 0x00, // ###### 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @1960 'Q' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x80, // #### 0x0F, 0xC0, // ###### 0x1C, 0xE0, // ### ### 0x38, 0x70, // ### ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x38, 0x70, // ### ### 0x1C, 0xE0, // ### ### 0x0F, 0xC0, // ###### 0x07, 0x80, // #### 0x07, 0xB0, // #### ## 0x0F, 0xF0, // ######## 0x0C, 0xE0, // ## ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2000 'R' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xC0, // ######## 0x3F, 0xE0, // ######### 0x18, 0x70, // ## ### 0x18, 0x30, // ## ## 0x18, 0x70, // ## ### 0x1F, 0xE0, // ######## 0x1F, 0xC0, // ####### 0x18, 0xE0, // ## ### 0x18, 0x60, // ## ## 0x18, 0x70, // ## ### 0x3E, 0x38, // ##### ### 0x3E, 0x18, // ##### ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2040 'S' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x0F, 0xB0, // ##### ## 0x1F, 0xF0, // ######### 0x38, 0x70, // ### ### 0x30, 0x30, // ## ## 0x38, 0x00, // ### 0x1F, 0x80, // ###### 0x07, 0xE0, // ###### 0x00, 0x70, // ### 0x30, 0x30, // ## ## 0x38, 0x70, // ### ### 0x3F, 0xE0, // ######### 0x37, 0xC0, // ## ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2080 'T' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x0F, 0xC0, // ###### 0x0F, 0xC0, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2120 'U' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x1C, 0xE0, // ### ### 0x0F, 0xC0, // ###### 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2160 'V' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x30, 0x60, // ## ## 0x30, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x07, 0x00, // ### 0x07, 0x00, // ### 0x07, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2200 'W' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x7C, 0x7C, // ##### ##### 0x7C, 0x7C, // ##### ##### 0x30, 0x18, // ## ## 0x33, 0x98, // ## ### ## 0x33, 0x98, // ## ### ## 0x33, 0x98, // ## ### ## 0x36, 0xD8, // ## ## ## ## 0x16, 0xD0, // # ## ## # 0x1C, 0x70, // ### ### 0x1C, 0x70, // ### ### 0x1C, 0x70, // ### ### 0x18, 0x30, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2240 'X' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x30, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x0D, 0x80, // ## ## 0x07, 0x00, // ### 0x07, 0x00, // ### 0x0D, 0x80, // ## ## 0x18, 0xC0, // ## ## 0x30, 0x60, // ## ## 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2280 'Y' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x18, 0x60, // ## ## 0x0C, 0xC0, // ## ## 0x07, 0x80, // #### 0x07, 0x80, // #### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x0F, 0xC0, // ###### 0x0F, 0xC0, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2320 'Z' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x18, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x60, // ## ## 0x18, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2360 '[' (14 pixels wide) 0x00, 0x00, // 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2400 '\' (14 pixels wide) 0x18, 0x00, // ## 0x18, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x01, 0x80, // ## 0x01, 0x80, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0x60, // ## 0x00, 0x60, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2440 ']' (14 pixels wide) 0x00, 0x00, // 0x0F, 0x00, // #### 0x0F, 0x00, // #### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x0F, 0x00, // #### 0x0F, 0x00, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2480 '^' (14 pixels wide) 0x00, 0x00, // 0x02, 0x00, // # 0x07, 0x00, // ### 0x0D, 0x80, // ## ## 0x18, 0xC0, // ## ## 0x30, 0x60, // ## ## 0x20, 0x20, // # # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2520 '_' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0xFF, 0xFC, // ############## 0xFF, 0xFC, // ############## // @2560 '`' (14 pixels wide) 0x00, 0x00, // 0x04, 0x00, // # 0x03, 0x00, // ## 0x00, 0x80, // # 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2600 'a' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x0F, 0xC0, // ###### 0x1F, 0xE0, // ######## 0x00, 0x60, // ## 0x0F, 0xE0, // ####### 0x1F, 0xE0, // ######## 0x38, 0x60, // ### ## 0x30, 0xE0, // ## ### 0x3F, 0xF0, // ########## 0x1F, 0x70, // ##### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2640 'b' (14 pixels wide) 0x00, 0x00, // 0x70, 0x00, // ### 0x70, 0x00, // ### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x37, 0x80, // ## #### 0x3F, 0xE0, // ######### 0x38, 0x60, // ### ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x38, 0x60, // ### ## 0x7F, 0xE0, // ########## 0x77, 0x80, // ### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2680 'c' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xB0, // #### ## 0x1F, 0xF0, // ######### 0x18, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x00, // ## 0x30, 0x00, // ## 0x38, 0x30, // ### ## 0x1F, 0xF0, // ######### 0x0F, 0xC0, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2720 'd' (14 pixels wide) 0x00, 0x00, // 0x00, 0x70, // ### 0x00, 0x70, // ### 0x00, 0x30, // ## 0x00, 0x30, // ## 0x07, 0xB0, // #### ## 0x1F, 0xF0, // ######### 0x18, 0x70, // ## ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x38, 0x70, // ### ### 0x1F, 0xF8, // ########## 0x07, 0xB8, // #### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2760 'e' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x80, // #### 0x1F, 0xE0, // ######## 0x18, 0x60, // ## ## 0x3F, 0xF0, // ########## 0x3F, 0xF0, // ########## 0x30, 0x00, // ## 0x18, 0x30, // ## ## 0x1F, 0xF0, // ######### 0x07, 0xC0, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2800 'f' (14 pixels wide) 0x00, 0x00, // 0x03, 0xF0, // ###### 0x07, 0xF0, // ####### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2840 'g' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xB8, // #### ### 0x1F, 0xF8, // ########## 0x18, 0x70, // ## ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x18, 0x70, // ## ### 0x1F, 0xF0, // ######### 0x07, 0xB0, // #### ## 0x00, 0x30, // ## 0x00, 0x70, // ### 0x0F, 0xE0, // ####### 0x0F, 0xC0, // ###### 0x00, 0x00, // 0x00, 0x00, // // @2880 'h' (14 pixels wide) 0x00, 0x00, // 0x38, 0x00, // ### 0x38, 0x00, // ### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x1B, 0xC0, // ## #### 0x1F, 0xE0, // ######## 0x1C, 0x60, // ### ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2920 'i' (14 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0x00, // ##### 0x1F, 0x00, // ##### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @2960 'j' (14 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0xC0, // ####### 0x1F, 0xC0, // ####### 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x00, 0xC0, // ## 0x01, 0xC0, // ### 0x3F, 0x80, // ####### 0x3F, 0x00, // ###### 0x00, 0x00, // 0x00, 0x00, // // @3000 'k' (14 pixels wide) 0x00, 0x00, // 0x38, 0x00, // ### 0x38, 0x00, // ### 0x18, 0x00, // ## 0x18, 0x00, // ## 0x1B, 0xE0, // ## ##### 0x1B, 0xE0, // ## ##### 0x1B, 0x00, // ## ## 0x1E, 0x00, // #### 0x1E, 0x00, // #### 0x1B, 0x00, // ## ## 0x19, 0x80, // ## ## 0x39, 0xF0, // ### ##### 0x39, 0xF0, // ### ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3040 'l' (14 pixels wide) 0x00, 0x00, // 0x1F, 0x00, // ##### 0x1F, 0x00, // ##### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3080 'm' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x7E, 0xE0, // ###### ### 0x7F, 0xF0, // ########### 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x33, 0x30, // ## ## ## 0x7B, 0xB8, // #### ### ### 0x7B, 0xB8, // #### ### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3120 'n' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3B, 0xC0, // ### #### 0x3F, 0xE0, // ######### 0x1C, 0x60, // ### ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3160 'o' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0x80, // #### 0x1F, 0xE0, // ######## 0x18, 0x60, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x18, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x07, 0x80, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3200 'p' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x77, 0x80, // ### #### 0x7F, 0xE0, // ########## 0x38, 0x60, // ### ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x38, 0x60, // ### ## 0x3F, 0xE0, // ######### 0x37, 0x80, // ## #### 0x30, 0x00, // ## 0x30, 0x00, // ## 0x7C, 0x00, // ##### 0x7C, 0x00, // ##### 0x00, 0x00, // 0x00, 0x00, // // @3240 'q' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xB8, // #### ### 0x1F, 0xF8, // ########## 0x18, 0x70, // ## ### 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x30, 0x30, // ## ## 0x18, 0x70, // ## ### 0x1F, 0xF0, // ######### 0x07, 0xB0, // #### ## 0x00, 0x30, // ## 0x00, 0x30, // ## 0x00, 0xF8, // ##### 0x00, 0xF8, // ##### 0x00, 0x00, // 0x00, 0x00, // // @3280 'r' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3C, 0xE0, // #### ### 0x3D, 0xF0, // #### ##### 0x0F, 0x30, // #### ## 0x0E, 0x00, // ### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x3F, 0xC0, // ######## 0x3F, 0xC0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3320 's' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x07, 0xE0, // ###### 0x1F, 0xE0, // ######## 0x18, 0x60, // ## ## 0x1E, 0x00, // #### 0x0F, 0xC0, // ###### 0x01, 0xE0, // #### 0x18, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x1F, 0x80, // ###### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3360 't' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x3F, 0xE0, // ######### 0x3F, 0xE0, // ######### 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x00, // ## 0x0C, 0x30, // ## ## 0x0F, 0xF0, // ######## 0x07, 0xC0, // ##### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3400 'u' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x38, 0xE0, // ### ### 0x38, 0xE0, // ### ### 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0x60, // ## ## 0x18, 0xE0, // ## ### 0x1F, 0xF0, // ######### 0x0F, 0x70, // #### ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3440 'v' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x30, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x0D, 0x80, // ## ## 0x0D, 0x80, // ## ## 0x07, 0x00, // ### 0x07, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3480 'w' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x32, 0x60, // ## # ## 0x32, 0x60, // ## # ## 0x37, 0xE0, // ## ###### 0x1D, 0xC0, // ### ### 0x1D, 0xC0, // ### ### 0x18, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3520 'x' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x0C, 0xC0, // ## ## 0x07, 0x80, // #### 0x03, 0x00, // ## 0x07, 0x80, // #### 0x0C, 0xC0, // ## ## 0x3C, 0xF0, // #### #### 0x3C, 0xF0, // #### #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3560 'y' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x78, 0xF0, // #### #### 0x78, 0xF0, // #### #### 0x30, 0x60, // ## ## 0x18, 0xC0, // ## ## 0x18, 0xC0, // ## ## 0x0D, 0x80, // ## ## 0x0F, 0x80, // ##### 0x07, 0x00, // ### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x00, // ## 0x7F, 0x00, // ####### 0x7F, 0x00, // ####### 0x00, 0x00, // 0x00, 0x00, // // @3600 'z' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x18, 0xC0, // ## ## 0x01, 0x80, // ## 0x03, 0x00, // ## 0x06, 0x00, // ## 0x0C, 0x60, // ## ## 0x1F, 0xE0, // ######## 0x1F, 0xE0, // ######## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3640 '{' (14 pixels wide) 0x00, 0x00, // 0x01, 0xC0, // ### 0x03, 0xC0, // #### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x07, 0x00, // ### 0x0E, 0x00, // ### 0x07, 0x00, // ### 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0xC0, // #### 0x01, 0xC0, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3680 '|' (14 pixels wide) 0x00, 0x00, // 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x03, 0x00, // ## 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3720 '}' (14 pixels wide) 0x00, 0x00, // 0x1C, 0x00, // ### 0x1E, 0x00, // #### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x07, 0x00, // ### 0x03, 0x80, // ### 0x07, 0x00, // ### 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x06, 0x00, // ## 0x1E, 0x00, // #### 0x1C, 0x00, // ### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @3760 '~' (14 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x0E, 0x00, // ### 0x3F, 0x30, // ###### ## 0x33, 0xF0, // ## ###### 0x01, 0xE0, // #### 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // }; sFONT Font20 = { Font20_Table, 14, // Width 20, // Height 0x20, // First ' ' 0x7E // Last '`' }; /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ ================================================ FILE: font24.c ================================================ /** ****************************************************************************** * @file font24.c * @author MCD Application Team * @version V1.0.0 * @date 18-February-2014 * @brief This file provides text font24 for STM32xx-EVAL's LCD driver. ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2014 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "fonts.h" const uint8_t Font24_Table [] = { // @0 ' ' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @72 '!' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x01, 0x00, 0x00, // # 0x01, 0x00, 0x00, // # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @144 '"' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x0E, 0x70, 0x00, // ### ### 0x0E, 0x70, 0x00, // ### ### 0x0E, 0x70, 0x00, // ### ### 0x04, 0x20, 0x00, // # # 0x04, 0x20, 0x00, // # # 0x04, 0x20, 0x00, // # # 0x04, 0x20, 0x00, // # # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @216 '#' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x06, 0x60, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @288 '$' (17 pixels wide) 0x00, 0x00, 0x00, // 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x07, 0xB0, 0x00, // #### ## 0x0F, 0xF0, 0x00, // ######## 0x18, 0x70, 0x00, // ## ### 0x18, 0x70, 0x00, // ## ### 0x1C, 0x00, 0x00, // ### 0x0F, 0x80, 0x00, // ##### 0x07, 0xE0, 0x00, // ###### 0x00, 0xF0, 0x00, // #### 0x18, 0x30, 0x00, // ## ## 0x1C, 0x30, 0x00, // ### ## 0x1C, 0x70, 0x00, // ### ### 0x1F, 0xE0, 0x00, // ######## 0x1B, 0xC0, 0x00, // ## #### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @360 '%' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0x80, 0x00, // #### 0x0F, 0xC0, 0x00, // ###### 0x1C, 0xE0, 0x00, // ### ### 0x18, 0x60, 0x00, // ## ## 0x18, 0x60, 0x00, // ## ## 0x1C, 0xE0, 0x00, // ### ### 0x0F, 0xF8, 0x00, // ######### 0x07, 0xE0, 0x00, // ###### 0x1F, 0xF0, 0x00, // ######### 0x07, 0x38, 0x00, // ### ### 0x06, 0x18, 0x00, // ## ## 0x06, 0x18, 0x00, // ## ## 0x07, 0x38, 0x00, // ### ### 0x03, 0xF0, 0x00, // ###### 0x01, 0xE0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @432 '&' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xF0, 0x00, // ###### 0x07, 0xF0, 0x00, // ####### 0x0C, 0x60, 0x00, // ## ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x07, 0x00, 0x00, // ### 0x0F, 0x9C, 0x00, // ##### ### 0x1D, 0xFC, 0x00, // ### ####### 0x18, 0xF0, 0x00, // ## #### 0x18, 0x70, 0x00, // ## ### 0x0F, 0xFC, 0x00, // ########## 0x07, 0xDC, 0x00, // ##### ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @504 ''' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x01, 0x00, 0x00, // # 0x01, 0x00, 0x00, // # 0x01, 0x00, 0x00, // # 0x01, 0x00, 0x00, // # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @576 '(' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x18, 0x00, // ## 0x00, 0x38, 0x00, // ### 0x00, 0x70, 0x00, // ### 0x00, 0xF0, 0x00, // #### 0x00, 0xE0, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x00, 0x70, 0x00, // ### 0x00, 0x70, 0x00, // ### 0x00, 0x38, 0x00, // ### 0x00, 0x18, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @648 ')' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x18, 0x00, 0x00, // ## 0x1C, 0x00, 0x00, // ### 0x0E, 0x00, 0x00, // ### 0x0E, 0x00, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x0F, 0x00, 0x00, // #### 0x0E, 0x00, 0x00, // ### 0x1C, 0x00, 0x00, // ### 0x18, 0x00, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @720 '*' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x1D, 0xB8, 0x00, // ### ## ### 0x1F, 0xF8, 0x00, // ########## 0x07, 0xE0, 0x00, // ###### 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @792 '+' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @864 ',' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xE0, 0x00, // ### 0x00, 0xC0, 0x00, // ## 0x01, 0xC0, 0x00, // ### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @936 '-' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1008 '.' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1080 '/' (17 pixels wide) 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x38, 0x00, // ### 0x00, 0x30, 0x00, // ## 0x00, 0x70, 0x00, // ### 0x00, 0x60, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x0E, 0x00, 0x00, // ### 0x0C, 0x00, 0x00, // ## 0x1C, 0x00, 0x00, // ### 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1152 '0' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x07, 0xE0, 0x00, // ###### 0x0C, 0x30, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x07, 0xE0, 0x00, // ###### 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1224 '1' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x80, 0x00, // # 0x07, 0x80, 0x00, // #### 0x1F, 0x80, 0x00, // ###### 0x1D, 0x80, 0x00, // ### ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1296 '2' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xC0, 0x00, // ##### 0x1F, 0xF0, 0x00, // ######### 0x38, 0x30, 0x00, // ### ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x00, 0x18, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x01, 0xC0, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x06, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1368 '3' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x0F, 0xE0, 0x00, // ####### 0x0C, 0x70, 0x00, // ## ### 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x03, 0xC0, 0x00, // #### 0x03, 0xE0, 0x00, // ##### 0x00, 0x70, 0x00, // ### 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF0, 0x00, // ######### 0x0F, 0xC0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1440 '4' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xE0, 0x00, // ### 0x01, 0xE0, 0x00, // #### 0x01, 0xE0, 0x00, // #### 0x03, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x0C, 0x60, 0x00, // ## ## 0x0C, 0x60, 0x00, // ## ## 0x18, 0x60, 0x00, // ## ## 0x30, 0x60, 0x00, // ## ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x00, 0x60, 0x00, // ## 0x03, 0xF8, 0x00, // ####### 0x03, 0xF8, 0x00, // ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1512 '5' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF0, 0x00, // ######### 0x1F, 0xF0, 0x00, // ######### 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x1B, 0xC0, 0x00, // ## #### 0x1F, 0xF0, 0x00, // ######### 0x1C, 0x30, 0x00, // ### ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x30, 0x30, 0x00, // ## ## 0x3F, 0xF0, 0x00, // ########## 0x0F, 0xC0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1584 '6' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xF8, 0x00, // ##### 0x03, 0xF8, 0x00, // ####### 0x07, 0x00, 0x00, // ### 0x0E, 0x00, 0x00, // ### 0x0C, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x1B, 0xC0, 0x00, // ## #### 0x1F, 0xF0, 0x00, // ######### 0x1C, 0x30, 0x00, // ### ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x38, 0x00, // ## ### 0x0F, 0xF0, 0x00, // ######## 0x03, 0xE0, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1656 '7' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x70, 0x00, // ### 0x00, 0x60, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x00, 0xE0, 0x00, // ### 0x00, 0xC0, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x01, 0xC0, 0x00, // ### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1728 '8' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xE0, 0x00, // ###### 0x0F, 0xF0, 0x00, // ######## 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x07, 0xE0, 0x00, // ###### 0x07, 0xE0, 0x00, // ###### 0x0C, 0x30, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x1C, 0x38, 0x00, // ### ### 0x0F, 0xF0, 0x00, // ######## 0x07, 0xE0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1800 '9' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xC0, 0x00, // ##### 0x0F, 0xF0, 0x00, // ######## 0x1C, 0x30, 0x00, // ### ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x38, 0x00, // ## ### 0x0F, 0xF8, 0x00, // ######### 0x03, 0xD8, 0x00, // #### ## 0x00, 0x18, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x70, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x1F, 0xC0, 0x00, // ####### 0x1F, 0x00, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1872 ':' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @1944 ';' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xF0, 0x00, // #### 0x00, 0xF0, 0x00, // #### 0x00, 0xF0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xE0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x02, 0x00, 0x00, // # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2016 '<' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x1C, 0x00, // ### 0x00, 0x3C, 0x00, // #### 0x00, 0xF0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x0F, 0x00, 0x00, // #### 0x3C, 0x00, 0x00, // #### 0xF0, 0x00, 0x00, // #### 0x3C, 0x00, 0x00, // #### 0x0F, 0x00, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x00, 0xF0, 0x00, // #### 0x00, 0x3C, 0x00, // #### 0x00, 0x1C, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2088 '=' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xFC, 0x00, // ############# 0x7F, 0xFC, 0x00, // ############# 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xFC, 0x00, // ############# 0x7F, 0xFC, 0x00, // ############# 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2160 '>' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x70, 0x00, 0x00, // ### 0x78, 0x00, 0x00, // #### 0x1E, 0x00, 0x00, // #### 0x07, 0x80, 0x00, // #### 0x01, 0xE0, 0x00, // #### 0x00, 0x78, 0x00, // #### 0x00, 0x1E, 0x00, // #### 0x00, 0x78, 0x00, // #### 0x01, 0xE0, 0x00, // #### 0x07, 0x80, 0x00, // #### 0x1E, 0x00, 0x00, // #### 0x78, 0x00, 0x00, // #### 0x70, 0x00, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2232 '?' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xC0, 0x00, // ##### 0x0F, 0xE0, 0x00, // ####### 0x18, 0x70, 0x00, // ## ### 0x18, 0x30, 0x00, // ## ## 0x18, 0x30, 0x00, // ## ## 0x00, 0x70, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x03, 0xC0, 0x00, // #### 0x03, 0x80, 0x00, // ### 0x03, 0x00, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0x00, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2304 '@' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xE0, 0x00, // ##### 0x07, 0xF0, 0x00, // ####### 0x0E, 0x38, 0x00, // ### ### 0x0C, 0x18, 0x00, // ## ## 0x18, 0x78, 0x00, // ## #### 0x18, 0xF8, 0x00, // ## ##### 0x19, 0xD8, 0x00, // ## ### ## 0x19, 0x98, 0x00, // ## ## ## 0x19, 0x98, 0x00, // ## ## ## 0x19, 0x98, 0x00, // ## ## ## 0x18, 0xF8, 0x00, // ## ##### 0x18, 0x78, 0x00, // ## #### 0x18, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0E, 0x18, 0x00, // ### ## 0x07, 0xF8, 0x00, // ######## 0x03, 0xE0, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2376 'A' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0x80, 0x00, // ###### 0x1F, 0xC0, 0x00, // ####### 0x01, 0xC0, 0x00, // ### 0x03, 0x60, 0x00, // ## ## 0x03, 0x60, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x0F, 0xF8, 0x00, // ######### 0x1F, 0xF8, 0x00, // ########## 0x18, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0xFC, 0x7F, 0x00, // ###### ####### 0xFC, 0x7F, 0x00, // ###### ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2448 'B' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xE0, 0x00, // ########## 0x7F, 0xF0, 0x00, // ########### 0x18, 0x38, 0x00, // ## ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF0, 0x00, // ######### 0x1F, 0xF8, 0x00, // ########## 0x18, 0x1C, 0x00, // ## ### 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x7F, 0xF8, 0x00, // ############ 0x7F, 0xF0, 0x00, // ########### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2520 'C' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xEC, 0x00, // ##### ## 0x0F, 0xFC, 0x00, // ########## 0x1C, 0x1C, 0x00, // ### ### 0x18, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x18, 0x0C, 0x00, // ## ## 0x1C, 0x1C, 0x00, // ### ### 0x0F, 0xF8, 0x00, // ######### 0x03, 0xF0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2592 'D' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xC0, 0x00, // ######### 0x7F, 0xF0, 0x00, // ########### 0x18, 0x38, 0x00, // ## ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x7F, 0xF0, 0x00, // ########### 0x7F, 0xE0, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2664 'E' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xF8, 0x00, // ############ 0x7F, 0xF8, 0x00, // ############ 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x19, 0x98, 0x00, // ## ## ## 0x19, 0x80, 0x00, // ## ## 0x1F, 0x80, 0x00, // ###### 0x1F, 0x80, 0x00, // ###### 0x19, 0x80, 0x00, // ## ## 0x19, 0x98, 0x00, // ## ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x7F, 0xF8, 0x00, // ############ 0x7F, 0xF8, 0x00, // ############ 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2736 'F' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0xCC, 0x00, // ## ## ## 0x0C, 0xC0, 0x00, // ## ## 0x0F, 0xC0, 0x00, // ###### 0x0F, 0xC0, 0x00, // ###### 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0xC0, 0x00, // ## ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x3F, 0xC0, 0x00, // ######## 0x3F, 0xC0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2808 'G' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xEC, 0x00, // ##### ## 0x0F, 0xFC, 0x00, // ########## 0x1C, 0x1C, 0x00, // ### ### 0x18, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x30, 0xFE, 0x00, // ## ####### 0x30, 0xFE, 0x00, // ## ####### 0x30, 0x0C, 0x00, // ## ## 0x38, 0x0C, 0x00, // ### ## 0x1C, 0x1C, 0x00, // ### ### 0x0F, 0xFC, 0x00, // ########## 0x03, 0xF0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2880 'H' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @2952 'I' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3024 'J' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xFE, 0x00, // ########## 0x07, 0xFE, 0x00, // ########## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x30, 0x30, 0x00, // ## ## 0x30, 0x30, 0x00, // ## ## 0x30, 0x30, 0x00, // ## ## 0x30, 0x30, 0x00, // ## ## 0x30, 0x60, 0x00, // ## ## 0x3F, 0xE0, 0x00, // ######### 0x0F, 0x80, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3096 'K' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0x3E, 0x00, // ####### ##### 0x7F, 0x3E, 0x00, // ####### ##### 0x18, 0x30, 0x00, // ## ## 0x18, 0x60, 0x00, // ## ## 0x18, 0xC0, 0x00, // ## ## 0x19, 0x80, 0x00, // ## ## 0x1B, 0x80, 0x00, // ## ### 0x1F, 0xC0, 0x00, // ####### 0x1C, 0xE0, 0x00, // ### ### 0x18, 0x70, 0x00, // ## ### 0x18, 0x30, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x7F, 0x1F, 0x00, // ####### ##### 0x7F, 0x1F, 0x00, // ####### ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3168 'L' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0x80, 0x00, // ######## 0x7F, 0x80, 0x00, // ######## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x7F, 0xFC, 0x00, // ############# 0x7F, 0xFC, 0x00, // ############# 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3240 'M' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0xF0, 0x0F, 0x00, // #### #### 0xF8, 0x1F, 0x00, // ##### ##### 0x38, 0x1C, 0x00, // ### ### 0x3C, 0x3C, 0x00, // #### #### 0x3C, 0x3C, 0x00, // #### #### 0x36, 0x6C, 0x00, // ## ## ## ## 0x36, 0x6C, 0x00, // ## ## ## ## 0x33, 0xCC, 0x00, // ## #### ## 0x33, 0xCC, 0x00, // ## #### ## 0x31, 0x8C, 0x00, // ## ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0xFE, 0x7F, 0x00, // ####### ####### 0xFE, 0x7F, 0x00, // ####### ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3312 'N' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x78, 0xFE, 0x00, // #### ####### 0x78, 0xFE, 0x00, // #### ####### 0x1C, 0x18, 0x00, // ### ## 0x1E, 0x18, 0x00, // #### ## 0x1F, 0x18, 0x00, // ##### ## 0x1B, 0x18, 0x00, // ## ## ## 0x1B, 0x98, 0x00, // ## ### ## 0x19, 0xD8, 0x00, // ## ### ## 0x18, 0xD8, 0x00, // ## ## ## 0x18, 0xF8, 0x00, // ## ##### 0x18, 0x78, 0x00, // ## #### 0x18, 0x38, 0x00, // ## ### 0x7F, 0x18, 0x00, // ####### ## 0x7F, 0x18, 0x00, // ####### ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3384 'O' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x0F, 0xF0, 0x00, // ######## 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x38, 0x1C, 0x00, // ### ### 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x38, 0x1C, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x1C, 0x38, 0x00, // ### ### 0x0F, 0xF0, 0x00, // ######## 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3456 'P' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3F, 0xF0, 0x00, // ########## 0x3F, 0xF8, 0x00, // ########### 0x0C, 0x1C, 0x00, // ## ### 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x0C, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x0F, 0xF8, 0x00, // ######### 0x0F, 0xE0, 0x00, // ####### 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x3F, 0xC0, 0x00, // ######## 0x3F, 0xC0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3528 'Q' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x0F, 0xF0, 0x00, // ######## 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x38, 0x1C, 0x00, // ### ### 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x38, 0x1C, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x1C, 0x38, 0x00, // ### ### 0x0F, 0xF0, 0x00, // ######## 0x07, 0xC0, 0x00, // ##### 0x07, 0xCC, 0x00, // ##### ## 0x0F, 0xFC, 0x00, // ########## 0x0C, 0x38, 0x00, // ## ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3600 'R' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0xE0, 0x00, // ########## 0x7F, 0xF0, 0x00, // ########### 0x18, 0x38, 0x00, // ## ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF0, 0x00, // ######### 0x1F, 0xC0, 0x00, // ####### 0x18, 0xE0, 0x00, // ## ### 0x18, 0x70, 0x00, // ## ### 0x18, 0x30, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x7F, 0x1E, 0x00, // ####### #### 0x7F, 0x0E, 0x00, // ####### ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3672 'S' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xD8, 0x00, // ##### ## 0x0F, 0xF8, 0x00, // ######### 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x1E, 0x00, 0x00, // #### 0x0F, 0xC0, 0x00, // ###### 0x03, 0xF0, 0x00, // ###### 0x00, 0x78, 0x00, // #### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x1C, 0x38, 0x00, // ### ### 0x1F, 0xF0, 0x00, // ######### 0x1B, 0xE0, 0x00, // ## ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3744 'T' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x0F, 0xF0, 0x00, // ######## 0x0F, 0xF0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3816 'U' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x0F, 0xF0, 0x00, // ######## 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3888 'V' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7F, 0x7F, 0x00, // ####### ####### 0x7F, 0x7F, 0x00, // ####### ####### 0x18, 0x0C, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x03, 0x60, 0x00, // ## ## 0x03, 0x60, 0x00, // ## ## 0x03, 0x60, 0x00, // ## ## 0x01, 0xC0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x00, 0x80, 0x00, // # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @3960 'W' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0xFE, 0x3F, 0x80, // ####### ####### 0xFE, 0x3F, 0x80, // ####### ####### 0x30, 0x06, 0x00, // ## ## 0x30, 0x06, 0x00, // ## ## 0x30, 0x86, 0x00, // ## # ## 0x19, 0xCC, 0x00, // ## ### ## 0x19, 0xCC, 0x00, // ## ### ## 0x1B, 0x6C, 0x00, // ## ## ## ## 0x1B, 0x6C, 0x00, // ## ## ## ## 0x1E, 0x7C, 0x00, // #### ##### 0x0E, 0x38, 0x00, // ### ### 0x0E, 0x38, 0x00, // ### ### 0x0C, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4032 'X' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x03, 0xC0, 0x00, // #### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0xC0, 0x00, // #### 0x06, 0x60, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4104 'Y' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7C, 0x7E, 0x00, // ##### ###### 0x7C, 0x7E, 0x00, // ##### ###### 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x03, 0xC0, 0x00, // #### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x0F, 0xF0, 0x00, // ######## 0x0F, 0xF0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4176 'Z' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x18, 0x18, 0x00, // ## ## 0x18, 0x30, 0x00, // ## ## 0x18, 0x60, 0x00, // ## ## 0x18, 0xC0, 0x00, // ## ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x06, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4248 '[' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0xF0, 0x00, // ##### 0x01, 0xF0, 0x00, // ##### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0xF0, 0x00, // ##### 0x01, 0xF0, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4320 '\' (17 pixels wide) 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x1C, 0x00, 0x00, // ### 0x0C, 0x00, 0x00, // ## 0x0E, 0x00, 0x00, // ### 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x00, 0x60, 0x00, // ## 0x00, 0x70, 0x00, // ### 0x00, 0x30, 0x00, // ## 0x00, 0x38, 0x00, // ### 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4392 ']' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x0F, 0x80, 0x00, // ##### 0x0F, 0x80, 0x00, // ##### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x0F, 0x80, 0x00, // ##### 0x0F, 0x80, 0x00, // ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4464 '^' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x80, 0x00, // # 0x01, 0xC0, 0x00, // ### 0x03, 0xE0, 0x00, // ##### 0x07, 0x70, 0x00, // ### ### 0x06, 0x30, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x10, 0x04, 0x00, // # # 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4536 '_' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0xFF, 0xFF, 0x00, // ################ 0xFF, 0xFF, 0x00, // ################ // @4608 '`' (17 pixels wide) 0x00, 0x00, 0x00, // 0x03, 0x00, 0x00, // ## 0x03, 0x80, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x00, 0x60, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4680 'a' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x0F, 0xC0, 0x00, // ###### 0x1F, 0xE0, 0x00, // ######## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x07, 0xF0, 0x00, // ####### 0x1F, 0xF0, 0x00, // ######### 0x38, 0x30, 0x00, // ### ## 0x30, 0x30, 0x00, // ## ## 0x30, 0x70, 0x00, // ## ### 0x1F, 0xFC, 0x00, // ########### 0x0F, 0xBC, 0x00, // ##### #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4752 'b' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x78, 0x00, 0x00, // #### 0x78, 0x00, 0x00, // #### 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x1B, 0xE0, 0x00, // ## ##### 0x1F, 0xF8, 0x00, // ########## 0x1C, 0x18, 0x00, // ### ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x1C, 0x18, 0x00, // ### ## 0x7F, 0xF8, 0x00, // ############ 0x7B, 0xE0, 0x00, // #### ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4824 'c' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xEC, 0x00, // ##### ## 0x0F, 0xFC, 0x00, // ########## 0x1C, 0x1C, 0x00, // ### ### 0x38, 0x0C, 0x00, // ### ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x38, 0x0C, 0x00, // ### ## 0x1C, 0x1C, 0x00, // ### ### 0x0F, 0xF8, 0x00, // ######### 0x03, 0xF0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4896 'd' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x78, 0x00, // #### 0x00, 0x78, 0x00, // #### 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x07, 0xD8, 0x00, // ##### ## 0x1F, 0xF8, 0x00, // ########## 0x18, 0x38, 0x00, // ## ### 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xFE, 0x00, // ############ 0x07, 0xDE, 0x00, // ##### #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @4968 'e' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xE0, 0x00, // ###### 0x1F, 0xF8, 0x00, // ########## 0x18, 0x18, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x30, 0x00, 0x00, // ## 0x30, 0x00, 0x00, // ## 0x18, 0x0C, 0x00, // ## ## 0x1F, 0xFC, 0x00, // ########### 0x07, 0xF0, 0x00, // ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5040 'f' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0xFC, 0x00, // ####### 0x03, 0xFC, 0x00, // ######## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x3F, 0xF8, 0x00, // ########### 0x3F, 0xF8, 0x00, // ########### 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x3F, 0xF0, 0x00, // ########## 0x3F, 0xF0, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5112 'g' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xDE, 0x00, // ##### #### 0x1F, 0xFE, 0x00, // ############ 0x18, 0x38, 0x00, // ## ### 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF8, 0x00, // ########## 0x07, 0xD8, 0x00, // ##### ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x38, 0x00, // ### 0x0F, 0xF0, 0x00, // ######## 0x0F, 0xC0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5184 'h' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x78, 0x00, 0x00, // #### 0x78, 0x00, 0x00, // #### 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x1B, 0xE0, 0x00, // ## ##### 0x1F, 0xF0, 0x00, // ######### 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5256 'i' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0x80, 0x00, // ###### 0x1F, 0x80, 0x00, // ###### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5328 'j' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xC0, 0x00, // ## 0x00, 0xC0, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF0, 0x00, // ######### 0x1F, 0xF0, 0x00, // ######### 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x30, 0x00, // ## 0x00, 0x70, 0x00, // ### 0x1F, 0xE0, 0x00, // ######## 0x1F, 0x80, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5400 'k' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3C, 0x00, 0x00, // #### 0x3C, 0x00, 0x00, // #### 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0xF8, 0x00, // ## ##### 0x0C, 0xF8, 0x00, // ## ##### 0x0C, 0xC0, 0x00, // ## ## 0x0D, 0x80, 0x00, // ## ## 0x0F, 0x80, 0x00, // ##### 0x0F, 0x00, 0x00, // #### 0x0F, 0x80, 0x00, // ##### 0x0D, 0xC0, 0x00, // ## ### 0x0C, 0xE0, 0x00, // ## ### 0x3C, 0x7C, 0x00, // #### ##### 0x3C, 0x7C, 0x00, // #### ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5472 'l' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0x80, 0x00, // ###### 0x1F, 0x80, 0x00, // ###### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x3F, 0xFC, 0x00, // ############ 0x3F, 0xFC, 0x00, // ############ 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5544 'm' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0xF7, 0x78, 0x00, // #### ### #### 0xFF, 0xFC, 0x00, // ############## 0x39, 0xCC, 0x00, // ### ### ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0x31, 0x8C, 0x00, // ## ## ## 0xFD, 0xEF, 0x00, // ###### #### #### 0xFD, 0xEF, 0x00, // ###### #### #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5616 'n' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7B, 0xE0, 0x00, // #### ##### 0x7F, 0xF0, 0x00, // ########### 0x1C, 0x38, 0x00, // ### ### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x7E, 0x7E, 0x00, // ###### ###### 0x7E, 0x7E, 0x00, // ###### ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5688 'o' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x03, 0xC0, 0x00, // #### 0x0F, 0xF0, 0x00, // ######## 0x1C, 0x38, 0x00, // ### ### 0x38, 0x1C, 0x00, // ### ### 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x30, 0x0C, 0x00, // ## ## 0x38, 0x1C, 0x00, // ### ### 0x1C, 0x38, 0x00, // ### ### 0x0F, 0xF0, 0x00, // ######## 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5760 'p' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7B, 0xE0, 0x00, // #### ##### 0x7F, 0xF8, 0x00, // ############ 0x1C, 0x18, 0x00, // ### ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x18, 0x0C, 0x00, // ## ## 0x1C, 0x18, 0x00, // ### ## 0x1F, 0xF8, 0x00, // ########## 0x1B, 0xE0, 0x00, // ## ##### 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x18, 0x00, 0x00, // ## 0x7F, 0x00, 0x00, // ####### 0x7F, 0x00, 0x00, // ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5832 'q' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xDE, 0x00, // ##### #### 0x1F, 0xFE, 0x00, // ############ 0x18, 0x38, 0x00, // ## ### 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x30, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF8, 0x00, // ########## 0x07, 0xD8, 0x00, // ##### ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0x18, 0x00, // ## 0x00, 0xFE, 0x00, // ####### 0x00, 0xFE, 0x00, // ####### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5904 'r' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3E, 0x78, 0x00, // ##### #### 0x3E, 0xFC, 0x00, // ##### ###### 0x07, 0xCC, 0x00, // ##### ## 0x07, 0x00, 0x00, // ### 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x06, 0x00, 0x00, // ## 0x3F, 0xF0, 0x00, // ########## 0x3F, 0xF0, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @5976 's' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0xF8, 0x00, // ######## 0x0F, 0xF8, 0x00, // ######### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x1F, 0x80, 0x00, // ###### 0x0F, 0xF0, 0x00, // ######## 0x00, 0xF8, 0x00, // ##### 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x1F, 0xF0, 0x00, // ######### 0x1F, 0xE0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6048 't' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x3F, 0xF0, 0x00, // ########## 0x3F, 0xF0, 0x00, // ########## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x00, 0x00, // ## 0x0C, 0x1C, 0x00, // ## ### 0x07, 0xFC, 0x00, // ######### 0x03, 0xF0, 0x00, // ###### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6120 'u' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x78, 0x78, 0x00, // #### #### 0x78, 0x78, 0x00, // #### #### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x18, 0x38, 0x00, // ## ### 0x0F, 0xFE, 0x00, // ########### 0x07, 0xDE, 0x00, // ##### #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6192 'v' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7C, 0x3E, 0x00, // ##### ##### 0x7C, 0x3E, 0x00, // ##### ##### 0x18, 0x18, 0x00, // ## ## 0x18, 0x18, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x07, 0xE0, 0x00, // ###### 0x03, 0xC0, 0x00, // #### 0x03, 0xC0, 0x00, // #### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6264 'w' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x78, 0x3C, 0x00, // #### #### 0x78, 0x3C, 0x00, // #### #### 0x31, 0x18, 0x00, // ## # ## 0x33, 0x98, 0x00, // ## ### ## 0x33, 0x98, 0x00, // ## ### ## 0x1A, 0xB0, 0x00, // ## # # ## 0x1E, 0xF0, 0x00, // #### #### 0x1E, 0xF0, 0x00, // #### #### 0x1C, 0x60, 0x00, // ### ## 0x0C, 0x60, 0x00, // ## ## 0x0C, 0x60, 0x00, // ## ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6336 'x' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x3E, 0x7C, 0x00, // ##### ##### 0x3E, 0x7C, 0x00, // ##### ##### 0x0C, 0x30, 0x00, // ## ## 0x06, 0x60, 0x00, // ## ## 0x03, 0xC0, 0x00, // #### 0x01, 0x80, 0x00, // ## 0x03, 0xC0, 0x00, // #### 0x06, 0x60, 0x00, // ## ## 0x0C, 0x30, 0x00, // ## ## 0x3E, 0x7C, 0x00, // ##### ##### 0x3E, 0x7C, 0x00, // ##### ##### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6408 'y' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x7E, 0x1F, 0x00, // ###### ##### 0x7E, 0x1F, 0x00, // ###### ##### 0x18, 0x0C, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x06, 0x30, 0x00, // ## ## 0x03, 0x60, 0x00, // ## ## 0x03, 0xE0, 0x00, // ##### 0x01, 0xC0, 0x00, // ### 0x00, 0xC0, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x3F, 0xC0, 0x00, // ######## 0x3F, 0xC0, 0x00, // ######## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6480 'z' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x18, 0x30, 0x00, // ## ## 0x18, 0x60, 0x00, // ## ## 0x00, 0xC0, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x00, 0x00, // ## 0x06, 0x18, 0x00, // ## ## 0x0C, 0x18, 0x00, // ## ## 0x1F, 0xF8, 0x00, // ########## 0x1F, 0xF8, 0x00, // ########## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6552 '{' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0xE0, 0x00, // ### 0x01, 0xE0, 0x00, // #### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x03, 0x80, 0x00, // ### 0x07, 0x00, 0x00, // ### 0x03, 0x80, 0x00, // ### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0xE0, 0x00, // #### 0x00, 0xE0, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6624 '|' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6696 '}' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x07, 0x00, 0x00, // ### 0x07, 0x80, 0x00, // #### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0xC0, 0x00, // ### 0x00, 0xE0, 0x00, // ### 0x01, 0xC0, 0x00, // ### 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x01, 0x80, 0x00, // ## 0x07, 0x80, 0x00, // #### 0x07, 0x00, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // // @6768 '~' (17 pixels wide) 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x0E, 0x00, 0x00, // ### 0x1F, 0x18, 0x00, // ##### ## 0x3B, 0xB8, 0x00, // ### ### ### 0x31, 0xF0, 0x00, // ## ##### 0x00, 0xE0, 0x00, // ### 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // 0x00, 0x00, 0x00, // }; sFONT Font24 = { Font24_Table, 17, // Width 24, // Height 0x20, // First ' ' 0x7E // Last '~' }; /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ ================================================ FILE: font7spp.c ================================================ // font7spp.c // Font type : Special (SubSet) // Font size : 32x50 pixels #include "fonts.h" const uint8_t Font7SPP_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . decimal point 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Blank space (code as '/' 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x38,0x00,0x00,0x18,0x20,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x38,0x00,0x00,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x01,0xFF,0xFE,0x18,0x03,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x00,0x3E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x0C,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x01,0xFF,0xFE,0x18,0x03,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x0C,0xFF,0xFE,0x00,0x1E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x39,0xFF,0xFE,0x00,0x23,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x0C,0xFF,0xFE,0x00,0x1E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x39,0xFF,0xFE,0x00,0x23,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // : }; sFONT Font7SPP = { Font7SPP_Table, 32, // Width 50, // Height 0x2E, // First char '.' 0x3A // Last char ':' }; ================================================ FILE: font8.c ================================================ /** ****************************************************************************** * @file Font8.c * @author MCD Application Team * @version V1.0.0 * @date 18-February-2014 * @brief This file provides text Font8 for STM32xx-EVAL's LCD driver. ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2014 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "fonts.h" // // Font data for Courier New 12pt // const uint8_t Font8_Table[] = { // @0 ' ' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // // @8 '!' (5 pixels wide) 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x00, // 0x20, // # 0x00, // 0x00, // // @16 '"' (5 pixels wide) 0x50, // # # 0x50, // # # 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // // @24 '#' (5 pixels wide) 0x28, // # # 0x50, // # # 0xF8, // ##### 0x50, // # # 0xF8, // ##### 0x50, // # # 0xA0, // # # 0x00, // // @32 '$' (5 pixels wide) 0x20, // # 0x30, // ## 0x60, // ## 0x30, // ## 0x10, // # 0x60, // ## 0x20, // # 0x00, // // @40 '%' (5 pixels wide) 0x20, // # 0x20, // # 0x18, // ## 0x60, // ## 0x10, // # 0x10, // # 0x00, // 0x00, // // @48 '&' (5 pixels wide) 0x00, // 0x38, // ### 0x20, // # 0x60, // ## 0x50, // # # 0x78, // #### 0x00, // 0x00, // // @56 ''' (5 pixels wide) 0x20, // # 0x20, // # 0x20, // # 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // // @64 '(' (5 pixels wide) 0x10, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x10, // # 0x00, // // @72 ')' (5 pixels wide) 0x40, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x40, // # 0x00, // // @80 '*' (5 pixels wide) 0x20, // # 0x70, // ### 0x20, // # 0x50, // # # 0x00, // 0x00, // 0x00, // 0x00, // // @88 '+' (5 pixels wide) 0x00, // 0x20, // # 0x20, // # 0xF8, // ##### 0x20, // # 0x20, // # 0x00, // 0x00, // // @96 ',' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x00, // 0x10, // # 0x20, // # 0x20, // # 0x00, // // @104 '-' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x70, // ### 0x00, // 0x00, // 0x00, // 0x00, // // @112 '.' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x20, // # 0x00, // 0x00, // // @120 '/' (5 pixels wide) 0x10, // # 0x20, // # 0x20, // # 0x20, // # 0x40, // # 0x40, // # 0x80, // # 0x00, // // @128 '0' (5 pixels wide) 0x20, // # 0x50, // # # 0x50, // # # 0x50, // # # 0x50, // # # 0x20, // # 0x00, // 0x00, // // @136 '1' (5 pixels wide) 0x60, // ## 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0xF8, // ##### 0x00, // 0x00, // // @144 '2' (5 pixels wide) 0x20, // # 0x50, // # # 0x20, // # 0x20, // # 0x40, // # 0x70, // ### 0x00, // 0x00, // // @152 '3' (5 pixels wide) 0x20, // # 0x50, // # # 0x10, // # 0x20, // # 0x10, // # 0x60, // ## 0x00, // 0x00, // // @160 '4' (5 pixels wide) 0x10, // # 0x30, // ## 0x50, // # # 0x78, // #### 0x10, // # 0x38, // ### 0x00, // 0x00, // // @168 '5' (5 pixels wide) 0x70, // ### 0x40, // # 0x60, // ## 0x10, // # 0x50, // # # 0x20, // # 0x00, // 0x00, // // @176 '6' (5 pixels wide) 0x30, // ## 0x40, // # 0x60, // ## 0x50, // # # 0x50, // # # 0x60, // ## 0x00, // 0x00, // // @184 '7' (5 pixels wide) 0x70, // ### 0x50, // # # 0x10, // # 0x20, // # 0x20, // # 0x20, // # 0x00, // 0x00, // // @192 '8' (5 pixels wide) 0x20, // # 0x50, // # # 0x20, // # 0x50, // # # 0x50, // # # 0x20, // # 0x00, // 0x00, // // @200 '9' (5 pixels wide) 0x30, // ## 0x50, // # # 0x50, // # # 0x30, // ## 0x10, // # 0x60, // ## 0x00, // 0x00, // // @208 ':' (5 pixels wide) 0x00, // 0x00, // 0x20, // # 0x00, // 0x00, // 0x20, // # 0x00, // 0x00, // // @216 ';' (5 pixels wide) 0x00, // 0x00, // 0x10, // # 0x00, // 0x10, // # 0x20, // # 0x00, // 0x00, // // @224 '<' (5 pixels wide) 0x00, // 0x10, // # 0x20, // # 0xC0, // ## 0x20, // # 0x10, // # 0x00, // 0x00, // // @232 '=' (5 pixels wide) 0x00, // 0x70, // ### 0x00, // 0x70, // ### 0x00, // 0x00, // 0x00, // 0x00, // // @240 '>' (5 pixels wide) 0x00, // 0x40, // # 0x20, // # 0x18, // ## 0x20, // # 0x40, // # 0x00, // 0x00, // // @248 '?' (5 pixels wide) 0x20, // # 0x50, // # # 0x10, // # 0x20, // # 0x00, // 0x20, // # 0x00, // 0x00, // // @256 '@' (5 pixels wide) 0x30, // ## 0x48, // # # 0x48, // # # 0x58, // # ## 0x48, // # # 0x40, // # 0x38, // ### 0x00, // // @264 'A' (5 pixels wide) 0x60, // ## 0x20, // # 0x50, // # # 0x70, // ### 0x88, // # # 0xD8, // ## ## 0x00, // 0x00, // // @272 'B' (5 pixels wide) 0xF0, // #### 0x48, // # # 0x70, // ### 0x48, // # # 0x48, // # # 0xF0, // #### 0x00, // 0x00, // // @280 'C' (5 pixels wide) 0x70, // ### 0x50, // # # 0x40, // # 0x40, // # 0x40, // # 0x30, // ## 0x00, // 0x00, // // @288 'D' (5 pixels wide) 0xF0, // #### 0x48, // # # 0x48, // # # 0x48, // # # 0x48, // # # 0xF0, // #### 0x00, // 0x00, // // @296 'E' (5 pixels wide) 0xF8, // ##### 0x48, // # # 0x60, // ## 0x40, // # 0x48, // # # 0xF8, // ##### 0x00, // 0x00, // // @304 'F' (5 pixels wide) 0xF8, // ##### 0x48, // # # 0x60, // ## 0x40, // # 0x40, // # 0xE0, // ### 0x00, // 0x00, // // @312 'G' (5 pixels wide) 0x70, // ### 0x40, // # 0x40, // # 0x58, // # ## 0x50, // # # 0x30, // ## 0x00, // 0x00, // // @320 'H' (5 pixels wide) 0xE8, // ### # 0x48, // # # 0x78, // #### 0x48, // # # 0x48, // # # 0xE8, // ### # 0x00, // 0x00, // // @328 'I' (5 pixels wide) 0x70, // ### 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @336 'J' (5 pixels wide) 0x38, // ### 0x10, // # 0x10, // # 0x50, // # # 0x50, // # # 0x20, // # 0x00, // 0x00, // // @344 'K' (5 pixels wide) 0xD8, // ## ## 0x50, // # # 0x60, // ## 0x70, // ### 0x50, // # # 0xD8, // ## ## 0x00, // 0x00, // // @352 'L' (5 pixels wide) 0xE0, // ### 0x40, // # 0x40, // # 0x40, // # 0x48, // # # 0xF8, // ##### 0x00, // 0x00, // // @360 'M' (5 pixels wide) 0xD8, // ## ## 0xD8, // ## ## 0xD8, // ## ## 0xA8, // # # # 0x88, // # # 0xD8, // ## ## 0x00, // 0x00, // // @368 'N' (5 pixels wide) 0xD8, // ## ## 0x68, // ## # 0x68, // ## # 0x58, // # ## 0x58, // # ## 0xE8, // ### # 0x00, // 0x00, // // @376 'O' (5 pixels wide) 0x30, // ## 0x48, // # # 0x48, // # # 0x48, // # # 0x48, // # # 0x30, // ## 0x00, // 0x00, // // @384 'P' (5 pixels wide) 0xF0, // #### 0x48, // # # 0x48, // # # 0x70, // ### 0x40, // # 0xE0, // ### 0x00, // 0x00, // // @392 'Q' (5 pixels wide) 0x30, // ## 0x48, // # # 0x48, // # # 0x48, // # # 0x48, // # # 0x30, // ## 0x18, // ## 0x00, // // @400 'R' (5 pixels wide) 0xF0, // #### 0x48, // # # 0x48, // # # 0x70, // ### 0x48, // # # 0xE8, // ### # 0x00, // 0x00, // // @408 'S' (5 pixels wide) 0x70, // ### 0x50, // # # 0x20, // # 0x10, // # 0x50, // # # 0x70, // ### 0x00, // 0x00, // // @416 'T' (5 pixels wide) 0xF8, // ##### 0xA8, // # # # 0x20, // # 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @424 'U' (5 pixels wide) 0xD8, // ## ## 0x48, // # # 0x48, // # # 0x48, // # # 0x48, // # # 0x30, // ## 0x00, // 0x00, // // @432 'V' (5 pixels wide) 0xD8, // ## ## 0x88, // # # 0x48, // # # 0x50, // # # 0x50, // # # 0x30, // ## 0x00, // 0x00, // // @440 'W' (5 pixels wide) 0xD8, // ## ## 0x88, // # # 0xA8, // # # # 0xA8, // # # # 0xA8, // # # # 0x50, // # # 0x00, // 0x00, // // @448 'X' (5 pixels wide) 0xD8, // ## ## 0x50, // # # 0x20, // # 0x20, // # 0x50, // # # 0xD8, // ## ## 0x00, // 0x00, // // @456 'Y' (5 pixels wide) 0xD8, // ## ## 0x88, // # # 0x50, // # # 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @464 'Z' (5 pixels wide) 0x78, // #### 0x48, // # # 0x10, // # 0x20, // # 0x48, // # # 0x78, // #### 0x00, // 0x00, // // @472 '[' (5 pixels wide) 0x30, // ## 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x30, // ## 0x00, // // @480 '\' (5 pixels wide) 0x80, // # 0x40, // # 0x40, // # 0x20, // # 0x20, // # 0x20, // # 0x10, // # 0x00, // // @488 ']' (5 pixels wide) 0x60, // ## 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x60, // ## 0x00, // // @496 '^' (5 pixels wide) 0x20, // # 0x20, // # 0x50, // # # 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // // @504 '_' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0xF8, // ##### // @512 '`' (5 pixels wide) 0x20, // # 0x10, // # 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // 0x00, // // @520 'a' (5 pixels wide) 0x00, // 0x00, // 0x30, // ## 0x10, // # 0x70, // ### 0x78, // #### 0x00, // 0x00, // // @528 'b' (5 pixels wide) 0xC0, // ## 0x40, // # 0x70, // ### 0x48, // # # 0x48, // # # 0xF0, // #### 0x00, // 0x00, // // @536 'c' (5 pixels wide) 0x00, // 0x00, // 0x70, // ### 0x40, // # 0x40, // # 0x70, // ### 0x00, // 0x00, // // @544 'd' (5 pixels wide) 0x18, // ## 0x08, // # 0x38, // ### 0x48, // # # 0x48, // # # 0x38, // ### 0x00, // 0x00, // // @552 'e' (5 pixels wide) 0x00, // 0x00, // 0x70, // ### 0x70, // ### 0x40, // # 0x30, // ## 0x00, // 0x00, // // @560 'f' (5 pixels wide) 0x10, // # 0x20, // # 0x70, // ### 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @568 'g' (5 pixels wide) 0x00, // 0x00, // 0x38, // ### 0x48, // # # 0x48, // # # 0x38, // ### 0x08, // # 0x30, // ## // @576 'h' (5 pixels wide) 0xC0, // ## 0x40, // # 0x70, // ### 0x48, // # # 0x48, // # # 0xE8, // ### # 0x00, // 0x00, // // @584 'i' (5 pixels wide) 0x20, // # 0x00, // 0x60, // ## 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @592 'j' (5 pixels wide) 0x20, // # 0x00, // 0x70, // ### 0x10, // # 0x10, // # 0x10, // # 0x10, // # 0x70, // ### // @600 'k' (5 pixels wide) 0xC0, // ## 0x40, // # 0x58, // # ## 0x70, // ### 0x50, // # # 0xD8, // ## ## 0x00, // 0x00, // // @608 'l' (5 pixels wide) 0x60, // ## 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @616 'm' (5 pixels wide) 0x00, // 0x00, // 0xD0, // ## # 0xA8, // # # # 0xA8, // # # # 0xA8, // # # # 0x00, // 0x00, // // @624 'n' (5 pixels wide) 0x00, // 0x00, // 0xF0, // #### 0x48, // # # 0x48, // # # 0xC8, // ## # 0x00, // 0x00, // // @632 'o' (5 pixels wide) 0x00, // 0x00, // 0x30, // ## 0x48, // # # 0x48, // # # 0x30, // ## 0x00, // 0x00, // // @640 'p' (5 pixels wide) 0x00, // 0x00, // 0xF0, // #### 0x48, // # # 0x48, // # # 0x70, // ### 0x40, // # 0xE0, // ### // @648 'q' (5 pixels wide) 0x00, // 0x00, // 0x38, // ### 0x48, // # # 0x48, // # # 0x38, // ### 0x08, // # 0x18, // ## // @656 'r' (5 pixels wide) 0x00, // 0x00, // 0x78, // #### 0x20, // # 0x20, // # 0x70, // ### 0x00, // 0x00, // // @664 's' (5 pixels wide) 0x00, // 0x00, // 0x30, // ## 0x20, // # 0x10, // # 0x60, // ## 0x00, // 0x00, // // @672 't' (5 pixels wide) 0x00, // 0x40, // # 0xF0, // #### 0x40, // # 0x48, // # # 0x30, // ## 0x00, // 0x00, // // @680 'u' (5 pixels wide) 0x00, // 0x00, // 0xD8, // ## ## 0x48, // # # 0x48, // # # 0x38, // ### 0x00, // 0x00, // // @688 'v' (5 pixels wide) 0x00, // 0x00, // 0xC8, // ## # 0x48, // # # 0x30, // ## 0x30, // ## 0x00, // 0x00, // // @696 'w' (5 pixels wide) 0x00, // 0x00, // 0xD8, // ## ## 0xA8, // # # # 0xA8, // # # # 0x50, // # # 0x00, // 0x00, // // @704 'x' (5 pixels wide) 0x00, // 0x00, // 0x48, // # # 0x30, // ## 0x30, // ## 0x48, // # # 0x00, // 0x00, // // @712 'y' (5 pixels wide) 0x00, // 0x00, // 0xD8, // ## ## 0x50, // # # 0x50, // # # 0x20, // # 0x20, // # 0x60, // ## // @720 'z' (5 pixels wide) 0x00, // 0x00, // 0x78, // #### 0x50, // # # 0x28, // # # 0x78, // #### 0x00, // 0x00, // // @728 '{' (5 pixels wide) 0x10, // # 0x20, // # 0x20, // # 0x60, // ## 0x20, // # 0x20, // # 0x10, // # 0x00, // // @736 '|' (5 pixels wide) 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x20, // # 0x00, // // @744 '}' (5 pixels wide) 0x40, // # 0x20, // # 0x20, // # 0x30, // ## 0x20, // # 0x20, // # 0x40, // # 0x00, // // @752 '~' (5 pixels wide) 0x00, // 0x00, // 0x00, // 0x28, // # # 0x50, // # # 0x00, // 0x00, // 0x00, // }; sFONT Font8 = { Font8_Table, 5, // Width 8, // Height 0x20, // First ' ' 0x7E // Last '~' }; /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ ================================================ FILE: fontAR.c ================================================ // Arial Round 16x24 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontAR_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x01,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x00,0x06,0x30,0x06,0x30,0x0C,0x60,0x0C,0x60,0x0E,0x70,0x0E,0x70,0x06,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x03,0x18,0x03,0x18,0x07,0x38,0x07,0x38,0x3F,0xFC,0x3F,0xFC,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x3F,0xFC,0x3F,0xFC,0x1C,0xE0,0x1C,0xE0,0x1C,0xC0,0x18,0xC0,0x18,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # 0x01,0x80,0x01,0x80,0x07,0xC0,0x1F,0xF0,0x1F,0xF8,0x3D,0xB8,0x39,0xB8,0x39,0x98,0x3D,0x80,0x1F,0x80,0x0F,0xF0,0x03,0xF8,0x01,0xBC,0x31,0x9C,0x39,0x9C,0x39,0x9C,0x3D,0xB8,0x1F,0xF8,0x07,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00, // $ 0x00,0x00,0x78,0x10,0xF8,0x30,0xCC,0x20,0xCC,0x60,0xCC,0x40,0xCC,0xC0,0xCC,0x80,0x79,0x80,0x01,0x3C,0x03,0x66,0x02,0x66,0x06,0x66,0x0C,0x66,0x0C,0x66,0x18,0x3C,0x10,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x0F,0xC0,0x1C,0xE0,0x1C,0xE0,0x1C,0xE0,0x0F,0xC0,0x07,0x00,0x1F,0x08,0x3B,0x9C,0x71,0xD8,0x71,0xF8,0x70,0xF0,0x78,0xFC,0x3F,0xDE,0x0F,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x40,0x00,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,0x00,0xC0,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ( 0x02,0x00,0x03,0x00,0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x06,0xD8,0x07,0xF8,0x00,0xC0,0x01,0xE0,0x03,0x30,0x03,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0xF8,0x1F,0xF8,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0x80,0x03,0x00,0x00,0x00,0x00,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x30,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x00,0x07,0x00,0x07,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // / 0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x1C,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x60,0x00,0xE0,0x01,0xE0,0x03,0xE0,0x07,0xE0,0x1F,0xE0,0x1C,0xE0,0x18,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x07,0xE0,0x1F,0xF8,0x1F,0xF8,0x3C,0x3C,0x38,0x1C,0x38,0x1C,0x00,0x1C,0x00,0x38,0x00,0x78,0x00,0xF0,0x03,0xE0,0x07,0x80,0x0F,0x00,0x1E,0x00,0x3C,0x00,0x3F,0xF8,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x3C,0x78,0x38,0x38,0x00,0x38,0x00,0x78,0x01,0xF0,0x01,0xF0,0x00,0xF8,0x00,0x3C,0x30,0x1C,0x38,0x1C,0x38,0x3C,0x3C,0x78,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x60,0x00,0xF0,0x00,0xF0,0x01,0xF0,0x03,0xF0,0x03,0x70,0x07,0x70,0x0E,0x70,0x0C,0x70,0x1C,0x70,0x38,0x70,0x38,0x70,0x3F,0xFC,0x3F,0xFC,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x1F,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xE0,0x1F,0xF0,0x1F,0xF8,0x1C,0x3C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x38,0x1C,0x3C,0x38,0x3F,0xF8,0x1F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x03,0xE0,0x0F,0xF0,0x1F,0xF8,0x1C,0x38,0x3C,0x18,0x38,0x00,0x38,0x00,0x3B,0xE0,0x3F,0xF0,0x3F,0xF8,0x3C,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x3C,0x1F,0xF8,0x0F,0xF0,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x1F,0xFC,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x80,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x1E,0x78,0x1C,0x38,0x1C,0x38,0x1E,0x78,0x0F,0xF0,0x0F,0xF0,0x1C,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x3C,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x07,0xC0,0x0F,0xF0,0x1F,0xF8,0x3C,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x3C,0x1F,0xFC,0x0F,0xFC,0x07,0xDC,0x00,0x1C,0x00,0x1C,0x18,0x3C,0x1C,0x38,0x1F,0xF8,0x0F,0xF0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0x80,0x03,0x00,0x02,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x38,0x00,0xF8,0x03,0xF8,0x0F,0xC0,0x1F,0x00,0x1C,0x00,0x1F,0x00,0x0F,0xC0,0x03,0xF8,0x00,0xF8,0x00,0x38,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x1C,0x00,0x1F,0x00,0x1F,0xC0,0x03,0xF0,0x00,0xF8,0x00,0x38,0x00,0xF8,0x03,0xF0,0x1F,0xC0,0x1F,0x00,0x1C,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x07,0xC0,0x0F,0xF0,0x1F,0xF0,0x3C,0x78,0x38,0x38,0x38,0x38,0x30,0x38,0x00,0x70,0x00,0xF0,0x01,0xE0,0x03,0xC0,0x03,0x80,0x03,0x80,0x01,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1C,0x1C,0x10,0x04,0x23,0xB6,0x27,0xF2,0x4C,0x72,0x5C,0x62,0x58,0x62,0x58,0x62,0x58,0x64,0x58,0xEC,0x6F,0xF8,0x27,0x70,0x30,0x06,0x18,0x0C,0x0F,0xFC,0x03,0xF0,0x00,0x00,0x00,0x00, // @ 0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x07,0xE0,0x07,0xE0,0x0E,0x60,0x0E,0x70,0x0E,0x70,0x1C,0x78,0x1C,0x38,0x1C,0x38,0x3F,0xFC,0x3F,0xFC,0x38,0x1C,0x70,0x0E,0x70,0x0E,0x60,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF0,0x38,0x78,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3F,0xF0,0x3F,0xF0,0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x3C,0x3F,0xF8,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1E,0x78,0x3C,0x3C,0x38,0x1C,0x78,0x0C,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x0C,0x70,0x0C,0x38,0x1C,0x3C,0x3C,0x1E,0x78,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x00,0x3F,0xC0,0x3F,0xF0,0x38,0xF0,0x38,0x78,0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x38,0x78,0x38,0xF0,0x3F,0xF0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF8,0x1F,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x00,0x0F,0xFC,0x0F,0xFC,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0F,0xF8,0x0F,0xF8,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1C,0x3C,0x38,0x1C,0x38,0x0E,0x70,0x0C,0x70,0x00,0x70,0x00,0x70,0xFE,0x70,0xFE,0x70,0x0E,0x70,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x3E,0x0F,0xFC,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3F,0xFC,0x3F,0xFC,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I 0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x70,0xE0,0x70,0xE0,0x70,0xE0,0x79,0xE0,0x3F,0xC0,0x3F,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x00,0x00,0x38,0x0C,0x38,0x1C,0x38,0x3C,0x38,0x78,0x38,0xF0,0x39,0xE0,0x3B,0xC0,0x3F,0xC0,0x3F,0xE0,0x3E,0xF0,0x3C,0x70,0x38,0x78,0x38,0x3C,0x38,0x3C,0x38,0x1E,0x38,0x0E,0x38,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF8,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x00,0xF8,0x1F,0xF8,0x1F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xEC,0x37,0xEE,0x77,0xEE,0x77,0xEE,0x77,0xE6,0x67,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE3,0xC7,0xE3,0xC7,0xE3,0xC7,0xE1,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x00,0x18,0x1C,0x3C,0x1C,0x3C,0x1C,0x3E,0x1C,0x3E,0x1C,0x3F,0x1C,0x3B,0x1C,0x3B,0x9C,0x39,0x9C,0x39,0xDC,0x38,0xDC,0x38,0xFC,0x38,0x7C,0x38,0x7C,0x38,0x3C,0x38,0x3C,0x38,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x3C,0x3C,0x38,0x1C,0x78,0x1E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x78,0x1E,0x38,0x1C,0x3C,0x3C,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // O 0x00,0x00,0x00,0x00,0x3F,0xF0,0x3F,0xF8,0x38,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x3F,0xF8,0x3F,0xE0,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P 0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x3C,0x3C,0x38,0x1C,0x78,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x79,0x9E,0x38,0xFC,0x3C,0x7C,0x1F,0xF8,0x0F,0xFE,0x07,0xEF,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Q 0x00,0x00,0x00,0x00,0x3F,0xF8,0x3F,0xFC,0x38,0x1E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x3F,0xFC,0x3F,0xF0,0x38,0xE0,0x38,0x70,0x38,0x78,0x38,0x3C,0x38,0x3C,0x38,0x1E,0x38,0x0E,0x38,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x00,0x07,0xE0,0x1F,0xF0,0x1C,0x38,0x38,0x38,0x38,0x18,0x3C,0x00,0x3F,0x00,0x1F,0xE0,0x0F,0xF8,0x01,0xF8,0x00,0x3C,0x30,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x38,0x1F,0xF8,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x00,0x00,0x7F,0xFC,0x7F,0xFC,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x38,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x00,0x38,0x06,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x0E,0x18,0x0E,0x38,0x0E,0x38,0x0E,0x30,0x07,0x70,0x07,0x70,0x07,0x60,0x03,0xE0,0x03,0xE0,0x03,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x00,0xC1,0x83,0xC3,0xC3,0xE3,0xC7,0xE3,0xC7,0xE3,0xC7,0x63,0xC6,0x66,0x66,0x66,0x66,0x76,0x6E,0x76,0x6E,0x36,0x6C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x1C,0x38,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x00,0x30,0x0C,0x38,0x1E,0x3C,0x1C,0x1C,0x3C,0x1E,0x78,0x0F,0xF0,0x07,0xF0,0x07,0xE0,0x03,0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x1E,0x78,0x3C,0x3C,0x78,0x1E,0x78,0x1E,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x00,0x30,0x18,0x78,0x1C,0x38,0x38,0x3C,0x38,0x1C,0x70,0x1E,0xF0,0x0E,0xE0,0x07,0xC0,0x07,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x00,0x3F,0xF8,0x3F,0xF8,0x00,0x78,0x00,0x78,0x00,0xF0,0x01,0xF0,0x01,0xE0,0x03,0xC0,0x07,0x80,0x07,0x80,0x0F,0x00,0x1E,0x00,0x1E,0x00,0x3C,0x00,0x78,0x00,0x7F,0xFC,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z 0x00,0x00,0x01,0xE0,0x01,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x01,0xE0,0x00,0x00,0x00,0x00, // [ 0x00,0x00,0x00,0x00,0x0C,0x00,0x1E,0x00,0x0E,0x00,0x0F,0x00,0x07,0x00,0x07,0x00,0x07,0x80,0x03,0x80,0x03,0x80,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xF0,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x0F,0x80,0x0F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0x80,0x0F,0x80,0x00,0x00,0x00,0x00, // ] 0x00,0x00,0x00,0x00,0x03,0x80,0x07,0x80,0x07,0x80,0x07,0xC0,0x0E,0xC0,0x0C,0xE0,0x1C,0xE0,0x1C,0x60,0x38,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ 0x00,0x00,0x00,0x00,0x1C,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x1F,0xE0,0x18,0x70,0x10,0x70,0x00,0xF0,0x0F,0xF0,0x1E,0x70,0x38,0x70,0x38,0x70,0x38,0xF0,0x1F,0xF0,0x0E,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1D,0xF0,0x1F,0xF8,0x1E,0x38,0x1E,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1E,0x1C,0x1E,0x38,0x1F,0xF8,0x1D,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xF0,0x1C,0x70,0x3C,0x38,0x38,0x10,0x38,0x00,0x38,0x00,0x38,0x10,0x3C,0x38,0x1C,0x78,0x0F,0xF0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x0F,0xB8,0x1F,0xF8,0x1C,0x78,0x38,0x78,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x78,0x1C,0x78,0x1F,0xF8,0x07,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,0x1C,0x70,0x38,0x38,0x38,0x38,0x3F,0xF8,0x3F,0xF0,0x38,0x00,0x38,0x10,0x1C,0x38,0x0F,0xF0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x00,0x00,0x00,0x03,0xE0,0x07,0xE0,0x07,0x00,0x07,0x00,0x07,0x00,0x1F,0xC0,0x1F,0xC0,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xB8,0x1F,0xF8,0x1C,0x78,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x1C,0x78,0x1F,0xF8,0x07,0xB8,0x10,0x38,0x38,0x38,0x1C,0x70,0x1F,0xF0,0x07,0xC0, // g 0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x3B,0xC0,0x3F,0xE0,0x3C,0xF0,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h 0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i 0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x1F,0x80,0x1F,0x00, // j 0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x18,0x0E,0x38,0x0E,0x70,0x0E,0xE0,0x0F,0xC0,0x0F,0xE0,0x0F,0x70,0x0E,0x70,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x0E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k 0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEF,0x9E,0xFF,0xFF,0xF1,0xE7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1D,0xE0,0x1F,0xF0,0x1E,0x78,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0xC0,0x38,0xE0,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x38,0xE0,0x1F,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0xC0,0x3F,0xF0,0x3C,0x70,0x3C,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3C,0x38,0x3C,0x70,0x3F,0xF0,0x3B,0xC0,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00, // p 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xB8,0x1F,0xF8,0x1C,0x78,0x38,0x78,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x78,0x1C,0x78,0x1F,0xF8,0x07,0xB8,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38, // q 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0xE0,0x0F,0xF0,0x0F,0x10,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xF0,0x1C,0x70,0x1C,0x30,0x1F,0x00,0x0F,0xE0,0x03,0xF0,0x00,0x78,0x1C,0x38,0x1E,0x38,0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0xE0,0x0F,0xE0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0xF0,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1E,0x78,0x0F,0xF8,0x07,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1C,0x38,0x1C,0x38,0x0C,0x30,0x0E,0x70,0x0E,0x70,0x06,0x60,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC1,0x83,0xE3,0xC7,0xE3,0xC7,0x63,0xC6,0x67,0xE6,0x76,0x6E,0x36,0x6C,0x36,0x6C,0x3E,0x7C,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x3C,0x78,0x1E,0xF0,0x0F,0xE0,0x07,0xC0,0x07,0xC0,0x0F,0xE0,0x0E,0xE0,0x1E,0xF0,0x3C,0x78,0x38,0x38,0x30,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1C,0x38,0x1C,0x38,0x0C,0x30,0x0E,0x70,0x0E,0x70,0x06,0x60,0x07,0x60,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x1F,0x00,0x1E,0x00, // y 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x3F,0xF8,0x00,0x78,0x00,0xF0,0x01,0xE0,0x03,0xC0,0x07,0x80,0x07,0x00,0x0E,0x00,0x1E,0x00,0x3F,0xF8,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x70,0x00,0xF0,0x01,0xF0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x07,0x80,0x07,0x80,0x03,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xF0,0x00,0xF0,0x00,0x70,0x00,0x00,0x00,0x00, // { 0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00, // | 0x1C,0x00,0x1E,0x00,0x1F,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x80,0x03,0xC0,0x03,0xC0,0x03,0x80,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x1F,0x00,0x1E,0x00,0x1C,0x00,0x00,0x00,0x00,0x00, // } 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x08,0x3F,0xF8,0x3F,0xF8,0x20,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ }; sFONT FontAR = { FontAR_Table, 16, // Width 24, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: fontGR.c ================================================ // Grotesk 16x32 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontGR_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x00,0x06,0x18,0x06,0x18,0x0E,0x38,0x0E,0x38,0x1E,0x78,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x8C,0x03,0x8C,0x03,0x8C,0x03,0x1C,0x03,0x18,0x03,0x18,0x3F,0xFF,0x3F,0xFF,0x3F,0xFF,0x06,0x38,0x06,0x30,0x06,0x30,0x0E,0x30,0x0C,0x70,0x0C,0x60,0xFF,0xFC,0xFF,0xFE,0xFF,0xFE,0x1C,0xE0,0x18,0xE0,0x18,0xC0,0x18,0xC0,0x38,0xC0,0x39,0xC0,0x31,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x03,0xF0,0x0F,0xF8,0x1F,0xFC,0x1C,0x8C,0x18,0x80,0x38,0x80,0x38,0x80,0x38,0x80,0x1C,0x80,0x1F,0x80,0x0F,0xF0,0x07,0xF8,0x01,0xFC,0x00,0x9C,0x00,0x8E,0x00,0x8E,0x00,0x8E,0x00,0x8E,0x30,0x8C,0x38,0x9C,0x3F,0xF8,0x1F,0xF0,0x01,0xC0,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80, // $ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x7F,0x00,0x77,0x00,0xE3,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0x63,0x82,0x7F,0x0F,0x3E,0x3E,0x1C,0xF8,0x03,0xE0,0x0F,0x80,0x3E,0x38,0x78,0x7C,0xE0,0xFE,0x01,0xC6,0x01,0x83,0x01,0x83,0x01,0x83,0x01,0xC7,0x00,0xEE,0x00,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x03,0xC0,0x07,0xF0,0x0F,0xF0,0x1E,0x30,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,0x1F,0x00,0x3B,0x87,0x71,0xC7,0x71,0xC7,0x60,0xE7,0x60,0xE7,0x60,0x76,0x60,0x7E,0x70,0x3E,0x70,0x1C,0x78,0x1C,0x3C,0x7E,0x1F,0xFE,0x0F,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x60,0x00,0xE0,0x00,0xC0,0x00,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x00,0x03,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x00,0x03,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xC0,0x00,0xE0,0x00,0x60,0x00,0x00, // ( 0x06,0x00,0x07,0x00,0x03,0x00,0x03,0x00,0x03,0x80,0x01,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x01,0x80,0x03,0x80,0x03,0x00,0x03,0x00,0x07,0x00,0x06,0x00,0x00,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x61,0x86,0x79,0x8E,0x3D,0x9C,0x0F,0xF8,0x07,0xE0,0x03,0xC0,0x07,0xE0,0x0F,0xF8,0x3D,0xBC,0x79,0x8E,0x71,0x86,0x01,0x82,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x7F,0xFE,0x7F,0xFE,0x3F,0xFE,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x07,0x80,0x07,0x80,0x07,0x00,0x07,0x00,0x07,0x00,0x0E,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x07,0xC0,0x07,0xC0,0x07,0xC0,0x07,0xC0,0x07,0xC0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x18,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x00,0x07,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // / 0x00,0x00,0x00,0x00,0x01,0xC0,0x07,0xE0,0x0F,0xF0,0x1E,0x78,0x1C,0x38,0x1C,0x1C,0x38,0x3C,0x38,0x3C,0x38,0x7C,0x38,0x7C,0x38,0xCC,0x38,0xCE,0x39,0xCE,0x39,0x8E,0x3B,0x8E,0x3B,0x0C,0x3F,0x0C,0x3E,0x1C,0x3E,0x1C,0x3C,0x1C,0x3C,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x78,0x0F,0xF0,0x07,0xE0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x07,0xE0,0x1F,0xE0,0x1F,0xE0,0x1C,0xE0,0x10,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x00,0xC0,0x0F,0xFC,0x1F,0xFE,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xF0,0x3F,0xF8,0x3C,0x3C,0x30,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0xE0,0x01,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x1E,0x00,0x3C,0x00,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xF0,0x3F,0xF8,0x3C,0x78,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x38,0x07,0xF0,0x07,0xE0,0x07,0xF0,0x00,0x38,0x00,0x1C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x20,0x3C,0x3F,0xFC,0x3F,0xF8,0x3F,0xF0,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xF0,0x00,0xF0,0x01,0xF0,0x01,0xB0,0x03,0x30,0x03,0x30,0x07,0x70,0x06,0x70,0x0E,0x70,0x0C,0x70,0x1C,0x70,0x18,0x70,0x38,0x70,0x30,0x30,0x70,0x30,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x00,0x70,0x00,0x30,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x1F,0xF8,0x1F,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xC0,0x1F,0xF0,0x1F,0xF8,0x18,0x7C,0x00,0x3C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x20,0x3C,0x3F,0xF8,0x3F,0xF8,0x3F,0xE0,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x01,0xF0,0x07,0xF8,0x0F,0xF8,0x0F,0x18,0x1C,0x00,0x1C,0x00,0x18,0x00,0x38,0x00,0x38,0x00,0x39,0xE0,0x33,0xF0,0x3F,0xF8,0x3E,0x3C,0x3C,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0C,0x18,0x1C,0x1C,0x1C,0x1E,0x38,0x0F,0xF8,0x07,0xF0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,0x3F,0xFC,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x07,0x00,0x07,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0xF8,0x1E,0x38,0x1C,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0F,0xF0,0x07,0xE0,0x0F,0xF0,0x1E,0x78,0x1C,0x1C,0x38,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x3C,0x1C,0x1E,0x7C,0x1F,0xF8,0x0F,0xF0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0xF0,0x1C,0x78,0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x30,0x1C,0x30,0x1C,0x38,0x1C,0x38,0x1E,0x38,0x1E,0x38,0x3E,0x1E,0x7E,0x1F,0xEC,0x0F,0xCC,0x03,0x8C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x1F,0xF0,0x1F,0xF0,0x1F,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0x80,0x07,0x80,0x07,0x80,0x07,0x00,0x07,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x0E,0x00,0x3E,0x00,0xFC,0x03,0xF0,0x0F,0xC0,0x3F,0x00,0x7C,0x00,0x78,0x00,0x7E,0x00,0x3F,0x80,0x0F,0xE0,0x03,0xF8,0x00,0xFE,0x00,0x3E,0x00,0x0E,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x78,0x00,0x7E,0x00,0x3F,0x80,0x0F,0xE0,0x03,0xF8,0x00,0xFE,0x00,0x3E,0x00,0x0E,0x00,0x3E,0x00,0xFC,0x03,0xF0,0x0F,0xC0,0x3F,0x00,0x7C,0x00,0x70,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF0,0x1F,0xF8,0x1C,0x3C,0x18,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x78,0x00,0xF0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0F,0xF8,0x1E,0x3C,0x1C,0x0C,0x38,0x0E,0x30,0x06,0x70,0x06,0x60,0xF6,0x61,0xFE,0xE3,0xFE,0xC3,0x0E,0xC7,0x06,0xC6,0x06,0xC6,0x06,0xC6,0x06,0xC6,0x06,0xC7,0x06,0xC7,0x0E,0xE3,0x9E,0x63,0xFE,0x61,0xF6,0x70,0x60,0x30,0x00,0x38,0x00,0x1C,0x00,0x1E,0x00,0x0F,0xFC,0x07,0xFE,0x00,0xFC, // @ 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x07,0xC0,0x07,0xC0,0x06,0xE0,0x06,0xE0,0x0E,0x60,0x0E,0x60,0x0E,0x70,0x0C,0x70,0x0C,0x70,0x1C,0x30,0x1C,0x38,0x1C,0x38,0x18,0x38,0x3F,0xF8,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x70,0x1C,0x70,0x0C,0x70,0x0E,0x70,0x0E,0xE0,0x0E,0xE0,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF0,0x3F,0xF8,0x38,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x3F,0xF8,0x3F,0xF0,0x3F,0xF0,0x38,0x78,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x38,0x3C,0x3F,0xF8,0x3F,0xF8,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x01,0xF0,0x07,0xF8,0x0F,0xFC,0x0F,0x1C,0x1C,0x04,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x78,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x1E,0x0C,0x0F,0x3C,0x07,0xFC,0x03,0xF8,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x7F,0xE0,0x7F,0xF0,0x70,0x78,0x70,0x38,0x70,0x3C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x38,0x70,0x38,0x70,0xF8,0x7F,0xF0,0x7F,0xE0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x3F,0xF8,0x3F,0xFC,0x3F,0xFC,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x1F,0xFC,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF8,0x1F,0xFC,0x1F,0xFC,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x01,0xE0,0x07,0xF8,0x0F,0xFC,0x1E,0x1C,0x1C,0x0C,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x7C,0x70,0x7C,0x70,0x7C,0x70,0x0C,0x70,0x0C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x1C,0x1C,0x1F,0x3C,0x0F,0xFC,0x07,0xF8,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x7F,0xFC,0x7F,0xFC,0x7F,0xFC,0x78,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x30,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x3F,0xF8,0x3F,0xF8,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x3F,0xF8,0x3F,0xF8,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x0F,0xF0,0x07,0xF0,0x00,0x30,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x30,0x00,0x70,0x00,0x70,0x40,0x70,0x60,0x70,0x79,0xF0,0x7F,0xE0,0x3F,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x70,0x1C,0x70,0x3C,0x70,0x38,0x70,0x70,0x70,0xE0,0x71,0xE0,0x71,0xC0,0x73,0x80,0x77,0x00,0x7F,0x00,0x7F,0x80,0x7F,0x80,0x79,0xC0,0x79,0xC0,0x70,0xE0,0x70,0xE0,0x70,0x70,0x70,0x70,0x70,0x38,0x70,0x3C,0x70,0x1C,0x70,0x1E,0x70,0x0E,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x3F,0xFE,0x3F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3C,0xF0,0x3C,0xF8,0x3C,0xF8,0x3C,0xF8,0x7C,0xF8,0x6C,0xEC,0x6C,0xEC,0xCC,0xEC,0xCC,0xEC,0xCC,0xE6,0xCC,0xE7,0xCC,0xE7,0x8C,0xE7,0x8C,0xE3,0x8C,0xE3,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0xE0,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1C,0xF0,0x1C,0xF8,0x1C,0xF8,0x1C,0xFC,0x1C,0xFC,0x1C,0xEC,0x1C,0xEE,0x1C,0xEE,0x1C,0xE6,0x1C,0xE7,0x1C,0xE7,0x1C,0xE3,0x9C,0xE3,0x9C,0xE1,0x9C,0xE1,0xDC,0xE1,0xDC,0xE0,0xDC,0xE0,0xFC,0xE0,0xFC,0xE0,0x7C,0xE0,0x7C,0xE0,0x7C,0xE0,0x3C,0xE0,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xE0,0x1F,0xF0,0x1E,0x78,0x3C,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0x70,0x1E,0x70,0x1E,0x70,0x1E,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,0x1E,0x78,0x0F,0xF0,0x07,0xE0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // O 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x3F,0xF8,0x3F,0xFC,0x38,0x1C,0x38,0x1E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x38,0x3C,0x3F,0xFC,0x3F,0xF8,0x3F,0xE0,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0xF0,0x1C,0x78,0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0x70,0x1E,0x70,0x1E,0x70,0x0E,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x1C,0x78,0x1F,0xF0,0x0F,0xE0,0x03,0xE0,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x10, // Q 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF0,0x3F,0xF8,0x30,0x38,0x38,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x30,0x38,0x3F,0xF8,0x3F,0xF0,0x3F,0xE0,0x3F,0xF0,0x30,0x70,0x38,0x38,0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x30,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1F,0xF8,0x3C,0x38,0x38,0x08,0x38,0x00,0x30,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x3C,0x00,0x3F,0x80,0x1F,0xE0,0x0F,0xF0,0x03,0xF8,0x00,0x7C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x0C,0x00,0x1C,0x00,0x1C,0x30,0x3C,0x3C,0x78,0x3F,0xF8,0x1F,0xF0,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x7F,0xFE,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1E,0x78,0x1F,0xF8,0x0F,0xF0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x18,0x18,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x30,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x06,0x60,0x06,0x60,0x06,0x60,0x07,0xE0,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0x60,0x06,0x61,0x86,0x63,0xC6,0x63,0xC6,0x73,0xCE,0x73,0xCE,0x73,0xCE,0x72,0xCE,0x76,0x6E,0x36,0x6C,0x36,0x6C,0x36,0x6C,0x36,0x6C,0x3E,0x7C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x38,0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x70,0x06,0x70,0x07,0xE0,0x03,0xE0,0x03,0xC0,0x01,0xC0,0x03,0xC0,0x03,0xE0,0x07,0xE0,0x07,0x60,0x0E,0x70,0x0E,0x30,0x1C,0x38,0x1C,0x38,0x38,0x1C,0x38,0x1C,0x70,0x0E,0x70,0x0E,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x70,0x0E,0x30,0x1C,0x38,0x1C,0x38,0x18,0x1C,0x38,0x1C,0x38,0x0E,0x70,0x0E,0x70,0x06,0x60,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x07,0x00,0x07,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z 0x01,0xF8,0x01,0xF8,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xF8,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // [ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x1C,0x00,0x0C,0x00,0x0E,0x00,0x0E,0x00,0x07,0x00,0x07,0x00,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x00,0xE0,0x00,0x70,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x0F,0x80,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x0F,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ] 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x07,0xE0,0x07,0xF0,0x0E,0x70,0x1E,0x78,0x1C,0x38,0x38,0x1C,0x70,0x0E,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ 0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x1F,0xE0,0x3F,0xF0,0x3C,0x78,0x30,0x38,0x00,0x18,0x00,0x1C,0x00,0x1C,0x07,0xFC,0x1F,0xFC,0x3F,0xFC,0x38,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x3C,0x38,0x3C,0x3C,0xFC,0x3F,0xDC,0x1F,0xDC,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x80,0x3B,0xE0,0x3F,0xF0,0x3E,0x78,0x3C,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x38,0x3E,0x78,0x3F,0xF0,0x3B,0xF0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x03,0xF8,0x07,0xFC,0x0F,0x1C,0x1E,0x0C,0x1C,0x00,0x18,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x18,0x00,0x1C,0x00,0x1E,0x04,0x0F,0x1C,0x07,0xFC,0x03,0xF8,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x01,0x1C,0x0F,0xDC,0x1F,0xFC,0x1E,0xFC,0x38,0x3C,0x38,0x3C,0x38,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x30,0x1C,0x30,0x1C,0x38,0x3C,0x38,0x3C,0x1C,0x7C,0x1F,0xFC,0x0F,0xDC,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0xE0,0x0F,0xF0,0x1E,0x78,0x1C,0x1C,0x38,0x1C,0x38,0x0C,0x30,0x0E,0x7F,0xFE,0x7F,0xFE,0x7F,0xFC,0x70,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x38,0x00,0x1C,0x04,0x1E,0x3C,0x0F,0xFC,0x07,0xF8,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFC,0x01,0xF8,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x3F,0xFC,0x3F,0xFC,0x1F,0xF8,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x0F,0xDC,0x1F,0xFC,0x1C,0x7C,0x38,0x3C,0x38,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x30,0x1C,0x30,0x1C,0x38,0x3C,0x3C,0x3C,0x1F,0xFC,0x0F,0xDC,0x07,0x9C,0x00,0x1C,0x00,0x18,0x00,0x38,0x1C,0xF0,0x1F,0xF0,0x0F,0xC0, // g 0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x40,0x3B,0xF0,0x3B,0xF0,0x3F,0xF8,0x3C,0x38,0x38,0x18,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h 0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x0F,0xC0,0x0F,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x0F,0xFC,0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i 0x00,0x00,0x00,0x00,0x00,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC0,0x1F,0xC0,0x01,0xC0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x1F,0x80,0x3F,0x80,0x3F,0x00, // j 0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x1C,0x1C,0x3C,0x1C,0x38,0x1C,0x70,0x1C,0xE0,0x19,0xC0,0x19,0xC0,0x1F,0x80,0x1F,0xC0,0x1F,0xC0,0x1C,0xE0,0x1C,0xE0,0x18,0x70,0x1C,0x70,0x1C,0x38,0x1C,0x1C,0x1C,0x1C,0x1C,0x0E,0x18,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k 0x00,0x00,0x0F,0x80,0x1F,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xFC,0x00,0xFE,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x6F,0x78,0x7F,0xFC,0x7B,0xDC,0x73,0x8E,0x71,0x8E,0x71,0x8E,0x61,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x71,0x8E,0x61,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x3B,0xF0,0x3B,0xF0,0x3F,0xF8,0x3C,0x38,0x38,0x18,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x07,0xE0,0x0F,0xF0,0x1E,0x78,0x3C,0x38,0x38,0x1C,0x38,0x1C,0x30,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0C,0x30,0x1C,0x30,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x38,0x1E,0x78,0x0F,0xF0,0x0F,0xE0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x3B,0xF0,0x3F,0xF8,0x3E,0x38,0x3C,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x0C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x3C,0x38,0x3E,0x78,0x3F,0xF0,0x3B,0xE0,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00, // p 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x0F,0xDC,0x1F,0xFC,0x1C,0x7C,0x38,0x3C,0x38,0x1C,0x30,0x1C,0x30,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x30,0x1C,0x38,0x1C,0x38,0x3C,0x38,0x3C,0x1E,0xFC,0x0F,0xFC,0x07,0x9C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C, // q 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x06,0x7E,0x0E,0xFE,0x0F,0xFE,0x0F,0x82,0x0F,0x00,0x0F,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0xF0,0x0F,0xF8,0x1E,0x38,0x1C,0x08,0x18,0x00,0x18,0x00,0x1C,0x00,0x1E,0x00,0x1F,0xE0,0x0F,0xF0,0x03,0xF8,0x00,0x78,0x00,0x18,0x00,0x1C,0x00,0x18,0x10,0x38,0x1C,0x78,0x1F,0xF0,0x1F,0xE0,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x3F,0xF8,0x7F,0xF8,0x3F,0xF8,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x80,0x03,0xF8,0x03,0xF8,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x18,0x1C,0x1C,0x3C,0x1E,0x7C,0x1F,0xFC,0x0F,0xDC,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x70,0x0C,0x30,0x1C,0x38,0x1C,0x38,0x1C,0x18,0x18,0x1C,0x38,0x1C,0x38,0x1C,0x30,0x0C,0x30,0x0E,0x70,0x0E,0x70,0x06,0x60,0x06,0x60,0x07,0xE0,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0xE0,0x07,0xE0,0x07,0xE0,0x07,0x60,0x06,0x61,0x86,0x71,0x8E,0x73,0xCE,0x73,0xCE,0x33,0xCC,0x33,0xCC,0x32,0x4C,0x32,0x4C,0x3E,0x7C,0x3E,0x7C,0x1E,0x78,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x0C,0x38,0x1C,0x1C,0x38,0x1C,0x38,0x0E,0x70,0x0E,0x70,0x07,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x07,0xE0,0x06,0x60,0x0E,0x70,0x1C,0x38,0x1C,0x38,0x38,0x1C,0x38,0x1C,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x30,0x0E,0x38,0x0C,0x38,0x1C,0x18,0x1C,0x1C,0x18,0x1C,0x38,0x0C,0x38,0x0E,0x30,0x0E,0x70,0x06,0x70,0x07,0x60,0x03,0xE0,0x03,0xE0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x00,0x1F,0x00,0x3E,0x00,0x3C,0x00, // y 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x1F,0xFC,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x07,0x00,0x07,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,0x3F,0xF8,0x3F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x78,0x00,0xFC,0x01,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x3F,0x00,0x3E,0x00,0x1F,0x00,0x03,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xE0,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // { 0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // | 0x1E,0x00,0x1F,0x00,0x07,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xFC,0x00,0x7C,0x00,0xFC,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x03,0x80,0x07,0x80,0x1F,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // } 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x3E,0x00,0x3F,0x00,0x7F,0x02,0x63,0x87,0xE1,0xC7,0xC1,0xCE,0x40,0xFE,0x00,0x7C,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ }; sFONT FontGR = { FontGR_Table, 16, // Width 32, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: fontSYM16.c ================================================ // Various symbols 16x16 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontSYMs_Table [] = { 0x10,0x10,0x20,0x5F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x0F,0xE0,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x06,0x03,0xE4,0x0F,0xF8,0x1F,0x1C,0x1C,0x2E,0x3C,0x4E,0x38,0x8E,0x39,0x8E,0x39,0x1E,0x3A,0x3C,0x1C,0x7C,0x0F,0xF8,0x13,0xE0,0x30,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xCC,0x0C,0xCC,0x0C,0xCC,0x00,0x00,0x00,0x00, // # 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x69,0x00,0x4B,0x00,0x5A,0x00,0x36,0x00,0x04,0x00,0x0D,0x8C,0x0B,0x5A,0x12,0x52,0x12,0xD6,0x21,0x8C,0x00,0x00,0x00,0x00, // $ 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x18,0x33,0x30,0x63,0x60,0x63,0x40,0x66,0xC0,0x3D,0xBC,0x03,0x66,0x02,0xC6,0x06,0xC6,0x0C,0xCC,0x18,0x78,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x06,0x60,0x0C,0xC0,0x0D,0xC0,0x06,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x30,0x00,0x30,0x00,0x70,0x01,0xC0,0x07,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0xC0,0x03,0x80,0x06,0x00,0x01,0xC0,0x00,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ( 0x00,0x00,0x00,0x00,0x01,0x80,0x03,0x80,0x1F,0xF0,0x03,0x00,0x03,0x00,0x3F,0xE0,0x07,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x70,0x00,0x60,0x00,0x00,0x0F,0xFE,0x0F,0xFE,0x00,0x00,0x00,0xC0,0x01,0xC0,0x01,0x80,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x30,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x60,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1C,0x1C,0x3C,0x1C,0x18,0x0E,0x30,0x1E,0x78,0x03,0xC0,0x03,0xC0,0x3F,0xF8,0x03,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00, // , 0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0xF8,0x03,0x00,0x03,0x80,0x07,0xF0,0x0C,0xF8,0x0E,0x18,0x0F,0x98,0x03,0xE0,0x00,0xF0,0x08,0x30,0x0F,0xF0,0x07,0xC0,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x7C,0x00,0xFC,0x01,0xD0,0x03,0xA0,0x03,0xA0,0x03,0xA0,0x03,0xA0,0x01,0xF8,0x00,0xF0,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00, // / 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1C,0x38,0x1D,0xB8,0x39,0x9C,0x39,0x9C,0x39,0x9C,0x39,0x9C,0x1D,0xB8,0x1C,0x38,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0x38,0x1E,0x38,0x3F,0x3C,0x3F,0x3C,0x3F,0x3C,0x3F,0x3C,0x1F,0x38,0x1F,0xF8,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1E,0x38,0x1D,0x98,0x3F,0x9C,0x3F,0x3C,0x3E,0x7C,0x3C,0xFC,0x1C,0x18,0x1F,0xF8,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1C,0x38,0x1F,0x98,0x3F,0x9C,0x3E,0x7C,0x3F,0x9C,0x3F,0x9C,0x1F,0x98,0x1C,0x38,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0x78,0x1E,0x78,0x3D,0x7C,0x3D,0x7C,0x3B,0x7C,0x38,0x3C,0x1F,0x78,0x1F,0x78,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0xF8,0x1C,0x38,0x3D,0xFC,0x3D,0xFC,0x3C,0x7C,0x3F,0x3C,0x1F,0x38,0x1C,0x78,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1E,0x18,0x1C,0xF8,0x39,0xFC,0x38,0x3C,0x39,0x9C,0x39,0x9C,0x1D,0x98,0x1C,0x38,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1F,0xF8,0x1C,0x18,0x3F,0xDC,0x3F,0xBC,0x3F,0x7C,0x3E,0xFC,0x1C,0xF8,0x1F,0xF8,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1C,0x38,0x1B,0xD8,0x39,0xDC,0x3C,0x7C,0x3F,0x3C,0x3B,0xDC,0x1B,0xD8,0x1C,0x38,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1C,0x3C,0x19,0xDC,0x39,0xCE,0x39,0xCE,0x3C,0x4E,0x3F,0xCE,0x1F,0x9C,0x1C,0x3C,0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1C,0x38,0x18,0x18,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x18,0x18,0x1C,0x38,0x0F,0xF0,0x03,0xC0,0x00,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x3F,0xFC,0x28,0x14,0x28,0x14,0x28,0x14,0x28,0x14,0x28,0x14,0x2F,0xF4,0x27,0xE4,0x24,0xE4,0x24,0xE4,0x24,0xE4,0x1F,0xFC,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0x20,0x02,0x10,0x02,0x10,0x04,0x08,0x08,0x08,0x08,0x04,0x10,0x02,0x10,0x02,0x3F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x3F,0xFF,0x10,0x02,0x10,0x02,0x08,0x04,0x08,0x08,0x04,0x08,0x02,0x10,0x02,0x10,0x01,0x20,0x01,0x40,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x00,0x00,0x00,0x04,0x00,0x1C,0x00,0x24,0x00,0xC4,0x03,0x04,0x04,0x04,0x18,0x04,0x10,0x04,0x0C,0x04,0x03,0x04,0x00,0x84,0x00,0x64,0x00,0x1C,0x00,0x04,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x30,0x0C,0x32,0x6C,0x32,0xEC,0x33,0xCC,0x31,0x8C,0x33,0xEC,0x36,0x6C,0x36,0x0C,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00, // @ 0x00,0x00,0x00,0x02,0x3F,0xFC,0x3F,0xFC,0x30,0x1C,0x30,0x2C,0x30,0x4C,0x34,0xCC,0x3F,0x8C,0x33,0x0C,0x33,0x0C,0x30,0x0C,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x28,0x06,0x26,0x1A,0x23,0x62,0x26,0xB2,0x38,0x0E,0x30,0x06,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x60,0x01,0xFC,0x02,0x06,0x04,0x00,0x08,0x00,0x3F,0xF8,0x08,0x00,0x1F,0xF8,0x08,0x00,0x0C,0x00,0x04,0x00,0x03,0x04,0x01,0xF8,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0xC0,0x01,0x80,0x03,0x10,0x03,0xE0,0x06,0xC0,0x00,0x80,0x01,0x80,0x0B,0x00,0x0A,0x00,0x0F,0x80,0x0C,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x00,0x1C,0x60,0x38,0xC0,0x18,0x80,0x19,0x80,0x13,0x38,0x32,0x70,0x36,0x60,0x0C,0xCC,0x08,0xFC,0x10,0x18,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x0C,0x30,0x38,0x60,0x18,0x40,0x18,0x80,0x31,0xFC,0x33,0x06,0x02,0x06,0x04,0x1C,0x0C,0x70,0x18,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x18,0x0C,0x30,0x38,0x20,0x70,0x60,0x0C,0xDC,0x0C,0xB8,0xF9,0x30,0x03,0x66,0x02,0x7E,0x04,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0xC0,0x01,0xC0,0x07,0x80,0x0F,0x00,0x0E,0x00,0x0E,0x10,0x07,0xF0,0x03,0xE0,0x00,0x00, // I 0x00,0x00,0x00,0x00,0x01,0x90,0x02,0x70,0x00,0x00,0x0C,0x60,0x1D,0xF0,0x1F,0x70,0x1E,0x70,0x1C,0xE0,0x1C,0xE0,0x38,0xE0,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x07,0xC0,0x18,0x30,0x30,0x18,0x2C,0x68,0x4C,0x64,0x40,0x04,0x40,0x04,0x48,0x24,0x48,0x24,0x24,0x48,0x33,0x98,0x18,0x30,0x07,0xC0,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x03,0xE0,0x0C,0x18,0x18,0x0C,0x16,0x34,0x26,0x32,0x20,0x02,0x21,0xC2,0x22,0x22,0x24,0x12,0x14,0x14,0x18,0x0C,0x0C,0x18,0x03,0xE0,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0x30,0x30,0x18,0x26,0xC8,0x46,0xC4,0x40,0x04,0x40,0x04,0x4F,0xE4,0x20,0x08,0x30,0x18,0x18,0x30,0x07,0xC0,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x00,0x01,0xE0,0x03,0xF0,0x03,0xF0,0x02,0xD0,0x01,0x20,0x00,0xC0,0x00,0xC0,0x0C,0x08,0x0F,0x38,0x00,0xC0,0x03,0x30,0x0E,0x18,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x80,0x01,0xC0,0x03,0xE0,0x07,0xF0,0x0F,0xF8,0x1F,0xFC,0x3D,0xDE,0x31,0xC6,0x21,0xC2,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0, // O 0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x21,0xC2,0x31,0xC6,0x3D,0xDE,0x1F,0xFC,0x0F,0xF8,0x07,0xF0,0x03,0xE0,0x01,0xC0,0x00,0x80, // P 0x00,0x00,0x03,0x80,0x07,0x00,0x0E,0x00,0x1E,0x00,0x3C,0x00,0x7F,0xFE,0xFF,0xFE,0x7F,0xFE,0x3C,0x00,0x1E,0x00,0x0E,0x00,0x07,0x00,0x03,0x80,0x00,0x00,0x00,0x00, // Q 0x00,0x00,0x01,0xC0,0x00,0xE0,0x00,0x70,0x00,0x78,0x00,0x3C,0x7F,0xFE,0x7F,0xFF,0x7F,0xFE,0x00,0x3C,0x00,0x78,0x00,0x70,0x00,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x80,0x33,0x00,0x1A,0x00,0x0E,0x00,0x0C,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x20,0x00,0x38,0x00,0x24,0x00,0x23,0x00,0x20,0xC0,0x20,0x20,0x20,0x18,0x20,0x08,0x20,0x30,0x20,0xC0,0x21,0x00,0x26,0x00,0x38,0x00,0x20,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x10,0x38,0x10,0x2C,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x10,0x08,0x10,0x08,0x0C,0x30,0x03,0xC0,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x08,0x34,0x08,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x10,0x08,0x10,0x08,0x0C,0x30,0x03,0xC0,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x00,0x1C,0x70,0x32,0x98,0x21,0x08,0x21,0x08,0x20,0x08,0x20,0x08,0x10,0x10,0x10,0x10,0x08,0x20,0x04,0x40,0x02,0x80,0x03,0x00,0x01,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x00,0x07,0xF0,0x08,0x08,0x13,0xE4,0x24,0x12,0x24,0x02,0x24,0x02,0x24,0x02,0x24,0x12,0x23,0xE2,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x00,0x07,0xE0,0x08,0x10,0x17,0xC8,0x24,0x24,0x24,0x24,0x27,0xC4,0x24,0x84,0x24,0x44,0x24,0x24,0x10,0x08,0x08,0x10,0x07,0xE0,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x00,0x07,0xC0,0x08,0x20,0x10,0x10,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x10,0x10,0x10,0x10,0x0C,0x60,0x3E,0xF8,0x00,0x00,0x00,0x00, // Z 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x80,0x02,0x80,0x02,0x80,0x03,0x00,0x02,0x00,0x02,0x00,0x06,0x00,0x02,0x00,0x02,0x80,0x03,0x80,0x00,0x00,0x00,0x00, // [ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x70,0x09,0x88,0x08,0x88,0x09,0x88,0x06,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x40,0x80,0x60,0x9C,0x50,0xA2,0x48,0xA2,0x48,0xA2,0x44,0xA2,0x42,0x9C,0x41,0x80,0x40,0xBE,0x40,0x80,0x00,0x00,0x00,0x00, // ] 0x00,0x80,0x01,0xC0,0x01,0x40,0x02,0x20,0x04,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF, // _ 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xE6,0x00,0xC6,0x00,0xCE,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFE,0x01,0xC2,0x03,0x80,0x03,0x80,0x03,0xF8,0x03,0xF8,0x07,0x00,0x06,0x00,0x0F,0xFC,0x07,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x30,0x03,0x30,0x02,0x20,0x06,0x60,0x06,0x68,0x06,0xE8,0x07,0xB0,0x04,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // b 0x00,0x00,0x03,0xF8,0x06,0x18,0x0C,0x08,0x0C,0x00,0x1F,0xF0,0x1F,0xF0,0x08,0x00,0x1F,0xE0,0x0C,0x00,0x0C,0x08,0x07,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x03,0x80,0x07,0x80,0x0F,0x80,0x0F,0x80,0x07,0x80,0x03,0x80,0x01,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x00,0x03,0x80,0x03,0xC0,0x03,0xE0,0x03,0xE0,0x03,0xC0,0x03,0x80,0x03,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x07,0x80,0x0F,0xC0,0x1F,0xE0,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x1F,0xE0,0x0F,0xC0,0x07,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // g 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x06,0x30,0x0E,0x70,0x1E,0xF0,0x3F,0xF0,0x3F,0xF0,0x1E,0xF0,0x0E,0x70,0x06,0x30,0x02,0x10,0x00,0x00,0x00,0x00, // h 0x00,0x00,0x7F,0xFC,0x43,0x82,0x43,0xC2,0x47,0xC2,0x43,0x82,0x40,0x02,0x47,0xC2,0x43,0xC2,0x43,0xC2,0x43,0xC2,0x43,0xC2,0x43,0xC2,0x40,0x02,0x7F,0xFC,0x00,0x00, // i 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40,0x0C,0x60,0x0E,0x70,0x0F,0x78,0x0F,0xFC,0x0F,0xFC,0x0F,0x78,0x0E,0x70,0x0C,0x60,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00, // j 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x84,0x31,0x8C,0x33,0x9C,0x37,0xBC,0x3F,0xFC,0x3F,0xFC,0x37,0xBC,0x33,0x9C,0x31,0x8C,0x30,0x84,0x00,0x00,0x00,0x00, // k 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x0C,0x31,0x8C,0x39,0xCC,0x3D,0xEC,0x3F,0xFC,0x3F,0xFC,0x3D,0xEC,0x39,0xCC,0x31,0x8C,0x21,0x0C,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x0C,0xC0,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x07,0xF8,0x07,0xF8,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x0F,0xFC,0x07,0xF8,0x07,0xF8,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x08,0x00,0x0C,0x00,0x0E,0x00,0x0F,0x00,0x0F,0xC0,0x0F,0xC0,0x0F,0xC0,0x0F,0xC0,0x0F,0xC0,0x0F,0x00,0x0E,0x00,0x0C,0x00,0x08,0x00,0x00,0x00,0x00,0x00, // p 0x00,0x00,0x00,0x08,0x00,0x38,0x00,0x78,0x01,0xE8,0x03,0xC8,0x03,0x08,0x02,0x08,0x02,0x78,0x02,0xF8,0x02,0xF0,0x1E,0x00,0x3E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // q 0x00,0x00,0x04,0x20,0x1C,0x70,0x1C,0x30,0x1C,0x38,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x18,0x38,0x70,0x18,0x70,0x1C,0x70,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03,0x80,0x03,0x80,0x01,0x80,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x06,0x00,0x1C,0x18,0x38,0x20,0x34,0x3A,0x6E,0x7C,0xE7,0x70,0x43,0xE0,0x01,0xC0,0x03,0xE0,0x07,0x70,0x1E,0x38,0x2C,0x1C,0x04,0x0E,0x18,0x04,0x00,0x00, // t 0x03,0x00,0x07,0x80,0x0F,0xC0,0x1F,0xE0,0x3F,0xF0,0x7F,0xF8,0xFF,0xFC,0xFF,0xFC,0x7F,0xF8,0x3F,0xF0,0x1F,0xE0,0x0F,0xC0,0x07,0x80,0x03,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x70,0x0F,0xF8,0x3F,0xFE,0x1C,0x1C,0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x03,0xE0,0x0C,0x18,0x18,0x0C,0x13,0xC4,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0xC2,0x22,0x02,0x12,0x04,0x1A,0x0C,0x0C,0x18,0x03,0xE0,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x1F,0xFE,0x1F,0xFF,0x3F,0xFF,0x3F,0xFF,0x3F,0xFF,0x1F,0xFF,0x0F,0xFF,0x1F,0xF8,0x1C,0x00,0x38,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x02,0x00,0x01,0x00,0x01,0xC0,0x00,0xE0,0x20,0xE0,0x30,0xE0,0xBF,0xFF,0x30,0xE0,0x20,0xE0,0x00,0xE0,0x01,0x80,0x01,0xC0,0x03,0x00,0x00,0x00,0x00,0x00, // y 0x00,0x00,0x00,0x00,0x78,0x00,0x4E,0x00,0xB5,0x00,0xBA,0xC0,0x89,0xB0,0x78,0x48,0x26,0x38,0x19,0x94,0x06,0x64,0x01,0xA2,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xF0,0x0F,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, // { 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x78,0x00,0x3F,0x00,0x1F,0xE0,0x0F,0xFC,0x08,0x0E,0x10,0x70,0x23,0x80,0x4C,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // | 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x50,0x0F,0x78,0x7C,0x07,0xE0,0x03,0x80,0x07,0xE0,0x78,0x7C,0x50,0x0F,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // } 0x00,0x00,0x00,0x80,0x00,0xC0,0x00,0xC0,0x01,0xE0,0x03,0x30,0x07,0x38,0x1E,0x1E,0x20,0x03,0x1F,0x3C,0x03,0x30,0x01,0xA0,0x00,0xC0,0x00,0xC0,0x00,0x80,0x00,0x00, // ~ }; sFONT FontSYMs = { FontSYMs_Table, 16, // Width 16, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: fontSYM32.c ================================================ // Various Symbols 32x32 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontSYM_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x38,0x00,0x3F,0xFC,0x78,0x00,0x7F,0xFE,0xF8,0x01,0xF8,0x1F,0xF0,0x03,0xE0,0x07,0xE0,0x03,0x80,0x07,0xC0,0x07,0x00,0x0F,0xE0,0x0F,0x00,0x1F,0xF0,0x0E,0x00,0x3E,0x70,0x0E,0x00,0x7C,0x70,0x1C,0x00,0xF8,0x38,0x1C,0x01,0xF0,0x38,0x1C,0x03,0xE0,0x38,0x1C,0x07,0xC0,0x38,0x1C,0x0F,0x80,0x38,0x1C,0x1F,0x00,0x38,0x0E,0x3E,0x00,0x70,0x0E,0x7C,0x00,0x70,0x0F,0xF8,0x00,0xF0,0x07,0xF0,0x00,0xE0,0x03,0xE0,0x01,0xC0,0x07,0xE0,0x07,0xC0,0x0F,0xF8,0x1F,0x80,0x1F,0x7F,0xFE,0x00,0x1E,0x3F,0xFC,0x00,0x1C,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x03,0xC0,0xF0,0x0F,0x03,0xC0,0xF0,0x0F,0x03,0xC0,0xF0,0x0F,0x03,0xC0,0xF0,0x0F,0x03,0xC0,0xF0,0x0F,0x03,0xC0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x40,0x00,0x1F,0x00,0xE0,0x00,0x19,0x81,0xE0,0x00,0x19,0x81,0xC0,0x00,0x19,0x83,0xC0,0x00,0x19,0x83,0x80,0x00,0x19,0x87,0x80,0x00,0x19,0x87,0x00,0x00,0x19,0x8F,0x00,0x00,0x19,0x8E,0x00,0x00,0x0F,0x1C,0x00,0x00,0x0F,0x1C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x71,0xE1,0xE0,0x00,0xF3,0xE3,0xE0,0x00,0xE3,0x33,0x30,0x01,0xE3,0x33,0x30,0x01,0xC3,0x33,0x30,0x03,0xC3,0x33,0x30,0x03,0x83,0x33,0x30,0x07,0x83,0x33,0x30,0x07,0x03,0x33,0x30,0x0F,0x03,0x33,0x30,0x0E,0x01,0xE1,0xE0,0x04,0x01,0xE1,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // $ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0xF0,0x07,0x00,0x01,0xF8,0x0F,0x00,0x03,0x0C,0x1E,0x00,0x03,0x0C,0x1C,0x00,0x03,0x0C,0x3C,0x00,0x03,0x0C,0x38,0x00,0x03,0x0C,0x70,0x00,0x03,0x0C,0xF0,0x00,0x01,0xF8,0xE0,0x00,0x00,0xF1,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x0F,0x1E,0x00,0x00,0x0E,0x3F,0x00,0x00,0x1E,0x61,0x80,0x00,0x1C,0x61,0x80,0x00,0x38,0x61,0x80,0x00,0x78,0x61,0x80,0x00,0x70,0x61,0x80,0x00,0xF0,0x61,0x80,0x01,0xE0,0x3F,0x00,0x01,0xC0,0x1E,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1C,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x00,0x07,0xF8,0x00,0x00,0x0F,0xF8,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x38,0x00,0x00,0x0F,0xF8,0x00,0x00,0x07,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x0F,0xC0,0x00,0x00,0x1C,0xE0,0x00,0x00,0x18,0x70,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x07,0xF0,0x00,0x00,0x0E,0x38,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x00,0x0C,0x18,0x00,0x00,0x0E,0x38,0x00,0x00,0x07,0xF0,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ( 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x06,0x60,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xF0,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,0x00,0x01,0xC0,0x00,0x0F,0x01,0x80,0x00,0x0F,0x81,0x80,0x00,0x01,0x83,0x80,0x00,0x01,0x83,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0xC3,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0xE0,0x07,0x80,0x00,0xE0,0x07,0x00,0x00,0xF0,0x0F,0x00,0x00,0x70,0x0E,0x00,0x00,0x78,0x1E,0x00,0x00,0x38,0x1C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x1C,0x38,0x00,0x00,0x0E,0x70,0x00,0x01,0xFE,0x7F,0x80,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x0F,0xF8,0x00,0x00,0x1E,0x1C,0x00,0x00,0x3C,0x0C,0x00,0x00,0x38,0x0C,0x00,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x38,0x78,0x00,0x00,0x30,0x3C,0x00,0x00,0x30,0x1E,0x00,0x00,0x38,0x0E,0x00,0x00,0x3C,0x0E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x0F,0x1C,0x00,0x00,0x07,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x1E,0x00,0x00,0x18,0x0E,0x00,0x00,0x18,0x0E,0x00,0x00,0x1C,0x3C,0x00,0x00,0x0F,0xF8,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x0F,0xFE,0x00,0x00,0x3F,0xFF,0x00,0x00,0x7F,0xFF,0x80,0x00,0xF0,0xE3,0xC0,0x00,0xE0,0xE1,0xC0,0x01,0xC0,0xE1,0xC0,0x01,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x03,0x80,0xE0,0x00,0x01,0xC0,0xE0,0x00,0x01,0xC0,0xE1,0xC0,0x00,0xE0,0xE1,0xC0,0x00,0xF0,0xE3,0xC0,0x00,0x7F,0xFF,0x80,0x00,0x3F,0xFF,0x00,0x00,0x0F,0xFE,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // / 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF8,0x0F,0xC0,0x07,0xF0,0x07,0xE0,0x0F,0xE3,0xE3,0xF0,0x0F,0xE7,0xF3,0xF0,0x1F,0xC7,0xF1,0xF8,0x1F,0xC7,0xF1,0xF8,0x1F,0xC7,0xF1,0xF8,0x3F,0xC7,0xF1,0xFC,0x3F,0xC7,0xF1,0xFC,0x3F,0xC7,0xF1,0xFC,0x3F,0xC7,0xF1,0xFC,0x3F,0xC7,0xF1,0xFC,0x3F,0xC7,0xF1,0xFC,0x1F,0xC7,0xF1,0xF8,0x1F,0xC7,0xF1,0xF8,0x1F,0xC7,0xF1,0xF8,0x0F,0xE7,0xF3,0xF0,0x0F,0xF3,0xE3,0xF0,0x07,0xF0,0x07,0xE0,0x03,0xF8,0x0F,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF8,0x3F,0xC0,0x07,0xF0,0x3F,0xE0,0x0F,0xE0,0x3F,0xF0,0x0F,0xC0,0x3F,0xF0,0x1F,0xC0,0x3F,0xF8,0x1F,0xFC,0x3F,0xF8,0x1F,0xFC,0x3F,0xF8,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x1F,0xFC,0x3F,0xF8,0x1F,0xFC,0x3F,0xF8,0x1F,0xFC,0x3F,0xF8,0x0F,0x80,0x01,0xF0,0x0F,0x80,0x01,0xF0,0x07,0x80,0x01,0xE0,0x03,0x80,0x01,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF0,0x1F,0xC0,0x07,0xE0,0x0F,0xE0,0x0F,0xC0,0x07,0xF0,0x0F,0xC7,0xC3,0xF0,0x1F,0xCF,0xE3,0xF8,0x1F,0xCF,0xF3,0xF8,0x1F,0xFF,0xF3,0xF8,0x3F,0xFF,0xF3,0xFC,0x3F,0xFF,0xE3,0xFC,0x3F,0xFF,0xC7,0xFC,0x3F,0xFF,0x8F,0xFC,0x3F,0xFF,0x1F,0xFC,0x3F,0xFE,0x3F,0xFC,0x1F,0xFC,0x7F,0xF8,0x1F,0xF8,0xFF,0xF8,0x1F,0xF1,0xFF,0xF8,0x0F,0xE3,0xFF,0xF0,0x0F,0xC0,0x03,0xF0,0x07,0xC0,0x03,0xE0,0x03,0xC0,0x03,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFC,0x3F,0x80,0x03,0xF0,0x0F,0xC0,0x07,0xE0,0x07,0xE0,0x0F,0xE3,0xC3,0xF0,0x0F,0xE7,0xF1,0xF0,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xF1,0xF8,0x3F,0xFF,0xE3,0xFC,0x3F,0xFE,0x07,0xFC,0x3F,0xFE,0x07,0xFC,0x3F,0xFE,0x03,0xFC,0x3F,0xFF,0xE1,0xFC,0x3F,0xFF,0xF1,0xFC,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xF1,0xF8,0x0F,0xE7,0xF1,0xF0,0x0F,0xE3,0xC3,0xF0,0x07,0xE0,0x07,0xE0,0x03,0xF0,0x0F,0xC0,0x01,0xFC,0x1F,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0x8F,0xC0,0x07,0xFF,0x0F,0xE0,0x0F,0xFE,0x0F,0xF0,0x0F,0xFC,0x0F,0xF0,0x1F,0xF8,0x0F,0xF8,0x1F,0xF0,0x8F,0xF8,0x1F,0xE1,0x8F,0xF8,0x3F,0xC3,0x8F,0xFC,0x3F,0x87,0x8F,0xFC,0x3F,0x0F,0x8F,0xFC,0x3F,0x1F,0x8F,0xFC,0x3F,0x1F,0x8F,0xFC,0x3F,0x1F,0x8F,0xFC,0x1F,0x00,0x01,0xF8,0x1F,0x00,0x01,0xF8,0x1F,0x00,0x01,0xF8,0x0F,0xFF,0x8F,0xF0,0x0F,0xFF,0x8F,0xF0,0x07,0xFF,0x8F,0xE0,0x03,0xFF,0x8F,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xC0,0x03,0xC0,0x07,0xC0,0x03,0xE0,0x0F,0xC0,0x03,0xF0,0x0F,0xC7,0xFF,0xF0,0x1F,0xC7,0xFF,0xF8,0x1F,0xC7,0xFF,0xF8,0x1F,0xC7,0xFF,0xF8,0x3F,0xC0,0x0F,0xFC,0x3F,0xC0,0x07,0xFC,0x3F,0xE0,0x03,0xFC,0x3F,0xFF,0xC3,0xFC,0x3F,0xFF,0xE3,0xFC,0x3F,0xFF,0xE3,0xFC,0x1F,0xFF,0xE3,0xF8,0x1F,0xC7,0xE3,0xF8,0x1F,0xC7,0xE3,0xF8,0x0F,0xC3,0xC3,0xF0,0x0F,0xC0,0x03,0xF0,0x07,0xE0,0x07,0xE0,0x03,0xF0,0x0F,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xF8,0x0F,0x80,0x03,0xF0,0x07,0xC0,0x07,0xE0,0x03,0xE0,0x0F,0xC7,0xE3,0xF0,0x0F,0xCF,0xF1,0xF0,0x1F,0x8F,0xF1,0xF8,0x1F,0x8F,0xFF,0xF8,0x1F,0x8F,0xFF,0xF8,0x3F,0x88,0x0F,0xFC,0x3F,0x80,0x07,0xFC,0x3F,0x83,0xC3,0xFC,0x3F,0x87,0xE3,0xFC,0x3F,0x8F,0xF1,0xFC,0x3F,0x8F,0xF1,0xFC,0x1F,0x8F,0xF1,0xF8,0x1F,0x8F,0xF1,0xF8,0x1F,0x8F,0xF1,0xF8,0x0F,0xC7,0xE1,0xF0,0x0F,0xC3,0xC3,0xF0,0x07,0xE0,0x07,0xE0,0x03,0xF0,0x0F,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xC0,0x01,0xE0,0x0F,0xC0,0x01,0xF0,0x0F,0xC0,0x01,0xF0,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xE1,0xF8,0x1F,0xFF,0xE3,0xF8,0x3F,0xFF,0xC7,0xFC,0x3F,0xFF,0xC7,0xFC,0x3F,0xFF,0x8F,0xFC,0x3F,0xFF,0x8F,0xFC,0x3F,0xFF,0x1F,0xFC,0x3F,0xFF,0x1F,0xFC,0x1F,0xFF,0x3F,0xF8,0x1F,0xFE,0x3F,0xF8,0x1F,0xFE,0x3F,0xF8,0x0F,0xFC,0x7F,0xF0,0x0F,0xFC,0x7F,0xF0,0x07,0xF8,0xFF,0xE0,0x03,0xF8,0xFF,0xC0,0x01,0xF8,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xF0,0x1F,0x80,0x03,0xE0,0x0F,0xC0,0x07,0xC3,0x87,0xE0,0x0F,0x87,0xC3,0xF0,0x0F,0x8F,0xE3,0xF0,0x1F,0x8F,0xE3,0xF8,0x1F,0x8F,0xE3,0xF8,0x1F,0x8F,0xE3,0xF8,0x3F,0xC7,0xC7,0xFC,0x3F,0xC3,0x8F,0xFC,0x3F,0xF0,0x1F,0xFC,0x3F,0xE0,0x0F,0xFC,0x3F,0xC3,0x87,0xFC,0x3F,0x87,0xC3,0xFC,0x1F,0x8F,0xE3,0xF8,0x1F,0x8F,0xE3,0xF8,0x1F,0x8F,0xE3,0xF8,0x0F,0x8F,0xE3,0xF0,0x0F,0x87,0xC3,0xF0,0x07,0xC3,0x87,0xE0,0x03,0xE0,0x0F,0xC0,0x01,0xF0,0x1F,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF8,0x1F,0xC0,0x07,0xF0,0x0F,0xE0,0x0F,0xE3,0xC7,0xF0,0x0F,0xC7,0xE3,0xF0,0x1F,0xCF,0xF1,0xF8,0x1F,0xCF,0xF1,0xF8,0x1F,0xCF,0xF1,0xF8,0x3F,0xCF,0xF1,0xFC,0x3F,0xCF,0xF1,0xFC,0x3F,0xC7,0xE1,0xFC,0x3F,0xE3,0xC1,0xFC,0x3F,0xF0,0x01,0xFC,0x3F,0xF8,0x11,0xFC,0x1F,0xFF,0xF1,0xF8,0x1F,0xFF,0xF1,0xF8,0x1F,0xCF,0xF1,0xF8,0x0F,0xCF,0xE3,0xF0,0x0F,0xC7,0xC7,0xF0,0x07,0xE0,0x0F,0xE0,0x03,0xF0,0x1F,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFE,0x00,0x3F,0xFF,0xFF,0x00,0x7F,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x01,0xFF,0xDF,0x7F,0x03,0xFF,0x8E,0x3F,0x07,0xFF,0x04,0x1F,0x0F,0xFE,0x00,0x0F,0x1F,0xFF,0x00,0x1F,0x3F,0xFF,0x80,0x3F,0x7F,0xFF,0xC0,0x7F,0x7F,0xFF,0x80,0x3F,0x3F,0xFF,0x00,0x1F,0x1F,0xFE,0x00,0x0F,0x0F,0xFF,0x04,0x1F,0x07,0xFF,0x8E,0x3F,0x03,0xFF,0xDF,0x7F,0x01,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0x7F,0xFF,0xFF,0x00,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x01,0xF8,0x1F,0x80,0x03,0xE0,0x07,0xC0,0x03,0x80,0x01,0xC0,0x07,0x00,0x00,0xE0,0x0F,0x00,0x00,0xF0,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0F,0x00,0x00,0xF0,0x07,0x00,0x00,0xE0,0x03,0x80,0x01,0xC0,0x03,0xE0,0x07,0xC0,0x01,0xF8,0x1F,0x80,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x19,0xFF,0xFF,0x98,0x19,0xFF,0xFF,0x98,0x19,0x80,0x01,0x98,0x19,0x80,0x01,0x98,0x19,0xFF,0xFF,0x98,0x19,0xFF,0xFF,0x98,0x19,0x80,0x01,0x98,0x19,0x80,0x01,0x98,0x19,0xFF,0xFF,0x98,0x19,0xFF,0xFF,0x98,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x7F,0xFE,0x18,0x18,0x7F,0xFE,0x18,0x18,0x67,0xFE,0x18,0x18,0x67,0xFE,0x18,0x18,0x67,0xFE,0x18,0x18,0x67,0xFE,0x18,0x18,0x67,0xFE,0x18,0x18,0x7F,0xFE,0x18,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0E,0x70,0x00,0x00,0x0E,0x70,0x00,0x00,0x1C,0x38,0x00,0x00,0x1C,0x38,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,0x00,0x01,0xC0,0x03,0x80,0x01,0xC0,0x03,0x80,0x03,0x80,0x01,0xC0,0x03,0x80,0x01,0xC0,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x03,0x80,0x01,0xC0,0x03,0x80,0x01,0xC0,0x01,0xC0,0x03,0x80,0x01,0xC0,0x03,0x80,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x38,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x1C,0x38,0x00,0x00,0x1C,0x38,0x00,0x00,0x0E,0x70,0x00,0x00,0x0E,0x70,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x0F,0xF8,0x00,0x00,0x3F,0x38,0x00,0x00,0xFC,0x38,0x00,0x03,0xF0,0x38,0x00,0x0F,0xC0,0x38,0x00,0x3F,0x00,0x38,0x00,0xFC,0x00,0x38,0x03,0xF0,0x00,0x38,0x0F,0xC0,0x00,0x38,0x1F,0x00,0x00,0x38,0x1F,0x00,0x00,0x38,0x0F,0xC0,0x00,0x38,0x03,0xF0,0x00,0x38,0x00,0xFC,0x00,0x38,0x00,0x3F,0x00,0x38,0x00,0x0F,0xC0,0x38,0x00,0x03,0xF0,0x38,0x00,0x00,0xFC,0x38,0x00,0x00,0x3F,0x38,0x00,0x00,0x0F,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x1C,0xFC,0x00,0x00,0x1C,0x3F,0x00,0x00,0x1C,0x0F,0xC0,0x00,0x1C,0x03,0xF0,0x00,0x1C,0x00,0xFC,0x00,0x1C,0x00,0x3F,0x00,0x1C,0x00,0x0F,0xC0,0x1C,0x00,0x03,0xF0,0x1C,0x00,0x00,0xF8,0x1C,0x00,0x00,0xF8,0x1C,0x00,0x03,0xF0,0x1C,0x00,0x0F,0xC0,0x1C,0x00,0x3F,0x00,0x1C,0x00,0xFC,0x00,0x1C,0x03,0xF0,0x00,0x1C,0x0F,0xC0,0x00,0x1C,0x3F,0x00,0x00,0x1C,0xFC,0x00,0x00,0x1F,0xF0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // @ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0C,0x00,0x00,0x30,0x0D,0xC0,0x03,0xB0,0x0D,0xE0,0x07,0xB0,0x0D,0xF0,0x0F,0xB0,0x0C,0xF8,0x1F,0x30,0x0C,0x7C,0x3E,0x30,0x0C,0x3E,0x7C,0x30,0x0C,0x1E,0x78,0x30,0x0C,0x0F,0xF0,0x30,0x0C,0x03,0xC0,0x30,0x0C,0x03,0xC0,0x30,0x0C,0x0F,0xF0,0x30,0x0C,0x1E,0x78,0x30,0x0C,0x3E,0x7C,0x30,0x0C,0x7C,0x3E,0x30,0x0C,0xF8,0x1F,0x30,0x0D,0xF0,0x0F,0xB0,0x0D,0xE0,0x07,0xB0,0x0D,0xC0,0x03,0xB0,0x0C,0x00,0x00,0x30,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0C,0x00,0x00,0x30,0x0C,0x00,0x01,0xB0,0x0C,0x00,0x03,0x30,0x0C,0x00,0x06,0x30,0x0C,0x00,0x0E,0x30,0x0C,0x00,0x1C,0x30,0x0C,0x00,0x18,0x30,0x0C,0x00,0x38,0x30,0x0C,0x00,0x70,0x30,0x0C,0x00,0xE0,0x30,0x0C,0x01,0xC0,0x30,0x0C,0x01,0xC0,0x30,0x0C,0xC3,0x80,0x30,0x0D,0xE3,0x80,0x30,0x0C,0xE7,0x00,0x30,0x0C,0x77,0x00,0x30,0x0C,0x3E,0x00,0x30,0x0C,0x1E,0x00,0x30,0x0C,0x0C,0x00,0x30,0x0C,0x00,0x00,0x30,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x3E,0x00,0x00,0x7C,0x37,0x00,0x00,0xEC,0x33,0x80,0x01,0xCC,0x31,0xC0,0x03,0x8C,0x30,0xE0,0x07,0x0C,0x30,0x70,0x0E,0x0C,0x30,0x38,0x1C,0x0C,0x30,0x3C,0x3C,0x0C,0x30,0x7E,0x7E,0x0C,0x30,0xE7,0xE7,0x0C,0x31,0xC3,0xC3,0x8C,0x33,0x81,0x81,0xCC,0x37,0x00,0x00,0xEC,0x3E,0x00,0x00,0x7C,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFE,0x00,0x00,0x3F,0xFF,0x00,0x00,0x7F,0xFF,0x80,0x00,0xF0,0x03,0xC0,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x3F,0xFF,0xF0,0x00,0x3F,0xFF,0xF0,0x00,0x3F,0xFF,0xF0,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x1F,0xFF,0x80,0x00,0x1F,0xFF,0x80,0x00,0x1F,0xFF,0x80,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x01,0xC0,0x00,0xF0,0x03,0xC0,0x00,0x7F,0xFF,0x80,0x00,0x3F,0xFF,0x00,0x00,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xE0,0x00,0x00,0x7F,0xC0,0x00,0x00,0xFF,0x80,0x00,0x01,0xFF,0x00,0x00,0x03,0xFE,0x00,0x00,0x03,0xFC,0x00,0x00,0x07,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xF8,0x00,0x00,0x03,0xFC,0x00,0x00,0x01,0xFE,0x00,0x00,0x03,0xFC,0x00,0x00,0x07,0xF0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x1F,0x80,0x00,0x00,0x3F,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0x80,0x00,0x00,0x0E,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0xE0,0x00,0xE0,0x01,0xE0,0x00,0xC0,0x03,0xE0,0x01,0x80,0x03,0x60,0x03,0x80,0x00,0x60,0x07,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x0C,0x00,0x00,0x60,0x1C,0x00,0x00,0x60,0x38,0x00,0x00,0x60,0x30,0x00,0x00,0x60,0x60,0x00,0x03,0xFC,0xE1,0x80,0x03,0xFD,0xC3,0x80,0x00,0x01,0x87,0x80,0x00,0x03,0x0F,0x80,0x00,0x07,0x0D,0x80,0x00,0x0E,0x19,0x80,0x00,0x0C,0x31,0x80,0x00,0x18,0x71,0x80,0x00,0x38,0x61,0x80,0x00,0x70,0x7F,0xE0,0x00,0x60,0x7F,0xE0,0x00,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xC0,0x01,0x80,0x07,0xC0,0x03,0x00,0x06,0xC0,0x07,0x00,0x00,0xC0,0x0E,0x00,0x00,0xC0,0x0C,0x00,0x00,0xC0,0x18,0x00,0x00,0xC0,0x38,0x00,0x00,0xC0,0x70,0x00,0x00,0xC0,0x60,0x00,0x00,0xC0,0xC0,0x00,0x07,0xF9,0xC7,0x80,0x07,0xFB,0x8F,0xC0,0x00,0x03,0x1C,0xE0,0x00,0x06,0x18,0x70,0x00,0x0E,0x00,0x70,0x00,0x1C,0x00,0xE0,0x00,0x18,0x01,0xC0,0x00,0x30,0x03,0x80,0x00,0x70,0x07,0x00,0x00,0xE0,0x0E,0x00,0x00,0xC0,0x1C,0x00,0x01,0x80,0x18,0x00,0x03,0x00,0x1F,0xF0,0x03,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x60,0x01,0xFC,0x00,0xE0,0x03,0x8E,0x00,0xC0,0x03,0x06,0x01,0x80,0x00,0x06,0x03,0x80,0x00,0x06,0x07,0x00,0x00,0x3C,0x06,0x00,0x00,0x3C,0x0C,0x00,0x00,0x06,0x1C,0x00,0x00,0x06,0x38,0x00,0x03,0x06,0x30,0x00,0x03,0x8E,0x60,0x00,0x01,0xFC,0xE1,0x80,0x00,0xF9,0xC3,0x80,0x00,0x01,0x87,0x80,0x00,0x03,0x0F,0x80,0x00,0x07,0x0D,0x80,0x00,0x0E,0x19,0x80,0x00,0x0C,0x31,0x80,0x00,0x18,0x71,0x80,0x00,0x38,0x61,0x80,0x00,0x70,0x7F,0xE0,0x00,0x60,0x7F,0xE0,0x00,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0xE0,0x00,0x00,0x03,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x0C,0x00,0x00,0x1C,0x0C,0x00,0x00,0x0E,0x1C,0x00,0x00,0x07,0xF8,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x1F,0x03,0x00,0x00,0x3F,0x87,0x00,0x00,0x79,0xCF,0x00,0x00,0xF0,0xFE,0x00,0x00,0xE0,0x7C,0x00,0x00,0xC0,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF3,0xF8,0x00,0x00,0xF7,0xFC,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFE,0x1F,0x00,0x00,0xFC,0x0F,0x00,0x00,0xF8,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xE0,0x07,0x80,0x03,0x80,0x01,0xC0,0x07,0x00,0x00,0xE0,0x0E,0x00,0x00,0x70,0x0C,0x00,0x00,0x30,0x18,0x78,0x1E,0x18,0x18,0xFC,0x3F,0x18,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xFC,0x3F,0x0C,0x30,0x78,0x1E,0x0C,0x30,0x00,0x00,0x0C,0x30,0x00,0x00,0x0C,0x31,0x80,0x01,0x8C,0x31,0xC0,0x03,0x8C,0x18,0xF0,0x0F,0x18,0x18,0x7F,0xFE,0x18,0x0C,0x1F,0xF8,0x30,0x0C,0x00,0x00,0x30,0x06,0x00,0x00,0x60,0x07,0x80,0x01,0xE0,0x01,0xE0,0x07,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xE0,0x07,0x80,0x03,0x80,0x01,0xC0,0x07,0x00,0x00,0xE0,0x0E,0x00,0x00,0x70,0x0C,0x00,0x00,0x30,0x18,0x78,0x1E,0x18,0x18,0xFC,0x3F,0x18,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xFC,0x3F,0x0C,0x30,0x78,0x1E,0x0C,0x30,0x00,0x00,0x0C,0x30,0x00,0x00,0x0C,0x30,0x1F,0xF8,0x0C,0x30,0x7F,0xFE,0x0C,0x18,0xF0,0x0F,0x18,0x19,0xC0,0x03,0x98,0x0D,0x80,0x01,0xB0,0x0C,0x00,0x00,0x30,0x06,0x00,0x00,0x60,0x07,0x80,0x01,0xE0,0x01,0xE0,0x07,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xE0,0x07,0x80,0x03,0x80,0x01,0xC0,0x07,0x00,0x00,0xE0,0x0E,0x00,0x00,0x70,0x0C,0x00,0x00,0x30,0x18,0x78,0x1E,0x18,0x18,0xFC,0x3F,0x18,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xCC,0x33,0x0C,0x30,0xFC,0x3F,0x0C,0x30,0x78,0x1E,0x0C,0x30,0x00,0x00,0x0C,0x30,0x00,0x00,0x0C,0x30,0x00,0x00,0x0C,0x31,0xFF,0xFF,0x8C,0x19,0xFF,0xFF,0x98,0x18,0x00,0x00,0x18,0x0C,0x00,0x00,0x30,0x0C,0x00,0x00,0x30,0x06,0x00,0x00,0x60,0x07,0x80,0x01,0xE0,0x01,0xE0,0x07,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x0F,0xFC,0x00,0x00,0x1F,0xFE,0x00,0x00,0x3F,0xFF,0x00,0x00,0x7F,0xFF,0x80,0x00,0x7F,0xFF,0x80,0x00,0x7F,0xFF,0x80,0x00,0x73,0xF3,0x80,0x00,0x61,0xE1,0x80,0x00,0x61,0xE1,0x80,0x00,0x73,0x33,0x80,0x00,0x3F,0x3F,0x00,0x00,0x1F,0xFE,0x00,0x00,0x0F,0xFC,0x00,0x01,0xE6,0xD9,0xE0,0x01,0xE6,0xD9,0xE0,0x00,0xE0,0x01,0xC0,0x03,0xF0,0x07,0xF0,0x03,0xFC,0x1F,0xF0,0x00,0x3F,0x7F,0x80,0x00,0x1F,0xF8,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xC8,0x00,0x00,0x1F,0x9C,0x00,0x01,0xFE,0x3F,0xC0,0x01,0xF8,0x0F,0xC0,0x00,0x70,0x07,0x00,0x00,0xF0,0x07,0x80,0x00,0xF0,0x07,0x80,0x00,0x00,0x00,0x00, // O 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x04,0x07,0xE0,0x20,0x06,0x07,0xE0,0x60,0x07,0x07,0xE0,0xE0,0x07,0x87,0xE1,0xE0,0x07,0xC7,0xE3,0xE0,0x07,0xE7,0xE7,0xE0,0x07,0xF7,0xEF,0xE0,0x07,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xE0,0x07,0xF7,0xEF,0xE0,0x07,0xE7,0xE7,0xE0,0x07,0xC7,0xE3,0xE0,0x07,0x87,0xE1,0xE0,0x07,0x07,0xE0,0xE0,0x06,0x07,0xE0,0x60,0x04,0x07,0xE0,0x20,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Q 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x00,0x1F,0xF0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x7F,0xC0,0x00,0x00,0xFF,0x80,0x00,0x01,0xFF,0x00,0x00,0x03,0xFE,0x00,0x00,0x07,0xFC,0x00,0x00,0x0F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF8,0x07,0xFC,0x00,0x00,0x03,0xFE,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0xFF,0x80,0x00,0x00,0x7F,0xC0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x0F,0xF8,0x00,0x00,0x07,0xFC,0x00,0x00,0x03,0xFE,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0xFF,0x80,0x00,0x00,0x7F,0xC0,0x00,0x00,0x3F,0xE0,0x1F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x7F,0xC0,0x00,0x00,0xFF,0x80,0x00,0x01,0xFF,0x00,0x00,0x03,0xFE,0x00,0x00,0x07,0xFC,0x00,0x00,0x0F,0xF8,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x0E,0x00,0x00,0x06,0x0C,0x00,0x00,0x07,0x1C,0x00,0x00,0x07,0xB8,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF0,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xF0,0x0F,0x00,0x01,0xE0,0x07,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x83,0xC0,0x03,0xC0,0xC0,0x00,0x03,0xC0,0xE0,0x00,0x03,0xE0,0xF0,0x00,0x01,0xF0,0xF8,0x00,0x00,0xFF,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFE,0x00,0x00,0x1F,0xFC,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x1F,0xFC,0x00,0x00,0x3F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFC,0x00,0x01,0xF0,0xF8,0x00,0x03,0xE0,0xF0,0x00,0x03,0xC0,0xE0,0x00,0x03,0xC0,0xC0,0x00,0x03,0xC0,0x83,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0xE0,0x07,0x80,0x00,0xF0,0x0F,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x01,0xF8,0x1F,0x80,0x03,0xFC,0x3F,0xC0,0x07,0xFE,0x7F,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFF,0x80,0x03,0xC0,0x03,0xC0,0x07,0x80,0x01,0xE0,0x0F,0x07,0xF0,0xF0,0x0E,0x0F,0xF8,0x70,0x1C,0x1F,0xFC,0x38,0x18,0x3C,0x1E,0x18,0x38,0x78,0x0E,0x1C,0x38,0x70,0x0E,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x00,0x1C,0x38,0x70,0x0E,0x1C,0x38,0x78,0x0E,0x1C,0x18,0x3C,0x1E,0x18,0x1C,0x1F,0xFC,0x38,0x0E,0x0F,0xF8,0x70,0x0F,0x07,0xF0,0xF0,0x07,0x80,0x01,0xE0,0x03,0xC0,0x03,0xC0,0x01,0xFF,0xFF,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFF,0x80,0x03,0xC0,0x03,0xC0,0x07,0x80,0x01,0xE0,0x0F,0x0F,0xC0,0xF0,0x0E,0x1F,0xE0,0x70,0x1C,0x1F,0xF0,0x38,0x18,0x1C,0x78,0x18,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x78,0x1C,0x38,0x1F,0xF0,0x1C,0x38,0x1F,0xE0,0x1C,0x38,0x1F,0xF0,0x1C,0x38,0x1C,0x78,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x18,0x1C,0x38,0x18,0x1C,0x1C,0x38,0x38,0x0E,0x1C,0x38,0x70,0x0F,0x1C,0x38,0xF0,0x07,0x80,0x01,0xE0,0x03,0xC0,0x03,0xC0,0x01,0xFF,0xFF,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF0,0x0F,0xC0,0x03,0xC0,0x03,0xC0,0x07,0x80,0x01,0xE0,0x07,0x80,0x01,0xE0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x07,0x80,0x01,0xE0,0x07,0x80,0x01,0xE0,0x03,0xC0,0x03,0xC0,0x03,0xF0,0x0F,0x80,0x01,0xF8,0x1F,0x80,0x00,0x7C,0x3E,0x00,0x0F,0xFC,0x3F,0xF0,0x0F,0xFC,0x3F,0xF0,0x0F,0xFC,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF8,0x30,0x00,0x00,0x0C,0x30,0x07,0xC0,0x0C,0x30,0x0F,0xE0,0x0C,0x30,0x1F,0xF0,0x0C,0x30,0x1F,0xF0,0x0C,0x30,0x1F,0xF0,0x0C,0x30,0x0F,0xE0,0x0C,0x30,0x07,0xC0,0x0C,0x30,0x00,0x00,0x0C,0x30,0x1F,0xE0,0x0C,0x30,0x1F,0xE0,0x0C,0x30,0x1F,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0x07,0xE0,0x0C,0x30,0xFF,0xFF,0x0C,0x30,0xFF,0xFF,0x0C,0x30,0xFF,0xFF,0x0C,0x30,0xFF,0xFF,0x0C,0x30,0x00,0x00,0x0C,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // [ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x3C,0x78,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x3C,0x78,0x00,0x00,0x1F,0xF0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFE,0x00,0x00,0x07,0xFF,0x00,0x00,0x0F,0xFF,0x80,0x00,0x1F,0xFF,0x80,0x00,0x3F,0x07,0x80,0x00,0x3E,0x07,0x80,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x01,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0x00,0x07,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ] 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x78,0x07,0x80,0x00,0x7C,0x0F,0x80,0x00,0x7E,0x1F,0x80,0x00,0x7F,0xFF,0xE0,0x00,0x7F,0xFB,0xE0,0x00,0x7B,0xF1,0xE0,0x00,0x79,0xE0,0xE0,0x00,0x78,0x00,0x00,0x00,0x78,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF0,0x00,0x00,0x03,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xF0,0x3F,0x80,0x1F,0xF8,0x3F,0xC0,0x3F,0xFC,0x3F,0xE0,0x7F,0xFC,0x3F,0xF0,0xFF,0xF8,0x00,0xF1,0xF0,0xF0,0x00,0x73,0xE0,0xE0,0x00,0x07,0xC0,0xC0,0x00,0x0F,0x80,0x80,0x00,0x1F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x7C,0x60,0x80,0x00,0xF8,0xF0,0xC0,0x01,0xF0,0xF8,0xE0,0x03,0xE0,0x7C,0xF0,0x3F,0xC0,0x3F,0xF8,0x3F,0x80,0x1F,0xFC,0x3F,0x00,0x0F,0xFC,0x3E,0x00,0x07,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0xFC,0x00,0x00,0x01,0xFC,0x00,0x00,0x03,0xFC,0x00,0x00,0x07,0xFC,0x00,0x00,0x0F,0xFC,0x00,0x00,0x1F,0xFC,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0xFF,0xFC,0x00,0x01,0xFF,0xFC,0x00,0x01,0xFF,0xFC,0x00,0x00,0xFF,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xFC,0x00,0x00,0x0F,0xFC,0x00,0x00,0x07,0xFC,0x00,0x00,0x03,0xFC,0x00,0x00,0x01,0xFC,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,0x3F,0xC0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x3F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x3F,0xFE,0x00,0x00,0x3F,0xFF,0x00,0x00,0x3F,0xFF,0x80,0x00,0x3F,0xFF,0x80,0x00,0x3F,0xFF,0x00,0x00,0x3F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x3F,0xF8,0x00,0x00,0x3F,0xF0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x3F,0xC0,0x00,0x00,0x3F,0x80,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x08,0x00,0x01,0x80,0x18,0x00,0x03,0x80,0x38,0x00,0x07,0x80,0x78,0x00,0x0F,0x80,0xF8,0x00,0x1F,0x81,0xF8,0x00,0x3F,0x83,0xF8,0x00,0x7F,0x87,0xF8,0x00,0xFF,0x8F,0xF8,0x01,0xFF,0x9F,0xF8,0x03,0xFF,0xBF,0xF8,0x07,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xF8,0x03,0xFF,0xBF,0xF8,0x01,0xFF,0x9F,0xF8,0x00,0xFF,0x8F,0xF8,0x00,0x7F,0x87,0xF8,0x00,0x3F,0x83,0xF8,0x00,0x1F,0x81,0xF8,0x00,0x0F,0x80,0xF8,0x00,0x07,0x80,0x78,0x00,0x03,0x80,0x38,0x00,0x01,0x80,0x18,0x00,0x00,0x80,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x18,0x01,0x80,0x00,0x1C,0x01,0xC0,0x00,0x1E,0x01,0xE0,0x00,0x1F,0x01,0xF0,0x00,0x1F,0x81,0xF8,0x00,0x1F,0xC1,0xFC,0x00,0x1F,0xE1,0xFE,0x00,0x1F,0xF1,0xFF,0x00,0x1F,0xF9,0xFF,0x80,0x1F,0xFD,0xFF,0xC0,0x1F,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xE0,0x1F,0xFD,0xFF,0xC0,0x1F,0xF9,0xFF,0x80,0x1F,0xF1,0xFF,0x00,0x1F,0xE1,0xFE,0x00,0x1F,0xC1,0xFC,0x00,0x1F,0x81,0xF8,0x00,0x1F,0x01,0xF0,0x00,0x1E,0x01,0xE0,0x00,0x1C,0x01,0xC0,0x00,0x18,0x01,0x80,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x80,0x08,0x38,0x01,0x80,0x18,0x38,0x03,0x80,0x38,0x38,0x07,0x80,0x78,0x38,0x0F,0x80,0xF8,0x38,0x1F,0x81,0xF8,0x38,0x3F,0x83,0xF8,0x38,0x7F,0x87,0xF8,0x38,0xFF,0x8F,0xF8,0x39,0xFF,0x9F,0xF8,0x3B,0xFF,0xBF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xF8,0x3B,0xFF,0xBF,0xF8,0x39,0xFF,0x9F,0xF8,0x38,0xFF,0x8F,0xF8,0x38,0x7F,0x87,0xF8,0x38,0x3F,0x83,0xF8,0x38,0x1F,0x81,0xF8,0x38,0x0F,0x80,0xF8,0x38,0x07,0x80,0x78,0x38,0x03,0x80,0x38,0x38,0x01,0x80,0x18,0x38,0x00,0x80,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // g 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x00,0x1C,0x18,0x01,0x80,0x1C,0x1C,0x01,0xC0,0x1C,0x1E,0x01,0xE0,0x1C,0x1F,0x01,0xF0,0x1C,0x1F,0x81,0xF8,0x1C,0x1F,0xC1,0xFC,0x1C,0x1F,0xE1,0xFE,0x1C,0x1F,0xF1,0xFF,0x1C,0x1F,0xF9,0xFF,0x9C,0x1F,0xFD,0xFF,0xDC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFD,0xFF,0xDC,0x1F,0xF9,0xFF,0x9C,0x1F,0xF1,0xFF,0x1C,0x1F,0xE1,0xFE,0x1C,0x1F,0xC1,0xFC,0x1C,0x1F,0x81,0xF8,0x1C,0x1F,0x01,0xF0,0x1C,0x1E,0x01,0xE0,0x1C,0x1C,0x01,0xC0,0x1C,0x18,0x01,0x80,0x1C,0x10,0x01,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x7C,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // j 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x73,0xCE,0x00,0x00,0xF3,0xCF,0x00,0x03,0xF3,0xCF,0xC0,0x07,0xF3,0xCF,0xE0,0x0F,0xC3,0xC3,0xE0,0x0F,0x03,0xC0,0xF0,0x1E,0x03,0xC0,0x78,0x1E,0x03,0xC0,0x78,0x3C,0x03,0xC0,0x3C,0x3C,0x03,0xC0,0x3C,0x3C,0x03,0xC0,0x3C,0x3C,0x03,0xC0,0x3C,0x3C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x38,0x1E,0x00,0x00,0x78,0x1E,0x00,0x00,0x78,0x0F,0x00,0x00,0xF0,0x07,0xC0,0x03,0xE0,0x07,0xF0,0x0F,0xE0,0x03,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFF,0x80,0x03,0xF0,0x0F,0xC0,0x07,0xC0,0x03,0xE0,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x1E,0x00,0x18,0x78,0x1C,0x00,0x39,0xF8,0x3C,0x00,0x7F,0xFC,0x38,0x00,0xFF,0xDC,0x38,0x7F,0xFF,0x1C,0x38,0x7F,0xFC,0x1C,0x38,0x7F,0xF8,0x1C,0x38,0x7F,0xF8,0x1C,0x38,0x7F,0xF8,0x1C,0x38,0xFC,0xF8,0x1C,0x3B,0xF8,0x78,0x1C,0x3F,0xE0,0x38,0x3C,0x1F,0x80,0x18,0x38,0x1E,0x00,0x00,0x78,0x0F,0x00,0x00,0xF0,0x0F,0x00,0x00,0xF0,0x07,0xC0,0x03,0xE0,0x07,0xF0,0x0F,0xE0,0x01,0xFF,0xFF,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xEE,0x00,0x00,0x03,0xEF,0x00,0x00,0x07,0xE3,0x80,0x01,0xFF,0xE1,0x80,0x01,0xFF,0xE1,0x80,0x01,0xFF,0xE1,0x80,0x01,0xFF,0xE1,0x80,0x01,0xFF,0xE3,0x80,0x00,0x03,0xEF,0x00,0x00,0x01,0xEE,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0xE0,0x00,0x00,0x70,0x70,0x00,0x00,0x7C,0x30,0x00,0x0C,0x0E,0x18,0x00,0x1C,0x07,0x18,0x00,0x3D,0xC3,0x0C,0x00,0x7D,0xE1,0x8C,0x00,0xFC,0x71,0x8C,0x3F,0xFC,0x31,0x8C,0x3F,0xFC,0x31,0x8C,0x3F,0xFC,0x31,0x8C,0x3F,0xFC,0x31,0x8C,0x3F,0xFC,0x71,0x8C,0x00,0x7D,0xE1,0x8C,0x00,0x3D,0xC3,0x0C,0x00,0x1C,0x07,0x18,0x00,0x0C,0x0E,0x18,0x00,0x00,0x7C,0x30,0x00,0x00,0x70,0x70,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x1F,0x80,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x0F,0xF8,0x00,0x01,0xFF,0xF8,0x00,0x1F,0xFF,0x18,0x00,0x3F,0xF0,0x18,0x00,0x3F,0x00,0x18,0x00,0x38,0x01,0xF8,0x00,0x38,0x1F,0xF8,0x00,0x38,0xFF,0xF8,0x00,0x3F,0xFF,0x38,0x00,0x3F,0xF0,0x38,0x00,0x3F,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x03,0xF8,0x00,0x38,0x07,0xF8,0x03,0xF8,0x0F,0xF8,0x07,0xF8,0x1F,0xF0,0x0F,0xF8,0x1F,0xE0,0x1F,0xF0,0x0F,0xC0,0x1F,0xE0,0x07,0x00,0x0F,0xC0,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // p 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xE0,0x00,0xFF,0xFF,0xF0,0x01,0xFF,0xFF,0xF8,0x03,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xF0,0x0F,0x80,0x01,0xE0,0x1F,0x00,0x01,0xC0,0x1E,0x00,0x01,0x80,0x1E,0x00,0x01,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x80,0x00,0x78,0x01,0x80,0x00,0x78,0x03,0x80,0x00,0xF8,0x07,0x80,0x01,0xF0,0x0F,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xC0,0x1F,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0x00,0x07,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // q 0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0x1C,0x38,0xFC,0x7E,0x1C,0x38,0x7E,0x00,0x1C,0x38,0x00,0x7E,0x3E,0x7C,0x7E,0x7E,0x7F,0xFE,0x7E,0x7E,0x7F,0xFE,0x7E,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0xF8,0x1F,0x00,0x01,0xE0,0x07,0x80,0x03,0xC0,0x03,0xC0,0x07,0x83,0xC1,0xE0,0x0F,0x8F,0xF1,0xF0,0x1F,0x1F,0xF8,0xF8,0x3F,0x1F,0xF8,0xFC,0x3F,0x1F,0xF8,0xFC,0x3F,0x1F,0xF8,0xFC,0x7F,0x8F,0xF1,0xFE,0x7F,0x83,0xC1,0xFE,0x7F,0xC0,0x03,0xFE,0x7F,0xE0,0x07,0xFE,0x7F,0xF8,0x1F,0xFE,0x7F,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x30,0x0C,0x00,0x00,0x38,0x1C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0xF8,0x1F,0x00,0x01,0xE0,0x07,0x80,0x07,0xC0,0x03,0xE0,0x3F,0x80,0x01,0xFC,0x3F,0x00,0x00,0xFC,0x1F,0x03,0xC0,0xF8,0x0E,0x07,0xE0,0x70,0x06,0x0F,0xF0,0x60,0x06,0x0F,0xF0,0x60,0x06,0x0F,0xF0,0x60,0x06,0x0F,0xF0,0x60,0x06,0x07,0xE0,0x60,0x0F,0x03,0xC0,0xF0,0x1F,0x00,0x00,0xF8,0x3F,0x80,0x01,0xFC,0x3F,0xC0,0x03,0xFC,0x03,0xE0,0x07,0xC0,0x00,0xF8,0x1F,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x3C,0x3C,0x00,0x00,0x38,0x1C,0x00,0x00,0x30,0x0C,0x00,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0xF0,0x00,0x00,0x03,0xF0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xF8,0x00,0x10,0x00,0xFF,0x00,0x18,0x00,0xFF,0x00,0x1C,0x00,0xFC,0x00,0x1C,0x01,0xFC,0x00,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x1C,0x01,0xFC,0x00,0x1C,0x00,0xFC,0x00,0x18,0x00,0xFF,0x00,0x10,0x00,0xFF,0x00,0x00,0x00,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x01,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x07,0xF0,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0xFC,0x33,0x00,0x03,0xF8,0x33,0x80,0x0F,0xE0,0x3F,0xC0,0x3F,0xC0,0x3F,0xE0,0xFC,0x00,0x00,0xF6,0xF8,0x00,0x00,0x3F,0xE0,0x00,0x00,0x1F,0x80,0x00,0x00,0x1F,0x80,0x00,0x00,0x3F,0xE0,0x00,0x00,0xF6,0xF8,0x00,0x3F,0xE0,0x7C,0x00,0x3F,0xC0,0x3F,0xC0,0x33,0x80,0x0F,0xE0,0x33,0x00,0x03,0xF8,0x3F,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0xF8,0x1F,0x80,0x01,0xF8,0x1F,0xC0,0x03,0xF8,0x1F,0xE0,0x07,0xF8,0x1F,0xF0,0x0F,0xF8,0x0F,0xF8,0x1F,0xF0,0x07,0xFC,0x3F,0xE0,0x03,0xFE,0x7F,0xC0,0x01,0xFE,0x7F,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x3F,0xFC,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFE,0x7F,0x80,0x03,0xFE,0x7F,0xC0,0x07,0xFC,0x3F,0xE0,0x0F,0xF8,0x1F,0xF0,0x1F,0xF0,0x0F,0xF8,0x1F,0xE0,0x07,0xF8,0x1F,0xC0,0x03,0xF8,0x1F,0x80,0x01,0xF8,0x1F,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x1F,0xF8,0x00,0x7F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x03,0xFC,0x3F,0xC0,0x03,0xF0,0x0F,0xC0,0x07,0xE0,0x07,0xE0,0x07,0x80,0x01,0xE0,0x07,0x00,0x00,0xE0,0x06,0x00,0x00,0x60,0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // y 0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0xF0,0x1E,0x00,0x00,0x78,0x3C,0x00,0x00,0x3C,0x78,0x00,0x00,0x1E,0xF0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x07,0xC0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x1E,0xF0,0x00,0x00,0x3C,0x78,0x00,0x00,0x78,0x3C,0x00,0x00,0xF0,0x1E,0x00,0x01,0xE0,0x0F,0x00,0x01,0xE0,0x0F,0x00,0x03,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x03,0xFF,0x00,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0x03,0xC0,0x00,0x1E,0x01,0xE0,0x00,0x1C,0x00,0xE0,0x00,0x38,0x00,0x70,0x00,0x38,0x00,0x70,0x00,0x3B,0xFF,0x70,0x00,0x3B,0xFF,0x70,0x00,0x38,0x00,0x70,0x00,0x38,0x00,0x70,0x00,0x1C,0x00,0xE0,0x00,0x1E,0x01,0xC0,0x00,0x0F,0x03,0xE0,0x00,0x0F,0xFF,0xF0,0x00,0x03,0xFE,0xF8,0x00,0x00,0xFC,0x7C,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x03,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x03,0xFF,0x00,0x00,0x07,0xFF,0x80,0x00,0x0F,0x03,0xC0,0x00,0x1E,0x31,0xE0,0x00,0x1C,0x30,0xE0,0x00,0x38,0x30,0x70,0x00,0x38,0x30,0x70,0x00,0x3B,0xFF,0x70,0x00,0x3B,0xFF,0x70,0x00,0x38,0x30,0x70,0x00,0x38,0x30,0x70,0x00,0x1C,0x30,0xE0,0x00,0x1E,0x31,0xC0,0x00,0x0F,0x03,0xE0,0x00,0x07,0xFF,0xF0,0x00,0x03,0xFE,0xF8,0x00,0x00,0xFC,0x7C,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x03,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x30,0x00,0x00,0x0C,0x20,0x00,0x00,0x04,0x0F,0xFC,0x3F,0xF0,0x1F,0xFC,0x3F,0xF8,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0x80,0x01,0xFC,0x3F,0xC0,0x03,0xFC,0x3F,0xE0,0x07,0xFC,0x3F,0xF0,0x0F,0xFC,0x3F,0xF8,0x1F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFE,0x7F,0xFC,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // } 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xF8,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ }; sFONT FontSYM = { FontSYM_Table, 32, // Width 32, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: fonts.h ================================================ /** ****************************************************************************** * @file fonts.h * @author MCD Application Team * @version V1.0.0 * @date 18-February-2014 * @brief Header for fonts.c file ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2014 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __FONTS_H #define __FONTS_H #include "pico/stdlib.h" #define FON_MAXPIX 32*50 //ASCII typedef struct _tFont { const uint8_t *table; uint8_t Width; // Width Pixels uint8_t Height; // Height Pixels char First; // First Character char Last; // Last Character } sFONT; extern sFONT Font8; // Courier 5x8 extern sFONT Font16; // Courier 12x16 extern sFONT Font20; // Courier 14x20 extern sFONT Font24; // Courier 17x24 extern sFONT Font7SPP; // 7 Segments plus extern sFONT FontUB; // Ubuntu 24x32 extern sFONT FontUBB; // Ubuntu bold 24x32 extern sFONT FontAR; // Arial Round 16x24 extern sFONT FontGR; // Grotesk 16x32 extern sFONT FontSYMs; // Various symbols 16x16 extern sFONT FontSYM; // Various symbols 32x32 #endif /* __FONTS_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ ================================================ FILE: fontub.c ================================================ // Ubuntu 24x32 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontUB_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xE1,0xF0,0x03,0xE1,0xF0,0x03,0xE1,0xF0,0x01,0xE0,0xF0,0x00,0xE0,0x70,0x01,0xC0,0xE0,0x03,0xC1,0xE0,0x0F,0x87,0xC0,0x0E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x70,0x00,0x38,0x70,0x00,0x70,0xE0,0x00,0x70,0xE0,0x00,0x70,0xE0,0x00,0x70,0xE0,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0xE1,0xC0,0x00,0xE1,0xC0,0x00,0xE1,0xC0,0x01,0xC3,0x80,0x01,0xC3,0x80,0x01,0xC3,0x80,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x03,0x87,0x00,0x03,0x87,0x00,0x03,0x87,0x00,0x03,0x87,0x00,0x07,0x0E,0x00,0x07,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # 0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x07,0x80,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xF8,0x00,0x01,0xFE,0x00,0x00,0x7F,0x80,0x00,0x0F,0xC0,0x00,0x03,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x02,0x01,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00, // $ 0x00,0x00,0x00,0x07,0x80,0x70,0x0F,0xC0,0xE0,0x0C,0xC0,0xE0,0x18,0x61,0xC0,0x18,0x63,0x80,0x18,0x63,0x80,0x18,0x67,0x00,0x18,0x67,0x00,0x18,0x6E,0x00,0x0C,0xDC,0x00,0x0F,0xDC,0x00,0x07,0xB8,0x00,0x00,0x3B,0xC0,0x00,0x77,0xE0,0x00,0x76,0x60,0x00,0xEC,0x30,0x01,0xCC,0x30,0x01,0xCC,0x30,0x03,0x8C,0x30,0x03,0x8C,0x30,0x07,0x0C,0x30,0x0E,0x06,0x60,0x0E,0x07,0xE0,0x1C,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0xFF,0x00,0x01,0xFF,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x87,0x00,0x01,0xCF,0x00,0x01,0xFE,0x00,0x00,0xFC,0x00,0x01,0xF0,0x70,0x03,0xF8,0x70,0x03,0xBC,0x70,0x07,0x1E,0x60,0x0E,0x0F,0xE0,0x0E,0x07,0xE0,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0F,0x03,0xE0,0x07,0x8F,0xE0,0x07,0xFF,0x70,0x03,0xFE,0x70,0x00,0xF8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x07,0x00,0x00,0x0F,0x80,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x38,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0F,0x00,0x00,0x07,0x80,0x00,0x03,0x00,0x00,0x01,0x00, // ( 0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0x78,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x00,0xF0,0x00,0x00,0x60,0x00,0x00,0x40,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x02,0x1C,0x20,0x03,0xC9,0xE0,0x07,0xFF,0xF0,0x01,0xFF,0xC0,0x00,0x1C,0x00,0x00,0x36,0x00,0x00,0x77,0x00,0x00,0xF3,0x80,0x01,0xE3,0xC0,0x00,0xE3,0x80,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0x00,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00, // / 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x03,0xC7,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x30,0xE0,0x0E,0x78,0xE0,0x0E,0x78,0xE0,0x0E,0x78,0xE0,0x0E,0x30,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xC7,0x80,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x7C,0x00,0x00,0xFC,0x00,0x03,0xFC,0x00,0x07,0x9C,0x00,0x02,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x03,0xFF,0x00,0x07,0xFF,0x80,0x07,0x87,0xC0,0x02,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x06,0x07,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x07,0x80,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x80,0x00,0x07,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xE0,0x04,0x03,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x0F,0x80,0x00,0x1F,0x80,0x00,0x3F,0x80,0x00,0x3B,0x80,0x00,0x73,0x80,0x00,0xF3,0x80,0x01,0xE3,0x80,0x01,0xC3,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x07,0x03,0x80,0x0F,0x03,0x80,0x0E,0x03,0x80,0x1E,0x03,0x80,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xF0,0x00,0x07,0xFE,0x00,0x07,0xFF,0x00,0x00,0x1F,0x80,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x0C,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x03,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x1F,0xC0,0x00,0x7F,0xC0,0x00,0xFC,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x06,0x7E,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xC0,0x07,0xC3,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x03,0xC7,0xC0,0x07,0x03,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x81,0xC0,0x03,0xC3,0x80,0x03,0xF7,0x00,0x01,0xFE,0x00,0x01,0xFF,0x80,0x03,0xCF,0xC0,0x07,0x03,0xC0,0x06,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x87,0xC0,0x07,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x00,0xE0,0x07,0x81,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0xFE,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x07,0x80,0x00,0x0F,0x00,0x00,0x7E,0x00,0x07,0xFC,0x00,0x07,0xF8,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x3C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x01,0xE0,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x01,0xE0,0x00,0x0F,0xE0,0x00,0x3F,0xC0,0x00,0xFE,0x00,0x03,0xF8,0x00,0x0F,0xC0,0x00,0x0F,0x00,0x00,0x0F,0xC0,0x00,0x07,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0xC0,0x00,0x0F,0xE0,0x00,0x01,0xE0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x0F,0x00,0x00,0x0F,0xE0,0x00,0x07,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0x80,0x00,0x07,0xE0,0x00,0x01,0xE0,0x00,0x07,0xE0,0x00,0x3F,0xC0,0x00,0xFE,0x00,0x07,0xF8,0x00,0x0F,0xE0,0x00,0x0F,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x00,0x00,0x00,0x00,0xFE,0x00,0x03,0xFF,0x80,0x03,0xFF,0xC0,0x01,0x03,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0xFF,0x80,0x01,0xFF,0xC0,0x01,0xE1,0xE0,0x03,0x80,0xE0,0x03,0x80,0x70,0x07,0x00,0x70,0x07,0x00,0x70,0x07,0x07,0xF0,0x0E,0x1F,0xF0,0x0E,0x3F,0xF0,0x0E,0x3C,0x70,0x0E,0x78,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x78,0x70,0x0E,0x38,0x70,0x07,0x3F,0xF0,0x07,0x1F,0xF0,0x07,0x07,0xE0,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xC0,0x00,0x01,0xF0,0x00,0x00,0xFF,0xC0,0x00,0x7F,0xC0,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // @ 0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0xFF,0x00,0x00,0xF7,0x00,0x00,0xE7,0x00,0x00,0xE7,0x00,0x01,0xE7,0x80,0x01,0xC3,0x80,0x01,0xC3,0x80,0x03,0xC3,0xC0,0x03,0xC1,0xC0,0x03,0x81,0xC0,0x03,0x81,0xC0,0x07,0x81,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x0F,0x00,0xF0,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x1E,0x00,0x78,0x1C,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0E,0x07,0xC0,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x01,0xE0,0x0E,0x07,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x00,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x7F,0xE0,0x01,0xFF,0xE0,0x03,0xE0,0x40,0x03,0xC0,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xE0,0x40,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x0F,0xF0,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x00,0x0E,0x0F,0x80,0x0E,0x03,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x01,0xE0,0x0E,0x01,0xC0,0x0E,0x03,0xC0,0x0E,0x03,0x80,0x0E,0x0F,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0x80,0x07,0xFF,0x80,0x07,0xFF,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xC0,0x01,0xFF,0xE0,0x03,0xE0,0xC0,0x03,0xC0,0x40,0x07,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0xC0,0xE0,0x03,0xE0,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I 0x00,0x00,0x00,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x04,0x03,0xC0,0x07,0x07,0x80,0x0F,0xFF,0x00,0x07,0xFE,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x00,0x0E,0x01,0xE0,0x0E,0x03,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0E,0x0F,0x00,0x0E,0x0E,0x00,0x0E,0x1C,0x00,0x0E,0x3C,0x00,0x0E,0x78,0x00,0x0E,0xF0,0x00,0x0F,0xE0,0x00,0x0F,0xE0,0x00,0x0F,0xF0,0x00,0x0E,0xF8,0x00,0x0E,0x7C,0x00,0x0E,0x3E,0x00,0x0E,0x1E,0x00,0x0E,0x0F,0x00,0x0E,0x07,0x80,0x0E,0x03,0xC0,0x0E,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x03,0x00,0x60,0x03,0x80,0xF0,0x07,0x80,0xF0,0x07,0x80,0xF0,0x06,0xC1,0xB0,0x06,0xC1,0xB0,0x06,0xE3,0xB0,0x06,0x63,0x30,0x06,0x63,0x30,0x06,0x77,0x30,0x06,0x36,0x30,0x06,0x36,0x30,0x06,0x3E,0x30,0x06,0x1C,0x38,0x0E,0x1C,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x07,0x80,0x70,0x07,0xC0,0x70,0x07,0xC0,0x70,0x07,0xE0,0x70,0x07,0xE0,0x70,0x07,0xF0,0x70,0x07,0x70,0x70,0x07,0x70,0x70,0x07,0x38,0x70,0x07,0x38,0x70,0x07,0x1C,0x70,0x07,0x1C,0x70,0x07,0x0E,0x70,0x07,0x0E,0x70,0x07,0x06,0x70,0x07,0x07,0x70,0x07,0x07,0x70,0x07,0x03,0xF0,0x07,0x03,0xF0,0x07,0x01,0xF0,0x07,0x01,0xF0,0x07,0x00,0xF0,0x07,0x00,0xF0,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x1C,0x00,0xF0,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // O 0x00,0x00,0x00,0x07,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x03,0xC0,0x07,0x01,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x03,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x07,0xFC,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P 0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x1C,0x00,0xF0,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x38,0x00,0x00,0x3C,0x00,0x00,0x1F,0x00,0x00,0x0F,0xE0,0x00,0x07,0xE0,0x00,0x00,0xC0,0x00,0x00,0x00, // Q 0x00,0x00,0x00,0x0F,0xF8,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x00,0x0E,0x07,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x0F,0xFC,0x00,0x0E,0x1E,0x00,0x0E,0x0E,0x00,0x0E,0x07,0x00,0x0E,0x07,0x00,0x0E,0x03,0x80,0x0E,0x03,0x80,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xC0,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xE0,0x00,0x01,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0x80,0x00,0x0F,0xC0,0x00,0x03,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x04,0x01,0xE0,0x0F,0x03,0xC0,0x0F,0xFF,0xC0,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x1C,0x00,0x70,0x1C,0x00,0x70,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x87,0x80,0x01,0xC7,0x00,0x01,0xC7,0x00,0x01,0xC7,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x0E,0xC6,0xE0,0x0E,0xC6,0xE0,0x0E,0xC6,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x1E,0x00,0xF0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xEE,0x00,0x01,0xC7,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x1E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x1C,0x00,0x70,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0x83,0x80,0x03,0xC3,0x80,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x0F,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x01,0xE0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z 0x01,0xFF,0x00,0x01,0xFF,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xFF,0x00,0x01,0xFF,0x00, // [ 0x03,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0, // 0x00,0xFF,0x80,0x00,0xFF,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0xFF,0x80,0x00,0xFF,0x80, // ] 0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x01,0xC7,0x00,0x01,0xC7,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x02,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x01,0xC7,0x00,0x01,0x83,0x00,0x01,0x83,0x00,0x01,0x83,0x00,0x01,0xC7,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x01,0xFF,0x80,0x01,0xFF,0xC0,0x01,0x83,0xE0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x7F,0xE0,0x01,0xFF,0xE0,0x03,0xFF,0xE0,0x07,0xC0,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x7E,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x07,0x01,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x07,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0xFF,0xE0,0x03,0xFF,0xE0,0x03,0xE0,0x40,0x07,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xE0,0x60,0x03,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x7E,0xE0,0x00,0xFF,0xE0,0x01,0xFF,0xE0,0x03,0xC1,0xE0,0x03,0x80,0xE0,0x07,0x80,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x80,0xE0,0x03,0xE0,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xC3,0xC0,0x07,0x01,0xC0,0x07,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xC0,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x0F,0xC0,0x00,0x3F,0xF0,0x00,0x7F,0xF0,0x00,0x78,0x30,0x00,0xF0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x07,0x81,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0xFD,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x06,0x07,0x80,0x07,0xFF,0x80,0x07,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00, // g 0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x07,0x80,0x07,0x03,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h 0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x78,0x20,0x00,0x3F,0xE0,0x00,0x3F,0xE0,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i 0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0xFF,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x06,0x0F,0x00,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x03,0xF8,0x00, // j 0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x01,0xE0,0x07,0x03,0xC0,0x07,0x07,0x80,0x07,0x0F,0x00,0x07,0x1E,0x00,0x07,0x3C,0x00,0x07,0x78,0x00,0x07,0xF0,0x00,0x07,0xE0,0x00,0x07,0xF0,0x00,0x07,0x78,0x00,0x07,0x1C,0x00,0x07,0x0F,0x00,0x07,0x07,0x00,0x07,0x03,0x80,0x07,0x03,0xC0,0x07,0x01,0xE0,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k 0x07,0xF8,0x00,0x07,0xF8,0x00,0x07,0xF8,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x3C,0x10,0x00,0x1F,0xF0,0x00,0x1F,0xF0,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE3,0xC0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x3C,0xF0,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x03,0xFF,0x80,0x03,0xFF,0xC0,0x03,0x83,0xC0,0x03,0x81,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x07,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x07,0x7C,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00, // p 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x01,0xFF,0xE0,0x03,0xE0,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x80,0xE0,0x03,0xC1,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3E,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0, // q 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x80,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x01,0xFF,0x80,0x03,0xFF,0x80,0x07,0x81,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xC0,0x00,0x03,0xF0,0x00,0x01,0xFE,0x00,0x00,0x7F,0x00,0x00,0x1F,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x06,0x03,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xF0,0x20,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x81,0xC0,0x03,0xC1,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x1E,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0xC7,0x00,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x10,0x70,0x0C,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x28,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x06,0x44,0xC0,0x06,0xC6,0xC0,0x06,0xC7,0xC0,0x07,0x87,0xC0,0x07,0x83,0xC0,0x07,0x83,0x80,0x03,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x01,0xE0,0x0F,0x03,0xC0,0x07,0x03,0x80,0x03,0x87,0x80,0x03,0xCF,0x00,0x01,0xEE,0x00,0x00,0xFC,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x01,0xEE,0x00,0x01,0xC7,0x00,0x03,0xC3,0x80,0x07,0x83,0xC0,0x0F,0x01,0xC0,0x0E,0x01,0xE0,0x1E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x0F,0x00,0xF0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x81,0xE0,0x03,0x81,0xC0,0x03,0xC1,0xC0,0x01,0xC3,0xC0,0x01,0xC3,0x80,0x01,0xE3,0x80,0x00,0xE7,0x80,0x00,0xF7,0x80,0x00,0x77,0x00,0x00,0x7F,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x0F,0xC0,0x00, // y 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x78,0x00,0x00,0xF0,0x00,0x00,0xE0,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x7F,0x80,0x00,0x1F,0x80, // { 0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00, // | 0x00,0xFC,0x00,0x00,0xFF,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0xFF,0x00,0x00,0xFC,0x00, // } 0x00,0x00,0x00,0x01,0xE0,0x20,0x03,0xF0,0x30,0x07,0xFC,0x70,0x0E,0x3F,0xE0,0x0C,0x0F,0xC0,0x04,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ }; sFONT FontUB = { FontUB_Table, 24, // Width 32, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: fontubb.c ================================================ // Ubuntu bold 24x32 // Font type : Full (95 characters) #include "fonts.h" const uint8_t FontUBB_Table [] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! 0x00,0x00,0x00,0x03,0xC1,0xE0,0x07,0xE3,0xF0,0x07,0xE3,0xF0,0x07,0xE3,0xF0,0x03,0xE1,0xF0,0x00,0xE0,0x70,0x01,0xC0,0xE0,0x07,0xC1,0xE0,0x1F,0x8F,0xC0,0x1F,0x07,0x80,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xF0,0x00,0x78,0xF0,0x00,0x78,0xF0,0x00,0xF1,0xE0,0x00,0xF1,0xE0,0x00,0xF1,0xE0,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x01,0xE3,0xC0,0x01,0xE3,0xC0,0x01,0xE3,0xC0,0x01,0xE3,0xC0,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x03,0xC7,0x80,0x03,0xC7,0x80,0x03,0xC7,0x80,0x07,0x8F,0x00,0x07,0x8F,0x00,0x07,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # 0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0xFF,0xC0,0x03,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xC0,0x0F,0xC0,0xC0,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xE0,0x00,0x07,0xFC,0x00,0x07,0xFF,0x00,0x01,0xFF,0xC0,0x00,0xFF,0xE0,0x00,0x1F,0xE0,0x00,0x03,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x08,0x01,0xF0,0x0E,0x03,0xF0,0x0F,0xFF,0xE0,0x1F,0xFF,0xE0,0x1F,0xFF,0xC0,0x03,0xFF,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00, // $ 0x00,0x00,0x00,0x0F,0x80,0x70,0x1F,0xC0,0xE0,0x1F,0xC1,0xC0,0x39,0xE1,0xC0,0x38,0xE3,0x80,0x38,0xE3,0x80,0x38,0xE7,0x00,0x39,0xEE,0x00,0x1F,0xCE,0x00,0x1F,0xDC,0x00,0x0F,0xB8,0x00,0x00,0x38,0x00,0x00,0x73,0xE0,0x00,0x77,0xF0,0x00,0xE7,0xF0,0x01,0xCF,0x78,0x01,0xCE,0x38,0x03,0x8E,0x38,0x07,0x0E,0x38,0x07,0x0E,0x38,0x0E,0x0F,0x78,0x0E,0x07,0xF0,0x1C,0x07,0xF0,0x38,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0xFF,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x03,0xC7,0x80,0x03,0xC7,0x80,0x03,0xC7,0x80,0x03,0xCF,0x80,0x03,0xEF,0x00,0x01,0xFE,0x00,0x01,0xFE,0x00,0x01,0xF8,0x70,0x03,0xFC,0x70,0x07,0xFE,0x70,0x07,0xBF,0x70,0x0F,0x1F,0xF0,0x0F,0x0F,0xF0,0x0F,0x07,0xE0,0x0F,0x03,0xE0,0x0F,0x87,0xF0,0x07,0xFF,0xF0,0x07,0xFF,0xF8,0x03,0xFF,0x78,0x00,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & 0x00,0x10,0x00,0x00,0x38,0x00,0x00,0x3E,0x00,0x00,0x7F,0x00,0x00,0x1F,0x80,0x00,0x0F,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x07,0x80,0x00,0x0F,0xC0,0x00,0x1F,0x80,0x00,0x3F,0x00,0x00,0x7E,0x00,0x00,0x7C,0x00,0x00,0xFC,0x00,0x00,0xF8,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x7C,0x00,0x00,0x7E,0x00,0x00,0x3F,0x00,0x00,0x1F,0x80,0x00,0x0F,0xC0,0x00,0x07,0x80,0x00,0x01,0x00, // ( 0x00,0xE0,0x00,0x01,0xF8,0x00,0x00,0xFC,0x00,0x00,0x7E,0x00,0x00,0x3F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x80,0x00,0x0F,0x80,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x3F,0x00,0x00,0x7E,0x00,0x00,0xFC,0x00,0x01,0xF8,0x00,0x00,0xF0,0x00,0x00,0x40,0x00, // ) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x1E,0x00,0x00,0x1E,0x00,0x03,0x1E,0x30,0x03,0xDC,0xF0,0x03,0xED,0xF0,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x00,0x3F,0x00,0x00,0x7F,0x80,0x00,0xFF,0xC0,0x00,0xF3,0xC0,0x01,0xF3,0xE0,0x00,0xF3,0x80,0x00,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x1F,0x00,0x00,0x3F,0x80,0x00,0x3F,0x80,0x00,0x3F,0x80,0x00,0x1F,0x80,0x00,0x0F,0x80,0x00,0x07,0x00,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x7E,0x00,0x00,0x78,0x00,0x00,0x70,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x80,0x01,0xFF,0x80,0x01,0xFF,0x80,0x01,0xFF,0x80,0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x7F,0x00,0x00,0x7F,0x00,0x00,0x7F,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x03,0xE0,0x00,0x07,0xE0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x3F,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x7E,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0xFC,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x03,0xF0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xE0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00, // / 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xFF,0xC0,0x0F,0x87,0xC0,0x0F,0x03,0xE0,0x0F,0x03,0xE0,0x1E,0x01,0xE0,0x1E,0x01,0xE0,0x1E,0x31,0xF0,0x1E,0x79,0xF0,0x1E,0x79,0xF0,0x1E,0x79,0xF0,0x1E,0x31,0xF0,0x1E,0x01,0xF0,0x1E,0x01,0xE0,0x1E,0x01,0xE0,0x0F,0x03,0xE0,0x0F,0x03,0xE0,0x0F,0x87,0xC0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x3E,0x00,0x00,0x7E,0x00,0x01,0xFE,0x00,0x07,0xFE,0x00,0x0F,0xFE,0x00,0x07,0xFE,0x00,0x07,0xBE,0x00,0x06,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x07,0xFF,0x00,0x0F,0xFF,0x80,0x1F,0xFF,0xC0,0x0F,0x07,0xE0,0x04,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xC0,0x00,0x0F,0xC0,0x00,0x1F,0x80,0x00,0x3F,0x00,0x00,0x7E,0x00,0x00,0xFC,0x00,0x01,0xF8,0x00,0x03,0xE0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x07,0xFF,0x00,0x0F,0xFF,0x80,0x07,0xFF,0x80,0x07,0x0F,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x01,0xFF,0x80,0x01,0xFE,0x00,0x01,0xFF,0x80,0x01,0xFF,0xC0,0x00,0x0F,0xC0,0x00,0x07,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xE0,0x06,0x0F,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x0F,0xC0,0x00,0x1F,0xC0,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x7F,0xC0,0x00,0xF7,0xC0,0x01,0xF7,0xC0,0x01,0xE7,0xC0,0x03,0xC7,0xC0,0x07,0xC7,0xC0,0x07,0x87,0xC0,0x0F,0x07,0xC0,0x1F,0x07,0xC0,0x1F,0xFF,0xF8,0x1F,0xFF,0xF8,0x1F,0xFF,0xF8,0x1F,0xFF,0xF8,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xC0,0x00,0x03,0xC0,0x00,0x03,0xC0,0x00,0x07,0xC0,0x00,0x07,0xF8,0x00,0x07,0xFE,0x00,0x07,0xFF,0x80,0x07,0xFF,0xC0,0x00,0x3F,0xC0,0x00,0x07,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xE0,0x0C,0x0F,0xC0,0x0F,0xFF,0xC0,0x1F,0xFF,0x80,0x1F,0xFF,0x00,0x07,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xC0,0x00,0x7F,0xC0,0x00,0xFF,0xC0,0x01,0xFC,0x00,0x03,0xF0,0x00,0x03,0xE0,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x07,0xFF,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x07,0xC3,0xE0,0x07,0xC7,0xC0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x03,0xE0,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x0F,0x80,0x00,0x0F,0x00,0x00,0x1F,0x00,0x00,0x1E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x03,0xFF,0x80,0x07,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x83,0xE0,0x0F,0x01,0xE0,0x0F,0x01,0xE0,0x0F,0x01,0xE0,0x0F,0x83,0xC0,0x0F,0xE7,0xC0,0x07,0xFF,0x80,0x01,0xFF,0x00,0x07,0xFF,0x80,0x0F,0x9F,0xC0,0x0F,0x03,0xE0,0x1E,0x01,0xF0,0x1E,0x00,0xF0,0x1E,0x00,0xF0,0x1E,0x00,0xF0,0x1F,0x83,0xF0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x03,0xFF,0x80,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xFF,0xC0,0x07,0xC7,0xC0,0x0F,0x83,0xE0,0x0F,0x81,0xE0,0x0F,0x81,0xE0,0x0F,0x81,0xE0,0x0F,0x81,0xE0,0x0F,0xC1,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00,0x7F,0x00,0x07,0xFE,0x00,0x07,0xFC,0x00,0x07,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7E,0x00,0x00,0x3E,0x00,0x00,0x0C,0x00,0x00,0x1C,0x00,0x00,0x78,0x00,0x01,0xF8,0x00,0x01,0xE0,0x00,0x01,0xC0,0x00,0x00,0x00,0x00, // ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x01,0xE0,0x00,0x0F,0xF0,0x00,0x3F,0xF0,0x01,0xFF,0xE0,0x07,0xFF,0x00,0x0F,0xF8,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0xF8,0x00,0x07,0xFF,0x00,0x01,0xFF,0xE0,0x00,0x3F,0xF0,0x00,0x0F,0xF0,0x00,0x01,0xE0,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x07,0x80,0x00,0x07,0xE0,0x00,0x0F,0xF8,0x00,0x07,0xFE,0x00,0x01,0xFF,0x80,0x00,0x7F,0xE0,0x00,0x0F,0xE0,0x00,0x03,0xE0,0x00,0x0F,0xE0,0x00,0x7F,0xE0,0x01,0xFF,0x80,0x07,0xFE,0x00,0x0F,0xF8,0x00,0x07,0xE0,0x00,0x07,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > 0x0F,0x80,0x00,0x00,0x7E,0x00,0x03,0xFF,0x80,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0x87,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xE0,0x00,0x0F,0xC0,0x00,0x0F,0x80,0x00,0x1F,0x80,0x00,0x1F,0x00,0x00,0x3E,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? 0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0xFF,0x80,0x03,0xFF,0xC0,0x03,0xC3,0xE0,0x07,0x01,0xE0,0x07,0x00,0xF0,0x0E,0x00,0xF0,0x0E,0x0F,0xF0,0x0E,0x1F,0xF0,0x1C,0x3F,0xF0,0x1C,0x3F,0xF0,0x1C,0x7C,0xF0,0x1C,0x78,0xF0,0x1C,0x78,0xF0,0x1C,0x78,0xF0,0x1C,0x78,0xF0,0x1C,0x78,0xF0,0x1C,0x78,0xF0,0x1C,0x7C,0xF0,0x1E,0x3F,0xF0,0x0E,0x3F,0xF0,0x0E,0x1F,0xF0,0x0F,0x07,0xE0,0x07,0xC0,0x00,0x07,0xC0,0x00,0x03,0xE0,0x20,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, // @ 0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFF,0x00,0x01,0xEF,0x00,0x01,0xEF,0x00,0x01,0xEF,0x80,0x03,0xE7,0x80,0x03,0xC7,0x80,0x03,0xC7,0xC0,0x07,0xC7,0xC0,0x07,0xC3,0xC0,0x07,0x83,0xC0,0x07,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x3F,0x00,0xF8,0x3E,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x87,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x0F,0xFF,0xC0,0x0F,0xFF,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x83,0xF0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x07,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B 0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x01,0xFF,0xF0,0x03,0xFF,0xF0,0x07,0xE0,0xE0,0x0F,0xC0,0x20,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xC0,0x20,0x07,0xE0,0x60,0x07,0xFF,0xF0,0x03,0xFF,0xF0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // C 0x00,0x00,0x00,0x0F,0xF8,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0x8F,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x87,0xE0,0x0F,0x8F,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFE,0x00,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D 0x00,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E 0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F 0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0xFF,0xF0,0x01,0xFF,0xE0,0x03,0xFF,0xE0,0x07,0xF0,0x60,0x0F,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0xC1,0xF0,0x07,0xE1,0xF0,0x07,0xFF,0xF0,0x03,0xFF,0xF0,0x01,0xFF,0xF0,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G 0x00,0x00,0x00,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H 0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I 0x00,0x00,0x00,0x03,0xFF,0xE0,0x03,0xFF,0xE0,0x03,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x07,0xE0,0x07,0x0F,0xC0,0x07,0xFF,0xC0,0x0F,0xFF,0x80,0x07,0xFF,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J 0x00,0x00,0x00,0x0F,0x81,0xF0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x87,0xC0,0x0F,0x8F,0xC0,0x0F,0x8F,0x80,0x0F,0x9F,0x00,0x0F,0xBF,0x00,0x0F,0xFE,0x00,0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x00,0x0F,0xBF,0x80,0x0F,0x9F,0x80,0x0F,0x8F,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x80,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K 0x00,0x00,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L 0x00,0x00,0x00,0x07,0x80,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xE3,0xF0,0x07,0xE3,0xF0,0x07,0xE3,0xF0,0x07,0x77,0x70,0x07,0x77,0x70,0x07,0x77,0x70,0x07,0x7F,0x70,0x07,0x3E,0x70,0x0F,0x3E,0x78,0x0F,0x3E,0x78,0x0F,0xBE,0x78,0x0F,0x9C,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M 0x00,0x00,0x00,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xE1,0xF0,0x07,0xE1,0xF0,0x07,0xE1,0xF0,0x07,0xF1,0xF0,0x07,0xF1,0xF0,0x07,0xF9,0xF0,0x07,0xF9,0xF0,0x07,0xF9,0xF0,0x07,0xDD,0xF0,0x07,0xDD,0xF0,0x07,0xCF,0xF0,0x07,0xCF,0xF0,0x07,0xCF,0xF0,0x07,0xC7,0xF0,0x07,0xC7,0xF0,0x07,0xC7,0xF0,0x07,0xC3,0xF0,0x07,0xC3,0xF0,0x07,0xC3,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N 0x00,0x00,0x00,0x00,0x7E,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xFF,0xC0,0x0F,0xC7,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xC7,0xE0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // O 0x00,0x00,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xE0,0x0F,0x87,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x83,0xF0,0x0F,0x87,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFE,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P 0x00,0x00,0x00,0x00,0x7E,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xFF,0xC0,0x0F,0xC7,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xC7,0xE0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x3F,0x80,0x00,0x3F,0xF0,0x00,0x1F,0xE0,0x00,0x07,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00, // Q 0x00,0x00,0x00,0x0F,0xFC,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0x8F,0xC0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x8F,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x0F,0x9F,0x00,0x0F,0x9F,0x00,0x0F,0x8F,0x80,0x0F,0x8F,0xC0,0x0F,0x87,0xC0,0x0F,0x83,0xC0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x81,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R 0x00,0x00,0x00,0x00,0xFF,0x00,0x03,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0x80,0x0F,0xC0,0x80,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xC0,0x00,0x0F,0xF0,0x00,0x07,0xFE,0x00,0x03,0xFF,0x00,0x01,0xFF,0x80,0x00,0x7F,0xC0,0x00,0x0F,0xE0,0x00,0x07,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x04,0x03,0xE0,0x07,0x07,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S 0x00,0x00,0x00,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T 0x00,0x00,0x00,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x83,0xF0,0x0F,0x83,0xE0,0x0F,0xFF,0xE0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // U 0x00,0x00,0x00,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x01,0xE0,0x0F,0x01,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x07,0x83,0xC0,0x07,0x83,0xC0,0x07,0x83,0xC0,0x07,0x83,0xC0,0x03,0xC7,0x80,0x03,0xC7,0x80,0x03,0xC7,0x80,0x03,0xC7,0x80,0x01,0xEF,0x00,0x01,0xEF,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V 0x00,0x00,0x00,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1E,0x39,0xF0,0x1E,0x39,0xF0,0x1E,0x7C,0xF0,0x1E,0x7C,0xF0,0x1E,0x7C,0xF0,0x0E,0xEC,0xE0,0x0E,0xEE,0xE0,0x0E,0xEE,0xE0,0x0E,0xCE,0xE0,0x0F,0xC7,0xE0,0x0F,0xC7,0xE0,0x0F,0xC7,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W 0x00,0x00,0x00,0x1F,0x01,0xF8,0x0F,0x01,0xF0,0x0F,0x83,0xE0,0x07,0x83,0xE0,0x07,0xC7,0xC0,0x03,0xC7,0xC0,0x03,0xEF,0x80,0x01,0xEF,0x00,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFF,0x00,0x01,0xFF,0x00,0x03,0xEF,0x80,0x03,0xEF,0x80,0x07,0xC7,0xC0,0x07,0xC7,0xC0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x3E,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X 0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x07,0x83,0xC0,0x07,0xC7,0xC0,0x03,0xC7,0x80,0x03,0xEF,0x80,0x01,0xEF,0x00,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y 0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x3E,0x00,0x00,0x3C,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0xF8,0x00,0x01,0xF0,0x00,0x01,0xE0,0x00,0x03,0xE0,0x00,0x03,0xC0,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z 0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0, // [ 0x03,0xE0,0x00,0x03,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x00,0xF8, // 0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0, // ] 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x01,0xFF,0x00,0x03,0xEF,0x80,0x03,0xEF,0x80,0x07,0xC7,0xC0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x02,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ 0x00,0x3C,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x01,0xE7,0x80,0x01,0xC3,0x80,0x01,0xC3,0x80,0x01,0xE7,0x80,0x01,0xFF,0x00,0x00,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x01,0xFF,0xC0,0x01,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x03,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x7F,0xF0,0x01,0xFF,0xF0,0x03,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xE1,0xF0,0x07,0xFF,0xF0,0x03,0xFF,0xF0,0x01,0xFF,0xF0,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a 0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xE0,0x0F,0xC7,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x83,0xE0,0x0F,0x87,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x03,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x01,0xFF,0xE0,0x03,0xFF,0xE0,0x07,0xFF,0xC0,0x0F,0xE0,0x40,0x0F,0x80,0x00,0x1F,0x80,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xE0,0x00,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c 0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x00,0xFF,0xE0,0x01,0xFF,0xE0,0x03,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xC7,0xE0,0x0F,0xC3,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xC3,0xE0,0x07,0xE3,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x01,0xFF,0x80,0x03,0xFF,0xC0,0x07,0xFF,0xE0,0x0F,0xC3,0xE0,0x0F,0x81,0xF0,0x1F,0x01,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0x00,0x00,0x0F,0x80,0x00,0x0F,0xC0,0x40,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e 0x00,0x1F,0xE0,0x00,0x7F,0xF8,0x00,0xFF,0xF8,0x00,0xFF,0xF0,0x01,0xF8,0x10,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x1F,0xFF,0xE0,0x1F,0xFF,0xE0,0x1F,0xFF,0xE0,0x1F,0xFF,0xE0,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x03,0xFF,0xE0,0x07,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xC3,0xE0,0x1F,0x83,0xE0,0x1F,0x03,0xE0,0x1F,0x03,0xE0,0x1F,0x03,0xE0,0x1F,0x03,0xE0,0x1F,0x03,0xE0,0x1F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xFF,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x03,0xE0,0x00,0x03,0xE0,0x0C,0x07,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00, // g 0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h 0x00,0xF0,0x00,0x01,0xF8,0x00,0x01,0xF8,0x00,0x01,0xF8,0x00,0x01,0xF8,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x1F,0xF8,0x00,0x1F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xFC,0x20,0x00,0x7F,0xE0,0x00,0x7F,0xF0,0x00,0x3F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i 0x00,0x07,0x80,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x02,0x0F,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x80,0x0F,0xFF,0x00,0x01,0xFC,0x00, // j 0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x83,0xF0,0x0F,0x87,0xE0,0x0F,0x87,0xC0,0x0F,0x8F,0x80,0x0F,0x9F,0x00,0x0F,0xBE,0x00,0x0F,0xFC,0x00,0x0F,0xF8,0x00,0x0F,0xF8,0x00,0x0F,0xFC,0x00,0x0F,0xFE,0x00,0x0F,0x9F,0x00,0x0F,0x8F,0x80,0x0F,0x87,0xC0,0x0F,0x87,0xE0,0x0F,0x83,0xE0,0x0F,0x81,0xF0,0x0F,0x81,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k 0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x0F,0xFC,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7E,0x10,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF3,0xE0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF0,0x0F,0xFF,0xF8,0x0F,0x3C,0xF8,0x0F,0x3C,0x78,0x0F,0x3C,0x78,0x0F,0x3C,0x78,0x0F,0x3C,0x78,0x0F,0x3C,0x78,0x0F,0x3C,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x0F,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xC3,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x01,0xFF,0x80,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x0F,0xC7,0xE0,0x0F,0x83,0xE0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xF0,0x0F,0x83,0xE0,0x0F,0xC7,0xE0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x01,0xFF,0x80,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFE,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0xFF,0xE0,0x0F,0x87,0xE0,0x0F,0x83,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x83,0xF0,0x0F,0x87,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00, // p 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x01,0xFF,0xF0,0x03,0xFF,0xF0,0x07,0xFF,0xF0,0x07,0xE1,0xF0,0x07,0xC1,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0x81,0xF0,0x0F,0xC1,0xF0,0x07,0xE3,0xF0,0x07,0xFF,0xF0,0x03,0xFF,0xF0,0x01,0xFF,0xF0,0x00,0xFF,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0, // q 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xC0,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x03,0xFF,0xC0,0x07,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0x81,0x80,0x0F,0x80,0x00,0x0F,0xC0,0x00,0x07,0xF8,0x00,0x07,0xFF,0x00,0x01,0xFF,0x80,0x00,0x3F,0xC0,0x00,0x07,0xE0,0x00,0x03,0xE0,0x06,0x03,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xC0,0x0F,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // s 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF0,0x00,0x01,0xF8,0x20,0x01,0xFF,0xF0,0x00,0xFF,0xF0,0x00,0x7F,0xF0,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0xC3,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x01,0xF0,0x1F,0x01,0xF0,0x1F,0x01,0xE0,0x0F,0x03,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xC0,0x07,0x87,0xC0,0x07,0x87,0xC0,0x07,0xC7,0x80,0x03,0xCF,0x80,0x03,0xCF,0x00,0x03,0xFF,0x00,0x01,0xFF,0x00,0x01,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFC,0x00,0x00,0xFC,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x78,0x3C,0x00,0x78,0x3C,0x00,0x78,0x3C,0x00,0x78,0x3C,0x38,0x78,0x1C,0x3C,0x70,0x1C,0x7C,0x70,0x1C,0x7C,0x70,0x1C,0x7E,0xF0,0x1E,0xFE,0xF0,0x1E,0xEE,0xF0,0x1E,0xEE,0xF0,0x0F,0xEF,0xE0,0x0F,0xC7,0xE0,0x0F,0xC7,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xC0,0x07,0x83,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x01,0xF0,0x0F,0x83,0xE0,0x07,0x87,0xC0,0x07,0xC7,0xC0,0x03,0xEF,0x80,0x01,0xEF,0x00,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x01,0xFF,0x00,0x03,0xEF,0x80,0x03,0xCF,0x80,0x07,0x87,0xC0,0x0F,0x83,0xE0,0x0F,0x03,0xE0,0x1F,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0xF8,0x0F,0x80,0xF8,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x07,0xC1,0xF0,0x03,0xE1,0xE0,0x03,0xE3,0xE0,0x03,0xE3,0xE0,0x01,0xE3,0xC0,0x01,0xF3,0xC0,0x01,0xF7,0xC0,0x00,0xFF,0x80,0x00,0xFF,0x80,0x00,0x7F,0x80,0x00,0x7F,0x00,0x00,0x3F,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x04,0x7C,0x00,0x07,0xFC,0x00,0x0F,0xF8,0x00,0x0F,0xF0,0x00,0x07,0xC0,0x00, // y 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x0F,0x80,0x00,0x1F,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x7C,0x00,0x00,0xF8,0x00,0x00,0xF0,0x00,0x01,0xF0,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z 0x00,0x1F,0xE0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0xFF,0xE0,0x00,0xFC,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x01,0xF8,0x00,0x0F,0xF0,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0xF0,0x00,0x01,0xF0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xFC,0x00,0x00,0xFF,0xE0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x1F,0xE0, // { 0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00, // | 0x03,0xFC,0x00,0x03,0xFF,0x00,0x03,0xFF,0x00,0x03,0xFF,0x80,0x00,0x1F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0xC0,0x00,0x07,0xF8,0x00,0x01,0xF8,0x00,0x01,0xF8,0x00,0x07,0xF8,0x00,0x07,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x1F,0x80,0x03,0xFF,0x80,0x03,0xFF,0x00,0x03,0xFF,0x00,0x03,0xFC,0x00, // } 0x00,0x00,0x00,0x03,0xC0,0x60,0x07,0xF0,0x78,0x0F,0xFC,0xF8,0x0F,0xFF,0xF0,0x1E,0x3F,0xF0,0x0E,0x0F,0xE0,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ }; sFONT FontUBB = { FontUBB_Table, 24, // Width 32, // Height 0x20, // First char ' ' 0x7E // Last char '~' }; ================================================ FILE: hmi.c ================================================ /* * hmi.c * * Created: Apr 2021 * Author: Arjan te Marvelde * * This file contains the HMI driver, processing user inputs. * It will also do the logic behind these, and write feedback to the LCD. * * *** MMI controls *** * * The 4 buttons have the following functions (GP_BTN_x): * 0 - Enter, confirm [V] : Used to select menu items or make choices from a list * 1 - Escape, cancel [X] : Used to exit a (sub)menu or cancel the current action * 2 - Left [<] : Used to move left, e.g. to select a digit * 3 - Right [>] : Used to move right, e.g. to select a digit * * The rotary encoder (ENCA, ENCB) controls an up/down counter connected to some field. * It may be that the encoder has a bushbutton as well, this can be connected to GP4. * ___ ___ * ___| |___| |___ A * ___ ___ _ * _| |___| |___| B * * Encoder channel A triggers on falling edge. * Depending on B level, count is incremented or decremented. * * The PTT is connected to GP_PTT_IN connects to Microphone PTT switch (active low). * A separate PTT output (GP_PTT_OUT) is used to signal other system components (active high). * * * *** Display layout *** * * TFT 320x240, divided in 4 areas: * +--------------------------+ * | v USB [||||||||||] | ---> Rx/Tx, Modulation, S-meter * | > 0dB PTT Slow | ---> Display main settings * | +----------------------+ | * | | 1 4 0 7 4 . 0 kHz| | ---> Frequency of carrier * | +----------------------+ | * | | \ * | | |-> Three menu lines: RF gain, Vox, AGC settings, etc. * | | / * | [V] [<] [>] [X] | ---> Button labels (Accept, Left, Right, Cancel) * +--------------------------+ * * In the hmi TUNE state only tuning is possible: * Left '<' and Right '>' buttons to select digit, active digit is highlighted * Encoder to change value, * Accept 'V' button to commit change. * * Use Cancel 'X' button to enter the hmi MENU state for parameter settings. * In parameter settings: * Encoder to change parameter value * Accept to accept the shown value * Left/Right to change parameter (if not accepted first, new value is discarded) * Cancel to exit parameter settings * * Parameter Values * ------------------------------------------ * Mode: USB, LSB, AM, CW * AGC: Fast, Slow, Off * Pre: +10dB, 0dB, -10dB, -20dB, -30dB * Vox: NoVOX, Low, Medium, High * * --to be extended-- */ #include #include #include "pico/stdlib.h" #include "hardware/timer.h" #include "hardware/clocks.h" #include "hardware/gpio.h" #include "uSDR.h" #include "lcd.h" #include "hmi.h" #include "dsp.h" #include "si5351.h" #include "relay.h" /* * Some macros */ #ifndef MIN #define MIN(x, y) ((x)<(y)?(x):(y)) // Get min value #endif #ifndef MAX #define MAX(x, y) ((x)>(y)?(x):(y)) // Get max value #endif /* * GPIO masks */ #define GP_MASK_IN ((1< (HMI_MINFREQ + hmi_step[hmi_digit_i])) // Boundary check hmi_freq -= hmi_step[hmi_digit_i]; // Decrement selected digit break; case HMI_E_RGT: hmi_digit_i = (hmi_digit_i<5)?hmi_digit_i+1:5; // Digit to the right break; case HMI_E_LFT: hmi_digit_i = (hmi_digit_i>0)?hmi_digit_i-1:0; // Digit to the left break; } }; // FSM : Handle events when in MOD state #define HMI_NMOD 4 char* hmi_d_mod[HMI_NMOD] = {"USB","LSB","AM ","CW "}; // MOD display strings int hmi_s_mod[HMI_NMOD] = {MODE_USB, MODE_LSB, MODE_AM, MODE_CW}; // MOD target setting in dsp.c void hmi_mod(int evt) { switch (evt) { case HMI_E_ACC: hmi_b_mod = hmi_i_mod; // Store value in backup dsp_setmode(hmi_s_mod[hmi_b_mod]); // and acivate. break; case HMI_E_CAN: hmi_digit_i = hmi_digit_b; // Leave MENU mode, restore tune digit case HMI_E_RGT: case HMI_E_LFT: hmi_i_mod = hmi_b_mod; // Restore backup value break; case HMI_E_INC: if (hmi_i_mod0) hmi_i_mod--; break; } }; // FSM : Handle events when in AGC state #define HMI_NAGC 3 char* hmi_d_agc[HMI_NAGC] = {"None","Slow","Fast"}; // AGC display strings int hmi_s_agc[HMI_NAGC] = {AGC_NONE, AGC_SLOW, AGC_FAST}; // AGC target setting in dsp.c void hmi_agc(int evt) { switch (evt) { case HMI_E_ACC: hmi_b_agc = hmi_i_agc; // Store value in backup dsp_setagc(hmi_s_agc[hmi_b_agc]); // and activate setting. break; case HMI_E_CAN: hmi_digit_i = hmi_digit_b; // Leave MENU mode, restore tune digit case HMI_E_RGT: case HMI_E_LFT: hmi_i_agc = hmi_b_agc; // Restore backup value break; case HMI_E_INC: if (hmi_i_agc0) hmi_i_agc--; break; } }; // FSM : Handle events when in PRE state #define HMI_NPRE 5 char* hmi_d_pre[HMI_NPRE] = {"-30dB","-20dB","-10dB"," 0dB","+10dB"}; // PRE level display strings int hmi_s_pre[HMI_NPRE] = {REL_ATT_30, REL_ATT_20, REL_ATT_10, REL_ATT_00, REL_PRE_10}; // PRE target setting in dsp.c void hmi_pre(int evt) { switch (evt) { case HMI_E_ACC: hmi_b_pre = hmi_i_pre; // Exit with change: store value in backup relay_setattn(hmi_s_pre[hmi_b_pre]); // and activate. break; case HMI_E_CAN: hmi_digit_i = hmi_digit_b; // Leave MENU mode, restore tune digit case HMI_E_RGT: case HMI_E_LFT: hmi_i_pre = hmi_b_pre; // Exit without change: restore backup value break; case HMI_E_INC: if (hmi_i_pre0) hmi_i_pre--; break; } }; // FSM : Handle events when in VOX state #define HMI_NVOX 4 char* hmi_d_vox[HMI_NVOX] = {"None","Low","Medium","High"}; // VOX level display strings int hmi_s_vox[HMI_NVOX] = {VOX_OFF, VOX_LOW, VOX_MEDIUM, VOX_HIGH}; // VOX target setting in dsp.c void hmi_vox(int evt) { switch (evt) { case HMI_E_ACC: hmi_b_vox = hmi_i_vox; // Exit with change: store value in backup dsp_setvox(hmi_s_vox[hmi_b_vox]); // and activate. break; case HMI_E_CAN: hmi_digit_i = hmi_digit_b; // Leave MENU mode, restore tune digit case HMI_E_RGT: case HMI_E_LFT: hmi_i_vox = hmi_b_vox; // Exit without change: restore backup value break; case HMI_E_INC: if (hmi_i_vox0) hmi_i_vox--; break; } }; // Statemachine definition fsm_t hmi_fsm[HMI_NEVENTS][HMI_NSTATES] = { /* { TUN },{ MOD },{ AGC },{ PRE },{ VOX } */ /*INC*/ {{hmi_tun,HMI_S_TUN},{hmi_mod,HMI_S_MOD},{hmi_agc,HMI_S_AGC},{hmi_pre,HMI_S_PRE},{hmi_vox,HMI_S_VOX}}, /*DEC*/ {{hmi_tun,HMI_S_TUN},{hmi_mod,HMI_S_MOD},{hmi_agc,HMI_S_AGC},{hmi_pre,HMI_S_PRE},{hmi_vox,HMI_S_VOX}}, /*ACC*/ {{hmi_tun,HMI_S_TUN},{hmi_mod,HMI_S_MOD},{hmi_agc,HMI_S_AGC},{hmi_pre,HMI_S_PRE},{hmi_vox,HMI_S_VOX}}, /*LFT*/ {{hmi_tun,HMI_S_TUN},{hmi_mod,HMI_S_VOX},{hmi_agc,HMI_S_MOD},{hmi_pre,HMI_S_AGC},{hmi_vox,HMI_S_PRE}}, /*RGT*/ {{hmi_tun,HMI_S_TUN},{hmi_mod,HMI_S_AGC},{hmi_agc,HMI_S_PRE},{hmi_pre,HMI_S_VOX},{hmi_vox,HMI_S_MOD}}, /*CAN*/ {{hmi_tun,HMI_S_MOD},{hmi_mod,HMI_S_TUN},{hmi_agc,HMI_S_TUN},{hmi_pre,HMI_S_TUN},{hmi_vox,HMI_S_TUN}} }; // Determine event and invoke the HMI state machine uint32_t callcount; void hmi_callback(uint gpio, uint32_t events) { callcount++; // Determine the HMI event if (!((1< 0?LBLUE:HMI_BGND)); lcd_clear( 228, 11, 4, 16, (sval> 1?LBLUE:HMI_BGND)); lcd_clear( 234, 11, 4, 16, (sval> 2?LBLUE:HMI_BGND)); lcd_clear( 240, 11, 4, 16, (sval> 3?LGREEN:HMI_BGND)); lcd_clear( 246, 11, 4, 16, (sval> 4?LGREEN:HMI_BGND)); lcd_clear( 252, 11, 4, 16, (sval> 5?LGREEN:HMI_BGND)); lcd_clear( 258, 11, 4, 16, (sval> 6?YELLOW:HMI_BGND)); lcd_clear( 264, 11, 4, 16, (sval> 7?YELLOW:HMI_BGND)); lcd_clear( 270, 11, 4, 16, (sval> 8?YELLOW:HMI_BGND)); lcd_clear( 276, 11, 4, 16, (sval>90?ORANGE:HMI_BGND)); lcd_clear( 282, 11, 4, 16, (sval>91?ORANGE:HMI_BGND)); lcd_clear( 288, 11, 4, 16, (sval>92?ORANGE:HMI_BGND)); lcd_clear( 294, 11, 4, 16, (sval>93?ORANGE:HMI_BGND)); // Second topline } // Print frequency window, 1 row 7 Segment 32x50 // Highlight digit only when in TUNE mode void hmi_frequency(double freq, int dig) { sFONT *f7 = &Font7SPP; sFONT *fb = &FontGR; char s[32]; int i; sprintf(s,"%7.1f",(double)freq/1000.0); // Format is important: 12345.6 s[7] = 0; // Terminate to be sure for(i=0; i<7; i++) if (s[i]==0x20) s[i] = 0x2f; // Replace spaces with correct font char for(i=0; i<5; i++) // Leading 5 digits { if (hmi_digit_i==i) lcd_putxy( 20+i*32,76,s[i], f7, HMI_HIGH, BLACK); else lcd_putxy( 20+i*32,76,s[i], f7, HMI_FREQ, BLACK); } lcd_putxy( 20+5*32,76,s[i++], f7, HMI_FREQ, BLACK); // Decimal point if (hmi_digit_i==5) // Final digit lcd_putxy( 20+6*32,76,s[6], f7, HMI_HIGH, BLACK); else lcd_putxy( 20+6*32,76,s[6], f7, HMI_FREQ, BLACK); lcd_writexy(250,96,"kHz", fb, HMI_FREQ, BLACK); // Units } // Print menu area, 3 rows Arial Rounded 16x24 void hmi_menu() { sFONT *fs = &FontAR; // 16x24 char s[18]; // Max 17 characters of 16 pix width // Prints current menu selection for the active parameter // lcd_clear( 0, 130, LCD_WIDTH, 76, HMI_BGND); s[17] = 0; // Terminate string switch (hmi_state) { case HMI_S_TUN: lcd_writexy( 20, 180 ," " , fs, HMI_TEXT, HMI_BGND); break; case HMI_S_MOD: lcd_writexy( 20, 180 ,"Mode: " , fs, HMI_TEXT, HMI_BGND); // 6 leading characters sprintf(s, "%-11.11s", hmi_d_mod[hmi_i_mod]); // Left aligned, field width 11, max chars 11 lcd_writexy( 20+6*16, 180 ,s , fs, HMI_HIGH, HMI_BGND); break; case HMI_S_AGC: lcd_writexy( 20, 180 ,"AGC: " , fs, HMI_TEXT, HMI_BGND); // 5 leading characters sprintf(s, "%-12.12s", hmi_d_agc[hmi_i_agc]); // Left aligned, field width 12, max chars 12 lcd_writexy( 20+5*16, 180 ,s , fs, HMI_HIGH, HMI_BGND); break; case HMI_S_PRE: lcd_writexy( 20, 180 ,"Gain: " , fs, HMI_TEXT, HMI_BGND); // 6 leading characters sprintf(s, "%-11.11s", hmi_d_pre[hmi_i_pre]); // Left aligned, field width 11, max chars 11 lcd_writexy( 20+6*16, 180 ,s , fs, HMI_HIGH, HMI_BGND); break; case HMI_S_VOX: lcd_writexy( 20, 180 ,"Vox: " , fs, HMI_TEXT, HMI_BGND); // 5 leading characters sprintf(s, "%-12.12s", hmi_d_vox[hmi_i_vox]); // Left aligned, field width 12, max chars 12 lcd_writexy( 20+5*16, 180 ,s , fs, HMI_HIGH, HMI_BGND); break; } } /*********************************************************************************************************************/ /*** HMI evaluation routine ***/ /*********************************************************************************************************************/ /* * This core routine is called on a regular basis from the main loop. * - Test PTT state * - Redraw the display, representing the current state. * - If a parameter was changed by HMI, activate it in system */ #define PTT_DEBOUNCE 3 // Nr of cycles for debounce int ptt_state; // Debounce counter bool ptt_active; // Resulting state void hmi_evaluate(void) { int hmi_i_bpf; // PTT detect and debounce if (gpio_get(GP_PTT_IN)) // Get PTT level { if (ptt_state0) // Decrement debounce counter when low ptt_state--; } if (ptt_state == PTT_DEBOUNCE) // Reset PTT when debounced level high ptt_active = false; if (ptt_state == 0) // Set PTT active when debounced level low ptt_active = true; // Redraw display, assuming layout is not changed hmi_topline( ); hmi_frequency( hmi_freq, hmi_digit_i); hmi_menu( ); // Update frequency corresponding to latest entered values if (0 #include #include "pico/stdlib.h" #include "hardware/spi.h" #include "hardware/timer.h" #include "hardware/clocks.h" #include "uSDR.h" #include "lcd.h" #include "fonts.h" #define LCD_MASK_OUT ((1<(LCD_WIDTH-1))||(p>(LCD_HEIGHT-1))||(w>(LCD_WIDTH-c))||(h>(LCD_HEIGHT-p))) return(-1); // Set column start and end addresses x[0] = LCD_COLSET; // CASET x[1] = (c>>8); // Start column x[2] = (c&0xff); x[3] = ((c+w-1)>>8); // End column x[4] = ((c+w-1)&0xff); SPI_CMD(x); SPI_DAT(x+1, 4); // Set page start and end addresses x[0] = LCD_PAGSET; // PASET x[1] = (p>>8); // Start page x[2] = (p&0xff); x[3] = ((p+h-1)>>8); // End page x[4] = ((p+h-1)&0xff); SPI_CMD(x); SPI_DAT(x+1, 4); x[0] = LCD_MEMWR; // Point at window start address SPI_CMD(x); return(0); } /* * Clear window with specified colour */ int lcd_clear(uint16_t c, uint16_t p, uint16_t w, uint16_t h, uint16_t color) { uint32_t len; uint8_t x[2*LCD_WIDTH]; if (0>lcd_window(c, p, w, h)) return(-1); // Define window for (len=0; len<2*w; len+=2) // Define one display line { x[len] = color>>8; x[len+1] = color&0xff; } len = h; while (len-->0) // Fill window SPI_DAT(x, 2*w); return(0); } /* * Draw one character on the display * No range checks performed! */ int lcd_putxy(uint16_t x, uint16_t y, char c, sFONT* f, uint16_t fgc, uint16_t bgc) { uint8_t pix[FON_MAXPIX*2]; // Array containing all character pixels uint8_t *p, *q, m; uint32_t len; int i, j; /* Range check */ if ((cFirst) || (c>f->Last)) return(-1); /* Create window for character */ lcd_window(x, y, f->Width, f->Height); /* Define parameters */ len = (f->Width>>3); // Nr of horizontal font char bytes if (f->Width&0x7) len++; len = len*f->Height; // Total nr of font char bytes p = (uint8_t *)&(f->table[(c - f->First) * len]); // Point to first char byte in font table q = pix; // Point to first pixel byte /* Fill the pixel array (can be faster with n*8 Width) */ for (j=0; jHeight; j++) // For each line { m=0x80; // Initialize bitmask for new line for (i=0; iWidth; i++) // For each bit { if (*p & m) // Bit set? { *q++ = fgc>>8; // Set Foreground colour *q++ = fgc&0xff; // and low byte } else { *q++ = bgc>>8; // Set Background colour *q++ = bgc&0xff; // and low byte } if (m==0x01) // Last bit? { m = 0x80; // Reset mask p++; // Next byte } else { m >>= 1; // Shift mask } } if (m!=0x80) p++; // incomplete last byte } /* Transfer pixels */ len = f->Width*f->Height*2; // Actual number of pixel bytes SPI_DAT(pix, len); return(0); } /* * Draw a string of characters on display * String s must be null terminated * There is no range-check */ int lcd_writexy(uint16_t x, uint16_t y, char *s, sFONT* f, uint16_t fgc, uint16_t bgc) { char *pc; uint16_t xc; pc = s; xc = x; while (*pc != 0) { if (lcd_putxy(xc, y, *pc, f, fgc, bgc)<0) return(-1); xc += f->Width; pc++; } return(0); } /* * Initialize LCD interface and screen * Specific to ILI9143, code based on Waveshare 2.4" driver. * Correct settings found after much experimentation... */ void lcd_init(void) { uint8_t x[64]; uint8_t i; /* Init output GPIOs, spi is initialized in uSDR.c */ gpio_init_mask(LCD_MASK_OUT); gpio_set_dir_out_masked (LCD_MASK_OUT); gpio_set_drive_strength (LCD_DC, GPIO_DRIVE_STRENGTH_8MA); gpio_put(LCD_RST, 1); // Non reset state gpio_put(LCD_BL, 1); // Backlight off gpio_put(LCD_DC, 1); // Data transfer gpio_put(LCD_CS, 0); // Chip selected lcd_reset(); x[0] = LCD_SLPOFF; // Wake up chip SPI_CMD(x); /* Initialisation settings for Waveshare ILI9341 display */ /* As defined in ESP driver, need to experiment until it works... */ // 0xEF, 3, 0x03, 0x80, 0x02, x[0] = 0xEF; x[1] = 0x03; x[2] = 0x80; x[3] = 0x02; SPI_CMD(x); SPI_DAT(x+1, 3); // 0xCF, 3, 0x00, 0xC1, 0x30, x[0] = 0xCF; x[1] = 0x00; x[2] = 0xC1; x[3] = 0x30; SPI_CMD(x); SPI_DAT(x+1, 3); // 0xED, 4, 0x64, 0x03, 0x12, 0x81, x[0] = 0xED; x[1] = 0x64; x[2] = 0x03; x[3] = 0x12; x[4] = 0x81; SPI_CMD(x); SPI_DAT(x+1, 4); // 0xE8, 3, 0x85, 0x00, 0x78, x[0] = 0xE8; x[1] = 0x85; x[2] = 0x00; x[3] = 0x79; SPI_CMD(x); SPI_DAT(x+1, 3); // 0xCB, 5, 0x39, 0x2C, 0x00, 0x34, 0x02, x[0] = 0xCB; x[1] = 0x39; x[2] = 0x2C; x[3] = 0x00; x[4] = 0x34; x[5] = 0x02; SPI_CMD(x); SPI_DAT(x+1, 5); // 0xF7, 1, 0x20, x[0] = 0xF7; x[1] = 0x20; SPI_CMD(x); SPI_DAT(x+1, 1); // 0xEA, 2, 0x00, 0x00, x[0] = 0xEA; x[1] = 0x00; x[2] = 0x00; SPI_CMD(x); SPI_DAT(x+1, 2); // ILI9XXX_PWCTR1 , 1, 0x23, x[0] = LCD_PWCTL1; // 0xC0 Power control 1, x[1] = 0x1D; // 0x1D; VRH[5:0] SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_PWCTR2 , 1, 0x10, x[0] = LCD_PWCTL2; // 0xC1 Power control 2, x[1] = 0x12; // 0x12; SAP[2:0];BT[3:0] SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_VMCTR1 , 2, 0x3e, 0x28, x[0] = LCD_VCOMCTL1; // 0xC5 VCOM control 1 x[1] = 0x33; // 0x33; x[2] = 0x3F; // 0x3F; SPI_CMD(x); SPI_DAT(x+1, 2); // ILI9XXX_VMCTR2 , 1, 0x86, x[0] = LCD_VCOMCTL2; // 0xC7 VCOM control 2 x[1] = 0x82; // 0x92; SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_PIXFMT , 1, 0x55, x[0] = LCD_PIXFMT; // 0x3A Pixel format x[1] = 0x55; // 0x55; 16 bits per pixel, (def=0x66, 18bpp) SPI_CMD(x); SPI_DAT(x+1, 1); x[0] = LCD_IDLEOFF; // 0x38 Idle mode off SPI_CMD(x); // ILI9XXX_MADCTL , 1, 0x48, x[0] = LCD_MACTL; // 0x36 Memory Access Control x[1] = 0xE8; // 0xA0; MY, MX, MV, ML, BGR, MH, (def=0x00) SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_FRMCTR1 , 2, 0x00, 0x18, x[0] = LCD_FRMCTL1; // 0xB1 Frame control (normal mode) x[1] = 0x00; // 0x00; No clock divider, def=0x00 x[2] = 0x1B; // 0x12; Frame rate 106Hz, def=0x1B (70Hz) SPI_CMD(x); SPI_DAT(x+1, 2); // ILI9XXX_DFUNCTR , 3, 0x08, 0x82, 0x27, x[0] = LCD_DFUNCTL; // 0xB6 Display Function Control x[1] = 0x08; // 0x0A; def=0x0A () x[2] = 0x82; // 0xA2; def=0x82 () x[3] = 0x27; // none; SPI_CMD(x); SPI_DAT(x+1, 3); // x[0] = LCD_TEARSCANL; // Set tear scanline // x[1] = 0x02; // 0x02; // SPI_CMD(x); SPI_DAT(x+1, 1); // 0xF2, 1, 0x00, x[0] = 0xF2; // Gamma Function Disable x[1] = 0x00; // 0x00; SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_GAMMASET , 1, 0x01, x[0] = LCD_GAMMASET; // Gamma curve selected x[1] = 0x01; // 0x01; SPI_CMD(x); SPI_DAT(x+1, 1); // ILI9XXX_GMCTRP1 , 15, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E, 0xF1, // 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00, x[0] = LCD_PGAMCOR; // Positive gamma correction x[ 1] = 0x0F; x[ 2] = 0x31; x[ 3] = 0x2b; x[ 4] = 0x0c; x[ 5] = 0x0e; x[ 6] = 0x08; x[ 7] = 0x4e; x[ 8] = 0xf1; x[ 9] = 0x37; x[10] = 0x07; x[11] = 0x10; x[12] = 0x03; x[13] = 0x0e; x[14] = 0x09; x[15] = 0x00; SPI_CMD(x); SPI_DAT(x+1, 15); // ILI9XXX_GMCTRN1 , 15, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31, 0xC1, // 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F, x[0] = LCD_NGAMCOR; // Negative gamma correction x[ 1] = 0x00; x[ 2] = 0x0e; x[ 3] = 0x14; x[ 4] = 0x03; x[ 5] = 0x11; x[ 6] = 0x07; x[ 7] = 0x31; x[ 8] = 0xc1; x[ 9] = 0x48; x[10] = 0x08; x[11] = 0x0f; x[12] = 0x0c; x[13] = 0x31; x[14] = 0x36; x[15] = 0x0f; SPI_CMD(x); SPI_DAT(x+1, 15); x[0] = LCD_COLOR; // Color set SPI_CMD(x); for (i=0; i<32; i++) x[i] = i*2+1; // Red mappings 5bit -> 6bit SPI_DAT(x, 32) for (i=0; i<64; i++) x[i] = i; // Green mappings 6bit -> 6bit SPI_DAT(x, 64) for (i=0; i<32; i++) x[i] = i*2+1; // Blue mappings 5bit -> 6bit SPI_DAT(x, 32) x[0] = LCD_DISPON; // Display on SPI_CMD(x); } /* * Test routine called from serial monitor */ char lastchar; void lcd_test(void) { char chr[64]; uint16_t i, j, w, h; sFONT *f; // Dump font on display f = &FontUB; w = LCD_WIDTH/f->Width; h = LCD_HEIGHT/f->Height; lcd_clear(0, 0, LCD_WIDTH, LCD_HEIGHT, BLACK); for (i=0; ilcd_writexy(0, i*(f->Height), chr, f, YELLOW, DGRAY)) break; } sleep_ms(1000); // Dump EGA colors on display f = &Font16; w = f->Width; h = f->Height; lcd_clear(0, 0, LCD_WIDTH, LCD_HEIGHT, BLACK); i=0; lcd_writexy(0, i*h, "BLUE" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, BLUE, BLUE); i++; lcd_writexy(0, i*h, "GREEN" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, GREEN, GREEN); i++; lcd_writexy(0, i*h, "CYAN" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, CYAN, CYAN); i++; lcd_writexy(0, i*h, "RED" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, RED, RED); i++; lcd_writexy(0, i*h, "MAGENTA" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, MAGENTA, MAGENTA); i++; lcd_writexy(0, i*h, "BROWN" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, BROWN, BROWN); i++; lcd_writexy(0, i*h, "LGRAY" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, LGRAY, LGRAY); i++; lcd_writexy(0, i*h, "DGRAY" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, DGRAY, DGRAY); i++; lcd_writexy(0, i*h, "LBLUE" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, LBLUE, LBLUE); i++; lcd_writexy(0, i*h, "LGREEN" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, LGREEN, LGREEN); i++; lcd_writexy(0, i*h, "LCYAN" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, LCYAN, LCYAN); i++; lcd_writexy(0, i*h, "ORANGE" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, ORANGE, ORANGE); i++; lcd_writexy(0, i*h, "LMAGENTA" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, LMAGENTA, LMAGENTA); i++; lcd_writexy(0, i*h, "YELLOW" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, YELLOW, YELLOW); i++; lcd_writexy(0, i*h, "WHITE" , f, WHITE, BLACK); lcd_writexy(12*w, i*h, " ", f, WHITE, WHITE); i++; } ================================================ FILE: lcd.h ================================================ #ifndef __LCD_H__ #define __LCD_H__ /* * lcd.h * * Created: Sep 2024 * Author: Arjan te Marvelde * * See lcd.c for more information */ #include "fonts.h" #define LCD_WIDTH 320 #define LCD_HEIGHT 240 /* * Colour scheme * Mapping of (8+8+8)bit RGB to (5+6+5)bit SPI interface: * uint16_t c16 = ((c24&0x00f80000)>>8) | ((c24&0x0000fc00)>>5) | ((c24&0x000000f8)>>3); * The 16 basic EGA colors: 0 black #000000 1 blue #0000AA 2 green #008000 3 cyan #00AAAA 4 red #AA0000 5 magenta #AA00AA 6 brown #AA5500 7 light gray #AAAAAA 8 dark gray #555555 9 light blue #5555FF 10 light green #55FF55 11 light cyan #55FFFF 12 light red #FF5555 13 light magenta #FF55FF 14 yellow #FFFF55 15 white #FFFFFF See also: https://rgbcolorpicker.com/565/table */ #define BLACK 0x0000 // 00000 000000 00000 00:00:00 #define BLUE 0x001f // 00000 000000 11111 00:00:1F #define GREEN 0x0400 // 00000 100000 00000 00:20:00 #define CYAN 0x07ff // 00000 111111 11111 00:3E:1F #define RED 0xf800 // 11111 000000 00000 1F:00:00 #define MAGENTA 0xf81f // 11111 000000 11111 1F:00:1F #define BROWN 0xa145 // 10100 001010 00101 14:06:05 #define LGRAY 0xd69a // 11010 110100 11010 1A:34:1A #define DGRAY 0xad55 // 10101 101010 10101 15:2A:15 #define LBLUE 0xa55f // 10101 110101 11100 15:35:1C #define LGREEN 0x9772 // 10010 111011 10010 12:3B:12 #define LCYAN 0xdfff // 11011 111111 11111 1B:3F:1F #define ORANGE 0xfd20 // 11111 011001 00000 1F:19:00 #define LMAGENTA 0xfd1f // 11111 101000 11111 1F:28:1F #define YELLOW 0xffe0 // 11111 111111 00000 1F:3F:00 #define WHITE 0xffff // 11111 111111 11111 1F:3E:1F #define BGNDCOLOR 0x3a07 #define TFT_ALICEBLUE 0xF7DF #define TFT_ANTIQUEWHITE 0xFF5A #define TFT_AQUA 0x07FF #define TFT_AQUAMARINE 0x7FFA #define TFT_AZURE 0xF7FF #define TFT_BEIGE 0xF7BB #define TFT_BISQUE 0xFF38 #define TFT_BLACK 0x0000 /* 0, 0, 0 */ #define TFT_BLANCHEDALMOND 0xFF59 #define TFT_BLUE 0x001F /* 0, 0, 255 */ #define TFT_BLUEVIOLET 0x895C #define TFT_BROWN 0xA145 #define TFT_BURLYWOOD 0xDDD0 #define TFT_CADETBLUE 0x5CF4 #define TFT_CHARTREUSE 0x7FE0 #define TFT_CHOCOLATE 0xD343 #define TFT_CORAL 0xFBEA #define TFT_CORNFLOWERBLUE 0x64BD #define TFT_CORNSILK 0xFFDB #define TFT_CRIMSON 0xD8A7 #define TFT_CYAN 0x07FF /* 0, 255, 255 */ #define TFT_DARKBLUE 0x0011 #define TFT_DARKCYAN 0x03EF /* 0, 128, 128 */ #define TFT_DARKCYAN2 0x0451 #define TFT_DARKGOLDENROD 0xBC21 #define TFT_DARKGRAY 0xAD55 #define TFT_DARKGREEN2 0x0320 #define TFT_DARKGREEN 0x03E0 /* 0, 128, 0 */ #define TFT_DARKGREY 0x7BEF /* 128, 128, 128 */ #define TFT_DARKKHAKI 0xBDAD #define TFT_DARKMAGENTA 0x8811 #define TFT_DARKOLIVEGREEN 0x5345 #define TFT_DARKORANGE 0xFC60 #define TFT_DARKORCHID 0x9999 #define TFT_DARKRED 0x8800 #define TFT_DARKSALMON 0xECAF #define TFT_DARKSEAGREEN 0x8DF1 #define TFT_DARKSLATEBLUE 0x49F1 #define TFT_DARKSLATEGRAY 0x2A69 #define TFT_DARKTURQUOISE 0x067A #define TFT_DARKVIOLET 0x901A #define TFT_DEEPPINK 0xF8B2 #define TFT_DEEPSKYBLUE 0x05FF #define TFT_DIMGRAY 0x6B4D #define TFT_DODGERBLUE 0x1C9F #define TFT_FIREBRICK 0xB104 #define TFT_FLORALWHITE 0xFFDE #define TFT_FORESTGREEN 0x2444 #define TFT_FUCHSIA 0xF81F #define TFT_GAINSBORO 0xDEFB #define TFT_GHOSTWHITE 0xFFDF #define TFT_GOLD 0xFEA0 #define TFT_GOLDENROD 0xDD24 #define TFT_GRAY 0x8410 #define TFT_GREEN2 0x0400 #define TFT_GREEN 0x07E0 /* 0, 255, 0 */ #define TFT_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ #define TFT_HONEYDEW 0xF7FE #define TFT_HOTPINK 0xFB56 #define TFT_INDIANRED 0xCAEB #define TFT_INDIGO 0x4810 #define TFT_IVORY 0xFFFE #define TFT_KHAKI 0xF731 #define TFT_LAVENDER 0xE73F #define TFT_LAVENDERBLUSH 0xFF9E #define TFT_LAWNGREEN 0x7FE0 #define TFT_LEMONCHIFFON 0xFFD9 #define TFT_LIGHTBLUE 0xAEDC #define TFT_LIGHTCORAL 0xF410 #define TFT_LIGHTCYAN 0xE7FF #define TFT_LIGHTGOLDENRODYELLOW 0xFFDA #define TFT_LIGHTGREEN 0x9772 #define TFT_LIGHTGREY 0xC618 /* 192, 192, 192 */ #define TFT_LIGHTGREY2 0xD69A #define TFT_LIGHTPINK 0xFDB8 #define TFT_LIGHTSALMON 0xFD0F #define TFT_LIGHTSEAGREEN 0x2595 #define TFT_LIGHTSKYBLUE 0x867F #define TFT_LIGHTSLATEGRAY 0x7453 #define TFT_LIGHTSTEELBLUE 0xB63B #define TFT_LIGHTYELLOW 0xFFFC #define TFT_LIME 0x07E0 #define TFT_LIMEGREEN 0x3666 #define TFT_LINEN 0xFF9C #define TFT_MAGENTA 0xF81F /* 255, 0, 255 */ #define TFT_MAROON 0x7800 /* 128, 0, 0 */ #define TFT_MAROON2 0x8000 #define TFT_MEDIUMAQUAMARINE 0x6675 #define TFT_MEDIUMBLUE 0x0019 #define TFT_MEDIUMORCHID 0xBABA #define TFT_MEDIUMPURPLE 0x939B #define TFT_MEDIUMSEAGREEN 0x3D8E #define TFT_MEDIUMSLATEBLUE 0x7B5D #define TFT_MEDIUMSPRINGGREEN 0x07D3 #define TFT_MEDIUMTURQUOISE 0x4E99 #define TFT_MEDIUMVIOLETRED 0xC0B0 #define TFT_MIDNIGHTBLUE 0x18CE #define TFT_MINTCREAM 0xF7FF #define TFT_MISTYROSE 0xFF3C #define TFT_MOCCASIN 0xFF36 #define TFT_NAVAJOWHITE 0xFEF5 #define TFT_NAVY 0x000F /* 0, 0, 128 */ #define TFT_NAVY2 0x0010 #define TFT_NAVY3 0x0008 #define TFT_OLDLACE 0xFFBC #define TFT_OLIVE 0x7BE0 /* 128, 128, 0 */ #define TFT_OLIVE2 0x8400 #define TFT_OLIVEDRAB 0x6C64 #define TFT_ORANGE 0xFD20 /* 255, 165, 0 */ #define TFT_ORANGERED 0xFA20 #define TFT_ORCHID 0xDB9A #define TFT_PALEGOLDENROD 0xEF55 #define TFT_PALEGREEN 0x9FD3 #define TFT_PALETURQUOISE 0xAF7D #define TFT_PALEVIOLETRED 0xDB92 #define TFT_PAPAYAWHIP 0xFF7A #define TFT_PEACHPUFF 0xFED7 #define TFT_PERU 0xCC27 #define TFT_PINK 0xF81F #define TFT_PINK_2 0xFE19 #define TFT_PLUM 0xDD1B #define TFT_POWDERBLUE 0xB71C #define TFT_PURPLE 0x780F /* 128, 0, 128 */ #define TFT_PURPLE2 0x8010 #define TFT_RED 0xF800 /* 255, 0, 0 */ #define TFT_ROSYBROWN 0xBC71 #define TFT_ROYALBLUE 0x435C #define TFT_SADDLEBROWN 0x8A22 #define TFT_SALMON 0xFC0E #define TFT_SANDYBROWN 0xF52C #define TFT_SEAGREEN 0x2C4A #define TFT_SEASHELL 0xFFBD #define TFT_SIENNA 0xA285 #define TFT_SILVER 0xC618 #define TFT_SKYBLUE 0x867D #define TFT_SLATEBLUE 0x6AD9 #define TFT_SLATEGRAY 0x7412 #define TFT_SNOW 0xFFDF #define TFT_SPRINGGREEN 0x07EF #define TFT_STEELBLUE 0x4416 #define TFT_TAN 0xD5B1 #define TFT_TEAL 0x0410 #define TFT_THISTLE 0xDDFB #define TFT_TOMATO 0xFB08 #define TFT_TURQUOISE 0x471A #define TFT_VIOLET 0xEC1D #define TFT_WHEAT 0xF6F6 #define TFT_WHITE 0xFFFF /* 255, 255, 255 */ #define TFT_WHITESMOKE 0xF7BE #define TFT_YELLOW 0xFFE0 /* 255, 255, 0 */ #define TFT_YELLOWGREEN 0x9E66 void lcd_init(void); int lcd_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h); int lcd_clear(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color); int lcd_putxy(uint16_t x, uint16_t y, char c, sFONT* f, uint16_t fgc, uint16_t bgc); int lcd_writexy(uint16_t x, uint16_t y, char *s, sFONT* f, uint16_t fgc, uint16_t bgc); void lcd_test(void); #endif ================================================ FILE: monitor.c ================================================ /* * monitor.c * * Created: Mar 2021 * Author: Arjan te Marvelde * * Command shell on stdin/stdout. * Collects characters and parses commandstring. * Additional commands can easily be added. */ #include #include #include #include "pico/stdlib.h" #include "pico.h" #include "pico/bootrom.h" #include "uSDR.h" #include "lcd.h" #include "si5351.h" #include "dsp.h" #include "relay.h" #include "monitor.h" // Some special character ASCII codes #define BS 8 #define CR 13 #define LF 10 #define SP 32 #define DEL 127 #define CMD_LEN 80 #define CMD_ARGS 16 char mon_cmd[CMD_LEN+1]; // Command string buffer char *argv[CMD_ARGS]; // Argument pointers int nargs; // Nr of arguments typedef struct { char *cmdstr; // Command string int cmdlen; // Command string length void (*cmd)(void); // Command executive char *cmdsyn; // Command syntax char *help; // Command help text } shell_t; /*** Initialisation, called at startup ***/ void mon_init() { stdio_init_all(); // Initialize Standard IO mon_cmd[CMD_LEN] = '\0'; // Termination to be sure printf("\n"); printf("=============\n"); printf(" uSDR-Pico \n"); printf(" PE1ATM \n"); printf(" 2021, Udjat \n"); printf("=============\n"); printf("Pico> "); // prompt } /*** ------------------------------------------------------------- ***/ /*** Below the definitions of the shell commands, add where needed ***/ /*** ------------------------------------------------------------- ***/ /* * Reboots the Pico as a USB mass storage device, ready to be programmed */ void mon_flash(void) { reset_usb_boot(1<2) { base = atoi(argv[1]); nreg = atoi(argv[2]); } if ((base<0)||(base+nreg>200)) return; for (i=0; i<200; i++) si5351_reg[i] = 0xaa; si_getreg(si5351_reg, (uint8_t)base, (uint8_t)nreg); for (i=0; i1) i = atoi(argv[1]); if ((i<0)||(i>1)) return; si_getvfo(i, &m_vfo); // Get local copy printf("Frequency: %lu\n", m_vfo.freq); printf("Phase : %d\n", (int)(m_vfo.phase)); printf("Ri : %d\n", (int)(m_vfo.ri)); printf("MSi : %d\n", (int)(m_vfo.msi)); printf("MSN : %g\n\n", m_vfo.msn); } /* * Dumps the entire built-in and programmed characterset on the LCD */ void mon_lt(void) { int c=PICO_ERROR_TIMEOUT; printf("Check LCD..."); lcd_test(); printf("\n"); while (c==PICO_ERROR_TIMEOUT) c = getchar_timeout_us(10L); // NOTE: this is the only SDK way to read from stdin lcd_clear(0, 0, LCD_WIDTH, LCD_HEIGHT, BLACK); } /* * Toggles the PTT status, overriding the HW signal */ bool ptt = false; void mon_pt(void) { if (ptt) { ptt = false; printf("PTT released\n"); } else { ptt = true; printf("PTT active\n"); } tx_enabled = ptt; } /* * BPF relay read or write */ void mon_bp(void) { int ret; if ((nargs > 1) && (*argv[1]=='w')) { if (nargs>2) { ret = atoi(argv[2]); relay_setband(ret); } sleep_ms(1); } ret = relay_getband(); printf("BPF relays: %02x\n", ret); } /* * RX relay read or write */ void mon_rx(void) { int ret; if ((nargs > 1) && (*argv[1]=='w')) { if (nargs>2) { ret = atoi(argv[2]); relay_setattn(ret); } sleep_ms(1); } ret = relay_getattn(); printf("Pre-amp relays: %02x\n", ret); } /* * Checks for overruns */ extern volatile int32_t dsp_overrun; extern volatile int adccnt; #if DSP_FFT == 1 extern volatile uint32_t dsp_tickx; extern volatile int scale0; extern volatile int scale1; #endif void mon_or(void) { printf("ADCcnt : %d\n", adccnt); printf("DSP overruns : %ld\n", dsp_overrun); #if DSP_FFT == 1 printf("DSP loop load : %lu%%\n", (100*dsp_tickx)/512); printf("FFT scale = %d, iFFT scale = %d\n", scale0, scale1); #endif } /* * Bias and Levels */ extern volatile uint16_t if_agc, rx_agc, tx_agc; extern volatile uint16_t adc_bias[3]; void mon_adc(void) { // Print results printf("Bias : %u, %u, %u\n", adc_bias[0], adc_bias[1], adc_bias[2]); printf("RSSI : %5u\n", GET_RSSI_LEVEL); printf("VOX : %5u\n", GET_DSP_VOX); printf("IF-AGC: %5u\n", if_agc); printf("RX-AGC: %5u\n", rx_agc); printf("TX-AGC: %5u\n", tx_agc); } /* * Command shell table, organize the command functions above */ #define NCMD 9 shell_t shell[NCMD]= { {"flash", 5, &mon_flash, "flash", "Reboots into USB bootloader mode"}, {"si", 2, &mon_si, "si ", "Dumps Si5351 registers"}, {"vfo", 3, &mon_vfo, "vfo ", "Dumps vfo[id] registers"}, {"lt", 2, &mon_lt, "lt (no parameters)", "LCD test, dumps characterset on LCD"}, {"or", 2, &mon_or, "or (no parameters)", "Returns overrun information"}, {"pt", 2, &mon_pt, "pt (no parameters)", "Toggles PTT status"}, {"bp", 2, &mon_bp, "bp {r|w} ", "Read or Write BPF relays"}, {"rx", 2, &mon_rx, "rx {r|w} ", "Read or Write RX relays"}, {"adc", 3, &mon_adc, "adc (no parameters)", "Dump latest ADC readouts"} }; /*** ---------------------------------------- ***/ /*** Commandstring parser and monitor process ***/ /*** ---------------------------------------- ***/ #define ISALPHANUM(c) (((c)>' ') && ((c)<127)) #define ISWHITESP(c) (((c)!='\0') && ((c)<=' ')) #define ISEOL(c) ((c)=='\0') /* * Command line parser */ void mon_parse(char* s) { char *p; int i; p = s; // Set to start of string nargs = 0; while (ISWHITESP(*p)) p++; // Skip leading whitespace while (!ISEOL(*p)) // Check remaining stringlength >0 { argv[nargs++] = p; // Store first valid char loc after whitespace while (ISALPHANUM(*p)) p++; // Skip non-whitespace while (ISWHITESP(*p)) p++; // Skip separating whitespace } if (nargs==0) return; // Nothing to do for (i=0; i0) // something to parse? mon_parse(mon_cmd); // --> process command i=0; // reset index printf("Pico> "); // prompt break; case LF: break; // Ignore, assume CR as terminator case BS: if (i>0) i--; // One position back mon_cmd[i] = SP; // Replace with whitespace putchar(BS); // Erase sequence putchar(SP); putchar(BS); break; default: if ((c<32)||(c>=127)) break; // Only allow alphanumeric putchar((char)c); // Echo character mon_cmd[i] = (char)c; // store in command string if (i #include #include "pico/stdlib.h" #include "hardware/i2c.h" #include "uSDR.h" #include "relay.h" void relay_setband(int val) { uint8_t data[2]; data[0] = ((uint8_t)val)&0xff; if (i2c_put_data(i2c0, I2C_BPF, data, 1, false) < 0) i2c_put_data(i2c0, I2C_BPF, data, 1, false); sleep_ms(1); } int relay_getband(void) { uint8_t data[2]; int ret; data[0] = 0; ret = i2c_get_data(i2c0, I2C_BPF, data, 1, false); if (ret<0) ret = i2c_get_data(i2c0, I2C_BPF, data, 1, false); if (ret>=0) ret=data[0]; return(ret); } void relay_setattn(int val) { uint8_t data[2]; data[0] = ((uint8_t)val)&0x07; if (i2c_put_data(i2c0, I2C_RX, data, 1, false) < 0) i2c_put_data(i2c0, I2C_RX, data, 1, false); sleep_ms(1); } int relay_getattn(void) { uint8_t data[2]; int ret; data[0] = 0; ret = i2c_get_data(i2c0, I2C_RX, data, 1, false); if (ret<0) ret = i2c_get_data(i2c0, I2C_RX, data, 1, false); if (ret>=0) ret=data[0]; return(ret); } void relay_init(void) { relay_setattn(REL_ATT_00); sleep_ms(1); relay_setband(REL_BPF12); } ================================================ FILE: relay.h ================================================ #ifndef __RELAY_H__ #define __RELAY_H__ /* * relay.h * * Created: Nov 2021 * Author: Arjan te Marvelde * * See relay.c for more information */ /* relay_setband() values */ #define REL_LPF2 0x01 #define REL_BPF6 0x02 #define REL_BPF12 0x04 #define REL_BPF24 0x08 #define REL_BPF40 0x10 /* relay_setattn() values */ #define REL_ATT_30 0x06 #define REL_ATT_20 0x04 #define REL_ATT_10 0x02 #define REL_ATT_00 0x00 #define REL_PRE_10 0x01 void relay_setband(int val); void relay_setattn(int val); int relay_getband(void); int relay_getattn(void); void relay_init(void); #endif ================================================ FILE: si5351.c ================================================ /* * si5351.c * * Created: Jan 2020 * Author: Arjan * * Driver for the SI5351A VCO * * Provides * - VFO0, two outputs on clk0 and clk1 with configurable phase difference * - VFO1, auxiliary single output on clk2 Si5351 principle of operation: ============================== Crystal frequency Fxtal (usually 25MHz) is multiplied in a PLL by MSN to obtain Fvco. PLLs A and B have independent MSN values, leading to two Fvco frequencies. The output Fout on each channel (i) can be derived from either Fvco. Fvco must be between 600MHz and 900MHz, but the spec is more relaxed in reality. In the second stage, an Fvco is divided by MSi and Ri to obtain the output frequency Fout. Only certain values of MSi and Ri are allowed when quadrature output is required. Tuning stragtegy: MSi and Ri are selected to be in the ballpark of desired frequency range. MSN is then used for tuning Fout. Details: ======== +-------+ +-------+ +------+ Fxtal --> | * MSN | -- Fvco --> | / MSi | --> | / Ri | -- Fout --> +-------+ +-------+ +------+ MSN determines: Fvco = Fxtal * (MSN) , where MSN = a + b/c MSi and Ri determine: Fout = Fvco / (Ri*MSi) , where MSi = a + b/c (note: different a, b and c) ---Derivation of the register values, that determine MSN and MSi--- P1 = 128*a + Floor(128*b/c) - 512 (P1 = calculated for MSN tuning, P1 = 750MHz/Fout for MSi integer mode) P2 = 128*b - c*Floor(128*b/c) (P2 = calculated for MSN tuning, P2 = 0 for MSi integer mode) P3 = c (P3 = c = 1000000 for MSN tuning, P3 = 1 for MSi integer mode) This VFO implementation assigns PLLA to VFO 0 (clk0 and clk1), and PLLB to VFO 1 (clk2) The algorithm to get from required Fout to synthesizer settings: | calculate new from the desired , based on the current and | if MSN is still inside [600/Fxtal, 900/Fxtal] | then | just update the MSN related registers | else | re-calculate , and from desired | write the and parameter registers, including phase offset (MSi equals phase offset for 90 deg, use INV to shift 180deg more) | write the parameter registers | reset PLL (this all assumes that the current settings are consistent, i.e. must be initialized at startup) Calculate MSi: MSi = 750MHz/(Fout*Ri) // Target for mid-band, i.e. Fvco=750MHz MSi &= 0xfe // Make it even, minimum is 4 in case of integer mode Calculate MSN: MSN = MSi*Ri*Fout/Fxtal (spec mandates between 24 and 36, but could be stretched) Some boundary values, assuming 600M < Fvco < 900M. With low end 400M, Low MHz is multiplied with 2/3. ------------+--------------+-----------------------+ Ri MSi : a b c | Low MHz High MHz 1 4 : 4 0 1 | 150.000000 225.000000 1 126 : 126 0 1 | 4.761905 7.142857 32 4 : 4 0 1 | 4.687500 7.031250 32 126 : 126 0 1 | 0.148810 0.223214 128 4 : 4 0 1 | 1.171875 1.757813 128 126 : 126 0 1 | 0.037202 0.055804 NOTE: Phase offsets The PHOFF is given as a multiple of 1/(4*Fvco), so when MSi == PHOFF the shift will be 90deg. It also implies that MSi must be an integer, and Ri == 1. Only use MSi even-integers, i.e. a=[4, 6, 8..126], b=0 and c=100000, and set INT bits in reg 22, 23. Quadrature Phase offsets (i.e. delay): - Phase offset for MS0 (reg 165) must be 0 (cos: delay = 0), - Phase offset for MS1 (reg 166) must be equal to divider MS1 for 90 deg (sin: delay = MSi / 4*Fvco), - Set INV bit (reg 17) to add 180 deg. This implies that minimum Fout is 4.762MHz at Fvco = 600MHz. Additional flip/flop dividers are needed to get down to 80m band frequencies, or Fvco must be tuned below spec. Control Si5351 (see AN619): =========================== ----+---------+---------+---------+---------+---------+---------+---------+---------+ @ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ----+---------+---------+---------+---------+---------+---------+---------+---------+ 0 |SYS_INIT | LOL_B | LOL_A | LOS | Reserved | REVID[1:0] | 1 |SYS_INIT | LOS_B | LOL_A | LOS | Reserved | | _STKY| _STKY| _STKY| _STKY| Reserved | 2 |SYS_INIT | LOS_B | LOL_A | LOS | Reserved | | _MASK| _MASK| _MASK| _MASK| Reserved | 3 | Reserved | CLK2_EN | CLK1_EN | CLK0_EN | ==== 9 | Reserved |OEB_MASK2|OEB_MASK1|OEB_MASK0| ==== 15 | CLKIN_DIV[2:0] | 0 | 0 | PLLB_SRC| PLLA_SRC| 0 | 0 | 16 | CLK0_PDN| MS0_INT | MS0_SRC | CLK0_INV| CLK0_SRC[1:0] | CLK0_IDRV[1:0] | 17 | CLK1_PDN| MS1_INT | MS1_SRC | CLK1_INV| CLK1_SRC[1:0] | CLK1_IDRV[1:0] | 18 | CLK2_PDN| MS2_INT | MS2_SRC | CLK2_INV| CLK2_SRC[1:0] | CLK2_IDRV[1:0] | ==== 22 | Reserved| FBA_INT | Reserved | 23 | Reserved| FBB_INT | Reserved | 24 | Reserved | CLK2_DIS_STATE | CLK1_DIS_STATE | CLK0_DIS_STATE | ==== 26 | MSNA_P3[15:8] | 27 | MSNA_P3[7:0] | 28 | Reserved | MSNA_P1[17:16] | 29 | MSNA_P1[15:8] | 30 | MSNA_P1[7:0] | 31 | MSNA_P3[19:16] | MSNA_P2[19:16] | 32 | MSNA_P2[15:8] | 33 | MSNA_P2[7:0] | 34: Same pattern for PLLB 42 | MS0_P3[15:8] | 43 | MS0_P3[7:0] | 44 | Reserved| R0_DIV[2:0] | MS0_DIVBY4[1:0] | MS0_P1[17:16] | 45 | MS0_P1[15:8] | 46 | MS0_P1[7:0] | 47 | MS0_P3[19:16] | MS0_P2[19:16] | 48 | MS0_P2[15:8] | 49 | MS0_P2[7:0] | 50: Same pattern for CLK1 58: Same pattern for CLK2 ==== 165 | Reserved| CLK0_PHOFF[6:0] | 166 | Reserved| CLK1_PHOFF[6:0] | 167 | Reserved| CLK2_PHOFF[6:0] | ==== 177 | PLLB_RST| Reserved| PLLA_RST| Reserved | ==== 183 | XTAL_CL | Reserved | ==== * */ #include #include #include "pico/stdlib.h" #include "hardware/i2c.h" #include "hardware/timer.h" #include "hardware/clocks.h" #include "uSDR.h" #include "si5351.h" // SI5351 register address definitions #define SI_CLK_OE 3 #define SI_CLK0_CTL 16 #define SI_CLK1_CTL 17 #define SI_CLK2_CTL 18 #define SI_SYNTH_PLLA 26 #define SI_SYNTH_PLLB 34 #define SI_SYNTH_MS0 42 #define SI_SYNTH_MS1 50 #define SI_SYNTH_MS2 58 #define SI_SS_EN 149 #define SI_CLK0_PHOFF 165 #define SI_CLK1_PHOFF 166 #define SI_CLK2_PHOFF 167 #define SI_PLL_RESET 177 #define SI_XTAL_LOAD 183 // CLK_OE register 3 masks #define SI_CLK0_DISABLE 0b00000001 // Disable clock 0 output #define SI_CLK1_DISABLE 0b00000010 // Disable clock 1 output #define SI_CLK2_DISABLE 0b00000100 // Disable clock 2 output #define SI_VFO0_DISABLE 0b00000011 // Set bits to disable #define SI_VFO1_DISABLE 0b00000100 // Set bits to disable // CLKi_CTL register 16, 17, 18 values // Normally 0x4f for clk 0 and 1, 0x6f for clk 2 #define SI_CLK_INT 0b01000000 // Set integer mode #define SI_CLK_PLLB 0b00100000 // Select PLL B as MS source (default 0 = PLL A) #define SI_CLK_INV 0b00010000 // Invert output (i.e. phase + 180deg) #define SI_CLK_SRC 0b00001100 // Select output source: 11=MS, 00=XTAL direct #define SI_CLK_DRV 0b00000011 // Select output drive, increasingly: 2-4-6-8 mA // Play with DRV to get a nice block output #define SI_VFO0CTL 0b00001101 // nonINT, PLLA, nonINV, SRC=MS, 4mA #define SI_VFO1CTL 0b00101101 // nonINT, PLLB, nonINV, SRC=MS, 4mA // PLL_RESET register 177 values #define SI_PLLB_RST 0b10001100 // Reset PLL B #define SI_PLLA_RST 0b00101100 // Reset PLL A #define SI_XTAL_FREQ 25001414UL // Replace with measured crystal frequency of XTAL for CL = 10pF (default) #define SI_MSN_LO ((0.4e9)/SI_XTAL_FREQ) // Should be 600M, but 400MHz works too #define SI_MSN_HI ((0.9e9)/SI_XTAL_FREQ) #define SI_VCO_LO 400000000UL // Should be 600MHz, but 400MHz works too #define SI_VCO_HI 900000000UL #define SI_PLL_C 1000000UL // Parameter c for PLL-A and -B setting vfo_t vfo[2]; // 0: clk0 / clk1 1: clk2 int si_getvfo(int i, vfo_t *v) { if ((i<0)||(i>1)) return 0; // Check VFO range v->freq = vfo[i].freq; v->phase = vfo[i].phase; v->ri = vfo[i].ri; v->msi = vfo[i].msi; v->msn = vfo[i].msn; return 1; } void si_setphase(int i, uint8_t p) { if (i!=0) return; // Check VFO range if (p>3) return; // Check phase range vfo[i].phase = p; // Entry checks pass, so do the actual setting } void si_enable(int i, bool en) { uint8_t data[2]; if ((i<0)||(i>1)) return; // Check VFO range data[0] = SI_CLK_OE; // Read OE register i2c_put_data(i2c0, I2C_VFO, &data[0], 1, true); i2c_read_blocking(i2c0, I2C_VFO, &data[1], 1, false); if (i==0) data[1] = (en ? data[1]&~SI_VFO0_DISABLE : data[1]|SI_VFO0_DISABLE); // clk0 and clk1 else data[1] = (en ? data[1]&~SI_VFO1_DISABLE : data[1]|SI_VFO1_DISABLE); // clk2 i2c_put_data(i2c0, I2C_VFO, &data[0], 2, false); } /* * read contents of SI5351 registers, from reg to reg+len-1, output in data array */ int si_getreg(uint8_t *data, uint8_t reg, uint8_t len) { int ret; ret = i2c_put_data(i2c0, I2C_VFO, ®, 1, true); if (ret<0) printf ("I2C write error\n"); ret = i2c_get_data(i2c0, I2C_VFO, data, len, false); if (ret<0) printf ("I2C read error\n"); return(len); } /* * Set up MSN PLL divider for vfo[i], assuming MSN has been set in vfo[i] * Optimize for speed, this may be called with short intervals * See also SiLabs AN619 section 3.2 * VFO 0 refers to PLL a, VFO 1 refers to PLL B MSN = a + b/c c = 1000000 (Fxtal/c step size) P1 = 128*a + Floor(128*b/c) - 512 P2 = 128*b - c*Floor(128*b/c) P3 = c */ void si_setmsn(int i) { uint8_t data[16]; // I2C trx buffer uint32_t P1, P2; // MSN parameters, P3 is SI_PLL_C uint32_t A, B; if ((i<0)||(i>1)) return; // Check VFO range A = (uint32_t)(floor(vfo[i].msn)); // A is integer part of MSN B = (uint32_t)((vfo[i].msn - (double)A) * SI_PLL_C); // B is C * fraction part of MSN (C is a constant) P2 = (uint32_t)(floor((double)(128 * B) / (double)SI_PLL_C)); // use P2 for intermediate result.. P1 = (uint32_t)(128 * A + P2 - 512); P2 = (uint32_t)(128 * B - SI_PLL_C * P2); // transfer PLL A or PLL B registers if (i==0) data[0] = SI_SYNTH_PLLA; else data[0] = SI_SYNTH_PLLB; data[1] = (SI_PLL_C & 0x0000FF00) >> 8; data[2] = (SI_PLL_C & 0x000000FF); data[3] = (P1 & 0x00030000) >> 16; data[4] = (P1 & 0x0000FF00) >> 8; data[5] = (P1 & 0x000000FF); data[6] = ((SI_PLL_C & 0x000F0000) >> 12) | ((P2 & 0x000F0000) >> 16); data[7] = (P2 & 0x0000FF00) >> 8; data[8] = (P2 & 0x000000FF); i2c_put_data(i2c0, I2C_VFO, data, 9, false); } /* * Set up registers with MS and R divider for vfo[i], assuming values have been set in vfo[i] * In this implementation we only use integer mode, i.e. b=0 and P3=1 MSi = a + b/c c = 1, b=0 P1 = 128*a - 512 P2 = 0 P3 = c */ void si_setmsi(int i) { uint8_t data[16]; // I2C trx buffer uint32_t P1; uint8_t R; if ((i<0)||(i>1)) return; // Check VFO range P1 = vfo[i].msi; // Upgrade msi to uint32_t P1 = 128*P1-512; R = vfo[i].ri; R = (R&0xf0) ? ((R&0xc0)?((R&0x80)?7:6):(R&0x20)?5:4) : ((R&0x0c)?((R&0x08)?3:2):(R&0x02)?1:0); // quick log2(r) if (i==0) data[0] = SI_SYNTH_MS0; else data[0] = SI_SYNTH_MS2; data[1] = 0x00; data[2] = 0x01; data[3] = ((P1 & 0x00030000) >> 16) | (R << 4 ); data[4] = (P1 & 0x0000FF00) >> 8; data[5] = (P1 & 0x000000FF); data[6] = 0x00; data[7] = 0x00; data[8] = 0x00; i2c_put_data(i2c0, I2C_VFO, data, 9, false); // If vfo[0] also set clk 1 and phase offset, (integer mode(?) and high drive current for low phase noise). if (i==0) { data[0] = SI_SYNTH_MS1; // Same data in synthesizer i2c_put_data(i2c0, I2C_VFO, data, 9, false); if ((vfo[0].phase==PH090)||(vfo[0].phase==PH270)) // Phase is 90 or 270 deg? { data[0] = SI_CLK1_PHOFF; data[1] = vfo[0].msi; // offset == MSi for 90deg i2c_put_data(i2c0, I2C_VFO, data, 2, false); } else // Phase is 0 or 180 deg { data[0] = SI_CLK1_PHOFF; data[1] = 0; // offset == 0 for 0deg i2c_put_data(i2c0, I2C_VFO, data, 2, false); } if ((vfo[0].phase==PH180)||(vfo[0].phase==PH270)) // Phase is 180 or 270 deg? { data[0] = SI_CLK0_CTL; // set the invert flag data[1] = SI_VFO0CTL; // CLK0: nonINV data[2] = SI_VFO0CTL | SI_CLK_INV; // CLK1: INV i2c_put_data(i2c0, I2C_VFO, data, 3, false); } else { data[0] = SI_CLK0_CTL; // set the invert flag data[1] = SI_VFO0CTL; // CLK0: nonINV data[2] = SI_VFO0CTL; // CLK1: nonINV i2c_put_data(i2c0, I2C_VFO, data, 3, false); } // Reset PLL A (use with care, this causes a click) data[0] = SI_PLL_RESET; data[1] = SI_PLLA_RST|SI_PLLB_RST; i2c_put_data(i2c0, I2C_VFO, data, 2, false); } else { data[0] = SI_CLK2_CTL; // set the invert flag data[1] = SI_VFO1CTL; // CLK2: nonINV i2c_put_data(i2c0, I2C_VFO, data, 2, false); // Reset PLL B (use with care, this causes a click) data[0] = SI_PLL_RESET; data[1] = SI_PLLA_RST|SI_PLLB_RST; i2c_put_data(i2c0, I2C_VFO, data, 2, false); } } /* * This function needs to be invoked at regular intervals, e.g. 10x per sec. See hmi.c * For VFO i, calculate required MSN setting, MSN = MSi*Ri*Fout/Fxtal based on required frequency * * If still in range, * then just set MSN registers * else, * recalculate MSi and Ri as well * set MSN, MSi and Ri registers (implicitly resets PLL) * Returns: * -1 range error * 0 nothing to do * 1 frequency set */ int si_evaluate(int i, uint32_t freq) { double msn; uint32_t fvco; if ((i<0)||(i>1)) return(-1); // Check VFO range if (vfo[i].freq == freq) return(0); // Nothing to do fvco = freq*vfo[i].msi*vfo[i].ri; // Required Fvco if ((fvco>=SI_VCO_LO)&&(fvco #include #include "pico/stdlib.h" #include "pico/sem.h" #include "hardware/i2c.h" #include "hardware/spi.h" #include "hardware/gpio.h" #include "hardware/timer.h" #include "hardware/clocks.h" #include "uSDR.h" #include "hmi.h" #include "lcd.h" #include "dsp.h" #include "si5351.h" #include "monitor.h" #include "relay.h" /* * Wrappers around i2c_write_blocking() and i2c_read_blocking() * The SDK functions return too soon, potentially causing overlapping calls */ int i2c_put_data(i2c_inst_t *i2c, uint8_t addr, const uint8_t *src, size_t len, bool nostop) { int r = i2c_write_timeout_us(i2c, addr, src, len, nostop, I2C_XACT_US(len)); //sleep_us(I2C_LINGER_US); return(r); } int i2c_get_data(i2c_inst_t *i2c, uint8_t addr, uint8_t *dst, size_t len, bool nostop) { int r = i2c_read_timeout_us(i2c, addr, dst, len, nostop, I2C_XACT_US(len)); //sleep_us(I2C_LINGER_US); return(r); } /* * LED TIMER definition and callback routine */ struct repeating_timer led_timer; bool led_callback(struct repeating_timer *t) { static bool led_state; gpio_put(PICO_DEFAULT_LED_PIN, led_state); led_state = (led_state?false:true); return true; } /* * Scheduler callback function. * This executes every LOOP_MS. */ semaphore_t loop_sem; struct repeating_timer loop_timer; bool loop_callback(struct repeating_timer *t) { sem_release(&loop_sem); return(true); } int main() { /* * Main loop rnning on Core 0 * Optional: increase core voltage (normally 1.1V) * Optional: overclock the CPU to 250MHz (normally 125MHz) * Note that clk_peri (e.g. I2C) is derived from the SYS PLL * Note that clk_adc sampling clock is derived from the 48MHz USB PLL. */ //vreg_set_voltage(VREG_VOLTAGE_1_25); sleep_ms(10); //set_sys_clock_khz(250000, false); sleep_ms(10); /* * Initialize LED pin output */ gpio_init(PICO_DEFAULT_LED_PIN); gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); gpio_put(PICO_DEFAULT_LED_PIN, true); // Set LED on add_repeating_timer_ms(-LED_MS, led_callback, NULL, &led_timer); /* * i2c0 is used for the si5351 and expander interfaces * spi1 is used for the LCD interface * Do not invoke i2c functions from interrupt handlers! */ i2c_init(i2c0, I2C0_CLOCK); // i2c0 initialisation gpio_set_function(I2C0_SDA, GPIO_FUNC_I2C); gpio_set_function(I2C0_SCL, GPIO_FUNC_I2C); gpio_pull_up(I2C0_SDA); gpio_pull_up(I2C0_SCL); spi_init(spi1, SPI1_CLOCK); // spi1 initialisation at 40 MHz gpio_set_function(LCD_CLK, GPIO_FUNC_SPI); gpio_set_function(LCD_MOSI, GPIO_FUNC_SPI); spi_set_format(spi1, 8, SPI_CPOL_0, SPI_CPHA_0, SPI_MSB_FIRST); // 8 bit transfer, clock idle low, clock rising edge /* Initialize the SW units */ si_enable(0, false); // Disable VFO mon_init(); // Monitor shell on stdio lcd_init(); // LCD output unit hmi_init(); // HMI user inputs si_init(); // VFO control unit dsp_init(); // Signal processing unit relay_init(); /* A simple round-robin scheduler */ sem_init(&loop_sem, 1, 1) ; add_repeating_timer_ms(-LOOP_MS, loop_callback, NULL, &loop_timer); while (1) { sem_acquire_blocking(&loop_sem); // Wait until timer callback releases sem hmi_evaluate(); // Refresh HMI (and VFO, BPF, etc) mon_evaluate(); // Check monitor input } return 0; } ================================================ FILE: uSDR.h ================================================ #ifndef __USDR_H__ #define __USDR_H__ /* * uSDR.h * * Created: Aug 2022 * Author: Arjan te Marvelde * * This file contains the system-wide definitions and platform services. * */ #include "hardware/i2c.h" #define DSP_FFT 1 // Set this to 1 when FFT engine must be used #define CH_I 0 // I channel index for ADC, DAC, etc #define CH_Q 1 // Q channel index for ADC, DAC, etc #define CH_A 2 // A channel index for ADC, DAC, etc /* GPIO assignments and pinning*/ #define GP_AUX0 0 // Pin 1: Auxiliary 0 #define GP_AUX1 1 // Pin 2: Auxiliary 1 #define GP_AUX2 2 // Pin 4: Auxiliary 2 #define GP_AUX3 3 // Pin 5: Auxiliary 3 #define GP_ENC_A 4 // Pin 6: Encoder channel A #define GP_ENC_B 5 // Pin 7: Encoder channel B #define GP_BTN_0 6 // Pin 9: Cancel #define GP_BTN_1 7 // Pin 10: Right move #define GP_BTN_2 8 // Pin 11: Left move #define GP_BTN_3 9 // Pin 12: Accept #define LCD_BL 10 // Pin 14: LCD backlight, on #define LCD_RST 11 // Pin 15: LCD reset, on #define LCD_DC 12 // Pin 16: LCD data/control, on #define LCD_CS 13 // Pin 17: LCD Chip select (NC, always low) #define LCD_CLK 14 // Pin 19: LCD SPI clock #define LCD_MOSI 15 // Pin 20: LCD SPI data #define I2C0_SDA 16 // Pin 21: I2C channel 0 - data #define I2C0_SCL 17 // Pin 22: I2C channel 0 - clock #define GP_PTT_OUT 18 // Pin 24: Output PTT to bus, TX=1, RX=0 #define GP_PTT_IN 19 // Pin 25: Input PTT from Mic, TX=0, RX=1 #define DAC_Q 20 // Pin 26: PWM DAC Q channel #define DAC_I 21 // Pin 27: PWM DAC I channel #define DAC_A 22 // Pin 29: PWM DAC A channel #define PICO_RESET -1 // Pin 30: CPU Reset, no SW use #define ADC_I 26 // Pin 31: ADC 0, Q channel #define ADC_Q 27 // Pin 32: ADC 1, I channel #define ADC_A 28 // Pin 34: ADC 2, A channel #define PICO_ADCREF -1 // Pin 35: ADC reference voltage, no SW use #define PICO_3V3OUT -1 // Pin 36: 3V3 supply output, no SW use #define PICO_3V3EN -1 // Pin 37: 3V3 enable input, no SW use #define PICO_VSYS -1 // Pin 39: Vcc (5V) PSU input, no SW use #define PICO_VBUS -1 // Pin 40: Vcc internal, no SW use /* Timer values */ #define LED_MS 1000 // LED flashing, half cycle duration #define LOOP_MS 100 // Core 0 main loop timer (see also uSDR.c) /* I2C addresses */ #define I2C_RX 0x21 // Expander on Rx board #define I2C_BPF 0x20 // Expander on Filter board #define I2C_VFO 0x60 // Si5351A /* I2C settings and wrapper functions (blocking write and read) */ #define I2C0_CLOCK (100*1000) // Clock on i2c bus: 100kHz, cycle=10usec #define I2C_XACT_US(x) ((uint)(x)+1)*10*10*2 // Transaction time: 10 bits * cycle * length int i2c_put_data(i2c_inst_t *i2c, uint8_t addr, const uint8_t *src, size_t len, bool nostop); int i2c_get_data(i2c_inst_t *i2c, uint8_t addr, uint8_t *dst, size_t len, bool nostop); /* SPI settings */ #define SPI1_CLOCK (40*1000*1000) // Clock on spi1 interface: 40MHz /* LCD type selection (see also lcd.c) */ #define LCD_1804 0 // Type 0: Seeed / Grove #define LCD_8574_ADA 1 // Type 1: Adafruit I2C backpack #define LCD_8574_GEN 2 // Type 2: Generic I2C backpack #define LCD_IL9341 3 // Type 3: Graphical 320x240 #define LCD_TYPE LCD_IL9341 // Active selection #endif