User Tag List

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

Тема: Эмуляция 1801ВП1-128 в ПЛИС

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

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

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    80 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сообщение от Vslav
    Я сейчас выполил такое моделирование:
    Код:
    qbus_write(16'O177132, 16'H3130);
    На выходе записываемых данных получилось:
    Код:
    0x30 (то есть, сначала МЛАДШИЙ байт, старший бит первым)
    0x31 (то есть, потом СТАРШИЙ байт, старший бит первым)
    Вот и верь после этого описаниям.

    Значит, хотя в описании ВП1-128 написано:
    Код:
         В режиме 'запись' 7-й разряд РС (TR) устанавливается в единицу
    после  того, как младший байт РДЗ переписался в сдвиговый  регистр.
    Но на самом деле - первым пишется младший байт регистра данных, а требование выставляется при копировании в сдвиговый регистр старшего байта регистра данных.

    ---------- Post added at 14:25 ---------- Previous post was at 14:12 ----------

    Здесь написано так:
    шестнадцатибитный регистр данных чтения принимает два байта данных из сдвигового регистра. В процессе считывания данных с диска сначала сохраняется старший байт, затем младший данных.
    Получается, что и там в описании ошибка и сначала сохраняется младший байт, а затем старший данных.

    Так ?

    ---------- Post added at 14:35 ---------- Previous post was at 14:25 ----------

    Сообщение от Vslav
    Код:
    0x91 (инвертированное 0x6E. Сначала пишется СТАРШИЙ байт инвертированной суммы)
    0x16 (инвертированное 0xE9. Потом пишется МЛАДШИЙ байт инвертированной суммы)
    Но если слово контрольной суммы пишется в обратном порядке байтов относительно слов данных, то как порядок байтов при чтении получается для всех слов одинаковым ?
    Последний раз редактировалось Patron; 13.12.2013 в 15:41.

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

  3. #2

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    как порядок байтов при чтении получается для всех слов одинаковым ?
    По результатам моделирования чтения СТАРШИЙ байт слова идет первым. То есть первый прочитанный с диска байт помещается в старший, второй прочитанный помещается в младший байт регистра данных. Получается что при чтении байты в словах надо переставлять. Странная ситуация, порядок байт при чтении/записи отличается, анализ кода драйвера это подтверждает?

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

  4. #3

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    80 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    анализ кода драйвера это подтверждает?
    Я сейчас пишу эмулятор контроллера MY - там роль драйвера выполняет прошивка -255:
    Вложения Вложения
    • Тип файла: zip 255.zip (19.8 Кб, Просмотров: 164)

  5. #4

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Я сейчас пишу эмулятор контроллера MY - там роль драйвера выполняет прошивка -255:
    Похоже что 255-ая точно так же работает, фрагмент чтения:

    Код:
    ; Подпрограмма чтения сектора
    7254$:	TST	R2		; Перешли за границу "окна"?
    	BPL	7304$		; Нет
    	ROR	R2		; На начало "окна"
    	ADD	#401,@#177102	; Увеличить адрес старшей части "окна"
    	BNE	7304$		; Еще не перешли границу памяти
    	BIS	#4000,0(R3)	; Установить ошибку адреса в РСО
    	JMP	7500$		; Завершить операцию с ошибкой
    7304$:	TSTB	@R4		; Очередное слово сформировано?
    	BPL	7304$		; Нет
    	MOV	@R5,R0		; Прочесть слово
    	SWAB	R0		; Обменять байты
    	MOV	R0,(R2)+	; Передать слово в ОЗУ вычислителя
    7316$:	SOB	R1,7254$
    В процедуре записи команды SWAB нет. В-общем, Цирк уехал, клоуны остались

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

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

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

Похожие темы

  1. ЮТ-88: Реализация на ПЛИС (DE1)
    от Santechnik в разделе ЮТ-88
    Ответов: 61
    Последнее: 13.05.2022, 08:22
  2. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12
  3. Аксель на ПЛИС
    от iceoflame в разделе Amiga
    Ответов: 163
    Последнее: 25.03.2012, 14:51
  4. Список версий 1801ВП1 и 1801РЕ2
    от CodeMaster в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 28.02.2012, 22:39
  5. 1801вп1-128
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 0
    Последнее: 29.05.2010, 11:24

Ваши права

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