User Tag List

Страница 43 из 61 ПерваяПервая ... 394041424344454647 ... ПоследняяПоследняя
Показано с 421 по 430 из 602

Тема: Оживление Квант 4С

  1. #421

    Регистрация
    07.04.2015
    Адрес
    г. Комсомольск, Ивановская обл.
    Сообщений
    319
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О, нет. Заглянул точно не один. Я ж еще когда удивился похожести макропрограммирования на бейсико-паскалевую смесь (сам то я родом из масмов-тасмов-турбодебаггеров, там это несколько иначе выглядит). Потом, тема все равно на форуме останется, другим ценителям ВМ1,2,3 тоже будет интересно глянуть на поток реверсерской мысли.

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

  3. #422

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    эквивалентно
    Код:
    Ну и писал бы сразу по-человечески.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Тогда провангуй вот этот код
    И что тут военного? Посылаем звездочку, ждем ее возврата, проверяя готовность приемника. Дождавшись, вернем в переменной TSTMOD код TVKBC Если за 65536 проверок готовность не появится, вернем код TVKBNC. Скорее всего, вызывающая программа в цикле вызывает эту программу, смотрит эту TSTMOD и ждет, пока она не станет TVKBNC. Как-то так... А 6105 в это время прогревает катод.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  4. #423

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

    По умолчанию

    Цитата Сообщение от Korchagin Посмотреть сообщение
    О, нет. Заглянул точно не один
    Я Вас и имел ввиду. Судя по тому, что вопрос возник через десяток сообщений после моего о том, что выложил... А потом как то никто не удивлялся - или все заинтересованные видели этот вопрос и ответ или....

    Кто-то в DEC нарисовал набор макросов (и даже как минимум в одной из системных программ они были использовано), я после появления у меня Квант-а слегка поковырялся, даже начал использовать и слегка подрихтовал под Modula-2 подобность. Ну, а когда начал дизассемблить 134 долго парился с отслеживанием всех этих переходов и меток, а потом вспомнил, попробовал - и на удивление быстро причесал код. По крайне мере теперь стало гораздо меньше локальных меток (то есть тех, на которые идёт переход из одного двух мест) и стало гораздо проще логику ловить. Но из за работы как режиме halt, так и в обычном режиме - всё равно голову ещё приходится ломать..

    В целом - писать с их использованием проще (хотя надо почувствовать и знать возможные варианты написания - до сих пор в исходники подглядываю) и с учётом некоей высокоуровневости кода - проще понимать (особенно знакомым с Паскалем), но с учётом того, что это всё равно транслируется ассемблером - на вложенных (по крайне мере) IF-ах получаются лишние BR-анчи. И как минимум пару ошибок в макросах - например, оператор ELSEIF (или ELSIF - не помню, как макрос назвали) есть, но код генерится неправильный. И ещё какую то ошибку находил...

    Цитата Сообщение от Korchagin Посмотреть сообщение
    на поток реверсерской мысли
    Скорей посмотреть - а что там в ПЗУ-ах делается...

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

    Цитата Сообщение от AFZ Посмотреть сообщение
    Ну и писал бы сразу по-человечески
    Я взял кусок кода из дизассмеблированной 134-ой.
    Цитата Сообщение от AFZ Посмотреть сообщение
    Скорее всего, вызывающая программа в цикле вызывает эту программу, смотрит эту TSTMOD и ждет, пока она не станет TVKBNC
    А теперь после этого "замечательного гадания" смотрим на этот код
    Код:
      ..............................................................................
      ;
      ;
      ;
      PROCEDURE L06006
      BEGIN
        IF @#PWRUP EQ #123456 THEN
          CALL   L13316
          JUMPTO L02152
        END
    
        ; Интересный вариант повтора после определения замкнутости входа на выход :)
    
        LOOP
          IF @#TSTMOD EQ #TVKBC THEN	; вход на выход замкнут ?
    
            IF @#HV002 NE #0 THEN
              LET  @#HV002 := #0
              LET  @#HV154 := R2
              CALL TEST4			; T4
            END
    
            LET  @#HV160 := @#HV160 + #1
            LET  @#HV156 := #0
            CALL L12556
            LET  @#PWRUP := #0		; вечное включение питания
    
            JUMPTO TEST0			; T0 и возврат в эту процедуру
          END
    
          IF @#TSTMOD EQ #TVKBNC THEN	; вход на выход НЕ замкнут ?
    
            LET @#PWRUP := #123456		; все, питание включено
    
            JUMPTO TEST0			; однократный прогон T0 и в пульт
          END
    
          ; А ещё не знаем, поэтому - на определение
    
          CALL CLUPBC
          LET @#HV154 := #0
          LET @#HV160 := #0
          LET @#HV002 := #0
    
        END
      END L06006
    и на этот код
    Код:
      ..............................................................................
      ;
      ;
      ;
    
      PROCEDURE L12556
      BEGIN
        IF  #TVKBNC NE @#TSTMOD THEN
    
          IF @#HV160 GE #20
            LET @#HV160 := #1
          END
    
          LET R2 := @#HV156 + @#HV160 + @#HV050
    
          LET @#LPB := R2
        END
    
        RETURN
      END L12556
    LPB, если что - это регистр принтера, тот, который буфер для печатаемого байта

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

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

    Цитата Сообщение от AFZ Посмотреть сообщение
    Посылаем звездочку, ждем ее возврата, проверяя готовность приемника. Дождавшись
    Каким образом символ, посланный на для вывода на экран - прилетит через входной регистр клавиатуры, а?

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

    Цитата Сообщение от AFZ Посмотреть сообщение
    Как-то так
    То есть выводы делаем даже не заглянув в код ПЗУ. По всей видимости.
    Мои то (возможные) ошибки хоть каким то кодом подкреплены...
    Последний раз редактировалось Hunta; 05.03.2019 в 15:56.

  5. #424

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Каким образом символ, посланный на для вывода на экран - прилетит через входной регистр клавиатуры, а?
    Скорее всего, 181/182 первым делом настраивают этот возврат - разреши прерывания от приемной половины -065, получив его, перешли код из приемного регистра =065 в передающий. Далее инитим все, что надо, в конце подключаем нормальную работу с приемом/передачей. Может быть, КЦГД еще что-то высылает, по окончании своей инициализации, отличное от звездочки - тогла вообще почти все сходится.

    Проверить это можно достаточно просто - накидай по-быстрому на писюке свой мини-терминал, который раз 100-1000 вернет полученную звездочку и только после этого начнет работать нормально.

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

    В общем-то это правильно икс его три, сколько времени будет инититься этот КЦГД ? А первые три теста пролетят с гарантией быстрее, и что будет на экране? Правильно, обрезанная строка "Доступное ОЗУ" Чтобы этого не было, в 134-ю прикрутили своего рода синхронизацию с КЦГД, точнее, ожидание его готовности. А, чтобы оно могло работать не только с КЦГД, сделали такую смешную проверку.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  6. #425

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Скорее всего,
    Это вывод на основании анализа кода 181 прошивки? (которая стоит у меня)
    Цитата Сообщение от AFZ Посмотреть сообщение
    Может быть, КЦГД еще что-то высылает
    Это вывод на основании анализа кода 181 прошивки?

    Ради интереса, я пробежался по коду инициализации 181 прошивки в том дизассемблированном варианте, который у меня есть. Я не увидел ничего (вполне мог пропустить), что бы подтверждало эти гадания.

    Цитата Сообщение от AFZ Посмотреть сообщение
    Проверить это можно достаточно просто - накидай по-быстрому на писюке свой мини-терминал
    Проверить это можно гораздо проще - выкинув КЦГД, переключив второй порт на адреса консоли у .04, подключив принтер и замкнув вход второго порта на выход.
    Те, кто используют PC-юк в качестве консоли - могут сделать это очень быстро. Мне надо восстановить шлейф принтера - возможно, доберусь в выходные.

  7. #426

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Это вывод на основании анализа кода 181 прошивки?
    Нет, конечно. Это как я стал бы решать эту проблему, столкнувшись с пропаданием части начальной строки.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #427

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    с пропаданием части начальной строки
    Кстати, ещё не доказано, что она не пропала. Эмулятор Патрона - это догадки и подгонка, у MiX-а нажатие на кнопку УСТ - и показ текущего значения PC - 4 (это код вылетела на вектора, что ли?) - в отличии от моего варианта - когда видно, что программа была прервана в недрах halt пзу, конкретно вот это место:

    Код:
       1655	004622				  ..............................................................................
       1656					  ;
       1657					  ;
       1658					  ;
       1659	004622				  PROCEDURE KBIN
    	004622				KBIN:
       1660	004622				  BEGIN
       1661	004622				    REPEAT
    	004622				1001$:
       1662	004622				    UNTILB @#TKS MI #0
    	004622	105737 	177560 		                TSTB @#TKS
    	004626	100375 			                BPL 1001$
    	004630				1002$:
       1663
       1664	004630				    LET R4 := @#TKB OFF.BY #^C<177>
    	004630	013704 	177562 		                MOV @#TKB, R4
    	004634	042704 	177600 		                BIC #^C<177>, R4
       1665
       1666	004640				    RETURN
    	004640	000207 			                RTS PC
       1667	004642				  END KBIN
    Цитата Сообщение от AFZ Посмотреть сообщение
    Это как я стал бы решать эту проблему
    Я не гадаю на кофейной гуще - я дизассемблировал прошивку и смотрю, что в коде. Ещё и прошью свою прошивку, что бы можно было уточнять мутные места. Ну и в выходные постараюсь провести натурные испытания, если принтер ещё жив

  9. #428

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    у MiX-а нажатие на кнопку УСТ - и показ текущего значения PC - 4
    Надо ещё учитывать что режим старта у каждого разный (переключатели, перемычки).

  10. #429

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

    По умолчанию

    Сфоткать плату можно, так что бы были видны переключатели?

  11. #430

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Сфоткать плату можно, так что бы были видны переключатели?
    SA2
    1-1
    2-1
    3-0
    4-0
    5-0
    6-1
    7-1
    8-0

    SA1
    все-0

    Первые считаются от краевого разъёма.

Страница 43 из 61 ПерваяПервая ... 394041424344454647 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Квант-БК МС0530
    от moxjemi в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 1
    Последнее: 20.05.2020, 17:59
  2. оживление C64
    от Fluffy Dragon в разделе Commodore 16/64/128
    Ответов: 50
    Последнее: 10.05.2017, 18:58
  3. Квант
    от Mx_Serg в разделе Специалист
    Ответов: 45
    Последнее: 20.03.2017, 02:58
  4. Квант-БК на ВГ2
    от Sergei Frolov в разделе Несортированное железо
    Ответов: 1
    Последнее: 27.07.2011, 14:21
  5. Квант 4С
    от Sergei Frolov в разделе ДВК, УКНЦ
    Ответов: 0
    Последнее: 16.04.2008, 14:23

Ваши права

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