Просмотр полной версии : Самодельный компьютер на Z80 и не только
Набросал схему (https://yadi.sk/i/4pAHg4g-3Lkywb) "текущего исполнения" микрокомпа.
- - - Добавлено - - -
Вещь то вещь, но чем их прогать? Вот ПЛИСКи малленькие типа EPM7032 - это вещь. Прогаются по трем проводам от ЛПТ, прям реально напрямую. Без вырвимозгных схем подачи раздичных уровней напряжений, токов, с горой транзистроных ключей. Конечно GAL поменьше, но блин, собрать для них программер - тот еще квест. По сложности не хуже, чем самодельный компьютер на "сабж".
Еще недавно (год назад) был согласен с каждым твоим словом.
Но с приобретением Самого Дешевого Китайского Программатора с алиэкспресса TL-866 (https://ru.aliexpress.com/item/Free-Shipping-TL866CS-TL866-2012-October-Updated-MiniPro-Universal-Programmer-High-Performance-100-New/953593647.html?ws_ab_test=searchweb0_0,searchweb20 1602_2_10152_10065_10151_10068_10209_5430020_54100 20_10307_10301_10137_10060_439_10155_10154_10056_1 0055_10054_10059_5380011_100031_10099_5400020_1010 3_10102_10169_10052_10053_10142_10107_10050_10051_ 5390020_10084_10083_5370020_10080_10082_10081_1011 0_10111_10112_10113_10114_10311_10312_10313_10314_ 10315_10078_10079_10210_10073_5420011_10125-10050,searchweb201603_5,ppcSwitch_5&btsid=4ac5b47a-771d-43db-8ba1-8c3d109d2e52&algo_expid=eb13911a-fd93-48ba-ac1d-7afb47ec401e-3&algo_pvid=eb13911a-fd93-48ba-ac1d-7afb47ec401e&transAbTest=ae803_1) я вообще забыл про гору всяких флешеров, пиккитов и прочей лабуды. Только USBASPом продолжаю пользоваться, ибо удобней.
Приятным бонусом стала поддержка работы с GAL и ATF. А цена этих тараканов - в разы ниже стоимости CPLD.
Поэтому сейчас я противоположно другого мнения.
И не понимаю. какого черта я не купил программатор гораздо раньше.
Клок на вход Е МС6850
А, ну тогда теперь всё правильно. Вообще комплект 65хх/68хх имеет обалденно простую шину всего из двух проводов (Е и R/W). Не то что интелоподобные...
Про строб подтверждаю. В последней версии Аюши застробил ИД3 (выбор чипселекта), 6850 стал работать стабильнее.
LeoN65816
07.08.2017, 06:21
Ewgeny7, у этого процессора есть проблема с командой JMP ADR16, когда сам опкод (3 байта) находится на границе блока (256 байт). ЕМНИП, старший байт адреса считывается не правильно, так как не происходит переноса при ADR+1 и старший байт PC не обновляется, "заворачивая" адрес PC на начало блока. Быть может это справедливо ко всем трехбайтным командам с ADR16? Добавляя NOP ты смещаешь команду на 1 байт.
Вы о чем? Здесь все в норме. А глюкало проявляется на nMOS-процах при JMP (XXFF) (косвенный джамп на границе страницы).
Отсутствие 16-разрядных РОН. Я пока нуб, но не понимаю, как сделать подобное Z80 телодвижение типа LD A,(HL).
Легко! LDA (ZeroPage),Y
HardWareMan
07.08.2017, 08:23
LeoN65816, да, я запамятовал и оплошал (забыл скобки поставить). Но не буду истерить по этому поводу. Да и выяснили, что корень зла был не в нем.
LeoN65816
07.08.2017, 09:07
А что-то я не вижу описания проблемы... Видимо, Евгений почистил ветку...
HardWareMan
07.08.2017, 10:11
LeoN65816, http://zx-pk.ru/threads/25682-samodelnyj-kompyuter-na-z80-i-ne-tolko.html?p=923057&viewfull=1#post923057
Легко! LDA (ZeroPage),Y
Да это я уже выяснил, сложно было переключиться в голове на "256 регистров", а дальше - попёрло :)
- - - Добавлено - - -
А что-то я не вижу описания проблемы... Видимо, Евгений почистил ветку...
Да, убрал глюки из темы. Это была железная проблемка.
LeoN65816
07.08.2017, 14:15
Да это я уже выяснил, сложно было переключиться в голове на "256 регистров", а дальше - попёрло :)
А 816-ый еще вкуснее и гибче, ваще конфетка!
Сейчас меня бесят в 6502 еще две вещи. Арифметика с переносом онли, и отсутствие инверсии битов. Всё лечится костылями, но это - костыли...
HardWareMan
09.08.2017, 16:48
Ewgeny7, ага, иногда даже не верится, что этот "моторчик" тянет такие шедевральные игры на разных устройствах.
Сейчас меня бесят в 6502 еще две вещи. Арифметика с переносом онли, и отсутствие инверсии битов. Всё лечится костылями, но это - костыли...
только "золотой мото спасет тебя брат, истенне!!! " нет прекрасней "прелести". :) отправляем? :)
shurik-ua
10.08.2017, 01:02
сложно было переключиться в голове на "256 регистров", а дальше - попёрло
вот так вот - к хорошему привыкнешь - а потом даже от z80 будет воротить )
LeoN65816
10.08.2017, 06:45
Ewgeny7, быть может тебе будет интересно кое-что по 8008 - http://asciiexpress.net/files/docs/
LeoN65816, уже есть такие документы, спасибо! Для 8008 их реально немного, и у меня, похоже, собрана вся коллекция :)
Качаю док по 6502 по твоей ссылке, покурю. Спасибо!
- - - Добавлено - - -
отправляем?
Таки решили же полгода назад, что отправляем? А я всё на Почту России грешу... :)
Шучу!
Какие планы-то на золотой чип мотороллера? На что оно должно быть похоже?
LeoN65816, уже есть такие документы, спасибо! Для 8008 их реально немного, и у меня, похоже, собрана вся коллекция :)
Качаю док по 6502 по твоей ссылке, покурю. Спасибо!
- - - Добавлено - - -
Таки решили же полгода назад, что отправляем? А я всё на Почту России грешу... :)
Шучу!
Какие планы-то на золотой чип мотороллера? На что оно должно быть похоже?
Дык, дружище, думал сам доставлю, но не очень удачно в футбол отбегал, ножку поломал сильно, лежит твоя прелесть в коробке, скребется и все такая -Когда в Питер поедем к Женьке пиво попьем? я грит уже соскучилась:)
какую то фигню грит делает, я же золотая 16'битка, общем злиться на тебя.
HardWareMan
11.08.2017, 05:50
Ты смотри, какая прелесть! Наша прелесть!
http://savepic.net/9581405.jpg
Спасибо деду Totem'у за победу процы!
Ewgeny7, так ты еще не пробовал М68К в программировании? Как я уже писал, после него все другие, в том числе и этот ваш Z80 кажутся ущербными.
CodeMaster
11.08.2017, 06:19
Ewgeny7, так ты еще не пробовал М68К в программировании?
А это (http://zx-pk.ru/threads/25682-samodelnyj-kompyuter-na-z80-i-ne-tolko.html?p=892119&viewfull=1#post892119) не оно?
P.S. Найти пак с файлами к проекту 68К тот ещё квест ;-)
Как я уже писал, после него все другие, в том числе и этот ваш Z80 кажутся ущербными.
Чёто не особо Женя им впечатлился...
HardWareMan
11.08.2017, 07:34
CodeMaster, да, похоже он. Не понравилась ему скорость, потому как он выбрал 68008. А не полноценный 68000. В остальном он доволен (http://zx-pk.ru/threads/25682-samodelnyj-kompyuter-na-z80-i-ne-tolko.html?p=891326&viewfull=1#post891326). А по квесту находятся файлы к 6800. Предыдущий проект с OLDE экранчиком.
CodeMaster
11.08.2017, 07:58
В остальном он доволен.
"Доволен" и "в восторге" не одно и то же, а иначе с чего "Z80 покажется ущербным"? ;-)
А по квесту находятся файлы к 6800.
Вот и я этот квест до конца пройти не смог.
"Доволен" и "в восторге" не одно и то же, а иначе с чего "Z80 покажется ущербным"? ;-)
Вот и я этот квест до конца пройти не смог.
Ересь, чистой воды :), 80'ка прекрасна, но нужно сделать еще маленький шаг, могу тебя подкупить золотом:) если нужно для квеста:)
- - - Добавлено - - -
Ты смотри, какая прелесть! Наша прелесть!
Спасибо деду Totem'у за победу процы!
Ewgeny7, так ты еще не пробовал М68К в программировании? Как я уже писал, после него все другие, в том числе и этот ваш Z80 кажутся ущербными.
хехе, надеюсь, что "вирус золота" будет полезен :)
на 68000 комп типа Специалиста ?
http://s100computers.com/My%20System%20Pages/68000%20Board/68K%20CPU%20Board.htm
их дофига оказывается,
киви
https://www.ist-schlau.de/
шикарная штука кмк
Грифон
https://retrobrewcomputers.org/n8vem-pbwiki-archive/0/63038891/Gryphon68030-Rev1_1.pdf
HardWareMan
11.08.2017, 12:06
zx_, у него вообще какая-то солянка из процессоров:
http://s100computers.com/General%20Images/My%20System%202014.jpg
вот так вот - к хорошему привыкнешь - а потом даже от z80 будет воротить )
гм... к хорошему, говоришь? :)
От матов качались вековые дубы за окном, когда я в эмуляторе вычислил наконец-то, что *****й флаг С в 6502 нифига не встает при вычитании из мЕньшего числа бОльшего. Это же элементарно, флаг С отвечает за переполнение и за заем в качестве "девятого бита" в "несчастном Z80". И это удобно. Хотя бы проверять, укладывается байт в нужный диапазон или нет...
Блин, я два дня ломал моск, почему драйвер клавиатуры не работает как надо. А оно вон как. Нужно делать не BCS, а BMI, мать его так, за ногу об угол!!! :)
Ничего лучше чем Z80/180 среди восьмибиток пока не придумано, ИМХО. Ну а на широких шинах - M68k, разумеется.
Личное мнение.
- - - Добавлено - - -
общем злиться на тебя.
ууууу... а я-то тут при чем??? :)
Препарационная ждет Золотушку.
Даже ПЗУ 16-битные пять штук приехали. Чтобы по-быстрому можно было шить/проверять/стирать по кругу.
OrionExt
11.08.2017, 17:05
Ну, так кто на чем начинал. Кому Мото к сердцу прикипела, то хорошие продолжение - Motorola 68008 в цепочке 8-бит процов.
- - - Добавлено - - -
Ого, Sinclair QL, то на Motorola 68008.
Motorola 68008 в цепочке 8-бит процов
Я уже опробовал 68008. Хороший трактор, мне очень понравился, но я его таки отношу к семействам 16-битных, хоть он и с узкой шиной. Ибо 68008 - исключение из линейки 68k.
HardWareMan
11.08.2017, 17:35
Я уже опробовал 68008. Хороший трактор, мне очень понравился, но я его таки отношу к семействам 16-битных, хоть он и с узкой шиной. Ибо 68008 - исключение из линейки 68k.
Как и 8088.
Как и 8088.
Ну не. Я бы все-таки отнес 68008 к линейке 32-битных, и сравнивать нужно тогда с 386 хотя-бы. 8088 - этот да, 16-битник.
OrionExt
11.08.2017, 19:24
Шина 8-бит, все остальное возможно разниться как в случаи с Z180. А если все грамотно с нуля спроектировать, то различия не заметишь. А получишь куче плюсов. Осталось получать удовольствие:)
https://lh3.googleusercontent.com/aufiyNTyBZk8j_UrzHB6RX9b1sN7HmI6jyWr0um5L6zskiyVuR s49CAMOJlyO2Oi_mk6hwXFgHbGlQpL8AqJzsK6UTCG69VTxSdw tXax483rdrCRywM1H4u9_t_9iiaZkLagBt5GVjyn7WzAfuvaWE 21N3b2OO5nH3Osh07whbgFmU4g0AliyvbLBXM_1ymlLO0ZW_Lm moV_-Rjc7QbWVl_eb-fdcIYBUrA9tDDKm4HR7BMQFclo6oaCXUUQZEOOPoyDX2BQ6jlv 7DEJ3JsTYgU0QQg38VN9FAxxHDMLQqmLVc44bxWOhca0s5KnJJ RkEhySn0MpPMWH6UpWKW9PY5dwpbSjZzhDWeWeYjY8jlqqPVwv ITKIdbD1dTc0IwCd9wYyImc5jQx9jVv6hrE_QGkH6-WYPtVgMmfp2Lg1-UR0trpGpDfxXYjPuG9H5onIEoXWUla51KzvFvAJncgjcp-T254tQVZNl8tQWO8IMB8gAk_EONwzy6RE3_d4khrRlxNcppQjb OkaXj1LzBzhi4CWOtILMbrfXyvzwdoAakpHDtmnR8kHYKu5gyj J2SFsWPgdIGCUB9ma6LPCSe0O4ropaWVceosQ86g4TicFypPea J74F8f7smjqLiE7UNp3D5e4kaBCEKlNW3jMQlBT3H8-gBTPMPjcNtEZKdVn_yIjgg=w692-h327-no
- - - Добавлено - - -
А вообще ребята это только коммерческие продукты. Будьте проще.
- - - Добавлено - - -
Пример. MSX. ЯМАХА уже начала на этапе MSX2 под себя грести. Музыкальный – спам. Далее хуже саботаж – Видео-MSX.
Далее получаем – MSX TurboR. Это венец открытой(закрытой) платформы от 8-bit.
Чуток унесло. Не сортись.
LeoN65816
12.08.2017, 01:00
что *****й флаг С в 6502 нифига не встает при вычитании из мЕньшего числа бОльшего.
При сложении C является переносом в прямой логике.
При вычитании C является заёмом в инверсной логике. Если на входе нет заёма (C=1) и уменьшаемое больше либо равно вычитаемому, то заёма не будет (C=1), иначе заём (C=0).
А оно вон как. Нужно делать не BCS, а BMI, мать его так, за ногу об угол!!! :)
Неправильно ты, дядя Фёдор, бутерброд кушаешь... Проверку не знака (BMI/BPL), а "не-заёма" надо делать (BCC/BCS)...
HardWareMan
12.08.2017, 07:48
LeoN65816, действительно, почему он не использовал Branch C Clear/Branch C Set, которые напрямую проверяют флаг C и имеют аналоги из Z80/ВМ80?
Если на входе нет заёма (C=1) и уменьшаемое больше либо равно вычитаемому, то заёма не будет (C=1), иначе заём (C=0)
Вот то, что я и хотел услышать в качестве моральной помощи, спасибо!
У z80 логика вроде как обратная.
При сложении - то же самое, С встает при переполнении, переносе 1 в девятый разряд.
А вот при вычитании - наоборот. Если был заем из девятого разряда, то флаг С встает в единицу, а не в ноль, как у 6502.
Теперь понятно, почему при BCC код начинал работать нормально, а при BCS - глючило. Я же ожидал обратного результата :)
У z80 при ($65 минус $68) флаг С встает в единицу, сигнализируя о заеме.
- - - Добавлено - - -
действительно, почему он не использовал Branch C Clear/Branch C Set, которые напрямую проверяют флаг C и имеют аналоги из Z80/ВМ80?
Уже объяснил. Использовал. Но действие флага обратное относительно Z80 при заеме.
- - - Добавлено - - -
http://savepic.net/9606688m.png (http://savepic.net/9606688.htm)
Помимо EhBASIC к микрокомпу приучен и Microsoft OSI BASIC.
Но EhBASIC основательно понавороченней мелкомягкого, интересней.
Он и будет использован для привинчивания записи/чтения и звука нажатия клавишь.
- - - Добавлено - - -
Вопрос к ценителям 6502 как железного таракана - как проще сделать цепь начального сброса для этого процессора?
Я пробовал делать стандартную RC, меняя параметры деталек. Но нифига не выходит, приходится кнопу давить, расположенную параллельно конденсатору.
Подумываю привинтить контроллер сброса М51953, но это уже не ТЛЗ нифига...
- - - Добавлено - - -
Запаял М51953. Работает замечательно. Пусть будет так.
Схемо. (https://yadi.sk/i/4pAHg4g-3Lkywb) Файлов для повторения пока нет, проект в процессе.
Sergei Frolov
13.08.2017, 14:16
Посмотрите схему ПЭВМ АГАТ - как там сделан сброс
Вопрос к ценителям 6502 как железного таракана - как проще сделать цепь начального сброса для этого процессора?
Ну ТЛх - это раз, но моя самая любимая - ТМ2 из узла сброса "Специалиста". Заодно и по Ф2 синхрится.
как проще сделать цепь начального сброса для этого процессора?
Для 6502 нет особых требований к сигналу RESET, потому должна годиться любая традиционная схема (формирующая RESET достаточной длительности).
В отечественном клоне Apple-II, "разработанном" в одном местном НИИ в середине 80-тых сброс 6502 формируется на 1006ВИ1 - резистор 560 кОм, ёмкость 0.33 МКФ. И точно также сброс сделан в нескольких ГДР-овских компьютерах. Я применял такой сброс во всех своих конструкциях. Такой же сброс в ОРИОН-ПРО. Но вообще для формирования сброса прекрасно работает RC-цепочка, диод и КМОП-вентиль, что ничуть не хуже, чем 1006ВИ1.
Для отечественного Apple-II имею печатную плату и полный комплект схем, монтажных схем и спецификаций, как для матки, клавиатуры и БП, так и для периферийных плат (RGB, Z80-card, НГМД, доп.ОЗУ 16К, паралл.принтер, посл.интерфейс). Матка 100% совпадает с оригиналом (но в качестве слотов, могут ставиться разъёмы СНП58-64). А вот все периферийные платы переработаны на отечественную элементную базу. Это пришлось делать из-за отсутствия в стране скоростного 20-ти ногого ПЗУ 256*8, отчего пришлось его заменять на две 556РТ11.
люблю ТМ2 из узла сброса "Специалиста"
Там триггер стоит для ограничения длительности сигнала RESET. Если в системе ОЗУ не динамическое, то это не требуется.
Подрихтовал схему (https://yadi.sk/i/4pAHg4g-3Lkywb), сделал реальные сигналы I2C и узла сброса. А то уже поступали вопросы относительно странного I2C. Оно не странное, оно просто не нарисованное было :)
- - - Добавлено - - -
В отечественном клоне Apple-II, "разработанном" в одном местном НИИ в середине 80-тых сброс 6502 формируется на 1006ВИ1 - резистор 560 кОм, ёмкость 0.33 МКФ.
Говоря по-забугорному, узел сброса - одновибратор на таймере типа 555?
Интересно, но уже не буду переделывать. Но на будущее запомню способ.
LeoN65816
14.08.2017, 06:25
У z80 логика вроде как обратная.
...
При сложении - то же самое, С встает при переполнении, переносе 1 в девятый разряд.
А вот при вычитании - наоборот. Если был заем из девятого разряда, то флаг С встает в единицу, а не в ноль, как у 6502.
Теперь понятно, почему при BCC код начинал работать нормально, а при BCS - глючило. Я же ожидал обратного результата :)
У z80 при ($65 минус $68) флаг С встает в единицу, сигнализируя о заеме.
М-м-м-м... На Z80/ВМ80 лично не асмил, но, насколько знаю, и на них и на 6502 сложение работает в прямом коде, а вычитание в дополнительном коде. Ошибаюсь?
HardWareMan
14.08.2017, 07:48
LeoN65816, тут скорее в другом: у Z80/ВМ80 есть команда вычитания без учета флага переноса, которая сама устанавливает нужный флаг согласно переносу, а у 6502 таких команд нет, они все всегда учитывают перенос, который надо установить в известное состояние. А результат переноса будет соответствовать тому, сбросишь ли ты перед вычитанием флаг (CLC, после вычитания C=1 если был перенос) или установишь его (SEC, после вычитания C=0 если был перенос). ИМХО, конечно.
М-м-м-м... На Z80/ВМ80 лично не асмил, но, насколько знаю, и на них и на 6502 сложение работает в прямом коде, а вычитание в дополнительном коде. Ошибаюсь?
Отвечу просто ссылкой (http://www.wikiznanie.ru/ru-wz/index.php/Z80#F_.E2.80.94_.D0.A4.D0.BB.D0.B0.D0.B3.D0.BE.D0. B2.D1.8B.D0.B9_.D1.80.D0.B5.D0.B3.D0.B8.D1.81.D1.8 2.D1.80).
И вот конкретный кусок -
"CY — флаг переноса. Самый часто используемый флаг. Арифметические операции его устанавливают при появлении переноса или займа из старшего разряда. Операции сдвига в него помещают выдвинутый разряд. Его также можно вручную установить операцией SCF, инвертировать операцией CCF или сбросить любой логической операцией. Его использует множество различных инструкций: инструкции сложения и вычитания (ADC, SBC) с переносом берут его в качестве переноса или займа в младший разряд, он учитывается в десятичной коррекции (DAA), он вдвигается в результат при вращении с переносом, а также он влияет на исполнение условных инструкций с кодами условий C и NC. "
- - - Добавлено - - -
Я для Z80 периодически что-то пишу на асме, поэтому и ступор такой случился с 6502 с этим флагом С. Он на вычитании работает наоборот. Если было вычитание с заемом, то выставляется флаг С (Z80). Тогда при следующем вычитании с учетом переноса эта единица будет дополнительно вычтена из результата, так достигается верность вычислений.
Error404
14.08.2017, 12:58
Даже ПЗУ 16-битные пять штук приехали. Чтобы по-быстрому можно было шить/проверять/стирать по кругу.
А чем ты шьешь 16-битные ПЗУ? А то у меня есть пара штук M27C322 (2048х16), хочу из такой ПЗУ ROM-диск для Ориона слепить - при помощи двух КП11 сделать из одной 2Mх16 одну же, но 4Mх8бит (коммутируя слово пополам, т.к. 27C322 "искаропки" этого не умеют в отличие от более дефицитных 27C320).
Вот есть у меня программатор Willem, 8битные шьет прекрасно, интересно как им такое 16-битное шить?
А чем ты шьешь 16-битные ПЗУ?
TL-866 за 2000 рэ на Али.
Это просто песня за такие деньги.
CodeMaster
14.08.2017, 15:34
Вот есть у меня программатор Willem, 8битные шьет прекрасно, интересно как им такое 16-битное шить?
Даже Яндекс по подстроке "16-ти битный адаптер для Willem" ведёт на наш форум (http://zx-pk.ru/threads/13228-nuzhny-skhemy-perekhodnikov-dlya-willem-4-0-lt-gt-4-5.html)
TomaTLAB
15.08.2017, 00:28
В настоящее время в проект впихивается BASIC, причем - весьма успешно. Как-нибудь выложу файлы.
А поделитесь?
LeoN65816
15.08.2017, 07:14
Начинал асмить с 6502. Два десятка лет назад немного асмил для 8086 (не помню, чтобы работал с переносом и заёмом). Довольно много асмил для PIC18/24/dsPIC30/33, в них такая же кухня с переносом/не-заёмом, поэтому до нынешнего времени и считал, что это общепринятая "аксиома"...
Посмотрел в Z80 и 8086: заём в прямой логике... Прям как откровение... ;)
А поделитесь?
С удовольствием. Только какой проект? Их тут девять штук, не считая микрокомпа от топикстартера :)
- - - Добавлено - - -
LeoN65816, век учись, все равно удивленным помрешь :)
TomaTLAB
15.08.2017, 12:16
Ну, собственно, тот откуда цитата. :) На 85-ом который.
Я правда раскопал TinyBASIC, вроде как оригинальный, версий 1 и 2.
Оказалось не так и просто найти...
То дисковый под CP/M попадается, то под 51-й, AVR и прочие ардуины.
Но Вашу реализацию интересно было бы глянуть, для общего развития, так сказать :)
Хочу его на плату от принтера СМ6337 поселить, забавная штука. Имеет 2шт. ВИ53, ВВ51, ВН59 и ни одного ВВ55, все на триггерах и регистрах :)
Ну, собственно, тот откуда цитата.
Пилят, я таки помню все свои цитаты, время их произнесения и приложенные интонации! :)
Nascom BASIC 32k for 8085 (https://yadi.sk/d/NTkhEnx13M2XXn), там слегка перепахано под мою платку с экзотическим дисплеем, вроде как. Деталей не помню, давно это было.
- - - Добавлено - - -
ТиниВАСИК тоже прекрасен, но сильно прост интегерами. Но как музейный экспонат - тоже ценю :)
Допилил звук. Однобитный баззер. Угадайте, куда он прицеплен, если все порты заняты, а новый не воткнуть? :)
Правильный ответ на схеме.
Пак файлов по микрокомпу (https://yadi.sk/d/SDME-BLE3M4S5Z).
TTX:
Процессор - WDC65C02 на 3,686МГц.
Последовательный интерфейс - MC68B50, на 1,228МГц клока. (B000..B001h)
Память - 32кб ОЗУ (0..7FFFh), 16кб ПЗУ (C000..FFFFh).
Матричная клавиатура, 5х4, порт A000h.
Флеш-память - 24С16(512).
Размеры компа - 7х5х3 см :)
Софт - Enhanced BASIC v2.22, OSI Microsoft BASIC v1.1.
Звук - однобитный.
Видео - терминал 40х25 PAL ТВ, ч/б.
https://d.radikal.ru/d27/1802/5d/ca1ad404cb0c.jpg (https://radikal.ru)
Девятый комп в принципе готов.
Можно начинать Конец Света :)
А работа над компом продолжается. Сделан только запланированный минимум.
Ожидается.... вакуумно-люминесцентный дисплей и часы реального времени!
UPD. ВЛИ с часами сделаны дополнительным этажем.
65C02, якобы, один из самых быстрых микропроцессоров из 40-ка ногих DIP. Имея работающее изделие с быстрым ОЗУ/ПЗУ и неперегруженной шиной, можно попробовать такт повыше, удвоив частоту кварца, затем утроив и так до 25 МГЦ. А ещё можно просто заменить 65C02 на 65C802 и получить тем самым в этом же изделии кроме 8-ми разрядного и 16-ти разрядный процессор и разобраться и с его программированием (но купить 65C802 сложно).
А почему все разработчики CPU обязательно выпускали их не по одному, а целым семейством? Например, и в семействе 6800 и 6500 есть БИС для параллельного интерфейса и точно известно, что в 6500 можно использовать периферию от 6800 и наоборот. В каждом семействе - БИС одного и того же назначения. Т.е, если уже есть аналогичный и совместимый кристалл у конкурентов, то выпуск своего аналога - это лишний расход потенциала разработчиков. Непонятно почему необходимо использовать периферию именно из данного семейства? Почему в системе 6502 не используют ВВ55, ВВ51 или 4-х канальный Z80CTC. Есть для этого какие-то технические препятствия? Или это просто не принято из политических соображений? Изделий, где бы было смешение БИС из разных серий не наблюдается. Почему? Например, если 6502 применить в РК86, то не вижу препятствий для использования имеющегося ВВ55 для опроса клавиатуры.
Для простой гуделки порт вывода необязателен, достаточно чип-селекта (+ диод и ёмкость) и даже необязательно именно на запись. Такой трюк позволяет с'экономить порт в простейшем контроллере, хотя в реальном контроллере ВВ55 обычно имеется.
LeoN65816
16.08.2017, 18:48
65C02, якобы, один из самых быстрых микропроцессоров из 40-ка ногих DIP.Объективный факт! (http://forum.6502.org/viewtopic.php?f=4&t=186&start=105#p50721)
Почему в системе 6502 не используют ВВ55, ВВ51 или 4-х канальный Z80CTC. Есть для этого какие-то технические препятствия? Или это просто не принято из политических соображений? Изделий, где бы было смешение БИС из разных серий не наблюдается. Почему?
Например, АГАТ:
Ячейка последовательного и параллельного интерфейса. ФГ3.089.106 Э3. ВВ55А + ВВ51 (http://agatcomp.ru/Images/new_IO.shtml).
Ячейка контроллера НГМД. ЯБ3.089.023 Э3. 2хВВ55А (http://agatcomp.ru/Images/new_fl_ctrl.shtml).
Ячейка звукосинтеза 5/2, ячейка аналогового ввода и адаптер MIDI. 2хВИ53, ВВ55А + ВИ53 + ВВ51 (http://agatcomp.ru/Images/new_sound.shtml).
Ячейки сетевых карт. ВВ51, ВИ53 + ВВ51 (http://agatcomp.ru/Images/new_net.shtml).
Мультикарта. ВИ53 + ВВ51 (http://agatcomp.ru/Images/new_misc.shtml).
TomaTLAB
16.08.2017, 20:21
Например, АГАТ: Я полагаю barsik подразумевает буржуинских разработчиков.
Наши советские сумрачные гении могли и ежа с ужом скрестить. По большому счету из-за того, что кроме ужей и ежей под рукой другого не было.
А у буржуев всякие "корпоративные правила" ничуть не хуже "плановой экономики" могут фортели выкидывать, выглядящие со стороны форменным идиотизмом.
полагаю barsik подразумевает буржуинских разработчиков
Точно. Просто забыл, что в СССР тоже был компьютер на 6502. У отечественных разработчиков не было выбора, т.к не только периферийных БИС семейства 6500 или 6800 не производилось, но и самого CPU также не производилось. Странно, что АГАТ вообще разрешили к производству.
Не зная о конструкциях, где 6502/6802 работает на периферию КР580, я опасался, что есть какие-то нюансы, о которых мне не известно, что мешают этому. А искать 6522, а также периферию для 6802, не хотелось.
Получается, что слово "ячейка" это как бы синоним иностранному слову "card" обозначающему внешнюю плату с врубным разъёмом втыкаемую в слот. Похоже это слово не прижилось. Обычно говорят "периферийная плата".
LeoN65816
16.08.2017, 21:33
БИС с Intel-интерфейсом прекрасно сопрягаются с ЦП с Motorola-интерфейсом. БИС с Motorola-интерфейсом также прекрасно сопрягаются с ЦП с Intel-интерфейсом. No problems.
Не зная о конструкциях, где 6502/6802 работает на периферию КР580
Касаемо промышленных, то да, о таких мало известно. Но проблем по сращиванию 6502 с периферией 580 нет (http://www.qsl.net/rw6hrm/html/6502.htm). А вот наоборот, прилепить периферию 65хх/68хх к 8080/Z80, мне точно нигде не попадалось. LeoN65816 (http://zx-pk.ru/members/7782-leon65816.html) , поделитесь плз ссылочками, можно в личку, чтоб тут не оффтопить.
А вот наоборот, прилепить периферию 65хх/68хх к 8080/Z80
Тоже не проблема. И я лепил тоже в обе стороны. И Grant Searle (http://zx80.netai.net/grant/z80/SimpleZ80.html) :)
оу..., не досмотрел чота... Ну теперь есть повод использовать 6522 на всю катушку вместо ВВ55.
Ну теперь есть повод использовать 6522 на всю катушку вместо ВВ55
Кстати, 6522 только вчера приехал из чайналэнда. Думаю насчет привинчивания его к конфигу часов на 6502.
50 оттенков серого... карбона :)
http://savepic.net/9723341.jpg
Небольшое отвлечение на микрокомп с МС6800Р на борту.
http://savepic.net/9753855.jpg
Давно собирался допилить Бейсик для этого компа.
Еще не доделал правильный скроллинг для микродисплея, но это дело времени.
И сам дисплей надо заменить на монохром белый. Желтые две строчки Бейсик не красят.
TomaTLAB
20.08.2017, 13:33
Еще не доделал правильный скроллинг
Эти OLED'ы хороши тем, что в них можно сначала загрузить данные, а потом обновить разом изображение, "фликера" нет.
Синий цвет мне у них понравился, такого, "вакуумного" оттенка :) Фото плохо передает, живьем гораздо красивше.
Евгений, не помните навскидку, тини-васик где проверяет диапазон значений когда получает непосредственный аргумент?
В TSTNUM или уже в калькуляторе? Никак не допетрю почему нельзя -32768 ввести, а -32767-1 можно :)
Вроде как-то должно быть связано с тем, что он отрицательные числа скармливает калькулятору как "ноль минус число"...
Евгений, не помните навскидку, тини-васик где проверяет диапазон значений когда получает непосредственный аргумент?
Туда я не лазил, поскольку для портирования это не требуется. Ковырял только процедуры непосредственно ввода/вывода, формирования вывода, заполнение буфера строки, парсинг строки. Это нужно было для привинчивания своей клавиатуры и формирования вывода так, как мне нужно. В NascomBASIC лазил посерьезней, привинчивал свои процедуры, но он уже совсем другой.
- - - Добавлено - - -
Эти OLED'ы хороши тем, что в них можно сначала загрузить данные, а потом обновить разом изображение, "фликера" нет.
Я пока не успел как следует раскурить тему, но увидел видео, где сделан вертикальный скроллинг. Сие меня удивило, ибо в свое время я не нашел такой аппаратной возможности.
Каждый раз кидать в память дисплея содержимое всего экрана минус первая строка - очевидное решение скроллинга, но - медленно.
У тебя нет полезной информации по этому вопросу?
Может там можно тупо переназначать начальный адрес вывода, закольцевав его?
TomaTLAB
20.08.2017, 14:56
Я покопаю еще вечером либы для "дуньки", может найду чего, откомментированное.
А так вот для раскуривания: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
Бегло глянул - скролл точно есть. Причем, судя по всему, весьма продвинутый.
Я помню, что скроллы там есть аппаратные по горизонтали и по диагонали. Но при этом сделать перемещение только по вертикали было низзя....
Спасибо, раскурю тему еще раз.
TomaTLAB
20.08.2017, 16:17
Навскидку это вот здесь:
10.1.15 Set Display Offset (D3h)
This is a double byte command. The second command specifies the mapping of the display start line to one of
COM0~COM63 (assuming that COM0 is the display start line then the display start line register is equal to 0).
For example, to move the COM16 towards the COM0 direction by 16 lines the 6-bit data in the second byte
should be given as 010000b. To move in the opposite direction by 16 lines the 6-bit data should be given by
64 – 16, so the second byte would be 100000b. The following two tables (Table 10-1, Table 10-2) show the
example of setting the command C0h/C8h and D3h.
Судя по таблице ниже, вроде бы то, что нужно.
Да, навскидку похоже на оно. Отступ в адресации строк. Можно плавно, можно сразу текстовыми строками. Попробую, как снова до платы доберусь.
Попробую, как снова до платы доберусь.
Попробовал.
Скролл работает.
Пришлось остатки мозгов изрядно погонять по черепушке, чтобы совместить позиции текущего вывода и переключения строк скроллинга. Не сразу улеглось.
Теперь осталось сделать обработку символа 'back space' для драйвера дисплейчика, и сохранение/чтение программы на бейсике в EPROM.
Апдейт микрокомпа на 6502.
Привинчена флешка 24С512, сделаны 4 слота для сохранения/загрузки.
И почти собрана платка "третьего этажа" с ВЛИ. Будут часики. Думаю, что работать будут на прерываниях, параллельно с Бейсиком.
А пока вот так :)
https://youtu.be/q84xEtDPuLU
TomaTLAB
30.08.2017, 13:28
А я тут поселил на свой "принтер" (плата от МС6337) Nascom BASIC и целый вечер голову ломал, почему команда LIST не работает:v2_dizzy_stupid:
Все вроде работает, а лист - никак.
А там оказалось, что для декремента HL использовали, зачем то ADC HL, DE (DE=-1), которой у 8080 естественно нет, а на перенос там вроде бы накласть.
Заменил на ADD HL, DE (которыя DAD D в нотации 8080) - заработало :)
TL-866 за 2000 рэ на Али. Это просто песня за такие деньги.
А траблу с прошивкой GAL'ок больше 16V8 еще не забодали? А то я тут сунул 22v10, а хрен там...
А траблу с прошивкой GAL'ок больше 16V8 еще не забодали?
А можно подробнее? А то я с самого начала шью 16V8 и не наблюдаю траблов. 20V8 и 22V10 так же шьются прекрасно. Напругу только 13,5 для всех галок ставлю вместо 16-ти.
поселил на свой "принтер" (плата от МС6337) Nascom BASIC
И про это папа дробнее плз ;), а то лежит такой же принтер...
TomaTLAB
30.08.2017, 16:47
А можно подробнее? А то я с самого начала шью 16V8 и не наблюдаю траблов. 20V8 и 22V10 так же шьются прекрасно. Напругу только 13,5 для всех галок ставлю вместо 16-ти.
А какая версия софта и фирмвари? А трабла в том, что прошиваются только 32бита, потом пропуск забитый единицами, потом опять 32 бита прошиты, пропуск и т.д.
Буржуи писали, в старых версиях вроде как обходили многократной прошивкой без стирания и верификации, а в новых окончательно доломали и никак не шьется. Я еще сдуру обновился до последней.
Не понятно, правда, это проблема клонов или оригинал такой же...
И про это папа дробнее плз ;), а то лежит такой же принтер...
А там все просто. Изначально у него 3 панельки под РФ6 и 3шт. РУ10, т.е. 48кБ 24кБ ПЗУ конечно же и 6кБ ОЗУ.
С ВВ51 выкинул RX/TX в ТТЛ на USB переходник.
Сначала в одну панельку просто воткнул W27C512 и завел там тини васик.
Потом немного поэМГТФил и в одной сделал выборку младшими 32кБ, а в другой (третьей, так удобнее оказалось) старшими, на нее /memWR завел и туда 62256 воткнул.
Туда теперь наском поселяю.
На борту два ВИ53, ВВ51, ВН59. Два порта: на ввод и на вывод на ИР82-х и кучка диких триггеров :)
какая версия софта и фирмвари?
Самая свежая, разумеется. У меня всё шьется без граблей. и на предыдущих тоже шилось нормально. Напругу убери.... Для галок нормальная 12-14.
TomaTLAB
30.08.2017, 19:09
Не взлетело. :v2_confu: Понижал даже до 10, стало шиться со сбоями, но только те же 32-х битные участки. Т.е. явно какой то софтовый глюк.
Не взлетело
Странно это.
У меня все поделки сделаны на галках, без проблем.
И на форуме поддержки каком-то украинском ни слова о проблемах с галками.
Наверное, первые в мире часы на 6502 под управлением интерпретатора Бейсика :)
Микросхема часов - DS3231, по I2C передает данные на микрокомп, а так же секундные импульсы с нее вызывают прерывание NMI процессора, он обновляет данные в ячейках ОЗУ компа, откуда уже Барсик забирает данные, форматирует и по циферке выплевывает в ВЛИ, обеспечивая ДИНАМИЧЕСКУЮ индикацию.
Во, блин, как... Сам офигел, когда заработало :)
http://savepic.net/9811483m.jpg (http://savepic.net/9811483.htm)
Как водится, на фотке индикатор смотрится никак, "засвечен". В реале лучше.
Больше оверинжиниринга, MOAR !
https://www.youtube.com/watch?v=GvnEBX9aedY
HardWareMan
31.08.2017, 17:15
Как водится, на фотке индикатор смотрится никак, "засвечен". В реале лучше.
Дык, темное зеленое стеклышко требуется же. А лучше - фиолетовобордовое, тогда индикатор становится песочным.
http://photos.streamphoto.ru/d/5/8/aff53d08db7cc645a1a2ce563e30585d.jpg
Больше оверинжиниринга, MOAR !
Добавлю, что уже по традиции у 6502 снова находятся вещи "не как у всех". У него даже включение/выключение прерываний сделано наоборот. Сбрасываем флаг (CLI) - включается. Устанавливаем флаг (SEI) - выключается. Млин...
- - - Добавлено - - -
Дык, темное зеленое стеклышко требуется же
Дык, адрес почтовый мой дать могу, для стеклышка красивого! (С)Йода
TomaTLAB
31.08.2017, 18:06
Как решение "из желудей и пластилина" можно откромсать от пластиковой бутылки из-под пива или спрайта какого.
Тонировочная пленка для авто, если где-то еще остались обрезки.
Или, как вариант, есть полупрозрачный оракал (пленка-самоклейка для рекламщиков). Правда, он мутноватый на просвет.
Еще у тех же рекламщиков есть темный прозрачный акрил, они его называют "дымчатый".
TomaTLAB
31.08.2017, 19:47
Очередное из серии "когда коту делать нечего" :)
http://savepic.net/9806409m.jpg (http://savepic.net/9806409.htm)
http://savepic.net/9828937m.jpg (http://savepic.net/9828937.htm)
http://savepic.net/9793097m.jpg (http://savepic.net/9793097.htm)
TomaTLAB, не видно ни черта :(
Взял отпуск от мотороллеровских изделий.
Снова сел за интелы. Сейчас допиливаю Барсик для 8085, раз тут за него тоже взялись :)
Смотрю на свой старый код и ужасаюсь... Переписываю срочно!
TomaTLAB
31.08.2017, 21:48
Поправил
CodeMaster
31.08.2017, 22:11
TomaTLAB, не видно ни черта
Да, что там смотреть - классика жанра, принтер вместо монитора ;-)
TomaTLAB
31.08.2017, 22:24
Здесь особый цинизм. Принтер вместо монитора у "компьютера" сделанного из принтера :v2_dizzy_biggrin2:
HardWareMan
01.09.2017, 05:51
Пусть медленно, зато аппаратный лог. Впрочем, его можно перенаправить в /dev/null, как это было сделано в Half Life 2: там все принтеры печатали в мусорку. :)
Афффигенный микропринтер!!! Хачу такой же! Для i4004! :)
TomaTLAB
01.09.2017, 08:06
Сейчас же вроде очередной кипеш с ККМ (...меняяяаааем старые лампы кассы на новые!), поэтому есть повышенная вероятность найти старую ККМ занедорого.
Пусть медленно, зато аппаратный лог.
Да эти принтеры печатают быстрее, чем васик успевает символы выводить :) Он чуть ли не полметра ленты за секунду выплевывает.
А вот ленту 57мм я еле нашел, у всех знакомых кто, с кассой дело имеет лента 80мм. А из-за пары копеечных роликов, просто влом лишний раз шевелиться.
Случайно обнаружил у нас на складе упаковку слегка подмокших. Откуда они взялись на производстве (металлообработка) - тайна сия велика есть :)
HardWareMan
01.09.2017, 10:02
Да эти принтеры печатают быстрее, чем васик успевает символы выводить :) Он чуть ли не полметра ленты за секунду выплевывает.
Одно дело выстрелить отрезанный чек, другое дело прожечь термобумажку. Имея дело с банкоматами, я знаю о чем говорю. Кстати, там принтеры тоже умные, управляя только одной кнопкой можно конфигурировать на любые параметры. Правда, бумаги при этом истратишь прилично. :)
CodeMaster
01.09.2017, 10:13
Афффигенный микропринтер!!! Хачу такой же! Для i4004!
Комп же будет без клавиатуры, команды и данные водятся переключателями с пульта? Тогда да, самое оно.
В идеале бы сделать ещё статический считыватель перфокарт (например с матрицей 10x5 с контролем чётности) на LED и фотоэлементах ;-)
https://vk.com/doc117527293_450082833 а вот вам цифровой магнитофончик для 8008 ;) У нас почему-то такого не использовалось. Ломать кассетники жалко было?
Испытывал. На микрокассету без проблем писалось 2400, 4800 с редкими ошибками. На стандартную кассету 4800 запросто, 9600 с редкими ошибками (на качественную кассету без ошибок). На катушку 19 см/сек 19200 вполне нормально, 14400 запросто. Аналогу такое не снилось.
TomaTLAB
01.09.2017, 12:03
... другое дело прожечь термобумажку.
Ну да, эт я погорячился :) 640 знаков/сек макс. этот печатает (40зн./стр.) или 15 строк/сек., или ~50мм/сек. Может и пошустрее есть, хотя вряд-ли, из них наверно уже давно все, что можно выжали.
У девочек на почте Z-отчеты многометровые довольно лихо печатаются. Правда, наверно, из-за того что они "рыхлые" довольно.
Ну, у меня сейчас тоже неплохо печатает :)
https://youtu.be/FJURcU6Xh0s
OrionExt
01.09.2017, 16:08
TomaTLAB, а сколько принтер выдает символов в одной строке?
Термо-принтеры таки намного пошустрее матричных работают. Вот только жаль их работа на долго не сохраняется в твердой копии.
TomaTLAB
01.09.2017, 18:44
58-ми миллиметровый 40 или 42 символа, вполне читаемых. Матрица символа 9х24. А вообще у него в строке 384 точки.
Соответст. в графическом режиме можно до 64 еще хоть как то читаемых символов (6х10 скажем) вывести.
OrionExt
01.09.2017, 19:03
Круть. Это же …. Я потом покажу фотку(надо найти), как на школьниках ресурс принтера (и ленты) экономили (это почти чек в магазине).
Так это принтер для MSX :)
Возвратился на день к интеловскому 8008. Несмотря на всю его убогость, стало так уютно и классно в его архитектуре и системе команд... по сравнению с моторолами :)
Добавил туда часы DS1307 и сохранение AT24C512.
Пак обновлен (https://yadi.sk/d/2wbI6BjU3MZhLe).
http://savepic.net/9864553m.jpg (http://savepic.net/9864553.htm)
Ну да, восьмиричная. Перепутал -) . Не знаю, спроси у местных инопланетян в разделе ДВК. Они шарят, а я боюсь.
Я на секундочку вклинюсь, вспомня Z80 и его обвеску, а то вот только сегодня озарило...
Многим нравится конструкция Гранта Сирла на Z80 с СР/М, и многие же просто облизывались, не имея возможности приобрести двухканальный Z80-SIO. А этот чип, оказывается, самым гнусным образом выкидывался у нас в 90-2К годах на свалки. Вспомните няшные немецкие принтеры Роботрон. Вспомните, сколько интерфейсов С2/V24 или ИРПС было заменено на ИРПР/Центроникс и куда были засунуты первые. А ведь они содержали чип U856, который полностью аналогичен SIO (за исключением тактовой частоты). Ну и в самом принтере было много чего полезного (для тех же пакетных контроллеров)...
Поэтому просто оставлю маленькую табличку аналогов немецких чипов для молодёжи, поскольку старики и так в курсе, а чипы внезапно могут и попасть под руки...
U880 - Z80
U856 - Z80-SIO
U855 - Z80-PIO
U857 - Z80-CTC
U858 - Z80-DMA
U82536 - Z8536-CIO
U214, U2148 - К541РУ2
U808D - Intel 8008
U881 - Z8
U202 - К565РУ2
U215 - КР132РУ3
U256 - К565РУ3
U2164 - К565РУ5
Для первых шести позиций UAххх - тактовая частота 4 МГц, UBххх - тактовая 2,5 МГц, VBххх - тактовая 2,5 МГц, c расширенным температурным диапазоном.
TomaTLAB
05.09.2017, 23:57
табличку аналогов немецких чипов Прямо-таки подводный флот кригсмарине :)
Спрошу у народа, правда, вообще без надежды на успех - откомментированные сорцы Microsoft BASIC-86, любой версии? В принципе, интересует вообще любой терминальный Бейсик для 8086/8088, в виде исходников для перепахивания бульдозером. В сетях попался только любительская переделка ТиниБейсика, она и работает сейчас на плате миникомпа с 8088. Но хочется посолиднее софтинку.
- - - Добавлено - - -
Обновлены паки для 8008, 8085, 68k.
Для 68к наконец-то нарисована принципиальная схема.
Для всех перечисленных микрокомпов допилены часы с индикацией при старте, сделаны сохранения на мои любимые "магнитофончики" 24С512.
В процессе апгрейда также находится 6800. Туда запилен БиллиГейцовый Бейсик, на крошечном экранчике он смотрится более чем прикольно :)
Но внезапная смерть сигнала RW с процессора отодвинула релиз на время прилета новых процев.
Ну и как там PDP то себя чувствует? Или закопали от греха подальше? -)
Не, не совсем понятно как оно там себя чувствует, но пришла волна смены настроения. Попросту говоря - сменил в 100500 раз интерес к конкретному направлению.
Вот уже и МС6809 приехал, закинут на полку.
Сделал на ПЛИСе комп чехословацкий PMD-85.2. На ПЛИСах его еще вроде как не делали, не нашел готовых проектов.
Сорцы отдал двум "хранителям" сайта о PMD-85.
Сейчас вернулся к вакуумно-люминесцентным индикаторам и микроконтроллерам, поковыряюсь с ними, а там может снова пойдут "бейсик-калькуляторы на процессорах", кто знает... Чуть позже еще и SPI-дисплейчик должен подъехать для микрокомпа на 6809.
Всё это - хобби, и заниматься им надо для удовольствия, переключаясь :)
Ewgeny7, такой собирал?
Nibbler (https://geektimes.ru/post/258224/) — компьютер из 17 микросхем. С дискретным TTL процессором
https://www.youtube.com/watch?time_continue=2&v=wnw4dskEmd4
shurik-ua
30.11.2017, 02:20
Спрошу у народа, правда, вообще без надежды на успех - откомментированные сорцы Microsoft BASIC-86, любой версии?
Сырки наверное врядли найдёшь, но мне кажется что это и не нужно - я так понял тебе нужно чтоб экзешник был по удобным тебе адресам и только - можно попробовать в IDA поколдовать над первыми версиями QuickBasic'a или ещё чего подревнее.
Альтаир-Бейсик вообще весил 4кБ - за вечер можно наколдовать исходник из него )
такой собирал?
Нет. Я свои собираю, так оно интересней.
Спасибо за ссыль, как только народ не извращается! Интересная машинка.
- - - Добавлено - - -
я так понял тебе нужно чтоб экзешник был по удобным тебе адресам и только - можно попробовать в IDA поколдовать над первыми версиями QuickBasic'a или ещё чего подревнее.
Мне нужно под свое железо софтинку притягивать.
И главное - софт должен быть "терминальным", то есть работать не с графическим экраном, а вести общение через последовательный порт. Поэтому Квики отпадают сразу.
Упомянутый Бейсик-86 годен для вписки, после некоторого шаманства. Но я не настолько крут, чтобы править raw bin под Идой....
Альтаир к сожалению под x86 не делался. Так бы вполне устроил.
LeoN65816
01.12.2017, 21:41
Ewgeny7, про Бейсик-86 что-то тут (http://www.phantom.sannata.ru/forum/index.php?t=27631) есть.
Как вариант -
63148
В исходниках, на С. IMHO, для 8086 это не сильно критично.
про Бейсик-86 что-то тут есть.
Там имаджи с запускаемыми файлами, к сожалению. Полазил по дискам, сырков не нашел :(
- - - Добавлено - - -
A_AVL, ковыряю файлики, спасибо!
Десятый микрокомп с бейсиком на борту.
На этот раз центральным процессором негритосит MC6809.
На этом мотороловская линейка процессоров объявляется закрытой.
Проект еще в полном трудов разгаре, драйвер дисплея пока чуть живой, пилится.
https://b.radikal.ru/b21/1801/65/bf1799df29b6t.jpg (https://b.radikal.ru/b21/1801/65/bf1799df29b6.jpg)
Дисплей - JLX12864G из великой чайной страны. Дисплей весьма понравился, кстати.
Подсветка очень яркая, поэтому фото не очень получилось.
Работает по SPI, который и был реализован программно, связкой МС6809+82С55.
Кто-то кстати недавно интересовался, как себя чувствуют при совместной работе чипсеты интела и моторолы.
Прекрасно чувствуют. Просто добавь GALку :)
Клавиатура - традиционная механика, 4х5 кнопок.
В компике вкошачен Экстендед Бейсик для 6809 бай Микрософт, аж 1982 года выпуска.
Добавлен звук и сохранение/загрузка программ. По традиции - по I2C на 24С512.
Будет дополнительно перепахиваться под мои хотелки. Ассемблер МС6809 - прекрасен!
Файлы будут еще не скоро.
CodeMaster
20.01.2018, 00:36
Ну и как там PDP то себя чувствует?
Оставлю на всякий случай инфу здесь (может понадобится, как вернётся волна) : (по слухам, которым ИМХО можно верить, но не доходят руки проверить) адреса (ну и данные само собой) прошивки ПЗУ для ВМ1 можно инвертировать в Sterh Chip Studio.
прошивки ПЗУ для ВМ1 можно инвертировать в Sterh Chip Studio.
WinHEX прекрасно инвертирует.
- - - Добавлено - - -
https://www.youtube.com/watch?v=hVnXg0skio8
CodeMaster
20.01.2018, 21:50
WinHEX прекрасно инвертирует.
И адреса? То ли у меня версия старая, то ли я в английском не силён, но где это там?
И адреса? То ли у меня версия старая, то ли я в английском не силён, но где это там?
Нет, только данные. Адреса инвертирую инверторами, 580ИР83.
CodeMaster
20.01.2018, 22:09
Адреса инвертирую инверторами, 580ИР83.
Ааа, понятно, я что-то подумал, что ты минимумом хотел обойтись, только обычным ПЗУ.
HardWareMan
20.01.2018, 22:09
Ewgeny7, наконец-то что-то новое!
HardWareMan, долго дисплей ждал, а ебей подвел. Посылка с дисплеем так и не приехала, ждал долго. Заказал на Али, когда надежду потерял совсем.
С али приехало быстро, с трекером. Больше я на ебей ни ногой.
Далее буду продолжать мудрить с 1801ВМ1. Остальные процессоры я уже все переделал... :)
coreofbear
24.01.2018, 10:44
Товарищи, я хочу попробовать собрать какой нибудь простейший компьютер на z80. Какие ram и rom микросхемы можно использовать и есть ли разница?
ТоварищЪ, а что есть в наличии?
coreofbear
24.01.2018, 13:56
Totem, Пока что ничего) Но есть доступ к школьной кладовке, где лежат списанные старые компы (даже одна БК-шка была). Может из этих компов что-то можно взять?
Totem, Пока что ничего) Но есть доступ к школьной кладовке, где лежат списанные старые компы (даже одна БК-шка была). Может из этих компов что-то можно взять?
COMPUTERS SAYS NO!
никому не говори, что в кладовке! фотки срочно мне в личку, :)
посмотри, что есть. Не дербань раритеты! посмотри, что есть, составь список, сделай фотки. Потом на барахолке выставишь народное достояние, как минимум.
http://zx-pk.com/forum/
или поменяешь ,на что нужно, если нет деталек.
coreofbear
24.01.2018, 19:54
Totem, ну естественно из БК-шки я ничего не таскал) Она у меня лежит до лучших времен, хочу отремонтировать ее. Так вот про память. Как я понимаю, с SRAM удобнее работать? А в качестве ПЗУ что использовать? На чип и дипе есть flash в DIP корпусе, ее, наверное, можно?
Totem, ну естественно из БК-шки я ничего не таскал) Она у меня лежит до лучших времен, хочу отремонтировать ее. Так вот про память. Как я понимаю, с SRAM удобнее работать? А в качестве ПЗУ что использовать? На чип и дипе есть flash в DIP корпусе, ее, наверное, можно?
любой убитой старой матери можно забрать ПЗУ, программатор естественно нужен,sram с 486, P1, логику в барахолке можно приобресть,
мелочевку в каком нить интренет магазине, если нет магаза в городе.
можно и на ebay, ali, заказать. Вообщем вариантов по цене и времени доставки, сейчас вагон и маленькая тележка.
coreofbear
24.01.2018, 21:11
Totem, они там в DIP? А важно какая именно sram или ПЗУ?
Остальные процессоры я уже все переделал... :)
z8000
8x300
TMS9900
mcs-48 (mcs-51)
65816
ПЗУ смотри серий 28, 29 или 39. Они перешиваются прямо в программаторе. Что-то типа 29F010 или подобно.
Если будешь использовать 29 или 39, то можно вместо программатора слепить флешер (http://zx-pk.ru/threads/3947-programmator-flash.html), на одной АТМега8515.
СРАМина годится любая. На старых матерях они бывали в дипах, типа 61256, 71256, 61512 и так далее.
Простейший комп без клавиатуры и дисплея можно слепить по мотивам схем Grant Searle (http://zx80.netai.net/grant/z80/SimpleZ80.html).
- - - Добавлено - - -
z8000
8x300
TMS9900
mcs-48 (mcs-51)
65816
Это не кошерно. Тем более нечто микроконтроллерное, или ваще TMS! Это не из нашей оперы :)
coreofbear
26.01.2018, 20:49
А вообще какой бы вы процессор посоветовали? 6502, 8080 или Z80 для первых самоделок?
А вообще какой бы вы процессор посоветовали? 6502, 8080 или Z80 для первых самоделок?
раз вопрос ставится так, то и ответ однозначный-выбирай любой. Самое простое, z80/80.
Станет скучно- в арсенале "моторола и зилог", всегда найдется CPU.
6502 -ну сам посмотри, сколько и какие есть компы и самоделки.
coreofbear
29.01.2018, 19:14
Господа, на что можно заменить 68b50 на этой схеме? Уж больно она редкая и дорогая.
https://i.imgur.com/hkS0Ian.gif
HardWareMan
29.01.2018, 19:51
На 8251, лол. Или 16550. Если найдешь в дискрете.
Serios Sam
29.01.2018, 20:09
Наша 580ВИ51 или ее зарубежный прародитель 8251, как правильно сказал форумчанин HardWareMan. Кроме того, на старых платах матричных принтеров встречал аналоги производства стран - членов СЭВ ( болгары вроде ).
P.S. Правильное название микросхемы - MC68B50, так как на запрос 68В50 Яндекс выдает ссылку на: 68В50 Lauma - трусы, классическая модель из эластичного полотна. Украшены оригинальным цветным рисунком.
На 8251, лол. Или 16550. Если найдешь в дискрете.
или Z80 SIO, с правкой схемы. ежли че у меня есть.
coreofbear,
http://searle.hostei.com/grant/cpm/CPMSchematic1.2.gif
16550
спроси у Mick, если у него время и мотивация ,найдется для похода на почту, то вышлет, у него они были, поинтересуйся вообщем сам.
16550
спроси у Mick, если у него время и мотивация ,найдется для похода на почту, то вышлет, у него они были, поинтересуйся вообщем сам.
Вероятно ты ошибся или перепутал меня с кем то, их у меня всего может пару или тройку штук найдется.
А что схему миникомпа Ewgeny7 или ту что в первом посте он не хочет повторить?
Вероятно ты ошибся или перепутал меня с кем то, их у меня всего может пару или тройку штук найдется.
А что схему миникомпа Ewgeny7 или ту что в первом посте он не хочет повторить?
Но ведь есть жешь:) ты сам писал, дето на форуме, что собираешься их "впилить", в какой то проект.
А не знаю, может он не осилил, всю ветку еще:) или "метания" как у zst :v2_dizzy_biggrin2:
надо будет, поможем c железяками, главное, чтоб делал и занимался :v2_laugh:
CodeMaster
29.01.2018, 22:19
Если найдешь в дискрете.
В смысле "если найдёшь ISA мультяху где 16550 отдельной м/с"? Так-то вроде не дефицит.
Но ведь есть жешь ты сам писал, дето на форуме, что собираешься их "впилить", в какой то проект.
Я ее планировал в свой комп вставить ZXM-Alcyon. Этого я не отрицаю.
Я ее планировал в свой комп вставить ZXM-Alcyon. Этого я не отрицаю.
ну купит на ипае, если надо, или SIO ему зашлю.
я сам у тебя штучку, как то хотел выклянчить, если много есть, просто вспомнил, что у тебя их должно быть, ну нет так нет:v2_dizzy_biggrin2:
Уж больно она редкая и дорогая.
На Алиэкспресс ищи. Там я их брал дешево.
Доброго времени суток.
Планирую сочинить свою транскрипцию "мини компов" на разных процессорах как у "Ewgeny7"
Под системы на 6502,6809,68000,Z80 детали и среда программирования есть, а под систему на 6800 жду камни.
И с средой программирования не определился.
Вопрос к Ewgeny7 - удалось к проекту на процессоре 6800 прикрутить BASIC, и какой BASIC использовал.
В место 68В50 планирую задействовать Z8530.
Есть кто использовал данный Z8530, пойдёт на замену? с коррекцией софта конечно.
LeoN65816
09.02.2018, 14:13
Под системы на 6502,6809,68000,Z80 детали и среда программирования есть, ...
А попробуй 65816 вместо 6502 - тебе понравится.
HardWareMan
09.02.2018, 14:52
LeoN65816, а зачем ты его толкаешь на этот костыль? К SNES готовишь?
А почему бы и нет, и до 65816 дойдёт время.
С начало 6502, под него уже написал "эмулятор-дизассемблер" на микроконтроллере от NEC семейства K0.
Завершаю отладку "эмулятора-дизассемблера" на соответствие исходникам.
На второе запланировал систему на 6800, начинаю с эмулятора, итак по списку.
LeoN65816
10.02.2018, 09:46
HardWareMan, какой-такой кастыл-мастыл? Абыдна гаваришь, слющай! ;)
Родил наконец-то микрокомп на 6809 :)
Пак файлов лежит здесь (https://yadi.sk/d/kviE8Nzc3SJyu5). Сырки, видео, порно фото, куча документации, схема, прошивки.
https://a.radikal.ru/a32/1802/9f/96132572d53b.jpg (https://radikal.ru)
ТТХ:
Процессор - MC68B09 1,9 МГц.
Последовательный порт - MC68B50
Регистр 8282 и буфер 8286 сделаны для обмена с внешним миром.
Порт i82C55 почти целиком используется для внутренних нужд - интерфейсы клавиатуры, I2C и SPI.
Сохранение программ - на 24С512, по I2C.
Дисплей - с Алиэкспресса, JLX12864G. Классный графический дисплей. Работает по SPI-интерфейсу.
Память - 32кб ОЗУ, 16кб ПЗУ. Оставшееся "окно" - для внешних устройств.
Софт - windows 10 Extended BASIC от самого Мокрософта, 1982 года выпуска. С дополнительными плюшками. Описание прилагается.
Как обычно, в качестве "чипсета" использовал GALку. Но ее можно заменить мелкологикой. Содержимое галки в легкочитаемом блокнотом виде в файле .PLD.
- - - Добавлено - - -
Вопрос к Ewgeny7 - удалось к проекту на процессоре 6800 прикрутить BASIC, и какой BASIC использовал.
ТиниБарсик. Полноценного бейсика я не смог найти.
Доброго времени суток.
Ewgeny7 нет ли у Вас толкового русского описания системы команд под микропроцессор 6800.
Мне нужно для моего эмулятора, конкретно про моменты установки/сброса флагов командами.
kuber, нет на русском. Но есть ведь эмуль 6800. В частности, в паке файлов моего 6800_Project. Там можно подсмотреть что творится при работе ядра.
- - - Добавлено - - -
Фотографии проектов похерились, которые были на SAVEPIC. Перевыложу на другой хост.
БОльшая часть информации, что можно скачать по 6800 и совместимым, собрана вот здесь https://yadi.sk/d/Gd1FjQ2-3MWK8U
Интересная подборка, но нужной мне информации я не нашол.
Оставлю пока свой код как понимаю , потом поправлю.
нужной мне информации не нашёл
Там где-то был эмулятор только самого процессора. В нём я смотрел как работают некоторые команды, что были сразу (без чтения книг) непонятны.
Идея с эмулятором на PC отличная, уже проверяю, вся логика установки/снятия флагов совпала с моим пониманием,
кроме с флагом "V" , разбираюсь.
Спасибо за подсказку.
Есть возможность запустить ALTAIR BASIC 680 на процессоре МС6800.
Исходников Бейсика нет. Вообще нет. Есть неполный дизасм, но для процессора 8080.
Но зато есть дамп рабочего Барсика-680, снятого с ленты накопителя. И оно действительно рабочее, чел на FPGA уже давно вкорячил дамп в железяку и Бейсик завелся. Но ПЛИС - не тёпло и не лампово.
Правильней собрать на реальном МС6800 несложную машинку. В конец ПЗУ вкорячить Монитор с обслугой ввода-вывода, и перемещатель, который запульнёт в начало ОЗУ коды Бейсика, передаст им управление после копирования, и по мере надобности будет выводить символы или сообщать о нажатых кнопочках.
Примерно такой комбайн я делал для 8088_Project. Там Бейсик тоже надо было запускать в ОЗУ. Всё работает.
Из плюсов - Альтаир-Бэйсик несравненно интересней Тини. Он умеет не только целые числа, но и всякие разные. Даже корень квадратный вроде как умеет.
Меня эта идея все больше завлекает...
Доброго времени суток.
Скорректировал свой код логики флагов 6800, идея с эмулятором на PC то что нужно мне было.
Ещо раз Спасибо за подсказку, а то я долго бы искал инфу.
Альтаир-Бэйсик хорошо-бы запустить.
У меня в моём проекте эмуляторов разных CPU контроллер крутит эмулятор в внешней RAM 64k.
После загрузки, программно запрещаю запись в область кода.
Будут на руках процессоры 6800, сделаю железный вариант.
Запустил Альтаир-Бейсик на своей платке с 6800.
https://b.radikal.ru/b09/1802/0c/453c184578f9.png (https://radikal.ru)
Можно привинчивать драйвер дисплея и клавиатуры.
Доброго времени суток.
Ewgeny7 файлами asm, bin "Альтаир-Бейсик" не поделитесь?
Свой эмулятор 6800 дописал, теперь отладка на рабочем бинарнике.
Дорогу осилит идущий....(С)Вечный Пешеход :)
https://c.radikal.ru/c11/1802/8a/3f2ef0e6f4f2.jpg (https://radikal.ru)
Пришлось маленько переделать архитектуру микрокомпа и поправить бинарник бейсика в нескольких местах (млин, я - круче Нео!), но все взлетело.
Клавиатура тоже подключена, разумеется.
- - - Добавлено - - -
файлами asm, bin "Альтаир-Бейсик" не поделитесь?
Бинарником поделюсь... Только сейчас соображу, в каком виде лучше. Порты терминала у тебя произвольные?
Ewgeny7 да порты термина я могу установить любые.
Бейсик своеобразен, чувствуется, что писался на заре всемирного потопа.
Символ @ дает команду.... Не догадаетесь, завершение ввода неудачной строки и сброс ее в утиль.
Символ _ - это back space, ага...
Про сохранение и загрузку я пока курю, но уже имею грусть.
SoftWareGuy
04.03.2018, 16:02
Привет всем! Крутые вещи вы делаете тут, читаю и завидую :)
Я с электроникой не очень дружу, но немножко паяю вечерами после работы. Увлекла меня идея создания своего собственного простенького микрокомпьютера, собрал в итоге вот такое поделие:
https://preview.ibb.co/eVFP3S/IMG_2728.jpg (https://ibb.co/mw3Yxn)
Тут все в принципе стандартно:
- Z80 старой какой-то ревизии, на 2MHz
- RAM память на 32 КБ, CY62256NLL
- в качестве ROM памяти поставил Flash SST39SF010A на 128К, хотя использую их них только первые 32 Кб
- 555 для генерации тактовых импульсов
- несколько микросхем буферов и логики
Система пока что работает на частоте 5 Гц, для отладки. Планирую поставить как-нибудь кварц и посмотреть на скорости как оно себя ведет.
Адресное пространство делю на две части: первая часть 32кб под ROM, вторая часть 32кб под RAM. Есть поддержка для 8 штук IO портов, справа на плате можно видеть группу синих светодиодов - индикация работы портов.
Выглядит конечно зверски, в другой раз если решусь на подобный проект, буду брать нормальный провод типа тонкого мгтф :)
Использовать хотел как ретро-приставку, так что передо мной сейчас стоит задача вывести картинку на ТВ. Использовать микроконтроллер что-то наподобии ATtiny для этого дела не хочу. Есть вариант собрать вот такое: http://www.waveguide.se/?article=bitmapped-video-interface
Еще случайно раздобыл микросхемку MC68B45P, насколько я понял, это вариация Motorola 6845, CRT Controller. Я не очень понял, но похоже одного его недостаточно для генерации видеосигнала. Подскажите пожалуйста, если у кого есть опыт работы с этой микросхемой, как с ее помощью выводить изображение на экран ТВ? :)
ЗЫ: схему проекта можно посмотреть здесь:
https://thumb.ibb.co/d8MRk7/nyx_chematic.png (https://ibb.co/d8MRk7)
SoftFelix
04.03.2018, 16:06
- Z80 старой какой-то ревизии, на 2MHz
4PSC - 4MHz.
SoftWareGuy
04.03.2018, 16:11
4PSC - 4MHz
Ух ты, здорово. Только, конечно сомневаюсь что система заведется на такой частоте, вроде бы память тут медленная стоит. Но ради интереса, конечно попробую, спасибо за подсказку!
Ух ты, здорово. Только, конечно сомневаюсь что система заведется на такой частоте, вроде бы память тут медленная стоит. Но ради интереса, конечно попробую, спасибо за подсказку!
Да должна, проблем тут нет, только кварц ставь 4,096, если соберешься прикручивать UART, второй генератор ставить не нужно будет для стандартного битререйта.
SoftWareGuy
04.03.2018, 20:15
Добавил схему в предыдущее сообщение, на тот случай, если кому-нибудь станет интересно :)
Totem, о я часто слышал в этом треде про магическую штуку UART, может быть и я когда-нибудь смогу ее освоить! Спасибо за совет, попробую поставить на 4,096.
А все-таки, про то как с помощью MC68B45P (6845) генерировать композитный видео сигнал, никто не сможет подсказать? Может быть даже кто-нибудь собирал в своих проектах, много с ним мороки, может быть вообще не стоит даже заморачиваться?
Добавил схему в предыдущее сообщение, на тот случай, если кому-нибудь станет интересно :)
Totem, о я часто слышал в этом треде про магическую штуку UART, может быть и я когда-нибудь смогу ее освоить! Спасибо за совет, попробую поставить на 4,096.
А все-таки, про то как с помощью MC68B45P (6845) генерировать композитный видео сигнал, никто не сможет подсказать? Может быть даже кто-нибудь собирал в своих проектах, много с ним мороки, может быть вообще не стоит даже заморачиваться?
RS-232, он же COM порт
http://www.gaw.ru/html.cgi/txt/interface/rs232/start.htm
не стоит, положи на полку.
HardWareMan
05.03.2018, 04:33
RS-232, он же COM порт
U(S)ART != RS-232. Universal (Synchronous) Asynchronous Receiver Transmitter. Т.е., это только приемо-передатчик, прямой аналог для понимания - ВВ51. А RS-232 (Recommended Standard 232) это уже стандарт на сигналы (физический интерфейс). Т.е. к UART подключается преобразователь шины и после этого мы получаем один из стандартов: RS-232 (сигналы с двухполярным напряжением), RS-485 (полудуплекс по витой паре) или, например, ИРПС/IFSS (токовая петля с гальванической развязкой).
U(S)ART != RS-232. Universal (Synchronous) Asynchronous Receiver Transmitter. Т.е., это только приемо-передатчик, прямой аналог для понимания - ВВ51. А RS-232 (Recommended Standard 232) это уже стандарт на сигналы (физический интерфейс). Т.е. к UART подключается преобразователь шины и после этого мы получаем один из стандартов: RS-232 (сигналы с двухполярным напряжением), RS-485 (полудуплекс по витой паре) или, например, ИРПС/IFSS (токовая петля с гальванической развязкой).
в общем там для понимания о чем речь, ссылка на гав :)
HardWareMan
05.03.2018, 10:03
Totem, это понятно, но UART же можно использовать и без трансляторов в RSххх.
Totem, это понятно, но UART же можно использовать и без трансляторов в RSххх.
Можно,конечно,
где то видел, на 74 логике, самосбор. хотя проще найти тот же ВВ1/Z80SIO/16550.
TomaTLAB
05.03.2018, 11:32
тот же ВВ1/Z80SIO/16550. Это то все как раз U(S)ART-ы без RS-ххх, чтобы оно стало RS нужны еще драйвера физической линии (или конвертеры уровней) та же MAX232, MAX485 напр.
Это то все как раз U(S)ART-ы без RS-ххх, чтобы оно стало RS нужны еще драйвера физической линии (или конвертеры уровней) та же MAX232, MAX485 напр.
так и знал что щас начнется, ссылка выше.:v2_dizzy_biggrin2:
TomaTLAB
05.03.2018, 11:41
тот же ВВ1/Z80SIO/16550. Это то все как раз U(S)ART-ы без RS-ххх, чтобы оно стало RS- нужны еще драйвера физической линии (или конвертеры уровней) та же MAX232, MAX485 напр.
А HardWareMan говорит о том, что можно обойтись и "голым" UART-ом в ТТЛ уровнях. В современных реалиях (а "на столе" - тем более) RS- и не нужен, проще сразу USB-UART свисток повесить.
RS-232 и 485 - тем более это уже удел промавтоматики, в "быту" стало не нужно. Разве что, оно к чему-то гвоздями прибито - не оторвешь, типа мыши COM-овской.
так и знал что щас начнется, потому что Вам про одно, а вы про другое.
RS- и не нужен, проще сразу USB-UART свисток повесить.
началось
HardWareMan
05.03.2018, 14:16
Totem, чтобы что-то началось, оно должно сначала закончится. :)
SoftWareGuy
06.03.2018, 00:39
Окэй, с 6845 видимо облом.
Посоветуйте пожалуйста на чем можно собрать композитный видео-выхлоп. Где-то слышал про КР1084ВГ93, (КМ,КР)1506ВГ3, КР1853ВГ1-03, КР1857ВГ1, КР1863ВГ3, ВГ75, но опять же - собирать все подряд не вариант. Хочется уже что-то заведомо рабочее, испытанное и не очень сложное в сборке и программировании (наверное хочу слишком многого:) )
испытанное и не очень сложное в сборке и программировании
Триадент 9000 ISA8 не рассматривали как вариант ?
По крайней мере он не будет отнимать шину у ЦП при показе каждой строки символов, как ВГ75.
SoftWareGuy
06.03.2018, 22:16
Этож целая видеокарта! Причем раритетная.
Ну и весь смысл в том чтобы собрать своими руками, нему-нибудь научиться :)
OrionExt
06.03.2018, 23:02
Если подешевле то TMS9918А (меньше возможностей).
Если подороже то V9958 (больше возможностей).
Схемы не сложные. И по количеству деталей примерно одинаковые.
SoftWareGuy
06.03.2018, 23:38
OrionExt, спасибо за совет. Думаю V9958 подойдет, сходу получилось найти схему http://pub.nocrew.org/z80/video.pdf
Вижу что оно выдает RBG и нужно будет как-то это дело превращать в композит.
Буду благодарен за схемы проверенных решений на этом чипе!
OrionExt
07.03.2018, 00:31
Держите (http://primrosebank.net/computers/mtx/projects/mtxplus/video/Video%20Board%201.02.pdf) (2 стр.) композит:) Хотя по мне RGB и проще и качественней изображение.
SoftWareGuy
07.03.2018, 00:41
OrionExt, круто, спасибо! Мой морально устаревший телевизор понимает только AV просто. Но с RGB можно, думаю, прикрутить VGA со временем.
Если кто рассчитывает попробовать Н1806ВМ2 - в данный момент есть чистая ДПП УТК-2 за Бесценок, с хранения, 2016 г.
Под установку 4 шт. КР580ВВ55А, 1 шт. КР580ВИ53Д, и даже 8042 PS/2 ( базовый трекинг под разные клоны ).
ПЗУ - КР1801РЕ2-055, от ДВК-2 МС1201.02.
http://zx-pk.ru/threads/26637-perekhodnik-klaviatury-bk001kh-ps-2-quot-universalnyj-tekhnologicheskij-kontroller-quot-utk.html
А кто-нибудь экспериментил с m68k в 64-х ногом корпусе?
Подарил мне друг разломанный АОН на i80c51. Раздербанил. Долго думал, что это за модель 8051 и читал, разбирался, как его шить. Искал программатор. Но спасибо, один добрый человек помог разобраться. Все теперь, мигает светодиодиком )))
https://pp.userapi.com/c840333/v840333967/67ecd/Y2xj9ryxkMQ.jpg (https://pp.userapi.com/c840333/v840333967/67ecf/jDJwjP65pSA.jpg)
https://sun1-12.userapi.com/c840532/v840532267/688ab/gwE7ZsYdwjI.jpg (https://sun1-12.userapi.com/c840532/v840532267/688ad/n3dXfYOYazE.jpg)
https://pp.userapi.com/c840230/v840230658/89bf5/q0MSfKfv87I.jpg (https://pp.userapi.com/c840230/v840230658/89bf7/crqD6Bq5U-0.jpg)
разбирался, как его шить.
Ну, и как его шить?
То, что ПЗУ отдельно я вижу, так каждый может.
А никак, i8051 перешиваются только с окном для УФ стирания (i8751). А эти выпускались с масочным ПЗУ либо без него (i8031).
i8051 перешиваются
Если не жалко чип, попробуйте стереть его в термостате на +200 градусов полчасика.
При этом недопускается создавать механические нагрузки на выводы ИС. Охлаждать медленно.
Один мой знакомый жарил керамические 27256 на сковороде в 1991 г. - так русифицировали принтера Оливетти, т.к. снимать фирменную наклейку с ППЗУ нельзя было - "фирма" таки...
Ну, и как его шить?
То, что ПЗУ отдельно я вижу, так каждый может.
Так я и не пишу, что я разобрался, как шить ;) Похоже, что он и в АОНе был с внешней ПЗУ.
Для меня это до сих пор загадка, так что был бы рад узнать.
ЗЫ.
80C51BH / 80C51BH-2 CHMOS Single Component 8-Bit Microcontroller with Factory Mask-Programmable ROM
Вот интересно, что там прошито на заводе?
CodeMaster
20.03.2018, 20:59
Похоже, что он и в АОНе был с внешней ПЗУ.
Фото платы об этом и говорит.
Оказывается, с помощью TL866 его можно считать. В режиме AT89S51.
64699
http://www.qsl.net/rw6hrm/pics/z80a.jpg
...а мы тут пока упихиваем свежесобранный компик в корпус клавиатуры...
На фото, слева: процессорный блок Z80B 2.5/4MHz, RAM 64К, ROM 64 (4x16)K, 82C55 (не знаю, зачем, но пусть будет), КР580ВВ51, IDE CF 128M (между платами). Будет установлена СР/М 2.2, блок самодостаточен как контроллер. Справа: видеоадаптер на Atmega328 + адаптер ASCII-клавиатуры. Обеспечивает вывод на обычный телевизор текста в режимах 80х25, 40х25, 80х12, 40х12, графика 160х100. Кароч, реально двухпроцессорная система ;).
Особый изврат: тактовые генераторы на транзисторных ёмкостных трёхточках.
Неспешное описание сабжа тут, http://www.qsl.net/rw6hrm/html/z80.htm
TomaTLAB
02.05.2018, 23:28
Ну вы, блин, даете. Извращенцы :D
Один
жарил керамические 27256 на сковороде
другой
тактовые генераторы на транзисторных ёмкостных трёхточках
делает.
И это, не жалко "трубки" на блокировку пускать, тем более, что толку от них в этом плане не много.
Они же хороши в качестве именно "пикушек" в контурах, термостабильность неплохая у них.
А кто-нибудь экспериментил с m68k в 64-х ногом корпусе?
у меня мысли были но просто как камень запустить не очень интересно , а что бы блеснуть там и dma надо и видео толковое , в общем амигу с ноля изобретать....
- - - Добавлено - - -
Есть прям настоящий каменный )))
https://s48.radikal.ru/i122/1701/35/8d51f6802978t.jpg (http://radikal.ru/fp/oadbqcc2zx8r8)
И это, не жалко "трубки" на блокировку пускать, тем более, что толку от них в этом плане не много.
Они же хороши в качестве именно "пикушек" в контурах, термостабильность неплохая у них.
Тут 4700 - 6800 с ненормированным ТКЕ, так что и ёмкость достаточная для 555 серии, и термостабильность не жалко. Им по жизни предназначено быть блокировочно-разделительными. А так ещё жЫрные КМ-ки по 0.1 стоят внутри панелек, их просто не видно.
HardWareMan
03.05.2018, 09:53
Есть прям настоящий каменный )))
https://s48.radikal.ru/i122/1701/35/8d51f6802978t.jpg (http://radikal.ru/fp/oadbqcc2zx8r8)
Я те разберу годный клон на самом офигенном чипсете! :mad:
Я те разберу годный клон на самом офигенном чипсете!
:rolleyes:
Тогда после окончания текущих проектов восстановлю и приведу в порядок ,с отсчетом в соответствующей теме :)
В китае их полно, недавно за 150рэ пару взял на 8МГц, до этого один на 10МГц, на котором и химичил...
Люди линюх на нём запускают без всяких DMA и MMU...
К стати, а что это за плата? Я грешным делом подумал что это сега какая-нибудь...
Я грешным делом подумал что это сега какая-нибудь...
Почему же какая нибудь ,это и есть SEGA :)
Шо, каких-то ранних выпусков? Просто я на фото всё время видел проц в smd исполнении, на крайняк в plcc...
Шо, каких-то ранних выпусков?
да это 90-х годов ,у меня они все на m68к dip , приятно смотрится )))
Немного подниму темку на раздумья.
Как-то Ewgeny7 (http://zx-pk.ru/members/549-ewgeny7.html) в посте http://zx-pk.ru/threads/25682-samodelnyj-kompyuter-na-z80-i-ne-tolko.html?p=866621&viewfull=1#post866621 отписал, что не получилось у него с ВВ51 работать с прерываниями. Мне пришлось с этим разбираться, поскольку без прерываний жисть не мила. Чуть внимательнее прочитал абзац из книги "Микропроцессоры и микропроцессорные комплекты интегральных микросхем", том 1 под ред. Шахнова, стр. 76: "Для исключения ошибок, вызванных ложным появлением сигнала RxRDY, необходимо через два-три периода сигнала /RxC после начала передачи данных произвести чтение данных без учёта результата."
Поскольку вся наша жизнь - череда дурных поступков, то поступил тупо - пользуясь тем, что данные в регистре при чтении не разрушаются, поставил команду IN A,(port) три раза друг за другом. RxRDY при первом обращении снялся только после второго (!) чтения. При приёме последующего потока снимался с первого раза (такт ВВ51 и Z80 2457600, /RxC 614400, скорость обмена 9600). На такте процессора 4 МГц RxRDY при первом обращении снимался после третьего чтения.
Мож кто попробует проверить?
HardWareMan
11.05.2018, 16:08
rw6hrm, т.е., снятие флага идет не по факту чтения из регистра, а спустя некоторое время. И быстрый процессор успевает сделать несколько чтений, прежде чем флаг обновится, так? Быть может, флаг запитан от /RxC, которая заведомо ниже CLK? Этого, конечно, не узнать точно до вскрытия.
Тогда почему дальнейшее чтение идёт нормально, а косяк только с приёмом первого байта? Можно, кнешн, попробовать перед каждым чтением делать программный сброс, вот только даст ли это результат... Пока остановился на трёх последовательных чтениях, хотя это сравнимо с добиванием недокрученного шурупа молотком.
<offtop>
...ох, и чего это я не применил любимый 6850, а повёлся на стоны "что его не достать"...
</offtop>
6551 горАздее, а тем более 16550 нежели 8251...
Ну вот, аппарат заработал. Благодарствую за помощь b2m и freddy . Описание на сайте ещё не обновлял, на след неделе сделаю, как разберусь с ещё одним скрытым косячком...
Всем форумчанам, расмотреть ЦПУ кролик как альтернатива ЦПУ Z80, который в бинарном коде совместим с Z80, Z180 на 99%. Кролик 2000 стоит 120 руб и работае до 30мГц, а 6000 имеит на борту USB 2.0, WiFi, и.т.д и работает до 200мГц, также кролики могут выступать как сопроцессор. В общем хотелосьбы услышать ваше мнение о Rabbit-2000 и стоит ли на нём что нибудь разработать, РК-86, Орион, CPC, подобную платформу совместимую с операционной системой CP/M
Краткий перевод: товарищ интересуется, стоит ли мутить что-либо из этого девайса, https://en.wikipedia.org/wiki/Rabbit_2000 ;)
Дока на девайс тут, ftp://ftp1.digi.com/support/documentation/0190069_p.pdf
ИМХО для чего-либо более свежего, нежели перечисленные выше компы, ещё пойдёт, но делать для старого..., всё равно более половины функций не будет поддержано.
shurik-ua
10.07.2018, 00:04
Кролик 2000 стоит 120 руб и работае до 30мГц, а 6000 имеит на борту USB 2.0, WiFi, и.т.д и работает до 200мГц,
это где их можно приобрести ?
На алике есть почти всё
https://ru.aliexpress.com/item/RABBIT2000-RABBIT-2000-R30-668-0003-R30668-0003/32279330045.html
- - - Добавлено - - -
Если интересно
https://www.ebay.com/p/Rabbit-2000-Microprocessor-Development-Kit/1324546530
http://datasheet.elcodis.com/pdf/8/43/84317/20-101-0356.pdf
И родная поддержка https://www.digi.com/support#support-tools
Штука интересная, но она больше подходит для контроллеров или компов на базе uzix, т.к. есть менеджер памяти, с другой стороны 1МБ ОЗУ как-то маловато для такой ос...
Доброго времени суток, форумчане.
Заранее прошу прощения за ссылки на другой ресурс. Это никоим образом не для раскрутки, так как аудитория сильно разнится.
Я не хотел бы переписывать всё подряд, поэтому для похвастать просто дам ссылку https://www.drive2.ru/b/473069551848784746/, а для вопроса ссылку https://www.drive2.ru/b/511444706681422248/.
А вопрос в следующем:
Подключил я к системе на 186-ом модуль PATA AP-FM0128A40C5G на базе контроллера SST55LD019A объемом 128 МБ для хранения своих программ. Пока без файловой системы (как делал и на системе 8051). Проблема в том, что даже статус не могу получить. Даташит и юзер мануал гуглятся, все подключения перепроверены на 100 раз, в том числе осциллографом и логическим анализатором. Обращение есть, а у модуля ШД в Hi-Z. Модуль рабочий по крайней мере на чтение. Записать на него из-под винды не удалось. Думаю где-то защита стоит. Но я не могу даже прочитать. Может у кого-то есть опыт работы с такими или подобными контроллерами? Буду рад пинку в нужном направлении. Либо подскажите, пожалуйста, какими ROM-дисками пользуетесь сами. Мои программы пока не более 2-4 КБ, поэтому хотелось бы такое подобие ФС, где можно относительно быстро пролистать всю память на предмет сигнатур программ, как это сделано в PAULMON-2. Мне кажется это более подходящим хранилищем для таких самоделок.
Заранее спасибо.
Приветствую всех, дорогие друзья!
С момента запуска первой версии самодельного компа на Z80 прошло около 4 лет. Недавно, разбирая всякий хлам у себя в столе наткнулся на него). Всё-таки правильно говорят, что новое - это хорошо забытое старое... А почему бы не продолжить развитие проекта, и, наконец, закончить его, тем более, что некоторые результаты уже есть? Пока что есть две вещи, которые хотелось бы добавить в схему:
1) нормальный звуковой чип. Никак не могу выбрать между АУ-8913 и YM3812.
2) контроллер прерываний. Тут все немного сложнее, поскольку кроме ВН59 я ничего не знаю, да и то без танцев с бубном ее к Z80 не прикрутить. Может есть что-то, что напрямую к шине подключить можно, без дополнительной логики?
2) контроллер прерываний. Тут все немного сложнее, поскольку кроме ВН59 я ничего не знаю, да и то без танцев с бубном ее к Z80 не прикрутить. Может есть что-то, что напрямую к шине подключить можно, без дополнительной логики?
AM9519, наш аналог КР1818ВН19, обсуждали это в теме про "Аюшу-Z80", https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1010664&viewfull=1#post1010664. ТОлько так никто и не подключил из-за невостребованности.
Схема подключения AY-шки там же, https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1037428&viewfull=1#post1037428 . Тоже не думаю, что кому-нить понадобится.
О, спасибо за ссылку на интересную книжку!
Только мне кажется, что можно как-то ещё проще... Например, записывать флаги прерываний во внешний регистр и одновременно подавать сигнал int, а затем в обработчике прерываний читать данные с этого регистра? Обработчик прерываний, по сравнению с ВН59, не сильно в коде прибавит, зато реализовать можно на одной ИР35 и 8 диодах...
О, спасибо за ссылку на интересную книжку!
Только мне кажется, что можно как-то ещё проще... Например, записывать флаги прерываний во внешний регистр и одновременно подавать сигнал int, а затем в обработчике прерываний читать данные с этого регистра? Обработчик прерываний, по сравнению с ВН59, не сильно в коде прибавит, зато реализовать можно на одной ИР35 и 8 диодах...
Да, можно и без контроллера, уже испытал на своём аппарате. По количеству диодов не считал, но по тройному элементу ИЛИ на прерывание нужно. Легенда такова:
- выделяется в ПЗУ некая область памяти для векторов переходов. Старший байт записывается жёстко (в моём случае) и объявляется процессору при инициализации, а младшие делаются диодными матрицами;
- при наступлении прерывания на элемент ИЛИ заводятся сигналы /М1, /IORQ и сигнал прерывания с вызывающего устройства. На моей схеме ( http://rw6hrm.qrz.ru/pics/z80new.gif ) это (без дополнительного сигнала прерывания) сделано на элементе D8.1. Он и выдаёт диодами младший адрес вектора прерывания на шину данных. В моём случае, для испытания, дополнительный сигнал прерывания брался с вывода 8 D18.2, а вместо двухвходовой ЛЛ1 использовалась ЛЕ4 с дополнительным инвертором на выходе (почему только для испытания думаю понятно, поскольку если аналогичное прерывание будет выдаваться не клавиатурой, а ВВ51, то оно не сработает, нужен ещё один блок ИЛИ с диодами).
Либо в качестве кучи диодов ставим ПЗУ. Но в обоих случаях придётся считаться с тем, что все прерывания будут равноправными, что иногда может привести к коллапсу системы. Поэтому делать несколько прерываний без отдельного "умного" контроллера, раскидывающего прерывания по ранжиру, можно только для очень простых компиков...
Вот так, немного взбалмошно.
У меня вот мыслишка сидит - сделать Z80 CP/M с ISA-8 шиной. Чтоб прям взял, вставил там видюху VGA, XT-IDE, или AdLib какой и в добрый путь. Ничего в приципе не мешает, кроме адресации памяти. Какие-то фейковые банки придется городить, что бы мапить 0xA0000-0xBFFFF, или еще как то. И не помню, Z80 порты больше 0xFF умеет? Тогда и порты тоже, но это проще. И софт.. Ну для инита VGA есть косые-кривые сорцы на Си для AVR в интернете, XT-IDE в принципе просто, то же самое что и в аюше можно, AdLib - плеер тоже можно какой-то портануть.
Да не, бред какой-то написал, никогда я такого не сделаю )
И не помню, Z80 порты больше 0xFF умеет?
Умеет, у него полные 16 адресные порты.
HardWareMan
10.12.2019, 11:17
Умеет, у него полные 16 адресные порты.
Но не на всех командах, это следует учесть.
Error404
10.12.2019, 11:57
Но в обоих случаях придётся считаться с тем, что все прерывания будут равноправными, что иногда может привести к коллапсу системы. Поэтому делать несколько прерываний без отдельного "умного" контроллера, раскидывающего прерывания по ранжиру, можно только для очень простых компиков...
Вот так, немного взбалмошно.
Приоретизации прерываний и одновременно формирование младших разрядов вектора для IM2 удобно делается на приоритетных шифраторах, например всего на одной 555ИВ1 можно реализовать такое и обслужить 8 устройств. Так например сделано на Орионе-ПРО, вроде нормуль работает.
Идея разработчикам - почему-то до сих пор не сделаны системы простых компов с двумя Z80 и общей памятью.
Второй Z80 можно было бы например приспособить для вывода видеосигнала, или реальная двухпроцессорная система (видео при этом реализуется отдельно, например терминальное)
Приоретизации прерываний и одновременно формирование младших разрядов вектора для IM2 удобно делается на приоритетных шифраторах, например всего на одной 555ИВ1 можно реализовать такое и обслужить 8 устройств.
Вот, это почти то, что нужно! Только придется за ИВ1 еще и буфер поставить, чтобы сигнал на ШД выдавать только по сигналу INTA.
- - - Добавлено - - -
Хотя, нет, можно обойтись тремя диодами;)
Temych640
04.08.2020, 13:32
Здравствуйте. Я сам хотел сделать программируемый калькулятор, но гораздо проще, чем тот, который на самой первой странице. Я однажды собирал спектрум "Ленинград", но успехом моя затея не увенчалась. И у меня остались 9 процессоров z80. Я не силен в ассемблере и в аппаратной части, но что-то смог спроектировать. Компьютер имеет следующие характеристики:
Процессор Zilog Z80, 3.5 МГц;
48 КБ статической ОЗУ на микросхемах 6264;
16 КБ ПЗУ;
Вывод также осуществляется на дисплей 12864A;
Прерывания не использовал для упрощения схемы;
В качестве ввода используется матричная клавиатура 8x5, с контроллером на 2764;
Вот схема:
73218
Я не до конца уверен, будет ли она вообще работать. И есть еще один вопрос, зачем подтягивать шину данных через резистор к плюсу?
Я не до конца уверен, будет ли она вообще работать. И есть еще один вопрос, зачем подтягивать шину данных через резистор к плюсу?
На схеме видно, что выводы процессора MREQ и RD для работы с памятью никак не задействованы, так быть не должно, иначе процессору будет не обратится к ПЗУ. Кроме того, это может послужить поводом для различных глюков, когда сразу несколько устройств попытаются выдать что-то на шину данных.
Шину данных подтягивают к плюсу питания потому, что некоторые микросхемы, подключаемые к ней, могут иметь вывод типа "открытый коллектор", т.е. выдать 0 на шину они смогут, а вот 1 не смогут, поскольку в этом случае шина останется "висеть" в воздухе. Чтобы такого не произошло, ставят подтягивающий резисторы.Надеюсь, понятно объяснил:D
Temych640
04.08.2020, 14:20
То есть, на выводы CS дешифратора старших битов адреса нужно подключить MREQ, чтобы к памяти можно было обратиться только когда процессор об этом сообщит?
Еще нужно подключить ко второму CS дешифратора RD и WR, чтобы обратиться к памяти можно было только при записи/чтении.
Вывод MREQ процессора нужно подключить к выводам 4,5 дешифратора памяти, а выводы OE ОЗУ/ПЗУ к выводу RD процессора. Ножка WR подключена правильно.
Temych640
04.08.2020, 14:42
Я думал, что нельзя записывать в ОЗУ, когда отключен вывод(OE=1). Ну, я все подключил. Еще убрал лишние инверторы на CE контроллера клавиатуры и буфера вывода на экран, и на CE подал RD.
Я думал, что нельзя записывать в ОЗУ, когда отключен вывод(OE=1). Ну, я все подключил.
Нет, при активном сигнале на выводе OE разрешается подача данных из микросхемы на шину данных, в момент записи он должен быть неактивен, чтобы не возникало конфликтов когда и процессор и ОЗУ одновременно попытаются занять шину.
Temych640
04.08.2020, 14:57
И еще, вы не могли бы объяснить, как работает клавиатура в вашем первом проекте и в Ленинграде? У вас на выходах дешифратора стоят диоды в обратном направлении, это значит, что микросхема поочередно подает 0 на каждую строку? В схеме Ленинграда вообще столбцы подключены к плюсу через резистор, а матричная клавиатура вроде как работает, когда на каждую строку/столбец по порядку подается напряжение, и в момент нажатия клавиши считывается, на каком столбце и строке есть напряжение. И можно ли оптимизировать клавиатуру в моем проекте?
В схеме Ленинграда вообще столбцы подключены к плюсу через резистор, а матричная клавиатура вроде как работает, когда на каждую строку/столбец по порядку подается напряжение, и в момент нажатия клавиши считывается, на каком столбце и строке есть напряжение.
У меня сделано примерно по такому же принципу. Вся клавиатура представляет собой 4 строки по по 5 клавиш в каждой. Обращение к строкам осуществляется через порты ввода-вывода (cs0-cs3). А колонки подключены к шине данных через развязывание диоды. Допустим, мы хотим узнать какая из клавиш в нижней строке нажата. Для этого процессор выполняет команду in (00h), a. При этом на линии /CS0 появляется лог "0". Если не нажата ни одна клавиша, на шине данных будет '11111111'. Если нажата, например, клавиша "2", то через развязывающие диоды и замкнутые контакты клавиши на шину данных будет подан код '11111011'. Далее выполняем команды in (0Fh), a in (20h), a и т.д., пока не считаем состояние всех строк. Ну а дальше уже по считанным данным, зная что каждой клавише соответствует свой бит, определяем какие именно кнопки нажаты.
Диоды в схеме стоят для того, чтобы при одновременном нажатии на несколько кнопок в строке не происходило короткое замыкание на шине данных.
не сделаны системы простых компов с двумя Z80
зачем? Тогда уж z80+MCU( STM8, STM32 с большим количеством портов и пр. кому что нравится) и схема получится очень простая. И среди этих MCU есть пригодные для сенсорной клавиатуры.
Temych640
06.08.2020, 15:37
Здравствуйте. Я не знаю, на каком ассемблере писать программы для процессора z80, вы можете подсказать что-нибудь?
shurik-ua
06.08.2020, 15:45
sjasm
Здравствуйте. Я не знаю, на каком ассемблере писать программы для процессора z80, вы можете подсказать что-нибудь?
А я вот этим пользуюсьhttps://yadi.sk/d/l8P6-ALjPi1A7A
Temych640
06.08.2020, 16:33
Я не понимаю, как "скомпилировать" asm файл в bin, я не могу нажать "assemble file", напишите пожалуйста краткую инструкцию.
Я не понимаю, как "скомпилировать" asm файл в bin, я не могу нажать "assemble file", напишите пожалуйста краткую инструкцию.
Если речь про Assembly Studio, то там напрямую .bin не получить. Можно сделать так: пишем код в окне программы, затем в меню Assembly выбираем пункт Hex listing. Если в коде нет ошибок в папке с исходным файлом создаётся текстовый файл с таким же названием. Открываем его, выделяем hex'ы, копируем в буфер обмена. Затем с помощью программы WinHex создаём бинарный файл, вставляем в него то, что мы скопировали в буфер обмена, жмём кнопку Save. Полученный файл загружаем в ПЗУ с помощью программатора. Мой программатор "понимает" текстовые файлы, поэтому бинарный файл я не делал, а открывал сразу .txt
Temych640
19.08.2020, 14:07
Здравствуйте. Я решил добавить своему компьютеру FLASH-память на микросхеме AM29F010B(аналог SST39SF010A) поставил её на место 6-ой микросхемы ОЗУ. Чтобы получить больший объем памяти, я подал на вход микросхемы FLASH A13 сигнал IORQ(выводы A14-A16 к сожалению задействовать не получилось), а на её CS подал через ИЛИ сигналы CS8 и IORQ. Но я не хотел добавлять лишнюю микросхему и извращаться при написании прошивки, поэтому я сделал элемент ИЛИ на диодах и резисторе, а на дешифратор портов I/O подал не A5-A7, а A13-A15. То-есть теперь к flash можно обратиться как к памяти, так и к I/O устройству. Как вы думаете, будет ли это работать? Я думаю, что на одном диоде сильно напряжение падать не будет, по-моему вышло рационально.
73310
(AM29F010B-DD14, 6264-DD4-DD8, 2764-DD2,DD3)
Ой, я ошибся и вместо элемента И поставил ИЛИ, там ведь сигналы инвертированные.
Temych640
21.08.2020, 14:50
Я еще доработал схему, и говорю честно, я сам удивился, когда на какой-то странице(до этого я почти не смотрел тему), человек написал точь-в-точь те решения, которые я недавно добавил в свою схему(например, ОЗУ 62256 и FLASH SST39SF010). Также я добавил программное переключение между страницами flash-диска, у меня получилось 16 страниц по 8 КБ. Только каждый раз при включении нужно самому выбирать с какой страницей работать.
Последний нерешенный вопрос - как сделать звук, я просто не пойму - на схеме Ленинграда сигнал на динамик подается только при наличии сигнала /IOWR, то есть, чтобы генерировать частоту, нужно каждые несколько тактов подавать сигнал в порт вывода? Это вроде не очень удобно.
то есть, чтобы генерировать частоту, нужно каждые несколько тактов подавать сигнал в порт вывода? Это вроде не очень удобно.
Так и есть. Можно еще использовать таймеры кр580ви53 или специализированные микросхемы вроде AY-3-8910.
Temych640
23.08.2020, 12:01
Вот конечный вариант схемы:73351
FLASH теперь работает как память, а не как I/O, с помощью дешифратора 2:4 можно обратиться к первой и второй половине ОЗУ.
Отлично! Теперь можно попробовать запустить на устройстве демку decode (https://zx-pk.ru/threads/22791-mini-demka-quot-dec0de-quot.html). А что с интерфейсами?
Temych640
23.08.2020, 21:09
Я быстро модифицирую схему. Поставил 2 микросхемы 628128, как на 1 схеме в теме, соединил выходы P0-P3 с адресными линиями ОЗУ A14-A16, поэтому теперь стало доступно аж 256 КБ. Не знаю, зачем мне столько, но если есть такая возможность, то почему бы и нет. Из интерфейсов выбрал параллельный, но я не хотел брать ВВ55, потому что мне нужен только 1 порт, и я пока не разобрался с 1 и 2 режимами работы. Поэтому я просто подключил к шине данных две ИР22, по одной на вход и на выход. То есть, уже можно связать 2 таких микрокомпьютера. С подключением к ПК пока не разобрался, может все-таки придется брать ВВ55. Последняя проблема - у меня нет исправного программатора, поэтому проверять компьютер буду не скоро.
Вторая версия схемы:73358
Temych640
26.08.2020, 22:23
Следующий вариант схемы, добавлен однонаправленный LPT порт, вроде должен работать. Это уже точно конечный вариант:73371
А я ВВ55 поставил бы - один корпус, а возможностей гораздо больше, чем с простым регистром-защелкой, места займет не намного больше. Кстати, на схеме вывод OUT2 у ВИ53 не задействован. Можно добавить ВВ51+MAX232 и подключаться к "большому брату" через COM порт:D. OUT2 использовать для тактирования ВВ51.
С подключением к ПК пока не разобрался, может все-таки придется брать ВВ55
Проще использовать последовательный порт на ВВ51 - это более распространенный и программно поддержанный интерфейс. ВИ53 для тактирования ВВ51 использовать совсем не обязательно - можно в тактовом генераторе использовать кварц подходящей частоты - 4.9152МГц, 9.8304МГц, 19.6608МГц. Если процессор тактировать частотой 4.9152МГц, поделить ее на 8 и подать на ВВ51, то можно получить две скорости порта - 9600 и 38400.
Temych640
28.08.2020, 12:37
Ладно, я что-нибудь придумаю и обязательно поставлю. Я никак не могу разобраться, как включить текстовый режим 5х7 у дисплея QC12864B. Вы не могли бы сказать, как работает знакогенератор для вашего дисплея? Я так понимаю, он работает в графическом режиме, тогда картинка рисуется горизонтальными полосами длинной в 8 пикселей. Тогда еще нужен генератор развертки, или я что-то не понимаю?
Я использовал графический дисплей FDCG12864 без встроенного знакогенератора, поэтому задача по отрисовке символов полностью ложится на ЦП. Коды символов хранятся в ПЗУ вместе с основной программой. Чтобы вывести определенный символ, процессор по номеру символа по очереди извлекает коды из знакогенератора и отправляет их в дисплей. Подробнее можно почитать, например здесь: http://www.embed.com.ua/mikrokontrollernyiy-konstruktor/displey-wg12864-chast-1/. У QC12864B стоит другой контроллер, поэтому работа с ним отличается от FDCG12864 , так что надо смотреть даташит.
Shumadan
07.09.2020, 22:06
Я использовал графический дисплей FDCG12864 без встроенного знакогенератора, поэтому задача по отрисовке символов полностью ложится на ЦП. Коды символов хранятся в ПЗУ вместе с основной программой. Чтобы вывести определенный символ, процессор по номеру символа по очереди извлекает коды из знакогенератора и отправляет их в дисплей. Подробнее можно почитать, например здесь: http://www.embed.com.ua/mikrokontrollernyiy-konstruktor/displey-wg12864-chast-1/. У QC12864B стоит другой контроллер, поэтому работа с ним отличается от FDCG12864 , так что надо смотреть даташит.
Если брать на Али как их распознать?
Тот дисплей, который я применил построен на базе контроллера KS0108. Найти такие на Али довольно просто: нужно в строке поиска ввести "ks0108 lcd", ну а дальше выбрать тот, который по цвету больше нравится. Только есть два нюанса: 1)у разных производителей может отличаться расположение ног, на это нужно обратить внимание перед покупкой. 2)для работы дисплея необходим источник отрицательного напряжения. Как правило, он уже имеется на плате индикатора, но встречаются дисплеи и без него.
Temych640
19.10.2020, 19:57
Я постоянно изменял и модифицировал схему своего компьютера, но остановился на этом варианте 73750. Решил оставить всего 32кб ОЗУ, немного переделал схему для дисплея на контроллере KS0108, так как я не представляю, как бить изображение пополам горизонтально для дисплея на ST7920. Клавиатура будет отдельной, потому что я нашел подходящий корпус, чтобы сделать что-то на подобии ноутбука. Кстати, у меня возник вопрос - можно ли сделать генератор кадровых и строчных синхроимпульсов на таймере 8253 и выводить таким образом изображение на телевизор? Потому что я совсем запутался в схеме генерации KS и SS в Ленинграде, и собственно два моих Ленинграда не работали в области этого генератора.
можно ли сделать генератор кадровых и строчных синхроимпульсов на таймере 8253 и выводить таким образом изображение на телевизор?
Думаю, что да. Мне как-то тоже приходила в голову такая мысль. Главное, можно будет относительно просто менять видеорежим. Только пиксельклок напрямую нельзя будет подавать на вход - не потянет.
Идея разработчикам - почему-то до сих пор не сделаны системы простых компов с двумя Z80 и общей памятью.
Второй Z80 можно было бы например приспособить для вывода видеосигнала, или реальная двухпроцессорная система (видео при этом реализуется отдельно, например терминальное)
Делал ещё в начале 90-х. Отдельный 80х25 дисплей на z80 + несколько мс. Эта маленькая примочка припаивалась к Лениград-2 и позволяла иметь Синклер и CP/M со стандартным дисплеем с несколькими кодировками, выбираемыми (с клавиатуры) на ходу и сверх шустрым скроллингом.
Temych640
21.10.2020, 15:53
Ради интереса попробовал спроектировать схему еще одного компьютера на 16-битном процессоре 8088. В итоге вышла такая схема: 73762 .640кб ОЗУ, 128кб ПЗУ, 256кб FLASH-ROM. Рабочая частота ~ 4 МГц. Вывод планирую на дисплей 240х128 на контроллере ra6963. У меня несколько вопросов:
1) Я не понял, как сделать кнопку RESET, то есть к чему подтягивать конденсатор и резистор, на что замыкать кнопку?
2) Нужно ли подтягивать через резистор к плюсу мультиплексированную шину данных процессора?
3) Будет ли работать клавиатура по тому же принципу, как и в компьютере KeKcа, или нужен буфер?
4) Ну и вообще, работоспособна ли эта схема?
Temych640
23.10.2020, 15:15
Я тут стал проверять свои схемы, и заметил, что неправильно подключил адресные входы микросхемы 155ИД4. Посмотрев даташиты, я увидел разную информацию по поводу входов A0,A1. Тут https://www.microshemca.ru/ID4/ написано, что A0 на 3 выводе, A1 на 13 выводе. Тут http://xn----ctbgeuhdtdb2b.xn--p1ai/cfiles/market/3524/1579758424.pdf тоже. А на известном сайте http://vicgain.sdot.ru/spmikro/smikr6.htm написано наоборот, что A0 на 13, а А1 на 3. Также написано, что 74LS155 полный аналог ИД4, но также отличается положение адресных входов. Кто-нибудь знает, где правда?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot