Слева направо: прямое отображение ч/б, инверсное отображение ч/б, очистка экрана. Только эти клавиши с квадратиками не слева, а справа.
Вид для печати
Печатная плата клавиатуры (соединения еще предстоит выполнить):
https://i.ibb.co/GQrvVQ4G/specialist-85m-kbd-p1.png https://i.ibb.co/cKZGWNN8/specialist-85m-kbd-2-p1.png
Я немного изменил расположение клавиш. Клавиши со стрелками сгруппированы вместе, клавиша «ввод» - крупного размера, а по обеим сторонам клавиатуры расположены две клавиши «нижний регистр».
Верхние кнопки от F до CONT теперь называются F1-F8.
https://pic.maxiol.com/images2/17440...58384.f1f8.png
Коды клавиш:
https://pic.maxiol.com/images2/17440...8384.codes.png
Какова наилучшая конфигурация программ ПЗУ для «Специалиста-М»?
Используются ли эти клавиши для ввода команд в BASIC? Я мог бы сделать надписи на клавишах: «F1», «F2/HELP», «F3/NEW» и т.д.
Кроме того, есть ли еще какие-нибудь несоответствия между этой клавиатурой и клавиатурой «Специалист-М»?
Клавиатура будет похожа на ту, что я разработал для своего клона «Ленинграда». Крышки клавиш здесь имеют прозрачные крышки, поэтому под ними можно разместить наклейки.
https://alex-j-lowry.github.io/photos/lgrd4_th.jpg https://alex-j-lowry.github.io/photos/lgd18_th.jpg
Ставший уже стандартным набор ПЗУ состоит из:
#C000-#C7FF - Загрузчик В. Зверкова М-К 1989 №4
#C800-#CFFF - Монитор А. Волкова М-К 1987 №6
#D000-#D7FF - ОПЦИОНАЛЬНО Знакогенератор КОИ8 В. Зверкова М-К 1989 №4
Образы ПЗУ прилагаю к этом сообщению.
https://zx-pk.ru/;base64,wwPAMf9/PoI...vhzS7T6yIh9evJУ них изменились коды, таким образом они больше не задействованы в BASIC.
Я сразу пробежался глазами по клавиатуре, но других несоответствий не обнаружил. Может быть кто-то другой что-то ещё найдёт? Но мне кажется, что там всё хорошо.
Для работы с загрузчиком с SD карты в область можно использовать загрузчик. Для работы с ним нужно ввести: F7 (или другая с верхнего ряда - прерывание загрузки с ленты), GD000. Это файл (bios8.rom).
Для автоматической загрузки оболчки shell с SD карты нужен файл bios8_0.rom.
Но пока у автора не видно схемы работы с SD картой.
Отсутствие обновлений в последнее время было связано с необходимостью собрать и протестировать другой компьютер, над которым я работал. Теперь я могу продолжить работу над этим.
Я добавил в схему простую схему (основанную на «Ленинграде-1»), которая позволит выводить 8-уровневое полутоновое видео. Переключение между 2-уровневым и 8-уровневым видео возможно с помощью перемычки.
alex-j-lowry.github.io/download/speci85m/specialist-85m-p8.pdf
Вот диаграмма печатной платы, которая пока находится на ранней стадии разработки.
alex-j-lowry.github.io/download/speci85m/specialist-85m-pcb-p1.pdf
- - - Добавлено - - -
Я также написал пакетный скрипт для более быстрого и простого преобразования файлов RKS в WAV с помощью утилиты bin2wav.
В настоящее время он отображает инструкции только на английском языке, поскольку я не знаю, как заставить пакетные скрипты правильно отображать кириллические символы.
alex-j-lowry.github.io/download/speci85m/specialist-rks-converter.zip
Работа близка к завершению! Осталось только немного подправить проводку и закончить шелкографию.
https://i.ibb.co/1tqgPTTc/Specialist-M-P2-1.png https://i.ibb.co/TMmDmqQR/Specialist-M-P2-2.png https://i.ibb.co/vvkXC1J8/Specialist-M-P2-3.png
Я также добавил имена пользователей всех, кто помогал в работе над проектом, на заднюю сторону печатной платы. Если ваше имя пользователя указано на печатной плате, но вы бы хотели, чтобы вместо него использовалось ваше настоящее имя, пожалуйста, сообщите мне об этом.
Я изучал интерфейс SD-карты, разработанный Алексеем Морозовым. Кажется, что сделать печатную плату на основе этого дизайна, подключаемую к разъему расширения, будет довольно просто.
Как я понимаю, для печатной платы расширения потребуется всего две микросхемы: вторая 8255 (с маппингом на F000-F7FF) и микроконтроллер ATmega8.
У меня есть несколько вопросов о программном обеспечении:
Если BASIC не добавлен в ПЗУ (что кажется наиболее распространенной конфигурацией), есть ли вариант кассетного BASIC, который используется вместо него? Насколько я понимаю, ПЗУ BASIC 1987 года не имеет достаточного количества функций?
На сайте Специалист-ПК.РФ некоторые кассетные программы распространяются в виде .rom файлов (например, расширения BASIC). Как эти .rom файлы загружаются в компьютер?
- - - Добавлено - - -
Новая схема (изменилась разводка клавиатуры и портов расширения):
alex-j-lowry.github.io/download/speci85m/specialist-85m-p9.pdf
да, также желательно вывести на разъем расширения магнитофонный вход (через него загружается драйвер SD карты). или придется ставить ПЗУ с этим драйвером и оболочкой.
конечно есть. например вот здесь https://xn----7sbombne2agmgm0c.xn--p...t/soft_rks.rar их несколько штук, с расширениями и без. к сожалению без нормального описания.Цитата:
У меня есть несколько вопросов о программном обеспечении:
Если BASIC не добавлен в ПЗУ (что кажется наиболее распространенной конфигурацией), есть ли вариант кассетного BASIC, который используется вместо него?
а это тот же самый бейсик без расширений. он при старте копируется из ПЗУ в ОЗУ и оттуда запускается.Цитата:
Насколько я понимаю, ПЗУ BASIC 1987 года не имеет достаточного количества функций?
это по сути просто бинарные файлы без заголовков. их можно преобразовать в .rks - для этого нужно добавить перед началом файла 4 байта - начальный и конечный адрес загрузки (сначала младший байт, затем старший) а в конце - 2 байта контрольной суммы (также сначала младший байт).Цитата:
На сайте Специалист-ПК.РФ некоторые кассетные программы распространяются в виде .rom файлов (например, расширения BASIC). Как эти .rom файлы загружаются в компьютер?
Можно загрузить готовый образ ПЗУ с поддержкой SD карты, например для Экспресса.
В архиве описание прошивки:
Это уже как написал Serg6845 "ПЗУ с этим драйвером и оболочкой". т.е. при вводе U <ВК> Вы попадаете в загрузку оболочки shell от Vinxru. На SD карту необходимо предварительно записать в папку три файла в папку boot. Остальное место на карте можно заполнить различными играми и программами с расширением rks.Цитата:
#c000...#cfff - Монитор-4
#d000...#efff - встроенные программы:
1. #d000...#d011 - переходы по клавишам B, E, U
2. #d012...#d020 - перенос и запуск DC WALKER'а
3. #d021...#d02f - перенос и запуск BASIC'а
4. #d030...#d03a - подпрограмма переноса
5. #d060...#d45f - DC WALKER
6. #d460...#d53f - Loader от Vinxru
7. #d540...#efff - BASIC
B <ВК> - запуск BASIC'а
E <ВК> - запуск DC WALKER'а
U <ВК> - запуск Loader'а от Vinxru
https://i.ibb.co/cKZ9sSCq/specialist-85m-r0-1.png https://i.ibb.co/LhDKLw1G/specialist-85m-r0-2.png https://i.ibb.co/BH8yXcKm/specialist-85m-r0-3.png https://i.ibb.co/cXZ9MKWQ/specialist-85m-kbd-r0-1.png https://i.ibb.co/PsxzZCSg/specialist-85m-kbd-r0-2.png
Ну что ж, я думаю, он готов к тому, чтобы назвать его «законченным»! Вот схемы и герберы.
Компьютер:
alex-j-lowry.github.io/download/speci85m/specialist-85m-r0-sch.pdf
alex-j-lowry.github.io/download/speci85m/specialist-85m-system-r0-gerbers.zip
Клавиатура:
alex-j-lowry.github.io/download/speci85m/specialist-85m-kbd-r0-sch.pdf
alex-j-lowry.github.io/download/speci85m/specialist-85m-keyboard-r0-gerbers.zip
Я скоро загружу файлы KiCad. Как только у меня будет рабочая модель, я разработаю интерфейс для SD-карты.
Я думаю, что размещение драйвера SD-карты в ПЗУ было бы лучшим вариантом. В противном случае потребуется способ отключить U31 от кассетного входа. Я полагаю, что кассетный интерфейс можно убрать, но я не думаю, что без него это настоящий ретро-компьютер! :D
Да, это идеально! Спасибо!
Не нужно ничего отключать. Просто подать сигнал с Mega8 в точку соединения R18 и C13 через резистор 100кОм. единственный момент - скорее всего придется отключать магнитофон для нормальной загрузки с Mega8.
- - - Добавлено - - -
при таком раскладе и бейсик по большому счету не нужен :)
а программу можно и с флешки загрузить скорее всего - просто знаний нужно чуть боьше. на досуге проверю...
Вещи начинают прибывать! Вот фотография, на которой сравниваются размеры печатной платы с моим «Ленинградом-М» и IBM-совместимой клавиатурой.
https://i.ibb.co/spjPP4TK/IMG-2402-crop.jpg
Я планирую использовать советский процессор. Конечно, метрическое расстояние между штырьками представляет собой проблему. Я уверен, что это проблема с хорошо известным решением в бывшем СССР.
Похоже, оно подходит к гнезду с плоскими контактами (в отличие от гнезда с круглыми контактами, как на этом изображении справа). Будет ли работать этот метод?
https://i.ibb.co/1fWrhHFR/IMG-2420-crop.jpg
У меня опять не правильно отображается гербер-файлы. Преобразовал в читаемый формат (архив разделил на две части, загрузка на форуме содержит ограничения по размеру файлов).
Хочу предложить Вам замечания по надписям блоков схемы на русском языке (я не хотел Вас оскорбить этим):
1. 8-цветный генератор (опция) -> 8-цветный контроллер цвета;
2. регуляторы мощности, разъёмы -> стабилизаторы питания, разъёмы;
3. Регулятор -5В -> Стабилизатор -5В;
4. Монохромный композитный видеогенератор (8 уровней) -> Ч/б композитный видеогенератор (8 уровней);
5. Комбинированная аудио/видео/выходная мощность -> Комбинированный выход аудио/видео/питание.
Спасибо! Советы по улучшению русского перевода приветствуются, так как я пытаюсь улучшить свои знания русского языка.
Возможно, есть какая-то настройка в KiCad, которую я могу использовать для улучшения совместимости... По умолчанию KiCad генерирует в Gerber-файлах слои для паяльной пасты, которые не нужны, поскольку в них нет SMD-компонентов.
К сожалению я не использую KiCad, я работаю в Altium Designer'е последние 15 лет.
Хочу выразить благодарность данному автору за разработку нового клона Специалиста. Главная особенность данного клона, я так думаю, это применение 4-битных DRAM ОЗУ, которые у меня есть в наличии и пока не где не используемые. Хочу просить разрешения у GlueLogic'а о помещении всей информации о Специалисте 85 М на свой сайт, посвящённый ПК Специалист и его клонам.
Ну, он собран. Кое-что работает: видеоконтроллер поддерживает стабильное изображение, напряжения все стабильны... но что-то не так с «компьютерной» частью компьютера. :v2_dizzy_wall:
(Если вы внимательно посмотрите, то увидите, что контакт 1 U29 поднят. Это было сделано в процессе поиска неисправности, на момент снятия скриншотов все было не так)
https://i.ibb.co/YTykLvm0/IMG-2430.jpg
При включении компьютера на экране появляются случайные данные. Он не мерцает и не колеблется, это неподвижное изображение (вы можете щелкнуть на изображениях, чтобы увидеть их в полном размере).
Похоже, что начальное состояние компьютера - чтение из ПЗУ (когда адресное пространство принудительно устанавливается в C000-FFFF) - никогда не отключается, и поэтому начальное случайное состояние ОЗУ никогда не изменяется.
https://i.ibb.co/nMfKLLBx/IMG-2423.jpg
Иногда это состояние отключается при загрузке компьютера. После этого оперативная память экрана начинает произвольно изменяться, вызывая мерцающее изображение, похожее на телевизионные помехи.
https://i.ibb.co/dH10cvp/IMG-2426.jpg
Сигнал, отвечающий за отключение этого состояния «только чтение из ПЗУ», должен подаваться с вывода 13 U30 (8255). Этот сигнал, переходящий в низкий уровень (логический 0), сбрасывает флип-флоп, который контролирует, включено ли состояние «только ПЗУ» или нет.
Попытавшись прощупать этот сигнал, я обнаружил, что сопротивления в 1 мегаом моего осциллографа достаточно, чтобы установить низкий уровень сигнала. Похоже, что он «плавает», что объясняет, почему он иногда правильно сбрасывается при запуске.
Поэтому я предполагаю, что вывод 13 U30 вообще не устанавливается как выход. Теоретически это могло бы указывать на неисправность 8255, но 8255 прекрасно тестируется в моем логическом тестере (программатор ПЗУ T48, в нем есть режим логического тестера, совместимый с 8255).
Итак, мой диагноз - процессор 8080, вероятно, не работает. Это, вероятно, также объясняет, почему в оперативную память экрана записываются случайные данные.
Я купил еще один 8080 на eBay, который должен прибыть через несколько дней. Пожалуйста, дайте мне знать, если у вас есть какие-либо идеи о том, в чем может быть проблема!
Ссылка на схему: alex-j-lowry.github.io/download/speci85m/specialist-85m-r0-sch.pdf
GlueLogic, процессор поменяли на другой, а в названии 85 осталось...
По запуску платы. Налицо наблюдается не работа начального пуска (элементы U29A/U29B выполняют свои функции?). Для запуска любого клона Специалиста необходимо ставить тестовое ПЗУ. В архиве находится описание работы теста. Можно записывать в любое ПЗУ (необязательно 2 кБайта), в нижние адреса памяти.
Причин может быть много, например обрыв.замыкание где-то на шинах адреса/данных, некорректная работа схемы выборки ПЗУ, неисправные микросхемы...
если есть логический анализатор - можно его подключить на шину данных и посмотреть что на ней происходит после сброса.
если нет - можно собрать схему пошаговой отладки ( https://xn----7sbombne2agmgm0c.xn--p...emes/SP580.png, левый нижний угол) и пройти по шагам первые команды, контролируя шины логическим пробником.
ВВ55 может быть исправен, просто до его программирования дело не доходит.
хотя надо еще один момент проверить - какой вариант прошивки ПЗУ используется. был вариант где начальный пуск подключен к выходу INTE процессора - такая прошивка здесь работать не будет.
- - - Добавлено - - -
посмотрел в код - последннее утверждение неверно, там просто добавляется команда EI, инициализация ВВ55 никуда не делась. так что не в этом дело...
Я уже порекомендовал Тест-М (Рюмика) - должен пойти.
К сожалению, при запуске тестового ПЗУ компьютер ведет себя точно так же. Это уже третий ПЗУ, который я пробовал на нем, первые два - «Монитор-1» и «Монитор-4». Все они дают точно такой же результат, без каких-либо изменений...
Я вынул все микросхемы, проверил те, которые можно проверить (а это все, кроме 8080 и RAM), в логическом тестере и поставил все обратно. Все микросхемы, которые я тестировал, работают.
Странно, но теперь «мусорные данные» выглядят на экране по-другому. Я полагаю, что на одной из микросхем было плохое соединение, которое теперь в порядке после переустановки. Кроме того, что видео выглядит по-другому, больше ничего не изменилось.
Когда блокировка доступа к ПЗУ не отключена при запуске:
https://i.ibb.co/sdhJcPsz/IMG-2423.jpg https://i.ibb.co/wr77VgCx/IMG-2445.jpg
(слева = до переустановки микросхем, справа = после)
Когда блокировка доступа к ПЗУ отключена:
https://i.ibb.co/SwWjsC1G/IMG-2427.jpg https://i.ibb.co/pv6fTH50/IMG-2450.jpg
(слева = до переустановки микросхем, справа = после)
Теперь я еще больше уверен, что это связано с проблемой процессора.
- - - Добавлено - - -
Я потратил несколько минут, чтобы проверить пайку на наличие видимых коротких замыканий, и все выглядит хорошо.
Можно сделать ограниченный тест прошиваемый в пзу, который не требует работоспособности видеоконтроллера и озу, а также схемы начального пуска. Результат - звук через бипер. Он может проверить процессор, 8255, косвенно и некоторые другие элементы.
Да, это было бы полезно. Если у кого-то есть такой ПЗУ, пожалуйста, опубликуйте ссылку в этой теме!
В настоящее время я планирую следующее:
- Когда он прибудет, я попробую дополнительный процессор, который я заказал.
- Если это ничего не изменит, я куплю USB логический анализатор.
для таких тестов необходимо чтобы корректно работал процессор, схема выборки ПЗУ и 8255. если хотя бы одно из условий не выполняется - тест ничего не выдаст (поскольку вывод звука требует настройки 8255 на вывод, а судя по описанию - до этого не доходит).
что еще можно проверить -
- поставить ПЗУ с инициализацией через команду EI, проверить что процессор устанавливает высокий уровень на выводе INTE (16)
если устанавливает - можно временно переключить вывод 3 U7A на вывод 16 процессора через инвертор (используя один из свободных) и посмотреть что произойдет.
если не устанавливает - значит не работает сам процессор или схема выборки ПЗУ, пока это не заработает - ни один тест работать не будет.
Существовали два вида эмуляторов: через сокет процессора и через сокет пзу. В данном случае больше бы подошел первый. Если чип процессора не работоспособен - то можно попытаться извне считать содержимое ПЗУ, записать-считать озу. Если шина адреса и данных работоспособна это должно получиться. В качестве процессора такого эмулятора не обязательно использовать 8080. Ответную колодку на 40 контактов только надо найти. И паять ее довольно муторно витыми парами.
Состряпал для пробы тестик, не использует озу и вывод на экран.
1. Стартует, пробует включить начальный пуск.
2.1. Если включил, то выдает звуковой сигнал 994 Гц примерно 16.5 секунд.
2.2. Если не включил, то выдает звуковой сигнал 256 Гц примерно 16 секунд.
Если будут пожелания, то можно добавить что-нибудь простое.
Много чего можно сделать. Можно и сериал задействовать через INTE, только зачем! Сейчас нужно что бы работал процессор и ПЗУ, а потом уже играться дальше.
Из практики. В первую очередь замыкаешь и удерживаешь сброс. При этом миллиамперметром измеряешь токи на шинах адреса и данных. Т.к. на них присутствуют ТТЛ входа, то по величине этих токов можно судить о нагрузке, обрыве, КЗ и пр. А тогда уже можно двигаться дальше. Кажется, кому то я это уже говорил...)
Иначе, так можно и 2-й процессор поменять, и 3-й, а результата не будет.(
- - - Добавлено - - -
я так понял питание с него убираешь? И он сигналы не подсаживает? По поводу в своих руках, лучше имхо иметь внешний девайс с софтом. Мне нигде не попадалось в интернет. А такие эмуляторы (под процессор и MCU)у меня были промышленные на КРАМ(iNTELLEC MDS Series II) для 8080 ICE-80 и для МСУВТ В10 для 8051 ICE-51. Там не экранные версии софта были, с консольным вводом/выводом. Можно доступные версии симуляторов подрихтовать.