... и он именно графический - FDCG12864
Вид для печати
... и он именно графический - FDCG12864
По просьбам трудящихся выкладываю фото девайса. Качество фото так себе, под рукой кроме телефона ничего не оказалось.
https://img-fotki.yandex.ru/get/9316...769d8235_L.jpg
https://img-fotki.yandex.ru/get/3800...890dae84_L.jpg
Дисплей графический, данные в него вводятся столбцами по 8 точек, т.е. в данном случае не особо принципиально рисуется столбец сверху вниз или с низу вверх, просто придется поправить знакогенератор (который, кстати, будет хранится в ПЗУ DD4 вместе с МОНИТОРом).
https://img-fotki.yandex.ru/get/6818...fead445a_L.png
А вот с командами чуть сложнее. Тут либо выставлять уже заранее зеркальный код, либо писать процедуру для переворачивания битов.
https://img-fotki.yandex.ru/get/1555...f2b99106_L.png
Поэтому вот с этого момента
поподробнее, если можно.
Допустим, у тебя в [A] исходные данные, а [C] свободен, то выполняем:
Если жалко памяти и хочется сделать цикл, то нужен еще [B]:Код:17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
79 LD A,C // 4 такта
// Итого: 3*8+1=25 байт и 100 тактов
По тактам могу ошибаться, но в общем отношение размер/время понятно. Механика процесса такова: RLA двигает старший бит [A] во флаг C, а RR C из флага C в старший бит [C]. В итоге, содержимое [A] плавно перетекает в [C], наполняя [A] мусором, частично из [C] (один бит потеряется, но его тоже можно выдернуть из флага C, но нужно ли?).Код:06 08 LD B,8 // 4+3 такта
17 RLA // 4 такта
CB 19 RR C // 4+4 такта
10 FB DJNZ $-5 // 13*7+8 тактов
79 LD A,C // 4 такта
// Итого: 8 байт и 7+12*8+13*7+8+4=206 тактов
Думал-думал что делать с зеркальной шиной и пришел к выводу, что ну нафиг эти программные извраты. Спаял переходник, который переворачивает биты как надо, его под дисплеем все равно не видно. Полет нормальный.
Ну и правильно
Работа потихоньку движется. Не хотел заводиться дисплей. Вроде инициализация происходит верно, а он все равно ничего не показывает. Думал, что это из-за моего упрощенного способа подключения к шине процессора. Потом случайно наткнулся на статью, где чел подключал такой же дисплей к микроконтроллеру, там была такая же проблема. Оказалось, что после деактивации сигнала /reset нужно было выдержать паузу, а у меня почти сразу же шли команды. Либо я плохо смотрел даташит, либо китайцы кое-что в нем не дописали.:) Добавил задержку в 100мс и дисплей включился! На экране вместо символов появились кракозябры. Полез разбираться в прошивку. Пока исправил все косяки, которые там были, раз 20 пришлось перепрошивать ПЗУшку. И вот наконец, после долгих стараний получилось :) Напоследок парочка фоток
https://img-fotki.yandex.ru/get/1784...f98d76f_XL.jpg
https://img-fotki.yandex.ru/get/9303...d7414dd_XL.jpg
А как планируется загружать и выгружать программы на эту платку ?
Для чего разъём вверху платы ?
PS. Хороший дисплей, на нем 100 цифр числа Пи поместятся ?
А в карман платка увы не поместится.
Программы будут загружаться по последовательному интерфейсу, реализованному на ВВ51. Также есть возможность реализовать интерфейс CENTRONIX на ВВ55, ну это как запасной вариант. Справа вверху - это системный разъем для расширения возможностей компьютера, я его еще не запаял.
В карман, увы, не помещается (разве что в совсем большой), но все равно конструкция получилась компактной.
Желательно предусмотреть загрузку и выгрузку через SD-карточку и "магнитофонные" вход-выход.
Да, платки дисплейного модуля ЮТ-88 еще остались, если нужна, то как и обещал вышлю. Сообщите в личку куда прислать, могу положить детальки если какие нужны.
Теперь осталось изобрести карманный суперкомпьютер на 6000 8 разрядных процессорах и непременно в DIP40 корпусах и я даже знаю кто с этим справится и даже побъёт рекорд.
Почти дописал монитор для своей поделки. Вот так это выглядит после включения:
https://img-fotki.yandex.ru/get/6512...b4f0aad_XL.jpg
Возможности пока весьма скромные: запись в ОЗУ, чтение памяти и вычисление контрольной суммы. Программирование в машинных кодах, как у ЮТ-88, но это уже хоть что-то. Работу с ВВ51 еще не осилил, но надеюсь в скором времени все получится. https://img-fotki.yandex.ru/get/3805...884db43_XL.jpg
При просмотре памяти можно нажать клавишу Del и ввести в текущую ячейку новое значение. Ввод значения заканчивается нажатием на клавишу Enter. Ошибочно набранные цифры можно удалять клавишей Back и затем вводить заново.https://img-fotki.yandex.ru/get/30/2...218ee3d_XL.jpg
МОНИТОР занимает чуть больше килобайта +1,5к знакогенератор из 256 символов.
Продолжение следует...