mirror of
https://github.com/aap/pdp6.git
synced 2026-01-13 07:20:13 +00:00
564 lines
10 KiB
PHP
564 lines
10 KiB
PHP
enum {
|
|
I = 020,
|
|
R = 010,
|
|
L = 014,
|
|
U = 02,
|
|
D = 03
|
|
};
|
|
|
|
static int char_na[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, D|I, D|I, D|I, D|I, D|I, D|I,
|
|
R|I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, D|I, D|I, D|I, D|I, D|I, D|I,
|
|
R|I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D|R, D, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_A[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|R|I,
|
|
R|I, R|I, R|D|I, D|I, L, L, L|D|I,
|
|
R|I, R|I, R|I, D|I, D|I, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_B[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I, R|I,
|
|
R|I, R|I, R|D|I, D|I, L|D|I, L|I, L|I,
|
|
D, D, D|I, R|I, R|I, U|R|I, U|I,
|
|
D|R, D|R,
|
|
0
|
|
};
|
|
|
|
static int char_C[] = {
|
|
U|I, U|I, U|I, U|I, U|I, U|R|I, R|I, R|I, D|R|I,
|
|
D|L, D|L, D|L, D, D|I,
|
|
R|I, R|I, U|R|I, D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_D[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, R|I, R|D|I, D|I, D|I, D|I, D|I,
|
|
L, L, L|D|I, R|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_E[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, R|I, R|I,
|
|
D|L, D|L, D|L|I,
|
|
R|I, R|I, R|I,
|
|
D|L, D|L, D|L|I,
|
|
R|I, R|I, R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_F[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, R|I, R|I,
|
|
D|L, D|L, D|L|I,
|
|
R|I, R|I, R|I,
|
|
D|L, D|L, D|L,
|
|
R, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_G[] = {
|
|
U|I, U|I, U|I, U|I, U|I,
|
|
U|R|I, R|I, R|I, D|R|I,
|
|
D, D|I, L|I, L|I, D|L, D,
|
|
D|I, R|I, R|I, U|R|I, U|I, D|R, D|R,
|
|
0
|
|
};
|
|
|
|
static int char_H[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D, D|I, R|I, R|I,
|
|
U, U, U|R|I,
|
|
D|I, D|I, D|I, D|I, D|I, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_I[] = {
|
|
U, U, U, U, U, U|R|I,
|
|
R|I, R|I, D|L|I,
|
|
D|I, D|I, D|I, D|I, D|L|I,
|
|
R|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_J[] = {
|
|
U|I, D|R|I, R|I, R|I,
|
|
U|R|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D|R, D, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_K[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R, R, R, R|I,
|
|
D|L|I, D|L|I, D|L|I,
|
|
D|R|I, D|R|I, D|R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_L[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D, D, D, D, D|I,
|
|
R|I, R|I, R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_M[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R|I, D|R|I, U|R|I, U|R|I,
|
|
D|I, D|I, D|I, D|I, D|I, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_N[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R|I, D|R|I, D|R|I,
|
|
U, U, U|R|I,
|
|
D|I, D|I, D|I, D|I, D|I, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_O[] = {
|
|
U|I, U|I, U|I, U|I, U|I,
|
|
U|R|I, R|I, R|I,
|
|
D|R|I, D|I, D|I, D|I, D|I,
|
|
L, L, D|L|I, R|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_P[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, R|I,
|
|
D|R|I, D|I,
|
|
D|L|I, L|I, L|I,
|
|
D|R, D|R, D|R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_Q[] = {
|
|
U|I, U|I, U|I, U|I, U|I,
|
|
U|R|I, R|I, R|I,
|
|
D|R|I, D|I, D|I, D|I,
|
|
L, L|I, D|L, D|I,
|
|
R|I, R|I, U|I, R|I, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_R[] = {
|
|
I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, R|I,
|
|
D|R|I, D|I,
|
|
D|L|I, L|I, L|I,
|
|
D|R|I, D|R|I, D|R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_S[] = {
|
|
U|I, D|R|I, R|I, R|I, U|R|I, U|I,
|
|
U|L|I, L|I, L|I, U|L|I, U|I,
|
|
U|R|I, R|I, R|I, D|R|I, D|R, D|R, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_T[] = {
|
|
U, U, U, U, U, U|I,
|
|
R|I, R|I, R|I, R|I,
|
|
D|L, L|I,
|
|
D|I, D|I, D|I, D|I, D|I,
|
|
R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_U[] = {
|
|
U|I, U|I, U|I, U|I, U|I, U|I,
|
|
R, R, R, R|I,
|
|
D|I, D|I, D|I, D|I, D|I,
|
|
L, L, L|D|I, R|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_V[] = {
|
|
R, R|I, U|L|I, U|L|I, U|I, U|I, U|I, U|I,
|
|
R, R, R, R|I,
|
|
D|I, D|I, D|I, D|I, D|L|I, D|L|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_W[] = {
|
|
I, U|I, R|I, U|R|I, L, L|I, U|I, U|I, U|I, U|I,
|
|
R, R, R, R|I,
|
|
D|I, D|I, D|I, D|I, D|I, L|I, D|R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_X[] = {
|
|
I, U|R|I, U|R|I, U|I, U|I, U|L|I, U|L|I,
|
|
R, R, R, R|I,
|
|
D|L|I, D, D, D, D|I, D|R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_Y[] = {
|
|
U, U, U, U, U, U|I,
|
|
R, R, R, R|I, D|L|I,
|
|
L, L|I,
|
|
D|R|I, D|I, D|I, D|I, D|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_Z[] = {
|
|
I, U|I, U|R|I, U|I, L|I,
|
|
U, U, U|I,
|
|
R|I, R|I, R|I, R|I,
|
|
D|I, D|L|I, D|R|I, L|I, L|I,
|
|
D, D, D|L|I,
|
|
R|I, R|I, R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_null[] = {
|
|
U, U|I, U|I, R|I, U|L|I,
|
|
U|R|I, R|I, D|I, U|R|I,
|
|
D|R|I, D|I, L|I, D|R|I,
|
|
L, L|I, D|L|I, R|I, R|I, D|R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_ex[] = {
|
|
R, R|I, U, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D|R, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_dq[] = {
|
|
U, U, U, U|R|I, U|I, U|I,
|
|
R, R|I, D|I, D|I, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_sh[] = {
|
|
R, R|I, U|I, U|I, L|I, U|R|I, U|I, L|I, U|R|I, U|I,
|
|
R, R|I, D|I, D|R|I, L|I, L|I, D|R|I, D|R|I,
|
|
L|I, L|I, D|R|I, D|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_dl[] = {
|
|
U|I, D|R|I, R|I, U|I, D|R|I, U|R|I, U|I,
|
|
U|L|I, D|L|I, U|I, U|I, D|L|I, U|L|I, U|I,
|
|
U|R|I, R|I, D|I, U|R|I, D|R|I, D|R, D|R, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_pr[] = {
|
|
I, U|I, U|R|I, U|R|I, U|R|I, U|R|I, U|I,
|
|
L|I, L|I, L|I, L|I, D|I, R|I,
|
|
D|R, D|R, D,
|
|
D|I, R|I, D|L|I, R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_et[] = {
|
|
R|I, U|L|I, U|I, U|R, U|R|I, U|I, U|L|I,
|
|
D|L|I, D|I, D|R|I, D|R|I, D|I, D|I, U|R|I, U|R|I,
|
|
D, D|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_sq[] = {
|
|
U, U, U, U, U|R|I, U|I,
|
|
R|I, D|I, D|I, D|R, D|R, D|R, D|R,
|
|
0
|
|
};
|
|
|
|
static int char_lp[] = {
|
|
R, R|I, U|L|I, U|L|I, U|I, U|I, U|R|I, U|R|I,
|
|
D|R, D|R, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_rp[] = {
|
|
U, U, U, U, U|R, U|R|I,
|
|
D|R|I, D|R|I, D|I, D|I, D|L|I, D|L|I,
|
|
R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_as[] = {
|
|
U|I, U|R|I, U|I, L|I, U|R|I, U|L|I, R,
|
|
R|I, R, R|I, D|L|I, L|I, D|I, R|I, R|I,
|
|
D|L|I, L|I, D|I, R, R|I, D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_pl[] = {
|
|
U, U, U|I, R|I, U|R|I, U|I,
|
|
D|R, D|R|I, L|I, L|I, D|I, D|I,
|
|
D|R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_cm[] = {
|
|
U|R|I, U|I, R|I, D|I, D|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_mi[] = {
|
|
U, U, U|I, R|I, R|I, R|I, R|I, D|R, D|R, D,
|
|
0
|
|
};
|
|
|
|
static int char_pe[] = {
|
|
R|I, U|I, R|I, D|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_sl[] = {
|
|
U|I, U|R|I, U|R|I, U|R|I, U|R|I,
|
|
D|R, D|R, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_0[] = {
|
|
U|I, U|R|I, L|I, U|I, U|I, U|I,
|
|
U|R|I, R|I, R|I, D|R|I, D|I, L|I, D|L|I,
|
|
R, R|I, D|I, D|I, D|L|I, L|I, L|I,
|
|
R, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_1[] = {
|
|
U, U, U, U, U|R|I, U|R|I, D|I,
|
|
D|I, D|I, D|I, D|I, D|L|I, R|I, R|I, R,
|
|
R, R,
|
|
0
|
|
};
|
|
|
|
static int char_2[] = {
|
|
U, U, U, U, U|I, U|R|I, R|I, R|I,
|
|
D|R|I, D|I, D|L|I, L|I, L|I, D|L|I, D|I, D|I,
|
|
R|I, R|I, R|I, R|I, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_3[] = {
|
|
U|I, D|R|I, R|I, R|I, U|R|I, U|I, U|L|I,
|
|
U|R|I, U|I, U|L|I, L|I, L|I, D|L|I,
|
|
D|R, D|R|I, D|R, D|R, D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_4[] = {
|
|
U, U, U|I, R|I, R|I, U|L|I, U|R|I, U|R|I,
|
|
D|I, D|I, D|R|I, L|I, D|I, D|I, D|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_5[] = {
|
|
U|I, D|R|I, R|I, R|I, U|R|I, U|I, U|L|I, L|I, L|I,
|
|
U|L|I, U|I, U|I, R|I, R|I, R|I, R|I,
|
|
D|R, D|R, D, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_6[] = {
|
|
R|I, U|L|I, U|I, U|R|I, L|I, U|I, U|I,
|
|
U|R|I, R|I, R|I, D|R|I, D|L, D|L|I, R|I,
|
|
D|R|I, D|I, L, D|L|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_7[] = {
|
|
I, U|I, U|R|I, U|L, U, U|I, U|I,
|
|
R|I, R|I, R|I, R|I, D|I, D|L|I, D|L|I,
|
|
D|R, D|R, D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_8[] = {
|
|
R|I, U|L|I, U|I, U|R|I, U|L|I, U|I, U|R|I,
|
|
R|I, R|I, D|R|I, D|I, L, D|L|I, R|I, D|R|I,
|
|
D|I, L, D|L|I, R|I, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_9[] = {
|
|
U|I, D|R|I, R|I, R|I, U|R|I, U|I, U|I, U|I, U|I,
|
|
U|L|I, L|I, L|I, D|L|I, D|I, D|R|I, R|I, R|I,
|
|
D|R, D|R, D|R,
|
|
0
|
|
};
|
|
|
|
static int char_cl[] = {
|
|
U, U, U, U|R|I, R|I, D|I, L|I,
|
|
D, D|I, R|I, D|L|I, R|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_sm[] = {
|
|
U, U, U, U, U|R|I, R|I, D|I, L|I,
|
|
D, D|I, R|I, D|L|I, R|I, D|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_la[] = {
|
|
R, R, R|I, U|L|I, U|L|I, U|L|I,
|
|
U|R|I, U|R|I, U|R|I,
|
|
D|R, D|R, D|R, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_eq[] = {
|
|
U, U|I, U, U|I, R|I, D, D|I,
|
|
R|I, U, U|I, R|I, D, D|I, R|I,
|
|
U, U|I, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_ra[] = {
|
|
R|I, U|R|I, U|R|I, U|R|I,
|
|
U|L|I, U|L|I, U|L|I,
|
|
D|R, D|R, D|R, D|R, D|R, D,
|
|
0
|
|
};
|
|
|
|
static int char_qs[] = {
|
|
U, U, U, U, U|I, U|R|I, R|I, R|I,
|
|
D|R|I, D|I, D|L|I, L|I,
|
|
D|I, D|I, D|I, R, R, R, R,
|
|
0
|
|
};
|
|
|
|
|
|
static int char_bar[] = {
|
|
R, R|I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D|R, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_bs[] = {
|
|
U, U, U, U, U|I,
|
|
D|R|I, D|R|I, D|R|I, D|R|I,
|
|
D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_Lb[] = {
|
|
I, R|I, R|I, U|L, L|I,
|
|
U|I, U|I, U|I, U|I, U|I,
|
|
R|I, R|I, D|R, D|R, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_Rb[] = {
|
|
R|U, R|U, U, U, U, U|I, R|I, R|I,
|
|
D|I, D|I, D|I, D|I, D|L, D|L|I,
|
|
R|I, R|I, U|I, D|R, R,
|
|
0
|
|
};
|
|
|
|
static int char_LB[] = {
|
|
R, R|I, U|L|I, U|I, U|L|I, U|R|I, U|I, U|R|I,
|
|
D|R, D|R, D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_RB[] = {
|
|
U|R, U|R, U, U, U, U|I,
|
|
D|R|I, D|I, D|R|I, D|L|I, D|I, D|L|I,
|
|
R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_Ra[] = {
|
|
U, U, U|I, R|I, R|I, U, U|I,
|
|
D|R|I, D|R|I, L|I, D|I, D|L|I,
|
|
D|R, R, R, R,
|
|
0
|
|
};
|
|
|
|
static int char_La[] = {
|
|
R, U|R|I, L|U|I, L|U|I, R|I, U|I, R|U|I,
|
|
D, D|I, R|I, R|I, D|R, D|R, D,
|
|
0
|
|
};
|
|
|
|
static int char_Da[] = {
|
|
U, U|I, D|R|I, D|R|I, U|I, U|I, U|I, U|I, U|I, U|I,
|
|
D|R, D|R, D, D|I, D|L|I, D|R, R, R,
|
|
0
|
|
};
|
|
|
|
/*
|
|
static int char_Ua[] = {
|
|
R, R|I, U|I, U|I, U|I, U|I, R, R|I,
|
|
U|L|I, L|I, U|I, D|L|I, D|L|I,
|
|
D, D, D, D,
|
|
0
|
|
};
|
|
*/
|
|
static int char_Ua[] = {
|
|
R, R|I, U|I, U|I, U|I, U|I, L, L|I,
|
|
U|R|I, R|I, U|I, D|R|I, D|R|I,
|
|
D|R, D|R, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_tl[] = {
|
|
U, U, U, U, U|I, U|R|I, D|R|I, D|R|I, U|R|I,
|
|
D|R, D|R, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_tk[] = {
|
|
U, U, U, U, U, U|R|I, D|R|I, D|R|I,
|
|
D|L, D|L, D|L, D,
|
|
0
|
|
};
|
|
|
|
static int char_dn[] = {
|
|
D, D, D, D,
|
|
0
|
|
};
|
|
|
|
static int char_up[] = {
|
|
U, U, U, U,
|
|
0
|
|
};
|
|
|
|
static int char_sp[] = { R, R, R, R, R, R, 0 };
|
|
static int char_lf[] = { D, D, D, D, D, D, D, D, D, D, D, 0 };
|
|
static int char_cr[] = { 0100, 0 };
|
|
static int char_esc[] = { 040 };
|
|
static int char_si[] = { 0200 };
|
|
static int char_so[] = { 0400 };
|
|
|
|
static int *chars[] = {
|
|
char_null, char_A, char_B, char_C, char_D, char_E, char_F, char_G,
|
|
char_H, char_I, char_J, char_K, char_L, char_M, char_N, char_O,
|
|
char_P, char_Q, char_R, char_S, char_T, char_U, char_V, char_W,
|
|
char_X, char_Y, char_Z, char_lf, char_cr, char_si, char_so, char_esc,
|
|
char_sp, char_ex, char_dq, char_sh, char_dl, char_pr, char_et, char_sq,
|
|
char_lp, char_rp, char_as, char_pl, char_cm, char_mi, char_pe, char_sl,
|
|
char_0, char_1, char_2, char_3, char_4, char_5, char_6, char_7,
|
|
char_8, char_9, char_cl, char_sm, char_la, char_eq, char_ra, char_qs,
|
|
|
|
/* TODO: lower case. some of the unknowns */
|
|
char_null, char_na, char_na, char_na, char_na, char_na, char_na, char_na,
|
|
char_na, char_na, char_na, char_na, char_na, char_na, char_na, char_na,
|
|
char_na, char_na, char_na, char_na, char_na, char_na, char_na, char_na,
|
|
char_na, char_na, char_na, char_lf, char_cr, char_si, char_so, char_esc,
|
|
char_sp, char_na, char_na, char_tl, char_na, char_na, char_Ua, char_Ra,
|
|
char_Da, char_La, char_bs, char_Lb, char_Rb, char_LB, char_RB, char_na,
|
|
char_na, char_na, char_bar, char_na, char_na, char_na, char_tk, char_Ua,
|
|
char_na, char_na, char_na, char_dn, char_na, char_na, char_na, char_up,
|
|
};
|