Цитата Сообщение от Sergey Посмотреть сообщение
Для начала, у тебя текст пишется в ROM3. Я упоминал о том, что RAM 32 должна быть включена с 0x0000 ВСЕГДА, и лишь для доступа к дисководу временно замещаться ROM 3. Сделал ли ты так?
Я сделал наоборот, что всегда ROM, но на время plot_char включается RAM32

А вот почему не включается текстовый режим. Кусок кода его инициализации:
; text mode
ld bc,#0x01af ; #_tsVPage
ld a,#32
out (c),a
dec b ; #_tsVConfig
ld a,#0x43 ; %01000011, text mode in 320x240pix window.
ld a, #7
ld (_vtink), a

Вместо записи номера режима в порт, идет загрузка аккумулятора числом 7.
А, это я твой кусок скопировал и не осмыслил. Там тоже out не было. Добавил, режим включается, но экран заполнен мусором и буков не видно. Сами буквы в 32ю пагу пишутся, я проверял.
7 в A грузится, чтоб инициализировать _vtink. У тебя она в исходнике описана как локальная переменная с .db #7, но на деле она хранится в vt.c, поэтому приходится.

Что касается установки цвета. После записи значений цветов для ink и paper необходимо вызвать процедуру _vtattr_notify - она занесёт необходимое значение в переменную _tsconfig_screen_mix_color, которая используется при установке атрибутов печатаемого символа.
в том коде, что в ветке в git, я вообще вместо _tsconfig_screen_mix_color всегда вывожу 7, чтоб наверняка

- - - Добавлено - - -

В общем, добавил di:halt в _plot_char, чтобы вешалось сразу после вывода первого символа. Состояние в халте - RAM32 в 0000, по адресу 0000 - 'F', по адресу 0080 - 0x07. Верный символ с верным атрибутом в верной паге. Но на экране чернота.
Коммит
Снапшот tsconf-video-2.zip

- - - Добавлено - - -

В странице 33 лежит шрифт из ROM. Пробел по адресу 0x100 ведь должен быть? Первые 256 байт шрифту обрезать не нужно?