RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Апрель 2024
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930     

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


"Радио-86РК". Статьи, заметки, очерки, разное...

Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty "Радио-86РК". Статьи, заметки, очерки, разное...

Сообщение  Viktor2312 Пт Сен 23 2016, 13:27

1
*


Последний раз редактировалось: Viktor2312 (Вт Фев 19 2019, 18:44), всего редактировалось 1 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty Re: "Радио-86РК". Статьи, заметки, очерки, разное...

Сообщение  Viktor2312 Сб Янв 21 2017, 15:44

2
резерв.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty IN/OUT в системах на 8080 без системного контроллера

Сообщение  barsik Сб Май 04 2019, 20:20

3
Почитывая на досуге вражеские книги и журналы на тему антикварных микропроцессоров (благо проблем с знанием вражеских языков нет), узнал недавно, как следовало с пользой использовать наличие в КР580 команд IN/OUT. Оказывается, чтобы использовать команды IN/OUT совершенно необязательно ставить системный контроллер СК ВК28 (или делать его аналог вокруг 589ИР12 на мелкой логике).

IN/OUT выгодны тем, что они 2-х байтовые, тогда как команды работы с ОЗУ (если не считать косвенную адресацию) - трёх-байтовые. Когда идёт битва за каждый байт, что типично для кода прошиваемого в ПЗУ, то возможность применить IN/OUT становится ценной. Например, лишь из-за нелегального использования команд IN/OUT в РК-ДОС её автор Е.Седов выиграл в объёме кода ~полсотни байт (что вызвало впоследствии много горя при процессоре Z80).

Т.к I/O-портов всего 256, то в РК86 достаточно выделить в области памяти одну страницу в 256 байт. В РК найти свободные сплошные 256 адресов не проблема. Чтобы поиметь 256 портов в памяти, но с которыми можно работать командами IN/OUT, хитрые враги обычно делают так.

Они при работе команд IN/OUT хитро выдают на старшую половину шины адреса (msb) старший адрес страницы выделенной для портов. Например, если мы решили отдать портам участок A000...A0FF, то надо выдавать при OUT на адреса A15...A8 число $A0.

Процессоры 8085 и Z80 сразу дают /IORD и /IOWR, которые можно объединить на двух диодах и резисторе, получив сигнал /IO о том, что идёт команда IN/OUT. А вот при КР580 требуется получать его из "слова состояния", для чего надо по фронту SYNC защёлкивать в 155 ТМ2 биты D4 и D6, а инверсные выходы этих триггеров также объединить двумя диодами. Полученный с помощью 2-х диодов сигнал /IO, когда он равен 0, свидетельствует, что идёт работа с портами.

Если по этому сигналу /IO выдавать на шину данных адрес страницы портов в памяти (в данном примере это $A0), то с портами отображёнными в память можно работать командами IN/OUT, как при наличии системного контроллера. Выгоднее всего старший (msb) байт адреса страницы портов выдавать с помощью двух 555 КП11, т.к при этом одновременно адреса A15...A8 процессора буферизуются. Но можно использовать отключаемый 8-ми разрядный буфер АП6 и резисторы привязки (что даёт страницу портов FF00).

Эти КП11-тые при не OUT-командах пропускают через себя адреса A15...A8 от процессора, а при OUT командах выдают в линии A15...A8 msb-байт адреса страницы портов. Если изменять число набранное на входе КП11, то страницу портов можно "гонять" по всему адресному пространству, что, кстати, и делается в «Корвете» (позволяя создать конфигурацию наиболее удобную для конкретной задачи, например, там одна конфигурация портов для МГ-бейсика и совсем другая для CP/M).

Причём, интересно, что мы получаем порты, которые читаются и по обращению в память и по IN/OUT, что даёт нам ещё больше выигрыша. Во-первых, скорость. LD A,(HL) вдвое быстрее, чем IN A,(port). Во-вторых, мы можем проверять один флаг по биту D7 всего одной командой. Например, INC (HL) при HL указывающем в порт выдаст во флаге Signum значение бита D7 порта, что экономит нам команду OR A. При этом возможность работать с портами двухбайтовыми IN/OUT, и экономить тем самым объём кода в некритичных к скорости местам, сохраняется.

