Ещё сразу в догонку. Тема вроде называется "Железо", предполагаю что сюда можно.
Видел где-то сообщение об отсутствии схемы контроллера ЛВС хотя в загрузчике его поддержка есть.
Сегодня просматривал исходник "kish2.asm", на предмет узнать протокол обмена...
Честно говоря, я в замешательстве...
1. Протокол абсолютно НЕ интерактивен (хотя казалось бы ЛВС!), т.е. как протокол магнитофона, принимает последовательно пакеты без возможности что-то запросить, повторить, и т.п.
2. Складывается впечатление, что протокол не доделан, или вернее испорчен. В текущем состоянии он скорее всего может принять корректно только 32 байта, т.к. нет корректного окончания приема, окончание приема происходит сбоем передачи.
3. Мне кажется, что не возможно принять пакет в самое начало памяти по адресу 0000h - пакет с таким адресом просто игнорируется как не корректный.
Нашел как они это "обходят" пакету на адрес 00 присваивают номер 8.
а остальные номера пакетов по порядку 1...7 (всего их 256байт/32байт=8пакетов в блоке).
Каждый новый блок (256байт) начинается служебным пакетом с номером 0.
А в общем, думаю можно подключить ПУ Вектора напрямую к LPT и лить данные, вполне возможно.
Протокол и формат пакетов не сложный.
А если подправить в протоколе несколько команд, будет вполне съедобно...
Если действительно "не в тему" прошу сильно не ругать...
Последний раз редактировалось KTSerg; 29.05.2014 в 11:24.
Вопрос знатокам - кроме загрузчика, использование ЛВС ещё в каких нибудь программах для Вектора встречалось/упоминалось?
Алгоритм работы ЛВС, реализованный в загрузчике оставляет впечатление "куцости" видимо из-за того, что он является "обрезком" от полного алгоритма, и адаптирован конкретно под нужды загрузчика, может поэтому в нем есть "странные места"...
И оставляет ощущение не законченности.
Но протокол загрузчика понятен, формат блоков не сложный.
Если интересно не с практической, а с принципиальной точки зрения, загрузку с ЛВС можно реализовать - не сложно, вариантов исполнения море.
Нужно предоставить Вектору 8 бит данных, и 2 служебных бита, и контролировать один выходной бит подтверждения.
Вот и вся шина ЛВС для загрузчика.
Можете описать протокол подробнее?
Описал протокол ЛВС (Загрузчика).
Пока только "Информационный уровень", т.е. какие байты идут в какой последовательности.
Физический (аппаратный) уровень, типа какой уровень, когда, на каком выводе шины появляется, будет чуть позднее, когда проверю.
svofski(04.06.2020)
Ещё пара находок "в закромах".
1. Совмещённый контроллер дисковода по схеме из Вектор-Юзера, и мыши мм8031.
2. И совмещенный контроллер звуковой ym2149f и той-же мыши мм8031. На плате панелька без микросхемы - это место установки Дешифратора адреса, для обращения к устройствам на этой плате.
Первый вариант делался "на сторону", вторым сам пользовался.
Не знаю, но вдруг кому-то ещё интересно...
Собрал Девайсик, имитирующий Контроллер ЛВС.
В Девайс зашил программку, которая реализует протокол, и небольшую программку, которую нужно загрузить в Вектор (тест ОЗУ).
Собственно всё работает.
Вектор при включении сам сразу выбирает источник "ЛВС" (правда кроме него ничего и не подключено).
Загружает и запускает программку.
На всякий случай, выложу описание протокола и схемку соединения разъёма "ПУ" и "Контроллера ЛВС".
Всётаки в Загрузчике действительно урезанный вариант протокола.
Последний раз редактировалось KTSerg; 31.05.2014 в 18:59.
"... жизнь удалась, если найдётся кто-нибудь, кто заберёт с помойки твои книги и инструменты, когда ты умрёшь". (c) marta_ketro
Любой компьютер, в котором стоят резисторы, компьютером может называться с натяжкой. (с) Д. Михайлов
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)