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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Игра "Королевство Эйфория" для УКНЦ, восстановление исходника

  1. #1
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Игра "Королевство Эйфория" для УКНЦ, восстановление исходника

    Сделал грубый дизасм KINGOM - https://github.com/nzeemin/uknc-vari...GOM/KINGOM.MAC
    По объёму примерно в полтора раза больше чем STALK. И всё во FLOAT сверху донизу.

    Код на Паскале - https://github.com/nzeemin/uknc-vari.../KINGOM-PASCAL
    Последний раз редактировалось nzeemin; 05.01.2022 в 22:31.

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

    Alex_K (23.04.2021), Chewbacca (06.01.2022), hobot (23.04.2021), Ynicky (16.05.2021)

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

  4. #2
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    И всё во FLOAT сверху донизу.
    А почему FIS не дизасмится?
    Цитата Сообщение от nzeemin Посмотреть сообщение
    Не уверен что осилю этот объём.
    Главное уже начал. А там уже всё пойдёт.

    А с какого диска "Королевство Эйфория"?

  5. #3
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А почему FIS не дизасмится?

    Главное уже начал. А там уже всё пойдёт.

    А с какого диска "Королевство Эйфория"?
    Надо мой дизасмер научить FIS понимать.

    Эйфория с диска disk2.dsk - который ещё со старого SVN-репо - https://github.com/troosh/ukncbtl/bl...isks/disk2.dsk
    Я уже не помню откуда этот диск взялся.

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

    hobot (24.04.2021)

  7. #4
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Надо мой дизасмер научить FIS понимать.
    Это очень просто. Команды всего четыре плюс регистр к ним.
    Цитата Сообщение от nzeemin Посмотреть сообщение
    Эйфория с диска disk2.dsk - который ещё со старого SVN-репо - https://github.com/troosh/ukncbtl/bl...isks/disk2.dsk
    Я уже не помню откуда этот диск взялся.
    Посмотрел в DESS, у меня такая же.

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

    nzeemin (23.04.2021)

  9. #5
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #6
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    А есть какой-то калькулятор, чтобы подставил туда два восьмеричных числа - и на тебе плавающее число в привычной записи?
    Если только написать самому.

  11. #7
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    А есть какой-то калькулятор, чтобы подставил туда два восьмеричных числа - и на тебе плавающее число в привычной записи?
    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если только написать самому.
    Набросал начерновую:

    Скрытый текст

    Код:
    #include <stdio.h>
    void main(void)
    {
     unsigned short O1, O2;
     short exp;
     unsigned long mant, scmant;
     long double res, sres;
     while (1)
      {
       printf("#>");
       scanf("%ho %ho", &O1, &O2);
       printf("%ho %ho\n", O1, O2);
       mant = ((((unsigned long)O1 << 16) | O2) & 0x7FFFFFL) | 0x800000L;
       exp = (O1 >> 7) & 0xFF; exp -= 128;
       printf("%hi %lX\n", exp, mant);
       scmant = 0x800000L; sres = 0.5; res = 0.0;
       while (scmant != 0)
        {
         if ((scmant & mant) != 0) res += sres;
         scmant >>= 1; sres /= 2;
        }
       while (exp != 0)
        {
         if (exp < 0)
          {
           res /= 2; exp++;
          }
         else
          {
           res *= 2; exp--;
          }
        }
       if ((O1 & 0x8000) != 0) res = -res;
       printf("%Lg\n",res);
      }
    }
    [свернуть]

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

    anasana (25.04.2021), nzeemin (25.04.2021)

  13. #8
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Королевство Эйфория":
    Код на MACRO-11, постепенно пополняется комментариями - https://github.com/nzeemin/uknc-vari...GOM/KINGOM.MAC
    Код на Паскале, незакончено - https://github.com/nzeemin/uknc-vari.../KINGOM-PASCAL

    По моим прикидкам, общий объём работы - около 20 дней - на первые 20% ушло 4 дня.
    Последний раз редактировалось nzeemin; 16.05.2021 в 02:09.

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

    Alex_K (12.05.2021), hobot (12.05.2021), Ynicky (16.05.2021)

  15. #9
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По поводу переменной VAR224 - она типа INTEGER.
    Функция L57170 получается что-то типа местного рандомайзера.
    Код:
    FUNCTION L57170(A:INTEGER; VAR B:INTEGER):REAL;
    LABEL 1;
    BEGIN
     IF A<>0 THEN B:=A;
     B:=B*5;
    1:
     IF B>=16384 THEN B:=B-16384;
     IF B>=8192  THEN B:=B-8192;
     IF B>=4096  THEN B:=B-4096;
     IF B>4096   THEN GOTO 1; 
     L57170:=B/4096;
    END;
    Хотя можно было сделать проще: B:=B*5 AND 4095;

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

    nzeemin (15.05.2021), Oleg N. Cher (16.05.2021)

  17. #10
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо, это сэкономило мне время.
    Пока не понял что в процедуре L60060 заставляет сохранять SP в R4 - пока воткнул там NOP для выравнивания.
    В конце 4-го .PAS модуля (KINGM4.PAS) стоит какой-то заполнитель из слов 011404 - пока не понял что это.

    - - - Updated - - -

    В общем, первый проход по основному модулю (KINGOM.PAS) - сделан.
    Недоделаны процедуры в остальных модулях (KINGM3.PAS, KINGM4.PAS, KINGM5.PAS).
    Приготовил всё ко второму проходу по основному модулю - дальше пока буду этим заниматься.

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

    Alex_K (16.05.2021)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 231
    Последнее: 21.03.2022, 07:54
  2. Корпус для адаптера дисковода для УКНЦ
    от tnt23 в разделе ДВК, УКНЦ
    Ответов: 1
    Последнее: 25.06.2020, 00:22
  3. Ответов: 55
    Последнее: 20.06.2020, 10:41
  4. Восстановление мембраны для клавиатуры.
    от Shnurkov в разделе Устройства ввода
    Ответов: 37
    Последнее: 09.08.2017, 20:10

Ваши права

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