Не знаю дошла ли эта идея до узколобых, что читают этот форум (малоизвестный среди энтузиастов антикварных компьютеров), потому подскажу лишь, что если бы разработчики «РК86» читали в своё время вражеские книги, то они могли бы израсходовать на порты не 32 тысячи адресов, а всего 256, получив при этом выигрыш в объёме кода за счёт двухбайтовости команд IN/OUT, причём не увеличивая число корпусов (даже уменьшив его на один корпус).

PS. Подсказка для технически малограмотных. msb на вражьем языке означает "most significant byte of word or address".
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty .

Сообщение  barsik Сб Авг 03 2019, 07:26

4
Ставить микросхемы памяти вторым этажом догадались не только авторы РК86. Чуть раньше до этого додумались японцы из фирмы Hitachi, когда в начале 80-тых разрабатывали свои клоны моторолловских микроконтроллеров 6801 и 6805. Наряду с микроконтроллерами в которых программа хранится в ПЗУ с УФ-очисткой и масочных (программируемых при изготовлении на заводе) они изобрели двухэтажные микроконтроллеры совместимые с теми по цоколёвке.

Вторым этажом ставится обычное УФ-ПЗУ типа 2764...27256. И если в традиционных микроконтроллерах за 35 лет встроенное в кристалл УФ-ПЗУ сдохло, то двухэтажные микроконтроллеры пригодны для использования и 35 лет спустя. В них можно любое число раз изменять прошивку (а если используемое перепрограммируемое УФ-ПЗУ сдохнет, не проблема заменить его на новое).

"Радио-86РК". Статьи, заметки, очерки, разное... Hitachi-HD68P01V07.1564788518

"Радио-86РК". Статьи, заметки, очерки, разное... Hitachi-HD68P05V07.1564787796
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty .

Сообщение  barsik Пн Янв 18 2021, 11:27

5
В 1990-тые годы и даже нулевые (т.е 200x) на компьютеры почти всегда ставили 25-ти штырьковый разъём параллельного интерфейса нужный для подключения принтера. Наличие такого интерфейса позволяло без всяких хлопот и не тратя микросхем осуществлять обмен программами между 8-ми разрядкой и PC, причём в обе стороны. К сожалению, затем появились USB-порты и постепенно параллельные порты (а также и последовательные с 9-ти контактным мышиным разъёмом) исчезли из новых моделей PC.

Потому возникла совсем не простая проблема как передавать файлы на 8-ми разрядку (в обратную сторону уже не столь актуально, т.к все файлы с МГ-лент и дискет 8-ми разрядок были "подняты" на винчестеры PC еще в середине 90-тых). Т.к чтобы обслужить USB-порт так, чтобы конвертировать данные выдаваемые на этот порт в вид доступный для восприятия 8-ми разрядкой нужен целый отдельный микроконтроллер с памятью. Это сделать м.быть и не очень сложно для инженеров специализирующихся на МК, но такое устройство явно нелампово, т.е нарушает принципы ретро компьютинга (использование деталей эпохи).

Недавно мне пришла в голову достаточно странная и м.быть даже тупая идея использовать оптронную передачу через экран PC. Всякий компьютер имеет экран. А написать программу которая в заданных местах экрана выводит то белый квадратик (например 8*8 или 16*16), то чёрный, можно даже на бейсике (компиляторе, хотя и скоростей интерпретатора хватает).

Приклеив в это место экрана скотчем фотодатчик, т.е фотодиод или фоторезистор, мы с минимальными трудозатратами получим гальванически развязанную низкоскоростную линию передачи. Т.к у современных плоских дисплеев время послесвечения всего 1 мс (у дисплеев 15-ти летней давности это обычно 4 мс), то скорость передачи будет почти такой же, как и скорость обмена с магнитофоном.

