А какая карта памяти используется ?
Я делаю для 6С, там 48к до начала ГЗУ. У меня пока около 10к свободно остаётся, должно хватить.
Неужели 48к не хватило на код ?
А какая карта памяти используется ?
Я делаю для 6С, там 48к до начала ГЗУ. У меня пока около 10к свободно остаётся, должно хватить.
Неужели 48к не хватило на код ?
я использую конфигурацию 0Ch, все 64кб озу. Я для z80 ввёл доп логический элемент, который подключается в разрез выхода дешифратора адресов на 556рт2, это позволяет обращаться к системному регистру через OUT, что сильно упрощает жизнь)))
Загрузчик сначала выводит заставку из файла, которая сама по себе занимает прилично озу, потом подгружается тело игры. Через Out включаю конфиг с видео озу для вывода, потом переключаю на конфиг 0Ch
Кстати, тоже ещё со времен конца 80-х начала 90-х мне было вбито, что текст и графика независимы. Почему так упорно дезинформировали публику?! Фактически Корвет имеет 8 свободных цветов и 8 цветов с клашингами, как на Спектруме. Но на Спектруме зона клашинга 8х8, а на Корвете может быть заметно меньше (типовой размер 4х8). Жутко представить, если кто-то попытается написать идеальный конвертор картинок с использованием всех 16 цветов - работа очень немаленькая. Можно наверное только сопоставить по трудности с попытками атаристов оптимально задействовать 256 цветов.
Рискну предположить, что для рисования спрайтов использование всех 16 цветов - это ничего сложного. Жаль, что Корветов сделали так мало и они были не очень бюджетны. Игры могли бы быть очень хороши.
Для различных видеоэффектов вполне сойдет. Демки на Корвете, интересно, есть?)) Вот в них эту фичу и можно применять.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хорошо бы собрать данные с реальных Корветов. Вот программка, которая крупно рисует палитру Корвета с разными значениями LUT 0.
Вот так это выглядит в emu80 для значений 0 и 7.Код:const b = 3; (* block *) var i,p:byte; c:char; begin clrscr; clrgscr; for i:=0 to 15 do mem[$fafb] := i*17; for i:=0 to 31 do for p:=0 to 7 do mem[$fc20+p*64+i]:=b; for i:=0 to 7 do begin setcolor(i); rectangle(i*32, 0, i*32+31, 127, true); rectangle(i*32+256, 0, i*32+287, 127, true) end; p := 0; repeat gotoxy(9,9);write(' ');gotoxy(1,9); write('black is ', p); mem[$fafb] := p*16; p := (p+1)and 15; c := readkey until ord(c) != 27; clrscr end.
Прикрепил зазипованный СОМ-файл - PALET3.zip
Похоже, что интересный эффект возник только из-за особенностей подключения к монитору. Но если кто-то обнаружит что-то необычное, то было бы ценно получить скриншоты.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)