User Tag List

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 41 по 50 из 91

Тема: Орион-128: Контроллер IDE

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Делаю разрешение записи в F800..FFFF сбросом битов D7 или D7+D6 регистра 0Ah, но тут у меня эмулятор (который неизвестно правильно ли эмулирует) выдергивает из-под программы память, запрещая действие регистра страниц F9 (код проваливается в страницу 0, как я понимаю). Правильно ли это?
    Единственное, что у меня неправильно, это то, что порт 08 и порт F9 считаются одним регистром. На самом деле - там два разных регистра (порт ВВ55 и дополнительный регистр для режима Орион-128).
    D7=0 включает режим Ориона-Про, т.е. доступ к портам через память отключается.
    D6=0 отключает непереключаемую область F000-FFFF (в режиме Ориона-128 не используется).

    Т.е. тебе нужно выводить 40h в порт 0Ah. Перед этим нужно продублировать номер страницы в порт 08, т.к. в режиме Ориона-Про используется этот порт, а не F9. В эмуляторе прокатит и без этого.

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

  3. #2

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Единственное, что у меня неправильно, это то, что порт 08 и порт F9 считаются одним регистром. На самом деле - там два разных регистра (порт ВВ55 и дополнительный регистр для режима Орион-128).
    D7=0 включает режим Ориона-Про, т.е. доступ к портам через память отключается.
    D6=0 отключает непереключаемую область F000-FFFF (в режиме Ориона-128 не используется).

    Т.е. тебе нужно выводить 40h в порт 0Ah. Перед этим нужно продублировать номер страницы в порт 08, т.к. в режиме Ориона-Про используется этот порт, а не F9. В эмуляторе прокатит и без этого.
    Ага! про порт 08 я как раз и забыл.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  4. #3

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В-общем, коллеги, вот преальфа CP/M для Ориона-ПРО работающая на IDE-контроллере на ВВ55 порта F600 (такой порт ВВ55 есть на мультикарте ПРО, надо только добавить переходник с одной 555ЛН1). IDE/CF подключается полностью аналогично тому как подключалась на Орионе-ревизии512 (да и любом Орионе-128 с портм F600). Поддерживается ВИ1 с платы IDE/RTC, но пока на тему ВИ1 уже есть багрепорт и нужна возможно более полная статистика - где как и что.
    https://drive.google.com/file/d/0B3S...ew?usp=sharing

    Для загрузки с этого образа нужно на ПРО выйти в режим Орион-128 в Ордос, запустить MBOOT$ (ищите на форуме - я выкладывал тут где-то, но найти на современном опоганенном движке форума не могу) и использовать загрузку с IDE MASTER (кнопка 5)

    На диске:
    USER0 - стартовые файлы CP/M и UZIX. UZIX сыроват, просто уже был в образе с ОС.
    USER1 - игры ZX
    USER2 - игры 128
    USER3 - несколько музыкальных треков (так то их несколько сотен). Проигрыватели unipl* - для портов BFFD/FFFD как на Спеке - плату AY надо дорабатывать чтобы понимала и дешифрацию Спека!
    USER15 - некий "джентельменский" набор софта для CP/M (от Ориона-128 естественно, но большинство пойдет и на ПРО т.к. работает через драйвер или BDOS/BIOS. А вот дисководные форматеры понятно не заработают, как и не заработают floppy под ОС).

    Образ универсальный, т.е. пойдет и на обычном Орионе с Z80CardII. Но драйвер правленный - экран сдвинут вправо чтобы на ПРО он был по центру (правится, если будет нужно - расскажу как).

    В принципе можно подумать на тему запиливания в ОС поддержки IDE c платы IDE/RTC ПРО - если дадите выверенные подпрограммы инициализацииIDE/чтений_сектора/записи_сектора

    Большое спасибо Дмитрий2012 за бета-тестирование! (своего реала у меня пока нет - ленюсь допаять).
    Последний раз редактировалось Error404; 06.02.2016 в 12:51.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  5. #4

    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    539
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    30 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    на ВВ55 порта F600 (такой порт ВВ55 есть на мультикарте ПРО, надо только добавить переходник с одной 555ЛН1
    уточню, на мультикарте ВВ55 (D4) управляется с портов 20-23Н, для подключения ее к порту F600 нужно отогнуть 6 ножку ВВ55 и подпаять на нее проводок с системной платы, где находится перемычка J4. А похорошему, если не удастся запустить IDE контроллер Михаловского. Скорее всего ВВ55 оставлю на мультикарте, как она и была штатно задумана, а для загрузки с винта сделаю новую карту расширения. На карте Михаловского оставить только часики и добавить туда ВВ55. А все лишнее, что относится к контроллеру IDE с нее выпилить.

    Цитата Сообщение от Error404 Посмотреть сообщение
    В принципе можно подумать на тему запиливания в ОС поддержки IDE c платы IDE/RTC ПРО - если дадите выверенные подпрограммы инициализацииIDE/чтений_сектора/записи_сектора
    с платой IDE-RTC до сих пор непонятки, возможно в схеме еще остались ошибки. По крайней мере у меня она в тесте некорректно определяет винты и Compact Flash карты через переходник, и часть тестов идут с ошибкой. А другого софта кроме теста, чтобы проверить работу жесткого диска на Орионе-ПРО нет, кроме загадочного Ордос6, который работает только в эмуляторе. На железном орионе он даже не запускается.

    Прикрепил файлик MBOOT$ , которым я сейчас пользуюсь для загрузки системы.
    Вложения Вложения
    • Тип файла: rar MBOOT$.RAR (1.6 Кб, Просмотров: 128)
    Последний раз редактировалось Дмитрий2012; 06.02.2016 в 13:20.

  6. #5

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    уточню, на мультикарте ВВ55 (D4) управляется с портов 20-23Н, для подключения ее к порту F600 нужно отогнуть 6 ножку ВВ55 и подпаять на нее проводок с системной платы, где находится перемычка J4. А похорошему, если не удастся запустить IDE контроллер Михаловского. Скорее всего ВВ55 оставлю на мультикарте, как она и была штатно задумана, а для загрузки с винта сделать новую карту расширения. На карте Михаловского оставить только часики и добавить туда ВВ55. А все лишнее, что относится к контроллеру IDE с нее выпилить.
    В теории, контроллер на отдельных регистрах (как я понял - Михаловского) должен работать в 2-3 раза быстрее, чем контроллер на ВВ55. Поковыряться с ним вполне имеет смысл. А почему надо отгибать ножку ВВ55 на мультикарте? Вроде где-то в описаниях проскакивало, что в режиме Ориона-128 какой-то из портов сам переключается на F600?
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  7. #6

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    запустить MBOOT$ (ищите на форуме - я выкладывал тут где-то, но найти на современном опоганенном движке форума не могу) и использовать загрузку с IDE MASTER (кнопка 5)
    Не нашёл. Но нашёл у себя на сайте образ 1Мб ROM-диска, там есть MBOOT$.
    Сделал конфиг для своего эмуля и доложил в ROM-диск MBOOT: http://bashkiria-2m.narod.ru/files/o...rionProIDE.rar
    Файл uzix.ohi из поста коллеги Error404 скопировать как обычно в подкаталог Orion эмулятора.

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

    Честно говоря, я надеялся, что uzix запустится, но увы. И спековские игрушки (я пробовал dizzy) не запускаются. Там кроме CP/M что-нибудь работает?
    Ну хорошо, NC тоже запустился...

  8. #7

    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    539
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    30 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Честно говоря, я надеялся, что uzix запустится, но увы. И спековские игрушки (я пробовал dizzy) не запускаются. Там кроме CP/M что-нибудь работает?
    Ну хорошо, NC тоже запустился...
    Error404 попробовал загрузить Uzix, в этой сборке правда не запускается, но в других сборка, которые тестировал Uzix запускался. Я в основном Альтаир-ДОС юзал, поэтому в этой сборке даже не проверял загрузку Uzix.

    Что касается игр со спектрума, на Орионе-ПРО запускаются не все. Dizzy не работают. Насколько помню, точно запускаются Batty, Freddy Hardest 1,2 , Cybernoid 2, Saboteur 1,2 и еще каких-то десятка 2.
    Последний раз редактировалось Дмитрий2012; 25.07.2016 в 19:11.

  9. #8

    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    539
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    30 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На сколько я понял из схемы порт F600 переключается перемычкой (на плате мультикарты) для управления ROM диском, а 6 ножка ВВ55 припаяна к дешифратору D1. Так что, либо отгибать ножку, либо резать дорожки и опять же кидать проводок.
    Последний раз редактировалось Дмитрий2012; 06.02.2016 в 13:49.

  10. #9

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Uzix я не правил, он годовалой давности. По-хорошему, он будет переписан: не совсем удобно вписался в текущую версию ОС. А сам образ от того что для Ориона-128 отличается только драйвером driver.sys. В котором перепилена поддержка ВИ1 и обработка прерываний (в т.ч. в режиме ПРО драйвер последней версии после своего старта правит код обработчиков прерываний ДОС "по-живому" и пишет в F900: чтобы еще и ДОС не править я так сделал, т.к. для ПРО по-другому не получалось - это может давать на ПРО спецэффекты). Но у меня в эмуляторе и у Дмитрий2012 на реале запускалось (я видос видел). Правда тогда вектора прерываний ещ были на F000, а не на F900 и не было правок кода их обрабочиков из драйвера. Понятно, что дальше "запустилось" никто не смотрел.

    За неработающие игры надо сказать спасибо авторам ПРО, т.к. это они уперлись как бараны и не сделали совместимость по диспетчеру 16к с портом FB, хотя цена вопроса там - одна КП11.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  11. #10

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    За неработающие игры надо сказать спасибо авторам ПРО, т.к. это они уперлись как бараны и не сделали совместимость по диспетчеру 16к с портом FB, хотя цена вопроса там - одна КП11.
    А вот кстати. Кто возьмется сделать такую доработку? Думаю, проще - по второму варианту, без КП11.
    Вот смотрите: программам от Z80CardII (я думаю никто не будет спорить что они -самое интересное на Орионе) порой нужен диспетчер по 16к в окне 0000...3FFF. Он включается портом 0FBh: Бит D7=0 диспетчер включен, бит D7=1 диспетчер выключен (т.е. инверсно). Кстати, этот бит уже запоминается на ПРО в D111 (TM8). Биты D0..D3 содержат номер сегмента, включаемого в окне 0000...3FFF если бит D7=0. Т.е. нам либо нужен доп. регистр на 4 разряда, например еще одна ТМ8, либо их можно запоминать в аналогичном порту ПРО (это порт 04 биты D0..D3, в остальные нужно писать 0)

    Номера сегментов совпадают с номерами сегментов на ПРО, только их всего в отличие от ПРО всего 16 (на про их 32), цитирую для ПРО:
    Код:
            Распределение сегментов по страницам основного ОЗУ:
    
            Стр.0  Стр.1  Стр.2  Стр.3  Стр.4  Стр.5  Стр.6  Стр.7
    FFFFH -------T------T------T------T------T------T------T------¬
          ¦   3  ¦   7  ¦  11  ¦  15  ¦  19  ¦  23  ¦  27  ¦  31  ¦
    C000H +------+------+------+------+------+------+------+------+
          ¦   2  ¦   6  ¦  10  ¦  14  ¦  18  ¦  22  ¦  26  ¦  30  ¦
    8000H +------+------+------+------+------+------+------+------+
          ¦   1  ¦   5  ¦   9  ¦  13  ¦  17  ¦  21  ¦  25  ¦  29  ¦
    4000H +------+------+------+------+------+------+------+------+
          ¦   0  ¦   4  ¦   8  ¦  12  ¦  16  ¦  20  ¦  24  ¦  28  ¦
    0000H L------¦------¦------¦------¦------¦------¦------¦-------
    
    
         Доступ к  сегментам ОЗУ осуществляется через три независимых окна,  которые можно "открыть" в адресном пространстве процессора в пределах рабочей страницы ОЗУ:
         Окно ОЗУ "RAM2"  - 8000-BFFFH
         Окно ОЗУ "RAM1"  - 4000-7FFFH
         Окно ОЗУ "RAM0"  - 0000-3FFFH
    
         Назначение разрядов порта 0AH следующее:
         D0 - 1 = включить окно ОЗУ "RAM0"
         D1 - 1 = включить окно ОЗУ "RAM1"
         D2 - 1 = включить окно ОЗУ "RAM2"
    
    порт     04H      - регистр сегментов для окна "RAM0";
    порт     05H      - регистр сегментов для окна "RAM1";
    порт     06H      - регистр сегментов для окна "RAM2";
    Т.е. чтобы получить аналог диспетчера от Z80CardII нужно в порт RAM0 (это порт A мсх D55) одновременно (т.е. доп. обработать выв.6 /CS D55) писать то, что пишется в 0FBh биты D0..D3 (при этом выводы D55 A0,A1,D4,D5 должны переводиться в 0, т.е. нужно на эти входы поставить МСХ 2И (ЛИ1), нечетные ножки которой завести на сигнал "FB" выв.9 D111 - сигнал инверсный), и разрешать работать диспетчеру "RAM0" не только разрешаюшим сигналом c вывода 14 D80 (бит D0 порта 0Ah), но и по элементу ИЛИ и с вывода 6 D111 (инверсный бит D7 порта 0FBh).
    Последний раз редактировалось Error404; 07.02.2016 в 12:26.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 302
    Последнее: 18.09.2023, 12:45
  2. ОРИОН 128-продам
    от Nordic в разделе Барахолка (архив)
    Ответов: 23
    Последнее: 23.03.2009, 07:54
  3. продам Орион-256
    от Иван Лебедев в разделе Барахолка (архив)
    Ответов: 14
    Последнее: 17.03.2009, 14:42
  4. Снова Орион
    от AlexBel в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 26.09.2007, 10:06
  5. Орион-128
    от AlexBel в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 25.09.2007, 20:40

Ваши права

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