ВГ75 - микросхема ещё та!
Цитата:
Сообщение от
rw6hrm
Не забудьте реализовать загружаемый знакогенератор в ВГ75 дабы хоть игрушки делать более красивые.
B большинстве схем подобных знакогенератор переключается либо механически (тумблером), либо битами ППА, хотя ВГ75 поддерживает атрибуты…
У меня была мысль, чтобы знакогенератор грузить через ПДП и графику (384×200) сделать через ПДП.
- Знакогенератор перегружается не процессором, а ВГ75+ВТ57 циклами от специального атрибута, после которого все последующие символы будут считываться от ПДП и записываться в ОЗУ знакогенератора
- Символ 1F знакогенератора можно аппаратно перехватывать и вместо данных со знакогенератора считывать данные с ПДП непосредственно в виде графики, где старшие 2 бита управляют цветом
В обоих случаях схему развёртки необходимо доработать и добавить регистры задержки на несколько тактов, чтобы скомпенсировать задержку дополнительных циклов ПДП.
Просто сам по себе ВГ75 достаточно наворочен и его можно использовать под графику с любым разрешением, если хорошенько продумать не совсем традиционную схему. Получается почти подобие ATARI со смешиванием текста, графических спрайтов из символов, а также и чистой графики в цвете.
Картридж для любимого РЛК!
Цитата:
Сообщение от
fifan
Радио-86РК, картинки скриншотов не разобрать.
A что именно интересует: Красивые картинки или эскиз концептуальной реализации задумки?
Я могу здесь выложить исходники на ассемблере эмулятора, если кому-то нужны…
Но, данная тема - исследовательская, прежде всего…
На данный момент я прощупал следующее:- Редактирование дампа одной строкой: Цена - 74 байта
- Вывод дампа с разметкой всех байт инструкций: Цена - 100 байт
- Вывод дампа с экспресс мнемоникой команд: Цена - 603 байта
Меня давно интересовал вопрос о более компактном размещении функционального кода в адресном пространстве.
Например, само ПЗУ проецировать в памяти страницами и переключать их на лету по мере обращения к отдельным функциям…
Так, у ZX-Spectrum не просто переключать ПЗУ между BASIC и TR-DOS, а переключать все их подпрограммы.- 2000…3FFF - подпрограмма вывода символа - 8 Кб
- 2000…3FFF - подпрограмма вывода точки - 8 Кб
- 2000…3FFF - подпрограмма загрузки с магнитной ленты - 8 Кб
То есть, все подпрограммы проецируются в одну адресную область, а выбираются - отдельной страницей ПЗУ.
Например, у РАДИО-86РК в области F800…FFFF можно переключать 256 страниц по 2 Кб - 512 Кб ПЗУ…
Разместить там можно абсолютно всё: Бейсики, Редакторы, Трансляторы и т.п…
При этом переделка самого РАДИО-86РК будет минимальной и напомнит картриджи от приставки Денди.
Если помните, картридж занимал в памяти всего 32 Кб, но дополнительным регистром мог переключать страницы ПЗУ до мегабайт…
То есть, если РФ2 из панельки платы РАДИО-86РК выдернуть и вставить туда свой псевдо-картридж, то в памяти он займёт ту же область F800…FFFF, где будет 256 страниц…
Естественно, если развернуть ПЗУ линейно адресами 00000…7FFFF, то каждые 2 Кб должны повторяться JMP-команды набора F800…F836.
Тем самым, все директивы («M», «D», «I», «O», «G» и т.д.) не будут раскиданы по разным адресами в области 2 Кб, а будут иметь одну точку входа, но на разных страницах. А буква - лишь выбирает страницу…- «A» - Ассемблер
- «B» - BASIC
- «E» - Emu80 (отладчик)
- «H» - Help-страница
- «J» - Java / C / C--
- «K» - Калькулятор (mini-excel)
- «N» - Net/Modem/Fido
- «P» - Pascal
- «Q» - Quick-DOS
- «V» - Video-Test
- «W» - Редактор WELL
- «Z» - Zyxel (терминал работы с модемом)
Думаю, при желании, можно в 512 Кб поместить достаточно много функционала.
Главное - ничего модифицировать в схеме не нужно: Всё - в «картридже»…