From a438f0515f733727bfaa9a1a086ff9fce89e060a Mon Sep 17 00:00:00 2001 From: Edward Emelianov Date: Sun, 18 Apr 2021 21:15:12 +0300 Subject: [PATCH] add pre-pre-alpha RGB_LED_Screen --- F1-nolib/RGB_LED_Screen/Makefile | 139 + F1-nolib/RGB_LED_Screen/RGBLEDscreen.bin | Bin 0 -> 21144 bytes F1-nolib/RGB_LED_Screen/Readme | 6 + F1-nolib/RGB_LED_Screen/font14.h | 4326 +++++++++++++++++++ F1-nolib/RGB_LED_Screen/font16.h | 4322 ++++++++++++++++++ F1-nolib/RGB_LED_Screen/fonts.c | 330 ++ F1-nolib/RGB_LED_Screen/fonts.h | 56 + F1-nolib/RGB_LED_Screen/hardware.c | 162 + F1-nolib/RGB_LED_Screen/hardware.h | 72 + F1-nolib/RGB_LED_Screen/img/P4RGBmatrix.jpg | Bin 0 -> 301058 bytes F1-nolib/RGB_LED_Screen/img/p4.gif | Bin 0 -> 55905 bytes F1-nolib/RGB_LED_Screen/main.c | 129 + F1-nolib/RGB_LED_Screen/proto.c | 258 ++ F1-nolib/RGB_LED_Screen/proto.h | 31 + F1-nolib/RGB_LED_Screen/screen.c | 200 + F1-nolib/RGB_LED_Screen/screen.c.autosave | 200 + F1-nolib/RGB_LED_Screen/screen.h | 63 + F1-nolib/RGB_LED_Screen/usb.c | 167 + F1-nolib/RGB_LED_Screen/usb.h | 33 + F1-nolib/RGB_LED_Screen/usb_defs.h | 102 + F1-nolib/RGB_LED_Screen/usb_lib.c | 476 ++ F1-nolib/RGB_LED_Screen/usb_lib.h | 184 + 22 files changed, 11256 insertions(+) create mode 100644 F1-nolib/RGB_LED_Screen/Makefile create mode 100755 F1-nolib/RGB_LED_Screen/RGBLEDscreen.bin create mode 100644 F1-nolib/RGB_LED_Screen/Readme create mode 100644 F1-nolib/RGB_LED_Screen/font14.h create mode 100644 F1-nolib/RGB_LED_Screen/font16.h create mode 100644 F1-nolib/RGB_LED_Screen/fonts.c create mode 100644 F1-nolib/RGB_LED_Screen/fonts.h create mode 100644 F1-nolib/RGB_LED_Screen/hardware.c create mode 100644 F1-nolib/RGB_LED_Screen/hardware.h create mode 100644 F1-nolib/RGB_LED_Screen/img/P4RGBmatrix.jpg create mode 100644 F1-nolib/RGB_LED_Screen/img/p4.gif create mode 100644 F1-nolib/RGB_LED_Screen/main.c create mode 100644 F1-nolib/RGB_LED_Screen/proto.c create mode 100644 F1-nolib/RGB_LED_Screen/proto.h create mode 100644 F1-nolib/RGB_LED_Screen/screen.c create mode 100644 F1-nolib/RGB_LED_Screen/screen.c.autosave create mode 100644 F1-nolib/RGB_LED_Screen/screen.h create mode 100644 F1-nolib/RGB_LED_Screen/usb.c create mode 100644 F1-nolib/RGB_LED_Screen/usb.h create mode 100644 F1-nolib/RGB_LED_Screen/usb_defs.h create mode 100644 F1-nolib/RGB_LED_Screen/usb_lib.c create mode 100644 F1-nolib/RGB_LED_Screen/usb_lib.h diff --git a/F1-nolib/RGB_LED_Screen/Makefile b/F1-nolib/RGB_LED_Screen/Makefile new file mode 100644 index 0000000..7b58cb5 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/Makefile @@ -0,0 +1,139 @@ +BINARY = RGBLEDscreen +BOOTPORT ?= /dev/ttyUSB0 +BOOTSPEED ?= 115200 +# MCU FAMILY +FAMILY ?= F1 +# MCU code +MCU ?= F103x8 +# density (stm32f10x.h, lines 70-84) +DENSITY ?= MD +# change this linking script depending on particular MCU model, +LDSCRIPT ?= stm32f103x8.ld +# debug +DEFS = -DEBUG + +INDEPENDENT_HEADERS= + +FP_FLAGS ?= -msoft-float -mfloat-abi=soft +ASM_FLAGS ?= -mthumb -mcpu=cortex-m3 -mfix-cortex-m3-ldrd +ARCH_FLAGS = $(ASM_FLAGS) $(FP_FLAGS) + +############################################################################### +# Executables +#PREFIX ?= arm-none-eabi +# gcc from arm web site +PREFIX ?= /opt/bin/arm-none-eabi +TOOLCHLIB ?= /opt/arm-none-eabi/lib +RM := rm -f +RMDIR := rmdir +CC := $(PREFIX)-gcc +# don't replace ld with gcc: the binary size would be much greater!! +LD := $(PREFIX)-ld +AR := $(PREFIX)-ar +AS := $(PREFIX)-as +SIZE := $(PREFIX)-size +OBJCOPY := $(PREFIX)-objcopy +OBJDUMP := $(PREFIX)-objdump +GDB := $(PREFIX)-gdb +STFLASH := $(shell which st-flash) +STBOOT := $(shell which stm32flash) +DFUUTIL := $(shell which dfu-util) + +############################################################################### +# Source files +OBJDIR = mk +SRC := $(wildcard *.c) +OBJS := $(addprefix $(OBJDIR)/, $(SRC:%.c=%.o)) +STARTUP = $(OBJDIR)/startup.o +OBJS += $(STARTUP) +# dependencies: we need them to recompile files if their headers-dependencies changed +DEPS := $(OBJS:.o=.d) + +INC_DIR ?= ../inc + +INCLUDE := -I$(INC_DIR)/Fx -I$(INC_DIR)/cm +LIB_DIR := $(INC_DIR)/ld + +############################################################################### +# C flags +CFLAGS += -O2 -g -D__thumb2__=1 -MD -Wl,--gc-sections +CFLAGS += -Wall -Werror -Wextra -Wshadow +CFLAGS += -fno-common -ffunction-sections -fdata-sections -fno-stack-protector +CFLAGS += $(ARCH_FLAGS) + +############################################################################### +# Linker flags +LDFLAGS += -nostartfiles --static -nostdlibs --gc-sections +LDFLAGS += -L$(LIB_DIR) -L$(TOOLCHLIB) +LDFLAGS += -T$(LDSCRIPT) + +############################################################################### +# Used libraries +LDLIBS += -lc $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) + +DEFS += -DSTM32$(FAMILY) -DSTM32$(MCU) -DSTM32F10X_$(DENSITY) + +ELF := $(OBJDIR)/$(BINARY).elf +LIST := $(OBJDIR)/$(BINARY).list +BIN := $(BINARY).bin +HEX := $(BINARY).hex + +all: bin list size + +elf: $(ELF) +bin: $(BIN) +hex: $(HEX) +list: $(LIST) + +ifneq ($(MAKECMDGOALS),clean) +-include $(DEPS) +endif + +$(OBJDIR): + mkdir $(OBJDIR) + +$(STARTUP): $(INC_DIR)/startup/vector.c + $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) -o $@ -c $< + +$(OBJDIR)/%.o: %.c + @echo " CC $<" + $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) -o $@ -c $< + +$(BIN): $(ELF) + @echo " OBJCOPY $(BIN)" + $(OBJCOPY) -Obinary $(ELF) $(BIN) + +$(HEX): $(ELF) + @echo " OBJCOPY $(HEX)" + $(OBJCOPY) -Oihex $(ELF) $(HEX) + +$(LIST): $(ELF) + @echo " OBJDUMP $(LIST)" + $(OBJDUMP) -S $(ELF) > $(LIST) + +$(ELF): $(OBJDIR) $(OBJS) + @echo " LD $(ELF)" + $(LD) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $(ELF) + +size: $(ELF) + $(SIZE) $(ELF) + +clean: + @echo " CLEAN" + $(RM) $(OBJS) $(DEPS) $(ELF) $(HEX) $(LIST) + @rmdir $(OBJDIR) 2>/dev/null || true + + +flash: $(BIN) + @echo " FLASH $(BIN)" + $(STFLASH) write $(BIN) 0x8000000 + +boot: $(BIN) + @echo " LOAD $(BIN) through bootloader" + $(STBOOT) -b$(BOOTSPEED) $(BOOTPORT) -w $(BIN) + +dfuboot: $(BIN) + @echo " LOAD $(BIN) THROUGH DFU" + $(DFUUTIL) -a0 -D $(BIN) -s 0x08000000 + +.PHONY: clean flash boot diff --git a/F1-nolib/RGB_LED_Screen/RGBLEDscreen.bin b/F1-nolib/RGB_LED_Screen/RGBLEDscreen.bin new file mode 100755 index 0000000000000000000000000000000000000000..93a1f02f1a0c12e5ace15698c8c339a3a6559dde GIT binary patch literal 21144 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 literal 0 HcmV?d00001 diff --git a/F1-nolib/RGB_LED_Screen/Readme b/F1-nolib/RGB_LED_Screen/Readme new file mode 100644 index 0000000..bed9c41 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/Readme @@ -0,0 +1,6 @@ +HUB75E-based RGB LED panel management + +886 color (RRRGGGBB) + + +// the better fonts management is in Chronometer-v3 \ No newline at end of file diff --git a/F1-nolib/RGB_LED_Screen/font14.h b/F1-nolib/RGB_LED_Screen/font14.h new file mode 100644 index 0000000..e33c54c --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/font14.h @@ -0,0 +1,4326 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +// this file should be included JUST ONCE! +// only in fonts.c + +// font14: matrix 16x16 bits -> 32 bytes per symbol +#define FONT14BYTES 32 +#define FONT14HEIGHT 16 +#define FONT14BASELINE 2 + +//------------------------------------------------------------------------------ +// Font author: Nadyrshin Ruslan, +// https://www.youtube.com/channel/UChButpZaL5kUUl_zTyIDFkQ +//------------------------------------------------------------------------------ + +// Font 14px height, full matrix is 32x32px +// first number is symbol width, another are symbol data +const uint8_t font14_table[SYMBOLS_AMOUNT *(FONT14BYTES+1)] = { + // 0x20 - ' ' + 4, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x21 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x22 + , + 7, + ________,________, + ________,________, + XX__XX__,________, + XX__XX__,________, + XX__XX__,________, + XX__XX__,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x23 + , + 8, + ________,________, + ________,________, + __XX_XX_,________, + __XX_XX_,________, + __XX_XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + _XX_XX__,________, + _XX_XX__,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX_XX___,________, + XX_XX___,________, + ________,________, + ________,________, + ________,________ + // 0x24 + , + 8, + ________,________, + ___X____,________, + __XXX___,________, + _XXXXX__,________, + XX_X_XX_,________, + XX_X____,________, + XXXX____,________, + _XXXX___,________, + __XXXX__,________, + ___XXXX_,________, + XX_X_XX_,________, + XX_X_XX_,________, + _XXXXX__,________, + __XXX___,________, + ___X____,________, + ________,________ + // 0x25 + , + 16, + ________,________, + ________,________, + _XXXX___,__XX____, + XX__XX__,_XX_____, + XX__XX__,_XX_____, + XX__XX__,XX______, + XX__XX_X,X_______, + _XXXX__X,X_______, + ______XX,__XXXX__, + ______XX,_XX__XX_, + _____XX_,_XX__XX_, + _____XX_,_XX__XX_, + ____XX__,_XX__XX_, + ___XX___,__XXXX__, + ________,________, + ________,________ + // 0x26 + , + 12, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + _XX___XX,________, + _XX___XX,________, + __XXXXX_,________, + __XXXX__,________, + _XX_XX__,X_______, + XX__XXX_,XX______, + XX___XXX,X_______, + XX____XX,XX______, + _XXXXXXX,XXX_____, + __XXXX__,_X______, + ________,________, + ________,________ + // 0x27 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x28 + , + 5, + __XX____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + __XX____,________, + ________,________ + // 0x29 + , + 5, + XX______,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XX______,________, + ________,________ + // 0x2A + , + 8, + ________,________, + _X_X_X__,________, + __XXX___,________, + XXXXXXX_,________, + __XXX___,________, + _X_X_X__,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2B + , + 9, + ________,________, + ________,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + XXXXXXXX,________, + XXXXXXXX,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2C + , + 3, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + _X______,________, + _X______,________, + X_______,________ + // 0x2D + , + 6, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXX___,________, + XXXXX___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2E + , + 3, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________ + // 0x2F + , + 5, + ________,________, + ________,________, + __XX____,________, + __XX____,________, + __XX____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________ + // 0x30 + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x31 + , + 6, + ________,________, + ________,________, + ___XX___,________, + __XXX___,________, + _XXXX___,________, + XX_XX___,________, + X__XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________ + // 0x32 + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX___XX,________, + XX____XX,________, + ______XX,________, + _____XX_,________, + ____XXX_,________, + ___XXX__,________, + __XXX___,________, + _XX_____,________, + XXXXXXXX,________, + XXXXXXXX,________, + ________,________, + ________,________ + // 0x33 + , + 9, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + XX____XX,________, + ______XX,________, + ___XXXX_,________, + ___XXXX_,________, + _____XXX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x34 + , + 9, + ________,________, + ________,________, + _____XX_,________, + ____XXX_,________, + ____XXX_,________, + ___XXXX_,________, + __XX_XX_,________, + __XX_XX_,________, + _XX__XX_,________, + XX___XX_,________, + XXXXXXXX,________, + XXXXXXXX,________, + _____XX_,________, + _____XX_,________, + ________,________, + ________,________ + // 0x35 + , + 9, + ________,________, + ________,________, + _XXXXXX_,________, + _XXXXXX_,________, + _XX_____,________, + XXX_____,________, + XXXXXX__,________, + XXXXXXX_,________, + XX___XXX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x36 + , + 9, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + _XX___XX,________, + XX______,________, + XX_XXX__,________, + XXXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + _XX___XX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x37 + , + 9, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + _____XX_,________, + ____XX__,________, + ____XX__,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + __XXX___,________, + __XX____,________, + __XX____,________, + __XX____,________, + ________,________, + ________,________ + // 0x38 + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + _XXXXXX_,________, + _XXXXXX_,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x39 + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XX___XX_,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + ______XX,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXXX__,________, + ________,________, + ________,________ + // 0x3A + , + 3, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3B + , + 3, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + _X______,________, + _X______,________, + X_______,________, + ________,________ + // 0x3C + , + 9, + ________,________, + ________,________, + ________,________, + _______X,________, + _____XXX,________, + ___XXXX_,________, + _XXXX___,________, + XXX_____,________, + _XXXX___,________, + ___XXXX_,________, + _____XXX,________, + _______X,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3D + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3E + , + 9, + ________,________, + ________,________, + ________,________, + X_______,________, + XXX_____,________, + _XXXX___,________, + ___XXXX_,________, + _____XXX,________, + ___XXXX_,________, + _XXXX___,________, + XXX_____,________, + X_______,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3F + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX___XX,________, + XX____XX,________, + _____XXX,________, + ____XXX_,________, + ___XXX__,________, + ___XX___,________, + ___XX___,________, + ________,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________ + // 0x40 + , + 16, + _____XXX,XXX_____, + ___XXXXX,XXXXX___, + __XXX___,___XXX__, + _XXX__XX,X_XXXX__, + _XX_XXXX,XXXX_XX_, + XXX_XX__,_XXX_XX_, + XX_XX___,_XX__XX_, + XX_XX___,_XX__XX_, + XX_XX___,_XX__XX_, + XX_XX___,XXX_XX__, + XX_XXXXX,XXXXX___, + _XX_XXXX,_XXX____, + _XXX____,_____XX_, + __XXX___,___XXX__, + ___XXXXX,XXXXX___, + _____XXX,XXX_____ + // 0x41 + , + 12, + ________,________, + ________,________, + ____XXX_,________, + ____XXX_,________, + ___XX_XX,________, + ___XX_XX,________, + ___XX_XX,________, + __XX___X,X_______, + __XX___X,X_______, + __XXXXXX,X_______, + _XXXXXXX,XX______, + _XX_____,XX______, + _XX_____,XX______, + XX______,_XX_____, + ________,________, + ________,________ + // 0x42 + , + 11, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0x43 + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,X_______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0x44 + , + 11, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXX_,________, + ________,________, + ________,________ + // 0x45 + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0x46 + , + 9, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x47 + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX___XXX,XX______, + XX___XXX,XX______, + XX______,XX______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0x48 + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0x49 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x4A + , + 9, + ________,________, + ________,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x4B + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,X_______, + XX____XX,________, + XX___XX_,________, + XX__XX__,________, + XX_XXXX_,________, + XXXX_XX_,________, + XXX___XX,________, + XX____XX,________, + XX_____X,X_______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0x4C + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,________, + XXXXXXXX,________, + ________,________, + ________,________ + // 0x4D + , + 12, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_X___X,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0x4E + , + 11, + ________,________, + ________,________, + XX______,XX______, + XXX_____,XX______, + XXXX____,XX______, + XXXX____,XX______, + XX_XX___,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX___XX_,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0x4F + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0x50 + , + 10, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x51 + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX__XX__,XX______, + _XX__XXX,X_______, + _XXXXXXX,X_______, + ___XXX_X,X_______, + ________,XX______, + ________,________ + // 0x52 + , + 12, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX_____X,XX______, + XXXXXXXX,X_______, + XXXXXXX_,________, + XX___XXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX_____X,XX______, + XX______,XXX_____, + ________,________, + ________,________ + // 0x53 + , + 10, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XXXX____,________, + _XXXXXX_,________, + ___XXXXX,________, + ______XX,X_______, + XX_____X,X_______, + XXX___XX,X_______, + _XXXXXXX,________, + __XXXXX_,________, + ________,________, + ________,________ + // 0x54 + , + 11, + ________,________, + ________,________, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0x55 + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XXX____X,XX______, + _XXXXXXX,X_______, + __XXXXXX,________, + ________,________, + ________,________ + // 0x56 + , + 12, + ________,________, + ________,________, + XX______,_XX_____, + XX______,_XX_____, + _XX_____,XX______, + _XX_____,XX______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + ___XX_XX,________, + ___XX_XX,________, + ____XXX_,________, + ____XXX_,________, + ____XXX_,________, + ________,________, + ________,________ + // 0x57 + , + 16, + ________,________, + ________,________, + XX____XX,X____XX_, + XXX___XX,X____XX_, + _XX___XX,X___XX__, + _XX__XX_,XX__XX__, + _XX__XX_,XX__XX__, + __XX_XX_,XX_XX___, + __XX_XX_,XX_XX___, + __XX_XX_,XX_XX___, + ___XXX__,_XXXX___, + ___XXX__,_XXX____, + ___XXX__,_XXX____, + ___XXX__,_XXX____, + ________,________, + ________,________ + // 0x58 + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XXX___XX,X_______, + _XX___XX,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + __XXXXX_,________, + __XX_XX_,________, + _XX___XX,________, + XXX___XX,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0x59 + , + 11, + ________,________, + ________,________, + XX______,XX______, + XXX____X,XX______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0x5A + , + 10, + ________,________, + ________,________, + _XXXXXXX,X_______, + _XXXXXXX,X_______, + ______XX,________, + _____XX_,________, + ____XXX_,________, + ____XX__,________, + ___XX___,________, + __XXX___,________, + __XX____,________, + _XX_____,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0x5B + , + 5, + ________,________, + XXXX____,________, + XXXX____,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXX____,________, + XXXX____,________, + ________,________ + // 0x5C + , + 5, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + __XX____,________, + __XX____,________, + __XX____,________, + ________,________, + ________,________ + // 0x5D + , + 5, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXXX____,________, + XXXX____,________, + ________,________ + // 0x5E + , + 9, + ________,________, + ________,________, + ___XX___,________, + __XXXX__,________, + __XXXX__,________, + _XX__XX_,________, + _XX__XX_,________, + XX____XX,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x5F + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + ________,________ + // 0x60 + , + 4, + ________,________, + XXX_____,________, + _XX_____,________, + __XX____,________, + ____X___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x61 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + ___XXXX_,________, + _XXXXXX_,________, + XXX__XX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0x62 + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX_XXX__,________, + XXXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + ________,________, + ________,________ + // 0x63 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XX_,________, + XX______,________, + XX______,________, + XX______,________, + XXX__XX_,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x64 + , + 9, + ________,________, + ________,________, + ______XX,________, + ______XX,________, + ______XX,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + ________,________, + ________,________ + // 0x65 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0x66 + , + 7, + ________,________, + ________,________, + __XXXX__,________, + _XXXXX__,________, + _XX_____,________, + XXXXX___,________, + XXXXX___,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + ________,________, + ________,________ + // 0x67 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________ + // 0x68 + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0x69 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x6A + , + 4, + ________,________, + ________,________, + _XX_____,________, + _XX_____,________, + ________,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XXX_____,________, + XX______,________ + // 0x6B + , + 8, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX___XX_,________, + XX__XX__,________, + XX_XX___,________, + XXXXX___,________, + XXXXX___,________, + XXX_XX__,________, + XX__XX__,________, + XX___XX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0x6C + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x6D + , + 13, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXX__,XXX_____, + XXXXXXXX,XXXX____, + XXX__XXX,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0x6E + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0x6F + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x70 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + XX______,________, + XX______,________ + // 0x71 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + ______XX,________, + ______XX,________, + ______XX,________ + // 0x72 + , + 6, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XX___,________, + XXXXX___,________, + XXX_____,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x73 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + XXXX____,________, + _XXXXX__,________, + ___XXXX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXXX__,________, + ________,________, + ________,________ + // 0x74 + , + 6, + ________,________, + ________,________, + __X_____,________, + _XX_____,________, + _XX_____,________, + XXXXX___,________, + XXXXX___,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XXXX___,________, + __XXX___,________, + ________,________, + ________,________ + // 0x75 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX___XXX,________, + XXXXXXXX,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0x76 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XX___XX_,________, + XX___XX_,________, + _XX_XX__,________, + _XX_XX__,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + ________,________, + ________,________ + // 0x77 + , + 14, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XXX,___XX___, + XX___XXX,___XX___, + _XX__XXX,__XX____, + _XX_XX_X,X_XX____, + _XX_XX_X,X_XX____, + _XX_XX_X,X_XX____, + __XXX___,XXX_____, + __XXX___,XXX_____, + __XXX___,XXX_____, + ________,________, + ________,________ + // 0x78 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XXX_XXX_,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + _XX_XX__,________, + XXX_XXX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0x79 + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_____X,X_______, + _XX___XX,________, + _XX___XX,________, + __XX_XX_,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + ___XX___,________, + _XXXX___,________, + _XXX____,________ + // 0x7A + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ____XX__,________, + ___XXX__,________, + __XXX___,________, + _XXX____,________, + _XX_____,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0x7B + , + 7, + ________,________, + ___XXX__,________, + __XXXX__,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXX_____,________, + XXX_____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XXXX__,________, + ___XXX__,________, + ________,________ + // 0x7C + , + 3, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________ + // 0x7D + , + 7, + ________,________, + XXX_____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + ___XXX__,________, + ___XXX__,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXXX____,________, + XXX_____,________, + ________,________ + // 0x7E + , + 9, + ________,________, + ________,________, + _XXX___X,________, + XXXXXXXX,________, + X___XXX_,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x7F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x80 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x81 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x82 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x83 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x84 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x85 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x86 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x87 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x88 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x89 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8A + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8B + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8C + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8D + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8E + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x90 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x91 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x92 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x93 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x94 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x95 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x96 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x97 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x98 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x99 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9A + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9B + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9C + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9D + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9E + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA0 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA1 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA2 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA3 - £ + , + 8, + ________,________, + ________,________, + _XX_XX__,________, + _XX_XX__,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0xA4 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA5 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA6 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA7 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA8 + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA9 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAA + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAB + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAC + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAD + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAE + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAF + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB0 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB1 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB2 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB3 - ³ + , + 10, + __XX_XX_,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0xB4 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB5 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB6 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB7 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB8 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB9 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBA + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBB + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBC + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBD + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBE + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBF + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xC0 - À + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XXX,X_______, + XX__XXXX,XX______, + XX_XXX__,XXX_____, + XXXXX___,_XX_____, + XXXXX___,_XX_____, + XX_XX___,_XX_____, + XX_XXX__,XXX_____, + XX__XXXX,XX______, + XX___XXX,X_______, + ________,________, + ________,________ + // 0xC1 - Á + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + ___XXXX_,________, + _XXXXXX_,________, + XXX__XX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0xC2 -  + , + 9, + ________,________, + ______X_,________, + _XXXXXX_,________, + XXXXXX__,________, + XX______,________, + XXXXXX__,________, + XXXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xC3 - à + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + _______X,X_______, + _______X,X_______ + // 0xC4 - Ä + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ___XXXXX,X_______, + __XXXXXX,X_______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + _XX____X,X_______, + XXXXXXXX,XXX_____, + XXXXXXXX,XXX_____, + XX______,_XX_____, + XX______,_XX_____ + // 0xC5 - Å + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0xC6 - Æ + , + 13, + ________,________, + ________,________, + ________,________, + _____XX_,________, + _____XX_,________, + __XXXXXX,XX______, + _XXXXXXX,XXX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + _XXXXXXX,XXX_____, + __XXXXXX,XX______, + _____XX_,________, + _____XX_,________ + // 0xC7 - Ç + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xC8 - È + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XXX_XXX_,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + _XX_XX__,________, + XXX_XXX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0xC9 - É + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX___XXX,________, + XX__XXXX,________, + XX_XXXXX,________, + XXXXX_XX,________, + XXXX__XX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCA - Ê + , + 9, + ________,________, + __X__X__,________, + __XXXX__,________, + ___XX___,________, + ________,________, + XX____XX,________, + XX___XXX,________, + XX__XXXX,________, + XX_XXXXX,________, + XXXXX_XX,________, + XXXX__XX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCB - Ë + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XX___XX_,________, + XX__XX__,________, + XXXX____,________, + XXXX____,________, + XX__XX__,________, + XX___XX_,________, + XX___XX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0xCC - Ì + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXXXX,________, + _XXXXXXX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + XXX___XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCD - Í + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0xCE - Î + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCF - Ï + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xD0 - Ð + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xD1 - Ñ + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXXX,________, + __XX__XX,________, + _XX___XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xD2 - Ò + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + XX______,________, + XX______,________ + // 0xD3 - Ó + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XX_,________, + XX______,________, + XX______,________, + XX______,________, + XXX__XX_,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xD4 - Ô + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________ + // 0xD5 - Õ + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ___XXXX_,________, + ____XX__,________, + _XXXX___,________, + _XXX____,________ + // 0xD6 - Ö + , + 13, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,__XX____, + _XX__XX_,_XX_____, + __XX_XX_,XX______, + __XX_XX_,XX______, + ____XXXX,________, + __XX_XX_,XX______, + _XX__XX_,_XX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0xD7 - × + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + XXXXXX__,________, + XXXXXX__,________, + XX___XX_,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXX__,________, + ________,________, + ________,________ + // 0xD8 - Ø + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0xD9 - Ù + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,_XX_____, + XX______,_XX_____, + XX______,_XX_____, + XXXXXXX_,_XX_____, + XXXXXXXX,_XX_____, + XX____XX,_XX_____, + XX____XX,_XX_____, + XXXXXXXX,_XX_____, + XXXXXXX_,_XX_____, + ________,________, + ________,________ + // 0xDA - Ú + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXX_,________, + XXXXXXXX,________, + ______XX,________, + ____XXX_,________, + ____XXXX,________, + ______XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________, + ________,________, + ________,________ + // 0xDB - Û + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ________,________, + ________,________ + // 0xDC - Ü + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXX_,________, + XXXXXXXX,________, + XX____XX,________, + ____XXXX,________, + ____XXXX,________, + ______XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________, + ________,________, + ________,________ + // 0xDD - Ý + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XXXXXXXX,XX______, + XXXXXXXX,XXX_____, + ________,_XX_____, + ________,_XX_____ + // 0xDE - Þ + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXXX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ________,________, + ________,________ + // 0xDF - ß + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XXXXXX,X_______, + __XXXXXX,XX______, + __XX____,XX______, + __XX____,XX______, + __XXXXXX,XX______, + __XXXXXX,X_______, + ________,________, + ________,________ + // 0xE0 - à + , + 14, + ________,________, + ________,________, + XX_____X,XX______, + XX___XXX,XXXX____, + XX___XX_,__XX____, + XX__XX__,___XX___, + XX__XX__,___XX___, + XXXXXX__,___XX___, + XXXXXX__,___XX___, + XX__XX__,___XX___, + XX__XX__,___XX___, + XX___XX_,__XX____, + XX___XXX,XXXX____, + XX_____X,XX______, + ________,________, + ________,________ + // 0xE1 - á + , + 12, + ________,________, + ________,________, + ____XXX_,________, + ____XXX_,________, + ___XX_XX,________, + ___XX_XX,________, + ___XX_XX,________, + __XX___X,X_______, + __XX___X,X_______, + __XXXXXX,X_______, + _XXXXXXX,XX______, + _XX_____,XX______, + _XX_____,XX______, + XX______,_XX_____, + ________,________, + ________,________ + // 0xE2 - â + , + 11, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0xE3 - ã + , + 11, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ________,XX______, + ________,XX______ + // 0xE4 - ä + , + 13, + ________,________, + ________,________, + ____XXXX,XX______, + ___XXXXX,XX______, + ___XX___,XX______, + ___XX___,XX______, + ___XX___,XX______, + __XX____,XX______, + __XX____,XX______, + __XX____,XX______, + __XX____,XX______, + _XX_____,XX______, + XXXXXXXX,XXXX____, + XXXXXXXX,XXXX____, + XX______,__XX____, + XX______,__XX____ + // 0xE5 - å + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0xE6 - æ + , + 15, + ________,________, + ________,________, + ______XX,________, + ___XXXXX,XXX_____, + _XXXXXXX,XXXXX___, + _XX___XX,___XX___, + XX____XX,____XX__, + XX____XX,____XX__, + XX____XX,____XX__, + XX____XX,____XX__, + _XX___XX,___XX___, + _XXXXXXX,XXXXX___, + ___XXXXX,XXX_____, + ______XX,________, + ________,________, + ________,________ + // 0xD5 + // 0xE7 - ç + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xE8 - è + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XXX___XX,X_______, + _XX___XX,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + __XXXXX_,________, + __XX_XX_,________, + _XX___XX,________, + XXX___XX,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xE9 - é + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX___XX_,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX_XX___,XX______, + XXXX____,XX______, + XXXX____,XX______, + XXX_____,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEA - ê + , + 11, + ___XXXX_,________, + ____XX__,________, + XX______,XX______, + XX_____X,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX___XX_,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX_XX___,XX______, + XXXX____,XX______, + XXXX____,XX______, + XXX_____,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEB - ë + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,X_______, + XX____XX,________, + XX___XX_,________, + XX__XX__,________, + XX_XXXX_,________, + XXXX_XX_,________, + XXX___XX,________, + XX____XX,________, + XX_____X,X_______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEC - ì + , + 10, + ________,________, + ________,________, + ___XXXXX,X_______, + __XXXXXX,X_______, + __XX___X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + XXX____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xED - í + , + 12, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_X___X,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0xEE - î + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xEF - ï + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0xF0 - ð + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xF1 - ñ + , + 12, + ________,________, + ________,________, + ___XXXXX,XXX_____, + __XXXXXX,XXX_____, + _XXX____,_XX_____, + _XX_____,_XX_____, + _XXX____,_XX_____, + __XXXXXX,XXX_____, + ____XXXX,XXX_____, + ___XXX__,_XX_____, + __XXX___,_XX_____, + __XX____,_XX_____, + _XXX____,_XX_____, + XXX_____,_XX_____, + ________,________, + ________,________ + // 0xF2 - ò + , + 10, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xF3 - ó + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,X_______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0xF4 - ô + , + 11, + ________,________, + ________,________, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0xF5 - õ + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ___XXXX_,________, + ____XX__,________, + ____XX__,________, + _XXXX___,________, + _XXX____,________, + ________,________, + ________,________ + // 0xF6 - ö + , + 13, + ________,________, + ________,________, + XX___XX_,__XX____, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + __XX_XX_,XX______, + ____XXXX,________, + __XX_XX_,XX______, + __XX_XX_,XX______, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0xF7 - ÷ + , + 11, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0xF8 - ø + , + 10, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0xF9 - ù + , + 13, + ________,________, + ________,________, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XXXXXXX_,__XX____, + XXXXXXXX,__XX____, + XX____XX,X_XX____, + XX_____X,X_XX____, + XX____XX,X_XX____, + XXXXXXXX,__XX____, + XXXXXXX_,__XX____, + ________,________, + ________,________ + // 0xFA - ú + , + 9, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + XX____XX,________, + ______XX,________, + ___XXXX_,________, + ___XXXX_,________, + _____XXX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xFB - û + , + 13, + ________,________, + ________,________, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XXXXXXXX,XXXX____, + XXXXXXXX,XXXX____, + ________,________, + ________,________ + // 0xFC - ü + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + XXX____X,X_______, + XX______,XX______, + ________,XX______, + ____XXXX,XX______, + ____XXXX,XX______, + ________,XX______, + XX______,XX______, + XXX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0xFD - ý + , + 14, + ________,________, + ________,________, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XXXXXXXX,XXXXX___, + XXXXXXXX,XXXXX___, + ________,___XX___, + ________,___XX___ + // 0xFE - þ + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XXX_____,XX______, + _XXXXXXX,XX______, + __XXXXXX,XX______, + ________,XX______, + ________,XX______, + ________,XX______, + ________,XX______, + ________,________, + ________,________ + // 0xFF - ÿ + , + 12, + ________,________, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XXXXXX,X_______, + __XXXXXX,XX______, + __XX____,XXX_____, + __XX____,_XX_____, + __XX____,XXX_____, + __XXXXXX,XX______, + __XXXXXX,X_______, + ________,________, + ________,________ +}; + +/* +32 (0x20) - 64 (0x40) - @ 96 (0x60) - ` 128 (0x80) - € 160 (0xa0) -   192 (0xc0) - À 224 (0xe0) - à +33 (0x21) - ! 65 (0x41) - A 97 (0x61) - a 129 (0x81) - 161 (0xa1) - ¡ 193 (0xc1) - Á 225 (0xe1) - á +34 (0x22) - " 66 (0x42) - B 98 (0x62) - b 130 (0x82) - ‚ 162 (0xa2) - ¢ 194 (0xc2) -  226 (0xe2) - â +35 (0x23) - # 67 (0x43) - C 99 (0x63) - c 131 (0x83) - ƒ 163 (0xa3) - £ 195 (0xc3) - à 227 (0xe3) - ã +36 (0x24) - $ 68 (0x44) - D 100 (0x64) - d 132 (0x84) - „ 164 (0xa4) - ¤ 196 (0xc4) - Ä 228 (0xe4) - ä +37 (0x25) - % 69 (0x45) - E 101 (0x65) - e 133 (0x85) - … 165 (0xa5) - ¥ 197 (0xc5) - Å 229 (0xe5) - å +38 (0x26) - & 70 (0x46) - F 102 (0x66) - f 134 (0x86) - † 166 (0xa6) - ¦ 198 (0xc6) - Æ 230 (0xe6) - æ +39 (0x27) - ' 71 (0x47) - G 103 (0x67) - g 135 (0x87) - ‡ 167 (0xa7) - § 199 (0xc7) - Ç 231 (0xe7) - ç +40 (0x28) - ( 72 (0x48) - H 104 (0x68) - h 136 (0x88) - ˆ 168 (0xa8) - ¨ 200 (0xc8) - È 232 (0xe8) - è +41 (0x29) - ) 73 (0x49) - I 105 (0x69) - i 137 (0x89) - ‰ 169 (0xa9) - © 201 (0xc9) - É 233 (0xe9) - é +42 (0x2a) - * 74 (0x4a) - J 106 (0x6a) - j 138 (0x8a) - Š 170 (0xaa) - ª 202 (0xca) - Ê 234 (0xea) - ê +43 (0x2b) - + 75 (0x4b) - K 107 (0x6b) - k 139 (0x8b) - ‹ 171 (0xab) - « 203 (0xcb) - Ë 235 (0xeb) - ë +44 (0x2c) - , 76 (0x4c) - L 108 (0x6c) - l 140 (0x8c) - Œ 172 (0xac) - ¬ 204 (0xcc) - Ì 236 (0xec) - ì +45 (0x2d) - - 77 (0x4d) - M 109 (0x6d) - m 141 (0x8d) - 173 (0xad) - ­ 205 (0xcd) - Í 237 (0xed) - í +46 (0x2e) - . 78 (0x4e) - N 110 (0x6e) - n 142 (0x8e) - Ž 174 (0xae) - ® 206 (0xce) - Î 238 (0xee) - î +47 (0x2f) - / 79 (0x4f) - O 111 (0x6f) - o 143 (0x8f) - 175 (0xaf) - ¯ 207 (0xcf) - Ï 239 (0xef) - ï +48 (0x30) - 0 80 (0x50) - P 112 (0x70) - p 144 (0x90) - 176 (0xb0) - ° 208 (0xd0) - Ð 240 (0xf0) - ð +49 (0x31) - 1 81 (0x51) - Q 113 (0x71) - q 145 (0x91) - ‘ 177 (0xb1) - ± 209 (0xd1) - Ñ 241 (0xf1) - ñ +50 (0x32) - 2 82 (0x52) - R 114 (0x72) - r 146 (0x92) - ’ 178 (0xb2) - ² 210 (0xd2) - Ò 242 (0xf2) - ò +51 (0x33) - 3 83 (0x53) - S 115 (0x73) - s 147 (0x93) - “ 179 (0xb3) - ³ 211 (0xd3) - Ó 243 (0xf3) - ó +52 (0x34) - 4 84 (0x54) - T 116 (0x74) - t 148 (0x94) - ” 180 (0xb4) - ´ 212 (0xd4) - Ô 244 (0xf4) - ô +53 (0x35) - 5 85 (0x55) - U 117 (0x75) - u 149 (0x95) - • 181 (0xb5) - µ 213 (0xd5) - Õ 245 (0xf5) - õ +54 (0x36) - 6 86 (0x56) - V 118 (0x76) - v 150 (0x96) - – 182 (0xb6) - ¶ 214 (0xd6) - Ö 246 (0xf6) - ö +55 (0x37) - 7 87 (0x57) - W 119 (0x77) - w 151 (0x97) - — 183 (0xb7) - · 215 (0xd7) - × 247 (0xf7) - ÷ +56 (0x38) - 8 88 (0x58) - X 120 (0x78) - x 152 (0x98) - ˜ 184 (0xb8) - ¸ 216 (0xd8) - Ø 248 (0xf8) - ø +57 (0x39) - 9 89 (0x59) - Y 121 (0x79) - y 153 (0x99) - ™ 185 (0xb9) - ¹ 217 (0xd9) - Ù 249 (0xf9) - ù +58 (0x3a) - : 90 (0x5a) - Z 122 (0x7a) - z 154 (0x9a) - 186 (0xba) - º 218 (0xda) - Ú 250 (0xfa) - ú +59 (0x3b) - ; 91 (0x5b) - [ 123 (0x7b) - { 155 (0x9b) - › 187 (0xbb) - » 219 (0xdb) - Û 251 (0xfb) - û +60 (0x3c) - < 92 (0x5c) - \ 124 (0x7c) - | 156 (0x9c) - œ 188 (0xbc) - ¼ 220 (0xdc) - Ü 252 (0xfc) - ü +61 (0x3d) - = 93 (0x5d) - ] 125 (0x7d) - } 157 (0x9d) - 189 (0xbd) - ½ 221 (0xdd) - Ý 253 (0xfd) - ý +62 (0x3e) - > 94 (0x5e) - ^ 126 (0x7e) - ~ 158 (0x9e) - ž 190 (0xbe) - ¾ 222 (0xde) - Þ 254 (0xfe) - þ +63 (0x3f) - ? 95 (0x5f) - _ 127 (0x7f) - 159 (0x9f) - Ÿ 191 (0xbf) - ¿ 223 (0xdf) - ß 255 (0xff) - ÿ +*/ diff --git a/F1-nolib/RGB_LED_Screen/font16.h b/F1-nolib/RGB_LED_Screen/font16.h new file mode 100644 index 0000000..37a6bea --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/font16.h @@ -0,0 +1,4322 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +// this file should be included JUST ONCE! +// only in fonts.c + +// font14: matrix 16x16 bits -> 32 bytes per symbol +#define FONT16BYTES 32 +#define FONT16HEIGHT 16 +#define FONT16BASELINE 0 + +// Font 16px height, full matrix is 32x32px +// first number is symbol width, another are symbol data +const uint8_t font16_table[SYMBOLS_AMOUNT *(FONT16BYTES+1)] = { + // 0x20 - ' ' + 4, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x21 + , + 4, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + _X______,________, + ________,________, + ________,________, + _X______,________, + XXX_____,________, + _X______,________ + // 0x22 + , + 8, + _X___X__,________, + XXX_XXX_,________, + _XX__XX_,________, + _X___X__,________, + X___X___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x23 + , + 15, + ________,________, + ______XX,____XX__, + ______XX,____XX__, + _____XX_,___XX___, + _____XX_,___XX___, + __XXXXXX,XXXXXX__, + _XXXXXXX,XXXXX___, + ___XX___,_XX_____, + ___XX___,_XX_____, + _XXXXXXX,XXXXX___, + XXXXXXXX,XXXX____, + _XX____X,X_______, + _XX____X,X_______, + XX____XX,________, + XX____XX,________, + ________,________ + // 0x24 + , + 13, + ____XXXX,________, + __XX__XX,X_______, + _XX___X_,XX______, + _XX___X_,_X______, + __XX__X_,________, + ____XXX_,________, + _____XXX,________, + ______XX,X_______, + ______X_,XXX_____, + ______X_,_XXX____, + ______X_,_XXX____, + _XX___X_,_XXX____, + XX____X_,_XX_____, + _XXX__X_,XXX_____, + ___XXXXX,XX______, + _____XXX,________ + + // 0x25 + , + 16, + __XX____,___XX___, + _XXXX___,__XX____, + XX__XX__,_XX_____, + XX__XX__,_XX_____, + XX__XX__,XX______, + _XXXX___,XX______, + __XX___X,X_______, + _______X,X_______, + ______XX,________, + ______XX,___XX___, + _____XX_,_XXXXXX_, + _____XX_,_XX__XX_, + ____XX__,_XX__XX_, + ____XX__,_XX__XX_, + ___XX___,__XXXX__, + __XX____,___XX___ + // 0x26 + , + 12, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + _XX___XX,________, + _XX___XX,________, + __XXXXX_,________, + __XXXX__,________, + _XX_XX__,X_______, + XX__XXX_,XX______, + XX___XXX,X_______, + XX____XX,XX______, + _XXXXXXX,XXX_____, + __XXXX__,_X______, + ________,________, + ________,________ + // 0x27 + , + 5, + _XX_____,________, + XXXX____,________, + XXXX____,________, + _XX_____,________, + _X______,________, + X_______,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x28 + , + 7, + _____X__,________, + ___XX___,________, + __XX____,________, + _XX_____,________, + _XX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + _XX_____,________, + _XX_____,________, + __XX____,________, + ___XX___,________, + _____X__,________ + // 0x29 + , + 7, + X_______,________, + _XX_____,________, + __XX____,________, + ___XX___,________, + ___XX___,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XX___,________, + ___XX___,________, + __XX____,________, + _XX_____,________, + X_______,________ + // 0x2A + , + 8, + ________,________, + _X_X_X__,________, + __XXX___,________, + XXXXXXX_,________, + __XXX___,________, + _X_X_X__,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2B + , + 9, + ________,________, + ________,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + XXXXXXXX,________, + XXXXXXXX,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2C + , + 4, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _X______,________, + XXX_____,________, + _XX_____,________, + _X______,________, + X_______,________ + // 0x2D + , + 6, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXX___,________, + XXXXX___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x2E + , + 4, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _X______,________, + XXX_____,________, + _X______,________ + // 0x2F + , + 5, + ________,________, + ________,________, + __XX____,________, + __XX____,________, + __XX____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________ + // 0x30 + , + 11, + ___XXX__,________, + __XXXXXX,________, + _XXX_XXX,X_______, + _XXX__XX,X_______, + XXX____X,XX______, + XXX____X,XX______, + XXX____X,XX______, + XXX____X,XX______, + XXX____X,XX______, + XXX____X,XX______, + XXX____X,XX______, + _XX____X,XX______, + _XXX___X,X_______, + _XXXX_XX,X_______, + __XXXXXX,________, + ____XXX_,________ + // 0x31 + , + 8, + _____X__,________, + ____XXX_,________, + ___XXXX_,________, + __XXXXX_,________, + _XX_XXX_,________, + XX__XXX_,________, + X___XXX_,________, + ___XXXX_,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXX__,________, + ___XXXX_,________, + ___XXXX_,________, + ___XXXX_,________ + // 0x32 + , + 11, + ___XXXXX,________, + _XXXX_XX,X_______, + XXX____X,XX______, + XXX____X,XX______, + _XX____X,XX______, + _______X,XX______, + ______XX,X_______, + _____XXX,________, + ____XXX_,________, + ___XXX__,________, + __XXX___,________, + _XXX____,________, + XXX_____,________, + XXX_____,X_______, + XXXXXXXX,X_______, + XXXXXXXX,________ + // 0x33 + , + 10, + __XXXX__,________, + _XX__XX_,________, + XX____XX,________, + ______XX,________, + ______XX,________, + _____XX_,________, + ___XXX__,________, + _____XX_,________, + ______XX,________, + _______X,X_______, + _______X,X_______, + _XX____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + _XX___XX,________, + __XXXXX_,________ + // 0x34 + , + 11, + ________,X_______, + _______X,X_______, + ______XX,X_______, + _____XXX,X_______, + ____XX_X,X_______, + ___XX__X,X_______, + __XX___X,X_______, + _XX____X,X_______, + XX_____X,X_______, + XXXXXXXX,XX______, + _XXXXXXX,XX______, + _______X,X_______, + _______X,X_______, + _______X,X_______, + _______X,X_______, + _______X,X_______ + // 0x35 + , + 10, + XXXXXXXX,X_______, + XXXXXXXX,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXX__,________, + _XXXXXX_,________, + _____XXX,________, + _______X,X_______, + _______X,X_______, + _______X,X_______, + XX_____X,X_______, + XX_____X,X_______, + _XX__XXX,________, + __XXXX__,________ + // 0x36 + , + 10, + ___XXXXX,________, + __XX___X,X_______, + _XX____X,X_______, + _XX_____,________, + XX______,________, + XX______,________, + XX__XX__,________, + X_XXXXXX,________, + XXX___XX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXX____X,X_______, + XXX____X,X_______, + _XXX__XX,________, + __XXXX__,________ + // 0x37 + , + 10, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ______XX,X_______, + _____XXX,________, + _____XX_,________, + ____XXX_,________, + ____XX__,________, + ____XX__,________, + ___XXX__,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + __XXX___,________, + __XX____,________, + __XX____,________, + __XX____,________ + // 0x38 + , + 10, + __XXXXX_,________, + _XX___XX,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + _XX___XX,________, + __XXXXX_,________, + __XXXXX_,________, + _XX___XX,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXX___XX,X_______, + _XXXXXXX,________, + __XXXXX_,________ + // 0x39 + , + 10, + ___XXX__,________, + _XXX_XXX,________, + XXX___XX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXX___XX,X_______, + _XXXXXXX,X_______, + __XXXX_X,X_______, + _______X,X_______, + _______X,X_______, + ______XX,X_______, + XX____XX,________, + XX___XXX,________, + _XX_XXX_,________, + __XXXX__,________ + // 0x3A + , + 4, + ________,________, + ________,________, + ________,________, + ________,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + ________,________, + ________,________, + ________,________, + XXX_____,________, + XXX_____,________, + XXX_____,________, + ________,________, + ________,________, + ________,________ + // 0x3B + , + 3, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + _X______,________, + _X______,________, + X_______,________, + ________,________ + // 0x3C + , + 9, + ________,________, + ________,________, + ________,________, + _______X,________, + _____XXX,________, + ___XXXX_,________, + _XXXX___,________, + XXX_____,________, + _XXXX___,________, + ___XXXX_,________, + _____XXX,________, + _______X,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3D + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3E + , + 9, + ________,________, + ________,________, + ________,________, + X_______,________, + XXX_____,________, + _XXXX___,________, + ___XXXX_,________, + _____XXX,________, + ___XXXX_,________, + _XXXX___,________, + XXX_____,________, + X_______,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x3F + , + 9, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX___XX,________, + XX____XX,________, + _____XXX,________, + ____XXX_,________, + ___XXX__,________, + ___XX___,________, + ___XX___,________, + ________,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________ + // 0x40 + , + 16, + _____XXX,XXX_____, + ___XXXXX,XXXXX___, + __XXX___,___XXX__, + _XXX__XX,X_XXXX__, + _XX_XXXX,XXXX_XX_, + XXX_XX__,_XXX_XX_, + XX_XX___,_XX__XX_, + XX_XX___,_XX__XX_, + XX_XX___,_XX__XX_, + XX_XX___,XXX_XX__, + XX_XXXXX,XXXXX___, + _XX_XXXX,_XXX____, + _XXX____,_____XX_, + __XXX___,___XXX__, + ___XXXXX,XXXXX___, + _____XXX,XXX_____ + // 0x41 + , + 12, + ________,________, + ________,________, + ____XXX_,________, + ____XXX_,________, + ___XX_XX,________, + ___XX_XX,________, + ___XX_XX,________, + __XX___X,X_______, + __XX___X,X_______, + __XXXXXX,X_______, + _XXXXXXX,XX______, + _XX_____,XX______, + _XX_____,XX______, + XX______,_XX_____, + ________,________, + ________,________ + // 0x42 + , + 11, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0x43 + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,X_______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0x44 + , + 11, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXX_,________, + ________,________, + ________,________ + // 0x45 + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0x46 + , + 9, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x47 + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX___XXX,XX______, + XX___XXX,XX______, + XX______,XX______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0x48 + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0x49 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x4A + , + 9, + ________,________, + ________,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x4B + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,X_______, + XX____XX,________, + XX___XX_,________, + XX__XX__,________, + XX_XXXX_,________, + XXXX_XX_,________, + XXX___XX,________, + XX____XX,________, + XX_____X,X_______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0x4C + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,________, + XXXXXXXX,________, + ________,________, + ________,________ + // 0x4D + , + 12, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_X___X,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0x4E + , + 11, + ________,________, + ________,________, + XX______,XX______, + XXX_____,XX______, + XXXX____,XX______, + XXXX____,XX______, + XX_XX___,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX___XX_,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0x4F + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0x50 + , + 10, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x51 + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX__XX__,XX______, + _XX__XXX,X_______, + _XXXXXXX,X_______, + ___XXX_X,X_______, + ________,XX______, + ________,________ + // 0x52 + , + 12, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX_____X,XX______, + XXXXXXXX,X_______, + XXXXXXX_,________, + XX___XXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX_____X,XX______, + XX______,XXX_____, + ________,________, + ________,________ + // 0x53 + , + 10, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XXXX____,________, + _XXXXXX_,________, + ___XXXXX,________, + ______XX,X_______, + XX_____X,X_______, + XXX___XX,X_______, + _XXXXXXX,________, + __XXXXX_,________, + ________,________, + ________,________ + // 0x54 + , + 11, + ________,________, + ________,________, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0x55 + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XXX____X,XX______, + _XXXXXXX,X_______, + __XXXXXX,________, + ________,________, + ________,________ + // 0x56 + , + 12, + ________,________, + ________,________, + XX______,_XX_____, + XX______,_XX_____, + _XX_____,XX______, + _XX_____,XX______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + ___XX_XX,________, + ___XX_XX,________, + ____XXX_,________, + ____XXX_,________, + ____XXX_,________, + ________,________, + ________,________ + // 0x57 + , + 16, + ________,________, + ________,________, + XX____XX,X____XX_, + XXX___XX,X____XX_, + _XX___XX,X___XX__, + _XX__XX_,XX__XX__, + _XX__XX_,XX__XX__, + __XX_XX_,XX_XX___, + __XX_XX_,XX_XX___, + __XX_XX_,XX_XX___, + ___XXX__,_XXXX___, + ___XXX__,_XXX____, + ___XXX__,_XXX____, + ___XXX__,_XXX____, + ________,________, + ________,________ + // 0x58 + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XXX___XX,X_______, + _XX___XX,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + __XXXXX_,________, + __XX_XX_,________, + _XX___XX,________, + XXX___XX,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0x59 + , + 11, + ________,________, + ________,________, + XX______,XX______, + XXX____X,XX______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0x5A + , + 10, + ________,________, + ________,________, + _XXXXXXX,X_______, + _XXXXXXX,X_______, + ______XX,________, + _____XX_,________, + ____XXX_,________, + ____XX__,________, + ___XX___,________, + __XXX___,________, + __XX____,________, + _XX_____,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0x5B + , + 5, + ________,________, + XXXX____,________, + XXXX____,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXX____,________, + XXXX____,________, + ________,________ + // 0x5C + , + 8, + XX______,________, + XX______,________, + XXX_____,________, + _XX_____,________, + _XX_____,________, + _XXX____,________, + __XX____,________, + __XX____,________, + __XXX___,________, + ___XX___,________, + ___XX___,________, + ___XXX__,________, + ____XX__,________, + ____XX__,________, + ____XXX_,________, + _____XX_,________ + // 0x5D + , + 5, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXXX____,________, + XXXX____,________, + ________,________ + // 0x5E + , + 9, + ________,________, + ________,________, + ___XX___,________, + __XXXX__,________, + __XXXX__,________, + _XX__XX_,________, + _XX__XX_,________, + XX____XX,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x5F + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + ________,________ + // 0x60 + , + 4, + ________,________, + XXX_____,________, + _XX_____,________, + __XX____,________, + ____X___,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x61 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + ___XXXX_,________, + _XXXXXX_,________, + XXX__XX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0x62 + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX_XXX__,________, + XXXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + ________,________, + ________,________ + // 0x63 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XX_,________, + XX______,________, + XX______,________, + XX______,________, + XXX__XX_,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x64 + , + 9, + ________,________, + ________,________, + ______XX,________, + ______XX,________, + ______XX,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + ________,________, + ________,________ + // 0x65 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0x66 + , + 7, + ________,________, + ________,________, + __XXXX__,________, + _XXXXX__,________, + _XX_____,________, + XXXXX___,________, + XXXXX___,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + ________,________, + ________,________ + // 0x67 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________ + // 0x68 + , + 9, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0x69 + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x6A + , + 4, + ________,________, + ________,________, + _XX_____,________, + _XX_____,________, + ________,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + XXX_____,________, + XX______,________ + // 0x6B + , + 8, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX___XX_,________, + XX__XX__,________, + XX_XX___,________, + XXXXX___,________, + XXXXX___,________, + XXX_XX__,________, + XX__XX__,________, + XX___XX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0x6C + , + 3, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x6D + , + 13, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXX__,XXX_____, + XXXXXXXX,XXXX____, + XXX__XXX,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0x6E + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0x6F + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0x70 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + XX______,________, + XX______,________ + // 0x71 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX_XX,________, + _XXXXXXX,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXXX,________, + __XXX_XX,________, + ______XX,________, + ______XX,________, + ______XX,________ + // 0x72 + , + 6, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XX___,________, + XXXXX___,________, + XXX_____,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0x73 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + XXXX____,________, + _XXXXX__,________, + ___XXXX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXXX__,________, + ________,________, + ________,________ + // 0x74 + , + 6, + ________,________, + ________,________, + __X_____,________, + _XX_____,________, + _XX_____,________, + XXXXX___,________, + XXXXX___,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XX_____,________, + _XXXX___,________, + __XXX___,________, + ________,________, + ________,________ + // 0x75 + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX___XXX,________, + XXXXXXXX,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0x76 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XX___XX_,________, + XX___XX_,________, + _XX_XX__,________, + _XX_XX__,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + ________,________, + ________,________ + // 0x77 + , + 14, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XXX,___XX___, + XX___XXX,___XX___, + _XX__XXX,__XX____, + _XX_XX_X,X_XX____, + _XX_XX_X,X_XX____, + _XX_XX_X,X_XX____, + __XXX___,XXX_____, + __XXX___,XXX_____, + __XXX___,XXX_____, + ________,________, + ________,________ + // 0x78 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XXX_XXX_,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + _XX_XX__,________, + XXX_XXX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0x79 + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_____X,X_______, + _XX___XX,________, + _XX___XX,________, + __XX_XX_,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + ___XX___,________, + _XXXX___,________, + _XXX____,________ + // 0x7A + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + ____XX__,________, + ___XXX__,________, + __XXX___,________, + _XXX____,________, + _XX_____,________, + XXXXXXX_,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0x7B + , + 7, + ________,________, + ___XXX__,________, + __XXXX__,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXX_____,________, + XXX_____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XXXX__,________, + ___XXX__,________, + ________,________ + // 0x7C + , + 3, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________ + // 0x7D + , + 7, + ________,________, + XXX_____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + ___XXX__,________, + ___XXX__,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + XXXX____,________, + XXX_____,________, + ________,________ + // 0x7E + , + 9, + ________,________, + ________,________, + _XXX___X,________, + XXXXXXXX,________, + X___XXX_,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x7F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x80 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x81 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x82 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x83 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x84 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x85 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x86 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x87 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x88 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x89 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8A + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8B + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8C + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8D + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8E + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x8F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x90 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x91 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x92 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x93 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x94 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x95 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x96 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x97 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x98 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x99 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9A + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9B + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9C + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9D + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9E + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0x9F + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA0 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA1 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA2 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA3 - £ + , + 8, + ________,________, + ________,________, + _XX_XX__,________, + _XX_XX__,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0xA4 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA5 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA6 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA7 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA8 + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xA9 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAA + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAB + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAC + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAD + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAE + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xAF + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB0 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB1 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB2 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB3 - ³ + , + 10, + __XX_XX_,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0xB4 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB5 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB6 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB7 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB8 + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xB9 + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBA + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBB + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBC + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBD + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBE + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xBF + , + 1, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________ + // 0xC0 - À + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XXX,X_______, + XX__XXXX,XX______, + XX_XXX__,XXX_____, + XXXXX___,_XX_____, + XXXXX___,_XX_____, + XX_XX___,_XX_____, + XX_XXX__,XXX_____, + XX__XXXX,XX______, + XX___XXX,X_______, + ________,________, + ________,________ + // 0xC1 - Á + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + ___XXXX_,________, + _XXXXXX_,________, + XXX__XX_,________, + XX___XX_,________, + XXXXXXX_,________, + _XXXX_XX,________, + ________,________, + ________,________ + // 0xC2 -  + , + 9, + ________,________, + ______X_,________, + _XXXXXX_,________, + XXXXXX__,________, + XX______,________, + XXXXXX__,________, + XXXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xC3 - à + , + 10, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + _______X,X_______, + _______X,X_______ + // 0xC4 - Ä + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + ___XXXXX,X_______, + __XXXXXX,X_______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + __XX___X,X_______, + _XX____X,X_______, + XXXXXXXX,XXX_____, + XXXXXXXX,XXX_____, + XX______,_XX_____, + XX______,_XX_____ + // 0xC5 - Å + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXX___,________, + _XXXXX__,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XXX__XX_,________, + _XXXXX__,________, + __XXX___,________, + ________,________, + ________,________ + // 0xC6 - Æ + , + 13, + ________,________, + ________,________, + ________,________, + _____XX_,________, + _____XX_,________, + __XXXXXX,XX______, + _XXXXXXX,XXX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + _XXXXXXX,XXX_____, + __XXXXXX,XX______, + _____XX_,________, + _____XX_,________ + // 0xC7 - Ç + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xC8 - È + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XXX_XXX_,________, + _XX_XX__,________, + __XXX___,________, + __XXX___,________, + __XXX___,________, + _XX_XX__,________, + XXX_XXX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0xC9 - É + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX___XXX,________, + XX__XXXX,________, + XX_XXXXX,________, + XXXXX_XX,________, + XXXX__XX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCA - Ê + , + 9, + ________,________, + __X__X__,________, + __XXXX__,________, + ___XX___,________, + ________,________, + XX____XX,________, + XX___XXX,________, + XX__XXXX,________, + XX_XXXXX,________, + XXXXX_XX,________, + XXXX__XX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCB - Ë + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,________, + XX___XX_,________, + XX__XX__,________, + XXXX____,________, + XXXX____,________, + XX__XX__,________, + XX___XX_,________, + XX___XX_,________, + XX___XX_,________, + ________,________, + ________,________ + // 0xCC - Ì + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXXXX,________, + _XXXXXXX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + _XX___XX,________, + XXX___XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCD - Í + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0xCE - Î + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xCF - Ï + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xD0 - Ð + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xD1 - Ñ + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXXX,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXXX,________, + __XX__XX,________, + _XX___XX,________, + XX____XX,________, + ________,________, + ________,________ + // 0xD2 - Ò + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX_XXXX_,________, + XXXXXXXX,________, + XXX___XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXX__XXX,________, + XXXXXXX_,________, + XX_XXX__,________, + XX______,________, + XX______,________ + // 0xD3 - Ó + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + __XXXX__,________, + _XXXXXX_,________, + XXX__XX_,________, + XX______,________, + XX______,________, + XX______,________, + XXX__XX_,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xD4 - Ô + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ___XX___,________, + ________,________, + ________,________ + // 0xD5 - Õ + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ___XXXX_,________, + ____XX__,________, + _XXXX___,________, + _XXX____,________ + // 0xD6 - Ö + , + 13, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX___XX_,__XX____, + _XX__XX_,_XX_____, + __XX_XX_,XX______, + __XX_XX_,XX______, + ____XXXX,________, + __XX_XX_,XX______, + _XX__XX_,_XX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0xD7 - × + , + 8, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXXXX__,________, + XXXXXXX_,________, + XX___XX_,________, + XXXXXX__,________, + XXXXXX__,________, + XX___XX_,________, + XX___XX_,________, + XXXXXXX_,________, + XXXXXX__,________, + ________,________, + ________,________ + // 0xD8 - Ø + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0xD9 - Ù + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX______,_XX_____, + XX______,_XX_____, + XX______,_XX_____, + XXXXXXX_,_XX_____, + XXXXXXXX,_XX_____, + XX____XX,_XX_____, + XX____XX,_XX_____, + XXXXXXXX,_XX_____, + XXXXXXX_,_XX_____, + ________,________, + ________,________ + // 0xDA - Ú + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXX_,________, + XXXXXXXX,________, + ______XX,________, + ____XXX_,________, + ____XXXX,________, + ______XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________, + ________,________, + ________,________ + // 0xDB - Û + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ________,________, + ________,________ + // 0xDC - Ü + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + _XXXXXX_,________, + XXXXXXXX,________, + XX____XX,________, + ____XXXX,________, + ____XXXX,________, + ______XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXX_,________, + ________,________, + ________,________ + // 0xDD - Ý + , + 12, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XXXXXXXX,XX______, + XXXXXXXX,XXX_____, + ________,_XX_____, + ________,_XX_____ + // 0xDE - Þ + , + 9, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XX____XX,________, + XXXXXXXX,________, + _XXXXXXX,________, + ______XX,________, + ______XX,________, + ______XX,________, + ________,________, + ________,________ + // 0xDF - ß + , + 11, + ________,________, + ________,________, + ________,________, + ________,________, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XXXXXX,X_______, + __XXXXXX,XX______, + __XX____,XX______, + __XX____,XX______, + __XXXXXX,XX______, + __XXXXXX,X_______, + ________,________, + ________,________ + // 0xE0 - à + , + 14, + ________,________, + ________,________, + XX_____X,XX______, + XX___XXX,XXXX____, + XX___XX_,__XX____, + XX__XX__,___XX___, + XX__XX__,___XX___, + XXXXXX__,___XX___, + XXXXXX__,___XX___, + XX__XX__,___XX___, + XX__XX__,___XX___, + XX___XX_,__XX____, + XX___XXX,XXXX____, + XX_____X,XX______, + ________,________, + ________,________ + // 0xE1 - á + , + 12, + ________,________, + ________,________, + ____XXX_,________, + ____XXX_,________, + ___XX_XX,________, + ___XX_XX,________, + ___XX_XX,________, + __XX___X,X_______, + __XX___X,X_______, + __XXXXXX,X_______, + _XXXXXXX,XX______, + _XX_____,XX______, + _XX_____,XX______, + XX______,_XX_____, + ________,________, + ________,________ + // 0xE2 - â + , + 11, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0xE3 - ã + , + 11, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ________,XX______, + ________,XX______ + // 0xE4 - ä + , + 13, + ________,________, + ________,________, + ____XXXX,XX______, + ___XXXXX,XX______, + ___XX___,XX______, + ___XX___,XX______, + ___XX___,XX______, + __XX____,XX______, + __XX____,XX______, + __XX____,XX______, + __XX____,XX______, + _XX_____,XX______, + XXXXXXXX,XXXX____, + XXXXXXXX,XXXX____, + XX______,__XX____, + XX______,__XX____ + // 0xE5 - å + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + ________,________, + ________,________ + // 0xE6 - æ + , + 15, + ________,________, + ________,________, + ______XX,________, + ___XXXXX,XXX_____, + _XXXXXXX,XXXXX___, + _XX___XX,___XX___, + XX____XX,____XX__, + XX____XX,____XX__, + XX____XX,____XX__, + XX____XX,____XX__, + _XX___XX,___XX___, + _XXXXXXX,XXXXX___, + ___XXXXX,XXX_____, + ______XX,________, + ________,________, + ________,________ + // 0xD5 + // 0xE7 - ç + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xE8 - è + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XXX___XX,X_______, + _XX___XX,________, + __XX_XX_,________, + __XXXXX_,________, + ___XXX__,________, + ___XXX__,________, + __XXXXX_,________, + __XX_XX_,________, + _XX___XX,________, + XXX___XX,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xE9 - é + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX___XX_,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX_XX___,XX______, + XXXX____,XX______, + XXXX____,XX______, + XXX_____,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEA - ê + , + 11, + ___XXXX_,________, + ____XX__,________, + XX______,XX______, + XX_____X,XX______, + XX____XX,XX______, + XX____XX,XX______, + XX___XX_,XX______, + XX__XX__,XX______, + XX__XX__,XX______, + XX_XX___,XX______, + XXXX____,XX______, + XXXX____,XX______, + XXX_____,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEB - ë + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX_____X,X_______, + XX____XX,________, + XX___XX_,________, + XX__XX__,________, + XX_XXXX_,________, + XXXX_XX_,________, + XXX___XX,________, + XX____XX,________, + XX_____X,X_______, + XX_____X,XX______, + XX______,XX______, + ________,________, + ________,________ + // 0xEC - ì + , + 10, + ________,________, + ________,________, + ___XXXXX,X_______, + __XXXXXX,X_______, + __XX___X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + _XX____X,X_______, + XXX____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xED - í + , + 12, + ________,________, + ________,________, + XXX_____,XXX_____, + XXX_____,XXX_____, + XXXX___X,XXX_____, + XXXX___X,XXX_____, + XX_X___X,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX_XX_XX,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX__XXX_,_XX_____, + XX___X__,_XX_____, + ________,________, + ________,________ + // 0xEE - î + , + 10, + ________,________, + ________,________, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xEF - ï + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + _XX____X,X_______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0xF0 - ð + , + 10, + ________,________, + ________,________, + XXXXXXXX,X_______, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + ________,________, + ________,________ + // 0xF1 - ñ + , + 12, + ________,________, + ________,________, + ___XXXXX,XXX_____, + __XXXXXX,XXX_____, + _XXX____,_XX_____, + _XX_____,_XX_____, + _XXX____,_XX_____, + __XXXXXX,XXX_____, + ____XXXX,XXX_____, + ___XXX__,_XX_____, + __XXX___,_XX_____, + __XX____,_XX_____, + _XXX____,_XX_____, + XXX_____,_XX_____, + ________,________, + ________,________ + // 0xF2 - ò + , + 10, + ________,________, + ________,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + ________,________, + ________,________ + // 0xF3 - ó + , + 11, + ________,________, + ________,________, + ___XXXXX,________, + _XXXXXXX,X_______, + _XX____X,XX______, + XX______,X_______, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,X_______, + _XX____X,XX______, + _XXXXXXX,X_______, + ___XXXXX,________, + ________,________, + ________,________ + // 0xF4 - ô + , + 11, + ________,________, + ________,________, + XXXXXXXX,XX______, + XXXXXXXX,XX______, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ____XX__,________, + ________,________, + ________,________ + // 0xF5 - õ + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + _XX____X,X_______, + _XX____X,X_______, + __XX__XX,________, + __XX__XX,________, + ___XXXX_,________, + ___XXXX_,________, + ____XX__,________, + ____XX__,________, + _XXXX___,________, + _XXX____,________, + ________,________, + ________,________ + // 0xF6 - ö + , + 13, + ________,________, + ________,________, + XX___XX_,__XX____, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + __XX_XX_,XX______, + ____XXXX,________, + __XX_XX_,XX______, + __XX_XX_,XX______, + _XX__XX_,_XX_____, + _XX__XX_,_XX_____, + XX___XX_,__XX____, + XX___XX_,__XX____, + ________,________, + ________,________ + // 0xF7 - ÷ + , + 11, + ________,________, + ________,________, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,X_______, + XX_____X,X_______, + XX_____X,X_______, + XXXXXXXX,________, + XXXXXXXX,X_______, + XX_____X,XX______, + XX______,XX______, + XX______,XX______, + XXXXXXXX,X_______, + XXXXXXXX,________, + ________,________, + ________,________ + // 0xF8 - ø + , + 10, + ________,________, + ________,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XX______,________, + XXXXXXX_,________, + XXXXXXXX,________, + XX____XX,X_______, + XX_____X,X_______, + XX____XX,X_______, + XXXXXXXX,________, + XXXXXXX_,________, + ________,________, + ________,________ + // 0xF9 - ù + , + 13, + ________,________, + ________,________, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XX______,__XX____, + XXXXXXX_,__XX____, + XXXXXXXX,__XX____, + XX____XX,X_XX____, + XX_____X,X_XX____, + XX____XX,X_XX____, + XXXXXXXX,__XX____, + XXXXXXX_,__XX____, + ________,________, + ________,________ + // 0xFA - ú + , + 9, + ________,________, + ________,________, + __XXXXX_,________, + _XXXXXXX,________, + XX____XX,________, + ______XX,________, + ___XXXX_,________, + ___XXXX_,________, + _____XXX,________, + ______XX,________, + XX____XX,________, + XXX__XXX,________, + _XXXXXX_,________, + __XXXX__,________, + ________,________, + ________,________ + // 0xFB - û + , + 13, + ________,________, + ________,________, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XXXXXXXX,XXXX____, + XXXXXXXX,XXXX____, + ________,________, + ________,________ + // 0xFC - ü + , + 11, + ________,________, + ________,________, + ___XXXX_,________, + _XXXXXXX,X_______, + XXX____X,X_______, + XX______,XX______, + ________,XX______, + ____XXXX,XX______, + ____XXXX,XX______, + ________,XX______, + XX______,XX______, + XXX____X,X_______, + _XXXXXXX,X_______, + ___XXXX_,________, + ________,________, + ________,________ + // 0xFD - ý + , + 14, + ________,________, + ________,________, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XX___XX_,__XX____, + XXXXXXXX,XXXXX___, + XXXXXXXX,XXXXX___, + ________,___XX___, + ________,___XX___ + // 0xFE - þ + , + 11, + ________,________, + ________,________, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XX______,XX______, + XXX_____,XX______, + _XXXXXXX,XX______, + __XXXXXX,XX______, + ________,XX______, + ________,XX______, + ________,XX______, + ________,XX______, + ________,________, + ________,________ + // 0xFF - ÿ + , + 12, + ________,________, + ________,________, + XXXX____,________, + XXXX____,________, + __XX____,________, + __XX____,________, + __XX____,________, + __XXXXXX,X_______, + __XXXXXX,XX______, + __XX____,XXX_____, + __XX____,_XX_____, + __XX____,XXX_____, + __XXXXXX,XX______, + __XXXXXX,X_______, + ________,________, + ________,________ +}; + +/* +32 (0x20) - 64 (0x40) - @ 96 (0x60) - ` 128 (0x80) - € 160 (0xa0) -   192 (0xc0) - À 224 (0xe0) - à +33 (0x21) - ! 65 (0x41) - A 97 (0x61) - a 129 (0x81) - 161 (0xa1) - ¡ 193 (0xc1) - Á 225 (0xe1) - á +34 (0x22) - " 66 (0x42) - B 98 (0x62) - b 130 (0x82) - ‚ 162 (0xa2) - ¢ 194 (0xc2) -  226 (0xe2) - â +35 (0x23) - # 67 (0x43) - C 99 (0x63) - c 131 (0x83) - ƒ 163 (0xa3) - £ 195 (0xc3) - à 227 (0xe3) - ã +36 (0x24) - $ 68 (0x44) - D 100 (0x64) - d 132 (0x84) - „ 164 (0xa4) - ¤ 196 (0xc4) - Ä 228 (0xe4) - ä +37 (0x25) - % 69 (0x45) - E 101 (0x65) - e 133 (0x85) - … 165 (0xa5) - ¥ 197 (0xc5) - Å 229 (0xe5) - å +38 (0x26) - & 70 (0x46) - F 102 (0x66) - f 134 (0x86) - † 166 (0xa6) - ¦ 198 (0xc6) - Æ 230 (0xe6) - æ +39 (0x27) - ' 71 (0x47) - G 103 (0x67) - g 135 (0x87) - ‡ 167 (0xa7) - § 199 (0xc7) - Ç 231 (0xe7) - ç +40 (0x28) - ( 72 (0x48) - H 104 (0x68) - h 136 (0x88) - ˆ 168 (0xa8) - ¨ 200 (0xc8) - È 232 (0xe8) - è +41 (0x29) - ) 73 (0x49) - I 105 (0x69) - i 137 (0x89) - ‰ 169 (0xa9) - © 201 (0xc9) - É 233 (0xe9) - é +42 (0x2a) - * 74 (0x4a) - J 106 (0x6a) - j 138 (0x8a) - Š 170 (0xaa) - ª 202 (0xca) - Ê 234 (0xea) - ê +43 (0x2b) - + 75 (0x4b) - K 107 (0x6b) - k 139 (0x8b) - ‹ 171 (0xab) - « 203 (0xcb) - Ë 235 (0xeb) - ë +44 (0x2c) - , 76 (0x4c) - L 108 (0x6c) - l 140 (0x8c) - Œ 172 (0xac) - ¬ 204 (0xcc) - Ì 236 (0xec) - ì +45 (0x2d) - - 77 (0x4d) - M 109 (0x6d) - m 141 (0x8d) - 173 (0xad) - ­ 205 (0xcd) - Í 237 (0xed) - í +46 (0x2e) - . 78 (0x4e) - N 110 (0x6e) - n 142 (0x8e) - Ž 174 (0xae) - ® 206 (0xce) - Î 238 (0xee) - î +47 (0x2f) - / 79 (0x4f) - O 111 (0x6f) - o 143 (0x8f) - 175 (0xaf) - ¯ 207 (0xcf) - Ï 239 (0xef) - ï +48 (0x30) - 0 80 (0x50) - P 112 (0x70) - p 144 (0x90) - 176 (0xb0) - ° 208 (0xd0) - Ð 240 (0xf0) - ð +49 (0x31) - 1 81 (0x51) - Q 113 (0x71) - q 145 (0x91) - ‘ 177 (0xb1) - ± 209 (0xd1) - Ñ 241 (0xf1) - ñ +50 (0x32) - 2 82 (0x52) - R 114 (0x72) - r 146 (0x92) - ’ 178 (0xb2) - ² 210 (0xd2) - Ò 242 (0xf2) - ò +51 (0x33) - 3 83 (0x53) - S 115 (0x73) - s 147 (0x93) - “ 179 (0xb3) - ³ 211 (0xd3) - Ó 243 (0xf3) - ó +52 (0x34) - 4 84 (0x54) - T 116 (0x74) - t 148 (0x94) - ” 180 (0xb4) - ´ 212 (0xd4) - Ô 244 (0xf4) - ô +53 (0x35) - 5 85 (0x55) - U 117 (0x75) - u 149 (0x95) - • 181 (0xb5) - µ 213 (0xd5) - Õ 245 (0xf5) - õ +54 (0x36) - 6 86 (0x56) - V 118 (0x76) - v 150 (0x96) - – 182 (0xb6) - ¶ 214 (0xd6) - Ö 246 (0xf6) - ö +55 (0x37) - 7 87 (0x57) - W 119 (0x77) - w 151 (0x97) - — 183 (0xb7) - · 215 (0xd7) - × 247 (0xf7) - ÷ +56 (0x38) - 8 88 (0x58) - X 120 (0x78) - x 152 (0x98) - ˜ 184 (0xb8) - ¸ 216 (0xd8) - Ø 248 (0xf8) - ø +57 (0x39) - 9 89 (0x59) - Y 121 (0x79) - y 153 (0x99) - ™ 185 (0xb9) - ¹ 217 (0xd9) - Ù 249 (0xf9) - ù +58 (0x3a) - : 90 (0x5a) - Z 122 (0x7a) - z 154 (0x9a) - 186 (0xba) - º 218 (0xda) - Ú 250 (0xfa) - ú +59 (0x3b) - ; 91 (0x5b) - [ 123 (0x7b) - { 155 (0x9b) - › 187 (0xbb) - » 219 (0xdb) - Û 251 (0xfb) - û +60 (0x3c) - < 92 (0x5c) - \ 124 (0x7c) - | 156 (0x9c) - œ 188 (0xbc) - ¼ 220 (0xdc) - Ü 252 (0xfc) - ü +61 (0x3d) - = 93 (0x5d) - ] 125 (0x7d) - } 157 (0x9d) - 189 (0xbd) - ½ 221 (0xdd) - Ý 253 (0xfd) - ý +62 (0x3e) - > 94 (0x5e) - ^ 126 (0x7e) - ~ 158 (0x9e) - ž 190 (0xbe) - ¾ 222 (0xde) - Þ 254 (0xfe) - þ +63 (0x3f) - ? 95 (0x5f) - _ 127 (0x7f) - 159 (0x9f) - Ÿ 191 (0xbf) - ¿ 223 (0xdf) - ß 255 (0xff) - ÿ +*/ diff --git a/F1-nolib/RGB_LED_Screen/fonts.c b/F1-nolib/RGB_LED_Screen/fonts.c new file mode 100644 index 0000000..6b32759 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/fonts.c @@ -0,0 +1,330 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include +#include "fonts.h" + +/* Bash-script to generate the symbols + +#!/bin/bash + +function bits(){ + Ans="" + for x in $(seq 7 -1 0); do + B=$((1<<$x)) + if [ $(($1&$B)) -ne 0 ]; then Ans="${Ans}X" + else Ans="${Ans}_" + fi + done + echo $Ans +} + +for x in $(seq 0 255); do + printf "#define $(bits $x)\t0x%02x\n" $x +done + +*/ + +#define ________ 0x00 +#define _______X 0x01 +#define ______X_ 0x02 +#define ______XX 0x03 +#define _____X__ 0x04 +#define _____X_X 0x05 +#define _____XX_ 0x06 +#define _____XXX 0x07 +#define ____X___ 0x08 +#define ____X__X 0x09 +#define ____X_X_ 0x0a +#define ____X_XX 0x0b +#define ____XX__ 0x0c +#define ____XX_X 0x0d +#define ____XXX_ 0x0e +#define ____XXXX 0x0f +#define ___X____ 0x10 +#define ___X___X 0x11 +#define ___X__X_ 0x12 +#define ___X__XX 0x13 +#define ___X_X__ 0x14 +#define ___X_X_X 0x15 +#define ___X_XX_ 0x16 +#define ___X_XXX 0x17 +#define ___XX___ 0x18 +#define ___XX__X 0x19 +#define ___XX_X_ 0x1a +#define ___XX_XX 0x1b +#define ___XXX__ 0x1c +#define ___XXX_X 0x1d +#define ___XXXX_ 0x1e +#define ___XXXXX 0x1f +#define __X_____ 0x20 +#define __X____X 0x21 +#define __X___X_ 0x22 +#define __X___XX 0x23 +#define __X__X__ 0x24 +#define __X__X_X 0x25 +#define __X__XX_ 0x26 +#define __X__XXX 0x27 +#define __X_X___ 0x28 +#define __X_X__X 0x29 +#define __X_X_X_ 0x2a +#define __X_X_XX 0x2b +#define __X_XX__ 0x2c +#define __X_XX_X 0x2d +#define __X_XXX_ 0x2e +#define __X_XXXX 0x2f +#define __XX____ 0x30 +#define __XX___X 0x31 +#define __XX__X_ 0x32 +#define __XX__XX 0x33 +#define __XX_X__ 0x34 +#define __XX_X_X 0x35 +#define __XX_XX_ 0x36 +#define __XX_XXX 0x37 +#define __XXX___ 0x38 +#define __XXX__X 0x39 +#define __XXX_X_ 0x3a +#define __XXX_XX 0x3b +#define __XXXX__ 0x3c +#define __XXXX_X 0x3d +#define __XXXXX_ 0x3e +#define __XXXXXX 0x3f +#define _X______ 0x40 +#define _X_____X 0x41 +#define _X____X_ 0x42 +#define _X____XX 0x43 +#define _X___X__ 0x44 +#define _X___X_X 0x45 +#define _X___XX_ 0x46 +#define _X___XXX 0x47 +#define _X__X___ 0x48 +#define _X__X__X 0x49 +#define _X__X_X_ 0x4a +#define _X__X_XX 0x4b +#define _X__XX__ 0x4c +#define _X__XX_X 0x4d +#define _X__XXX_ 0x4e +#define _X__XXXX 0x4f +#define _X_X____ 0x50 +#define _X_X___X 0x51 +#define _X_X__X_ 0x52 +#define _X_X__XX 0x53 +#define _X_X_X__ 0x54 +#define _X_X_X_X 0x55 +#define _X_X_XX_ 0x56 +#define _X_X_XXX 0x57 +#define _X_XX___ 0x58 +#define _X_XX__X 0x59 +#define _X_XX_X_ 0x5a +#define _X_XX_XX 0x5b +#define _X_XXX__ 0x5c +#define _X_XXX_X 0x5d +#define _X_XXXX_ 0x5e +#define _X_XXXXX 0x5f +#define _XX_____ 0x60 +#define _XX____X 0x61 +#define _XX___X_ 0x62 +#define _XX___XX 0x63 +#define _XX__X__ 0x64 +#define _XX__X_X 0x65 +#define _XX__XX_ 0x66 +#define _XX__XXX 0x67 +#define _XX_X___ 0x68 +#define _XX_X__X 0x69 +#define _XX_X_X_ 0x6a +#define _XX_X_XX 0x6b +#define _XX_XX__ 0x6c +#define _XX_XX_X 0x6d +#define _XX_XXX_ 0x6e +#define _XX_XXXX 0x6f +#define _XXX____ 0x70 +#define _XXX___X 0x71 +#define _XXX__X_ 0x72 +#define _XXX__XX 0x73 +#define _XXX_X__ 0x74 +#define _XXX_X_X 0x75 +#define _XXX_XX_ 0x76 +#define _XXX_XXX 0x77 +#define _XXXX___ 0x78 +#define _XXXX__X 0x79 +#define _XXXX_X_ 0x7a +#define _XXXX_XX 0x7b +#define _XXXXX__ 0x7c +#define _XXXXX_X 0x7d +#define _XXXXXX_ 0x7e +#define _XXXXXXX 0x7f +#define X_______ 0x80 +#define X______X 0x81 +#define X_____X_ 0x82 +#define X_____XX 0x83 +#define X____X__ 0x84 +#define X____X_X 0x85 +#define X____XX_ 0x86 +#define X____XXX 0x87 +#define X___X___ 0x88 +#define X___X__X 0x89 +#define X___X_X_ 0x8a +#define X___X_XX 0x8b +#define X___XX__ 0x8c +#define X___XX_X 0x8d +#define X___XXX_ 0x8e +#define X___XXXX 0x8f +#define X__X____ 0x90 +#define X__X___X 0x91 +#define X__X__X_ 0x92 +#define X__X__XX 0x93 +#define X__X_X__ 0x94 +#define X__X_X_X 0x95 +#define X__X_XX_ 0x96 +#define X__X_XXX 0x97 +#define X__XX___ 0x98 +#define X__XX__X 0x99 +#define X__XX_X_ 0x9a +#define X__XX_XX 0x9b +#define X__XXX__ 0x9c +#define X__XXX_X 0x9d +#define X__XXXX_ 0x9e +#define X__XXXXX 0x9f +#define X_X_____ 0xa0 +#define X_X____X 0xa1 +#define X_X___X_ 0xa2 +#define X_X___XX 0xa3 +#define X_X__X__ 0xa4 +#define X_X__X_X 0xa5 +#define X_X__XX_ 0xa6 +#define X_X__XXX 0xa7 +#define X_X_X___ 0xa8 +#define X_X_X__X 0xa9 +#define X_X_X_X_ 0xaa +#define X_X_X_XX 0xab +#define X_X_XX__ 0xac +#define X_X_XX_X 0xad +#define X_X_XXX_ 0xae +#define X_X_XXXX 0xaf +#define X_XX____ 0xb0 +#define X_XX___X 0xb1 +#define X_XX__X_ 0xb2 +#define X_XX__XX 0xb3 +#define X_XX_X__ 0xb4 +#define X_XX_X_X 0xb5 +#define X_XX_XX_ 0xb6 +#define X_XX_XXX 0xb7 +#define X_XXX___ 0xb8 +#define X_XXX__X 0xb9 +#define X_XXX_X_ 0xba +#define X_XXX_XX 0xbb +#define X_XXXX__ 0xbc +#define X_XXXX_X 0xbd +#define X_XXXXX_ 0xbe +#define X_XXXXXX 0xbf +#define XX______ 0xc0 +#define XX_____X 0xc1 +#define XX____X_ 0xc2 +#define XX____XX 0xc3 +#define XX___X__ 0xc4 +#define XX___X_X 0xc5 +#define XX___XX_ 0xc6 +#define XX___XXX 0xc7 +#define XX__X___ 0xc8 +#define XX__X__X 0xc9 +#define XX__X_X_ 0xca +#define XX__X_XX 0xcb +#define XX__XX__ 0xcc +#define XX__XX_X 0xcd +#define XX__XXX_ 0xce +#define XX__XXXX 0xcf +#define XX_X____ 0xd0 +#define XX_X___X 0xd1 +#define XX_X__X_ 0xd2 +#define XX_X__XX 0xd3 +#define XX_X_X__ 0xd4 +#define XX_X_X_X 0xd5 +#define XX_X_XX_ 0xd6 +#define XX_X_XXX 0xd7 +#define XX_XX___ 0xd8 +#define XX_XX__X 0xd9 +#define XX_XX_X_ 0xda +#define XX_XX_XX 0xdb +#define XX_XXX__ 0xdc +#define XX_XXX_X 0xdd +#define XX_XXXX_ 0xde +#define XX_XXXXX 0xdf +#define XXX_____ 0xe0 +#define XXX____X 0xe1 +#define XXX___X_ 0xe2 +#define XXX___XX 0xe3 +#define XXX__X__ 0xe4 +#define XXX__X_X 0xe5 +#define XXX__XX_ 0xe6 +#define XXX__XXX 0xe7 +#define XXX_X___ 0xe8 +#define XXX_X__X 0xe9 +#define XXX_X_X_ 0xea +#define XXX_X_XX 0xeb +#define XXX_XX__ 0xec +#define XXX_XX_X 0xed +#define XXX_XXX_ 0xee +#define XXX_XXXX 0xef +#define XXXX____ 0xf0 +#define XXXX___X 0xf1 +#define XXXX__X_ 0xf2 +#define XXXX__XX 0xf3 +#define XXXX_X__ 0xf4 +#define XXXX_X_X 0xf5 +#define XXXX_XX_ 0xf6 +#define XXXX_XXX 0xf7 +#define XXXXX___ 0xf8 +#define XXXXX__X 0xf9 +#define XXXXX_X_ 0xfa +#define XXXXX_XX 0xfb +#define XXXXXX__ 0xfc +#define XXXXXX_X 0xfd +#define XXXXXXX_ 0xfe +#define XXXXXXXX 0xff + +// here are fonts themself +#include "font14.h" +#include "font16.h" + +static const afont FONTS[] = { + [FONT14] = {font14_table, FONT14HEIGHT, FONT14BYTES, FONT14BASELINE}, + [FONT16] = {font16_table, FONT16HEIGHT, FONT16BYTES, FONT16BASELINE} +}; + +const afont *curfont = &FONTS[FONT14]; + +/** + * @brief choose_font - font selector + * @param newfont - font to choose + * @return 0 if all OK + */ +int choose_font(font_t newfont){ + if(newfont >= FONT_T_MAX || newfont <= FONT_T_MIN) return 1; + curfont = &FONTS[newfont]; + return 0; +} +/* +// getters for current font values +uint8_t fontheight(){return curfont->height;} +uint8_t fontbaseline(){return curfont->baseline;} +uint8_t fontbytes(){return curfont->bytes;} +*/ + +const uint8_t *font_char(uint8_t Char){ + if(Char < FIRST_SYMBOL_CODE) return NULL; + return &curfont->font[(Char - FIRST_SYMBOL_CODE)*(curfont->bytes+1)]; +} diff --git a/F1-nolib/RGB_LED_Screen/fonts.h b/F1-nolib/RGB_LED_Screen/fonts.h new file mode 100644 index 0000000..1fe7705 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/fonts.h @@ -0,0 +1,56 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifndef FONTS_H__ +#define FONTS_H__ + +#include + +// code number of first symbol in font table +#define FIRST_SYMBOL_CODE 32 +// total amount of symbols - all without first 32 +#define SYMBOLS_AMOUNT (256-FIRST_SYMBOL_CODE) + +// type for font choosing +typedef enum{ + FONT_T_MIN = -1, // no fonts <= this + FONT14, // 16x16, font height near 14px + FONT16, // 16x16, font height 16px + FONT_T_MAX // no fonts >= this +} font_t; + +int choose_font(font_t newfont); +/* uint8_t fontheight(); +uint8_t fontbaseline(); +uint8_t fontbytes(); */ +const uint8_t *font_char(uint8_t Char); + + +typedef struct{ + const uint8_t *font;// font inself + uint8_t height; // full font matrix height + uint8_t bytes; // amount of bytes in font matrix + uint8_t baseline; // baseline position (coordinate from bottom line) +} afont; + +extern const afont *curfont; + +char *u2str(uint32_t val); + +#endif // FONTS_H__ diff --git a/F1-nolib/RGB_LED_Screen/hardware.c b/F1-nolib/RGB_LED_Screen/hardware.c new file mode 100644 index 0000000..17d0ded --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/hardware.c @@ -0,0 +1,162 @@ +/* + * geany_encoding=koi8-r + * hardware.c - hardware-dependent macros & functions + * + * Copyright 2018 Edward V. Emelianov + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + */ + +#include "hardware.h" +#include "usb.h" + +uint8_t transfer_done = 0; // ==1 when DMA transfer ready +// buffer for DMA +static uint32_t dmabuf[SCREEN_WIDTH]; + +static inline void gpio_setup(){ + // Enable clocks to the GPIO subsystems, turn on AFIO clocking to disable SWD/JTAG + RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN; + // turn off JTAG (PB3/4 is in use) + AFIO->MAPR = AFIO_MAPR_SWJ_CFG_JTAGDISABLE; + // turn off USB pullup + USBPU_OFF(); + // Set led as opendrain output + GPIOC->CRH = CRH(13, CNF_ODOUTPUT|MODE_SLOW); + // SCREEN color PINs: PA0..PA5 + GPIOA->CRL = CRL(0, CNF_PPOUTPUT|MODE_FAST) | CRL(1, CNF_PPOUTPUT|MODE_FAST) | CRL(2, CNF_PPOUTPUT|MODE_FAST) | + CRL(3, CNF_PPOUTPUT|MODE_FAST) | CRL(4, CNF_PPOUTPUT|MODE_FAST) | CRL(5, CNF_PPOUTPUT|MODE_FAST); + // USB pullup - opendrain output + GPIOA->CRH = CRH(15, CNF_PPOUTPUT|MODE_SLOW); + // A..D, LAT, nOE: PB4..PB9 + GPIOB->CRL = CRL(4, CNF_PPOUTPUT|MODE_FAST) | CRL(5, CNF_PPOUTPUT|MODE_FAST) | CRL(6, CNF_PPOUTPUT|MODE_FAST) | CRL(7, CNF_PPOUTPUT|MODE_FAST); + GPIOB->CRH = CRH(8, CNF_PPOUTPUT|MODE_FAST) | CRH(9, CNF_PPOUTPUT|MODE_FAST); +} + +// setup timer3 for DMA transfers & SCK @ TIM3_CH1 (PA6) +static inline void tim_setup(){ + SET(nOE); // turn off output + GPIOA->CRL |= CRL(6, CNF_AFPP|MODE_FAST); + RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; + // 72MHz & 7ARR = 9MHz + TIM3->PSC = 20000; + TIM3->ARR = 7; + TIM3->CCMR1 = TIM_CCMR1_OC1M; // PWM mode 2 (inactive->active) + TIM3->CCER = TIM_CCER_CC1E; // output 1 enable + TIM3->DIER = TIM_DIER_UDE; // enable DMA requests + RCC->AHBENR |= RCC_AHBENR_DMA1EN; + // memsize 32bit, periphsize 32bit, memincr, mem2periph, full transfer interrupt + DMA1_Channel3->CCR = DMA_CCR_PSIZE_1 | DMA_CCR_MSIZE_1 | DMA_CCR_MINC | DMA_CCR_DIR | DMA_CCR_TCIE; + DMA1_Channel3->CMAR = (uint32_t)dmabuf; + DMA1_Channel3->CPAR = (uint32_t)&GPIOA->BSRR; + NVIC_EnableIRQ(DMA1_Channel3_IRQn); +} + +void hw_setup(){ + gpio_setup(); + tim_setup(); +} + +void stopTIMDMA(){ + DMA1_Channel3->CCR &= ~DMA_CCR_EN; // stop DMA + TIM3->CR1 = 0; // turn off timer +} + +/* +static inline uint8_t getcolrvals(uint8_t colr, uint8_t Ntick){ + uint8_t *rgb = pack2RGB(colr); + uint8_t result = 0; // bits: 0-R, 1-G, 2-B + for(int i = 0; i < 3; ++i){ +#ifdef SCREEN_IS_NEGATIVE + if(rgb[i] < Ntick) result |= 1 << i; +#else + if(rgb[i] >= Ntick) result |= 1 << i; +#endif + } + return result; +}*/ +static inline uint8_t getcolrvals(uint8_t colr, uint8_t Ntick){ + uint8_t result = 0; // bits: 0-R, 1-G, 2-B +#ifdef SCREEN_IS_NEGATIVE + if(colr >> 5 <= Ntick) result = 1; + colr &= 0x1f; + if(colr >> 2 <= Ntick) result |= 2; + colr &= 3; + if(colr) colr = (colr << 1) + 1; + if(colr <= Ntick) result |= 4; +#else + if(colr >> 5 > Ntick) result = 1; + colr &= 0x1f; + if(colr >> 2 > Ntick) result |= 2; + colr &= 3; + if(colr) colr = (colr << 1) + 1; + if(colr > Ntick) result |= 4; +#endif + return result; +} +/** + * @brief ConvertScreenBuf - convert creen buffer into DMA buffer + * @param sbuf - screen buffer + * @param Nrow - current row number + * @param Ntick - tick number (0..7) for quasi-PWM colors + */ +void ConvertScreenBuf(uint8_t *sbuf, uint8_t Nrow, __attribute__((unused)) uint8_t Ntick){ + //USB_send("ConvertScreenBuf\n"); + uint8_t *_1st = &sbuf[SCREEN_WIDTH*Nrow], *_2nd = _1st + SCREEN_WIDTH*NBLOCKS; // first and second lines + for(int i = 0; i < SCREEN_WIDTH; ++i){ // ~50us for 64 pixels + uint8_t pinsset = getcolrvals(_1st[i], 0); + pinsset |= getcolrvals(_2nd[i], 0) << 3; + //dmabuf[i] = (i%2) ? ((COLR_pin<<16) | i) : (0b100010); + dmabuf[i] = (COLR_pin << 16) | pinsset; // All BR are 1, BS depending on color + } +} + + +static uint8_t blknum_curr = 0; +/** + * @brief TIM_DMA_transfer - start DMA transfer + * @param buf - buffer with data for GPIOA->BSRR + * @param blknum - number of active block + */ +void TIM_DMA_transfer(uint8_t blknum){ + //USB_send("TIM_DMA_transfer\n"); + TIM3->CR1 = 0; // turn off timer + transfer_done = 0; + // set first pixel color + COLR_port->BSRR = dmabuf[0]; + DMA1_Channel3->CNDTR = SCREEN_WIDTH; + DMA1_Channel3->CCR |= DMA_CCR_EN; // start DMA + TIM3->CCR1 = 4; // 50% PWM + TIM3->CR1 = TIM_CR1_CEN; // turn on timer + blknum_curr = blknum; +} + +// DMA transfer complete - stop transfer +void dma1_channel3_isr(){ + TIM3->CR1 |= TIM_CR1_OPM; // set one pulse mode to turn off timer after last CLK pulse + DMA1_Channel3->CCR &= ~DMA_CCR_EN; // stop DMA + while(TIM3->CNT < 7); + SET(nOE); // clear main output + ADDR_port->ODR = (ADDR_port->ODR & ~(ADDR_pin)) | (blknum_curr << ADDR_roll); // set address + SET(LAT); // activate latch + DMA1->IFCR = DMA_IFCR_CGIF3; + transfer_done = 1; + CLEAR(LAT); + CLEAR(nOE); // activate main output + //USB_send("transfer done\n"); +} + diff --git a/F1-nolib/RGB_LED_Screen/hardware.h b/F1-nolib/RGB_LED_Screen/hardware.h new file mode 100644 index 0000000..c6fa097 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/hardware.h @@ -0,0 +1,72 @@ +/* + * geany_encoding=koi8-r + * hardware.h + * + * Copyright 2018 Edward V. Emelianov + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + */ +#pragma once +#ifndef __HARDWARE_H__ +#define __HARDWARE_H__ + +#include "stm32f1.h" +#include "screen.h" + +// define this if screen is negative +// #define SCREEN_IS_NEGATIVE + +// LED0 - PC13 (bluepill), blinking each second +#define LED0_port GPIOC +#define LED0_pin (1<<13) + +// USB pullup (not present in bluepill) - PA15 +#define USBPU_port GPIOA +#define USBPU_pin (1<<15) +#define USBPU_ON() pin_set(USBPU_port, USBPU_pin) +#define USBPU_OFF() pin_clear(USBPU_port, USBPU_pin) + +#define LED_blink(x) pin_toggle(x ## _port, x ## _pin) +#define LED_on(x) pin_clear(x ## _port, x ## _pin) +#define LED_off(x) pin_set(x ## _port, x ## _pin) + +// SPI DMA channel +#define DMA_SPI_Channel DMA1_Channel3 +// SCREEN PINs: A,B,C,D - PB6-PB9; LAT - PB5; nOE - PB4 +// CLK - PA6 (TIM3_CH1) +// colors: PA0..PA5 +#define COLR_port GPIOA +#define COLR_pin (0x3f) +#define ADDR_port GPIOB +#define ADDR_roll (6) +#define ADDR_pin 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 z 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�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%0ANE}l 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 z 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� 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РJqE{b#LzqQwX1OT0 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 literal 0 HcmV?d00001 diff --git a/F1-nolib/RGB_LED_Screen/main.c b/F1-nolib/RGB_LED_Screen/main.c new file mode 100644 index 0000000..7acd4ec --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/main.c @@ -0,0 +1,129 @@ +/* + * main.c + * + * Copyright 2017 Edward V. Emelianoff + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include "fonts.h" +#include "hardware.h" +#include "proto.h" +#include "screen.h" +#include "usb.h" +#include "usb_lib.h" + +volatile uint32_t Tms = 0; +uint8_t countms = 0; + +/* Called when systick fires */ +void sys_tick_handler(void){ + ++Tms; +} + +void iwdg_setup(){ + uint32_t tmout = 16000000; + /* Enable the peripheral clock RTC */ + /* (1) Enable the LSI (40kHz) */ + /* (2) Wait while it is not ready */ + RCC->CSR |= RCC_CSR_LSION; /* (1) */ + while((RCC->CSR & RCC_CSR_LSIRDY) != RCC_CSR_LSIRDY){if(--tmout == 0) break;} /* (2) */ + /* Configure IWDG */ + /* (1) Activate IWDG (not needed if done in option bytes) */ + /* (2) Enable write access to IWDG registers */ + /* (3) Set prescaler by 64 (1.6ms for each tick) */ + /* (4) Set reload value to have a rollover each 2s */ + /* (5) Check if flags are reset */ + /* (6) Refresh counter */ + IWDG->KR = IWDG_START; /* (1) */ + IWDG->KR = IWDG_WRITE_ACCESS; /* (2) */ + IWDG->PR = IWDG_PR_PR_1; /* (3) */ + IWDG->RLR = 1250; /* (4) */ + tmout = 16000000; + while(IWDG->SR){if(--tmout == 0) break;} /* (5) */ + IWDG->KR = IWDG_REFRESH; /* (6) */ +} + +#define USBBUFSZ (127) +// usb getline +static char *get_USB(){ + static char tmpbuf[USBBUFSZ+1], *curptr = tmpbuf; + static int rest = USBBUFSZ; + int x = USB_receive(curptr); + curptr[x] = 0; + if(!x) return NULL; + if(curptr[x-1] == '\n'){ + curptr = tmpbuf; + rest = USBBUFSZ; + return tmpbuf; + } + curptr += x; rest -= x; + if(rest <= 0){ // buffer overflow + curptr = tmpbuf; + rest = USBBUFSZ; + USB_send("USB buffer overflow\n"); + } + return NULL; +} + +int main(void){ + uint32_t lastT = 0, mscnt = 0, Tmscnt = 0; + sysreset(); + StartHSE(); + SysTick_Config(72000); + RCC->CSR |= RCC_CSR_RMVF; // remove reset flags + + hw_setup(); + USBPU_OFF(); + USB_setup(); + PutStringAt(5, SCREEN_HEIGHT-1-curfont->baseline, "Test string"); + iwdg_setup(); + USBPU_ON(); + + while(1){ + IWDG->KR = IWDG_REFRESH; // refresh watchdog + if(Tms - lastT > 499){ + LED_blink(LED0); + lastT = Tms; + } + if(countms){ + if(!Tmscnt){ + Tmscnt = Tms; + if(!Tmscnt) Tmscnt = 1; + }else{ + if(Tms - Tmscnt > 99){ + Tmscnt = Tms; + ClearScreen(); + PutStringAt(5, SCREEN_HEIGHT-1-curfont->baseline, u2str(++mscnt)); + ScreenON(); + } + } + }else{ + mscnt = 0; + Tmscnt = 0; + } + IWDG->KR = IWDG_REFRESH; + process_screen(); + usb_proc(); + char *txt; const char *ans; + if((txt = get_USB())){ + ans = parse_cmd(txt); + if(ans) USB_send(ans); + } + } + return 0; +} + diff --git a/F1-nolib/RGB_LED_Screen/proto.c b/F1-nolib/RGB_LED_Screen/proto.c new file mode 100644 index 0000000..d1123d1 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/proto.c @@ -0,0 +1,258 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "fonts.h" +#include "proto.h" +#include "screen.h" +#include "usb.h" + +extern uint8_t countms; + +char *omit_spaces(const char *buf){ + while(*buf){ + if(*buf > ' ') break; + ++buf; + } + return (char*)buf; +} + +// In case of overflow return `buf` and N==0xffffffff +// read decimal number & return pointer to next non-number symbol +static char *getdec(const char *buf, uint32_t *N){ + char *start = (char*)buf; + uint32_t num = 0; + while(*buf){ + char c = *buf; + if(c < '0' || c > '9'){ + break; + } + if(num > 429496729 || (num == 429496729 && c > '5')){ // overflow + *N = 0xffffff; + return start; + } + num *= 10; + num += c - '0'; + ++buf; + } + *N = num; + return (char*)buf; +} +// read hexadecimal number (without 0x prefix!) +static char *gethex(const char *buf, uint32_t *N){ + char *start = (char*)buf; + uint32_t num = 0; + while(*buf){ + char c = *buf; + uint8_t M = 0; + if(c >= '0' && c <= '9'){ + M = '0'; + }else if(c >= 'A' && c <= 'F'){ + M = 'A' - 10; + }else if(c >= 'a' && c <= 'f'){ + M = 'a' - 10; + } + if(M){ + if(num & 0xf0000000){ // overflow + *N = 0xffffff; + return start; + } + num <<= 4; + num += c - M; + }else{ + break; + } + ++buf; + } + *N = num; + return (char*)buf; +} +// read octal number (without 0 prefix!) +static char *getoct(const char *buf, uint32_t *N){ + char *start = (char*)buf; + uint32_t num = 0; + while(*buf){ + char c = *buf; + if(c < '0' || c > '7'){ + break; + } + if(num & 0xe0000000){ // overflow + *N = 0xffffff; + return start; + } + num <<= 3; + num += c - '0'; + ++buf; + } + *N = num; + return (char*)buf; +} +// read binary number (without b prefix!) +static char *getbin(const char *buf, uint32_t *N){ + char *start = (char*)buf; + uint32_t num = 0; + while(*buf){ + char c = *buf; + if(c < '0' || c > '1'){ + break; + } + if(num & 0x80000000){ // overflow + *N = 0xffffff; + return start; + } + num <<= 1; + if(c == '1') num |= 1; + ++buf; + } + *N = num; + return (char*)buf; +} + +/** + * @brief getnum - read uint32_t from string (dec, hex or bin: 127, 0x7f, 0b1111111) + * @param buf - buffer with number and so on + * @param N - the number read + * @return pointer to first non-number symbol in buf + * (if it is == buf, there's no number or if *N==0xffffffff there was overflow) + */ +char *getnum(const char *txt, uint32_t *N){ + char *nxt = NULL; + char *s = omit_spaces(txt); + if(*s == '0'){ // hex, oct or 0 + if(s[1] == 'x' || s[1] == 'X'){ // hex + nxt = gethex(s+2, N); + if(nxt == s+2) nxt = (char*)txt; + }else if(s[1] > '0'-1 && s[1] < '8'){ // oct + nxt = getoct(s+1, N); + if(nxt == s+1) nxt = (char*)txt; + }else{ // 0 + nxt = s+1; + *N = 0; + } + }else if(*s == 'b' || *s == 'B'){ + nxt = getbin(s+1, N); + if(nxt == s+1) nxt = (char*)txt; + }else{ + nxt = getdec(s, N); + if(nxt == s) nxt = (char*)txt; + } + return nxt; +} + +const char* helpmsg = + "'0/1' - screen off/on\n" + "'2,3' - select font\n" + "'C' - clear screen with given color\n" + "'F' - set foreground color\n" + "'f' - get FPS\n" + "'R' - software reset\n" + "'W' - test watchdog\n" + "'Zz' -start/stop counting ms\n" + "Any text - put text @ screen\n" +; + +const char *parse_cmd(const char *buf){ + uint32_t N; + if(buf[1] == '\n'){ // one symbol commands + switch(*buf){ + case '0': + ScreenOFF(); + return "OFF\n"; + break; + case '1': + ScreenON(); + return "ON\n"; + break; + case '2': + choose_font(FONT14); + return "Font14\n"; + break; + case '3': + choose_font(FONT16); + return "Font16\n"; + break; + case 'f': + if(SCREEN_RELAX == getScreenState()) return "Screen is inactive\n"; + USB_send("FPS="); + USB_send(u2str(getFPS())); + USB_send("\n"); + return NULL; + case 'R': + USB_send("Soft reset\n"); + NVIC_SystemReset(); + break; + case 'W': + USB_send("Wait for reboot\n"); + while(1){nop();}; + break; + case 'Z': + countms = 1; + return "Start\n"; + break; + case 'z': + countms = 0; + return "Stop\n"; + break; + default: + return helpmsg; + } + return NULL; + }else{ + switch(*buf){ + case 'C': + if(getnum(buf+1, &N)){ + ScreenOFF(); + setBGcolor(N); + ClearScreen(); + ScreenON(); + return "Background color\n"; + } + return "Wrong color\n"; + break; + case 'F': + if(getnum(buf+1, &N)){ + setFGcolor(N); + return "Foreground color\n"; + } + return "Wrong color\n"; + break; + default: + ScreenOFF(); + ClearScreen(); + PutStringAt(5, SCREEN_HEIGHT-1-curfont->baseline, buf); + ScreenON(); + } + return buf; + } + return NULL; +} + +// return string with number `val` +char *u2str(uint32_t val){ + static char strbuf[11]; + char *bufptr = &strbuf[10]; + *bufptr = 0; + if(!val){ + *(--bufptr) = '0'; + }else{ + while(val){ + *(--bufptr) = val % 10 + '0'; + val /= 10; + } + } + return bufptr; +} diff --git a/F1-nolib/RGB_LED_Screen/proto.h b/F1-nolib/RGB_LED_Screen/proto.h new file mode 100644 index 0000000..ff61e2c --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/proto.h @@ -0,0 +1,31 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once +#ifndef PROTO_H__ +#define PROTO_H__ + +#include + +const char *parse_cmd(const char *buf); +void printu(uint32_t val); +void printuhex(uint32_t val); +char *omit_spaces(const char *buf); +char *getnum(const char *buf, uint32_t *N); +char *u2str(uint32_t val); + +#endif // PROTO_H__ diff --git a/F1-nolib/RGB_LED_Screen/screen.c b/F1-nolib/RGB_LED_Screen/screen.c new file mode 100644 index 0000000..5638224 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/screen.c @@ -0,0 +1,200 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include // memset, memcpy +#include +#include "fonts.h" +#include "hardware.h" +#include "screen.h" +//#include "usb.h" + + +// !!!FOR LITTLE-ENDIAN!!! + +// X coordinate - from left to right! +// Y coordinate - from top to bottom! +// (0,0) is top left corner + +// all-screen buffer +static uint8_t screenbuf[SCREENBUF_SZ]; +extern volatile uint32_t Tms; // time for FPS count +static uint32_t FPS = 0, Tfps = 0; // approx FPS +uint32_t getFPS(){return FPS;} + +static uint8_t fgColor = 0xff, bgColor = 0; // foreground and background colors +void setBGcolor(uint8_t c){bgColor = c;} +void setFGcolor(uint8_t c){fgColor = c;} + +/** + * @brief FillScreen - fill screen buffer with current bgColor + */ +void ClearScreen(){ + for(int i = 0; i < SCREENBUF_SZ; ++i) + screenbuf[i] = bgColor; + for(int i = 0; i < 32; ++i){ + DrawPix(0,i,0b11111111); // white + DrawPix(27,i,0b11100000); // red + DrawPix(34,i,0b00011100); // green + DrawPix(63,i,0b00000011); // blue + } + // memset -> halt + //memset(screenbuf, pattern, SCREENBUF_SZ); +} + +/** + * @brief DrawPix - set or clear pixel + * @param X, Y - pixel coordinates (could be outside of screen) + * @param pix - == pixel color (RRRGGGBB) + */ +void DrawPix(int16_t X, int16_t Y, uint8_t pix){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + // now calculate coordinate of pixel + screenbuf[Y*SCREEN_WIDTH + X] = pix; +} +void InvertPix(int16_t X, int16_t Y){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + screenbuf[Y*SCREEN_WIDTH + X] = ~screenbuf[Y*SCREEN_WIDTH + X]; +} +void XORPix(int16_t X, int16_t Y, uint8_t pix){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + screenbuf[Y*SCREEN_WIDTH + X] ^= pix; +} + +/** + * @brief DrawCharAt - draws character @ position X,Y (this point is left baseline corner of char!) + * character will be drawn with current fg and bg colors + * @param X, Y - started point + * @param Char - char to draw + * @return char width + */ +uint8_t DrawCharAt(int16_t X, int16_t Y, uint8_t Char){ + const uint8_t *curchar = font_char(Char); + if(!curchar) return 0; + // now change Y coordinate to left upper corner of font + Y += 1 - curfont->height + curfont->baseline; + // height and width of letter in pixels + uint8_t h = curfont->height, w = *curchar++; // now curchar is pointer to bits array + uint8_t lw = curfont->bytes / h; // width of letter in bytes + for(uint8_t row = 0; row <= h; ++row){ + for(uint8_t col = 0; col < w; ++col){ + if(curchar[row*lw + (col/8)] & (1 << (7 - (col%8)))) + DrawPix(X + col, Y + row, fgColor); + else + DrawPix(X + col, Y + row, bgColor); + } + } + return w; +} + +/** + * @brief PutStringAt - draw text string @ screen + * @param X, Y - base coordinates + * @param str - string to draw + * @return - text width in pixels + */ +uint8_t PutStringAt(int16_t X, int16_t Y, const char *str){ + if(!str) return 0; + int16_t Xold = X; + while(*str){ + X += DrawCharAt(X, Y, (uint8_t)*str++); + } + return X - Xold; +} + +uint8_t *getScreenBuf(){return screenbuf;} + +static screen_state ScrnState = SCREEN_RELAX; +screen_state getScreenState(){return ScrnState;} + +static uint8_t currentB = 0; // current block number +static uint8_t Ntick = 0; // tick number (0..7) for PWM color + +/** + * @brief process_screen - screen state machine processing + */ +void process_screen(){ + static uint32_t framecnt = 0; + switch(ScrnState){ + case SCREEN_ACTIVE: // transmission active + if(transfer_done){ + ScrnState = SCREEN_UPDATENXT; + }else return; + // fallthrough + case SCREEN_UPDATENXT: + ConvertScreenBuf(screenbuf, currentB, Ntick); // convert data + TIM_DMA_transfer(currentB); // start transfer + ScrnState = SCREEN_ACTIVE; + if(++currentB >= NBLOCKS){ + currentB = 0; // start again + if(++Ntick >= 7){ + Ntick = 0; + ++framecnt; + if(Tms - Tfps > 999){ + FPS = framecnt; + Tfps = Tms; + framecnt = 0; + } + } + } + break; + default: + return; + } +} + +/** + * @brief ShowScreen - turn on data transmission + */ +void ScreenON(){ + ScrnState = SCREEN_UPDATENXT; + Tfps = Tms; +} + +void ScreenOFF(){ + stopTIMDMA(); + SET(nOE); + ScrnState = SCREEN_RELAX; + currentB = 0; + Ntick = 0; +} + +/** + * @brief RGB2pack - convert RGB color to packed RRRGGGBB + * @param RGB - color (each in range 0..8) + * @return packed color + */ +uint8_t RGB2pack(const uint8_t *RGB){ + uint8_t b = RGB[2] & 7; + if(b) b = (b - 1) >> 1; + return ((RGB[0] & 7)<<5 | (RGB[1] & 7) << 2 | b); +} +/** + * @brief pack2RGB - convert packed color to array of RGB (0..8) + * @param pack - packed color + * @return RGB array + */ +uint8_t *pack2RGB(uint8_t pack){ + static uint8_t RGB[3]; + RGB[0] = pack >> 5; + RGB[1] = (pack & 0x1c) >> 2; + pack &= 3; + if(pack) RGB[2] = (pack<<1) + 1; + else RGB[2] = 0; + return RGB; +} + diff --git a/F1-nolib/RGB_LED_Screen/screen.c.autosave b/F1-nolib/RGB_LED_Screen/screen.c.autosave new file mode 100644 index 0000000..91859c5 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/screen.c.autosave @@ -0,0 +1,200 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include // memset, memcpy +#include +#include "fonts.h" +#include "hardware.h" +#include "screen.h" +//#include "usb.h" + + +// !!!FOR LITTLE-ENDIAN!!! + +// X coordinate - from left to right! +// Y coordinate - from top to bottom! +// (0,0) is top left corner + +// all-screen buffer +static uint8_t screenbuf[SCREENBUF_SZ]; +extern volatile uint32_t Tms; // time for FPS count +static uint32_t FPS = 0, Tfps = 0; // approx FPS +uint32_t getFPS(){return FPS;} + +static uint8_t fgColor = 0xff, bgColor = 0; // foreground and background colors +void setBGcolor(uint8_t c){bgColor = c;} +void setFGcolor(uint8_t c){fgColor = c;} + +/** + * @brief FillScreen - fill screen buffer with current bgColor + */ +void ClearScreen(){ + for(int i = 0; i < SCREENBUF_SZ; ++i) + screenbuf[i] = bgColor; + for(int i = 0; i < 32; ++i){ + DrawPix(0,i,0b11111111); // white + DrawPix(27,i,0b11100000); // red + DrawPix(34,i,0b00011100); // green + DrawPix(63,i,0b00000011); // blue + } - opendrain output + // memset -> halt + //memset(screenbuf, pattern, SCREENBUF_SZ); +} + +/** + * @brief DrawPix - set or clear pixel + * @param X, Y - pixel coordinates (could be outside of screen) + * @param pix - == pixel color (RRRGGGBB) + */ +void DrawPix(int16_t X, int16_t Y, uint8_t pix){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + // now calculate coordinate of pixel + screenbuf[Y*SCREEN_WIDTH + X] = pix; +} +void InvertPix(int16_t X, int16_t Y){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + screenbuf[Y*SCREEN_WIDTH + X] = ~screenbuf[Y*SCREEN_WIDTH + X]; +} +void XORPix(int16_t X, int16_t Y, uint8_t pix){ + if(X < 0 || X > SCREEN_WIDTH-1 || Y < 0 || Y > SCREEN_HEIGHT-1) return; // outside of screen + screenbuf[Y*SCREEN_WIDTH + X] ^= pix; +} + +/** + * @brief DrawCharAt - draws character @ position X,Y (this point is left baseline corner of char!) + * character will be drawn with current fg and bg colors + * @param X, Y - started point + * @param Char - char to draw + * @return char width + */ +uint8_t DrawCharAt(int16_t X, int16_t Y, uint8_t Char){ + const uint8_t *curchar = font_char(Char); + if(!curchar) return 0; + // now change Y coordinate to left upper corner of font + Y += 1 - curfont->height + curfont->baseline; + // height and width of letter in pixels + uint8_t h = curfont->height, w = *curchar++; // now curchar is pointer to bits array + uint8_t lw = curfont->bytes / h; // width of letter in bytes + for(uint8_t row = 0; row <= h; ++row){ + for(uint8_t col = 0; col < w; ++col){ + if(curchar[row*lw + (col/8)] & (1 << (7 - (col%8)))) + DrawPix(X + col, Y + row, fgColor); + else + DrawPix(X + col, Y + row, bgColor); + } + } + return w; +} + +/** + * @brief PutStringAt - draw text string @ screen + * @param X, Y - base coordinates + * @param str - string to draw + * @return - text width in pixels + */ +uint8_t PutStringAt(int16_t X, int16_t Y, const char *str){ + if(!str) return 0; + int16_t Xold = X; + while(*str){ + X += DrawCharAt(X, Y, (uint8_t)*str++); + } + return X - Xold; +} + +uint8_t *getScreenBuf(){return screenbuf;} + +static screen_state ScrnState = SCREEN_RELAX; +screen_state getScreenState(){return ScrnState;} + +static uint8_t currentB = 0; // current block number +static uint8_t Ntick = 0; // tick number (0..7) for PWM color + +/** + * @brief process_screen - screen state machine processing + */ +void process_screen(){ + static uint32_t framecnt = 0; + switch(ScrnState){ + case SCREEN_ACTIVE: // transmission active + if(transfer_done){ + ScrnState = SCREEN_UPDATENXT; + }else return; + // fallthrough + case SCREEN_UPDATENXT: + ConvertScreenBuf(screenbuf, currentB, Ntick); // convert data + TIM_DMA_transfer(currentB); // start transfer + ScrnState = SCREEN_ACTIVE; + if(++currentB >= NBLOCKS){ + currentB = 0; // start again + if(++Ntick >= 7){ + Ntick = 0; + ++framecnt; + if(Tms - Tfps > 999){ + FPS = framecnt; + Tfps = Tms; + framecnt = 0; + } + } + } + break; + default: + return; + } +} + +/** + * @brief ShowScreen - turn on data transmission + */ +void ScreenON(){ + ScrnState = SCREEN_UPDATENXT; + Tfps = Tms; +} + +void ScreenOFF(){ + stopTIMDMA(); + SET(nOE); + ScrnState = SCREEN_RELAX; + currentB = 0; + Ntick = 0; +} + +/** + * @brief RGB2pack - convert RGB color to packed RRRGGGBB + * @param RGB - color (each in range 0..8) + * @return packed color + */ +uint8_t RGB2pack(const uint8_t *RGB){ + uint8_t b = RGB[2] & 7; + if(b) b = (b - 1) >> 1; + return ((RGB[0] & 7)<<5 | (RGB[1] & 7) << 2 | b); +} +/** + * @brief pack2RGB - convert packed color to array of RGB (0..8) + * @param pack - packed color + * @return RGB array + */ +uint8_t *pack2RGB(uint8_t pack){ + static uint8_t RGB[3]; + RGB[0] = pack >> 5; + RGB[1] = (pack & 0x1c) >> 2; + pack &= 3; + if(pack) RGB[2] = (pack<<1) + 1; + else RGB[2] = 0; + return RGB; +} + diff --git a/F1-nolib/RGB_LED_Screen/screen.h b/F1-nolib/RGB_LED_Screen/screen.h new file mode 100644 index 0000000..1a551b2 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/screen.h @@ -0,0 +1,63 @@ +/* + * This file is part of the LED_screen project. + * Copyright 2019 Edward V. Emelianov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifndef SCREEN_H__ +#define SCREEN_H__ + +#include + +// display size in px +// PANEL_WIDTH is width of one panel +//#define PANEL_WIDTH (64) +// SCREEN_WIDTH is total screen width +#define SCREEN_WIDTH (64) +#define SCREEN_HEIGHT (32) +#define SCREENBUF_SZ (SCREEN_WIDTH*SCREEN_HEIGHT) +// amount of blocks @ screen +#define NBLOCKS (16) + +// pause to show a quater of screen - 10ms (25Hz framerate) +#define SCREEN_PAUSE (3) + +typedef enum{ // screen states + SCREEN_RELAX, // nothing to do (screen is off) + SCREEN_ACTIVE, // transmission active + SCREEN_UPDATENXT // update next quarter +} screen_state; + +screen_state getScreenState(); +void ClearScreen(); +void setBGcolor(uint8_t c); +void setFGcolor(uint8_t c); +void DrawPix(int16_t X, int16_t Y, uint8_t pix); +void InvertPix(int16_t X, int16_t Y); +void XORPix(int16_t X, int16_t Y, uint8_t pix); +uint8_t DrawCharAt(int16_t X, int16_t Y, uint8_t Char); +uint8_t PutStringAt(int16_t X, int16_t Y, const char *str); +uint8_t *getScreenBuf(); +void process_screen(); +void ScreenON(); +void ScreenOFF(); +uint32_t getFPS(); + +uint8_t RGB2pack(const uint8_t *RGB); +uint8_t *pack2RGB(uint8_t pack); + + +#endif // SCREEN_H__ diff --git a/F1-nolib/RGB_LED_Screen/usb.c b/F1-nolib/RGB_LED_Screen/usb.c new file mode 100644 index 0000000..091e6b8 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/usb.c @@ -0,0 +1,167 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "usb.h" +#include "usb_lib.h" + +static volatile uint8_t tx_succesfull = 1; +static volatile uint8_t rxNE = 0; + +static int sstrlen(const char *s){ + if(!s) return 0; + int l = 0; + while(*s++) ++l; + return l; +} + +// interrupt IN handler (never used?) +static void EP1_Handler(){ + uint16_t epstatus = KEEP_DTOG(USB->EPnR[1]); + if(RX_FLAG(epstatus)) epstatus = (epstatus & ~USB_EPnR_STAT_TX) ^ USB_EPnR_STAT_RX; // set valid RX + else epstatus = epstatus & ~(USB_EPnR_STAT_TX|USB_EPnR_STAT_RX); + // clear CTR + epstatus = (epstatus & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX)); + USB->EPnR[1] = epstatus; +} + +// data IN/OUT handlers +static void transmit_Handler(){ // EP3IN + tx_succesfull = 1; + uint16_t epstatus = KEEP_DTOG_STAT(USB->EPnR[3]); + // clear CTR keep DTOGs & STATs + USB->EPnR[3] = (epstatus & ~(USB_EPnR_CTR_TX)); // clear TX ctr +} + +static void receive_Handler(){ // EP2OUT + rxNE = 1; + uint16_t epstatus = KEEP_DTOG_STAT(USB->EPnR[2]); + USB->EPnR[2] = (epstatus & ~(USB_EPnR_CTR_RX)); // clear RX ctr +} + +void USB_setup(){ + NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn); + NVIC_DisableIRQ(USB_HP_CAN1_TX_IRQn); + RCC->APB1ENR |= RCC_APB1ENR_USBEN; + USB->CNTR = USB_CNTR_FRES; // Force USB Reset + for(uint32_t ctr = 0; ctr < 72000; ++ctr) nop(); // wait >1ms + //uint32_t ctr = 0; + USB->CNTR = 0; + USB->BTABLE = 0; + USB->DADDR = 0; + USB->ISTR = 0; + USB->CNTR = USB_CNTR_RESETM | USB_CNTR_WKUPM; // allow only wakeup & reset interrupts + NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn); +} + +static int usbwr(const char *buf, int l){ + uint32_t ctra = 1000000; + while(--ctra && tx_succesfull == 0){ + IWDG->KR = IWDG_REFRESH; + } + tx_succesfull = 0; + EP_Write(3, (uint8_t*)buf, l); + ctra = 1000000; + while(--ctra && tx_succesfull == 0){ + IWDG->KR = IWDG_REFRESH; + } + if(tx_succesfull == 0){usbON = 0; return 1;} // usb is OFF? + return 0; +} + +static char usbbuff[USB_TXBUFSZ-1]; // temporary buffer (63 - to prevent need of ZLP) +static int buflen = 0; // amount of symbols in usbbuff + +// send next up to 63 bytes of data in usbbuff +static void send_next(){ + if(!buflen || !tx_succesfull) return; + tx_succesfull = 0; + EP_Write(3, (uint8_t*)usbbuff, buflen); + buflen = 0; +} + +// unblocking sending - just fill a buffer +void USB_send(const char *buf){ + int len = sstrlen(buf); + if(!usbON || !len) return; + if(len > USB_TXBUFSZ-1 - buflen){ + usbwr(usbbuff, buflen); + buflen = 0; + } + if(len > USB_TXBUFSZ-1){ + USB_send_blk(buf, len); + return; + } + while(len--) usbbuff[buflen++] = *buf++; +} + +// blocking sending +void USB_send_blk(const char *buf, int len){ + if(!usbON || !len) return; // USB disconnected + if(buflen){ + usbwr(usbbuff, buflen); + buflen = 0; + } + int needzlp = 0; + while(len){ + if(len == USB_TXBUFSZ) needzlp = 1; + int s = (len > USB_TXBUFSZ) ? USB_TXBUFSZ : len; + if(usbwr(buf, s)) return; + len -= s; + buf += s; + } + if(needzlp){ + usbwr(NULL, 0); + } +} + +void usb_proc(){ + switch(USB_Dev.USB_Status){ + case USB_STATE_CONFIGURED: + // make new BULK endpoint + // Buffer have 1024 bytes, but last 256 we use for CAN bus (30.2 of RM: USB main features) + EP_Init(1, EP_TYPE_INTERRUPT, USB_EP1BUFSZ, 0, EP1_Handler); // IN1 - transmit + EP_Init(2, EP_TYPE_BULK, 0, USB_RXBUFSZ, receive_Handler); // OUT2 - receive data + EP_Init(3, EP_TYPE_BULK, USB_TXBUFSZ, 0, transmit_Handler); // IN3 - transmit data + USB_Dev.USB_Status = USB_STATE_CONNECTED; + break; + case USB_STATE_DEFAULT: + case USB_STATE_ADDRESSED: + if(usbON){ + usbON = 0; + } + break; + default: // USB_STATE_CONNECTED - send next data portion + if(!usbON) return; + send_next(); + } +} + +/** + * @brief USB_receive + * @param buf (i) - buffer[64] for received data + * @return amount of received bytes + */ +int USB_receive(char *buf){ + if(!usbON || !rxNE) return 0; + int sz = EP_Read(2, (uint16_t*)buf); + uint16_t epstatus = KEEP_DTOG(USB->EPnR[2]); + // keep stat_tx & set ACK rx + USB->EPnR[2] = (epstatus & ~(USB_EPnR_STAT_TX)) ^ USB_EPnR_STAT_RX; + rxNE = 0; + return sz; +} diff --git a/F1-nolib/RGB_LED_Screen/usb.h b/F1-nolib/RGB_LED_Screen/usb.h new file mode 100644 index 0000000..79e426c --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/usb.h @@ -0,0 +1,33 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifndef __USB_H__ +#define __USB_H__ + +#include "hardware.h" + +#define BUFFSIZE (64) + +void USB_setup(); +void usb_proc(); +void USB_send(const char *buf); +void USB_send_blk(const char *buf, int len); +int USB_receive(char *buf); + +#endif // __USB_H__ diff --git a/F1-nolib/RGB_LED_Screen/usb_defs.h b/F1-nolib/RGB_LED_Screen/usb_defs.h new file mode 100644 index 0000000..afd382b --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/usb_defs.h @@ -0,0 +1,102 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifndef __USB_DEFS_H__ +#define __USB_DEFS_H__ + +#include + +// max endpoints number +#define STM32ENDPOINTS 8 +/** + * Buffers size definition + **/ +#define USB_BTABLE_SIZE 512 +// first 64 bytes of USB_BTABLE are registers! +//#define USB_EP0_BASEADDR 64 +// for USB FS EP0 buffers are from 8 to 64 bytes long (64 for PL2303) +#define USB_EP0_BUFSZ 64 +// USB transmit buffer size (64 for PL2303) +#define USB_TXBUFSZ 64 +// USB receive buffer size (64 for PL2303) +#define USB_RXBUFSZ 64 +// EP1 - interrupt - buffer size +#define USB_EP1BUFSZ 8 + +#define USB_BTABLE_BASE 0x40006000 +#define USB_BASE ((uint32_t)0x40005C00) +#define USB ((USB_TypeDef *) USB_BASE) + +#ifdef USB_BTABLE +#undef USB_BTABLE +#endif +#define USB_BTABLE ((USB_BtableDef *)(USB_BTABLE_BASE)) +#define USB_ISTR_EPID 0x0000000F +#define USB_FNR_LSOF_0 0x00000800 +#define USB_FNR_lSOF_1 0x00001000 +#define USB_LPMCSR_BESL_0 0x00000010 +#define USB_LPMCSR_BESL_1 0x00000020 +#define USB_LPMCSR_BESL_2 0x00000040 +#define USB_LPMCSR_BESL_3 0x00000080 +#define USB_EPnR_CTR_RX 0x00008000 +#define USB_EPnR_DTOG_RX 0x00004000 +#define USB_EPnR_STAT_RX 0x00003000 +#define USB_EPnR_STAT_RX_0 0x00001000 +#define USB_EPnR_STAT_RX_1 0x00002000 +#define USB_EPnR_SETUP 0x00000800 +#define USB_EPnR_EP_TYPE 0x00000600 +#define USB_EPnR_EP_TYPE_0 0x00000200 +#define USB_EPnR_EP_TYPE_1 0x00000400 +#define USB_EPnR_EP_KIND 0x00000100 +#define USB_EPnR_CTR_TX 0x00000080 +#define USB_EPnR_DTOG_TX 0x00000040 +#define USB_EPnR_STAT_TX 0x00000030 +#define USB_EPnR_STAT_TX_0 0x00000010 +#define USB_EPnR_STAT_TX_1 0x00000020 +#define USB_EPnR_EA 0x0000000F +#define USB_COUNTn_RX_BLSIZE 0x00008000 +#define USB_COUNTn_NUM_BLOCK 0x00007C00 +#define USB_COUNTn_RX 0x0000003F + +#ifdef USB_TypeDef +#define USB_TypeDef USB_TypeDef_custom +#endif + +typedef struct { + __IO uint32_t EPnR[STM32ENDPOINTS]; + __IO uint32_t RESERVED[STM32ENDPOINTS]; + __IO uint32_t CNTR; + __IO uint32_t ISTR; + __IO uint32_t FNR; + __IO uint32_t DADDR; + __IO uint32_t BTABLE; +} USB_TypeDef; + +typedef struct{ + __IO uint32_t USB_ADDR_TX; + __IO uint32_t USB_COUNT_TX; + __IO uint32_t USB_ADDR_RX; + __IO uint32_t USB_COUNT_RX; +} USB_EPDATA_TypeDef; + +typedef struct{ + __IO USB_EPDATA_TypeDef EP[STM32ENDPOINTS]; +} USB_BtableDef; + +#endif // __USB_DEFS_H__ diff --git a/F1-nolib/RGB_LED_Screen/usb_lib.c b/F1-nolib/RGB_LED_Screen/usb_lib.c new file mode 100644 index 0000000..3f7db14 --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/usb_lib.c @@ -0,0 +1,476 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include "usb_lib.h" + +ep_t endpoints[STM32ENDPOINTS]; + +usb_dev_t USB_Dev; +static usb_LineCoding lineCoding = {115200, 0, 0, 8}; +static config_pack_t setup_packet; +static uint8_t ep0databuf[EP0DATABUF_SIZE]; +static uint8_t ep0dbuflen = 0; + +usb_LineCoding getLineCoding(){return lineCoding;} + +uint8_t usbON = 0; // device disconnected from terminal + +// definition of parts common for USB_DeviceDescriptor & USB_DeviceQualifierDescriptor +#define bcdUSB_L 0x10 +#define bcdUSB_H 0x01 +#define bDeviceClass 0 +#define bDeviceSubClass 0 +#define bDeviceProtocol 0 +#define bNumConfigurations 1 + +static const uint8_t USB_DeviceDescriptor[] = { + 18, // bLength + 0x01, // bDescriptorType - Device descriptor + bcdUSB_L, // bcdUSB_L - 1.10 + bcdUSB_H, // bcdUSB_H + bDeviceClass, // bDeviceClass - USB_COMM + bDeviceSubClass, // bDeviceSubClass + bDeviceProtocol, // bDeviceProtocol + USB_EP0_BUFSZ, // bMaxPacketSize + 0x7b, // idVendor_L PL2303: VID=0x067b, PID=0x2303 + 0x06, // idVendor_H + 0x03, // idProduct_L + 0x23, // idProduct_H + 0x00, // bcdDevice_Ver_L + 0x03, // bcdDevice_Ver_H + 0x01, // iManufacturer + 0x02, // iProduct + 0x00, // iSerialNumber + bNumConfigurations // bNumConfigurations +}; + +static const uint8_t USB_DeviceQualifierDescriptor[] = { + 10, //bLength + 0x06, // bDescriptorType - Device qualifier + bcdUSB_L, // bcdUSB_L + bcdUSB_H, // bcdUSB_H + bDeviceClass, // bDeviceClass + bDeviceSubClass, // bDeviceSubClass + bDeviceProtocol, // bDeviceProtocol + USB_EP0_BUFSZ, // bMaxPacketSize0 + bNumConfigurations, // bNumConfigurations + 0x00 // Reserved +}; + +static const uint8_t USB_ConfigDescriptor[] = { + /*Configuration Descriptor*/ + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + 39, /* wTotalLength:no of returned bytes */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: Configuration value */ + 0x00, /* iConfiguration: Index of string descriptor describing the configuration */ + 0xa0, /* bmAttributes - Bus powered, Remote wakeup */ + 0x32, /* MaxPower 100 mA */ + + /*---------------------------------------------------------------------------*/ + + /*Interface Descriptor */ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: Interface */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x03, /* bNumEndpoints: 3 endpoints used */ + 0xff, /* bInterfaceClass */ + 0x00, /* bInterfaceSubClass */ + 0x00, /* bInterfaceProtocol */ + 0x00, /* iInterface: */ +/////////////////////////////////////////////////// + /*Endpoint 1 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + 0x05, /* bDescriptorType: Endpoint */ + 0x81, /* bEndpointAddress IN1 */ + 0x03, /* bmAttributes: Interrupt */ + 0x0a, /* wMaxPacketSize LO: */ + 0x00, /* wMaxPacketSize HI: */ + 0x01, /* bInterval: */ + + /*Endpoint OUT2 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + 0x05, /* bDescriptorType: Endpoint */ + 0x02, /* bEndpointAddress: OUT2 */ + 0x02, /* bmAttributes: Bulk */ + (USB_RXBUFSZ & 0xff), /* wMaxPacketSize: 64 */ + (USB_RXBUFSZ >> 8), + 0x00, /* bInterval: ignore for Bulk transfer */ + + /*Endpoint IN3 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + 0x05, /* bDescriptorType: Endpoint */ + 0x83, /* bEndpointAddress IN3 */ + 0x02, /* bmAttributes: Bulk */ + (USB_TXBUFSZ & 0xff), /* wMaxPacketSize: 64 */ + (USB_TXBUFSZ >> 8), + 0x00, /* bInterval: ignore for Bulk transfer */ +}; + +_USB_LANG_ID_(USB_StringLangDescriptor, LANG_US); +// these descriptors are not used in PL2303 emulator! +_USB_STRING_(USB_StringSerialDescriptor, u"0"); +_USB_STRING_(USB_StringManufacturingDescriptor, u"Prolific Technology Inc."); +_USB_STRING_(USB_StringProdDescriptor, u"USB-Serial Controller"); + +/* + * default handlers + */ +// SET_LINE_CODING +void WEAK linecoding_handler(usb_LineCoding __attribute__((unused)) *lc){ +} + +// SET_CONTROL_LINE_STATE +void WEAK clstate_handler(uint16_t __attribute__((unused)) val){ +} + +// SEND_BREAK +void WEAK break_handler(){ +} + +// handler of vendor requests +void WEAK vendor_handler(config_pack_t *packet){ + if(packet->bmRequestType & 0x80){ // read + uint8_t c; + switch(packet->wValue){ + case 0x8484: + c = 2; + break; + case 0x0080: + c = 1; + break; + case 0x8686: + c = 0xaa; + break; + default: + c = 0; + } + EP_WriteIRQ(0, &c, 1); + }else{ // write ZLP + EP_WriteIRQ(0, (uint8_t *)0, 0); + } +} + +static void wr0(const uint8_t *buf, uint16_t size){ + if(setup_packet.wLength < size) size = setup_packet.wLength; // shortened request + if(size < endpoints[0].txbufsz){ + EP_WriteIRQ(0, buf, size); + return; + } + while(size){ + uint16_t l = size; + if(l > endpoints[0].txbufsz) l = endpoints[0].txbufsz; + EP_WriteIRQ(0, buf, l); + buf += l; + size -= l; + uint8_t needzlp = (l == endpoints[0].txbufsz) ? 1 : 0; + if(size || needzlp){ // send last data buffer + uint16_t status = KEEP_DTOG(USB->EPnR[0]); + // keep DTOGs, clear CTR_RX,TX, set TX VALID, leave stat_Rx + USB->EPnR[0] = (status & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX|USB_EPnR_STAT_RX)) + ^ USB_EPnR_STAT_TX; + uint32_t ctr = 1000000; + while(--ctr && (USB->ISTR & USB_ISTR_CTR) == 0){IWDG->KR = IWDG_REFRESH;}; + if((USB->ISTR & USB_ISTR_CTR) == 0){ + return; + } + if(needzlp) EP_WriteIRQ(0, (uint8_t*)0, 0); + } + } +} + +static inline void get_descriptor(){ + switch(setup_packet.wValue){ + case DEVICE_DESCRIPTOR: + wr0(USB_DeviceDescriptor, sizeof(USB_DeviceDescriptor)); + break; + case CONFIGURATION_DESCRIPTOR: + wr0(USB_ConfigDescriptor, sizeof(USB_ConfigDescriptor)); + break; + case STRING_LANG_DESCRIPTOR: + wr0((const uint8_t *)&USB_StringLangDescriptor, STRING_LANG_DESCRIPTOR_SIZE_BYTE); + break; + case STRING_MAN_DESCRIPTOR: + wr0((const uint8_t *)&USB_StringManufacturingDescriptor, USB_StringManufacturingDescriptor.bLength); + break; + case STRING_PROD_DESCRIPTOR: + wr0((const uint8_t *)&USB_StringProdDescriptor, USB_StringProdDescriptor.bLength); + break; + case STRING_SN_DESCRIPTOR: + wr0((const uint8_t *)&USB_StringSerialDescriptor, USB_StringSerialDescriptor.bLength); + break; + case DEVICE_QUALIFIER_DESCRIPTOR: + wr0(USB_DeviceQualifierDescriptor, USB_DeviceQualifierDescriptor[0]); + break; + default: + break; + } +} + +static uint8_t configuration = 0; // reply for GET_CONFIGURATION (==1 if configured) +static inline void std_d2h_req(){ + uint16_t status = 0; // bus powered + switch(setup_packet.bRequest){ + case GET_DESCRIPTOR: + get_descriptor(); + break; + case GET_STATUS: + EP_WriteIRQ(0, (uint8_t *)&status, 2); // send status: Bus Powered + break; + case GET_CONFIGURATION: + EP_WriteIRQ(0, &configuration, 1); + break; + default: + break; + } +} + +static inline void std_h2d_req(){ + switch(setup_packet.bRequest){ + case SET_ADDRESS: + // new address will be assigned later - after acknowlegement or request to host + USB_Dev.USB_Addr = setup_packet.wValue; + break; + case SET_CONFIGURATION: + // Now device configured + USB_Dev.USB_Status = USB_STATE_CONFIGURED; + configuration = setup_packet.wValue; + break; + default: + break; + } +} + +/* +bmRequestType: 76543210 +7 direction: 0 - host->device, 1 - device->host +65 type: 0 - standard, 1 - class, 2 - vendor +4..0 getter: 0 - device, 1 - interface, 2 - endpoint, 3 - other +*/ +/** + * Endpoint0 (control) handler + */ +static void EP0_Handler(){ + uint16_t epstatus = USB->EPnR[0]; // EP0R on input -> return this value after modifications + uint8_t reqtype = setup_packet.bmRequestType & 0x7f; + uint8_t dev2host = (setup_packet.bmRequestType & 0x80) ? 1 : 0; + int rxflag = RX_FLAG(epstatus); + if(rxflag && SETUP_FLAG(epstatus)){ + switch(reqtype){ + case STANDARD_DEVICE_REQUEST_TYPE: // standard device request + if(dev2host){ + std_d2h_req(); + }else{ + std_h2d_req(); + EP_WriteIRQ(0, (uint8_t *)0, 0); + } + break; + case STANDARD_ENDPOINT_REQUEST_TYPE: // standard endpoint request + if(setup_packet.bRequest == CLEAR_FEATURE){ + EP_WriteIRQ(0, (uint8_t *)0, 0); + } + break; + case VENDOR_REQUEST_TYPE: + vendor_handler(&setup_packet); + break; + case CONTROL_REQUEST_TYPE: + switch(setup_packet.bRequest){ + case GET_LINE_CODING: + EP_WriteIRQ(0, (uint8_t*)&lineCoding, sizeof(lineCoding)); + break; + case SET_LINE_CODING: // omit this for next stage, when data will come + break; + case SET_CONTROL_LINE_STATE: + usbON = 1; + clstate_handler(setup_packet.wValue); + break; + case SEND_BREAK: + usbON = 0; + break_handler(); + break; + default: + break; + } + if(setup_packet.bRequest != GET_LINE_CODING) EP_WriteIRQ(0, (uint8_t *)0, 0); // write acknowledgement + break; + default: + EP_WriteIRQ(0, (uint8_t *)0, 0); + } + }else if(rxflag){ // got data over EP0 or host acknowlegement + if(endpoints[0].rx_cnt){ + if(setup_packet.bRequest == SET_LINE_CODING){ + linecoding_handler((usb_LineCoding*)ep0databuf); + } + } + } else if(TX_FLAG(epstatus)){ // package transmitted + // now we can change address after enumeration + if ((USB->DADDR & USB_DADDR_ADD) != USB_Dev.USB_Addr){ + USB->DADDR = USB_DADDR_EF | USB_Dev.USB_Addr; + // change state to ADRESSED + USB_Dev.USB_Status = USB_STATE_ADDRESSED; + } + } + epstatus = KEEP_DTOG(USB->EPnR[0]); + if(rxflag) epstatus ^= USB_EPnR_STAT_TX; // start ZLP/data transmission + else epstatus &= ~USB_EPnR_STAT_TX; // or leave unchanged + // keep DTOGs, clear CTR_RX,TX, set RX VALID + USB->EPnR[0] = (epstatus & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX)) ^ USB_EPnR_STAT_RX; +} + +static uint16_t lastaddr = LASTADDR_DEFAULT; +/** + * Endpoint initialisation + * @param number - EP num (0...7) + * @param type - EP type (EP_TYPE_BULK, EP_TYPE_CONTROL, EP_TYPE_ISO, EP_TYPE_INTERRUPT) + * @param txsz - transmission buffer size @ USB/CAN buffer + * @param rxsz - reception buffer size @ USB/CAN buffer + * @param uint16_t (*func)(ep_t *ep) - EP handler function + * @return 0 if all OK + */ +int EP_Init(uint8_t number, uint8_t type, uint16_t txsz, uint16_t rxsz, void (*func)(ep_t ep)){ + if(number >= STM32ENDPOINTS) return 4; // out of configured amount + if(txsz > USB_BTABLE_SIZE || rxsz > USB_BTABLE_SIZE) return 1; // buffer too large + if(lastaddr + txsz + rxsz >= USB_BTABLE_SIZE) return 2; // out of btable + USB->EPnR[number] = (type << 9) | (number & USB_EPnR_EA); + USB->EPnR[number] ^= USB_EPnR_STAT_RX | USB_EPnR_STAT_TX_1; + if(rxsz & 1 || rxsz > 512) return 3; // wrong rx buffer size + uint16_t countrx = 0; + if(rxsz < 64) countrx = rxsz / 2; + else{ + if(rxsz & 0x1f) return 3; // should be multiple of 32 + countrx = 31 + rxsz / 32; + } + USB_BTABLE->EP[number].USB_ADDR_TX = lastaddr; + endpoints[number].tx_buf = (uint16_t *)(USB_BTABLE_BASE + lastaddr*2); + endpoints[number].txbufsz = txsz; + lastaddr += txsz; + USB_BTABLE->EP[number].USB_COUNT_TX = 0; + USB_BTABLE->EP[number].USB_ADDR_RX = lastaddr; + endpoints[number].rx_buf = (uint16_t *)(USB_BTABLE_BASE + lastaddr*2); + lastaddr += rxsz; + USB_BTABLE->EP[number].USB_COUNT_RX = countrx << 10; + endpoints[number].func = func; + return 0; +} + +// standard IRQ handler +void usb_lp_can_rx0_isr(){ + if(USB->ISTR & USB_ISTR_RESET){ + usbON = 0; + // Reinit registers + USB->CNTR = USB_CNTR_RESETM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM; + USB->ISTR = 0; + // Endpoint 0 - CONTROL + // ON USB LS size of EP0 may be 8 bytes, but on FS it should be 64 bytes! + lastaddr = LASTADDR_DEFAULT; + // clear address, leave only enable bit + USB->DADDR = USB_DADDR_EF; + USB_Dev.USB_Status = USB_STATE_DEFAULT; + USB->ISTR = ~USB_ISTR_RESET; + if(EP_Init(0, EP_TYPE_CONTROL, USB_EP0_BUFSZ, USB_EP0_BUFSZ, EP0_Handler)){ + return; + } + } + if(USB->ISTR & USB_ISTR_CTR){ + // EP number + uint8_t n = USB->ISTR & USB_ISTR_EPID; + // copy status register + uint16_t epstatus = USB->EPnR[n]; + // copy received bytes amount + endpoints[n].rx_cnt = USB_BTABLE->EP[n].USB_COUNT_RX & 0x3FF; // low 10 bits is counter + // check direction + if(USB->ISTR & USB_ISTR_DIR){ // OUT interrupt - receive data, CTR_RX==1 (if CTR_TX == 1 - two pending transactions: receive following by transmit) + if(n == 0){ // control endpoint + if(epstatus & USB_EPnR_SETUP){ // setup packet -> copy data to conf_pack + EP_Read(0, (uint16_t*)&setup_packet); + ep0dbuflen = 0; + // interrupt handler will be called later + }else if(epstatus & USB_EPnR_CTR_RX){ // data packet -> push received data to ep0databuf + ep0dbuflen = endpoints[0].rx_cnt; + EP_Read(0, (uint16_t*)&ep0databuf); + } + } + } + // call EP handler + if(endpoints[n].func) endpoints[n].func(endpoints[n]); + } + if(USB->ISTR & USB_ISTR_SUSP){ // suspend -> still no connection, may sleep + usbON = 0; + USB->CNTR |= USB_CNTR_FSUSP | USB_CNTR_LP_MODE; + USB->ISTR = ~USB_ISTR_SUSP; + } + if(USB->ISTR & USB_ISTR_WKUP){ // wakeup + USB->CNTR &= ~(USB_CNTR_FSUSP | USB_CNTR_LP_MODE); // clear suspend flags + USB->ISTR = ~USB_ISTR_WKUP; + } +} + +/** + * Write data to EP buffer (called from IRQ handler) + * @param number - EP number + * @param *buf - array with data + * @param size - its size + */ +void EP_WriteIRQ(uint8_t number, const uint8_t *buf, uint16_t size){ + uint8_t i; + if(size > endpoints[number].txbufsz) size = endpoints[number].txbufsz; + uint16_t N2 = (size + 1) >> 1; + // the buffer is 16-bit, so we should copy data as it would be uint16_t + uint16_t *buf16 = (uint16_t *)buf; + uint32_t *out = (uint32_t *)endpoints[number].tx_buf; + for(i = 0; i < N2; ++i, ++out){ + *out = buf16[i]; + } + USB_BTABLE->EP[number].USB_COUNT_TX = size; +} + +/** + * Write data to EP buffer (called outside IRQ handler) + * @param number - EP number + * @param *buf - array with data + * @param size - its size + */ +void EP_Write(uint8_t number, const uint8_t *buf, uint16_t size){ + EP_WriteIRQ(number, buf, size); + uint16_t status = KEEP_DTOG(USB->EPnR[number]); + // keep DTOGs, clear CTR_TX & set TX VALID to start transmission + USB->EPnR[number] = (status & ~(USB_EPnR_CTR_TX)) ^ USB_EPnR_STAT_TX; +} + +/* + * Copy data from EP buffer into user buffer area + * @param *buf - user array for data + * @return amount of data read + */ +int EP_Read(uint8_t number, uint16_t *buf){ + int sz = endpoints[number].rx_cnt; + if(!sz) return 0; + endpoints[number].rx_cnt = 0; + int n = (sz + 1) >> 1; + uint32_t *in = (uint32_t *)endpoints[number].rx_buf; + if(n){ + for(int i = 0; i < n; ++i, ++in) + buf[i] = *(uint16_t*)in; + } + return sz; +} + diff --git a/F1-nolib/RGB_LED_Screen/usb_lib.h b/F1-nolib/RGB_LED_Screen/usb_lib.h new file mode 100644 index 0000000..40a0ddd --- /dev/null +++ b/F1-nolib/RGB_LED_Screen/usb_lib.h @@ -0,0 +1,184 @@ +/* + * This file is part of the RGBLEDscreen project. + * Copyright 2020 Edward V. Emelianov . + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifndef __USB_LIB_H__ +#define __USB_LIB_H__ + +#include +#include "usb_defs.h" + +#define EP0DATABUF_SIZE (64) +#define LASTADDR_DEFAULT (STM32ENDPOINTS * 8) + +// bmRequestType & 0x7f +#define STANDARD_DEVICE_REQUEST_TYPE 0 +#define STANDARD_ENDPOINT_REQUEST_TYPE 2 +#define VENDOR_REQUEST_TYPE 0x40 +#define CONTROL_REQUEST_TYPE 0x21 +// bRequest, standard; for bmRequestType == 0x80 +#define GET_STATUS 0x00 +#define GET_DESCRIPTOR 0x06 +#define GET_CONFIGURATION 0x08 +// for bmRequestType == 0 +#define CLEAR_FEATURE 0x01 +#define SET_FEATURE 0x03 // unused +#define SET_ADDRESS 0x05 +#define SET_DESCRIPTOR 0x07 // unused +#define SET_CONFIGURATION 0x09 +// for bmRequestType == 0x81, 1 or 0xB2 +#define GET_INTERFACE 0x0A // unused +#define SET_INTERFACE 0x0B // unused +#define SYNC_FRAME 0x0C // unused +#define VENDOR_REQUEST 0x01 // unused + +// Class-Specific Control Requests +#define SEND_ENCAPSULATED_COMMAND 0x00 // unused +#define GET_ENCAPSULATED_RESPONSE 0x01 // unused +#define SET_COMM_FEATURE 0x02 // unused +#define GET_COMM_FEATURE 0x03 // unused +#define CLEAR_COMM_FEATURE 0x04 // unused +#define SET_LINE_CODING 0x20 +#define GET_LINE_CODING 0x21 +#define SET_CONTROL_LINE_STATE 0x22 +#define SEND_BREAK 0x23 + +// control line states +#define CONTROL_DTR 0x01 +#define CONTROL_RTS 0x02 + +// wValue +#define DEVICE_DESCRIPTOR 0x100 +#define CONFIGURATION_DESCRIPTOR 0x200 +#define STRING_LANG_DESCRIPTOR 0x300 +#define STRING_MAN_DESCRIPTOR 0x301 +#define STRING_PROD_DESCRIPTOR 0x302 +#define STRING_SN_DESCRIPTOR 0x303 +#define DEVICE_QUALIFIER_DESCRIPTOR 0x600 + +#define RX_FLAG(epstat) (epstat & USB_EPnR_CTR_RX) +#define TX_FLAG(epstat) (epstat & USB_EPnR_CTR_TX) +#define SETUP_FLAG(epstat) (epstat & USB_EPnR_SETUP) + +// EPnR bits manipulation +#define KEEP_DTOG_STAT(EPnR) (EPnR & ~(USB_EPnR_STAT_RX|USB_EPnR_STAT_TX|USB_EPnR_DTOG_RX|USB_EPnR_DTOG_TX)) +#define KEEP_DTOG(EPnR) (EPnR & ~(USB_EPnR_DTOG_RX|USB_EPnR_DTOG_TX)) + +// USB state: uninitialized, addressed, ready for use +typedef enum{ + USB_STATE_DEFAULT, + USB_STATE_ADDRESSED, + USB_STATE_CONFIGURED, + USB_STATE_CONNECTED +} USB_state; + +// EP types +#define EP_TYPE_BULK 0x00 +#define EP_TYPE_CONTROL 0x01 +#define EP_TYPE_ISO 0x02 +#define EP_TYPE_INTERRUPT 0x03 + +#define LANG_US (uint16_t)0x0409 + +#define _USB_STRING_(name, str) \ +static const struct name \ +{ \ + uint8_t bLength; \ + uint8_t bDescriptorType; \ + uint16_t bString[(sizeof(str) - 2) / 2]; \ + \ +} \ +name = {sizeof(name), 0x03, str} + +#define _USB_LANG_ID_(name, lng_id) \ + \ +static const struct name \ +{ \ + uint8_t bLength; \ + uint8_t bDescriptorType; \ + uint16_t bString; \ + \ +} \ +name = {0x04, 0x03, lng_id} +#define STRING_LANG_DESCRIPTOR_SIZE_BYTE (4) + +// EP0 configuration packet +typedef struct { + uint8_t bmRequestType; + uint8_t bRequest; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; +} config_pack_t; + +// endpoints state +typedef struct{ + uint16_t *tx_buf; // transmission buffer address + uint16_t txbufsz; // transmission buffer size + uint16_t *rx_buf; // reception buffer address + void (*func)(); // endpoint action function + unsigned rx_cnt : 10; // received data counter +} ep_t; + +// USB status & its address +typedef struct { + uint8_t USB_Status; + uint16_t USB_Addr; +}usb_dev_t; + +typedef struct { + uint32_t dwDTERate; + uint8_t bCharFormat; + #define USB_CDC_1_STOP_BITS 0 + #define USB_CDC_1_5_STOP_BITS 1 + #define USB_CDC_2_STOP_BITS 2 + uint8_t bParityType; + #define USB_CDC_NO_PARITY 0 + #define USB_CDC_ODD_PARITY 1 + #define USB_CDC_EVEN_PARITY 2 + #define USB_CDC_MARK_PARITY 3 + #define USB_CDC_SPACE_PARITY 4 + uint8_t bDataBits; +} __attribute__ ((packed)) usb_LineCoding; + +typedef struct { + uint8_t bmRequestType; + uint8_t bNotificationType; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; +} __attribute__ ((packed)) usb_cdc_notification; + +extern ep_t endpoints[]; +extern usb_dev_t USB_Dev; +extern uint8_t usbON; + +void USB_Init(); +void USB_ResetState(); +int EP_Init(uint8_t number, uint8_t type, uint16_t txsz, uint16_t rxsz, void (*func)()); +void EP_WriteIRQ(uint8_t number, const uint8_t *buf, uint16_t size); +void EP_Write(uint8_t number, const uint8_t *buf, uint16_t size); +int EP_Read(uint8_t number, uint16_t *buf); +usb_LineCoding getLineCoding(); + +void linecoding_handler(usb_LineCoding *lc); +void clstate_handler(uint16_t val); +void break_handler(); +void vendor_handler(config_pack_t *packet); + +#endif // __USB_LIB_H__