Зачем так сложно. У меня весь адаптер поместился в один PIC контроллер. Начну отладку как запущу основную плату.
https://i.ibb.co/HxjF93H/PS-2-Galaksija-scheme.png
Вид для печати
Зачем так сложно. У меня весь адаптер поместился в один PIC контроллер. Начну отладку как запущу основную плату.
https://i.ibb.co/HxjF93H/PS-2-Galaksija-scheme.png
I needed something that I can use with other designs as well without having to reprogram the chip. PIC16f41459 apart from control of the matrix gives me I2C for 24LC512 to store map tables and USB to program and upload new maps. I'm planning to use that matrix with other machines as well as Галаксия.
Here is a short video testing the keyboard with clone of computer called Cobra:
https://www.youtube.com/watch?v=bbGV6k1XZAA
Here is the same emulating terminal for computer Bosman 8:
https://www.youtube.com/watch?v=U3gRtLO8PTQ
Thanks.
Thank you for the video, but nothing is clear from watching the monitor. First of all, you need a scheme of the device and its algorithm. On retro computers from the former USSR has long been used PS/2 keyboard adapter from Vinxru. It consists of only one chip. I am not a fan of Atmega controllers so I will make a PS/2 keyboard adapter on the PIC controller.
At Galaksija, we have decoder lines, polling the keyboard and the multiplexer columns of the answer. Our task is to convert the PS/2 keyboard code into the keyboard response code. I think this is not such a difficult task.
Sorry for my English. I use an online translator.
Сегодня в магазине проходил мимо полки с коробочками для продуктов и увидел такое:
https://i.ibb.co/mNckpSx/IMG-20190105-214136.jpg
как по мне, подходит отлично
https://i.ibb.co/w6jgjvY/IMG-20190105-213821.jpg
https://i.ibb.co/1R5NbKz/IMG-20190105-213927.jpg
https://i.ibb.co/vwSd8mL/IMG-20190105-214949.jpg
цена вопроса ~1$ :)
мгтф на плате это переделка на кварц 12МГц, клавиатура будет не с картинки, но будет сделана по аналогичной технологии.
Что то никто не задумывается об подключении звукового чипа AY3.
https://i.ibb.co/fGLzNJQ/Galaxy-PSG-SCH.png
и вот так я вижу размещение элементов
https://i.ibb.co/6BGYhrG/Galaxy-PSG.png
платка получается примерно 35х70мм.
по схеме PSG хочу еще отметить два момента.
- У нас на системном разъеме нет сигнала /RESET для AY, который должен приходить на 23ю ножку, я на схеме сделал его формирование локально на R8 и C5, а на 29й ножке системного разъема его обозначил на всякий случай, если со сбросом возникнут проблемы, то можно эту цепь задействовать. В плате Галаксии на 29 ножке сигналы другие. На собранное плате PSG соединения 23й ножки AY с 29й ножкой разъема нет.
- Второй момент, у меня звуковой чип не AY3-8910, а YM2149F и в данный момент кварц в Галаксии используется 12МГц, а не 6.144МГц, из-за чего на CLKA у мена повышенная в два раза частота, но у YM2149F есть особенность, если её 26ю ножку посадить на землю, то в YM2149F включается внутренний делитель CLKA на два, и частота тактирования звука становиться правильной. Соответственно 26ю ножку звукового чипа при кварце Галаксии 6.144МГц на землю садить не надо.
Не знаю даже, что на меня нашло...:) вот результат:
https://i.ibb.co/235kmyc/IMG-20190107-165449.jpg
https://i.ibb.co/5sG28gq/IMG-20190107-165506.jpg
https://i.ibb.co/mHNY1TL/IMG-20190107-183740.jpg
разъема на плате Галаксии у меня нет, но и так все контачит, если немного под углом вставить, все играет!
https://i.ibb.co/JCCcJ8G/IMG-20190107-183445.jpg
плеер здесь
во вложении pdf для ЛУТа.
А где сам файл PT2PLAY.GTP - я его не нашёл, в образе диска?
Hi everyone!
First, i'd like to thank PVV and Fifan for such an awesome project!
(Oh, and sorry for posting this in English, I do understand some Russian but not enough to write what I'm about to)
I had some issues while getting the Galaksija to run. First, none of my monitors would sync. I have experimented with values of R12 and C3, and came to conclusion that either you can increase R12 to about 2k or you can change C3 to 22n to get stable image on screen.
After this problem was sorted, it looked like everything is working, but I couldn't get full initialization (either blank screen or READY without the ">" in the next line. BASIC programs, sort of, worked, but only in "minus" mode. In Plus mode, either text or graphics mode, everything was acting funny. Simple BASIC programs would not run in a loop. The screen editor would get confused at times. I beleive Pluto had similar issues. See video:
https://www.youtube.com/watch?v=Qw3ffOVBuho
After reading trough this thread (again and again) i tried a similar approach - to lower the input voltage. When it was about 4 volts, I could get everything working. I even loaded games from the SD card, and while it seemed to work, I had some glitches on the screen in the graphical mode. See image:
http://i.imgur.com/1oxxgygm.jpg
At first I tried changing almost every TTL chip I could find a spare. Nothing. Since I suspected it is a memory problem, and I didn't have a second RAM chip, I tried it with a 6264 chip. It actually worked without any problems, on 5v power supply. After some interesting glitches on the screen (unfortunately, I don't have an image or video of that) I noticed that I got a "wrong" memory block displayed - on the screen I saw the content of the keyboard input area. I started to analyze the memory decoding circuit and decided to try something. After swapping the pullup resistors in the memory decoder to 1 kiloohm (namely, R35, R36, R37 and R48) all of my problems were gone! Everything was working fine - Regular (minus) mode, Plus mode, Graphics, everything! Video proof is here:
https://youtu.be/3RHmWl0snlo
After checking the schematic, I should probably change R39 to 1 kiloohm too, but the SD card is working fine.
Oh, and one other thing. After removing C19 and C20 (and making a short across one of them) the picture on the screen is rock-solid. Of course, for better brightness, R9 must be replaced with a 1k resistor.
I also made a PS/2 keyboard adaptor, with an Arduino Nano and MT8816. After I get the first PCBs done and confirm everything is working, I'll share the design here, as a thank-you to everyone involved.
Again, a big thank you to everyone that is involved in this project!
Поздравляю с успешным запуском!
Резисторы и в особенности конденсаторы имеют очень большой разброс(+20%, -50%), равно как телевизоры могут подстраиваться в широких пределах, но иногда случаются несостыковки, главное есть способ решения этой проблемы.
Это весьма интересная и ценная информация, и логично объясняет причину 'нормальной' работы при пониженном напряжении питания. Надо в первом сообщении уточнить, что номиналы этих резисторов надо уменьшить с 10К до 1-2К.
разные телевизоры могут по своему реагировать на наличие или отсутствие C19 и C20, так что лучше на плате их предусмотреть(как здесь), а при необходимости их закоротить(выбросить). Да и за номинал R9, так же надо в первом сообщении уточнить.
будет интересно. В моих 'планах' аналогичная работа стоит, но не скоро :).
Теперь и я обладатель настроенного компьютера. Спасибо PVV за помощь. Никак нормально не могу подключить клавиатуру, раз третий перепаиваю. Буду обустраивать корпус.
По схеме. Очень не удобно, когда нет сброса. В оригинальной версии бала кнопка, которая называлась "Hard Break" и наверное сбрасывала систему по задумке. Я почему-то её на плате не предусмотрел. Должна она подключаться к 17 выводу процессора, параллельно электролиту C7.
Мною исправлена схема (подписаны реальные номиналы), добавлен разъём для подключения китайского модуля SD карты с преобразователем уровня и стабилизатором на борту. Самое главное исправлена цоколёвка транзисторов. Добавлю разъём для подключения упомянутой кнопки и можно будет анонсировать вторую версию печатной платы. Все исправления и пояснения будут на этой странице через пару дней. Хочу написать автору Галаксии и авторам клонов Галаксии отослать письма (если ящики у них не сменились), чтоб продвинуть разработку за рубежом.
А вот на счёт кнопки мне PVV советует:
Если что, я обновил всю страницу посвящённую этому клону. Перехожу там же на сайте в разделы программы и игры, которые девственно чисты.
Первым из авторов ответивших мне оказался Войя Антонич, автор первой Галаксии:
Great job, making it working in both default and Plus mode!
Thanks a lot! Best wishes, Voja Antonic.
Запустил плату звукового генератора (давайте так её называть, как когда-то её придумали сербы). Сначала не как не мог понять почему звук возбуждается и пропадает. Выводил звук сначала через джек на наушники. Нужно было найти то положение штекера в гнезде, чтоб звук пошёл нормальный. Затем вывел отдельно на тюльпаны и звук, то оказался одно-канальный, по крайней мере только через один штекер идёт сигнал. Вывел на телевизор, прибавил громкость и красота!
Спасибо PVV за звуковуху, её реализацию и программу-прогрыватель!
Нужно видео снять работы компьютера. У меня правда ещё под клаву и разъёмы корпус невыпелен.
Перед тем, как сделать схему адаптера клавиатуры я решил сделать тестовую прошивку с выводом сканкода на двух знакоместный индикатор. В атаче находятся исходник программы. Оригинал программы я брал с другого процессора (PIC16F84). Схема включается, загораются три светодиода на PS/2 клавиатуре и всё. Поставил кварц на 4 МГц. Почему-то всегда горит светодиод, подключенный к RA1. Помогите, кто разбирается в ассемблере пика, может что-то я не так написал?
Наверное я взял слишком большой в смысле кода пример, попробую наверное этот (с того же сайта). Так же сначала просто сканкод выведу на индикатор.
Я работал на базе именно этого кода. Весь пример в Протеусе запустил, все работает. Затем, перевел его на pic16f628.
В Протеусе собрана схема имитатора PS/2 клавиатуры на 64 кнопки, матрица 8х8 (на базе этого проекта) и схема декодера с выходами на ПЗУ декодировщик клавиатуры Галаксии. PIC имитатор PS/2 клавиатуры работает от 10МГц, PIC декодера от 4МГц. Исходники внутри файла проекта Протеуса (файл проекта Протеуса это zip архив, если кто не знает, сюда его со своим расширением загрузить не получается, по тому я его еще раз запаковал zip_ом, получился zip в zip_е).
Так что осталась лишь прошивка для ПЗУ декодировщика, и можно на самой Галаксии все проверять.
Прошивка для ПЗУ готова. Есть и excel (версия 2010) файл для пояснения составления прошивки. Проект посмотрю.
Отлично, и почти все работает! В скан кодах ошибка вкралась с 0х42-0х47, они должны быть 0х41-0х46, нужно ПЗУ поправить. Шифт работает, но проверил не все комбинации еще.
С шифтом поспешил обрадоваться:
шифт+1 - дает !, ок
шифт+2 - нет,
шифт+3 - нет,
шифт+4 - дает # (это должно быть шифт+3 ),
шифт+5 - нет,
шифт+6 - нет,
шифт+7 - дает *,
шифт+8 - нет,
шифт+9 - нет,
шифт+ 0 - дает '(' (а дб шифт + 8),
шифт+ '.' - дает ?,
шифт+ о - дает ),
шифт+ р - дает _.
пока так.
поправил ПЗУ:
https://i.ibb.co/1R2H6jL/Gal-PS2.png
в терминале видно, какая клавиша нажимается на PS/2 клавиатуре и что видит Галаксия.
С шифтом должно работать правильно, по крайней мере с цифровыми клавишами. Shift + o,p я незнаю, что там должно быть. Так с апострафами вверху - буквами сербского языка - я специально описывал и то только с z,x,c,s. Вот видно на клаве словенца. Может со всеми буквенными клавишами Shift что-нибудь выводит?
http://www.spetsialist-mx.ru/Galaksi...ges/clone2.png
так кое-где промахи вышли.
это вышло из-за сдвижки кодов 41-46.
это все работает правильно.
кстати, буквенные клавиши с шифтом должны давать тот же код, что и без шифта, кроме z,x,c,s.
во вложении мои исправления, работает все,кроме 'буквенные клавиши с шифтом должны давать тот же код, что и без шифта', это еще не доделал, тк весьма трудоемко получается, время нужно...
Проект Протеуса не грузится.
https://i.ibb.co/K0w7xC2/Proteus-error.png
Давно уже подготовил все необходимое для окончательной сборки своей Галаксии, и вот сегодня все доделал.
Сделал клавиатуру, наклейка в виде распечатки 'ламинированной' прозрачным скотчем с двух сторон:
https://i.ibb.co/W3fzBv1/IMG-20190420-182508.jpg
периметр обклеил двухсторонним скотчем, в три слоя, что бы получился уровень под высоту кнопок
обратная сторона, ни одной перемычки:
https://i.ibb.co/7j2ZnZF/IMG-20190420-142659.jpg
и с проводами
https://i.ibb.co/CH5YmLF/IMG-20190420-175244.jpg
тем, же двухсторонним скотчем обклеил периметр снизу, и приклеил собранный бутерброд клавиатуры на свой 'корпус', паяльником сделал отверстия под разъемы, все собрал:
https://i.ibb.co/wrSJPpw/IMG-20190420-190637.jpg
во вложении файлы печатки клавиатуры для изготовления ЛУТом и 'наклейка'
fifan, Вопрос шкурный , это https://zx-pk.ru/threads/29446-galak...l=1#post991353 работает ????
Прошивка отсюда https://zx-pk.ru/threads/29446-galak...=1#post1004762 ?
фьюзы какие ????
Спасибо
отвечу я за fifan_а,
нет, это была лишь идея такой реализации, как оказалось на практике не реализуемая по быстродействию.
а это мой вариант, на практике не проверенный, но начать надо с такого:
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF
тк прошивка рассчитана на работу с 4МГц генератором, а в pic16f628 имеется встроенный RC генератор на 4МГц, то скорее всего заработает так, но если и не пойдет, то нужно будет использовать внешний кварц на 4МГц, и конфиг будет такой:
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _MCLRE_OFF & _LVP_OFF
Нашли не проверенную прошивку и схему ну и как это заработает? Схема давно изменилась. На практике у меня попросту пик не завёлся. По какой причине не знаю, руки ещё не дошли разобраться.
Заказал пробных 5 плат на SMD со встроенной клавой
выглядеть будет приблизительно так размер 100х100 :))
клаву можно отрезать и подключить проводами
Если развели PS/2 адаптер, то зря - в природе его не существует. У меня в наличии родная клавиатура и пока я ею доволен. PS/2 с наскоку победить не удалось - но я не отчаиваюсь.
Всех с Днем Победы!
теперь существует :)
https://i.ibb.co/02ckS03/IMG-20190508-232956.jpg
схема, прошивка пика и ПЗУ не изменились о ранее выложенных, но для полноты все в одном файле во вложении.
Кстати я понял почему у меня пик не завёлся - тупо китаец прислал дохлый, вот так вот.
Приехали платы, комплектуха ещё не вся, но можно начинать
Слово "Галаксия" по-сербски пишется так: Galaksija, у них нет буквы икс.
Это придирка ?
Скрытый текст
Можно рассматривать как комплимент. Ожидание что это единственный и некритичный косяк на плате.
Кстати по PS/2 адаптерам - никого не смущает тот факт что как минимум тот что на ПЗУ (а скорее всего и тот что на МТ8816) принципиально не сможет отработать одновременное нажатие более одной кнопки?
На МТ8816 проблем с одновременным нажатием нет, а вот с ПЗУ да, только одно нажатие обычных кнопок (однако нажатия с shift работают, а это уже два одновременных нажатия :) ). Я посмотрел как Галаксия реагирует на несколько одновременных нажатий, отработка идет только последнего нажатия, все предыдущие игнорируются. Так что, для программ использующих мониторный опрос клавиатуры, а не самостоятельный, это не проблема.