User Tag List

Страница 191 из 273 ПерваяПервая ... 187188189190191192193194195 ... ПоследняяПоследняя
Показано с 1,901 по 1,910 из 2727

Тема: Цифровая археология: 1801 и все-все-все

  1. #1901

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,510
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    Увы, Кванты я только со стороны видел
    Как раз его я хорошо знаю Даже сделал на своём возможность подключения двух винтов - так что один диск был под систему, второй под разный мой хлам
    Вот только - или два винта или винт и флопы

  2. #1902

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Откуда на ДВК адрес больше 0160000 ? Теневое ПЗУ у 1201.02 располагается по адресам 0140000-0157776, а в странице ввода-вывода лежит теневое ОЗУ. Или у FIS-программы в этом теневом ОЗУ лежит стек? Зачем? FIS ведь работает с реальным стеком...
    Эмулятор FIS в прошивке -055 копируется из теневого ПЗУ в теневое ОЗУ по адресу 0171000. Если команда FIS была вызвана с разрешенными прерываниями, то и эмулятор FIS их также разрешает. Соответственно при любом прерывании в происходит переход из режима HALT в режим USER и в стек ложится PC и PSW прерванного эмулятора. Соответственно адрес возврата больше 0171000 и в сохраненном PSW установлен восьмой бит. Адрес больший 0160000 нужен, чтобы по RTI возвратится обратно в режим HALT. Так что используется стек прерванной программы, сам эмулятор FIS стека не использует.

  3. #1903

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Адрес больший 0160000 нужен, чтобы по RTI возвратится обратно в режим HALT.
    Зачем? Разве 8-го бита PSW недостаточно? Ведь ходит же способ запустить свою программу в HALT-mode (Полетаев в свое время выдал), она же точно в основном ОЗУ располагается, не в теневом.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  4. #1904

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Зачем? Разве 8-го бита PSW недостаточно? Ведь ходит же способ запустить свою программу в HALT-mode (Полетаев в свое время выдал), она же точно в основном ОЗУ располагается, не в теневом.
    Для возврата из USER в HALT по RTI нужен не только установленный 8-й бит в сохраненном PSW, но и адрес возврата должен быть большим или равным 0160000.
    С методом Полетаева знаком. По его методу программа перекачивается в теневое ОЗУ, там же и исполняется. А используется для этого выполнение команды FIS. Эмулятор FIS сохраняет в буфере регистры с R0 по R6, адрес буфера 0173002. Это и используется - программа перекачки располагается в регистрах с R0 по R5, делается левый FADD, а далее переходим на начало буфера через RTI, потом докачиваем, что надо.
    Собственно его программа:
    Код:
        Программа, скачивающая в основное ОЗУ содержимое ОЗУ HALT-режима в плате набазе 1801ВМ2.
    
            .TITLE  VM2
    ; команды 1801ВМ2
    GO      =: 12   ; G
    STEP    =: 16   ; P
    RSEL    =: 20   ; R0:=SEL
    MFUS    =: 21   ; R0:=(R5)+
    RCPC    =: 22   ; R0:=CPC
    RCPS    =: 24   ; R0:=CPS
    MTUS    =: 31   ; -(R5):=R0
    WCPC    =: 32   ; CPC:=R0
    WCPS    =: 34   ; CPS:=R0
    START::
            MOV     #PROG,R5
            MOV     (R5)+,R0
            MOV     (R5)+,R1
            MOV     (R5)+,R2
            MOV     (R5)+,R3
            MOV     (R5)+,R4
            MOV     (R5)+,R5
            CLR     -(SP)
            CLR     -(SP)
            CLR     -(SP)
            CLR     -(SP)
            FADD    SP
            CMP     (SP)+,(SP)+
            MOV     #740,-(SP)
            MOV     #173002,R1
            MOV     R1,-(SP)
            MOV     #PROG,R5
            MOV     #PLEN,R2
            RTI
    PROG:   MFUS
            MOV     R0,(R1)+
            SOB     R2,PROG
            MOV     #160000,R1
            MOV     #10000,R2
            MOV     #10000+20000,R5
    10$:    MOV     -(R1),R0
            MTUS
            SOB     R2,10$
            MOV     #NEXT,R0
            WCPC
            CLR     R0
            WCPS
            STEP
    PLEN=.-PROG/2
    NEXT:   HALT
            EMT     350
            .END    START

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    AFZ(26.04.2020)

  5. #1905

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,510
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Собственно его программа
    Занимательно

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

    Но при условии, что есть эмулятор FIS

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

    И она работает так, как предполагается

  6. #1906

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это конкретно для 1201.02 с 055-й ПЗУ-хой. Неизвестно, пойдет ли с 279-й и, тем более, на УКНЦ. На УКНЦ, скорее всего, не пойдет - у нее нет теневого ПЗУ, вместо него используется теневое ОЗУ в странице ввода-вывода, программу туда загоняет ПП из своей ПЗУ-хи. Вероятность того, что регистры сохраняются в том же месте - около нуля. С другой стороны, конечно, никто не мешает посмотреть, где эти программы сохраняют регистры и подправить код...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

  8. #1907

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Это конкретно для 1201.02 с 055-й ПЗУ-хой. Неизвестно, пойдет ли с 279-й и, тем более, на УКНЦ. На УКНЦ, скорее всего, не пойдет - у нее нет теневого ПЗУ, вместо него используется теневое ОЗУ в странице ввода-вывода, программу туда загоняет ПП из своей ПЗУ-хи. Вероятность того, что регистры сохраняются в том же месте - около нуля. С другой стороны, конечно, никто не мешает посмотреть, где эти программы сохраняют регистры и подправить код...
    На 279-й пойдёт, посмотрел. Там эмулятор FIS естественно в другом месте ПЗУ, но копируется он в теневое ОЗУ по тому же адресу 0171000, эмулятор такой же, соответственно и буфер там же.
    На УКНЦ и эмулятор FIS, и его буфер, естественно расположены в другом месте, адрес буфера 0167506. Но на УКНЦ таких сложностей не надо. Системное ОЗУ спокойно доступно через регистры адреса и данных (0176640/0176642), адрес через РА от 070000 до 077777. Так что спокойно закачивайте через РА и РД что надо, ну и вызывайте через RTI. На УКНЦ системное ОЗУ свободно с адреса 172724. К тому же на УКНЦ методом Полетаева лучше не пользоваться, т.к. после эмулятора FIS там идут разные загрузчики и подпрограммы тестирования, а самое главное - подпрограммы взаимодействия с терминалом, которые использует пульт.

  9. #1908

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Для возврата из USER в HALT по RTI нужен не только установленный 8-й бит в сохраненном PSW, но и адрес возврата должен быть большим или равным 0160000.
    Разве ВМ2 проверяет старшие биты адреса возврата при RTI?

  10. #1909

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Разве ВМ2 проверяет старшие биты адреса возврата при RTI?
    Vslav, на вашем сайте документация по 1801ВМ2, которую когда-то выкладывал Titus. Страница 65, таблица 4.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    Vslav(26.04.2020)

  11. #1910

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

    По умолчанию

    Написал на Питоне ассемблер для микрокода LSI-11:

    • понимает стандартные мнемоники для Western Digital MCP-1600, которые были реализованы в DEC MICASM
    • поддерживает radix 8/10, понимает 0xnnn, 0nnnn, nnnnn., 0nnnn, и radix
    • поддерживает локальные метки n$
    • поддерживает арифметические выражения "()+-/*|&^~", выполняет символьные подстановки
    • ассемблирует множество входных файлов в единую прошивку
    • выводит заданные адреса трансляции и дополнительных ttl в файл - можно будет обновлять PLA и делать свои трансляции
    • портируемый, написано для Phyton 3.x, будет работать Windows/Linux


    PS. Этот учебный условно-полезный проект написан вечерами этой недели + полный день вчера. Мое текущее мнение - Питон это бомба. Вторая бомба это VS code. Дальше по жизни буду пользоваться обеими
    PPS. Отдельное спасибо Юре yu.zxpk за дельные советы и ревью моего нупского кода.
    Последний раз редактировалось Vslav; 02.05.2020 в 14:51.

    Эти 2 пользователя(ей) поблагодарили Vslav за это полезное сообщение:

    Hunta(02.05.2020), yu.zxpk(03.05.2020)

Страница 191 из 273 ПерваяПервая ... 187188189190191192193194195 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

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