4 struct render_list_entry
12 struct render_list_entry rl_nosignal
[] = {
24 struct render_list_entry rl_corrupt
[] = {
46 extern uint32_t fontdata
[];
48 void draw_special_screen(uint16_t* target
, struct render_list_entry
* rlist
)
53 auto g
= find_glyph(rlist
->codepoint
, 0, 0, 0, x
, y
);
54 for(uint32_t j
= 0; j
< 16; j
++) {
55 for(uint32_t i
= 0; i
< 8; i
++) {
56 uint32_t slice
= g
.second
+ j
/ 4;
57 uint32_t bit
= 31 - ((j
% 4) * 8 + i
);
58 uint32_t value
= (fontdata
[slice
] >> bit
) & 1;
60 uint32_t basex
= rlist
->x
+ rlist
->scale
* i
;
61 uint32_t basey
= rlist
->y
+ rlist
->scale
* j
;
62 for(uint32_t j2
= 0; j2
< rlist
->scale
; j2
++)
63 for(uint32_t i2
= 0; i2
< rlist
->scale
; i2
++)
64 target
[(basey
+ j2
) * 512 + (basex
+ i2
)] = 0x7FFF;
72 void draw_nosignal(uint16_t* target
)
74 for(unsigned i
= 0; i
< 512 * 448; i
++)
76 draw_special_screen(target
, rl_nosignal
);
79 void draw_corrupt(uint16_t* target
)
81 for(unsigned i
= 0; i
< 512 * 448; i
++)
83 draw_special_screen(target
, rl_corrupt
);