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
This commit is contained in:
giomba 2021-07-11 14:35:27 +02:00
parent 53da6b7171
commit 1c1001cf83
3 changed files with 638 additions and 21 deletions

570
char_rom.h Normal file
View File

@ -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
};

View File

@ -6,3 +6,6 @@
#define BLACK 0x00 #define BLACK 0x00
#define WHITE 0xff #define WHITE 0xff
#define B BLACK
#define W WHITE

84
main.c
View File

@ -2,6 +2,7 @@
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include "const.h" #include "const.h"
#include <string.h> #include <string.h>
#include "char_rom.h"
volatile uint16_t frame; volatile uint16_t frame;
volatile uint16_t line; volatile uint16_t line;
@ -26,30 +27,73 @@ void setup_c() {
} }
void loop_c() { void loop_c() {
const char* text = "1010 RETROFF";
const text_len = strlen(text);
for (;;) { for (;;) {
const int current_line = line; const int current_line = line;
switch (current_line) { if (current_line < 76) {
case 76: case 134: memcpy(line_buffer, "AAAAAAAAAAAAAAAAAAAAAA", 22); break; memset(line_buffer, 0, LINE_BUFFER_SIZE);
case 80: memcpy(line_buffer, "11111111AAAA1111111111", 22); break; } else if (current_line < 80) {
case 84: memcpy(line_buffer, "111111111AAA1111111111", 22); break; for (uint8_t i = 0; i < text_len; ++i) {
case 88: case 98: memcpy(line_buffer, "11AAAAA111AA11AAAAAAAA", 22); break; memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 0, 10);
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; } else if (current_line < 88) {
for (uint8_t i = 0; i < text_len; ++i) {
if (current_line > 200 && current_line % 8 == 0) { memcpy(line_buffer + 12 * i, char_rom + (text[i] - '0') * 14 + 10, 10);
const uint8_t current_number = frame >> 2;
for (uint8_t i = 0; i < 8; ++i) {
line_buffer[i] = ((current_number >> i) & 0x1) ? WHITE : BLACK;
} }
} 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);
} }
} }
} }