Skip to content

Commit e31f2da

Browse files
committed
[feat] MODE2 unified with MODE4
1 parent 7d1ceff commit e31f2da

2 files changed

Lines changed: 118 additions & 145 deletions

File tree

src/chips/cgia.c

Lines changed: 117 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -355,76 +355,76 @@ uint32_t* cgia_encode_mode_0(
355355
return rgbbuf;
356356
}
357357

358-
CGIA_ENCODE_MODE_0(, _1bpp, , _shared) {
358+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _1bpp, , _shared) {
359359
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 1, false, false);
360360
}
361-
CGIA_ENCODE_MODE_0(, _1bpp, , _mapped) {
361+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _1bpp, , _mapped) {
362362
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 1, false, true);
363363
}
364-
CGIA_ENCODE_MODE_0(, _1bpp, _doubled, _shared) {
364+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _1bpp, _doubled, _shared) {
365365
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 1, true, false);
366366
}
367-
CGIA_ENCODE_MODE_0(, _1bpp, _doubled, _mapped) {
367+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _1bpp, _doubled, _mapped) {
368368
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 1, true, true);
369369
}
370-
CGIA_ENCODE_MODE_0(, _2bpp, , _shared) {
370+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _2bpp, , _shared) {
371371
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 2, false, false);
372372
}
373-
CGIA_ENCODE_MODE_0(_multi, _2bpp, , _shared) {
373+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _2bpp, , _shared) {
374374
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 2, false, false);
375375
}
376-
CGIA_ENCODE_MODE_0(, _2bpp, , _mapped) {
376+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _2bpp, , _mapped) {
377377
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 2, false, true);
378378
}
379-
CGIA_ENCODE_MODE_0(_multi, _2bpp, , _mapped) {
379+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _2bpp, , _mapped) {
380380
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 2, false, true);
381381
}
382-
CGIA_ENCODE_MODE_0(, _2bpp, _doubled, _shared) {
382+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _2bpp, _doubled, _shared) {
383383
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 2, true, false);
384384
}
385-
CGIA_ENCODE_MODE_0(_multi, _2bpp, _doubled, _shared) {
385+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _2bpp, _doubled, _shared) {
386386
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 2, true, false);
387387
}
388-
CGIA_ENCODE_MODE_0(, _2bpp, _doubled, _mapped) {
388+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _2bpp, _doubled, _mapped) {
389389
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 2, true, true);
390390
}
391-
CGIA_ENCODE_MODE_0(_multi, _2bpp, _doubled, _mapped) {
391+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _2bpp, _doubled, _mapped) {
392392
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 2, true, true);
393393
}
394-
CGIA_ENCODE_MODE_0(, _3bpp, , _shared) {
394+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _3bpp, , _shared) {
395395
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 3, false, false);
396396
}
397-
CGIA_ENCODE_MODE_0(_multi, _3bpp, , _shared) {
397+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _3bpp, , _shared) {
398398
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 3, false, false);
399399
}
400-
CGIA_ENCODE_MODE_0(, _3bpp, , _mapped) {
400+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _3bpp, , _mapped) {
401401
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 3, false, true);
402402
}
403-
CGIA_ENCODE_MODE_0(_multi, _3bpp, , _mapped) {
403+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _3bpp, , _mapped) {
404404
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 3, false, true);
405405
}
406-
CGIA_ENCODE_MODE_0(, _3bpp, _doubled, _shared) {
406+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _3bpp, _doubled, _shared) {
407407
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 3, true, false);
408408
}
409-
CGIA_ENCODE_MODE_0(_multi, _3bpp, _doubled, _shared) {
409+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _3bpp, _doubled, _shared) {
410410
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 3, true, false);
411411
}
412-
CGIA_ENCODE_MODE_0(, _3bpp, _doubled, _mapped) {
412+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _3bpp, _doubled, _mapped) {
413413
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 3, true, true);
414414
}
415-
CGIA_ENCODE_MODE_0(_multi, _3bpp, _doubled, _mapped) {
415+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(_multi, _3bpp, _doubled, _mapped) {
416416
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, true, 3, true, true);
417417
}
418-
CGIA_ENCODE_MODE_0(, _4bpp, , _shared) {
418+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _4bpp, , _shared) {
419419
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 4, false, false);
420420
}
421-
CGIA_ENCODE_MODE_0(, _4bpp, , _mapped) {
421+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _4bpp, , _mapped) {
422422
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 4, false, true);
423423
}
424-
CGIA_ENCODE_MODE_0(, _4bpp, _doubled, _shared) {
424+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _4bpp, _doubled, _shared) {
425425
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 4, true, false);
426426
}
427-
CGIA_ENCODE_MODE_0(, _4bpp, _doubled, _mapped) {
427+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_0(, _4bpp, _doubled, _mapped) {
428428
return cgia_encode_mode_0(rgbbuf, columns, character_generator, char_shift, shared_colors, false, 4, true, true);
429429
}
430430

@@ -461,57 +461,64 @@ uint32_t* cgia_encode_mode_1(
461461
return rgbbuf;
462462
}
463463

464-
CGIA_ENCODE_MODE_1(_1bpp, , _shared) {
464+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_1bpp, , _shared) {
465465
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 1, false, false);
466466
}
467-
CGIA_ENCODE_MODE_1(_1bpp, , _mapped) {
467+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_1bpp, , _mapped) {
468468
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 1, false, true);
469469
}
470-
CGIA_ENCODE_MODE_1(_1bpp, _doubled, _shared) {
470+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_1bpp, _doubled, _shared) {
471471
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 1, true, false);
472472
}
473-
CGIA_ENCODE_MODE_1(_1bpp, _doubled, _mapped) {
473+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_1bpp, _doubled, _mapped) {
474474
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 1, true, true);
475475
}
476-
CGIA_ENCODE_MODE_1(_2bpp, , _shared) {
476+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_2bpp, , _shared) {
477477
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 2, false, false);
478478
}
479-
CGIA_ENCODE_MODE_1(_2bpp, , _mapped) {
479+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_2bpp, , _mapped) {
480480
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 2, false, true);
481481
}
482-
CGIA_ENCODE_MODE_1(_2bpp, _doubled, _shared) {
482+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_2bpp, _doubled, _shared) {
483483
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 2, true, false);
484484
}
485-
CGIA_ENCODE_MODE_1(_2bpp, _doubled, _mapped) {
485+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_2bpp, _doubled, _mapped) {
486486
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 2, true, true);
487487
}
488-
CGIA_ENCODE_MODE_1(_3bpp, , _shared) {
488+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_3bpp, , _shared) {
489489
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 3, false, false);
490490
}
491-
CGIA_ENCODE_MODE_1(_3bpp, , _mapped) {
491+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_3bpp, , _mapped) {
492492
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 3, false, true);
493493
}
494-
CGIA_ENCODE_MODE_1(_3bpp, _doubled, _shared) {
494+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_3bpp, _doubled, _shared) {
495495
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 3, true, false);
496496
}
497-
CGIA_ENCODE_MODE_1(_3bpp, _doubled, _mapped) {
497+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_3bpp, _doubled, _mapped) {
498498
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 3, true, true);
499499
}
500-
CGIA_ENCODE_MODE_1(_4bpp, , _shared) {
500+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_4bpp, , _shared) {
501501
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 4, false, false);
502502
}
503-
CGIA_ENCODE_MODE_1(_4bpp, , _mapped) {
503+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_4bpp, , _mapped) {
504504
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 4, false, true);
505505
}
506-
CGIA_ENCODE_MODE_1(_4bpp, _doubled, _shared) {
506+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_4bpp, _doubled, _shared) {
507507
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 4, true, false);
508508
}
509-
CGIA_ENCODE_MODE_1(_4bpp, _doubled, _mapped) {
509+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_1(_4bpp, _doubled, _mapped) {
510510
return cgia_encode_mode_1(rgbbuf, columns, shared_colors, 4, true, true);
511511
}
512512

513-
uint32_t*
514-
cgia_encode_mode_2(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_generator, uint32_t char_shift, bool mapped) {
513+
uint32_t* cgia_encode_mode_2(
514+
uint32_t* rgbbuf,
515+
uint32_t columns,
516+
uint8_t* character_generator,
517+
uint32_t char_shift,
518+
uint8_t shared_colors[8],
519+
bool multi,
520+
bool doubled,
521+
bool mapped) {
515522
while (columns) {
516523
uintptr_t bg_cl_addr = interp_peek_lane_result(interp1, 1);
517524
uint8_t bg_cl = *((uint8_t*)bg_cl_addr);
@@ -520,17 +527,52 @@ cgia_encode_mode_2(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_genera
520527
uintptr_t chr_addr = interp_pop_lane_result(interp0, 0);
521528
uint8_t chr = *((uint8_t*)chr_addr);
522529
uint8_t bits = character_generator[chr << char_shift];
523-
for (int shift = 7; shift >= 0; shift--) {
524-
uint bit_set = (bits >> shift) & 0b1;
525-
if (bit_set) {
526-
*rgbbuf++ = cgia_rgb_palette[fg_cl];
530+
if (multi) {
531+
for (int shift = 6; shift >= 0; shift -= 2) {
532+
uint color_no = (bits >> shift) & 0b11;
533+
switch (color_no) {
534+
case 0b00:
535+
if (mapped) {
536+
*rgbbuf++ = cgia_rgb_palette[shared_colors[0]];
537+
if (doubled) *rgbbuf++ = cgia_rgb_palette[shared_colors[0]];
538+
}
539+
else {
540+
rgbbuf++; // transparent pixel
541+
if (doubled) rgbbuf++;
542+
}
543+
break;
544+
case 0b01:
545+
*rgbbuf++ = cgia_rgb_palette[bg_cl];
546+
if (doubled) *rgbbuf++ = cgia_rgb_palette[bg_cl];
547+
break;
548+
case 0b10:
549+
*rgbbuf++ = cgia_rgb_palette[fg_cl];
550+
if (doubled) *rgbbuf++ = cgia_rgb_palette[fg_cl];
551+
break;
552+
case 0b11:
553+
*rgbbuf++ = cgia_rgb_palette[shared_colors[1]];
554+
if (doubled) *rgbbuf++ = cgia_rgb_palette[shared_colors[1]];
555+
break;
556+
default: abort();
557+
}
527558
}
528-
else {
529-
if (mapped) {
530-
*rgbbuf++ = cgia_rgb_palette[bg_cl];
559+
}
560+
else {
561+
for (int shift = 7; shift >= 0; shift--) {
562+
uint bit_set = (bits >> shift) & 0b1;
563+
if (bit_set) {
564+
*rgbbuf++ = cgia_rgb_palette[fg_cl];
565+
if (doubled) *rgbbuf++ = cgia_rgb_palette[fg_cl];
531566
}
532567
else {
533-
rgbbuf++; // transparent pixel
568+
if (mapped) {
569+
*rgbbuf++ = cgia_rgb_palette[bg_cl];
570+
if (doubled) *rgbbuf++ = cgia_rgb_palette[bg_cl];
571+
}
572+
else {
573+
rgbbuf++; // transparent pixel
574+
if (doubled) rgbbuf++;
575+
}
534576
}
535577
}
536578
}
@@ -540,16 +582,29 @@ cgia_encode_mode_2(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_genera
540582
return rgbbuf;
541583
}
542584

543-
inline uint32_t* __attribute__((always_inline))
544-
cgia_encode_mode_2_shared(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_generator, uint32_t char_shift) {
545-
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, false);
585+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(, , _shared) {
586+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, false, false, false);
546587
}
547-
inline uint32_t* __attribute__((always_inline))
548-
cgia_encode_mode_2_mapped(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_generator, uint32_t char_shift) {
549-
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, true);
588+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(_multi, , _shared) {
589+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, true, false, false);
550590
}
551-
uint32_t* cgia_encode_vt(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_generator, uint32_t char_shift) {
552-
abort();
591+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(, , _mapped) {
592+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, false, false, true);
593+
}
594+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(_multi, , _mapped) {
595+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, true, false, true);
596+
}
597+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(, _doubled, _shared) {
598+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, false, true, false);
599+
}
600+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(_multi, _doubled, _shared) {
601+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, true, true, false);
602+
}
603+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(, _doubled, _mapped) {
604+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, false, true, true);
605+
}
606+
inline __attribute__((always_inline)) CGIA_ENCODE_MODE_2(_multi, _doubled, _mapped) {
607+
return cgia_encode_mode_2(rgbbuf, columns, character_generator, char_shift, shared_colors, true, true, true);
553608
}
554609

555610
uint32_t* cgia_encode_mode_3(uint32_t* rgbbuf, uint32_t columns, bool mapped) {
@@ -588,92 +643,6 @@ inline uint32_t* __attribute__((always_inline)) cgia_encode_mode_3_mapped(uint32
588643
return cgia_encode_mode_3(rgbbuf, columns, true);
589644
}
590645

591-
uint32_t* cgia_encode_mode_4(
592-
uint32_t* rgbbuf,
593-
uint32_t columns,
594-
uint8_t* character_generator,
595-
uint32_t char_shift,
596-
uint8_t shared_colors[2],
597-
bool doubled,
598-
bool mapped) {
599-
while (columns) {
600-
uintptr_t bg_cl_addr = interp_peek_lane_result(interp1, 1);
601-
uint8_t bg_cl = *((uint8_t*)bg_cl_addr);
602-
uintptr_t fg_cl_addr = interp_pop_lane_result(interp1, 0);
603-
uint8_t fg_cl = *((uint8_t*)fg_cl_addr);
604-
uintptr_t chr_addr = interp_pop_lane_result(interp0, 0);
605-
uint8_t chr = *((uint8_t*)chr_addr);
606-
uint8_t bits = character_generator[chr << char_shift];
607-
for (int shift = 6; shift >= 0; shift -= 2) {
608-
uint color_no = (bits >> shift) & 0b11;
609-
switch (color_no) {
610-
case 0b00:
611-
if (mapped) {
612-
*rgbbuf++ = cgia_rgb_palette[shared_colors[0]];
613-
if (doubled) *rgbbuf++ = cgia_rgb_palette[shared_colors[0]];
614-
}
615-
else {
616-
rgbbuf++; // transparent pixel
617-
if (doubled) rgbbuf++;
618-
}
619-
break;
620-
case 0b01:
621-
*rgbbuf++ = cgia_rgb_palette[bg_cl];
622-
if (doubled) *rgbbuf++ = cgia_rgb_palette[bg_cl];
623-
break;
624-
case 0b10:
625-
*rgbbuf++ = cgia_rgb_palette[fg_cl];
626-
if (doubled) *rgbbuf++ = cgia_rgb_palette[fg_cl];
627-
break;
628-
case 0b11:
629-
*rgbbuf++ = cgia_rgb_palette[shared_colors[1]];
630-
if (doubled) *rgbbuf++ = cgia_rgb_palette[shared_colors[1]];
631-
break;
632-
default: abort();
633-
}
634-
}
635-
--columns;
636-
}
637-
638-
return rgbbuf;
639-
}
640-
641-
inline uint32_t* __attribute__((always_inline)) cgia_encode_mode_4_shared(
642-
uint32_t* rgbbuf,
643-
uint32_t columns,
644-
uint8_t* character_generator,
645-
uint32_t char_shift,
646-
uint8_t shared_colors[2]) {
647-
return cgia_encode_mode_4(rgbbuf, columns, character_generator, char_shift, shared_colors, false, false);
648-
}
649-
650-
inline uint32_t* __attribute__((always_inline)) cgia_encode_mode_4_mapped(
651-
uint32_t* rgbbuf,
652-
uint32_t columns,
653-
uint8_t* character_generator,
654-
uint32_t char_shift,
655-
uint8_t shared_colors[2]) {
656-
return cgia_encode_mode_4(rgbbuf, columns, character_generator, char_shift, shared_colors, false, true);
657-
}
658-
659-
inline uint32_t* __attribute__((always_inline)) cgia_encode_mode_4_doubled_shared(
660-
uint32_t* rgbbuf,
661-
uint32_t columns,
662-
uint8_t* character_generator,
663-
uint32_t char_shift,
664-
uint8_t shared_colors[2]) {
665-
return cgia_encode_mode_4(rgbbuf, columns, character_generator, char_shift, shared_colors, true, false);
666-
}
667-
668-
inline uint32_t* __attribute__((always_inline)) cgia_encode_mode_4_doubled_mapped(
669-
uint32_t* rgbbuf,
670-
uint32_t columns,
671-
uint8_t* character_generator,
672-
uint32_t char_shift,
673-
uint8_t shared_colors[2]) {
674-
return cgia_encode_mode_4(rgbbuf, columns, character_generator, char_shift, shared_colors, true, true);
675-
}
676-
677646
uint32_t* cgia_encode_mode_5(uint32_t* rgbbuf, uint32_t columns, uint8_t shared_colors[2], bool doubled, bool mapped) {
678647
while (columns) {
679648
uintptr_t bg_cl_addr = interp_peek_lane_result(interp1, 1);
@@ -876,6 +845,10 @@ uint32_t* cgia_encode_mode_7(uint32_t* rgbbuf, uint32_t columns) {
876845
return rgbbuf;
877846
}
878847

848+
uint32_t* cgia_encode_vt(uint32_t* rgbbuf, uint32_t columns, uint8_t* character_generator, uint32_t char_shift) {
849+
abort();
850+
}
851+
879852
void cgia_encode_sprite(uint32_t* rgbbuf, uint32_t* descriptor, uint8_t* line_data, uint32_t width) {
880853
struct cgia_sprite_t* dsc = (struct cgia_sprite_t*)descriptor;
881854

0 commit comments

Comments
 (0)