Допаял немножко схему защиты от щелчков, опять на кучке подножных компонентов, типа КТ361/315, которая ожидаемо не заработала 😂Все таки 2SC2878 весьма "специфичный" транзистор, с низким сопротивлением открытого канала как у полевика, только при этом биполярный. Надо будет все-таки либо оригинал искать либо аналог, но аналог близкий к оригиналу. Ну и ладно, не очень то и хотелось, на скорость как говорится не влияет.
Зато нашел пример программирования карты: https://cd.textfiles.com/psl/pslv2nv12/PRGMMING/DOS/PASCAL2/MFC.ZIP
Пример очень годный, заработал сразу, я проиграл и выключил ноту, повыбирал инструменты. Все дело происходит на 386, и пока никаких сложностей нет. Фактически, из этого вполне можно сделать проигрыватель MIDI я думаю, либо попробовать внедрить код в плеер DOSMID.
Зато нашел пример программирования карты: https://cd.textfiles.com/psl/pslv2nv12/PRGMMING/DOS/PASCAL2/MFC.ZIP
Пример очень годный, заработал сразу, я проиграл и выключил ноту, повыбирал инструменты. Все дело происходит на 386, и пока никаких сложностей нет. Фактически, из этого вполне можно сделать проигрыватель MIDI я думаю, либо попробовать внедрить код в плеер DOSMID.
👍5🤔1
Прикрутил на скорую руку к DOSMID поддержку IMFC - все очень похоже на MPU401, только естественно свои процедуры записи в порт, ожидания статуса готовности и прочее. Но поскольку IMFC - это эпоха до General Midi, то и инструменты задаются эксклюзивно для каждого канала с помощью exsys midi сообщений. Поэтому тут надо иметь либо специально написанный для IMFC (FB-01) midi с такими сообщениями внутри, либо как-то самому распределять банки с с инструментами по каналам, предварительно либо парся MIDI файл целиком, либо отлавливая "на лету" сообщения General Midi о переключении инструментов и сопостовляя их с имеющимися в банках ПЗУ IMFC. Ладно, начало тащемта положено, а там дальше посмотрим...
👍1🤯1
Приехали чудеса заморской КМОП схемотехники под названиями 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
🔥4🤩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