User Tag List

Страница 62 из 107 ПерваяПервая ... 585960616263646566 ... ПоследняяПоследняя
Показано с 611 по 620 из 1061

Тема: Электроника-85 vs. DEC Pro-350 + их эмуляция

  1. #611

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Так может просто выкладывать сюда по мере разборки листинг который на данный момент получился - может кто еще посмотрит
    Он сумбурный, просто дизассемблированный дамп памяти размером 30 с лишним килобайт с некими пометками. К тому же, у меня свой дизассемблер, понятный мне, но не очень дружественный любителям PDP11, с 16-ричными числами и некими сокращениями и упрощениями.

    Пример:

    Код:
    7558  17C1 0028       MOV   (#$0028),R1                     
    755C  031D            BEQ   $7598                           
    755E  1C42 0004       MOV   $4(R1),R2                       
    7562  1089            MOV   R2,(R1)                         
    7564  0A0A            CLR   (R2)                            
    7566  1C43 0006       MOV   $6(R1),R3                       
    756A  E083            SUB   R2,R3                           
    756C  0A83            INC   R3                              
    756E  10F2 0002       MOV   R3,$2(R2)                       
    7572  15F1 8080 0044  MOV   #$8080,$44(R1)                  
    7578  1042            MOV   R1,R2                           
    757A  65C2 000C       ADD   #$000C,R2                       
    *757E  10A6            PUSH  R2                              
    *7580  15E6 023F       PUSH  #$023F  			; $GTSK (Get Task Parameters)                        
    *7584  88FF            EMT   $FF                             
    							; Получить 16-словный массив параметров таска по адресу $72F4
    
    							; R2 - указатель на массив параметров
    7586  8703            BCS   $758E             		; Если ошибка, то -> $758E              
    7588  1CB1 000E 0044  MOV   $E(R2),$44(R1)     		; Параметр 7 (User Identification Code) -> ($72E8 + $44)
                 
    758E  15F1 FFFF 0028  MOV   #$FFFF,$28(R1)                  
    7594  0A31 003E       CLR   $3E(R1)                         
    7598  0087            RTS
    Звездочками помечаю те строчки, которые убираю, чтобы трассировать дальше, пропуская ненужные системные вызовы.

    Пока что уперся в сообщение: PASCAL -- Fatal initialization error

  2. #612

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Он сумбурный, просто дизассемблированный дамп памяти размером 30 с лишним килобайт с некими пометками. К тому же, у меня свой дизассемблер, понятный мне, но не очень дружественный любителям PDP11, с 16-ричными числами и некими сокращениями и упрощениями.

    Пример:

    Код:
    7558  17C1 0028       MOV   (#$0028),R1                     
    755C  031D            BEQ   $7598                           
    755E  1C42 0004       MOV   $4(R1),R2                       
    7562  1089            MOV   R2,(R1)                         
    7564  0A0A            CLR   (R2)                            
    7566  1C43 0006       MOV   $6(R1),R3                       
    756A  E083            SUB   R2,R3                           
    756C  0A83            INC   R3                              
    756E  10F2 0002       MOV   R3,$2(R2)                       
    7572  15F1 8080 0044  MOV   #$8080,$44(R1)                  
    7578  1042            MOV   R1,R2                           
    757A  65C2 000C       ADD   #$000C,R2                       
    *757E  10A6            PUSH  R2                              
    *7580  15E6 023F       PUSH  #$023F  			; $GTSK (Get Task Parameters)                        
    *7584  88FF            EMT   $FF                             
    							; Получить 16-словный массив параметров таска по адресу $72F4
    
    							; R2 - указатель на массив параметров
    7586  8703            BCS   $758E             		; Если ошибка, то -> $758E              
    7588  1CB1 000E 0044  MOV   $E(R2),$44(R1)     		; Параметр 7 (User Identification Code) -> ($72E8 + $44)
                 
    758E  15F1 FFFF 0028  MOV   #$FFFF,$28(R1)                  
    7594  0A31 003E       CLR   $3E(R1)                         
    7598  0087            RTS
    Звездочками помечаю те строчки, которые убираю, чтобы трассировать дальше, пропуская ненужные системные вызовы.

    Пока что уперся в сообщение: PASCAL -- Fatal initialization error
    Очень неудобно смотреть - в шестнадцатеричном виде теряется наглядность и охрененно затрудняется запрос хелпа по директивам. Когда я пишу в интеле или просто на C (кроме кода, относящегося к PDP-11), я использую шестнадцатеричные числа для нагладности, но использовать их для потери таковой...
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  3. #613

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Очень неудобно смотреть - в шестнадцатеричном виде теряется наглядность и охрененно затрудняется запрос хелпа по директивам. Когда я пишу в интеле или просто на C (кроме кода, относящегося к PDP-11), я использую шестнадцатеричные числа для нагладности, но использовать их для потери таковой...
    Для меня восмиричные числа - абсолютно нечитаемые. И логично, что для себя я сделал именно такой дизассемблер.

  4. #614

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Для меня восмиричные числа - абсолютно нечитаемые. И логично, что для себя я сделал именно такой дизассемблер.
    Я тоже работал с шестнадцатеричными числами во много раз больше чем с восьмеричными несмотря на солидный стаж PDP-11 (единственная архитектура где я применяю восьмеричку, а их было много), но тем не менее я от этого не пытаюсь переводить вообще все в шестнадцатеричную систему: это всего лишь приведет в данном случае к отсутствию наглядности (переводить код в инструкции и даже просто узнать код который ошибочно [не]дизассеблировался придется с вычислениями), а уж когда дело доходит до понимания что собственно делается - начинается полное счастье так как в справочниках и доках разумеется все в восьмеричном

    Вот если бы речь шла о том, чтобы с этими числами вычисления проводить или разбирать на отдельные байты - тут был бы смысл
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  5. #615

    Регистрация
    12.04.2009
    Адрес
    Одесса
    Сообщений
    644
    Спасибо Благодарностей отдано 
    443
    Спасибо Благодарностей получено 
    109
    Поблагодарили
    75 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть задачка важная, может кто-то сможет помочь - очень нужно "починить" один файлик из набора автотеста, т.к. загрузка Э-85 затыкается на проверке КС одного модуля.
    Разные цитаты:
    ;ПРОИЗВЕСТИ КОНТРОЛЬНОЕ СУММИРОВАНИЕ СОДЕРЖИМОГО ПЗУ МОДУЛЯ
    ;КОЛИЧЕСТВО СУММИРУЕМЫХ ЯЧЕЕК РАВНО СОДЕРЖИМОМУ БАЙТА 7 ПЗУ, УМНОЖЕННОМУ НА 200

    В R0 - уже занесена емкость ПЗУ (из мл. и ст. байтов 6,7), это число известно заранее и прописано в этой же ПЗУ
    Дописал, как, я понимаю, там проводится эта проверка:

    Код:
    BIS		#-1,1020 (либо MOV	#177777,1020) ; начальное значение в рабочей ячейке КС
    1S: MOV		#200,R1	; Начинаем новый цикл по 200 байт
    	2S: MOVB	174200,1022 ; каждое чтение по адресу слота 174200 даст следующий байт из содержимого ПЗУшки
    		MOVB	174200,1023 ;                (там аппаратно увеличивается внутренний указатель на данные)
    		MOV		1022,R2 ; таким образом считали 2 байта из ПЗУ
    			; сама кухня КС:
    			XOR	R2,1020 ; "Исключающее ИЛИ" считанных 16 бит (R2) и накопительным значением текущей КС (содержимым 1020)
    			CLC 			; очистили флаг переноса
    			ROL	1020		; сдвинули влево накопительное значение текущей КС (повышаем надёжность?)
    			ADC	1020		; (зачем-то прибавили туда перенос)
    		SOB	R1,2S	; R1-- 200 раз пока не == 0
    	SOB	R0,1S		; R0--, достигли окончания данных в ПЗУ? (зависит от емкости ПЗУ)
    	TST	1020		; КС=0? ДА - ОК, ЕСЛИ НЕТ - ОШИБКА КС СОДЕРЖИМОГО ПЗУ МОДУЛЯ
    В общем как можно узнать _какое именно_ значение КС (т.е. два байта) _должно быть записано_ в конец ПЗУ что бы TST 1020 в итоге дал 0?..
    В идеале переписать бы на С пример для универсального подсчета по массиву байтов .
    В аттаче - корректные файлы ПЗУ для примеров, ну и описание полей...
    Вложения Вложения
    • Тип файла: zip proms.zip (428.7 Кб, Просмотров: 185)
    Последний раз редактировалось anasana; 09.04.2013 в 22:19.
    LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
    Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
    По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
    Контакты: почта: anasana@ukr.net, email: anasana@gmail.com, TG: https://t.me/adesodesa

  6. #616

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от anasana Посмотреть сообщение
    Код:
    			CLC 			; очистили флаг переноса
    			ROL	1020		; сдвинули влево накопительное значение текущей КС (повышаем надёжность?)
    			ADC	1020		; (зачем-то прибавили туда перенос)
    Эта конструкция равносильна обычному циклическому сдвигу влево, но без бита переноса. А так как ROL через бит переноса, то идет пред и посткоррекция.
    Т.е. весь алгоритм подсчета контрольной суммы - это:
    1) a = a ^ b
    2) a = a rol 1 (циклический сдвиг без бита переноса)

    ---------- Post added at 22:33 ---------- Previous post was at 22:29 ----------

    Ну и разумеется, в конец ПЗУ должно быть записано значение КС всех слов без последнего.

    ---------- Post added at 22:35 ---------- Previous post was at 22:33 ----------

    На Си, очевидно, алгоритм подсчета будет выглядеть так:

    unsigned short a, b;

    a = a ^ b;
    a = (a << 1) | (a >> 15);

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

  8. #617

    Регистрация
    12.04.2009
    Адрес
    Одесса
    Сообщений
    644
    Спасибо Благодарностей отдано 
    443
    Спасибо Благодарностей получено 
    109
    Поблагодарили
    75 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давно хотел выложить маленькую антологию плат сопроцессора MS-DOS для Электроники 85:

    плата БA-86M (на плате маркировка дат: 29.02.8_(последняя цифра непонятная то ли 8 то ли 9))


    Описание в прошивке: 052291 "ЦНИИ ЦИКЛОН"; дата биоса: 22/05/91. (разогнанный вариант, 640К ОЗУ)

    плата МС-1702 (на плате маркировка дат: 29.06.88):



    платы МС-1702 (на платах маркировка дат: 9.10.90):


    Описание в прошивках: 030387 "ЦНИИ ЦИКЛОН"; дата биоса: 17/11/88
    Последний раз редактировалось anasana; 15.07.2013 в 17:15.
    LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
    Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
    По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
    Контакты: почта: anasana@ukr.net, email: anasana@gmail.com, TG: https://t.me/adesodesa

  9. #618

    Регистрация
    12.04.2009
    Адрес
    Одесса
    Сообщений
    644
    Спасибо Благодарностей отдано 
    443
    Спасибо Благодарностей получено 
    109
    Поблагодарили
    75 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Продолжу...
    Следующий сет: Контроллер МОС-80 (БА-80), аналог PRO-CP/M (PC3XS-AA) Card ID: 000043
    Плата 7.102.291 (на базе CPU Z80):



    Характеристики:


    Операционная система CP/M-80:




    ОС МОС-80 (адаптация МЭП СССР, ИПИ АН СССР)
    Последний раз редактировалось anasana; 16.07.2013 в 13:43.
    LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
    Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
    По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
    Контакты: почта: anasana@ukr.net, email: anasana@gmail.com, TG: https://t.me/adesodesa

  10. #619

    Регистрация
    05.06.2013
    Адрес
    г. Воронеж
    Сообщений
    656
    Спасибо Благодарностей отдано 
    66
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    46 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Телефоны для справок в Воронеже

    Сейчас позвоним...

  11. #620

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denkixot Посмотреть сообщение
    Сейчас позвоним...
    "Аллё! Это СССР? "

Страница 62 из 107 ПерваяПервая ... 585960616263646566 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Эмуляция
    от ZEman в разделе Вектор
    Ответов: 1516
    Последнее: 16.10.2025, 11:13
  2. [Поиск 1] Эмуляция
    от KingArthur в разделе Поиск
    Ответов: 192
    Последнее: 05.12.2021, 15:48
  3. Эмуляция Profi
    от Zloy в разделе Эмуляторы
    Ответов: 13
    Последнее: 16.03.2009, 05:58
  4. Аппаратная эмуляция GS/TFM/AY
    от Black_Cat в разделе Эмуляторы
    Ответов: 34
    Последнее: 03.05.2008, 23:34

Ваши права

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