From 1c1001cf8318f82ce2d4abb1299463879339ad33 Mon Sep 17 00:00:00 2001 From: giomba Date: Sun, 11 Jul 2021 14:35:27 +0200 Subject: [PATCH] not working version of a dynamic update of the line buffer I commited this in a new branch, and probably this branch will be gone soon --- char_rom.h | 570 +++++++++++++++++++++++++++++++++++++++++++++++++++++ const.h | 3 + main.c | 86 ++++++-- 3 files changed, 638 insertions(+), 21 deletions(-) create mode 100644 char_rom.h diff --git a/char_rom.h b/char_rom.h new file mode 100644 index 0000000..43ba0bf --- /dev/null +++ b/char_rom.h @@ -0,0 +1,570 @@ +#pragma once + +const char char_rom[] = { + + + + + + + + + + + + /* 0 */ + B, B, W, W, W, W, W, W, B, B, + B, W, W, W, W, W, W, W, W, B, + W, W, W, B, B, B, B, W, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, W, W, W, W, + W, W, B, B, B, W, W, W, W, W, + W, W, B, B, W, W, W, B, W, W, + W, W, B, W, W, W, B, B, W, W, + W, W, W, W, W, B, B, B, W, W, + W, W, W, W, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, W, B, B, B, B, W, W, W, + B, W, W, W, W, W, W, W, W, B, + B, B, W, W, W, W, W, W, B, B, + /* 1 */ + B, B, B, B, W, W, B, B, B, B, + B, B, B, W, W, W, B, B, B, B, + B, B, W, W, W, W, B, B, B, B, + B, B, W, W, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, W, W, W, W, W, W, B, B, + B, B, W, W, W, W, W, W, B, B, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* E */ + W, W, W, W, W, W, W, W, W, W, + W, W, W, W, W, W, W, W, W, W, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, W, W, W, W, W, W, B, B, + W, W, W, W, W, W, W, W, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, W, W, W, W, W, W, W, W, + W, W, W, W, W, W, W, W, W, W, + /* F */ + W, W, W, W, W, W, W, W, W, W, + W, W, W, W, W, W, W, W, W, W, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, W, W, W, W, W, W, B, B, + W, W, W, W, W, W, W, W, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + W, W, B, B, B, B, B, B, B, B, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* O */ + B, B, W, W, W, W, W, W, B, B, + B, W, W, W, W, W, W, W, W, B, + W, W, W, B, B, B, B, W, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, W, B, B, B, B, W, W, W, + B, W, W, W, W, W, W, W, W, B, + B, B, W, W, W, W, W, W, B, B, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* R */ + W, W, W, W, W, W, W, W, B, B, + W, W, W, W, W, W, W, W, W, B, + W, W, B, B, B, B, B, W, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, B, W, W, + W, W, B, B, B, B, B, W, W, W, + W, W, W, W, W, W, W, W, W, B, + W, W, W, W, W, W, W, W, B, B, + W, W, B, W, W, W, B, B, B, B, + W, W, B, B, W, W, W, B, B, B, + W, W, B, B, B, W, W, W, B, B, + W, W, B, B, B, B, W, W, W, B, + W, W, B, B, B, B, B, W, W, W, + W, W, B, B, B, B, B, B, W, W, + /* ? */ + W, W, W, W, W, W, W, W, W, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, B, B, B, B, B, B, B, B, W, + W, W, W, W, W, W, W, W, W, W, + /* T */ + W, W, W, W, W, W, W, W, W, W, + W, W, W, W, W, W, W, W, W, W, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B, + B, B, B, B, W, W, B, B, B, B +}; diff --git a/const.h b/const.h index 51c8eb5..caced75 100644 --- a/const.h +++ b/const.h @@ -6,3 +6,6 @@ #define BLACK 0x00 #define WHITE 0xff +#define B BLACK +#define W WHITE + diff --git a/main.c b/main.c index 39fae5e..f8d3927 100644 --- a/main.c +++ b/main.c @@ -2,6 +2,7 @@ #include #include "const.h" #include +#include "char_rom.h" volatile uint16_t frame; volatile uint16_t line; @@ -26,30 +27,73 @@ void setup_c() { } void loop_c() { + const char* text = "1010 RETROFF"; + const text_len = strlen(text); + for (;;) { const int current_line = line; - switch (current_line) { - case 76: case 134: memcpy(line_buffer, "AAAAAAAAAAAAAAAAAAAAAA", 22); break; - case 80: memcpy(line_buffer, "11111111AAAA1111111111", 22); break; - case 84: memcpy(line_buffer, "111111111AAA1111111111", 22); break; - case 88: case 98: memcpy(line_buffer, "11AAAAA111AA11AAAAAAAA", 22); break; - case 92: memcpy(line_buffer, "11AAAAAA11AA11AAAAAAAA", 22); break; - case 102: memcpy(line_buffer, "111111111AAA11111111AA", 22); break; - case 106: memcpy(line_buffer, "11111111AAAA11111111AA", 22); break; - case 110: memcpy(line_buffer, "11A111AAAAAA11AAAAAAAA", 22); break; - case 114: memcpy(line_buffer, "11AA111AAAAA11AAAAAAAA", 22); break; - case 118: memcpy(line_buffer, "11AAA111AAAA11AAAAAAAA", 22); break; - case 122: memcpy(line_buffer, "11AAAA111AAA11AAAAAAAA", 22); break; - case 126: memcpy(line_buffer, "11AAAAA111AA1111111111", 22); break; - case 130: memcpy(line_buffer, "11AAAAAA11AA1111111111", 22); break; - } - line_buffer[60] = (current_line > 50 && current_line < 100) ? WHITE : BLACK; - - if (current_line > 200 && current_line % 8 == 0) { - const uint8_t current_number = frame >> 2; - for (uint8_t i = 0; i < 8; ++i) { - line_buffer[i] = ((current_number >> i) & 0x1) ? WHITE : BLACK; + if (current_line < 76) { + memset(line_buffer, 0, LINE_BUFFER_SIZE); + } else if (current_line < 80) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 0, 10); } + } else if (current_line < 88) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 10, 10); + } + } else if (current_line < 96) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 20, 10); + } + } else if (current_line < 104) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 30, 10); + } + } else if (current_line < 112) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 40, 10); + } + } else if (current_line < 120) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 50, 10); + } + } else if (current_line < 128) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 60, 10); + } + } /* else if (current_line < 136) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 70, 10); + } + } else if (current_line < 144) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 80, 10); + } + } else if (current_line < 152) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 90, 10); + } + } else if (current_line < 160) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 100, 10); + } + } else if (current_line < 168) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 110, 10); + } + } else if (current_line < 176) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 120, 10); + } + } else if (current_line < 184) { + for (uint8_t i = 0; i < text_len; ++i) { + memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 130, 10); + } + } */ else if (current_line < 192) { + memset(line_buffer, 0, LINE_BUFFER_SIZE); } } } + +