- ЗУ для БК на телефонной флешке
-
? dima83 - 05.12.2017 12:26
Подключать магнитофон и дисковод к БКшке сейчас не актуально. Ни у кого не появлялась мысль как спаять для БК модуль записи информации на флеш-накопители?
-
? BD@ - 05.12.2017 19:05
http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5510
¤
http://forum.pk-fpga.ru/viewforum.php?f=15
-
? dima83 - 06.12.2017 07:20
Спасибо, конечно. Но собрать такой модуль самому нереально!
-
? dima83 - 06.12.2017 07:42
Если за основу положить пик контроллер среднего семейства (напрмер pic16f628) и при необходимости расширить его входы несколькими регистрами. В одном из номеров журнала "Радио" публиковалась статья Р.Мухутдинова "Музыкальный звонок на pic-контроллере", где описывалось устройство считывания информации с CD-карты (телефонная флешка).
-
? a214 - 06.12.2017 11:23
и щас придурковатые БК-шники начнут собирать эту схему ...
(ну воткните в свой крутой ПыК на выход звюка)
-
? dima83 - 06.12.2017 12:48
я говорю о ROM-диске. при чем тут звук?
-
? BD@ - 06.12.2017 15:25
Ну запиши на mp3-плеер/телефон свои файлы магнитофонным копировщиком (типа CF50) хоть на 4800 бод и все. Вот тебе и ROM/RAM-диск, если задача скроить, и даже на конструктор http://zx-pk.com/forum/viewtopic.php?f=7&t=611 денег жалко...
-
? dima83 - 10.12.2017 09:44
с магнитофона очень медленная загрузка. денег не жалко, просто наши деньги отличаются от ваших и не конвертируются
-
? dima83 - 10.12.2017 09:50
кроме того там платы подключается к флоппи дисководам и винчестерам! Зачем??? Когда можно все заточить под флеш-карту, которая вместит в себя 100 таких дисководов и винчестеров)
-
? BD@ - 10.12.2017 11:51
плохо читал )) у CompactFlash карты IDE интерфейс, в SMK512 под нее даж разъем есть, в SMK64 - через переходник.
-
? dima83 - 10.12.2017 14:48
да я уже разобрался. но уж больно сложная схемотехника, прошивки... как то по-проще бы надо, что бы собрать самому можно было. Ассемблер запускать, небольшие файлы сохранять...
-
? Дмитрий - 10.12.2017 22:09
>> Ассемблер запускать, небольшие файлы сохранять...
Для этого и эмулятора за глаза, незачем железку насиловать.
-
? Alexander Tishin@ - 12.12.2017 06:06
Спаять модуль для работы с СД-картой можно, это пять деталей, но как ты с неё собираешься грузиться? В любом случае необходим какой-то драйвер и, соответственно, ПЗУ с ним. Без прошивки никак.
-
? dima83 - 13.12.2017 07:55
В любом случае в эмуляторе прогу мы пишем, что бы потом ее перенести на реальную бк.
На счет драйвера я с вами полностью согласен! Но пусть это будут доступные микросхемы I2C памяти, которые можно зашить "на коленках" череp JDM-программатор.
В журнале Персональный Компьютер БК 1996 №1 публиковался материал по данному вопросу (Модуль хранения программ для БК). Хотелось бы перенести это на современную элементную базу...
-
? a214 - 14.12.2017 08:26
= В журнале Персональный Компьютер БК 1996 №1 публиковался материал по данному вопросу (Модуль хранения программ для БК). =
Перерисуйте эту схему в удобо-читаемый вид и будем упрощать наполовину ... :) Горячо любымые ММ 531АП2 выинем в первую очередь ...
Эту схему повторить было невозможно потому что полу-видимая "догадайся мол сама што куды иде" и лишних микросхем много. В программе парочка обшибок есть, так по мелочи.
-
? dima83 - 14.12.2017 12:19
? a214 - 14.12.2017 08:26
простите за вопрос, но вы подобное уже собирали?
-
? dima83 - 14.12.2017 12:21
? a214 - 14.12.2017 08:26
может сначала упростить задачу и загнать небольшую прогу на ассемблере - воткнул модуль и она сама загрузилась минуя бейсик?
-
? dima83 - 14.12.2017 13:20
Блок МСТД ведь по такому же принципу работает - с него напрямую загружается фокал.
-
? gid - 14.12.2017 15:10
Блок МСТД - это просто ПЗУ, которое садится на шину МПИ вместо ПЗУ бейсика. Сравнение с каким-либо контроллером тут неуместно.
А бейсик и фокал - это просто программы, которые выполняет процессор, потому что он должен же что-то выполнять во время работы компьютера. Вместо бейсика или фокала в том же ПЗУ может быть всё, что душа пожелает и хватит умения приспособить прогу для работы из ПЗУ.
-
? a214 - 14.12.2017 15:51
? dima83 - 14.12.2017 12:19
? a214 - 14.12.2017 08:26
простите за вопрос, но вы подобное уже собирали?
-
= то что там не-внятно нарисоно невозможно было собрать - это было пол-БК. Если кто-то и собрал оно бы и не заработало, там были парочка ошибок в ПО (оно в тхт и 100% разборчиво и понятно - с самого начала есть принципиальная авторская ошибка про регистры и дальше может какие обпечатки)
-
? a214 - 14.12.2017 16:02
? dima83 - 14.12.2017 12:21
? a214 - 14.12.2017 08:26
может сначала упростить задачу и загнать небольшую прогу на ассемблере - воткнул модуль и она сама загрузилась минуя бейсик?
-
Воткнутый блок МСТД отключает Бейсик = в МСТД есть свободная панелька для КР537РУ11А с ёмкостью в восьмеричных адресах 1000 - этого для любого супер-загрузчика хватит ...
-
? dima83 - 14.12.2017 16:03
ну вот давайте прикинем минимальный набор деталей что бы собрать что то подобное
-контроллер (рic16f628)
-пара регистров
-i2c схема памяти
-телефонная micro SD карта (допустим 512 кб)
этого достаточно?
и что дальше делать?
-
? dima83 - 14.12.2017 16:09
пожелания к устройству следующие (по мере возможности конечно):
чтение программ в машинных кодах (bin файлы) и в среде бейсик
¤
то, что желательно:
автоматический запуск (безо всяких команд типа S16000)
интерфейс с выводом списка файлов, хранящихся в ПЗУ (SD-карта)
возможность не только запускать уже имеющиеся файлы, но и сохранять написанные программы на БК
(конечно ассемблер бк-0010-01 не потянет или нет?)если что то можно еще, то предложите...
-
? dima83 - 14.12.2017 16:12
да и самое главное, это совместимость файловой системы (допустим FAT32) с обычным копьютером, дабы иметь воозможность перекидывать скомпелированные ассемблеровские проги
-
? BD@ - 14.12.2017 16:29
А драйвер, прогу которая писать\читать будет на SD, предлагается каждый раз грузить с магнитофона? и куда? Так что надо ПЗУ, например 2 шт. РФ5 или одну 1801РР1. Прошивку ты напишешь сам? ОС поддерживающую FAT32 тоже?
Велосипед уже изобретен ))
-
? grf - 14.12.2017 16:39
dima83, все уже спаяли, написали драйвера, ОС с поддержкой FAT32 и назвали SMK-512 ))
-
? a214 - 14.12.2017 16:42
? dima83 - 14.12.2017 16:12
да и самое главное, это совместимость файловой системы (допустим FAT32) с обычным копьютером, дабы иметь воозможность перекидывать скомпелированные ассемблеровские проги
-
Щчас обписаюсь ... я очень старый и никого не обижаю - но что-то не так про файловую 32х - ??? каталог в десятки раз больше чем вся память БК
-
? dima83 - 17.12.2017 07:32
Давайте будем во всем последовательны:
1. Я не говорю о програмной совместимости fat32 и бк. Пусть это будет проблеммой пик-контроллера, который будет выступать посредником при передачи файла от флешки к бк (и наоборот).
2. Я уже упонминал статью про электронный звонок, где файловая система как раз таки fat32. Значит пику под силу обмениваться информацией с флешкой в данном формате.
¤
BD@ - 14.12.2017 16:29
А драйвер, прогу которая писать\читать будет на SD, предлагается каждый раз грузить с магнитофона? и куда? Так что надо ПЗУ, например 2 шт. РФ5 или одну 1801РР1. Прошивку ты напишешь сам? ОС поддерживающую FAT32 тоже?
Велосипед уже изобретен ))
Зачем все усложнять? Сейчас мало кто будет возиться с РФшками и РРками всякими! Небольшой драйвер будет зашит в самом пик контроллере. Вспомните про статью об электронном ROM-диске. Там прога всего 11 слов! Далее управление будет передоваться меню списка файлов (тело загрузчика), которое тоже будет находится на флешке.
¤
Вопросы есть касаемо дислокации бин файлов на SD-карте. Т.е. при простом копировании файла на флешку, возможна ли его коректная загрузка в бк? И еще, когда мы вставляем блок МСТД в системный разъем, то фокал загружается по умолчанию. Так? Значит есть возможность загрузить и нашу приблуду безо всяких команд.
-
? Дмитрий - 17.12.2017 11:39
>> когда мы вставляем блок МСТД в системный разъем, то фокал загружается по умолчанию. Так? Значит есть возможность загрузить и нашу приблуду безо всяких команд.
Говорилось уже - микросхема Фокала "садится" на МПИ вместо Бейсика, поэтому работает без загрузчиков. Пик (или его ПЗУ) на шину просто так не посадишь. В любом случае нужна ПЗУ, замещающая Бейсик как Фокал, но с загрузчиком для пика.
-
? dima83 - 17.12.2017 12:17
Это понятно. Давайте теперь разберем схемотехнику блока МСТД:
¤
16ти разрядный порт системной магистрали ДА00Н - ДА15Н включаются параллельно разрядам 2х ПЗУ КР1801РЕ2А
¤
выводы CS (CE) - притянуты к земле (т.е. мс работаю в параллельном режиме) (тут тоже есть вопрос - как они друг другу не мешают)
¤
вывод 1 DIN (по даташиту RD - сигнал "чтение") подключениы к А30 ВБ Н (ИС D1) и А23 ВВОд Н (ИС D2)
¤
вывод 3 SYN (синхронизация) на обоих ИС к выводу В22 СИА Н
¤
вывод 21 (непонятно что это) - притянут по питанию
¤
вывод 22 (тоже непонятно что это... WE, но по даташиту ее вообще нет) - притянут по питанию
¤
вывод 2 (RPLY) - оба на В20 СИП Н
¤
разъясните пробелы в подключении
-
? dima83 - 17.12.2017 12:19
да, и самое главное, А14 БЛК притянут к земле и блокирует чтение ПЗУ Бейсик с адреса 16000 так?
-
? dima83 - 17.12.2017 12:40
пардон не к земле, а к питанию
-
? dima83 - 17.12.2017 13:33
Выяснил, что выводы 21 и 22 (А16 и А17) это дополнительные выводы ИС1801 РЕ1. Я так понимаю, что они в работе не участвуют и поэтому притянуты к питанию.
-
? dima83 - 17.12.2017 15:52
и еще один нюанс: при параллельном включении 1801 РЕ2 под адресные входя используются разряды с D1 по D12, а разряды с D13 по D15 используются для выбора самой ИС (их может быть до 8 соединенных впараллель). По логике получается, что если бы в МСТД была установлена всего лишь одна МС, то для дешифрации адреса хватило бы всего 12 разрядов?
-
? BD@ - 17.12.2017 17:20
только в самих рр/ре биты прошиваются, чтоб было ясно с каких адресов им откликаться.
-
? gid - 17.12.2017 17:42
[По логике получается, что если бы в МСТД была установлена всего лишь одна МС, то для дешифрации адреса хватило бы всего 12 разрядов?]
нет, нужны все 15. Внутри микрух 1801РЕ, 1801РР есть встроенный селектор адреса, по которому микросхема и определяет, когда обращаются к ней, чтобы выдать на шину данные и сигнал RPLY.
Селектор как раз смотрит три старших разряда адреса. Эти три разряда жёстко и однократно задаются при программировании микросхемы и называются её адресом. Перепрограммировать их потом уже нельзя (даже у 1801РР). Поэтому эти ПЗУ можно тупо вешать друг на друга бутербтродом, если у них разные адреса. Отключаются от шины подачей высокого уровня на ногу 23.
А14 БЛК как раз тот сигнал, который отключает от шины микросхемы бейсика, чтобы их место заняли микросхемы фокала и тестов с теми же адресами.
¤
А почему фокал запускается автоматически? Да просто потому, что так записано в программе монитора. При старте БК в мониторе после всяких инициализаций выполняется команда CALL @#120000, и если по этому адресу есть бейсик - запускается он, если есть фокал - запускается он, если ничего нету - остаётся работать монитор и ждёт команды пользователя.
-
? BD@ - 17.12.2017 19:52
2gid, он успокоится, когда дешифратор на рic16f628 попытается изобрести. ждем полгодика, пока ))
-
? BD@ - 17.12.2017 22:13
для dima83, изучающему БК, готов отправить http://storage4.static.itmages.ru/i/17/1217/h_1513537332_9215381_a039362d2f.jpg по цене почты/доставки до Нового Года. На CF-ке есть все, даж чего не надо. После НГ - продам на аукционе, наверное ))
-
? dima83 - 18.12.2017 07:28
? BD@ - 17.12.2017 22:13
Спасибо Вам огромное за предложение, но к сожалению, наши "сумы" ни один банк мира не приинмает)
Вы совершенно верно подметили, я хочу поговорить именно о дешифраторе на пике.
-
? dima83 - 18.12.2017 07:37
А мысль довольно простая - загнать с помощью пика и двух сдвиговых регистров самую примитивную программу в машинном коде в БК. Да еще так, что бы она запускалась автоматом при включении питания.
-
? dima83 - 18.12.2017 07:40
Если я все правильно понял, то при подключении блока и включении питания происходит считывание двух МС ПЗУ блока МСТД последовательно, т.е. в сумме 16 КБайт?
-
? dima83 - 18.12.2017 10:01
единственно что я пока не очень понимаю протокол обмена кб с внешним пзу. если можно разнисните мне это пожалуйста
-
? gid - 18.12.2017 10:20
[Если я все правильно понял]
неправильно. ПЗУ находятся в адресном пространстве, доступном CPU, и программа оттуда выполняется ровно так же, как и из ОЗУ, только из ПЗУ.
¤
[загнать с помощью пика и двух сдвиговых регистров самую примитивную программу в машинном коде в БК]
невозможно силами только самого пика. Со стороны БКшки кто-то должен принимать данные со сдвиговых регистров, т.е. должен быть драйвер-загрузчик, который обычно размещают в своём ПЗУ. Данные можно принимать по ТЛГ линии на порте УП (только иногда её(линию) надо допаять проводочками, иногда - просто нужную перемычку замкнуть, на очень старых БК - ничего не надо, там всё сделано на заводе). Можно на МПИ навесить свой регистр и с него принимать сразу байтами или словами данные. А можно и побитно, тут от фантазии и умения в схемотехнику зависит.
¤
[Да еще так, что бы она запускалась автоматом при включении питания.]
Можно сделать, чтобы драйвер-загрузчик запускался автоматически, а уже он запускал принятую прогу. По-другому никак.
¤
[единственно что я пока не очень понимаю протокол обмена кб с внешним пзу]
Протокол обмена по шине МПИ описан в ГОСТ 26765.51-86 "Интерфейс магистральный параллельный МПИ системы электронных модулей. Общие требования к совокупности правил обмена информацией", легко гуглится, но не легко понимается. Он един для всех устройств на на шине МПИ, будь то ПЗУ, ОЗУ, процессоров, контроллеров и всего, что угодно, работающего по протоколу интерфейса "Общая шина".
-
? dima83 - 18.12.2017 10:44
А можно по подробнее о программе-загрузчике? Чем она отличается от обычных программ?
По идее это машинный код, при получении которого проц должен выполнять некоторые инструкции так?
Значит он должен последовательно давать команды на загрузку нашего файла (программы) в оперативу бк и последней должна быть команда на исполнение. Так?
-
? dima83 - 18.12.2017 11:34
И еще мне очень непонятен такой момент, если в сисемной области ПЗУ бейсика начинаются с адреса 12000 (по 17760), то какой адрес появится на шинах ДА00Н-ДА15Н при подключенном МСТД в момент включения питания БК?
-
? gid - 18.12.2017 12:15
[Чем она отличается от обычных программ?]
Ничем. Это обычная программа, и она будет такой, какой вы её напишете.
[Так?]
Технически так, но практически пользы от этого нет. Она должна загружать в ОЗУ основную систему, в которой будет реализована работа с пик-контроллером, и которую так же придётся писать вам.
¤
После включения БК, адрес запуска берётся из регистра 177716, мл. байт игнорируется.
Для БК10 там 100000. БК стартует с этого адреса, там находится монитор БК. Монитор запускается, делаются разные инициализации, потом выполняется команда CALL @#120000. И если по этому адресу что-то есть, то оно и запускается.
-
? dima83 - 18.12.2017 12:28
Ну слава Богу контроллер я знаю лучше, чем БК. Там в системной шине не нужно особо разбираться)
Скажите, а что на портах ДА15Н-ДА00Н формирует эта команда? Просто адрес или код команды + адрес? Если можно подробно.
-
? dima83 - 18.12.2017 12:34
Если я правильно понимаю, то сформируется такое состояние порта:
1010000000000000
что произойдет на линиях А23(ввод Н), В20 (СИП Н), В22 (СИА Н), А30 (ВБ Н) и А29 (ЕН) ?
-
? gid - 18.12.2017 12:40
Не понимаю вашу терминологию. И не понял вопроса. Диаграммы обмена данными даны в ГОСТ 26765.51-86 там всё ясно и почти чётко нарисовано, что зачем, в каком порядке шевелится на линиях.
-
? dima83 - 18.12.2017 14:38
Ну просто порт системной шины 16 разрядный, для обращения к адресу 120000 нужно задействовать все 16 разрядов. Ведь мы имеем дело не простым портом ввода-вывода, а с системной шиной. Тут еще и другой вопрос возникает: если шина системная, то все комманды БК (запись в память, в регистры, в драйверы) так же должны отображаться на этой шине т.е. на разъеме МПИ? Я, в принципе, не программист, а электронщик, поэтому мне нужно знать не просто какая команда загоняется в системную шину, а каково состояние каждого пина этой шины в каждый момент времени.
-
? dima83 - 18.12.2017 14:43
Вот смотрите, я думал, что повешу на шину свои регистры сдвига, но они ведь, получается, будут мешать прохождению информации от других внутренних устройств? Т.е., например, если я загоню в регистры все одиницы (лог 1) равно как и нули (лог 0), то у меня шина "сядет", т.е. проц уже не сможет никому и ни куда передать, пока не введу свои регистры в стостояние "Z"?
-
? dima83 - 18.12.2017 15:16
или же например при выполнении како либо команды (например из бейсика) может "проскочить" по шине цифра 120000, значит она тоже отобразиться на шине? т.е. как понять это просто информация "бегущая" по шине или это запрос на периферийный модуль подключенный к шине?
-
? dima83 - 18.12.2017 15:45
Нашел еще информацию по данному вопросу (может кому интересно): Журнал "Вычислительная техника и ее пременение" 1991 г. №11 "Кассета ОЗУ-ПЗУ" для БК 0010 (стр.41). Схема хорошо читаема.
-
? dima83 - 18.12.2017 15:46
http://ruecm.forum2x2.ru/t369p25-topic
-
? gid - 18.12.2017 16:33
[а каково состояние каждого пина этой шины в каждый момент времени.]
Verilog модель процессора 1801ВМ1 погонять в мультисиме подойдёт? брать там http://zx-pk.ru/threads/23978-tsifrovaya-arkheologiya-1801-i-vse-vse-vse.html
-
? gid - 18.12.2017 16:43
на пост ? dima83 - 18.12.2017 15:16
Пока вы внимательно не изучите, и не прочитаете ГОСТ 26765.51-86
Пока не переведёте описанные там словами алгоритмы обмена данными на шине с ужасного формального языка на простой понятный разговорный язык. Как там всё работает, так и будет оставаться непонятной загадкой.
¤
Хотя, можно поискать информацию по 1801ВМ1, начав с википедии, там где-то были ссылки на статьи из журнала "МПСС", где давалось популярное описание работы процессора, с более менее человеческим описанием циклов обмена данными по шине.
-
? a214 - 19.12.2017 19:51
(? dima83 - 18.12.2017 15:16
или же например при выполнении како либо команды (например из бейсика) может "проскочить" по шине цифра 120000, значит она тоже отобразиться на шине? т.е. как понять это просто информация "бегущая" по шине или это запрос на периферийный модуль подключенный к шине?)
-
ВМ1 выдаёт ВСЕ свои адреса и циклы на шину (в данном случае на МПИ, в том числе регистры внутренней дешифрации 177714, 1777716), например Вы захотите в БК-0010 сделать первичный запуск не со 100000 а со 163000 или как там в ДВК - делайте ловушку на МПИ регистра начального запуска и к 100000 младшие разряды добавьте ...
-
? a214 - 19.12.2017 19:59
В Бейсике и не-Бейсике можете обращаться по ЛЮБЫМ адресам, В Бейсике можно прочитаете значение из 120000, записать туда не получится потому что там ПЗУ, но если на МПИ сделать что-то с дешифрацией только-запись то там может быть например второй видео-адаптер или любые регистры символьного или графического дисплея как в ДВК.
-
? Alexander Tishin@ - 20.12.2017 00:13
dima83, советую всё же изучить работу шины МПИ. Понять, зачем на ней есть сигналы SYNC, DIN, DOUT, RPLY. Это и есть ответ на вопрос.
¤
Второе: на шине ничего не "отображается". Это не индикатор. Это канал передачи данных. На неё выдаются данные и принимаются всеми заинтересованными устройствами.
-
? dima83 - 21.12.2017 10:33
Да я уже скачал журналы по БК и ГОСТ по шине и несколько других журналов... Но вопросы все же остаются. Надеюсь, что Вы мне поможите в них разобраться.
-
? dima83 - 21.12.2017 10:38
? Alexander Tishin@ - 20.12.2017 00:13
Ну тогда скажите пожалуйста что будет на шине при обращении к первой МС ПЗУ Бейсика по адресу 120000?
-
? gid - 21.12.2017 11:54
Ну я могу ответить. На шине будет точно такая же диаграмма, которая в ГОСТе обозначена как Черт.5 на стр.14. Только на АД вместо слова "Адрес" надо подразумевать число 120000, вместо слова данные - число 012701 (первое слово микросхемы ПЗУ Бейсика БК10 1801РЕ2-106). Словесное описание последовательности появления/снятия сигналов дано там же, в п.п. 4.2.1.х
¤
Вообще, на первом этапе из ГОСТа достаточно усвоить всего три диаграммы: Чтение (Черт.5), Чтение-модификация-запись (Черт.6), Запись (Черт.7). И их словесное описание из п.п. 4.2.1.х.
¤
Ничего другого на шине в БК больше не делается. Только последовательность этих вот трёх диаграмм в разных комбинациях, плюс диаграммы прерываний при их возникновении. Ну и однократно - стартовая последовательность (Черт.15) при включении питания.
¤
Описывать их словами - долго, нудно и не интересно.
-
? dima83 - 21.12.2017 12:10
Так вот теперь давайте по порядку:
120000 - это адрес 1й МС ПЗУ Бейсик согласно системной шины, но ведь ведь обращаться то нужно непосредственно к адресному пространству самой МС?! Стало быть в любом случае первоначальное обращение начнется с адреса "А1 - А12" т.е. "000000000000", а в разряды "А13-А15" должен быть занесен код данной микросхемы (кстати чему он равен?). Иными словами произвойдет дешифрация адреса.
-
? dima83 - 21.12.2017 12:16
Соответственно, при обращении ко второму ПЗУ Бейсик, шинный адрес которого 140000 всепроизвойдет аналогично, лишь с той разницей, что в разряды "А13-А15" будет записан другой адрес.
-
? dima83 - 21.12.2017 12:19
ПЗУ Бейсика имеют обозначение: КР1801 РЕ2А - 106, 108 и 107. Так чему равен из внутренний адрес "А13-А15"?
-
? dima83 - 21.12.2017 12:22
И почему тогда ПЗУ блока МСТД, которые подменяют ПЗУ Бейсика имеют другие обозначения - 019 и 018 ведь накакой другой дешифрации более не происходит ?
-
? dima83 - 21.12.2017 13:37
Внимательно узучив схему дешифрции в статье "Кассете ОЗУ-ПЗУ для БК 0010", выяснил, что адрес 1й - ПЗУ Бейсик составляет "110" - "А15-А13". Примечательно, что разряд А12 так же участвует в дешифрации, поскольку с него начинается обращение ко второй группе ПЗУ, т.е. к следующим 4м килобайтам информации. В схеме использованы ИС ПЗУ К537 РФ5 по 2 КБайта каждая.
-
? gid - 21.12.2017 13:45
106, 108 и 107, 019 и 018 - это просто кодовые номера, по которым можно узнать, что записано в ПЗУ, просто взяв их в руки и посмотрев глазами.
¤
[Так чему равен из внутренний адрес "А13-А15"?]
смотреть там http://forum.pk-fpga.ru/viewtopic.php?f=4&t=5369 (столбец Chip Code)
Не забываем, что на шине МПИ все сигналы инвертированы.
¤
[но ведь ведь обращаться то нужно непосредственно к адресному пространству самой МС?!]
нет. Обращаться надо к доступному адресному пространству 000000..177777, внутри которого и находятся все доступные ПЗУ.
¤
[Иными словами произвойдет дешифрация адреса.]
Ну и произойдёт. И что? Дешифрацию адреса делают все устройства, сидящие на ОШ и имеющие на ней ресурсы: порты, регистры, память и т.п. Это такой принцип работы. Микросхема ПЗУ - одно из таких устройств.
Потому что шина одна на всех, активное устройство - в данном случае процессор выставляет адрес, и устройства должны сами узнать, какому из них этот адрес принадлежит, чтобы принять/выдать данные и сигнал RPLY.
-
? BD@ - 21.12.2017 13:47
офф. черкни e-mail на bdv01(собака)bk.ru
СДЭК возит к вам ))
-
? gid - 21.12.2017 13:54
[Примечательно, что разряд А12 так же участвует в дешифрации]
А вот в дешифрации адреса регистра 177716 в микросхеме 1801ВП1-037 участвуют разряды А15..А1.
Очевидно же, что чем меньше используемых адресов устройства сидят на общей шине, тем больше разрядов нужно, чтобы опознать свой адрес.
-
? dima83 - 21.12.2017 14:14
стоп-стоп! Почему шина инверсная???
Входы регистров-защелок - прямые!
Входы-выходы ПЗУ тоже прямые!
Единственно, что может быть инверсным это сигналы управления: Синхр, чтение, запись, ответ.
-
? dima83 - 21.12.2017 14:19
? BD@ - 21.12.2017 13:47
офф. черкни e-mail на bdv01(собака)bk.ru
СДЭК возит к вам ))
я вам написал в агент
-
? dima83 - 21.12.2017 14:22
Ну в общем правильно - обратившись к адресу 120000, мы попадаем в нулевую ячейку ПЗУ, к 120001 - к в первую и т.д.
-
? gid - 21.12.2017 15:33
[стоп-стоп! Почему шина инверсная???]
потому что. Это такой же факт, как вода - мокрая, а масло - масляное. Убедиться в этом можно, воспользовавшись логическим анализатором. Адрес 120000 на шине он покажет как 057777
¤
[120000, мы попадаем в нулевую ячейку ПЗУ, к 120001 - к в первую и т.д.]
У ПЗУ (конкретно у 1801РЕ и 1801РР) 16 разрядная архитектура. Они не умеют выдавать байты. На байты, которые нужны, получаемое слово делит процессор.
Причём это всех устройств касается, не только ПЗУ. Просто примите как данность, что на шине МПИ обмен идёт всегда словный, даже если нужен байт, выдаётся всегда слово, и устройство само должно решать, какой байт из слова ему нужен, и как им распорядиться.
-
? dima83 - 21.12.2017 15:34
теперь если можно давайте разберем сигналы управления. На диаграмме уж очень все смещено и непонятно
-
? dima83 - 21.12.2017 15:57
Судя по тем материалам, которые я прочитал, при обращении процессора к области 120000 на системной шине сформируется вот такая картина:
110000000000000
-
? dima83 - 21.12.2017 15:58
R15-R1, нулевой разряд в дешифрации адреса участвовать не будет, но будет участвовать при выдаче слова от ПЗУ
-
? dima83 - 21.12.2017 15:59
теперь если мы, например, прошили ПЗУ и записали в 0 адрес какую нибудь команду, типа mov R0,R1
¤
и подключили эту пзу к шине с заблокированным бейсиком, то что будет дальше?
¤
при включении бк она обратится к этой ПЗУ по этому адресу и выполнить эту команду
¤
а дальше?
-
? dima83 - 21.12.2017 16:05
по логике я понимаю, что процессор начиная с 120000 начнет "шагать" все глубже и глубже в пзу выполняя одну команду за другой? так?
-
? dima83 - 21.12.2017 16:07
т.е. программа будет выполняться непосредственно из ПЗУ?
-
? gid - 21.12.2017 16:51
[На диаграмме уж очень все смещено и непонятно]
Если там непонятно, посмотрите вот туда http://www.emuverse.ru/downloads/datasheets/processors/k1801/k1801-844012-18.djvu
Это вырезка статьи про 1801ВМ1 из журнала МПСС №4-1984.
Там диаграмма чтения дана на рис.3 и описана более популярными терминами.
Вообще, про проц 1801ВМ1 с такими диаграммами писалось ещё где-то, в каком-то справочнике, но я не помню где. И с ходу не нашёл, а ГОСТ 26765.51-86 под рукой всегда.
¤
[сформируется вот такая картина: 110000000000000]
это 140000. А 120000 - это 1010000000000000. Но этим данным будет предшествовать установка сигнала BSY... в общем и далее по диаграмме.
¤
[при включении бк она обратится к этой ПЗУ по этому адресу и выполнить эту команду]
Нет. Адрес запуска БК10 - 100000, БК11 - 140000. Чтобы поменять адрес запуска на свой без модификации БК, можно посмотреть, как это сделано в контроллерах СМК (подсказка - наложение ПЗУ на область регистров в момент запуска, чтобы получить свой адрес запуска в регистре 177716)
¤
>>? dima83 - 21.12.2017 16:05
[так?]
>>? dima83 - 21.12.2017 16:07
Очевидно же, что да. Между прочим, так работают абсолютно все компьютеры. И до сих пор. И даже божественный IBM PC. Даже любой современный компьютер при запуске начинает выполнение программ из ПЗУ, как бы они не назывались (ROM BIOS, UEFI и т.п.)
-
? dima83 - 22.12.2017 08:57
Говоря об адресе 100000 вы имеете в виду пусковой монитор, но после его загрузки он передаст управление бейсику (я это имел в виду)?
-
? dima83 - 22.12.2017 09:05
На счет адреса это либо ошибка в статье либо уже не знаю что. Сказано же, что "... на схеме показано ее включение для адресов 120000 - 137777...) по схеме дешифратор к555ид5 имеет инверсный выход с 6го разряда, а значит будет работать только в случае записи в его двоичные разряды числа 110 (бин) !
-
? gid - 22.12.2017 11:41
Схемы без ошибок в то время - большая редкость. В этой схеме мало того, что с окном ошиблись, она включается по адресам 140000-147776. Так ещё не учли, что регистры-защёлки адреса не инвертирующие. Видимо скопипастили с обычных для того времени схем с инвертирующими регистрами. Если посмотреть почти абсолютно такую же схему в ПК БК №1-1993, статья начинается со стр.72,
то там уже дешифрация правильная. Регистры-защёлки адреса те же самые, ловится комбинация бит 15-13 - 001, и правильно написано, что работает в адресах 140000-157777
-
? dima83 - 22.12.2017 11:58
Значит первая ПЗУ (120000) Бейсик имеет адрес кристала: 101
вторая ПЗУ (140000) : 110
а третья ПзУ (160000) : ???
-
? gid - 22.12.2017 12:44
А слабо заглянуть в табличку на http://forum.pk-fpga.ru/viewtopic.php?f=4&t=5369 ?
Учтите, что адреса кристалла тоже инвертированы.
-
? dima83 - 22.12.2017 15:07
Бейсик БК-0011, первая микросхема 010
Бейсик БК-0011, вторая микросхема 001
Бейсик БК-0011, третья микросхема 000
¤
Значит имеем на системной шине соответственно:
¤
120000 - 101000000000000
140000 - 110000000000000
160000 - 111000000000000
¤
теперь правильно?
-
? dima83 - 22.12.2017 15:45
Теперь поясните мне как как загнать в нашу "виртуальную" ПЗУ с адреса 120000 какую нибудь программу в машинном коде что бы она выполнялась прямо из ПЗУ. Насколько я понимаю при ассемблировании программы мы получаем бинарный файл, у которого первым словом идёт адрес загрузки, вторым - размер файла, совместимый с эмуляторами. Я так понима, что эти два слова нам не нужны и зашивать наше ПЗУ мы будем только самой программой? Далее, если в программе имеются метки и переходы, то насколько коррекно они будут отрабатываться ведь ассемблер "думает", что мы поместим нашу программу в ОЗУ, не в ПЗУ!?
-
? gid - 22.12.2017 16:02
Если ассемблируете кроссассемблером турбо, то он умеет создавать raw файл, без бин заголовка, чтобы не отрезать его вручную, когда он не нужен.
[насколько коррекно они будут отрабатываться]
Это зависит от программиста. Если хотите, можно писать позиционно независимый код, работающий в любом месте. Если хотите - можно транслировать прогу с определённого адреса, допустим 120000. И работать она будет только, если будет размещена по этим адресам.
Всё отличие программ для ПЗУ в том, что все переменные и буферы хранятся не в программе, а в заданном месте ОЗУ. Ну и нельзя самомодифицирующийся код применять.
-
? dima83 - 25.12.2017 10:02
Понятно. В любом случае проще проще загонять прогу в озу. И как я понимаю размер файла и адрес его начальной загрузки используются только загрузчиком для правильного размещения проги в ОЗУ?
-
? dima83 - 25.12.2017 10:33
имея все вышесказанное, можно обрисовать схемотехнику устройства:
¤
оно должно иметь:
¤
- полноценный 16ти разрядный порт ввода-вывода с z-состоянием
- 4 порта для работы с сигнала управления шиной (синхр, чтен, запись, ответ)
- 4 порта для работы с CD-картой
¤
такое количество портов имеется только у микроконтроллеров старшего семейства, либо придется объединять несколько пиков среднего сесмейства....
-
? dima83 - 25.12.2017 15:11
Тут недавно поднимался вопрос об использовании последовательного (телеграфного) канала БК для загрузки файлов с линии. Можно как то более подробно описать как это происходит и что для этого нужно?
-
? MM - 25.12.2017 16:58
Что нужно для загрузки с телеграфного канала БК0010 ?
1. Прочесть участок инструкции системного программерка к БК0010, относящийся к командам ЕМТ телеграфа.
2. DESSом в эмуляторе ДВК господина Патрона посмотреть , как устроены собственно эти команды. Можно использовать готовые откомментированные исходники 017 ПЗУ.
3. Спаять несколько проводков для опытов с внешним телеграфным оборудованием.
¤
Так же позвольте обратить Ваше внимание, что первоначальная загрузка по ТЛГ ограничена скоростью 2400 Бод, ввиду общего недостатка быстродействия БК, и в силу того, что некотрые команды процессор 1801ВМ1 исполняет с немного разными таймингами, которые Очень критичны на скоростях программного обмена, особенно свыше 2400 Бод.
Однако, после первоначальной загрузки программа пользователя может заниматься дозагрузкой самостоятельно, с др. скоростями.
-
? dima83 - 26.12.2017 10:04
Да, спасибо. Руководство системного программиста я читал. Там сказано, что для организации работы по ТЛГ каналу необходимо доработать БК (как именно не сказано). Далее описываются команды ЕМТ40, ЕМТ42, ЕМТ14, ЕМТ46, ЕМТ50. Не очень понятно что именно нужно сделать для загрузки какой либо программы с линии, т.е. что вводить, откуда и в какой последовательности. Так же интересует вопрос автозагрузки с линии при включении БК (если это конечно возможно).
-
? gid - 26.12.2017 10:27
[доработать БК]
там от модели БК зависит. Надо посмотреть схему БК (есть в интернете), посмотреть на плату БК. И либо замкнуть перемычки S2, S3, либо пробросить проводочки если таких перемычек вовсе нету, соответственно схеме.
[Не очень понятно что именно нужно сделать]
Можно написать свою программу, которая будет использовать указанные EMT. Можно в мониторе БК вместо команды M использовать команду L для загрузки файлов с ТЛГ линии вместо магнитофона.
[(если это конечно возможно)]
Абсолютно невозможно. На стоковой БК в принципе не предусмотрены никакие автозагрузки с чего-либо. Всё нужно делать самому с нуля. Начиная с аппаратных средств, заканчивая софтом к своему железу. Не каждый может довести это дело хотя бы до половины дела. Именно поэтому БК-сообщество и загнулось.
-
? dima83 - 26.12.2017 10:36
Понимаю... У меня БК0010-01. Если есть подробное описание протокола буду рад ссылке.
-
? MM - 26.12.2017 11:09
В советской DEC - машинерии принято для начала исследовать :
1.Аппаратную часть.
2.Ассемблер MACRO.SAV из стандартной поставки RT-11 V5.00.
3.Машинные коды, в восьмеричном и двоичном виде.
4.RT-11, не менее, чем команды управления диском с клавиатуры - копирование файлов, блоков диска и т.п. ( толстенная книга ).
Ну и как студенту, получившему диплом - "проект пользователя".
Если есть непреодолимое желание сократить меню выше по списку - это вызовет лишь потери времени, тем большие, чем больше будете сокращать.
*
Грузить БК0010 с Фокалом ( 084 ПЗУ ) можно внешними источниками данных через блок ИРПС с адресами 176560. При этом БК0010 готова к загрузке данных сразу после включения питания ( как локальный контроллер ЧПУ, до 12 контроллеров на 1 шт. управляющую ЭВМ ДВК-2 ).
-
? dima83 - 26.12.2017 11:09
Значит, как я понял, работа с ТЛГ заключается в принципе "что есть на линии, то и загружаем" ни какого выбора нам не предоставляется. А если, допустим, я работаю в ассемблере, например в турбо, я могу сохранять файл по ТЛГ? Или если пишу прорамму в бейсике?
-
? S_V_B@ - 26.12.2017 11:37
Для удовлетворения любопытства можно подключить Ардуину с флэшкой.
Во первых там готовый COM порт и библиотеки для работы с SD.
¤
1. Придумать протокол для общения с ардуиной типа (привет-привет, есть флэшка - есть, покажи список файлов и.т.д)
2. Чтобы сохранять из басика перехватить ЕМТ 36.
3. Сделать прогу резидентной (по прерыванию может) там где ее басик не достанет.
¤
Хотя это чисто академический интерес. не удобно.
Лучше копать СМК там уже люди гигантскую работу провели.
-
? dima83 - 26.12.2017 12:56
Исходя из того, что обмен по системной шине реализовать достаточно трудно ввиду сложности и объемности самой шины, то можно придумать что то типа этого по ТЛГ каналу. В принципе выход в монитор из бейсика командой "MO" и загрузка программы загрузчика через ТЛГ канал командой "L" тоже не сложные операции. Ну а далее будет запускаться программа, обеспечивающая доступ к остальным файлам...
-
? Terra - 26.12.2017 13:51
Ещё интересный проект в тему http://zx-pk.ru/threads/26952-qbus-mpi-blaster-rabota-s-shinoj-bk-napryamuyu-cherez-kom-port-usb.html
-
? dima83 - 26.12.2017 14:43
Подружить контроллер с USB-флешью это моя мечта. Только материала по этому вопросу чрезвычайно мало.
-
? dima83 - 26.12.2017 14:52
Теперь давайте разберемся с портами ТЛГ канала. По схеме, вроде бы, эти порты находятся составе порта ввода-вывода, а именно (ПРД-перемычка S2-РЕ31-В2), (ПД-перемычка S3-РЕ32-В3), есть еще ПРТ Н-В1 и СБРОС Н-А1. Так какие из них предназначены для приема и передачи информации, а какие для приема и передачи сигналов готовности. И еще каким образом кодируются биты информации?
-
? BD@ - 28.12.2017 21:42
2 dima83 проверь имэйл на rаbмler.ru
-
? dima83 - 29.12.2017 08:22
Вчера открыл свою БКшку в поиске портов для ТЛГ. Нашел ПРД (прием данных) D12(1) и ПД (передача данных) D13 (13), а линии сигналов готовности найте не смог.
-
? gid - 29.12.2017 10:02
Потому что готовность/неготовность определяется пользователем БКшки.
потому что ТЛГ - это совсем не то же самое, что ИРПС/UART. Это такой эрзац последовательная передача данных для нищебродов. Реализуется сугубо программным способом + ручной труд по запуску этих программ.
Ибо блоки ИРПС/КЛС и т.п. с 1801ВП1-035/1801ВП1-065 на борту могли иметь только жители З., П-П. и может быть М., в остальном СССР их могли иметь не только лишь все, мало у кого их было.
¤
А вообще, линия готовности по планам была, но выродилась в 0, бит готовности приёмника передачи с БК просто завели на землю (нога 12 микросхемы D12 КР531Ап2), и теперь приёмник всегда готов. И если он не готов, то БК передаёт данные в никуда.
Готовность передающей стороны определяется по сигналам на линии приёма данных (см исходники).
¤
[И еще каким образом кодируются биты информации?]
См. исходники монитора БК10, EMT 40 - EMT 50. (В исходниках драйверного модуля файл D6.mac) В инете есть ещё файл 100000z5x.lst - дизассемблированный листинг ПЗУ монитора, с комментариями.
Постить сюда портянку смысла нет.
-
? dima83 - 29.12.2017 10:24
Так значит 12 нога D12 определяет готовность удаленного приемника к приему информации от бк? Если он "на земле" БК считает, что приемник готов и начинает передавать... Стало быть если я встану осциллографом на 13 ногу D13 и введу из монитора комманду "L", то я увижу последовательную передачу произвольного байта?
-
? gid - 29.12.2017 11:51
Командой L можно только принять данные. Вообще монитор БК предназначен для загрузки данных с мЛ или ТЛГ и запуска прочитанной программы, больше там ничего нету.
Прежде чем садиться куда-то осциллографом, надо написать простенькую программу для передачи хотя бы байта.
Однако, работа с ТЛГ каналом нигде в общедоступной документации БК подробно не описана. Примеров нет. И если кто-то когда-то где-то этим и занимался, то результаты он оставил при себе.
Поэтому, заинтересованным лицам придётся заниматься этим самостоятельно. Освоить ассемблер, программирование на нём, изучить исходники драйвера ТЛГ канала, в том числе, что делается по команде Л, и написать свою программу, которая будет что-то передавать, и смотреть результаты на осциллографе.
-
? dima83 - 29.12.2017 12:03
Но перед тем, как БК начнет что-то принимать произойдет инициализация ТЛГ канала, которая сведится к предаче произвольного байта в линию и приема оного обратно в БК (Руководство системного программиста стр.23).
-
? dima83 - 29.12.2017 12:18
Кажется я допер (если что, то подправьте). Регистр управления внешними устройствами 177716 имеет выход на внешние устройства (разряды: 4-7).выходной регистр:
Разряд 4 используется для передачи инфы на линию (исх. сост-е "лог 1") - по схеме это будет вывод 13 мс D13.
Разряд 5 - передача инфы на м-фон либо сигнала готовности на линию (исх. сост-е "лог 0") - вывод 11 или 12 мс D13
¤
входной регистр:
¤
Разряд 4 - чтение информации с линии вывод 1 D12
Разряд 7 - чтение сигнала готовности с линии (т.е. 12 вывод мс D12 которая посажена на землю"
-
? dima83 - 29.12.2017 13:00
Сейчас просмотрел файл D6, где описываются комманды работы с тлг и пришел к выводу, что ввод команды "L" из монитора приводит к последовательному выполнению команд: EMT40, EMT42 и EMT 44
-
? gid - 29.12.2017 13:43
[Но перед тем, как БК начнет что-то принимать...]
Охотно верю, т.к. самому проверять никогда в голову не приходило. Не нужно мне было это ТЛГ, ни тогда, когда у меня была БК10 и магнитофон, ни потом, когда была БК11 и дисковод, ни тем более сейчас, когда БК лежит на полке в виде ностальгического раритета.
¤
[Кажется я допер...]
Всё так. Но это вроде бы прямым текстом написано в том же Руководстве системного программиста, кроме выводов микросхем.
¤
[ввод команды "L" из монитора ]
да нет вот. Вот оно что делается по команде Л (см. файл D1.mac):
¤
; TLG-КАНАЛ
; ---------
¤
INDTLG = 40 ;- ИНИЦИАЛИЗАЦИЯ ДРАЙВЕРА ТЛГ-КАНАЛА
; ВХОД: R0 - НОМЕР СКОРОСТИ
¤
PDBYT = 42 ;- ПЕРЕДАЧА БАЙТА
; ВХОД: R0 - МЛ.Б. НА ПЕРЕДАЧУ
¤
PRBYT = 44 ;- ПРИЕМ БАЙТА
; ВЫХОД: R0 - МЛ.Б. ПРИНЯТ
¤
PDMAS = 46 ;- ПЕРЕДАЧА МАССИВА
; ВХОД: R1 - АДРЕС МАССИВА
; R2 - ДЛИНА МАССИВА
¤
PRMAS = 50 ;- ПРИЕМ МАССИВА
; ВХОД: R1 - АДРЕС БУФЕРА МАССИВА
; R2 - ДЛИНА МАССИВА
¤
; -----------------------------
; ** 1. ЧТЕНИЕ ФАЙЛА С ЛИНИИ **
; -----------------------------
¤
PCTTLG: EMT PRBYT ; УСТАНОВКА СВЯЗИ
EMT PDBYT
¤
MOV #BUFSTA,R1 ; ПРИЕМ АДРЕСА И ДЛИНЫ
MOV #4,R2
EMT PRMAS
TST R5
BEQ 1$
MOV R5,BUFSTA
¤
1$: MOV BUFSTA,R1 ; ПРИЕМ МАССИВА
MOV BUFDL,R2
EMT PRMAS
JSR R5,PPCT ;- ПЕЧАТЬ СООБЩЕНИЯ
.WORD TFZ
¤
RTS PC
¤
А EMT 40 выполняется при инициализации монитора в п.п. EMT 14. При этом устанавливается максимальная скорость обмена 9600 бод. И нигде больше не меняется.
-
? dima83 - 29.12.2017 14:03
я скачал архив, но этого у меня нет. дайте прямую ссылку пожалуйста
-
? dima83 - 29.12.2017 14:05
сорри, нашел!
-
? dima83 - 29.12.2017 14:09
прокомментируйте пожалуйста следующие строчки:
¤
PCTTLG: EMT PRBYT ; УСТАНОВКА СВЯЗИ
EMT PDBYT
-
? gid - 29.12.2017 15:48
Без комментариев.
Я не понимаю как работает приём/передача данных по ТЛГ каналу.
PCTTLG: EMT 44 ; УСТАНОВКА СВЯЗИ
EMT 42
Тут делается именно это: "Но перед тем, как БК начнет что-то принимать произойдет инициализация ТЛГ канала, которая сведится к предаче произвольного байта в линию и приема оного обратно в БК (Руководство системного программиста стр.23)"
Как и почему это должно работать, я не знаю. Но скорее всего БК<->БК так вот между собой общаться смогут, ибо между собой то договорятся. И даже скорее всего на самых первых вариантах БК, на Фокале когда-то это делалось.
-
? dima83 - 29.12.2017 16:06
Так и хочется спросить откуда же Вы узнали про 12ю ногу ис D12? Это прям военная тайна какая то)
-
? dima83 - 29.12.2017 16:24
В любом случае я проверю это
-
? BD@ - 29.12.2017 18:43
c ТЛГ возиться - себя не уважать )) блочки ИРПС на вп1-035 прилагались к КУВТ-86 в количестве 12 шт. )) успешно использовались на БК для подключения модема, правда на скорости 9600.
для обмена с РС, тем более через USB, надо было немного извратиться
http://storage2.static.itmages.ru/i/17/1229/h_1514561893_5101897_77c02cc824.jpg
http://storage6.static.itmages.ru/i/17/1229/h_1514561774_4234940_364e3829e4.jpg
немного этой темой интересовался.. и вот такое спаял на вп1-065 по схеме ММ
http://storage2.static.itmages.ru/i/17/1229/h_1514562096_6563293_4fc6783e4e.jpg
http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5606
-
? dima83 - 30.12.2017 07:41
С Наступающим Вас Праздником Нового года!
Спасибо BD за ссылку, но вп1-065 наврятли сейчас где-либо можно найти.
А вот контроллеро пик и атмега море.
-
? dima83 - 30.12.2017 07:58
Итак отчитываюсь о вчерашней проделанной работе:
Подтверждаю слова тов. gid, что при вводе "Л" Бк ничего не передает, а только принимает - на выв. 13 мс D13 - полная тишина. Далее, из листингов протокола обмена, а так же с учетом того, что сигнал готовности с линии (готовность к приему) (выв. 12 D12) притянут к земле понятно, что сначало нужно запустить команду "Л" на принимающей стороне, а затем начатать передачу (как уже это сделать другой вопрос) на передающей стороне. Так же стало понятно, что в процессе приема байта сигнал готовности к приему на принимающей стороне (выв. 12 мс D13 - переход из "1" в "0") сформируется только после приема стартового бита, далее приемник будет ждать окончание стартового бита и только после этого начнет делать выборку по усредненному значению времени длительности бита (по скорости 9600 бод).
-
? dima83 - 30.12.2017 08:12
Кроме того хочу обратить внимание, что принимается не 8 бит, а 16 (т.е. 2 байте за один сеанс)
-
? dima83 - 30.12.2017 08:13
Стоповый бит игнорируется.
-
? dima83 - 30.12.2017 08:38
Вернемся к протоколу передачи: коль уж готовность принимающей стороны в нашем случае игнорируется (хотя сигнал готовности приема на най все же сформируется), то имеем дело только с двумя линиями ПрД - прием данных и ПД - передача данных. Но в моем случае передатчиком будет пик-контроллер, который должен как то узнать о начале приема. Можно, конечно, поставить какую-нибудь кнопочку и нажимать на нее для старта заргузки.
Но, думаю, что можно сделать проще и интереснее. Я заметил, что после подачи команды "Л" на линии приема (выв.1 D12) появляется сигнал, а именно возникают импульсы (лог.0) длительностью 2-3 мкс с периодом следования 20 мкс. В интервалах между прохождением импульсов на линии лог "1". Думаю, что эти импульсы (не знаю откуда они берутся) и будут являться признаком того, что принимающая сторона готова к приему.
-
? MM - 30.12.2017 12:02
Наличие 1801ВП1-065 :
http://www.chipfind.ru/search/?part=1801%D0%B2%D0%BF1+065&s=1&p=1
Платочки, отчасти совместимые с 035 и 065 :
http://zx-pk.com/forum/viewtopic.php?f=35&t=533&hilit=NAI
В т.ч. плата блока ИРПС - 100 руб, и загадочного блока на ВП1 - которая отмечена как "КМК-11" - но децимал не совпадает...
*
Встроенный в БК0010 ТЛГ не работает на скорости 9600 Бод, если только на др. стороне не подогнать тайминги посылок под БКшные.
Реальная скорость, на которую можно рассчитывать - не более 2400 бод.
-
? BD@ - 30.12.2017 12:53
-------
Спасибо BD за ссылку, но вп1-065 наврятли сейчас где-либо можно найти.
-------
да у меня есть в количестве, платы, в т.ч. собранные. но я тебе не положил, ибо софта нет, кроме терминалок.
-
? BD@ - 30.12.2017 13:38
т.е. запустишь ты HyperTerminal на РС, напишешь Hello world, прочитаешь на БК... и всё. Файл даже не сможешь передать, т.к. Z-MODEM сделан только для БК11М. на БК10 работает только TRANSIT, но его не удалось DESSом расковырять, т.к. расчитанан на модем и ждет от него ответа вываливаясь...
-
? dima83 - 30.12.2017 13:43
MM тут скорее вопрос спортивного интереса, как бы сказать "открыть окно для БКшки во внешний мир", т.е. собрать устройство способное одновременно обмениваться информацией с БК и хранить в себе пользовательские файлы. Ну даже теоретически если бы у меня и была плата ИРПС, она же сама по себе бесполезна, т.е. к ней нужно подключать другой компьютер и у же с него загружать проги в бк?
BD а у вас хотел спросить нет ли на этом форуме ветки посвященной SMK64?
-
? BD@ - 30.12.2017 14:18
на pk-fpga.ru все разжевано, чего же более?
-
? dima83 - 30.12.2017 14:34
BD описание то есть конечно, но оно, как бы сказать, сугубо техническое
Хотелось подробно, типа при включении на дисплее отображается то то, происходит инициализац я и загрузка того то ... Потом вы мне писали, что необходим дисковод, что нужно скопировать что то на него... а где объяснения зачем для чего? Говорят, что на нем ОЗУ разное установлено... и тд....
-
? dima83 - 30.12.2017 14:36
А вообще без дисковода обойтись нельзя? Возможна ли работа на оссемблере с БК0010-01 при использовании данного блока? Возможно ли сохранение файлов (в том числе с бейсика)
-
? dima83 - 30.12.2017 14:39
Вобщем документ типа Руководства системного программиста Для БК
-
? BD@ - 30.12.2017 14:43
убил )) жди посылку. там все есть, даже дисковый бейсик и фокал ))
-
? dima83 - 30.12.2017 14:44
Как то я пару статей написал на Радиолоцман, так я настолько все подробно разжевал, что у редактора не было ко мне никаких вопросов. И вообще надо стараться ориентироваться на самого "глупого")
-
? dima83 - 30.12.2017 14:47
Правда последнюю мою статью не приняли. У тов. Николаева возник вопрос по поводу терминологии "передний фронт и задний фронт", и как я не пытался ему доказать ( в виде чертежей и графиков), что передний фронт это нарастающий, а задний это спадающий, он был не приклонен.
-
? dima83 - 30.12.2017 14:50
А еще тов. Николаев ни как не мог понять, что ик-диод пульта излучается не линейно, а дискретно, т.е. двойная модуляция - протокол NEC + несущая частота. Эх, беда с этими главными редакторами. Наболело!
-
? BD@ - 30.12.2017 15:19
тебе просто надо выпить, чтоб разобраться с БКшным софтом писанным 20 лет назад.
дисковод или флоппи-эмулятор
http://bk0010.org/forum/?id=29863
нужен для скачивания образов дискет из инета, для дальнейшего переноса на БК.
-
? dima83 - 30.12.2017 15:27
Спасибо, конечно, но я не пью. Там нет ничего сложно, я вчера глянул на листинги драйверных модулей, я так жа в пиках прописывал, только мнемоника немного другая.
-
? dima83 - 30.12.2017 15:29
BD Вот скажи мне пожалуйста если у меня нет ни дисковода, ни жесткого диска я могу полноценно с твоей флешки 4Gb работать?
-
? dima83 - 30.12.2017 15:32
BD загружаться с ANDOS так же командой S160000 ? Или он может автоматически загружаться?
-
? BD@ - 30.12.2017 15:43
------
но я не пью
------
ну все... однозначно не разберешься. все же просто, да )) реверс 1801ВМ всех номерков ждем с нетерпением, для прошивки в pic. тогда БК будет не занимать место на столе, платка разъемами будет ограничена ))
http://zx-pk.com/forum/viewtopic.php?f=7&t=5176
-
? dima83 - 30.12.2017 15:57
Ну это уже идиотизм собирать клоны на аврах!
А вам, разработчикам, не приходило в голову, что лучше бы все таки сделать автозагрузку, ато ведь s160000 не каждому под силу запомнить! Ведь сколько раз обсуждалось, что можно заблокировать ПЗУ Бейсика и передать автоматом управление на системную шину по адресу 120000?
-
? BD@ - 30.12.2017 16:07
1. СМК грузится сразу! не надо S160000 набирать
2. дисковод не надо первый год, т.к. с тем, что CFке ты разобраться будешь...
-
? dima83 - 30.12.2017 16:11
BD Дим, но согласись, это же можно было описать? У него есть свой собственный програмный интерфейс? Как он работает? Или это тупо контроллер обращения к накопителям?
-
? BD@ - 30.12.2017 16:21
я пьян уже. все описано в анналах, даже на этом сайте
-
? dima83 - 30.12.2017 16:22
то, что ты уже отмечаешь я понял
-
? dima83 - 30.12.2017 16:24
если сможешь собери мне всю информацию по ней, ато я же весь мозг вынесу))
-
? dima83 - 30.12.2017 16:35
BD http://bk0010.org/forum/?id=30014
-
? dima83 - 02.01.2018 07:05
А ТЛГ-протокол давйте обсуждать тут: http://bk0010.org/forum/?id=30035
-
? dima83 - 19.01.2018 15:58
Итак протокол ТЛГ канала рализован и осуществлена загрузка небольших программ непосредственно из программной памяти пик-контроллера. Теперь необходимо усложнить задачу, а именно использовать внешний носитель. Поскольку USB-flash подключить к pic12f629 не получится, то остается использовать micro-SD карту от мобильных телефонов.
- << Форум