Annotation of nono/vm/lcd.cpp, revision 1.1.1.4

1.1       root        1: //
                      2: // nono
1.1.1.3   root        3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
1.1       root        5: //
                      6: 
1.1.1.4 ! root        7: //
        !             8: // LCD (HD44780)
        !             9: //
        !            10: 
1.1       root       11: #include "lcd.h"
                     12: 
1.1.1.2   root       13: std::unique_ptr<LCDDevice> gLCD;
1.1       root       14: 
                     15: LCDDevice::LCDDevice()
                     16: {
                     17:        logname = "lcd";
                     18:        devname = "LCD(HD44780)";
1.1.1.4 ! root       19:        monitor_size = nnSize(67, 3);
1.1       root       20: }
                     21: 
                     22: LCDDevice::~LCDDevice()
                     23: {
                     24: }
                     25: 
                     26: bool
                     27: LCDDevice::PowerOff()
                     28: {
                     29:        // オフをどう表現するかはあるが、とりあえずモニタ画面での表示を消すのが
                     30:        // 主目的なので空白で埋める。
                     31:        memset(ddram, 0x20, sizeof(ddram));
1.1.1.4 ! root       32:        update++;
1.1       root       33:        return true;
                     34: }
                     35: 
                     36: void
                     37: LCDDevice::SetRW(bool val)
                     38: {
                     39:        rw = val;
                     40:        putlog(2, "R/W = %c", val ? 'R' : 'W');
                     41: }
                     42: 
                     43: void
                     44: LCDDevice::SetRS(int val)
                     45: {
                     46:        rs = val;
                     47:        putlog(2, "RS = %d", rs);
                     48: }
                     49: 
                     50: void
                     51: LCDDevice::SetE(bool val)
                     52: {
                     53:        en = val;
                     54:        putlog(2, "E = %d", en);
                     55: }
                     56: 
                     57: // E, RS, R/W 線の状態を取得する (PIO1 のポートC 読み込み用)
                     58: uint8
                     59: LCDDevice::Get() const
                     60: {
                     61:        return (en ? 0x80 : 0)
                     62:                 | (rs >> 6)
                     63:                 | (rw ? 0x20 : 0);
                     64: }
                     65: 
                     66: uint8
                     67: LCDDevice::Read()
                     68: {
                     69:        if (en == false || rw == false) {
                     70:                // XXX どうなるんだろ
                     71:                return 0xff;
                     72:        }
                     73:        if (rs == 0) {
                     74:                // ステータスレジスタの読み込み
                     75:                // B A A A A A A A
                     76:                // | +-+-+-+-+-+-+-- アドレスカウンタ
                     77:                // +---------------- ビジーフラグ %1=BUSY
                     78: 
                     79:                // XXX ビジーは未実装
1.1.1.4 ! root       80:                return (addr & 0x7f);
1.1       root       81:        } else {
                     82:                putlog(0, "未実装データ読み込み");
                     83:        }
                     84:        return 0xff;
                     85: }
                     86: 
                     87: void
                     88: LCDDevice::Write(uint8 data)
                     89: {
                     90:        if (en == false || rw == true) {
                     91:                // どうなるんだろ
                     92:                return;
                     93:        }
                     94:        if (rs == 0) {
                     95:                // コマンド書き込み
1.1.1.4 ! root       96: 
1.1       root       97:                if ((data & 0x80)) {
1.1.1.4 ! root       98:                        addr = data;
        !            99:                        putlog(1, "DDRAM アドレスセット $%02x", addr & 0x7f);
1.1       root      100:                } else if ((data & 0x40)) {
1.1.1.4 ! root      101:                        addr = data;
        !           102:                        putlog(1, "CGRAM アドレスセット $%02x", addr & 0x3f);
1.1       root      103:                } else if ((data & 0x20)) {
                    104:                        // ファンクション・セット
                    105:                        // 0x38 (8ビットバス、2行表示、8ライン/行)モードのみサポート
                    106:                        if (data != 0x38) {
                    107:                                putlog(0, "コマンド書き込み $%02x ファンクションセット(未実装)",
                    108:                                         data);
                    109:                        }
                    110:                } else if ((data & 0x10)) {
                    111:                        // カーソル移動
                    112:                        putlog(0, "コマンド書き込み $%02x カーソル移動(未実装)", data);
                    113:                } else if ((data & 0x08)) {
                    114:                        // 表示ON/OFF
                    115:                        // 文字表示 ON/OFF のみサポート
                    116:                        disp_char = (data & 0x04);
                    117:                        // XXX それ以外は未サポート
                    118:                } else if ((data & 0x04)) {
                    119:                        // エントリモード
                    120:                        addr_inc = (data & 0x02);
                    121:                        // XXX 表示シフトは未サポート
                    122:                } else if ((data & 0x02)) {
                    123:                        // カーソルホーム
1.1.1.4 ! root      124:                        addr = 0x40;
1.1       root      125:                } else if ((data & 0x01)) {
                    126:                        // 表示クリア
                    127:                        memset(ddram, 0x20, sizeof(ddram));
1.1.1.4 ! root      128:                        addr = 0x40;
        !           129:                        update++;
1.1       root      130:                } else {
                    131:                        // $00 が書き込まれるんだけど、データシートにはないんだよね。
                    132:                        // 無視していいかな。
                    133:                        putlog(2, "未定義書き込み $%02x", data);
                    134:                }
                    135:        } else {
1.1.1.4 ! root      136:                if ((addr & 0x80)) {
        !           137:                        putlog(1, "DDRAM データ書き込み X=%d Y=%d <- $%02x",
        !           138:                                (addr & 0x7f) % 0x40, (addr & 0x7f) / 0x40, data);
        !           139:                } else {
        !           140:                        putlog(1, "CGRAM データ書き込み $%02x <- $%02x", addr & 0x3f, data);
        !           141:                }
        !           142:                ram[addr] = data;
        !           143:                update++;
1.1       root      144:                // アドレス更新
1.1.1.4 ! root      145:                // DDRAM は各行 0x27 までしか存在していないが、stride が 0x40 バイト。
        !           146:                // XXX CGRAM が折り返すかどうかは分からないがそのまま DDRAM 領域に
        !           147:                // 行っても困ると思うのでとりあえず。
1.1       root      148:                if (addr_inc) {
                    149:                        addr++;
1.1.1.4 ! root      150:                        if (addr == 0x80)                               // CGRAM (XXX)
1.1       root      151:                                addr = 0x40;
1.1.1.4 ! root      152:                        else if (addr == 0x80 + 0x28)   // DDRAM 1行目
        !           153:                                addr = 0x80 + 0x40;
        !           154:                        else if (addr == 0x80 + 0x68)   // DDRAM 2行目
        !           155:                                addr = 0x80 + 0;
1.1       root      156:                } else {
                    157:                        addr--;
1.1.1.4 ! root      158:                        if (addr == 0x3f)                               // CGRAM (XXX)
        !           159:                                addr = 0x7f;
        !           160:                        else if (addr == 0x7f)                  // DDRAM 1行目
        !           161:                                addr = 0x80 + 0x67;
        !           162:                        else if (addr == 0x80 + 0x3f)   // DDRAM 2行目
        !           163:                                addr = 0x80 + 0x27;
1.1       root      164:                }
                    165:        }
                    166: }
                    167: 
1.1.1.2   root      168: // PIO1 からのピーク用
                    169: uint8
                    170: LCDDevice::Peek() const
                    171: {
                    172:        if (en == false || rw == false) {
                    173:                // XXX どうなるんだろ
                    174:                return 0xff;
                    175:        }
                    176:        if (rs == 0) {
1.1.1.4 ! root      177:                // XXX ?
        !           178:                return (addr & 0x7f);
1.1.1.2   root      179:        } else {
                    180:                // データ読み込みは未実装
                    181:        }
                    182:        return 0xff;
                    183: }
                    184: 
1.1.1.4 ! root      185: void
        !           186: LCDDevice::MonitorUpdate(TextScreen &monitor)
1.1       root      187: {
                    188:        char buf[17];
                    189: 
1.1.1.4 ! root      190:        // 0         1         2         3         4         5         6
        !           191:        // 01234567890123456789012345678901234567890123456789012345678901234567
        !           192:        // RW=R  RS=0  E=0
        !           193:        // 00 01 02 03 04 05 06 07  08 09 0a 0b 0c 0d 0e 0f |0123456789abcdef|
        !           194:        // 00 01 02 03 04 05 06 07  08 09 0a 0b 0c 0d 0e 0f |0123456789abcdef|
        !           195: 
1.1       root      196:        monitor.Clear();
1.1.1.4 ! root      197:        monitor.Print(0, 0, "RW=%c  RS=%d  E=%d", rw ? 'R' : 'W', rs, en);
1.1       root      198: 
                    199:        for (int y = 0; y < 2; y++) {
                    200:                memcpy(buf, &ddram[y * 0x40], 16);
                    201:                buf[16] = '\0';
1.1.1.4 ! root      202:                // 16進を表示する端から文字ダンプ用に加工していく
        !           203:                for (int x = 0; x < 16; x++) {
        !           204:                        monitor.Print(x * 3 + (x / 8), y + 1, "%02x", buf[x]);
        !           205:                        if (buf[x] < 0x20 || buf[x] > 0x7e) {
        !           206:                                buf[x] = '.';
        !           207:                        }
        !           208:                }
        !           209:                monitor.Print(49, y + 1, "|%-16s|", buf);
1.1       root      210:        }
                    211: }
