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

User Tag List

Страница 8 из 18 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 175

Тема: Контроллер НМЛ СМ5300.01

  1. #71
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    Как это сделать?
    Понятия не имею :)

    Мои знания контроллера MY ограничиваются его названием :)))

  2. #72
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Понятия не имею

    Мои знания контроллера MY ограничиваются его названием ))
    - Может напишем две маленькие программки:

    1) Заполняет всю память числом 777
    2) Читает все содержимое памяти, и ищет значения отличные от 777
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

  3. #73
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    - Может напишем две маленькие программки:

    1) Заполняет всю память числом 777
    2) Читает все содержимое памяти, и ищет значения отличные от 777
    Нельзя заполнять ВСЮ память.
    Образ ПЗУ, загруженный LDROM должен оставаться неизменным.
    Память надо заполнять в диапазоне 0100000-0160000.
    Код:
    Программка заполнения:
    
     Mov  R0,(R1)+
     SOB  R2, .-2.
     Halt
    
    Выглядит в памяти так:
    
     010021
     077202
     000000
    
    =================
    
    Программка сравнения:
    
     Cmp R0,(R1)+
     BEq .-2.
     Halt
    
    Выглядит так:
    
     020021
     001776
     000000

  4. #74
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заполняет всю память числом из R0,
    начиная с адреса в R1

    000000/010021 MOV R0,(R1)+
    000002/077202 SOB R2, .-2.
    000004/000000 HALT
    R0/000777
    R1/000006


    Проверяет всю память, сравнивая с числом из R0,
    начиная с адреса в R1, если находит не совпадение
    останавливается на адресе 6, если не совпадений не найдено, останавливается по адресу 2,
    в R1 содержится адрес -1 , по которому найдено не
    совпадение.

    000000/020021 CMP R0,(R1)+
    000002/001776 BEQ .-2.
    000004/000000 HALT
    R0/000777
    R1/000006

    Заполнил всю память числом 111111, проверил, содержимое всей памяти,
    соответствует 111111.

    Выполнил команды:

    176732/000066 7
    @176730/000040

    НМЛ Прочитал кусочек ленты, проверил память, как было во всех ячейках 111111
    так и осталось.

    176732/000066 33407
    @176730/000040


    НМЛ Прочитал кусочек ленты, проверил память, как было во всех ячейках 111111
    так и осталось.
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

  5. #75
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. При заполнении памяти - в R2 нужно записывать число заполняемых слов ( или 0 - если нужно заполнять "до упора" ).

    2. Старший байт команды может иметь смысл "вектора" по которому находится адрес буфера, поэтому область векторов ПЗУ я бы не затирал.

    3. Процедура чтения ( команда ПЗУ GET/IST:TP ) состоит из последовательной подачи двух кодов.

    3.1. Сначала подаётся код 033407 ( т.е. пишется код 033407 в регистр 176732 и 01 в регистр 176730 )
    3.2. Затем ожидается появление 054 в регистре 176730
    3.3. Затем проверяется установка бита 0200 в регистре 176732
    3.4. Если пп 3.2 и 3.3 выполнены - подаётся код 02 ( т.е. пишется код 02 в регистр 176732 и 01 в регистр 176730 )
    3.5. Ожидается появление 054 в регистре 176730

    4. Не стоит располагать программу заполнения ( и/или сравнения ) памяти так, чтобы она рекурсивно вызывалась при попытке записи/чтения по несуществующему адресу ( команда HALT по адресу 04 воспринимается процессором как равный нулю адрес обработчика прерывания зависания ).
    Последний раз редактировалось Patron; 23.03.2011 в 23:07.

  6. #76
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ммм... интересно... Может попробуете сейчас это сделать?

    ---------- Post added at 02:18 ---------- Previous post was at 01:59 ----------

    Интересно:

    @176730/000054
    176732/000066 033407
    @176730/000040 1
    @176730/000054
    @176732/000202 02
    @176730/000040 01
    @
    @176730/000014
    @176730/000014
    @176730/000014
    176732/000333
    176734/
    BUS ERROR
    @176730/000014
    176732/000001
    176734/
    BUS ERROR
    @176732/000101
    @176732/000021
    @176732/000372
    @176732/000003
    @176732/000341
    @176732/000013
    @176732/000300
    @176732/000022
    @176732/000146
    @176732/000020
    @176732/000301
    @176732/000025
    @176732/000000
    @176732/000001
    @176732/000367
    @176730/000014
    @176732/000011
    @176732/000172
    @

    Может данные читаются из 176732 ?
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

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

  8. #77
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    ммм... интересно... Может попробуете сейчас это сделать? :)
    Попробую научить :)

    1. Загрузить образ ПЗУ в память.

    2. Проверить ( с помощью эмулятора пульта ) содержимое буфера по адресу 0140000 ( там все нули ).

    3. Выполнить команду GET/IST:TP ( или SHW/IST:TP )

    4. Проверить, изменилось ли содержимое буфера ( похоже, что ПЗУ читает именно туда ).

    ...

    5. Добавить к коду ПЗУ в памяти парочку "наших" подпрограмм по адресам 0110 и 0130

    6. Заполнить числом 0111111 адреса с 0100000 по 0160000 ( R0/111111 ; R1/100000 ; R2/0 )

    7. Выполнить описанную выше последовательность подачи кодов команды GET/IST:TP

    8. Сравнить содержимое слов в диапазоне с 0100000 по 0160000 со значением 0111111 ( R0/111111 ; R1/100000 ).

    9. Доложить результат :)

    ---------- Post added at 23:33 ---------- Previous post was at 23:26 ----------

    Цитата Сообщение от Andrey_Ak Посмотреть сообщение
    Может данные читаются из 176732 ?
    Только если по прерываниям.

    Циклического опроса регистров ПЗУ не производит, а логика эмуляции прерываний этого контроллера мне пока не известна.

    Кстати, бит 010 в регистре 176730 означает "есть новые данные". Контроллер устанавливает этот бит каждый раз, когда в регистре 176732 появляется что-то "новенькое" и сбрасывает его после каждого чтения регистра 176732 процессором.
    Последний раз редактировалось Patron; 23.03.2011 в 23:45.

  9. #78
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заполняю адреса 100000 - 160000 числом 111111,
    после запуска программы ПЗУ по 20536G, и выхода из
    программы все в 100000 - 160000 стирается..

    ---------- Post added at 03:05 ---------- Previous post was at 02:46 ----------

    Заполнил память с 100000 до 160000 значением 000000,
    @20536G
    ...*REW/IST:TP
    ...GET/IST:TP
    GET-/IST ist. =TP=
    ...
    ? wwedite komandu
    ... 055554
    @R0/105124 000000
    R1/111056 100000
    R2/105110 0
    @R0/000000
    R1/100000
    R2/000000
    @130G 000136
    @R1/100036
    @100030/000000
    100032/000000
    100034/105124
    100036/047416
    100040/000000
    @100034/105124 0
    100036/047416 0
    @130/020021
    000132/001776
    000134/000000
    @R0/000000
    R1/100036 100000
    R2/000000
    @130G 000136
    @R1/102070
    @102070/143334
    102072/100046
    102074/100452
    102076/143354
    102100/040260
    102102/040354
    102104/102626
    102106/144600
    102110/145000
    102112/145200
    102114/146566
    102116/145400
    102120/145600
    102122/113174
    102124/143760
    102126/143762
    102130/143764
    102132/144000
    102134/144400
    102136/113174
    102140/123234
    102142/143766
    102144/143770
    102146/143772
    102150/143774
    102152/143776
    102154/113172
    102156/000000
    102160/000000
    102162/000000
    102164/000000
    102166/000000
    @
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

  10. #79
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Похоже, что я ошибся, говоря, что драйвер не опрашивает регистры.

    На самом деле это я ему выдавал в регистре 176730 код 044, что "на языке контроллера" означает: "Команда завершена, нет данных для чтения, буфер команд свободен."

    Теперь припоминаю, что когда я один раз выдал драйверу код 014, вместо 044 - драйвер как раз принялся циклически опрашивать регистр 176732 и копировать оттуда данные.

    Так что с чтением данных мы разобрались.

    Никаких прерываний и запросов ПДП не происходит.

    Всё, что контроллер может прочитать с ленты - появляется в регистре 176732 и может быть оттуда скопировано.

  11. #80
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И как организовать чтение/запись?
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

Страница 8 из 18 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ZX-MMC контроллер
    от Orionsoft в разделе Внешние накопители
    Ответов: 17
    Последнее: 12.05.2019, 17:11
  2. Контроллер FD-051
    от Giraffe в разделе MSX
    Ответов: 77
    Последнее: 15.05.2016, 02:23
  3. Контроллер TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 13
    Последнее: 21.11.2015, 17:21
  4. Контроллер TR-DOS
    от Sentenced в разделе Внешние накопители
    Ответов: 15
    Последнее: 25.09.2010, 22:47
  5. Контроллер FDD TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 2
    Последнее: 20.06.2007, 11:25

Ваши права

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