Интерес к этому компьютеру вызвало появление на pouet.net демо:

Let's Dance(http://www.pouet.net/prod.php?which=53826)

Википедия(https://ru.wikipedia.org/wiki/KC_85) говорит, что использовался процессор U8880 (клон Z80), разрешение экрана 320х256(40х32 символов).
Ок, первых сведений достаточно, хотелось бы больше подробностей о разработке приложений. На страничке эмулятора нашелся пример(https://floooh.github.io/virtualkc/p035_helloworld.html)
Дополнительную информацию можно найти тут же. Теперь второй шаг - ассемблер. Тут грустно все - существует MicroDOS(http://www.mpm-kc85.de/html/MicroDOS.htm), представляющий собой копию CP/M

Возможность работать с готовыми утилитами мне никак не улыбается, продолжу поиски. Нашлось описание (http://kc85.datahammer.de/KC85FileFormats.txt)
Ок, осталось найти подходящий эмулятор.

KCEMU (http://kcemu.sourceforge.net)


Обширный выбор моделей, поддержка различных форматов, плоттер, и отсутствие отладчика.
Описание формата .kcc меня просто запутало, и программа, написанная в качестве пробы не запустилась.

JKCEMU(http://www.jens-mueller.org/jkcemu/)


Здесь есть куча средств для разработки - ассемблер, дизассемблер, отладчик, но есть жирный минус - интерфейс на немецком. И снова созданный мной .kcc не принимает.
Для пробы написал программу(Нажать Alt+T)
Набираю текст:

 org 100h
 ld hl,08000h
 ld de,80001h
 ld bc,027ffh
 ld (hl),l
 ldir

 ld hl,08000h
lp:
 ld (hl),l
 inc l
 jr nz,lp
 ret

жму F8, настройки такие:


жму Shift+F8, и любуюсь на картинку

Осталось разобраться с цветами, я хотел сделать простой эффект, но ассемблер жутко неудобен - не понимает привычную запись шестнадцатиричных и бинарных чисел, требователен к отступам, тяжело писать что-либо

Хорошо, поступим старым индейским способом: MESS будет удобнее. Найти нужный ROM легко, запустить отладчик - еще проще. В документации указано, что уществует возможность загрузки в память бинарного файла.
Однако задуманный эффект не заработал, после двухдневных мучений я отбросил подобную идею.

Вернулся к JKCEMU, решил реализовать простой демоэффект.
Сначала об организации памяти. VideoRAM расположена по адресу $8000. каждый байт отвечает за пиксели. Из примера программы видно, что первая колонка данных предназначена для адресов $8000-$80FF. Так получаем 256/8=32 символа.
Символы справа отведены для адресов $8100,$8200..$A700. Так получается 40 символов.

С цветами оказалось проще, нашелся готовый пакет https://github.com/floooh/kc85sdk , где приведены необходимые процедуры.

Теперь я написал программу, которая нарисует шахматную доску:

 ORG 100h
; установка конфигурации экрана, описание у virtualkc(https://floooh.github.io/virtualkc/p050_hwref.html)
 di
 in a,(84h)
 res 0,a
 res 2,a
 res 1,a;pixels
 out (84h),a

Код выглядел таким:
 ld hl,8000h
 ld de,255
lp0:
 ld c,32
lp2:
 push hl
 ld b,10
 push de
LP1:
 call bswap

 ld (hl),e
 inc h
 ld (hl),e
 inc h
 ld (hl),e
 inc h
 ld (hl),e
 inc h
 djnz LP1
 pop de
 pop hl
 inc l
 dec c
 jr nz,lp2
 call bswap
 inc l
 dec l
 jr nz,lp0
..
bswap:
 ld a,e
 ld e,d
 ld d,a
 ret


Следующим шагом было рисование радужных полос. Написал простой код и убил два часа на поиск ошибок, потому что получал невнятное изображение без цветов.
Стал искать, в чем проблема. Причина была простой: нужно было до записи в videoRAM менять конфигурацию порта $84.

Поэтому процедура подготовки экрана выглядела так:

  ld hl,8000h
 ld de,255
lp0:
 ld c,32
lp2:
 push hl
 ld b,10
 push de
LP1:
 call bswap

;запись цвета

 in a,(84h)
 set 1,a
 out (84h),a; 1-color,0-pixel
 push hl
 ld a,l
 bit 3,a
 jr z,noi
 cpl
noi:
 and 7
 or 64
 push bc
 ld b,40
fl:
 ld (hl),a
 inc h
 djnz fl
 pop bc
 pop hl
 in a,(84h)
 res 1,a
 out (84h),a; 1-color,0-pixel


 ld (hl),e
 inc h
 ld (hl),e
 inc h
 ld (hl),e
 inc h
 ld (hl),e
 inc h
 djnz LP1
 pop de
 ;call bswap
 pop hl
 inc l
 dec c
 jr nz,lp2
 call bswap
 inc l
 dec l
 jr nz,lp0


Осталась синхронизация вывода. Из беглого поиска выяснилось, что в содранном процессоре прерывания не реализованы, забудьте о IM 2/HALT.
Чтение исходников ничего не прояснило. Помогло демо Let's Dance, автор которого почему-то включил исходный код внутрь программы.

Задержка сделана примерно так:
;;delay
 ld c,10
dl1:
 ld b,15
dl2:
 nop
 nop
 nop
 nop
 nop
 djnz dl2
 dec c
 jr nz,dl1

Получился файл .kcc размером 256 байт. За вычетом заголовка 128 байт получается интро размером 128 байт.
Увы, информация по железу недостаточно, изучать криво сканированные руководства мне не улыбается.

А где программма? Наверное, появится после выхода номера.