1.1.1.4 ! root      212: 
        !           213: // CGROM は ROM A00 版のみ考慮する (A02 版との共存は今の所考えない)。
        !           214: // A00 版は以下のような配置になっている。
        !           215: //
        !           216: //      +0+1+2+3+4+5+6+7+8+9+a+b+c+d+e+f
        !           217: // 0x00 <------------ CGRAM ----------->
        !           218: // 0x10
        !           219: // 0x20   ! " # $ % & ' ( ) * + , - . /
        !           220: // 0x30 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
        !           221: // 0x40 @ A B C D E F G H I J K L M N O
        !           222: // 0x50 P Q R S T U V W X Y Z [ \ ] ^ _
        !           223: // 0x60 ` a b c d e f g h i j k l m n o
        !           224: // 0x70 p q r s t u v w x y z { | } →←
        !           225: // 0x80
        !           226: // 0x90
        !           227: // 0xa0   。「」、・ヲァィゥェォャュョッ
        !           228: // 0xb0 ーアイウエオカキクケコサシスセソ
        !           229: // 0xc0 タチツテトナニヌネノハヒフヘホマ
        !           230: // 0xd0 ミムメモヤユヨラリルレロワン゛゜
        !           231: // 0xe0 <---- 5x10 ギリシャ文字など --->
        !           232: // 0xf0 <---- 5x10 ギリシャ文字など --->
        !           233: //
        !           234: // 0x00 〜 0x07 は 8文字の CGRAM で、0x08 〜 0x0f には同じものが見える。
        !           235: // 0x20〜0x7f と 0xa0〜0xdf までが 5x7 フォント、
        !           236: // 0xe0〜0xff は 5x7 フォントと 5x10 フォントが混在している。
        !           237: // 5x7 フォントは、メモリとしては 5x8 分(8バイト) を使用し、一番下のラインを
        !           238: // 常に空白としておく (LCD の1行自体が 5x8 で構成されており、一番下が
        !           239: // カーソル用に予約されているため)。
        !           240: // 一方 5x10 フォントのカーソルはこのフォントの一つ下に表示するので 5x11
        !           241: // フォントのうち一番下のラインがカーソル用とも言える。5x10 モードはサポート
        !           242: // しないので、サイズを揃えるため上から 5x8 分のデータだけを保持することにする。
        !           243: // (5x10 モードをサポートする時になんとかすること)
        !           244: //
        !           245: // 空き領域が多いこと、どのみち CGRAM 部分を考慮する必要があること、それと
        !           246: // もし 5x10 モードをサポートする場合には途中でライン数が変わることなどから、
        !           247: // フォントデータの取得は生データに直接アクセスさせるのではなく、1文字ずつ
        !           248: // フォントデータのアドレスを返す方式にする。
        !           249: 
        !           250: // 文字コード ch のフォントデータ(の先頭アドレス) を取得する。
        !           251: //
        !           252: // 連続する 8 バイトがフォントデータで、下位側(右側) 5ビットのみ有効。
        !           253: // 9バイト目が次の文字の1バイト目であることは保証していないので必ず1文字ごと
        !           254: // に呼び出すこと。また CGRAM 領域のように動的に変化する場合もあるため
        !           255: // 呼び出し側でこの読み出し値をキャッシュしないこと。
        !           256: const uint8 *
        !           257: LCDDevice::GetFont(int ch) const
        !           258: {
        !           259:        // CGRAM 部分
        !           260:        if (ch < 0x10) {
        !           261:                ch &= 0x07;
        !           262:                return &cgram[ch * 8];
        !           263:        }
        !           264: 
        !           265:        if (ch < 0x20) {
        !           266:                return &CGROM[0];       // space
        !           267:        }
        !           268: 
        !           269:        // ASCII 部分
        !           270:        if (ch < 0x80) {
        !           271:                return &CGROM[(ch - 0x20) * 8];
        !           272:        }
        !           273: 
        !           274:        if (ch < 0xa0) {
        !           275:                return &CGROM[0];       // space
        !           276:        }
        !           277: 
        !           278:        // カナ以降
        !           279:        return &CGROM[(ch - 0xa0 + 0x60) * 8];
        !           280: }
        !           281: 
        !           282: /*static*/ const uint8 LCDDevice::CGROM[12 * 16 * 8] =
        !           283: {
        !           284:        0b000'00000,                    // 0x20 space
        !           285:        0b000'00000,
        !           286:        0b000'00000,
        !           287:        0b000'00000,
        !           288:        0b000'00000,
        !           289:        0b000'00000,
        !           290:        0b000'00000,
        !           291:        0,
        !           292: 
        !           293:        0b000'00100,                    // 0x21 !
        !           294:        0b000'00100,
        !           295:        0b000'00100,
        !           296:        0b000'00100,
        !           297:        0b000'00100,
        !           298:        0b000'00000,
        !           299:        0b000'00100,
        !           300:        0,
        !           301: 
        !           302:        0b000'01010,                    // 0x22 "
        !           303:        0b000'01010,
        !           304:        0b000'00000,
        !           305:        0b000'00000,
        !           306:        0b000'00000,
        !           307:        0b000'00000,
        !           308:        0b000'00000,
        !           309:        0,
        !           310: 
        !           311:        0b000'01010,                    // 0x23 #
        !           312:        0b000'01010,
        !           313:        0b000'11111,
        !           314:        0b000'01010,
        !           315:        0b000'11111,
        !           316:        0b000'01010,
        !           317:        0b000'01010,
        !           318:        0,
        !           319: 
        !           320:        0b000'00100,                    // 0x24 $
        !           321:        0b000'01110,
        !           322:        0b000'10100,
        !           323:        0b000'01110,
        !           324:        0b000'00101,
        !           325:        0b000'01110,
        !           326:        0b000'00100,
        !           327:        0,
        !           328: 
        !           329:        0b000'11000,                    // 0x25 %
        !           330:        0b000'11001,
        !           331:        0b000'00010,
        !           332:        0b000'00100,
        !           333:        0b000'01011,
        !           334:        0b000'10011,
        !           335:        0b000'00000,
        !           336:        0,
        !           337: 
        !           338:        0b000'01100,                    // 0x26 &
        !           339:        0b000'10010,
        !           340:        0b000'10100,
        !           341:        0b000'01000,
        !           342:        0b000'10100,
        !           343:        0b000'10010,
        !           344:        0b000'01101,
        !           345:        0,
        !           346: 
        !           347:        0b000'01100,                    // 0x27 '
        !           348:        0b000'00100,
        !           349:        0b000'01000,
        !           350:        0b000'00000,
        !           351:        0b000'00000,
        !           352:        0b000'00000,
        !           353:        0b000'00000,
        !           354:        0,
        !           355: 
        !           356:        0b000'00010,                    // 0x28 (
        !           357:        0b000'00100,
        !           358:        0b000'01000,
        !           359:        0b000'01000,
        !           360:        0b000'01000,
        !           361:        0b000'00100,
        !           362:        0b000'00010,
        !           363:        0,
        !           364: 
        !           365:        0b000'01000,                    // 0x29 )
        !           366:        0b000'00100,
        !           367:        0b000'00010,
        !           368:        0b000'00010,
        !           369:        0b000'00010,
        !           370:        0b000'00100,
        !           371:        0b000'01000,
        !           372:        0,
        !           373: 
        !           374:        0b000'00000,                    // 0x2a *
        !           375:        0b000'00100,
        !           376:        0b000'10101,
        !           377:        0b000'01110,
        !           378:        0b000'10101,
        !           379:        0b000'00100,
        !           380:        0b000'00000,
        !           381:        0,
        !           382: 
        !           383:        0b000'00000,                    // 0x2b +
        !           384:        0b000'00100,
        !           385:        0b000'00100,
        !           386:        0b000'11111,
        !           387:        0b000'00100,
        !           388:        0b000'00100,
        !           389:        0b000'00000,
        !           390:        0,
        !           391: 
        !           392:        0b000'00000,                    // 0x2c ,
        !           393:        0b000'00000,
        !           394:        0b000'00000,
        !           395:        0b000'00000,
        !           396:        0b000'01100,
        !           397:        0b000'00100,
        !           398:        0b000'01000,
        !           399:        0,
        !           400: 
        !           401:        0b000'00000,                    // 0x2d -
        !           402:        0b000'00000,
        !           403:        0b000'00000,
        !           404:        0b000'11111,
        !           405:        0b000'00000,
        !           406:        0b000'00000,
        !           407:        0b000'00000,
        !           408:        0,
        !           409: 
        !           410:        0b000'00000,                    // 0x2e .
        !           411:        0b000'00000,
        !           412:        0b000'00000,
        !           413:        0b000'00000,
        !           414:        0b000'00000,
        !           415:        0b000'01100,
        !           416:        0b000'01100,
        !           417:        0,
        !           418: 
        !           419:        0b000'00000,                    // 0x2f /
        !           420:        0b000'00001,
        !           421:        0b000'00010,
        !           422:        0b000'00100,
        !           423:        0b000'01000,
        !           424:        0b000'10000,
        !           425:        0b000'00000,
        !           426:        0,
        !           427: 
        !           428:        0b000'01110,                    // 0x30 0
        !           429:        0b000'10001,
        !           430:        0b000'10011,
        !           431:        0b000'10101,
        !           432:        0b000'11001,
        !           433:        0b000'10001,
        !           434:        0b000'01110,
        !           435:        0,
        !           436: 
        !           437:        0b000'00100,                    // 0x31 1
        !           438:        0b000'01100,
        !           439:        0b000'00100,
        !           440:        0b000'00100,
        !           441:        0b000'00100,
        !           442:        0b000'00100,
        !           443:        0b000'01110,
        !           444:        0,
        !           445: 
        !           446:        0b000'01110,                    // 0x32 2
        !           447:        0b000'10001,
        !           448:        0b000'10001,
        !           449:        0b000'00010,
        !           450:        0b000'00100,
        !           451:        0b000'01000,
        !           452:        0b000'11111,
        !           453:        0,
        !           454: 
        !           455:        0b000'11111,                    // 0x33 3
        !           456:        0b000'00010,
        !           457:        0b000'00100,
        !           458:        0b000'01110,
        !           459:        0b000'00001,
        !           460:        0b000'10001,
        !           461:        0b000'01110,
        !           462:        0,
        !           463: 
        !           464:        0b000'00010,                    // 0x34 4
        !           465:        0b000'00110,
        !           466:        0b000'01010,
        !           467:        0b000'10010,
        !           468:        0b000'11111,
        !           469:        0b000'00010,
        !           470:        0b000'00010,
        !           471:        0,
        !           472: 
        !           473:        0b000'11111,                    // 0x35 5
        !           474:        0b000'10000,
        !           475:        0b000'10000,
        !           476:        0b000'11110,
        !           477:        0b000'00001,
        !           478:        0b000'10001,
        !           479:        0b000'01110,
        !           480:        0,
        !           481: 
        !           482:        0b000'00110,                    // 0x36 6
        !           483:        0b000'01000,
        !           484:        0b000'10000,
        !           485:        0b000'11110,
        !           486:        0b000'10001,
        !           487:        0b000'10001,
        !           488:        0b000'01110,
        !           489:        0,
        !           490: 
        !           491:        0b000'11111,                    // 0x37 7
        !           492:        0b000'00001,
        !           493:        0b000'00010,
        !           494:        0b000'00100,
        !           495:        0b000'00100,
        !           496:        0b000'00100,
        !           497:        0b000'00100,
        !           498:        0,
        !           499: 
        !           500:        0b000'01110,                    // 0x38 8
        !           501:        0b000'10001,
        !           502:        0b000'10001,
        !           503:        0b000'01110,
        !           504:        0b000'10001,
        !           505:        0b000'10001,
        !           506:        0b000'01110,
        !           507:        0,
        !           508: 
        !           509:        0b000'01110,                    // 0x39 9
        !           510:        0b000'10001,
        !           511:        0b000'10001,
        !           512:        0b000'01111,
        !           513:        0b000'00001,
        !           514:        0b000'00010,
        !           515:        0b000'01100,
        !           516:        0,
        !           517: 
        !           518:        0b000'00000,                    // 0x3a :
        !           519:        0b000'01100,
        !           520:        0b000'01100,
        !           521:        0b000'00000,
        !           522:        0b000'01100,
        !           523:        0b000'01100,
        !           524:        0b000'00000,
        !           525:        0,
        !           526: 
        !           527:        0b000'00000,                    // 0x3b ;
        !           528:        0b000'01100,
        !           529:        0b000'01100,
        !           530:        0b000'00000,
        !           531:        0b000'01100,
        !           532:        0b000'00100,
        !           533:        0b000'01000,
        !           534:        0,
        !           535: 
        !           536:        0b000'00010,                    // 0x3c <
        !           537:        0b000'00100,
        !           538:        0b000'01000,
        !           539:        0b000'10000,
        !           540:        0b000'01000,
        !           541:        0b000'00100,
        !           542:        0b000'00010,
        !           543:        0,
        !           544: 
        !           545:        0b000'00000,                    // 0x3d =
        !           546:        0b000'00000,
        !           547:        0b000'11111,
        !           548:        0b000'00000,
        !           549:        0b000'11111,
        !           550:        0b000'00000,
        !           551:        0b000'00000,
        !           552:        0,
        !           553: 
        !           554:        0b000'01000,                    // 0x3e >
        !           555:        0b000'00100,
        !           556:        0b000'00010,
        !           557:        0b000'00001,
        !           558:        0b000'00010,
        !           559:        0b000'00100,
        !           560:        0b000'01000,
        !           561:        0,
        !           562: 
        !           563:        0b000'01110,                    // 0x3f ?
        !           564:        0b000'10001,
        !           565:        0b000'00001,
        !           566:        0b000'00010,
        !           567:        0b000'00100,
        !           568:        0b000'00000,
        !           569:        0b000'00100,
        !           570:        0,
        !           571: 
        !           572:        0b000'01110,                    // 0x40 @
        !           573:        0b000'10001,
        !           574:        0b000'00001,
        !           575:        0b000'01101,
        !           576:        0b000'10101,
        !           577:        0b000'10101,
        !           578:        0b000'01110,
        !           579:        0,
        !           580: 
        !           581:        0b000'01110,                    // 0x41 A
        !           582:        0b000'10001,
        !           583:        0b000'10001,
        !           584:        0b000'10001,
        !           585:        0b000'11111,
        !           586:        0b000'10001,
        !           587:        0b000'10001,
        !           588:        0,
        !           589: 
        !           590:        0b000'11110,                    // 0x42 B
        !           591:        0b000'10001,
        !           592:        0b000'10001,
        !           593:        0b000'11110,
        !           594:        0b000'10001,
        !           595:        0b000'10001,
        !           596:        0b000'11110,
        !           597:        0,
        !           598: 
        !           599:        0b000'01110,                    // 0x43 C
        !           600:        0b000'10001,
        !           601:        0b000'10000,
        !           602:        0b000'10000,
        !           603:        0b000'10000,
        !           604:        0b000'10001,
        !           605:        0b000'01110,
        !           606:        0,
        !           607: 
        !           608:        0b000'11100,                    // 0x44 D
        !           609:        0b000'10010,
        !           610:        0b000'10001,
        !           611:        0b000'10001,
        !           612:        0b000'10001,
        !           613:        0b000'10010,
        !           614:        0b000'11100,
        !           615:        0,
        !           616: 
        !           617:        0b000'11111,                    // 0x45 E
        !           618:        0b000'10000,
        !           619:        0b000'10000,
        !           620:        0b000'11110,
        !           621:        0b000'10000,
        !           622:        0b000'10000,
        !           623:        0b000'11111,
        !           624:        0,
        !           625: 
        !           626:        0b000'11111,                    // 0x46 F
        !           627:        0b000'10000,
        !           628:        0b000'10000,
        !           629:        0b000'11110,
        !           630:        0b000'10000,
        !           631:        0b000'10000,
        !           632:        0b000'10000,
        !           633:        0,
        !           634: 
        !           635:        0b000'01110,                    // 0x47 G
        !           636:        0b000'10001,
        !           637:        0b000'10000,
        !           638:        0b000'10011,
        !           639:        0b000'10001,
        !           640:        0b000'10001,
        !           641:        0b000'01110,
        !           642:        0,
        !           643: 
        !           644:        0b000'10001,                    // 0x48 H
        !           645:        0b000'10001,
        !           646:        0b000'10001,
        !           647:        0b000'11111,
        !           648:        0b000'10001,
        !           649:        0b000'10001,
        !           650:        0b000'10001,
        !           651:        0,
        !           652: 
        !           653:        0b000'01110,                    // 0x49 I
        !           654:        0b000'00100,
        !           655:        0b000'00100,
        !           656:        0b000'00100,
        !           657:        0b000'00100,
        !           658:        0b000'00100,
        !           659:        0b000'01110,
        !           660:        0,
        !           661: 
        !           662:        0b000'00111,                    // 0x4a J
        !           663:        0b000'00010,
        !           664:        0b000'00010,
        !           665:        0b000'00010,
        !           666:        0b000'10010,
        !           667:        0b000'10010,
        !           668:        0b000'01100,
        !           669:        0,
        !           670: 
        !           671:        0b000'10001,                    // 0x4b K
        !           672:        0b000'10010,
        !           673:        0b000'10100,
        !           674:        0b000'11000,
        !           675:        0b000'10100,
        !           676:        0b000'10010,
        !           677:        0b000'10001,
        !           678:        0,
        !           679: 
        !           680:        0b000'10000,                    // 0x4c L
        !           681:        0b000'10000,
        !           682:        0b000'10000,
        !           683:        0b000'10000,
        !           684:        0b000'10000,
        !           685:        0b000'10000,
        !           686:        0b000'11111,
        !           687:        0,
        !           688: 
        !           689:        0b000'10001,                    // 0x4d M
        !           690:        0b000'11011,
        !           691:        0b000'10101,
        !           692:        0b000'10101,
        !           693:        0b000'10001,
        !           694:        0b000'10001,
        !           695:        0b000'10001,
        !           696:        0,
        !           697: 
        !           698:        0b000'10001,                    // 0x4e N
        !           699:        0b000'10001,
        !           700:        0b000'11001,
        !           701:        0b000'10101,
        !           702:        0b000'10011,
        !           703:        0b000'10001,
        !           704:        0b000'10001,
        !           705:        0,
        !           706: 
        !           707:        0b000'01110,                    // 0x4f O
        !           708:        0b000'10001,
        !           709:        0b000'10001,
        !           710:        0b000'10001,
        !           711:        0b000'10001,
        !           712:        0b000'10001,
        !           713:        0b000'01110,
        !           714:        0,
        !           715: 
        !           716:        0b000'11110,                    // 0x50 P
        !           717:        0b000'10001,
        !           718:        0b000'10001,
        !           719:        0b000'11110,
        !           720:        0b000'10000,
        !           721:        0b000'10000,
        !           722:        0b000'10000,
        !           723:        0,
        !           724: 
        !           725:        0b000'01110,                    // 0x51 Q
        !           726:        0b000'10001,
        !           727:        0b000'10001,
        !           728:        0b000'10001,
        !           729:        0b000'10101,
        !           730:        0b000'10010,
        !           731:        0b000'01101,
        !           732:        0,
        !           733: 
        !           734:        0b000'11110,                    // 0x52 R
        !           735:        0b000'10001,
        !           736:        0b000'10001,
        !           737:        0b000'11110,
        !           738:        0b000'10100,
        !           739:        0b000'10010,
        !           740:        0b000'10001,
        !           741:        0,
        !           742: 
        !           743:        0b000'01111,                    // 0x53 S
        !           744:        0b000'10000,
        !           745:        0b000'10000,
        !           746:        0b000'01110,
        !           747:        0b000'00001,
        !           748:        0b000'00001,
        !           749:        0b000'11110,
        !           750:        0,
        !           751: 
        !           752:        0b000'11111,                    // 0x54 T
        !           753:        0b000'00100,
        !           754:        0b000'00100,
        !           755:        0b000'00100,
        !           756:        0b000'00100,
        !           757:        0b000'00100,
        !           758:        0b000'00100,
        !           759:        0,
        !           760: 
        !           761:        0b000'10001,                    // 0x55 U
        !           762:        0b000'10001,
        !           763:        0b000'10001,
        !           764:        0b000'10001,
        !           765:        0b000'10001,
        !           766:        0b000'10001,
        !           767:        0b000'01110,
        !           768:        0,
        !           769: 
        !           770:        0b000'10001,                    // 0x56 V
        !           771:        0b000'10001,
        !           772:        0b000'10001,
        !           773:        0b000'10001,
        !           774:        0b000'10001,
        !           775:        0b000'01010,
        !           776:        0b000'00100,
        !           777:        0,
        !           778: 
        !           779:        0b000'10001,                    // 0x57 W
        !           780:        0b000'10001,
        !           781:        0b000'10001,
        !           782:        0b000'10001,
        !           783:        0b000'10101,
        !           784:        0b000'10101,
        !           785:        0b000'01010,
        !           786:        0,
        !           787: 
        !           788:        0b000'10001,                    // 0x58 X
        !           789:        0b000'10001,
        !           790:        0b000'01010,
        !           791:        0b000'00100,
        !           792:        0b000'01010,
        !           793:        0b000'10001,
        !           794:        0b000'10001,
        !           795:        0,
        !           796: 
        !           797:        0b000'10001,                    // 0x59 Y
        !           798:        0b000'10001,
        !           799:        0b000'10001,
        !           800:        0b000'01010,
        !           801:        0b000'00100,
        !           802:        0b000'00100,
        !           803:        0b000'00100,
        !           804:        0,
        !           805: 
        !           806:        0b000'11111,                    // 0x5a Z
        !           807:        0b000'00001,
        !           808:        0b000'00010,
        !           809:        0b000'00100,
        !           810:        0b000'01000,
        !           811:        0b000'10000,
        !           812:        0b000'11111,
        !           813:        0,
        !           814: 
        !           815:        0b000'01110,                    // 0x5b [
        !           816:        0b000'01000,
        !           817:        0b000'01000,
        !           818:        0b000'01000,
        !           819:        0b000'01000,
        !           820:        0b000'01000,
        !           821:        0b000'01110,
        !           822:        0,
        !           823: 
        !           824:        0b000'10001,                    // 0x5c ¥
        !           825:        0b000'01010,
        !           826:        0b000'11111,
        !           827:        0b000'00100,
        !           828:        0b000'11111,
        !           829:        0b000'00100,
        !           830:        0b000'00100,
        !           831:        0,
        !           832: 
        !           833:        0b000'01110,                    // 0x5d ]
        !           834:        0b000'00010,
        !           835:        0b000'00010,
        !           836:        0b000'00010,
        !           837:        0b000'00010,
        !           838:        0b000'00010,
        !           839:        0b000'01110,
        !           840:        0,
        !           841: 
        !           842:        0b000'00100,                    // 0x5e ^
        !           843:        0b000'01010,
        !           844:        0b000'10001,
        !           845:        0b000'00000,
        !           846:        0b000'00000,
        !           847:        0b000'00000,
        !           848:        0b000'00000,
        !           849:        0,
        !           850: 
        !           851:        0b000'00000,                    // 0x5f _
        !           852:        0b000'00000,
        !           853:        0b000'00000,
        !           854:        0b000'00000,
        !           855:        0b000'00000,
        !           856:        0b000'00000,
        !           857:        0b000'11111,
        !           858:        0,
        !           859: 
        !           860:        0b000'01000,                    // 0x60 `
        !           861:        0b000'00100,
        !           862:        0b000'00010,
        !           863:        0b000'00000,
        !           864:        0b000'00000,
        !           865:        0b000'00000,
        !           866:        0b000'00000,
        !           867:        0,
        !           868: 
        !           869:        0b000'00000,                    // 0x61 a
        !           870:        0b000'00000,
        !           871:        0b000'01110,
        !           872:        0b000'00001,
        !           873:        0b000'01111,
        !           874:        0b000'10001,
        !           875:        0b000'01111,
        !           876:        0,
        !           877: 
        !           878:        0b000'10000,                    // 0x62 b
        !           879:        0b000'10000,
        !           880:        0b000'10110,
        !           881:        0b000'11001,
        !           882:        0b000'10001,
        !           883:        0b000'10001,
        !           884:        0b000'11110,
        !           885:        0,
        !           886: 
        !           887:        0b000'00000,                    // 0x63 c
        !           888:        0b000'00000,
        !           889:        0b000'01110,
        !           890:        0b000'10001,
        !           891:        0b000'10000,
        !           892:        0b000'10001,
        !           893:        0b000'01110,
        !           894:        0,
        !           895: 
        !           896:        0b000'00001,                    // 0x64 d
        !           897:        0b000'00001,
        !           898:        0b000'01101,
        !           899:        0b000'10011,
        !           900:        0b000'10001,
        !           901:        0b000'10001,
        !           902:        0b000'01111,
        !           903:        0,
        !           904: 
        !           905:        0b000'00000,                    // 0x65 e
        !           906:        0b000'00000,
        !           907:        0b000'01110,
        !           908:        0b000'10001,
        !           909:        0b000'11111,
        !           910:        0b000'10000,
        !           911:        0b000'01110,
        !           912:        0,
        !           913: 
        !           914:        0b000'00011,                    // 0x66 f
        !           915:        0b000'00100,
        !           916:        0b000'01110,
        !           917:        0b000'00100,
        !           918:        0b000'00100,
        !           919:        0b000'00100,
        !           920:        0b000'00100,
        !           921:        0,
        !           922: 
        !           923:        0b000'00000,                    // 0x67 g
        !           924:        0b000'00000,
        !           925:        0b000'01111,
        !           926:        0b000'10001,
        !           927:        0b000'01111,
        !           928:        0b000'00001,
        !           929:        0b000'01110,
        !           930:        0,
        !           931: 
        !           932:        0b000'10000,                    // 0x68 h
        !           933:        0b000'10000,
        !           934:        0b000'10110,
        !           935:        0b000'11001,
        !           936:        0b000'10001,
        !           937:        0b000'10001,
        !           938:        0b000'10001,
        !           939:        0,
        !           940: 
        !           941:        0b000'00100,                    // 0x69 i
        !           942:        0b000'00000,
        !           943:        0b000'01100,
        !           944:        0b000'00100,
        !           945:        0b000'00100,
        !           946:        0b000'00100,
        !           947:        0b000'01110,
        !           948:        0,
        !           949: 
        !           950:        0b000'00010,                    // 0x6a j
        !           951:        0b000'00000,
        !           952:        0b000'00110,
        !           953:        0b000'00010,
        !           954:        0b000'00010,
        !           955:        0b000'10010,
        !           956:        0b000'01100,
        !           957:        0,
        !           958: 
        !           959:        0b000'10000,                    // 0x6b k
        !           960:        0b000'10000,
        !           961:        0b000'10010,
        !           962:        0b000'10100,
        !           963:        0b000'11000,
        !           964:        0b000'10100,
        !           965:        0b000'10010,
        !           966:        0,
        !           967: 
        !           968:        0b000'01100,                    // 0x6c l
        !           969:        0b000'00100,
        !           970:        0b000'00100,
        !           971:        0b000'00100,
        !           972:        0b000'00100,
        !           973:        0b000'00100,
        !           974:        0b000'01110,
        !           975:        0,
        !           976: 
        !           977:        0b000'00000,                    // 0x6d m
        !           978:        0b000'00000,
        !           979:        0b000'11010,
        !           980:        0b000'10101,
        !           981:        0b000'10101,
        !           982:        0b000'10001,
        !           983:        0b000'10001,
        !           984:        0,
        !           985: 
        !           986:        0b000'00000,                    // 0x6e n
        !           987:        0b000'00000,
        !           988:        0b000'10110,
        !           989:        0b000'11001,
        !           990:        0b000'10001,
        !           991:        0b000'10001,
        !           992:        0b000'10001,
        !           993:        0,
        !           994: 
        !           995:        0b000'00000,                    // 0x6f o
        !           996:        0b000'00000,
        !           997:        0b000'01110,
        !           998:        0b000'10001,
        !           999:        0b000'10001,
        !          1000:        0b000'10001,
        !          1001:        0b000'01110,
        !          1002:        0,
        !          1003: 
        !          1004:        0b000'00000,                    // 0x70 p
        !          1005:        0b000'00000,
        !          1006:        0b000'11110,
        !          1007:        0b000'10001,
        !          1008:        0b000'11110,
        !          1009:        0b000'10000,
        !          1010:        0b000'10000,
        !          1011:        0,
        !          1012: 
        !          1013:        0b000'00000,                    // 0x71 q
        !          1014:        0b000'00000,
        !          1015:        0b000'01111,
        !          1016:        0b000'10001,
        !          1017:        0b000'01111,
        !          1018:        0b000'00001,
        !          1019:        0b000'00001,
        !          1020:        0,
        !          1021: 
        !          1022:        0b000'00000,                    // 0x72 r
        !          1023:        0b000'00000,
        !          1024:        0b000'10110,
        !          1025:        0b000'11001,
        !          1026:        0b000'10000,
        !          1027:        0b000'10000,
        !          1028:        0b000'10000,
        !          1029:        0,
        !          1030: 
        !          1031:        0b000'00000,                    // 0x73 s
        !          1032:        0b000'00000,
        !          1033:        0b000'01110,
        !          1034:        0b000'10000,
        !          1035:        0b000'01110,
        !          1036:        0b000'00001,
        !          1037:        0b000'11110,
        !          1038:        0,
        !          1039: 
        !          1040:        0b000'00000,                    // 0x74 t
        !          1041:        0b000'01000,
        !          1042:        0b000'11110,
        !          1043:        0b000'01000,
        !          1044:        0b000'01000,
        !          1045:        0b000'01000,
        !          1046:        0b000'00110,
        !          1047:        0,
        !          1048: 
        !          1049:        0b000'00000,                    // 0x75 u
        !          1050:        0b000'00000,
        !          1051:        0b000'10001,
        !          1052:        0b000'10001,
        !          1053:        0b000'10001,
        !          1054:        0b000'10011,
        !          1055:        0b000'01101,
        !          1056:        0,
        !          1057: 
        !          1058:        0b000'00000,                    // 0x76 v
        !          1059:        0b000'00000,
        !          1060:        0b000'10001,
        !          1061:        0b000'10001,
        !          1062:        0b000'10001,
        !          1063:        0b000'01010,
        !          1064:        0b000'00100,
        !          1065:        0,
        !          1066: 
        !          1067:        0b000'00000,                    // 0x77 w
        !          1068:        0b000'00000,
        !          1069:        0b000'10001,
        !          1070:        0b000'10001,
        !          1071:        0b000'10101,
        !          1072:        0b000'10101,
        !          1073:        0b000'01010,
        !          1074:        0,
        !          1075: 
        !          1076:        0b000'00000,                    // 0x78 x
        !          1077:        0b000'00000,
        !          1078:        0b000'10001,
        !          1079:        0b000'01010,
        !          1080:        0b000'00100,
        !          1081:        0b000'01010,
        !          1082:        0b000'10001,
        !          1083:        0,
        !          1084: 
        !          1085:        0b000'00000,                    // 0x79 y
        !          1086:        0b000'00000,
        !          1087:        0b000'10001,
        !          1088:        0b000'10001,
        !          1089:        0b000'01111,
        !          1090:        0b000'00001,
        !          1091:        0b000'01110,
        !          1092:        0,
        !          1093: 
        !          1094:        0b000'00000,                    // 0x7a z
        !          1095:        0b000'00000,
        !          1096:        0b000'11111,
        !          1097:        0b000'00010,
        !          1098:        0b000'00100,
        !          1099:        0b000'01000,
        !          1100:        0b000'11111,
        !          1101:        0,
        !          1102: 
        !          1103:        0b000'00010,                    // 0x7b {
        !          1104:        0b000'00100,
        !          1105:        0b000'00100,
        !          1106:        0b000'01000,
        !          1107:        0b000'00100,
        !          1108:        0b000'00100,
        !          1109:        0b000'00010,
        !          1110:        0,
        !          1111: 
        !          1112:        0b000'00100,                    // 0x7c |
        !          1113:        0b000'00100,
        !          1114:        0b000'00100,
        !          1115:        0b000'00100,
        !          1116:        0b000'00100,
        !          1117:        0b000'00100,
        !          1118:        0b000'00100,
        !          1119:        0,
        !          1120: 
        !          1121:        0b000'01000,                    // 0x7d }
        !          1122:        0b000'00100,
        !          1123:        0b000'00100,
        !          1124:        0b000'00010,
        !          1125:        0b000'00100,
        !          1126:        0b000'00100,
        !          1127:        0b000'01000,
        !          1128:        0,
        !          1129: 
        !          1130:        0b000'00000,                    // 0x7e →
        !          1131:        0b000'00100,
        !          1132:        0b000'00010,
        !          1133:        0b000'11111,
        !          1134:        0b000'00010,
        !          1135:        0b000'00100,
        !          1136:        0b000'00000,
        !          1137:        0,
        !          1138: 
        !          1139:        0b000'00000,                    // 0x7f ←
        !          1140:        0b000'00100,
        !          1141:        0b000'01000,
        !          1142:        0b000'11111,
        !          1143:        0b000'01000,
        !          1144:        0b000'00100,
        !          1145:        0b000'00000,
        !          1146:        0,
        !          1147: 
        !          1148: 
        !          1149:        0b000'00000,                    // 0xa0 space
        !          1150:        0b000'00000,
        !          1151:        0b000'00000,
        !          1152:        0b000'00000,
        !          1153:        0b000'00000,
        !          1154:        0b000'00000,
        !          1155:        0b000'00000,
        !          1156:        0,
        !          1157: 
        !          1158:        0b000'00000,                    // 0xa1 。
        !          1159:        0b000'00000,
        !          1160:        0b000'00000,
        !          1161:        0b000'00000,
        !          1162:        0b000'11100,
        !          1163:        0b000'10100,
        !          1164:        0b000'11100,
        !          1165:        0,
        !          1166: 
        !          1167:        0b000'00111,                    // 0xa2 「
        !          1168:        0b000'00100,
        !          1169:        0b000'00100,
        !          1170:        0b000'00100,
        !          1171:        0b000'00000,
        !          1172:        0b000'00000,
        !          1173:        0b000'00000,
        !          1174:        0,
        !          1175: 
        !          1176:        0b000'00000,                    // 0xa3 」
        !          1177:        0b000'00000,
        !          1178:        0b000'00000,
        !          1179:        0b000'00100,
        !          1180:        0b000'00100,
        !          1181:        0b000'00100,
        !          1182:        0b000'11100,
        !          1183:        0,
        !          1184: 
        !          1185:        0b000'00000,                    // 0xa4 、
        !          1186:        0b000'00000,
        !          1187:        0b000'00000,
        !          1188:        0b000'00000,
        !          1189:        0b000'10000,
        !          1190:        0b000'01000,
        !          1191:        0b000'00100,
        !          1192:        0,
        !          1193: 
        !          1194:        0b000'00000,                    // 0xa5 ・
        !          1195:        0b000'00000,
        !          1196:        0b000'00000,
        !          1197:        0b000'01100,
        !          1198:        0b000'01100,
        !          1199:        0b000'00000,
        !          1200:        0b000'00000,
        !          1201:        0,
        !          1202: 
        !          1203:        0b000'00000,                    // 0xa6 ヲ
        !          1204:        0b000'11111,
        !          1205:        0b000'00001,
        !          1206:        0b000'01111,
        !          1207:        0b000'00001,
        !          1208:        0b000'00010,
        !          1209:        0b000'01100,
        !          1210:        0,
        !          1211: 
        !          1212:        0b000'00000,                    // 0xa7 ァ
        !          1213:        0b000'00000,
        !          1214:        0b000'11111,
        !          1215:        0b000'00001,
        !          1216:        0b000'00110,
        !          1217:        0b000'00100,
        !          1218:        0b000'01000,
        !          1219:        0,
        !          1220: 
        !          1221:        0b000'00000,                    // 0xa8 ィ
        !          1222:        0b000'00000,
        !          1223:        0b000'00010,
        !          1224:        0b000'00100,
        !          1225:        0b000'01100,
        !          1226:        0b000'10100,
        !          1227:        0b000'00100,
        !          1228:        0,
        !          1229: 
        !          1230:        0b000'00000,                    // 0xa9 ゥ
        !          1231:        0b000'00000,
        !          1232:        0b000'00100,
        !          1233:        0b000'11111,
        !          1234:        0b000'10001,
        !          1235:        0b000'00001,
        !          1236:        0b000'00110,
        !          1237:        0,
        !          1238: 
        !          1239:        0b000'00000,                    // 0xaa ェ
        !          1240:        0b000'00000,
        !          1241:        0b000'11111,
        !          1242:        0b000'00100,
        !          1243:        0b000'00100,
        !          1244:        0b000'00100,
        !          1245:        0b000'11111,
        !          1246:        0,
        !          1247: 
        !          1248:        0b000'00000,                    // 0xab ォ
        !          1249:        0b000'00000,
        !          1250:        0b000'00010,
        !          1251:        0b000'11111,
        !          1252:        0b000'00110,
        !          1253:        0b000'01010,
        !          1254:        0b000'10010,
        !          1255:        0,
        !          1256: 
        !          1257:        0b000'00000,                    // 0xac ャ
        !          1258:        0b000'00000,
        !          1259:        0b000'01000,
        !          1260:        0b000'11111,
        !          1261:        0b000'01001,
        !          1262:        0b000'01010,
        !          1263:        0b000'01000,
        !          1264:        0,
        !          1265: 
        !          1266:        0b000'00000,                    // 0xad ュ
        !          1267:        0b000'00000,
        !          1268:        0b000'00000,
        !          1269:        0b000'11110,
        !          1270:        0b000'00010,
        !          1271:        0b000'00010,
        !          1272:        0b000'11111,
        !          1273:        0,
        !          1274: 
        !          1275:        0b000'00000,                    // 0xae ョ
        !          1276:        0b000'00000,
        !          1277:        0b000'11111,
        !          1278:        0b000'00001,
        !          1279:        0b000'11111,
        !          1280:        0b000'00001,
        !          1281:        0b000'11111,
        !          1282:        0,
        !          1283: 
        !          1284:        0b000'00000,                    // 0xaf ッ
        !          1285:        0b000'00000,
        !          1286:        0b000'10101,
        !          1287:        0b000'10101,
        !          1288:        0b000'00001,
        !          1289:        0b000'00001,
        !          1290:        0b000'00110,
        !          1291:        0,
        !          1292: 
        !          1293:        0b000'00000,                    // 0xb0 ー
        !          1294:        0b000'00000,
        !          1295:        0b000'10000,
        !          1296:        0b000'01111,
        !          1297:        0b000'00000,
        !          1298:        0b000'00000,
        !          1299:        0b000'00000,
        !          1300:        0,
        !          1301: 
        !          1302:        0b000'00000,                    // 0xb1 ア
        !          1303:        0b000'11111,
        !          1304:        0b000'00001,
        !          1305:        0b000'00101,
        !          1306:        0b000'00110,
        !          1307:        0b000'00100,
        !          1308:        0b000'01000,
        !          1309:        0,
        !          1310: 
        !          1311:        0b000'00001,                    // 0xb2 イ
        !          1312:        0b000'00010,
        !          1313:        0b000'00100,
        !          1314:        0b000'01100,
        !          1315:        0b000'10100,
        !          1316:        0b000'00100,
        !          1317:        0b000'00100,
        !          1318:        0,
        !          1319: 
        !          1320:        0b000'00100,                    // 0xb3 ウ
        !          1321:        0b000'11111,
        !          1322:        0b000'10001,
        !          1323:        0b000'10001,
        !          1324:        0b000'00001,
        !          1325:        0b000'00010,
        !          1326:        0b000'00100,
        !          1327:        0,
        !          1328: 
        !          1329:        0b000'00000,                    // 0xb4 エ
        !          1330:        0b000'11111,
        !          1331:        0b000'00100,
        !          1332:        0b000'00100,
        !          1333:        0b000'00100,
        !          1334:        0b000'00100,
        !          1335:        0b000'11111,
        !          1336:        0,
        !          1337: 
        !          1338:        0b000'00010,                    // 0xb5 オ
        !          1339:        0b000'11111,
        !          1340:        0b000'00010,
        !          1341:        0b000'00110,
        !          1342:        0b000'01010,
        !          1343:        0b000'10010,
        !          1344:        0b000'00010,
        !          1345:        0,
        !          1346: 
        !          1347:        0b000'01000,                    // 0xb6 カ
        !          1348:        0b000'11111,
        !          1349:        0b000'01001,
        !          1350:        0b000'01001,
        !          1351:        0b000'01001,
        !          1352:        0b000'01001,
        !          1353:        0b000'10010,
        !          1354:        0,
        !          1355: 
        !          1356:        0b000'00100,                    // 0xb7 キ
        !          1357:        0b000'11111,
        !          1358:        0b000'00100,
        !          1359:        0b000'11111,
        !          1360:        0b000'00100,
        !          1361:        0b000'00100,
        !          1362:        0b000'00100,
        !          1363:        0,
        !          1364: 
        !          1365:        0b000'00000,                    // 0xb8 ク
        !          1366:        0b000'01111,
        !          1367:        0b000'01001,
        !          1368:        0b000'10001,
        !          1369:        0b000'00001,
        !          1370:        0b000'00010,
        !          1371:        0b000'01100,
        !          1372:        0,
        !          1373: 
        !          1374:        0b000'01000,                    // 0xb9 ケ
        !          1375:        0b000'01111,
        !          1376:        0b000'10010,
        !          1377:        0b000'00010,
        !          1378:        0b000'00010,
        !          1379:        0b000'00010,
        !          1380:        0b000'00100,
        !          1381:        0,
        !          1382: 
        !          1383:        0b000'00000,                    // 0xba コ
        !          1384:        0b000'11111,
        !          1385:        0b000'00001,
        !          1386:        0b000'00001,
        !          1387:        0b000'00001,
        !          1388:        0b000'00001,
        !          1389:        0b000'11111,
        !          1390:        0,
        !          1391: 
        !          1392:        0b000'01010,                    // 0xbb サ
        !          1393:        0b000'11111,
        !          1394:        0b000'01010,
        !          1395:        0b000'01010,
        !          1396:        0b000'00010,
        !          1397:        0b000'00100,
        !          1398:        0b000'01000,
        !          1399:        0,
        !          1400: 
        !          1401:        0b000'00000,                    // 0xbc シ
        !          1402:        0b000'11001,
        !          1403:        0b000'00001,
        !          1404:        0b000'11001,
        !          1405:        0b000'00001,
        !          1406:        0b000'00010,
        !          1407:        0b000'11100,
        !          1408:        0,
        !          1409: 
        !          1410:        0b000'00000,                    // 0xbd ス
        !          1411:        0b000'11111,
        !          1412:        0b000'00001,
        !          1413:        0b000'00010,
        !          1414:        0b000'00100,
        !          1415:        0b000'01010,
        !          1416:        0b000'10001,
        !          1417:        0,
        !          1418: 
        !          1419:        0b000'01000,                    // 0xbe セ
        !          1420:        0b000'11111,
        !          1421:        0b000'01001,
        !          1422:        0b000'01001,
        !          1423:        0b000'01010,
        !          1424:        0b000'01000,
        !          1425:        0b000'00110,
        !          1426:        0,
        !          1427: 
        !          1428:        0b000'00000,                    // 0xbf ソ
        !          1429:        0b000'10001,
        !          1430:        0b000'10001,
        !          1431:        0b000'01001,
        !          1432:        0b000'00001,
        !          1433:        0b000'00010,
        !          1434:        0b000'01100,
        !          1435:        0,
        !          1436: 
        !          1437:        0b000'00000,                    // 0xc0 タ
        !          1438:        0b000'01111,
        !          1439:        0b000'01001,
        !          1440:        0b000'10101,
        !          1441:        0b000'00011,
        !          1442:        0b000'00010,
        !          1443:        0b000'01100,
        !          1444:        0,
        !          1445: 
        !          1446:        0b000'00010,                    // 0xc1 チ
        !          1447:        0b000'01100,
        !          1448:        0b000'00100,
        !          1449:        0b000'11111,
        !          1450:        0b000'00100,
        !          1451:        0b000'00100,
        !          1452:        0b000'01000,
        !          1453:        0,
        !          1454: 
        !          1455:        0b000'00000,                    // 0xc2 ツ
        !          1456:        0b000'10101,
        !          1457:        0b000'10101,
        !          1458:        0b000'10101,
        !          1459:        0b000'00001,
        !          1460:        0b000'00010,
        !          1461:        0b000'00100,
        !          1462:        0,
        !          1463: 
        !          1464:        0b000'01110,                    // 0xc3 テ
        !          1465:        0b000'00000,
        !          1466:        0b000'11111,
        !          1467:        0b000'00100,
        !          1468:        0b000'00100,
        !          1469:        0b000'00100,
        !          1470:        0b000'01000,
        !          1471:        0,
        !          1472: 
        !          1473:        0b000'01000,                    // 0xc4 ト
        !          1474:        0b000'01000,
        !          1475:        0b000'01000,
        !          1476:        0b000'01100,
        !          1477:        0b000'01010,
        !          1478:        0b000'01000,
        !          1479:        0b000'01000,
        !          1480:        0,
        !          1481: 
        !          1482:        0b000'00100,                    // 0xc5 ナ
        !          1483:        0b000'00100,
        !          1484:        0b000'11111,
        !          1485:        0b000'00100,
        !          1486:        0b000'00100,
        !          1487:        0b000'00100,
        !          1488:        0b000'01000,
        !          1489:        0,
        !          1490: 
        !          1491:        0b000'00000,                    // 0xc6 ニ
        !          1492:        0b000'01110,
        !          1493:        0b000'00000,
        !          1494:        0b000'00000,
        !          1495:        0b000'00000,
        !          1496:        0b000'00000,
        !          1497:        0b000'11111,
        !          1498:        0,
        !          1499: 
        !          1500:        0b000'00000,                    // 0xc7 ヌ
        !          1501:        0b000'11111,
        !          1502:        0b000'00001,
        !          1503:        0b000'01010,
        !          1504:        0b000'00100,
        !          1505:        0b000'01010,
        !          1506:        0b000'10001,
        !          1507:        0,
        !          1508: 
        !          1509:        0b000'00100,                    // 0xc8 ネ
        !          1510:        0b000'11111,
        !          1511:        0b000'00010,
        !          1512:        0b000'00100,
        !          1513:        0b000'01110,
        !          1514:        0b000'10101,
        !          1515:        0b000'00100,
        !          1516:        0,
        !          1517: 
        !          1518:        0b000'00000,                    // 0xc9 ノ
        !          1519:        0b000'00010,
        !          1520:        0b000'00010,
        !          1521:        0b000'00010,
        !          1522:        0b000'00010,
        !          1523:        0b000'00100,
        !          1524:        0b000'01000,
        !          1525:        0,
        !          1526: 
        !          1527:        0b000'00000,                    // 0xca ハ
        !          1528:        0b000'00100,
        !          1529:        0b000'00010,
        !          1530:        0b000'10001,
        !          1531:        0b000'10001,
        !          1532:        0b000'10001,
        !          1533:        0b000'10001,
        !          1534:        0,
        !          1535: 
        !          1536:        0b000'00000,                    // 0xcb ヒ
        !          1537:        0b000'10000,
        !          1538:        0b000'11111,
        !          1539:        0b000'10000,
        !          1540:        0b000'10000,
        !          1541:        0b000'10000,
        !          1542:        0b000'01111,
        !          1543:        0,
        !          1544: 
        !          1545:        0b000'00000,                    // 0xcc フ
        !          1546:        0b000'11111,
        !          1547:        0b000'00001,
        !          1548:        0b000'00001,
        !          1549:        0b000'00001,
        !          1550:        0b000'00010,
        !          1551:        0b000'01100,
        !          1552:        0,
        !          1553: 
        !          1554:        0b000'00000,                    // 0xcd ヘ
        !          1555:        0b000'01000,
        !          1556:        0b000'10100,
        !          1557:        0b000'10010,
        !          1558:        0b000'00001,
        !          1559:        0b000'00001,
        !          1560:        0b000'00000,
        !          1561:        0,
        !          1562: 
        !          1563:        0b000'00100,                    // 0xce ホ
        !          1564:        0b000'11111,
        !          1565:        0b000'00100,
        !          1566:        0b000'10101,
        !          1567:        0b000'10101,
        !          1568:        0b000'10101,
        !          1569:        0b000'00100,
        !          1570:        0,
        !          1571: 
        !          1572:        0b000'00000,                    // 0xcf マ
        !          1573:        0b000'11111,
        !          1574:        0b000'00001,
        !          1575:        0b000'00001,
        !          1576:        0b000'01010,
        !          1577:        0b000'00100,
        !          1578:        0b000'00010,
        !          1579:        0,
        !          1580: 
        !          1581:        0b000'00000,                    // 0xd0 ミ
        !          1582:        0b000'01110,
        !          1583:        0b000'00000,
        !          1584:        0b000'01110,
        !          1585:        0b000'00000,
        !          1586:        0b000'01110,
        !          1587:        0b000'00001,
        !          1588:        0,
        !          1589: 
        !          1590:        0b000'00000,                    // 0xd1 ム
        !          1591:        0b000'00100,
        !          1592:        0b000'00100,
        !          1593:        0b000'01000,
        !          1594:        0b000'01001,
        !          1595:        0b000'10011,
        !          1596:        0b000'11101,
        !          1597:        0,
        !          1598: 
        !          1599:        0b000'00000,                    // 0xd2 メ
        !          1600:        0b000'00001,
        !          1601:        0b000'00001,
        !          1602:        0b000'00101,
        !          1603:        0b000'00010,
        !          1604:        0b000'00101,
        !          1605:        0b000'11000,
        !          1606:        0,
        !          1607: 
        !          1608:        0b000'00000,                    // 0xd3 モ
        !          1609:        0b000'11111,
        !          1610:        0b000'00100,
        !          1611:        0b000'11111,
        !          1612:        0b000'00100,
        !          1613:        0b000'00100,
        !          1614:        0b000'00011,
        !          1615:        0,
        !          1616: 
        !          1617:        0b000'01000,                    // 0xd4 ヤ
        !          1618:        0b000'01000,
        !          1619:        0b000'11111,
        !          1620:        0b000'01001,
        !          1621:        0b000'01010,
        !          1622:        0b000'01000,
        !          1623:        0b000'01000,
        !          1624:        0,
        !          1625: 
        !          1626:        0b000'00000,                    // 0xd5 ユ
        !          1627:        0b000'01110,
        !          1628:        0b000'00010,
        !          1629:        0b000'00010,
        !          1630:        0b000'00010,
        !          1631:        0b000'00010,
        !          1632:        0b000'11111,
        !          1633:        0,
        !          1634: 
        !          1635:        0b000'00000,                    // 0xd6 ヨ
        !          1636:        0b000'11111,
        !          1637:        0b000'00001,
        !          1638:        0b000'01111,
        !          1639:        0b000'00001,
        !          1640:        0b000'00001,
        !          1641:        0b000'11111,
        !          1642:        0,
        !          1643: 
        !          1644:        0b000'01110,                    // 0xd7 ラ
        !          1645:        0b000'00000,
        !          1646:        0b000'11111,
        !          1647:        0b000'00001,
        !          1648:        0b000'00001,
        !          1649:        0b000'00010,
        !          1650:        0b000'00100,
        !          1651:        0,
        !          1652: 
        !          1653:        0b000'00000,                    // 0xd8 リ
        !          1654:        0b000'10010,
        !          1655:        0b000'10010,
        !          1656:        0b000'10010,
        !          1657:        0b000'00010,
        !          1658:        0b000'00100,
        !          1659:        0b000'01000,
        !          1660:        0,
        !          1661: 
        !          1662:        0b000'00000,                    // 0xd9 ル
        !          1663:        0b000'00100,
        !          1664:        0b000'10100,
        !          1665:        0b000'10100,
        !          1666:        0b000'10101,
        !          1667:        0b000'10101,
        !          1668:        0b000'00110,
        !          1669:        0,
        !          1670: 
        !          1671:        0b000'00000,                    // 0xda レ
        !          1672:        0b000'10000,
        !          1673:        0b000'10000,
        !          1674:        0b000'10001,
        !          1675:        0b000'10010,
        !          1676:        0b000'10100,
        !          1677:        0b000'11000,
        !          1678:        0,
        !          1679: 
        !          1680:        0b000'00000,                    // 0xdb ロ
        !          1681:        0b000'11111,
        !          1682:        0b000'10001,
        !          1683:        0b000'10001,
        !          1684:        0b000'10001,
        !          1685:        0b000'10001,
        !          1686:        0b000'11111,
        !          1687:        0,
        !          1688: 
        !          1689:        0b000'00000,                    // 0xdc ワ
        !          1690:        0b000'11111,
        !          1691:        0b000'10001,
        !          1692:        0b000'10001,
        !          1693:        0b000'00001,
        !          1694:        0b000'00010,
        !          1695:        0b000'00100,
        !          1696:        0,
        !          1697: 
        !          1698:        0b000'00000,                    // 0xdd ン
        !          1699:        0b000'11000,
        !          1700:        0b000'00000,
        !          1701:        0b000'00001,
        !          1702:        0b000'00001,
        !          1703:        0b000'00010,
        !          1704:        0b000'11100,
        !          1705:        0,
        !          1706: 
        !          1707:        0b000'00100,                    // 0xde ゛
        !          1708:        0b000'10010,
        !          1709:        0b000'01000,
        !          1710:        0b000'00000,
        !          1711:        0b000'00000,
        !          1712:        0b000'00000,
        !          1713:        0b000'00000,
        !          1714:        0,
        !          1715: 
        !          1716:        0b000'11100,                    // 0xdf ゜
        !          1717:        0b000'10100,
        !          1718:        0b000'11100,
        !          1719:        0b000'00000,
        !          1720:        0b000'00000,
        !          1721:        0b000'00000,
        !          1722:        0b000'00000,
        !          1723:        0,
        !          1724: 
        !          1725:        // ここから実際には 5x10 dot も混ざるが、現在はサポートしていない
        !          1726: 
        !          1727:        0b000'00000,                    // 0xe0 α
        !          1728:        0b000'00000,
        !          1729:        0b000'00001,
        !          1730:        0b000'01101,
        !          1731:        0b000'10010,
        !          1732:        0b000'10010,
        !          1733:        0b000'01101,
        !          1734:        0b000'00000,
        !          1735: 
        !          1736:        0b000'01010,                    // 0xe1 a‥(Latin Small Letter A with Diaeresis)
        !          1737:        0b000'00000,
        !          1738:        0b000'01110,
        !          1739:        0b000'00001,
        !          1740:        0b000'01111,
        !          1741:        0b000'10001,
        !          1742:        0b000'01111,
        !          1743:        0b000'00000,
        !          1744: 
        !          1745:        0b000'00000,                    // 0xe2 β (10dot)
        !          1746:        0b000'00000,
        !          1747:        0b000'01110,
        !          1748:        0b000'10001,
        !          1749:        0b000'11110,
        !          1750:        0b000'10001,
        !          1751:        0b000'11110,
        !          1752:        0b000'10000,
        !          1753: 
        !          1754:        0b000'00000,                    // 0xe3 ε
        !          1755:        0b000'00000,
        !          1756:        0b000'01110,
        !          1757:        0b000'10000,
        !          1758:        0b000'01110,
        !          1759:        0b000'10000,
        !          1760:        0b000'01110,
        !          1761:        0b000'00000,
        !          1762: 
        !          1763:        0b000'00000,                    // 0xe4 μ (10dot)
        !          1764:        0b000'00000,
        !          1765:        0b000'10001,
        !          1766:        0b000'10001,
        !          1767:        0b000'10001,
        !          1768:        0b000'10011,
        !          1769:        0b000'11101,
        !          1770:        0b000'10000,
        !          1771: 
        !          1772:        0b000'00000,                    // 0xe5 σ
        !          1773:        0b000'00000,
        !          1774:        0b000'01111,
        !          1775:        0b000'10010,
        !          1776:        0b000'10001,
        !          1777:        0b000'10001,
        !          1778:        0b000'01110,
        !          1779:        0b000'00000,
        !          1780: 
        !          1781:        0b000'00000,                    // 0xe6 ρ (10dot)
        !          1782:        0b000'00000,
        !          1783:        0b000'00000,
        !          1784:        0b000'00000,
        !          1785:        0b000'00000,
        !          1786:        0b000'00000,
        !          1787:        0b000'00000,
        !          1788:        0b000'00000,
        !          1789: 
        !          1790:        0b000'00000,                    // 0xe7 g (10dot ver)
        !          1791:        0b000'00000,
        !          1792:        0b000'01111,
        !          1793:        0b000'10001,
        !          1794:        0b000'10001,
        !          1795:        0b000'10001,
        !          1796:        0b000'01111,
        !          1797:        0b000'00001,
        !          1798: 
        !          1799:        0b000'00000,                    // 0xe8 √(?)
        !          1800:        0b000'00111,
        !          1801:        0b000'00100,
        !          1802:        0b000'00100,
        !          1803:        0b000'10100,
        !          1804:        0b000'01000,
        !          1805:        0b000'00000,
        !          1806:        0b000'00000,
        !          1807: 
        !          1808:        0b000'00000,                    // 0xe9 ^(-1) (?)
        !          1809:        0b000'00010,
        !          1810:        0b000'11010,
        !          1811:        0b000'00010,
        !          1812:        0b000'00000,
        !          1813:        0b000'00000,
        !          1814:        0b000'00000,
        !          1815:        0b000'00000,
        !          1816: 
        !          1817:        0b000'00010,                    // 0xea j (10dot ver)
        !          1818:        0b000'00000,
        !          1819:        0b000'00110,
        !          1820:        0b000'00010,
        !          1821:        0b000'00010,
        !          1822:        0b000'00010,
        !          1823:        0b000'00010,
        !          1824:        0b000'00010,
        !          1825: 
        !          1826:        0b000'00000,                    // 0xeb ^x (?)
        !          1827:        0b000'00000,
        !          1828:        0b000'00000,
        !          1829:        0b000'00000,
        !          1830:        0b000'00000,
        !          1831:        0b000'00000,
        !          1832:        0b000'00000,
        !          1833:        0b000'00000,
        !          1834: 
        !          1835:        0b000'00000,                    // 0xec ¢
        !          1836:        0b000'00100,
        !          1837:        0b000'01110,
        !          1838:        0b000'10100,
        !          1839:        0b000'10101,
        !          1840:        0b000'01110,
        !          1841:        0b000'00100,
        !          1842:        0b000'00000,
        !          1843: 
        !          1844:        0b000'00000,                    // 0xed L=(?)
        !          1845:        0b000'00000,
        !          1846:        0b000'00000,
        !          1847:        0b000'00000,
        !          1848:        0b000'00000,
        !          1849:        0b000'00000,
        !          1850:        0b000'00000,
        !          1851:        0b000'00000,
        !          1852: 
        !          1853:        0b000'00000,                    // 0xee n ̄(n マクロン?)
        !          1854:        0b000'00000,
        !          1855:        0b000'00000,
        !          1856:        0b000'00000,
        !          1857:        0b000'00000,
        !          1858:        0b000'00000,
        !          1859:        0b000'00000,
        !          1860:        0b000'00000,
        !          1861: 
        !          1862:        0b000'01010,                    // 0xef o‥(Latin Small Letter O with Diaeresis)
        !          1863:        0b000'00000,
        !          1864:        0b000'01110,
        !          1865:        0b000'10001,
        !          1866:        0b000'10001,
        !          1867:        0b000'10001,
        !          1868:        0b000'01110,
        !          1869:        0b000'00000,
        !          1870: 
        !          1871:        0b000'00000,                    // 0xf0 p (10dot ver)
        !          1872:        0b000'00000,
        !          1873:        0b000'10110,
        !          1874:        0b000'11001,
        !          1875:        0b000'10001,
        !          1876:        0b000'10001,
        !          1877:        0b000'11110,
        !          1878:        0b000'10000,
        !          1879: 
        !          1880:        0b000'00000,                    // 0xf1 q (10dot ver)
        !          1881:        0b000'00000,
        !          1882:        0b000'01101,
        !          1883:        0b000'10011,
        !          1884:        0b000'10001,
        !          1885:        0b000'10001,
        !          1886:        0b000'01111,
        !          1887:        0b000'00001,
        !          1888: 
        !          1889:        0b000'01110,                    // 0xf2 θ(?)
        !          1890:        0b000'10001,
        !          1891:        0b000'10001,
        !          1892:        0b000'11111,
        !          1893:        0b000'10001,
        !          1894:        0b000'10001,
        !          1895:        0b000'01110,
        !          1896:        0b000'00000,
        !          1897: 
        !          1898:        0b000'00000,                    // 0xf3 ∞(?)
        !          1899:        0b000'00000,
        !          1900:        0b000'01010,
        !          1901:        0b000'10101,
        !          1902:        0b000'10101,
        !          1903:        0b000'01010,
        !          1904:        0b000'00000,
        !          1905:        0b000'00000,
        !          1906: 
        !          1907:        0b000'00000,                    // 0xf4 Ω
        !          1908:        0b000'01110,
        !          1909:        0b000'10001,
        !          1910:        0b000'10001,
        !          1911:        0b000'10001,
        !          1912:        0b000'01010,
        !          1913:        0b000'11011,
        !          1914:        0b000'00000,
        !          1915: 
        !          1916:        0b000'01010,                    // 0xf5 u‥(?)
        !          1917:        0b000'00000,
        !          1918:        0b000'10001,
        !          1919:        0b000'10001,
        !          1920:        0b000'10001,
        !          1921:        0b000'10011,
        !          1922:        0b000'01101,
        !          1923:        0b000'00000,
        !          1924: 
        !          1925:        0b000'11111,                    // 0xf6 Σ
        !          1926:        0b000'01000,
        !          1927:        0b000'00100,
        !          1928:        0b000'00010,
        !          1929:        0b000'00100,
        !          1930:        0b000'01000,
        !          1931:        0b000'11111,
        !          1932:        0b000'00000,
        !          1933: 
        !          1934:        0b000'00000,                    // 0xf7 π
        !          1935:        0b000'00000,
        !          1936:        0b000'11111,
        !          1937:        0b000'01010,
        !          1938:        0b000'01010,
        !          1939:        0b000'01010,
        !          1940:        0b000'10011,
        !          1941:        0b000'00000,
        !          1942: 
        !          1943:        0b000'11111,                    // 0xf8 x ̄(?)
        !          1944:        0b000'00000,
        !          1945:        0b000'10001,
        !          1946:        0b000'01010,
        !          1947:        0b000'00100,
        !          1948:        0b000'01010,
        !          1949:        0b000'10001,
        !          1950:        0b000'00000,
        !          1951: 
        !          1952:        0b000'00000,                    // 0xf9 y (10dot ver)
        !          1953:        0b000'00000,
        !          1954:        0b000'10001,
        !          1955:        0b000'10001,
        !          1956:        0b000'10001,
        !          1957:        0b000'10001,
        !          1958:        0b000'01111,
        !          1959:        0b000'00001,
        !          1960: 
        !          1961:        0b000'00000,                    // 0xfa 千
        !          1962:        0b000'00001,
        !          1963:        0b000'01110,
        !          1964:        0b000'00100,
        !          1965:        0b000'11111,
        !          1966:        0b000'00100,
        !          1967:        0b000'00100,
        !          1968:        0b000'00000,
        !          1969: 
        !          1970:        0b000'00000,                    // 0xfb 万
        !          1971:        0b000'11111,
        !          1972:        0b000'01000,
        !          1973:        0b000'01111,
        !          1974:        0b000'01001,
        !          1975:        0b000'01001,
        !          1976:        0b000'10001,
        !          1977:        0b000'00000,
        !          1978: 
        !          1979:        0b000'00000,                    // 0xfc 円
        !          1980:        0b000'11111,
        !          1981:        0b000'10101,
        !          1982:        0b000'10101,
        !          1983:        0b000'11111,
        !          1984:        0b000'10001,
        !          1985:        0b000'10001,
        !          1986:        0b000'00000,
        !          1987: 
        !          1988:        0b000'00000,                    // 0xfd ÷
        !          1989:        0b000'00000,
        !          1990:        0b000'00100,
        !          1991:        0b000'00000,
        !          1992:        0b000'11111,
        !          1993:        0b000'00000,
        !          1994:        0b000'00100,
        !          1995:        0b000'00000,
        !          1996: 
        !          1997:        0b000'00000,                    // 0xfe space
        !          1998:        0b000'00000,
        !          1999:        0b000'00000,
        !          2000:        0b000'00000,
        !          2001:        0b000'00000,
        !          2002:        0b000'00000,
        !          2003:        0b000'00000,
        !          2004:        0b000'00000,
        !          2005: 
        !          2006:        0b000'11111,                    // 0xff cursor
        !          2007:        0b000'11111,
        !          2008:        0b000'11111,
        !          2009:        0b000'11111,
        !          2010:        0b000'11111,
        !          2011:        0b000'11111,
        !          2012:        0b000'11111,
        !          2013:        0b000'11111,
        !          2014: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.