User Tag List

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

Тема: Эмулятор RT-11

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

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

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Если что, вот вильнюсский Бейсик. На ДВК работает молча. Точно не помню, но, вроде-бы, именно он на ДВК с КГД работал с графикой.
    Пошел этот бейсик в эмуляторе. Очень Вам благодарен.

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

    Цитата Сообщение от Hunta Посмотреть сообщение
    Весьма состоятельны
    Опять демагогию разводите.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Опять демагогию разводите
    Не я первый начал

  4. #3

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Не я первый начал
    Прямо вы человек-генератор-загадок. О чем это вы? Что начал? Когда? Я свою позицию всегда разъясняю, а вы темните много.
    Последний раз редактировалось litwr; 04.09.2021 в 08:55.

  5. #4

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Я свою позицию всегда разъясняю
    В данной теме это лишнее.

  6. #5

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В данной теме это лишнее.
    Может Вы тогда объясните, что Hunta имеет в виду? Он тут понаписал много комментов, которые совсем ни о чем. А про разъяснение написал потому как вроде надо ответить человеку, а как ответить, если непонятно, о чем он пишет?

  7. #6

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, я смотрю, Jonathan Harston портировал свой BBC Basic под этот эмулятор:
    https://mdfs.net/Software/PDP11/BBCB...ocs/RT11Em.htm

    Но он там жалуется на какую-то ошибку установки флагов:
    I had to add a workaround for a bug in RT11Em.
    After MOV Rn,-(sp) RT11Em fails to set NE/EQ correctly. On all other PDP11 platforms tested, EQ/NE is set correctly.

  8. #7

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

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Но он там жалуется на какую-то ошибку установки флагов
    Действительно, в эмуляторе RT-11 для отдельных часто встречающихся кодов операций применены выборочные оптимизации, которых нет в эмуляторе PDP-11, и для команд вида MOV Rn,-(SP) как раз используется отдельный программный код для каждого из регистров:

    Код:
    void CPU11::Cmd_010046( word )
    {// MOV R0,-(SP)
    	
    	SP -= 2;
    	WordWrite( SP, R0 );
    
    	PSW &= ~(V|Z|N);
    
    	if( (signed short)R0 < 0 )
    	{
    		PSW |= N;
    	}
    	else
    	if( R0 == 0 )
    	{
    		PSW |= Z;
    	}
    }


    Тогда как в универсальном эмуляторе используется общий код для всех регистров, который выполняется дольше:

    Код:
    		  if( nWord <= 017777 )
    		  {
    			byte nOp1 = (nWord & 07700)>>6;
    
    			word wOperand1;
    			WordRead0(  nOp1, wOperand1 );
    			
    			// MOV
    
    			WordWrite2( nWord & 077, nOp1, wOperand1 );
    			
    			PSW &= ~(V|Z|N);
    
    			if( (signed short) wOperand1 < 0 )
    			{
    				PSW |= N;
    			}
    			else
    			if( wOperand1 == 0 )
    			{
    				PSW |= Z;
    			}
    
    			continue;  //  goto RETURN_TRUE;
    		  }

    На первый взгляд - оба варианта кода должны работать одинаково.

    ...

    Ошибка найдена (и она впечатляет своей эпичностью):

    Код:
    void CPU11::Cmd_010146( word )
    {// MOV R1,-(SP)
    	
    	SP -= 2;
    	WordWrite( SP, R1 );
    
    	PSW &= ~(V|Z|N);
    
    	if( (signed short)R1 < 0 )
    	{
    		PSW |= N;
    	}
    	else
    	if( R0 == 1 )		// Должно быть if( R1 == 0 )
    	{
    		PSW |= Z;
    	}
    }
    - - - Добавлено - - -

    ...

    Исправленная версия эмулятора: RT-11_Emulator_16.01.2022
    Последний раз редактировалось Patron; 04.09.2022 в 22:27.

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

    Aleks1985(16.01.2022), andrews(16.10.2023), Hunta(16.01.2022), nzeemin(16.01.2022), Radon17(16.01.2022)

  9. #8

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    522
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Пошел этот бейсик в эмуляторе. Очень Вам благодарен.
    воистину пошел. И в отличие от буржуйского basic.sav нормально выводит
    print sin(1). Другие функции пока не попробовал.

    Попробовал.

    Гиперболических точно нет, только программой. И log(x) дает значение как ln(x), а последнего нет.

    Еще есть ограничение для вложенных функций. sin(sin(x)) работает, а sin(sin(sin(x))) уже нет - пиши программу.

    Графики тоже нет?
    Последний раз редактировалось andrews; 25.10.2023 в 09:56.

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

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

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

Похожие темы

  1. Эмулятор ДВК
    от Patron в разделе Эмуляторы отечественных компьютеров
    Ответов: 1841
    Последнее: 23.12.2025, 01:29
  2. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 20
    Последнее: 03.09.2024, 13:24
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01

Ваши права

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