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

User Tag List

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

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

  1. #1

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,038
    Спасибо Благодарностей отдано 
    1,117
    Спасибо Благодарностей получено 
    1,409
    Поблагодарили
    508 сообщений
    Mentioned
    20 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.

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

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

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

  3. #2

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

    По умолчанию

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

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

  4. #3

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

    По умолчанию

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

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

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

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

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

    hobot(24.04.2021)

  5. #4

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

    По умолчанию

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

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

    nzeemin(23.04.2021)

  6. #5

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

    По умолчанию

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

  7. #6

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

    По умолчанию

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

  8. #7

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,221
    Спасибо Благодарностей отдано 
    353
    Спасибо Благодарностей получено 
    613
    Поблагодарили
    402 сообщений
    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);
      }
    }
    [свернуть]

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

    anasana(25.04.2021), nzeemin(25.04.2021)

  9. #8

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,038
    Спасибо Благодарностей отдано 
    1,117
    Спасибо Благодарностей получено 
    1,409
    Поблагодарили
    508 сообщений
    Mentioned
    20 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.

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

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

  10. #9

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,221
    Спасибо Благодарностей отдано 
    353
    Спасибо Благодарностей получено 
    613
    Поблагодарили
    402 сообщений
    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;

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

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

  11. #10

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

    По умолчанию

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

    - - - Updated - - -

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

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

    Alex_K(16.05.2021)

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

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

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

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

Похожие темы

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

Ваши права

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