User Tag List

Показано с 1 по 10 из 163

Тема: Гибридный электронный диск для ПРК ОРИОН

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

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

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Цитата Сообщение от Error404 Посмотреть сообщение
    и надо передать собственно данные, которые делаются через STA - 12 тактов на команду).
    Порты в Орионе отображены на память, поэтому не обязательно использовать 12-тактовые STA/LDA.
    Извините, не удержался:

    Считал и так и этак, но всегда получал 13: 4+3+3+3. Энивэй, как уже было сказано, можно использовать MOV M,A/MOV A,M за 7 тактов (4+3). Если рабочая скорость карты будет равна тактовой процессора, то добавляем NOP и все в ажуре. Это если не делать RDY/WAIT. По скорости, связка LDA/STA это 26 тактов (13+13), а MOV/NOP/MOV уже 18 (7+4+7). Ускорение примерно 44%. Если использовать IN/OUT, то получаем 20 тактов (10+10).
    Последний раз редактировалось HardWareMan; 11.07.2015 в 18:16.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Извините, не удержался:

    Считал и так и этак, но всегда получал 13: 4+3+3+3. Энивэй, как уже было сказано, можно использовать MOV M,A/MOV A,M за 7 тактов (4+3). Если рабочая скорость карты будет равна тактовой процессора, то добавляем NOP и все в ажуре. Это если не делать RDY/WAIT. По скорости, связка LDA/STA это 26 тактов (13+13), а MOV/NOP/MOV уже 18 (7+4+7). Ускорение примерно 44%. Если использовать IN/OUT, то получаем 20 тактов (10+10).
    Нельзя быть таким занудой.

    ---------- Post added at 01:57 ---------- Previous post was at 01:49 ----------

    Цитата Сообщение от Denn Посмотреть сообщение
    Не понял. ТМ9 используется для защёлкивания старшей части адреса, и при чтении/записи блока (256 или 512 байт) там ничего менять не надо.
    Кто инициирует инкремент? Или речь о какой-то глубокой аппаратной доработке и использовании внутренних сигналов ПРК, которых нет в интерфейсе порта?
    Не, мысль в том, что если ОС все равно допиливать для новых доработок расширений ромдиска, то можно ИЕ7 (вместо ТМ9) поставить на младшие адреса. Адрес первой ячейки блока загружается в ИЕ7 (или в каскад ИЕ7), и по каждому последующему обращению на чтение или запись (по спаду) ИЕ7 сама инкрементирует адрес. Что позволяет существенно реже писать адрес, а чаще работать по данным.

    Так было сделано у Чистякова в электронных дисках: пишешь "адрес сектора" (в регистры или в ВВ55), пишешь "смещение в секторе" (не помню, возможно там каскад ИЕ7 автоматом обнулялся на начало сектора), затем куча чтений или записей без установки адреса - адрес растет автоинкрементом.

    Ну это так, к слову о быстродействии.
    Здесь эта задача на сама деле не стоит, так - че-нить поделать околоорионовское. Понимаю, я тоже вон, то Юзикс, то в CP/M чо-нить впилю, т.е. никому кроме меня не интересное. Поэтому я не придираюсь, я просто любую авторскую мысль сначала пытаюсь направить в русло моих концепций - чтобы я потом мог это поддержать (в Юзикс или где-то еще), но когда нет - то нет, дело хозяйское.
    Последний раз редактировалось Error404; 12.07.2015 в 02:03.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  4. #3

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от Error404 Посмотреть сообщение
    и по каждому последующему обращению на чтение или запись (по спаду) ИЕ7 сама инкрементирует адрес.
    Повторюсь, в интерфейсе порта (на разъёме) нет сигнала, который меняется по факту чтения/записи порта. Как я понимаю, надо протаскивать CS ВВ55-ой наружу. При этом получается возможным только линейное (посекторное) чтение данных, а произвольный доступ (например, сканирование каталога) с определённым "танцами" с инициализацией ИЕ7'ой.

    А реальный выигрыш в скорости вряд ли будет на глаз различим По любому на реальных файлах (~2 Кб) это будут доли секунды. Гораздо дольше будут прорисовываться панели Нортона, или экран запущеной софтинки (особенно с нативным 6-битным драйвером печати символов ).
    Последний раз редактировалось Denn; 12.07.2015 в 02:19.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

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

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

Похожие темы

  1. Ответов: 12
    Последнее: 22.02.2012, 00:05
  2. Электронный диск в Spectrum 128
    от Helloween в разделе Программирование
    Ответов: 3
    Последнее: 22.08.2010, 14:34
  3. Куплю электронный диск и кассеты ПЗУ для УКНЦ
    от dk_spb в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 16.08.2010, 22:15
  4. Ответов: 3
    Последнее: 25.11.2007, 01:47

Ваши права

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