Это конечно идиотское решение проблемы и кто-то станет смеяться, но, как говорится, "на безрыбье и рак рыба" и "лучше хоть как, чем никак". Для тех же целей можно использовать светодиоды на клавиатуре PC (хотя инерционность светодиодов не намного лучше). Чтобы упростить интерфейс удобно использовать две такие оптронные линии (по одной цепи ставим данные по второй выдаём строб), что позволяет выжать максимальную скорость, которую позволяет инерционность экрана PC.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty .

Сообщение  Viktor2312 Пн Янв 18 2021, 11:53

6
(а также и последовательные с 9-ти контактным мышиным разъёмом)

Если стандартный, последовательный, порт RS232 позволяет подключить через него, манипулятор типа "мышь", это не значит, что он мышиный. С таким же успехом его можно было бы назвать модемным или любым другим устройством обозвать.

Т.к чтобы обслужить USB-порт так, чтобы конвертировать данные выдаваемые на этот порт в вид доступный для восприятия 8-ми разрядкой нужен целый отдельный микроконтроллер с памятью. Это сделать возможно и не очень сложно для специалистов, но такое устройство явно нелампово, т.е нарушает принципы ретро компьютинга.

Для этого существуют просто микросхемы, "жёсткой логики" подключается кварц и чуток обвязки и готово. С одной стороны подключается USB порт от РС с другой стороны выход последовательного порта. Кварц обычно в районе 12 МГц. (Схем полно, ищите в журналах 2000-х годов) Я сам видел лично такую схему, простенькая до ужаса, умещается на платке 50 х 50 мм, без применения SMD, ну может кроме самой микросхемы, сейчас трудно будет найти такую в DIP. Вот название и номер, год, запамятовал, да и не нужно мне было, просто случайно наткнулся пару месяцев назад.

Недавно мне пришла в голову достаточно странная и м.быть даже тупая идея использовать оптронную передачу через экран PC. Всякий компьютер имеет экран. А написать программу которая в заданных местах экрана выводит то белый квадратик (например 8*8 или 16*16), то чёрный, можно даже на бейсике (компиляторе, хотя и скоростей интерпретатора хватает).

Приклеив в это место экрана скотчем фотодатчик, т.е фотодиод или фоторезистор (например из оптронного датчика индексной дырки или нулевого трека старого 5-ти дюймового дисковода) мы с минимальными трудозатратами получим вполне гальванически развязанную низкоскоростную линию передачи. Т.к у современных плоских дисплеев время послесвечения всего 1 мс (у дисплеев 15-ти летней давности это обычно 4 мс), то скорость передачи будет почти такой же, как и скорость обмена с магнитофоном.

Лучше 8, и пару для подтверждения данных, выставили байт, 9-й сообщили, что данные готовы для считывания. Идея интересная, не новая, и бесполезная, так как сейчас полно матерей за дёшево и с COM и с LPT портами и с USB нет проблем, при желании. Но увидеть такое в действии было бы здорово, вот только 1 фото диод, не интересно, а 8...9 это было бы шикарно, главное рядом не забыть поставить компактную паровую машину, оформленную в рэтро стиле конца XIX века, это придало бы антуража!

Это конечно идиотское решение проблемы и кто-то станет смеяться, но, как говорится, на безрыбье и рак рыба. Для тех же целей можно использовать светодиоды на клавиатуре PC (хотя инерционность светодиодов не намного лучше). Чтобы упростить интерфейс удобно использовать две такие оптронные линии (по одной цепи ставим данные по второй выдаём строб), что позволяет выжать максимальную скорость, которую позволяет инерционность экрана PC.

У меня на системном блоке стоит два мощных светодиода белого свечения, они постоянно мигают, я думал всё, к чему это, а это оказывается мой комп, пытается со мной общаться, то-то он там наверно потешается, какой я тупой, что даже не могу считать данные, ведь один это данные, второй это строб... Smile

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения