Приехали чудеса заморской КМОП схемотехники под названиями TC40H004 и 74HCU04, поэтому по многочисленным просьбам избавился от МГТФ на плате, а то "не красиво1111!!!!!". Заодно допаял миди вход-выход. Теперь можно помыть её от флюса, хотя надо еще дождаться транзисторов 2SC2878 чтоб починить схему защиты от щелчка при включении, и уже тогда финально отмыть.
👍7🔥4🤩1
Переборол лень и кое-как, криво-косо, но все-таки состряпал примерные таблички перекодировки инструментов General MIDI - > IMFC инструменты. Занятие очень нудное, смею вам доложить. Немного ориентировался по текстовому описанию, немного на слух плюс/минус, немного по наитию и немного рандома =\ Так же понадобилась отдельная таблица "ударные GM" = банк IMFC / инструмент IMFC для обработки десятого (или 9 если от нуля) канала GM. Потом запихал все эти полученные таблицы в SoftMPU немного поправив кодес под общение с IMFC и вуаля - Monkey Island пустился в режиме Roland на IMFC. Конечно, я слышу что звук странный, но это надо колдовать с этими гребанными таблицами, а я чет уже не вывожу.
🫡3
scg любезно поделился свеже-изготовленной крепежной планкой, а так же отсыпал оригинальных транзисторов для участка схемы подавления щелчков при старте. Установил планку, перепаял транзисторы и на этом, можно сказать, сборка реплики IBM Music Feature Card успешно завершена. Всё протестировали, всё поотлаживали, всё работает штатно.
Кстати, чего-то немного пофиксил в экспериментальной версии SoftMPU для IMFC, выложил на всякий случай сюда: https://github.com/Tronix286/IMFC
Кстати, чего-то немного пофиксил в экспериментальной версии SoftMPU для IMFC, выложил на всякий случай сюда: https://github.com/Tronix286/IMFC
🔥5🤩4👍1
Зима близко, поэтому для долгих зимних вечеров приобрел вот тут новую безделушку - Л1874ВЕ36А, что в переводе на человечий обозначает клон Intel 83C196KB12, семейство MCS-96. Как бы странно это не было, но для данной микрухи доступен какой-никакой даташит, без регистрации и смс: здесь . Так же совершенно точно помню, что когда-то давно находил какой-то Си компилятор для MCS-96 то-ли от IAR, то-ли от Keil, а сейчас вообще ничего нагуглить не могу. Вот ведь как быстро инфа из инета исчезает, а вы говорите "что попало в интернет, то навсегда". Увы, не очень это работает... Ладно, будем копать постепенно....
🔥2🤩1
Меж делом завел экранчик 480x320 3.5" ili9486 8 bit parallel на платке с ВМ80. Честно сказать намучился я с ним прилично. Сначала не мог его заинитить - собирал по всему инету последовательность инициализации, включая китайские борды и форумы андруинщиков - нет инита и всё. А дело было всего-лишь в перепутанных проводах к экрану D6 и D7. Потом начал ловить какие-то внезапные перезагрузки прошивки, сделал даже "шагатель" по классике из журнала Радио, хотя он мне мало помог. Короче дело было в том, что на плате у меня на процессоре перепутаны адресные линии A14 и A12 местами, поэтому когда прошивка выросла код улетал в ебеня. А распиновку 8080 я взял похоже просто в гугле забив "8080 pinout", и первая подвернувшаяся картинка оказалась неправильной. Ладно, главное все заработало. Скорость заливки конечно внушает 😂
👍8🤯3🔥2
Приобрел по случаю еще одну CGA видеокарту на сей раз от компьютера Правец-16 ака ЕС-1839. Хоть доска и большая, однако же гораздо меньше чем CGA Redux например, и в первую очередь по количеству микросхем. Потому что здесь кроме обычной логики уже присутствуют три штуки PLD - две PAL16L8 и одна регистровая PAL16R8. Так же из отличительных особенностей - нормальный вырез слота, не мешающий вставить карту в ISA-16 слоты, в отличии от того-же CGA Redux или тайваньских клонов CGA. За это болгарам респект конечно. Проверил - отлично работает и имеет полную совместимость в тесте CGA_COMP.
👍8🤯1
Продолжаю ковырять на досуге ВМ80 с дисплейчиком. Переписал на асм основные функции работы с дисплеем и особенно функции заливки дисплея, скорость возросла в разы по сравнению с си-вариантом. Тут тот самый случай, когда важен каждый такт и одна лишняя инструкция в цикле существенно сказывается на быстродействии. Ведь старичку ВМ80 для полной заливки экрана нужно прокачать 480x320x2 байт (~300 Кб) через шину. Конечно, экран очищается не моментально, но уже терпимо. Ну и до кучи прикинул шрифт с альфаблендингом, что потребовало флоатов. Благо в z88dk это решается просто подключением математической библиотеки. Она конечно жрет место, и очень даже заметно, но на период отладки терпимо. Дальше можно все в таблицы загнать, когда будет понимание всех цветов и элементов интерфейса. 😅
🔥9🤩1
С этим экраном без нормального отладчика работать такое себе, это не ИН'ки или матричные светодиодики... Каждый раз доставать из панельки, стирать EEPROM'ку, прошивать EEPROM'ку, вставлять обратно в панельку - и так сотни раз на период рисования интерфейса - удобства доставляют мало. Поэтому пришлось написать на скорую руку типа эмулятор данной 8080 платформы, включая и и простенький эмулятор ili9864 экрана. Стало гораздо проще и плату можно вообще пока отложить в сторону.
👍9🔥4🤯4
Вчера вечером решил прикрутить кнопки и внезапно столкнулся с глюком - при чтении данных из порта у меня читался мусор. Понятно, что конфликт на шине, я предположил что виной всему упрощенный дешифратор адреса порта в/в, выполненный на одном инвертере - а именно /CS ВВ55 это линия A4, а /CS на экран - это инвертированная A4, таким образом по задумке 0-Fh это порты ВВ55, а 10h-1Fh это порты экрана. Думал что из-за задержки прохождения сигнала через инвертер возникает иголка и экран и ВВ55 одновременно отвечают и вот он и глюк. Сидел пол-ночи ловил эти иголки, переделал дешифратор на ИД7 - нихрена. А утром взглянул на сам экран - и вот оно. На экране установлены пара левел-шифтеров, выполненных на 74LVC245, и у одного из них, отвечающего за шину данных /OE жестко прибит на землю. Поэтому когда я читаю что-либо из какого угодно порта он выставляет на шину мусор. Солюшен прост - отрезать /OE от земли и завести его на /CS экрана, что и было проделано с помощью скальпеля и МГТФ. Ох уж эти китайцы затейники 😅
👍9🤯4🔥2
Пилю потихоньку прошивку для часиков на 580ВМ80 с TFT-экранчиком. Сделал самую нудную часть, а именно режим установки и изменения времени/даты с кнопок. Три кнопки - кнопка "SET" - попеременно перебирает все изменяемые параметры (часы/минуты/день недели/день/месяц/год), подсвечивая текущий параметр оранжевым. И кнопки "плюс" и "минус" - соответственно меняют текущий параметр. Итого уже работают часы и календарь, режим установки параметров, показывается реальная температура с датчика DS18B20. Не сделано - датчик влажности, на экране просто пока статичная надпись. В конце еще хочу график на плитках температуры и влажности прикрутить, по типу как на картинке...
🔥8👍5❤🔥1🫡1