Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 26

Тема: Добавление новых портов в Орион

  1. #1
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию Добавление новых портов в Орион

    Идея добавить страничную организацию портов:
    Нужно один адрес для записи номера страницы. После сброса там должен быть ноль. Сигнал выбора портов (у Z80 это IORQ) отрезать от старых портов и подать на дешифратор ИД7. На старые порты подать новый сигнал с выхода 0 дешифратора. Для новых портов брать сигнал с выхода 1 дешифратора. На дешифратор подать номер страницы портов. На будущее новые адреса экономить и делать полную дешифрацию младшего адреса
    "L-256"

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какова конечная цель? Или, по простому, для чего это нужно? Каких новых портов не хватает в Орионе?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #3
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    В планах подключение видеоконвертера VGA SPUTNIK 1 с символьным режимом для Ориона и загружаемыми шрифтами. Для него надо 17 адресов для передачи параметров:
    Строка
    Столбец
    Символ
    Текущий цвет фона
    Текущий цвет символа
    И т.д.
    Последний раз редактировалось zx-kit; 01.11.2019 в 05:56.
    "L-256"

  5. #4
    Activist Аватар для SYR-ALEX
    Регистрация
    12.02.2015
    Адрес
    г. Минск, Беларусь
    Сообщений
    429
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    41 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Идея в общем интересная . Нечто подобное есть на ZX - TRDOS . Там возврат в исходный конфиг происходит автоматом . Если Вам удастся реализовать нечто подобное и сохранить обратную совместимость ( старый софт не знающий о страницах портов не будет попадать в неизвестные ему порты ) то наверное не кто не будет против .

  6. #5
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx-kit Посмотреть сообщение
    Для него надо 17 адресов для передачи параметров:
    Строка
    Столбец
    Символ
    Текущий цвет фона
    Текущий цвет символа
    И т.д.
    Если мы говорим про ОРИОН-128, то в нём есть стандартный пул адресов портов для посадки различных ВУ: F700..F7FFh. "Дырок" там, в общем-то, хватает. Под "видеокарту" можно арендовать целую линейку (16 байт), например F77x.


    П.С. относительно текущей занятости я руководствуюсь этими данными:

    F700..F720 - КНГМД
    F730..F733 - ВИ53 (из ж.Радио 1995г, №9, стр.38)
    F740..F741 - ВВ51 (из ж.Радио 1995г, №9, стр.38)
    F760..F761 - 512ВИ1

    DS-Card:
    F780..F78F - резерв
    F790..F79F - КНЖМД
    F7A0..F7AF - AY-музыка (YM2149F)
    F7B0..F7BF - часы на ВИ1 (v2)
    F7С0..F7СF - часы на DS1307
    F7D0..F7DF - SDHC
    F7E0..F7EF - Порт СОМ2 (и COM3) 16С550
    F7F0...F7FF - RAM-диск 1МБ
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  7. #6
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от SYR-ALEX Посмотреть сообщение
    Идея в общем интересная . Нечто подобное есть на ZX - TRDOS . Там возврат в исходный конфиг происходит автоматом . Если Вам удастся реализовать нечто подобное и сохранить обратную совместимость ( старый софт не знающий о страницах портов не будет попадать в неизвестные ему порты ) то наверное не кто не будет против .
    В части программы, где идет обмен с новыми устройствами, надо отключить прерывания и включить новую страницу портов. В конце этого фрагмента включить страницу 0 и прерывания.

    - - - Добавлено - - -

    Цитата Сообщение от Denn Посмотреть сообщение
    Если мы говорим про ОРИОН-128, то в нём есть стандартный пул адресов портов для посадки различных ВУ: F700..F7FFh. "Дырок" там, в общем-то, хватает. Под "видеокарту" можно арендовать целую линейку (16 байт), например F77x.
    Хорошо. Тогда ещё один адрес для включения символьного режима. F76F
    "L-256"

  8. #7
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx-kit Посмотреть сообщение
    Хорошо. Тогда ещё один адрес для включения символьного режима. F76F
    Потенциально опасный вариант. В народе достаточно популярно (ибо была серия плат) подключение часиков 512ВИ1 по адресам F760/F761, и в виду традиционной упрощёнки дешифрации эти часики висят на всей линейке: F762/F763, F764/F765...F76E/F76F.
    Вообще, конечно, бардак с распортовкой на Орионе, но уж - что имеем.

    Без регистра 17-го порта вообще никак не обойтись? На крайняк лучше закинуть его в другую линейку, например в F75x.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #8
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Потенциально опасный вариант. В народе достаточно популярно (ибо была серия плат) подключение часиков 512ВИ1 по адресам F760/F761, и в виду традиционной упрощёнки дешифрации эти часики висят на всей линейке: F762/F763, F764/F765...F76E/F76F.
    Вообще, конечно, бардак с распортовкой на Орионе, но уж - что имеем.

    Без регистра 17-го порта вообще никак не обойтись? На крайняк лучше закинуть его в другую линейку, например в F75x.
    Если оставить 15 + один для включения символьного режима. Но лучше добавить ещё одну страницу "памяти" F7XX для дополнительных портов.
    Последний раз редактировалось zx-kit; 01.11.2019 в 14:00.
    "L-256"

  10. #9
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Потенциально опасный вариант. В народе достаточно популярно (ибо была серия плат) подключение часиков 512ВИ1 по адресам F760/F761, и в виду традиционной упрощёнки дешифрации эти часики висят на всей линейке: F762/F763, F764/F765...F76E/F76F.
    Вообще, конечно, бардак с распортовкой на Орионе, но уж - что имеем.
    Это так выглядит от схемной бедности текущих схемных решений, где так сделано чтобы не ставить сложный дешифратор (сэкономить один корпус). Код часов использует же только F760/F761 чтобы оставить остальные адреса под другие устройства. Это дает то, что если у человека только одни часы, и никакой другой код он не запускает кроме как для управления часами (как и было в 90х), то он ставит простейший дешифратор, а если у кого-то еще завелись Sdcard (которая программно F762/F763 - только на этих 2х адресах), на F764/F765 схема RS-232 на Atmega, на ...F76E/F76F что-то еще аналогично, то никак не трогая софт этот богатый парень просто ставит в дешифратор области F760..F76F одну дополнительную ИД4. И у обоих парней всё работает, и в области портов экономия места.

    С другой стороны, весьма расточительно нарезать под 2 байтовые устройства куски адресного пространства по 16 байт как наблюдаю выше в области F790..F7АF (а под резерв оставлено аж 16 байт) опять же для того чтобы сэкономить одну ИД4 в дешифраторе.

    Цитата Сообщение от Denn Посмотреть сообщение
    Без регистра 17-го порта вообще никак не обойтись? На крайняк лучше закинуть его в другую линейку, например в F75x.
    Да, по возможности если есть способ уместиться в 16 байт (даже за счет уменьшения регистров устройства с 16 до 15), надо стараться туда уместиться.

    Вот например в сетевом адаптере на RTL8019, живущем в адресах F780..F790 не было никакой возможности влезть в 16 байт (там одних служебных регистров строго 16 штук) и поэтому используется 17й адрес F790 для регистра данных. И то, сигнал сброса обычно делаемый через регистр (т.е. дополнительный порт) я аппаратно на плате контроллера обыграл так, чтобы никакой порт не занимать и эмулирую доп. команду уже существующего регистра из 16 управления, а регистр данных F790 (в оригинале это один байт) предусмотрел возможность растягивания на любую область от единичного F790 до диапазона - например F790..F79F (чтобы не пропадал этот фрагмент адресного пространства раз уж влез в него одним байтом) или вообще любого F790..F7xF - в последних случаях в однобайтовый регистр данных можно писать/читать командой LDIR, что дает кратное повышение скорости чтения из сетевой карточки. Вот это я называю рациональным планированием.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  11. #10
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    К сожалению, я тоже подхватил этот тренд - "нарезать по 16", опять руководствуясь не сильно навороченной дешифрацией и принципом достаточности.

    Что касается "пересечений" и "наложений" адресов портов, то уже напарывались тут с новодельными платами. Если использовать только прицельный софт, тогда проблем может и не будет, а как только сталкиваемся с автодетектом полного спектра возможного оборудования, то начинаются "чудеса".
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 13
    Последнее: 25.01.2016, 16:19
  2. ЮТ-88 карта портов I/O
    от palsw в разделе ЮТ-88
    Ответов: 15
    Последнее: 07.03.2015, 18:06
  3. [Поиск 1] Адаптер СОМ-портов
    от DrPass в разделе Поиск
    Ответов: 24
    Последнее: 16.12.2013, 18:12
  4. Ответов: 17
    Последнее: 01.03.2012, 09:17
  5. Описание портов ZX Spectrum
    от Keeper в разделе Несортированное железо
    Ответов: 10
    Последнее: 26.05.2008, 06:00

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •