вторник, 29 августа 2023 г.

Space Travel

 Есть исходный код в тетрадке, но добрый человек его опубликовал в готовом виде


https://github.com/DoctorWkt/pdp7-unix/blob/master/src/cmd/st1.s


Более того он портировал этот код на Си


https://github.com/mohd-akram/st


Насколько я понял это игра об элептических траекториях вокруг двух центров притяжения.

Как раз подходит для звездной механики в Елит


https://en.wikipedia.org/wiki/Space_Travel_(video_game)

200 клавишная клавиатура

 Основной стапель для создания программы.


Состоит из подсвеченных клавиш. Определенно от каждой клавиши подсвечено 4 направления, но лучше 8 (включая направления по диагонали через углы клавиш)


На такой клавиатуре либо набираем цепочку формул.


Либо нажимаем группу клавиш, которые однозначно характеризуют объект, как влияющий на перечисленные факторы.


Так же есть возможность языкового набора. Когда выбираются слога из матрицы клавиатуры и нажимаются последовательно, образуя алфавит.


Полученный в итоге алфавит можно демонстрировать на этой клавиатуре как граф машины состояний


Придется выделить слой трасировки необходимой емкости


В пределе мы имеем одну кнопку, которая изображает вершину и все остальные для трасировки.


Есть вариант использовать как регулярную матрицу, к какждой клавише которой биндится введенная ранее формула как комбинация клавиш для операций умножения.


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


VLSI Electric - наиболее подходящий редактор, причем первой версии, написанный на Си


https://www.youtube.com/watch?v=8-DseZmt52Q&t=107s

Отечественные компоненты по предприятиям.


Парктроники для ЧИНЕРЫ

 Тут бы соблюсти баланс между задротством по табличкам ( https://inara.cz/ ) и сторонним ресурсам и пилотированием. Предлагаю решение. Разместить над головой пилота модуль памяти на магнитных ячейках и туда подавать сигналы, если в районе нахождения есть что то интересное.

Притом тем чаще чем ближе. этакие парктроники. Но если мозг человека и сердце не позволяет чувствовать магнитное поле, или он игнорирует свои органы чувств, или их у него отрафировали, то он просто ничего не будет слышать. Вот это и будет элита с большой буквы Элита, кто смог. Ну в крыле с дронами по двойным восмёркам с вращением работать и прочие тонкости.
Show less

понедельник, 28 августа 2023 г.

UM-16

 


Про спрятанные планеты

 В адоптированных исходника


на языке Си вот такие коментарии docked. c


https://github.com/fesh0r/newkind/blob/master/docked.c#L317C3-L320C1


The next bit calculates the size of the circle used to represent a planet. The carry_flag is left over from the name generation. Yes this was how it was done... don't ask :-( Тут вычисляется размер планеты, но используется флаг переноса при генерации имени. Не спрашивайте по чему. В итоге похоже что те имена которые давали флаг переноса не выводились на экран. Надо будет это проверить сделав логи.


19139


В исходниках на ассемблере компании файиберд вот такая заковыка, похоже вычисляют планеты с нулевым диаметром начиная с вышеуказанной строчки 19139 исходников осовной програмы. Она идет одним файлом.


В общем на данный момент я считаю что  это комбинация больших ресурсов, знание о возможности комбинированного Галактического гипер прыжка и достаточного вооружения против Таргоидов. Потому что все это дает возможность с любой станции попадать в любую. А статус беглеца-преступника очистить и бюджет пополнять за счет продажи капсул таргоидов.

Со списком скрытых планет было бы интересно поиграть. Но этот глюк-баг-фича Raxxla был не на всех версиях. На 48к самой первой Elite скорее всего был. 

Но вот как раз для неё у меня нет исходников. Хотя дизасемблировать при желании код не сложно. Но проще найти того кто это уже проделал и проанализировал. 

Почему это важно. Потому что генерация имени планеты  в теории может опираться на аппаратные особенности конкретной прошивки биоса конкретной модели конкретного компьютера. Но скорее всего конечно проще.



В версии ББС компьютера 

есть единственная не используемая переменная, которую можно прочитать как окончание названия искомой планеты. Предполагаю что при передаче кода дистрибютерам был убран механизм прыжка в любое место. Из за того что не была учтена ошибка сохранения капитана без инициализации начальних значений. Что заставило офис тратится на кучу значков и их пересылку, а так же оплачивать услуги почты по получению карточки человека, который заработал звание Елита.

С 812 строчки:

.XX14

 SKIP 1                 \ This byte appears to be unused Окончание название планеты

Следующая страница открыта с пропуском в 30 байт

Переменные заканчиваются на 179, а страница открыта с 209 байта

В коде так же пропущена шапка с объяснением для чего используется эта поляна

Затем идут такие переменные

Время T

И 16 видимых байт для координат

Далее переносятся 30 байт с байтом случайного семени, адресами видеопамяти, музыкальными семплами

Затем 255 байт для вычислений в стандартном для MOS Technology 6502
 стеке

Затем 6502 байта для данных командира и кораблей

Текущий корабль по Чертежам 

(если они будут не верные) может перезаписать адресс начала вершин и ребер
это некая оптимизация для того чтоб одной функцией делать взаимодействие и станцию и корабля и цистерны и некого дочернего корабля
По сути это некое подобие форка процесса
История с таргоидами подсказывает что дочерних кораблей может быть несколько и что изночально они с выключеным ИИ

Все это делается в неком стеке в 255 байт

После которого начинаются данные о статусе миссии, координате, галактике

То есть выходит что формально спроектировав себе корабль, можно перезатереть условия своей миссии, просто отправив дочерний корабль на удаленном управлении куда захочется

Кстати дизайн кораблей был опубликован в виде исходников. Наборов структур данных.

Осталось понять как можно подменить себе дочерний корабль. Точнее чертеж дочернего корабля.

Если скажем мы нашли чертеж инопланетного корабля, то он может включать и нашу новую миссию.

На старых компьютерах была кнопка Копи которая копировала символ из под курсора в видеопамяти в оперативную память.
Для светового пера это вероятно были координаты развертки.
Когда выбирается планета на карте это практически такой же процесс.

.PATG

 SKIP 1                 \ Configuration setting to show the author names on the
                        \ start-up screen and enable manual hyperspace mis-jumps
                        \
                        \   * 0 = no author names or manual mis-jumps (default)
                        \
                        \   * &FF = show author names and allow manual mis-jumps
                        \
                        \ Toggled by pressing "X" when paused, see the DKS3
                        \ routine for details
                        \
                        \ This needs to be turned on for manual mis-jumps to be
                        \ possible. To do a manual mis-jump, first toggle the
                        \ author display by pausing the game (COPY) and pressing
                        \ "X", and during the next hyperspace, hold down CTRL to
                        \ force a mis-jump. See routine ee5 for the "AND PATG"
                        \ instruction that implements this logic

 AND PATG               \ If the game is configured to show the author's names
                        \ on the start-up screen, then PATG will contain &FF,
                        \ otherwise it will be 0

 BMI ptg                \ By now, A will be negative if we are holding down CTRL
                        \ and author names are configured, which is what we have
                        \ to do in order to trigger a manual mis-jump, so jump
                        \ to ptg to do a mis-jump (ptg not only mis-jumps, but
                        \ updates the competition flags, so Acornsoft could tell
                        \ from the competition code whether this feature had
                        \ been used)

 AND PATG               \ If PATG = &FF (author names are shown on start-up)
 LSR A                  \ and bit 0 of QQ11 is 1 (the current view is type 1),
 BCS P%+5               \ then skip the following instruction

 JSR DELAY-5            \ Delay for 8 vertical syncs (8/50 = 0.16 seconds), to
                        \ slow the main loop down a bit

 JSR TT17               \ Scan the keyboard for the cursor keys or joystick,
                        \ returning the cursor's delta values in X and Y and
                        \ the key pressed in A



Программа постоянно анализирует скорость нажатие пилотом различных вращений и в зависимости от результата подстраивает сценарий

Может быть удасться 

найти оригинальную версию игры с правильными клавишами и рабочим полностью кодом



А помоему в элите по тому же самому алгоритму Space Travel расчитывается притяжение планет. Когда разница в массе между планетой и спутником большая , то точка равновесия может быть вообще под землёй спутника. В элите аналогичные глюки. Так что повлияла и ещё как! А по поводу так элита еще не доросла Spacewar! для запуска и управления крыльями. Хотя в первой версии была такая возможность. Записаться под своим именем, показать сильную дельту в поворотах и на ускорении (да первая элита постоянно следит за исполнением, и даже есть хак что для имени создателя игры там общий цикл замедляется), за тем во время полета нажать Ctrl-X и открыть доступ к вводу кода специальной миссии, которая компания сообщала. Дальше на основе этого кода происходил выбор корабля по блюпринтам и определение координат и вообще всего окружения капитана. Так же форкаются дополнительные корабли внутри. То есть получается что то вроде Таргоида с набором Таргонов. Но человеческие. И человек попадал на миссию. Похоже их издатели торопили и официально они делали радар. Но мы знаем что радар для показа скрытых кораблей. И вероятно скрытых планет. И платформы там тоже есть. А еще была такая кнопка COPY на всех старых клавиатурах. Включая спайс кадет. Она копировала знак из области видеопамяти в область программы. Так что в теории даже можно было во время просмотра информационных экранов ввести команды. Даже без подключения кнопок. Так что механизм миссий убрали уже издатели Фаирберд, но 30 байтов там до сих пор пустуют. Как раз для блюпринта либо скрытой планеты Раксла, либо для блюпринта диковинного корабля. Я исходники на асемблере глянул. Мне не в падлу 40 000 линий кода и коментариев прочитать.

это беглый взгляд, предстоит еще кропотливая работа по детальному выяснению механизмов. Там явных хак стандартный с перезаписью стека. Так например если в окно поиска планеты ввести нужный код асемблерный который соответсвует новому кораблю то будет миссия новая. Для этого на старых компьютерах была кнопка COPY. Кроме того они там заморочались якобы для энономии места сделали кодировщик букв но на самом деле для удобства ввода кодов машины прямо в стек из хипа. (Поэтому все кто не в теме это проглядели, а кто в теме себя не выдавали по понятным причинам)

MOS Technology 6502

На компьютерах ББС микро и Аком електрон стояли следующие процессоры

MOS Technology 6502/Система команд

В них были некоторые недокументированные возможности, которые могли быть использованы Английской разведкой.
Например, сбор карточек с адресами клиентов. это конечно чистый маркетинг, однака общая база для фанатов была.
Так же судя по коду создатели игры имели возможность присылать обновление для пользователя игры, и даже выводить сообщения.
Скажем на магнитной ленте. Так же можно было сгенерировать некую миссию введя названия функций прямо в консоли.
Или скопировав их кнопкой Копи, которая была на клавиатуре. По карайней мере, можно было использовать в качестве шифровальной машинки.
В основном тесным взаимодействием не только со спецслужбами но и с тайными орденами, объясняется отказ ББС от услуг компании Синклера в пользу  Acorn Computers

Для изучения кода 

мы не будем использовать симулятор, ПЗУ и старые бинарные диски.
Потому что внесение изменений в такую конфигурацию достаточно трудоемкий процесс.
Мы будем использовать кроссасемблер для Линукса


Автор этого кода написал заметку о своей творческой карьере


Красота исходников програмы поражают воображение больше чем сцена в элита:данжерос. Потому что этот код содежит на порядок больше чем современный сценарий игры. И на два порядка больше култьруры програмирования чем все современные высокомодные стили, фреймворки и 3Д студии, вместе взятые. И занимает, как и положено всю оперативную память - все 128 килобайт. Или 48 килобайт для лайт версии. То есть всего около 40 000 линий кода вместе с коментариями.



Есть у нас быстрая страница

На легендарном 6502 есть у нас некая фича позволяющая спрятать все что угодно


LDA ($FF),Y
Извлекут младший байт из адреса 00FFH, а младший из 0000H.

JMP (92FF)
Получит младший байт из адреса 12FFH, а старший из 1200H.

Смотртим внимательо эти адреса и обертона

Начало

ORG &0000 \ The start of the zero page workspace

.ZP .RAND - инициализатор псевдорандомного генератора

Завершение

171 .XX4
172 .XX20 - счётчик планет в системе, номер граней у корабля, номер вершин корабля, размер хипа для корабля
173 .XX14
174 .RAT
175 .RAT2
176 .K2(4)

Далее идет 30 пропущенных байт

ORG &00D1
.T
.K3 .XX2 (14)
.K4 (2)

ORG &0100

.XX3

====== Начало WP workspace 
 Shared with the descending 6502 stack, which works down from &01FF.

ORG &0300 ( Address: &0300 to &035F)

.T%

Продолжение на диаграмме ниже



Сформировать можем адреса на обертонах, дальше сделать сдвиг и вуаля у нас планета спрятана


Обертона

122 .XX19 
128 .LSP - Линия разделения хипа и стека планет, копируется значение XX20
_

.QQ15
.K5 .XX18 .QQ17 - Вот тут некие старшие биты, якобы для печати, но в другом контексте делают из планеты станцию или невидимую планету
.QQ19

И еще есть такой вот интересный байт .XX14

Вот он единственный не для чего не используется, а читается он как RRLA

RLA - Недокументированная команда

ROL M, A and M -> A

Циклический сдвиг влево по значению из памяти. В итоге все попадает в общий регистр

С кодом 23 всякий, раз когда мы промахиваемся мимо текстовых преобразований

IND, XRLA (Oper,X)23



                        \   +-----------------------------------+   &0F34
                        \   |                                   |
                        \   | WP workspace                      |
                        \   |                                   |
                        \   +-----------------------------------+   &0D40 = WP
                        \   |                                   |
                        \   | Current ship line heap            |
                        \   |                                   |
                        \   +-----------------------------------+   SLSP
                        \   |                                   |
                        \   | Proposed heap for new ship        |
                        \   |                                   |
                        \   +-----------------------------------+   INWK(34 33)
                        \   |                                   |
                        \   .                                   .
                        \   .                                   .
                        \   .                                   .
                        \   .                                   .
                        \   .                                   .
                        \   |                                   |
                        \   +-----------------------------------+   INF + NI%
                        \   |                                   |
                        \   | Proposed data block for new ship  |
                        \   |                                   |
                        \   +-----------------------------------+   INF
                        \   |                                   |
                        \   | Existing ship data blocks         |
                        \   |                                   |
                        \   +-----------------------------------+   &0900 = K%

То есть что у нас происходит

Где то вверху в середине первой странице у нас образовалась точная копия основного стека программы.
И одной единственной, недокументированной командой в цикле, которая совпадает со всем тем что мы пишем в буфер по коду 23 (Знак диез, который по совместительству выбран знаком перевода строки в буферах) и знак 27 (апостров, который обрабатывается по особенному).

MACRO CHAR x

 IF x = '`'
   EQUB 39 EOR RE
 ELSE
   EQUB x EOR RE
 ENDIF

А слишком длинный ввод данных в буфер, всегда оказывается на границе хипа и стека в итоге. Причем граница их раздела определяется в байте .XX20 за которым сразу же идет .XX14 (.XXlA)

Обратите внимание, как к приближению к интересным местам (обертонам в середине начальной страницы), названия переменных резко становятся плюралистическими. То есть под одним именем изменили, а под другим использовали.

Уязвимости буфера записи на магнитную ленту, на этой версии кода уже нет. Все опасные места закоментированы. Найти их можно по ключевому слову FLKB

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

Так же не забываем что при переполнении адреса в первой странице, в индексном режиме, мы легко можем перезаписать Сиид (семечко) псевдорандомного генератора.
Там последовательность блочных операций на 4 байтах. И у нас получатся другие названия и качества планетарной системы.


Unused duplicate of MULTU

.MUL6
Есть функция которая сдвигает регистры циклически вправо. Причем делает это в цикле по 4 байта, то есть весь стек можно сдвинуть перед возвращением. То есть с первого взгляда все инструменты для манипуляции есть.

Распечатка кода 

это делается через специальную функцию, по сути это доменный язык для сборки текста. То есть имеется микрокомпилятор.

.TT27

это название функции, в которой не разбираются дополнительные установленные флаги в .QQ17

.TT42

Заботится только о том чтоб специальные символы не были распечатаны. Потому что они могут привести к сбою програмы.



WRCHV
OSWRCH = &FFEE         \ The address for the OSWRCH routine

Некое подобие операционной системы в загрузчике. В то время было модно делать такие штуки. Там еще есть некий резидентный модуль. И защита от дурака, который ищет переходы и изменяет логику на обратную.

.TT26 -  Копирует в экранную память, предварительно установив координаты, Затем записывает в .K3

В изначально у нас сохранены состояния, соответственно если адресс в стеки перезаписать на буфер который мы только что ввели. То по возвращению из функции попытается запуститься заставка изначальная в цикле, которая прогоняет цикл отрисовки корабля один раз, а затем возвращает управление на цикл. Так вот в этом месте и происходит вызов собранного игрой через встроенный компилятор буфера.

Кстати надо посмотреть что за двухбуквенные обозначения там, возможно они даже имеют некую словарную логику и могут использоваться как скриптовый доменный встроенный интерпритируемый язык. Который выглядит как комбинации клавишь которые мы вводим. Естественно это включается при определенных условиях. Когда например мы нашли где то блюпринт нового корабля, который и пересобрали с новым окружением и вот в нем как раз такая опция появляется.

\LDX #LO(K3)            \ These instructions are commented out in the original
\INX                    \ source, but they call OSWORD 10, which reads the
\STX P+1                \ character bitmap for the character number in K3 and
\DEX                    \ stores it in the block at K3+1, while also setting
\LDY #HI(K3)            \ P+1 to point to the character definition. This is
\STY P+2                \ exactly what the following uncommented code does,
\LDA #10                \ just without calling OSWORD. Presumably the code
\JSR OSWORD             \ below is faster than using the system call, as this
                        \ version takes up 15 bytes, while the version below
                        \ (which ends with STA P+1 and SYX P+2) is 17 bytes.
                        \ Every efficiency saving helps, especially as this
                        \ routine is run each time the game prints a character
                        

Далее происходят настройки корабля 

после разбора токенов

.TTX66
.mes9
.OUCH

В первом приближении примерно такой механизм сокрытия планеты. Надо найти корабль. Либо ввести нужный код. Затем создасться корабль и отвезет к нужной планете. Возможно все это как бы еще одна игра в игре для настоящей 31173.


Функция выполнения кода

.ex
EOR #RE                \ Tokens are stored in memory having been EOR'd with the
                        \ value of RE - which is 35 for all versions of Elite
                        \ except for NES, where RE is 62 - so we repeat the
                        \ EOR to get the actual character to print

#RE - как отмечалось выще это код недокументированной команды в шестнадцетиричном 23

\LDA XX1+32
\AND #&7F 

Закоментированный сброс старшего бита.


Создание новых планет

.SOS1

 JSR msblob             \ Reset the dashboard's missile indicators so none of
                        \ them are targeted

 LDA #127               \ Set the pitch and roll counters to 127 (no damping
 STA INWK+29            \ so the planet's rotation doesn't slow down)
 STA INWK+30

 LDA tek                \ Set A = 128 or 130 depending on bit 1 of the system's
 AND #%00000010         \ tech level in tek
 ORA #%10000000

 JMP NWSHP              \ Add a new planet to our local bubble of universe,
                        \ with the planet type defined by A (128 is a planet
                        \ with an equator and meridian, 130 is a planet with
                        \ a crater)

По токену 128 и 130 может быть создана либо планета с меридианами, либо с кратерами

Создание солнца

.SOLAR
Токен 129  - код звезды

Функция копирования стека

В файле elite-loader.asm присутствует функция копирования стека. Поэтому возможность допрограмировать на лету игру или загрузить новые модели и код, повидимому имелись.

.BEGIN%

Copy a space coordinate

from the K% block into K3
.SPS3

То есть у нас есть даже специальная функция для нахождения неких координат в галактике и превращения их в эксплоид.

Выбор корабля по номеру слота

.GINF
Номер слота должен быть в регистре X. Затем на нужный корабль будет указывать наш указатель для кораблей INF.

Создание новой космической 

В текущей солнечной системе

.NWSPS

Добавлние нового корабля

.NWSHP

Вывод нужного корабля на экран

.PROJ
.SHPPT

Рисование планет

.PLANET

Если второй байт у не нулевой то планета считается не влезающая на экран и не рисуется

.PL9

Если радиус меньше 6 то то же не рисуется

K3(1 0), K4(1 0) - Координаты кратера, вероятный будущий вход в пещеру

Все это украшается элипсами, которые являются кратерами или мередианами

.CHKON

Функция для проверки влезает ли планета на экран

Самомодификация кода

.doPROT1


Вот коды которые я искал

Я нашел все читы и коды старой элиты. Действительно оказалась что настоящая элита это хакеры. И сама программа это просто игра для хакеров во Взломай меня. В моем блоге есть информация на страничке Elite.
Не я первый это все нашел. Как я и говорил, можно редактировать код, можно делать супербольшие прыжки. Можно создавать галактику. Но там нет самого главного кода - создание Ракслы и перехода к подземной миссии.
Его я открою только настоящей элите (тем кто на голову выше старых хакеров)

Elite

Produced by:RainBird Software
Distributed by:RainBird Software

DESCRIPTION

Elite combines the elements of strategy and shoot-'em-up arcade action in a sensational test of skills. Your goal is to reach supreme status of Elite. This challenging program is a test of combat all the way. How you acquire the needed skills is up to you.

CHEATS

On the copy protection screen type "SARA" and press 'RETURN' for the first attempt. (if you have a newer copy, type "SUZANNE"). Next enter the correct code from the manual and again press 'RETURN'. Now when in the game press the '+' and/or '*' on the numeric keypad or press 'HELP' to alter the quanity of the arms and cargo.

By typing in a byte number and entering a new value you can change things in the game.

BYTE NUMBER --- NEW VALUE ---------- USAGE
-- 12 ---------- 00-FF --- Create a new galaxy
-- 13 ---------- 00-FF --- Create a new galaxy
-- 18 ---------- FF ------ Loads of credits
-- 1F ---------- 46 ------ 7 light years fuel
-- 20 ---------- 01 ------ Escape capsule
-- 23 ---------- 02 ------ Large cargo bay
-- 24 ---------- 01 ------ E-C-M- system ('L'=on/off)
-- 26 ---------- 01 ------ Pulse laser
-- 28 ---------- 01 ------ Galactic hyperdrive (may be Beam Laser)
-- 2C ---------- 01 ------ Escape pod
-- 2F ---------- 01 ------ Energy bomb
-- 31 ---------- 01 ------ ECM jammer
-- 31 ---------- 0C ------ Naval energy Unit
-- 32 ---------- 01 ------ Docking computer
-- 34 ---------- 03 ------ Galactic hyperdrive
-- 36 ---------- 01 ------ Mining laser
-- 38 ---------- 01 ------ Military laser
-- 3F ---------- 01 ------ Cloaking ('Y'=on/off)
-- 40 ---------- 01 ------ Loads of food
-- 47 ---------- 01 ------ Loads of textiles
-- 49 ---------- 01 ------ Loads of radioactives
-- 4C ---------- 01 ------ Loads of slaves
-- 50 ---------- 01 ------ Loads of wine
-- 54 ---------- 01 ------ Loads of narcotics
-- 5C ---------- 01 ------ Loads of computers
-- 63 ---------- 01 ------ Loads of machinery
-- 67 ---------- 01 ------ Loads of alloys
-- 69 ---------- 01 ------ Loads of firearms
-- 6C ---------- 01 ------ Loads of furs
-- 72 ---------- 01 ------ Loads of minerals
-- 75 ---------- 01 ------ Loads of gold
-- 79 ---------- 01 ------ Loads of platinum
-- 83 ---------- 01 ------ Loads of gem stones
-- 84 ---------- 01 ------ Loads of alien items
-- 88 ---------- 01 ------ Refugees from Super Nova
-- 8C ---------- 01 ------ Important thargoid doc
-- 91 ---------- 00 ------ Clean legal status (may be 97 - 01)
-- 97 ---------- 00-08 --- Harmless - Elite ranking
-- 98 ---------- FF ------ Loads of combat points
-- 3C ---------- 01 ------ E.C.M. system jammer ('L'=on/off)

-- A3 ---------- 01 ------ AND FOR DIFFERENT MISSIONS CHANGE:
-- 9D ---------- 01 ------ Seek & destroy
-- 9D ---------- 02 ------ Deliver Thargoid Docs
-- 9D ---------- 03 ------ Rescue Refugees
-- 9D ---------- 04 ------ Destroy Cougar
-- 9D ---------- 05 ------ Destroy Space Station

Pressing the 'ESC' key will return you to the game.

NOTE: if you happen to have a copy from the Space Legends compilation then unfortunately the above cheat will not work. The obvious reason being that it was removed from within the game.

TIPS

Here is a way to span 80 light years in about two jumps. First of all buy some fuel and launch from the station. Go to the local cluster chart by pressing 'F6', and choose a planet that lies within the fuel range as normal. Press 'H' to hyperspace and the cursor will disappear, but you can still control it even though you can't see it. Now move the cursor to a planet outside the range and press to get the local chart for that planet. But remember you've only ten seconds until the countdown finishes so you have to be quick. This should cause the jump to move to the selected planet, well outside the 7.2 light year range.

When the title screen with the rotating ships appear press 'A'. This will stop the ship from moving. To move or rotate the ship, press the arrow keys, and to get more rotations hold down 'A' while pressing an arrow key. To move the ship toward or away from you press 'O' or 'I'. Press 'D' when your finished. Press 'W' while flying to tell your score and the authors credits.

FUN

Do you enjoy the amazing rendition of the Blue Danube? If so, press 'H' to hyperspace, when the counter is 5 or lower, engage the docking computer, and the Blue Danube will now play till you reach the next station.


The 6502 Rotate Right Myth

В воспоминаниях есть эпизод, что нашли ошибку в чипе (это было еще в Мотороле), а главные мозги сказали что просто надо добавить провод...
А тот кто паниковал, удивился как тот в уме смог понять.


Дума что суть в том что они химичили с таймером в первых слоях, и этот человек внёс изменения в дизайн (Чей?)
И ему пришлось добавить вот такой длинный резистор. (подтянуть напряжение?)


HUEY - a 6502 assembly scientific calculator

Инструкция по отладке кода


Клавиатура не правильно адресовала последнюю колонку своих значений. Видимо это про перенос символов за пределы стандартных  ASCII кодов.


Запуск в Виндоувсе в эмуляторе

  .\fMSX -dos -msx1 -diska msxelite.dsk


эмуляторы и имиджи брать тут


http://www.elitehomepage.org/z80/index.htm


MSX Elite was programmed by Mr Micro and published by Firebird in 1988.

I recommend emulation with the DOS version of fMSX.

You will need the MSX1, DISK, and FMPAC   rom images in the same directory as fMSX and MSXELITE.DSK.
Run using fmsx -dos -msx1 -diska msxelite.dsk
Save and load commanders as normal.

Click here to download  MSX Elite (88 Kbyte

Следовательно надо подготовить и установить оборудование зарание и сделать боевого асистента.

 

Много плоских астероидов иномирья а точнее инопланетных кораблей Таргоны - собираем с них предметы (Не совсем невидимка, на радаре его было видно, если не путаю с него можно было модуль невидимости подобрать, приблуда называется Cloaking device. стрелять-то когда ее включишь, можно, но на момент выстрела становишься видимым) . Для этого нужен боевой лазер и система охлаждения. Купить шахтерский лазер и щиты. Иначе убъют.


Выяснял цели,


Устанавливал приоритет атаки,


Подготавливал манёвр,


Запускал дронов для сбора ништяков.



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


Рассмотреть возможность действия звена, крыла, пары (вместе с дроном), точно по траекториям навивания щёлковой нити.

Анализ полученной табличной информации

 В целях избежания тупого гринда и брутфорса по собраным таблицам


Надо найти список неведимок и выстроить по ним оптимальный маршрут по волновому последовательному алгоритму


Затем отсортировать по редкости по всем доступным критериям


Для этого составить автоматически список по каждому критерию


И упорядочить эти списки по минимальному количеству перестановок между ними


Таким образом мы получим список с наиболее уникальными объектами на первом месте


Далее автоматически проложить к ним маршруты


Совершить все полеты и привести доступную информацию


Особое внимание уделить наличию на базе скрытой планеты особых сообщений или агентов с ередложениями


Клавиша К

Добавления рагульки в подземный мир планеты

 Можно сделать приземление на каждую планету 


И включения квеста рогуле в полном объеме


Исключение только для баз Стражей


Там квест из Тоналя


Полет над поверхностью планеты только по прибором по карте высоты с автоматической прокладкой курса (можно по алгоритмам бурана)

Автоматическое управление кораблём

 Из инструкций выделить управляющие команды и из них создать цепочки по брутфорсу нужной цели с минимальным временем.

Для этого можно исключить из кода все декоративные задержки


Максимальный запас топлива  - подзаряжаемся у звезды (мгновенно)

Алгоритм движения либо по спирали для прочесывания всех звезд


Либо по линии для достижения барьерных станций


Нажимаем I  и строим маршрут по спирали на все 7  световых лет


Если прыгнуть в систему так, чтобы топливо кончилось в 0, после вылета из дока базы системы в ней происходит взрыв звезды.

Для гиперперехода нажать H

Управление курсором  s x n m

Копируем данные по каждой системе p

Клавиша "B" — возврат малого курсора к большому.

Для каждой звезды строим аналогично маршрут к каждой планете на подкарте O

Дистанция между ближайшими к курсорам системами  D



Отход от орбитальной станции 1 (десять секунд заставку надо временно отключить и заменить на гиперпрыжёк прямо со станции)

На первый вопрос ответить пробелом, дальше выбрать систему управления клавиш от 5 до 8

По умолчанию следующая

N — вращение корабля против часовой стрелки.
M — вращение корабля по часовой стрелке.
X — вверх.
S — вниз.
Space — увеличить скорость.
Symbol Shift — уменьшить скорость.


Чтоб телепортироваться сразу на станцию надо вылететь со станции, развернуться на 180, подлитеть к щели, выбрать карту I, выбрать планету курсором, включить гиперпыжек H, успеть залетеь на станцию в течении 5 секунд, на полной скорости



пространства вблизи корабля.

1 — впереди, 2 — сзади, 3 — слева, 4 — справа.

Клавиша "H" — гиперпереход.

Запастить топливом, отьехать на форсаже от звезды и нажать J

Одновременно клавиши "G", "H". Межгалактический гиперпереход

В программе отсутствует прокладка надо начать развитие программы с добавления системы навигации и журнала

Треки в системе навигации сохранять тоже



Телепортация в открытый космос между двух планет


Выбрать планету


Поставить игру на паузу  SHIFT


Нажать F


Снимаем с паузы пробелом Space


Делаем гипрепрыжёк H


Много плоских астероидов иномирья а точнее инопланетных кораблей Таргоны, расса агрессивных инсектоидов - собираем с них предметы (Не совсем невидимка, на радаре его было видно, если не путаю с него можно было модуль невидимости подобрать, приблуда называется Cloaking device. стрелять-то когда ее включишь, можно, но на момент выстрела становишься видимым). Для этого нужен боевой лазер и система охлаждения. Купить шахтерский лазер и щиты. Иначе убъют.


Следовательно надо подготовить и установить оборудование зарание и сделать боевого асистента.


Длы возвращения назад жмем паузу Shift, жмем F, снимаем с паузы Space, прыгаем H


Прыгая из "гипера" без клавиши F подаешь обратно в "гипер" и встречаешь свежую партию таргонов


Если не поменять планту то прыжёк будет на три четверти и так далее. Таргоны будут преследовать по возможности 


ВКонтактовский паблик "Tape version" , там много такой zx наркомании

Когда назад поворачиваеш с гипер переходом. И становишся fugitive.

This program lacks preprogramming of the onboard AI. It would be possible to invite real players to become engineers, giving them a full-fledged simulator 6502

воскресенье, 27 августа 2023 г.

Структурная составляющая кода

 В любом коде есть 7 слоев проектирования


Несмотря на то что 3 из них связанных с операторами управления кодом плавают, тем не менее можно искусственно строго придерживаться иерархии вложенности.


Так присваивание в самой глубине

Условие выше

И еще выше циклы



Android:  View, Activity, BroadcastReceiver, Intent,  ContentProvider, Service.

Classification functions by the following features:


1. The object. - View

2. Upgrade to the states. Finite State Machine. - Activity

3. To implement the switching functions / equalization / branching. -

BroadcastReceiver

4. To implement the function parser (parsing) / compilation. - Intent

5. By field of memory and the physical devices.

6. By time intervals.

7. On the search function / insert data into the repository. - ContentProvider

8. Along the route objectives. Target way. - Service

9. By the user and planned processes. The sensitivity analysis.


Пересылка, ветвление, массив


Пересылка всегда линейная

Ветвление всегда представимо в плоскости графа

А вот массив уже подобен тензору


Систолические структуры в зависимости от алгоритма могут иметь выделенные области которым придали движение


Таким образом все части кода представими в тензорном виде и в проекции этой структуры на оси памяти и оси времени


Время у нас так же плоская структура, так как целиком состоит из ветвлений. Во много из за этого и путаница. Когда ветвления и прерывания во временной области путают с условиями в области преобразования данных


А анализ и поиск внутри многомерной структуры с линейным поиском по перебору или по индексам.


Вообщем и целом, каждому узлу алгоритма можно сопоставить определенное место в тензоре програмы

Связь между майнкрафтом и элит одисеей

 Очень давно стоит вопрос по связи между играми.


Самое простое это сделать сервер с профилями игроков и накопленными в двух играх ресурсами


Далее в играх сделать аватаров или просто сон на кровати, во время которого вы переноситесь в дургую игру.



Следующий уровень реалистичности


это когда на сервере так же хранятся карты с обеих игр и после каждой сессии они синхронизируются для конкретного персонажа. Таким образом можно выполнять любые действия и в той и в другой игре. Но синхронизация происходит только во время выхода игрока.



Третий уровень реалистичности.


Когда во время действий игрока в одной игре, все то же самое делает его аватар в другой игре.

Для этого достаточно только иметь одинаковый рельев карт и одинаковый набор инструментов и артефактов в каждой игре.


Четвертый уровень


Все то же самое, но в дружественной игре допускается физическая модель и форма персонажа в точности соответствующая другой игре.


Пятый уровень


Когда обе игры могут полупрозрачно накладыватся в одной области пространства и по выбору играющего может быть более материальная одна или другая часть игры.


Шестой уровень


Когда сиды обоих игр объеденены и допускается обмен ресурстами добытыми в одной игре, в другой игре, но при этом в обратном направлении идет денежный эквивалент общей валюты


Седьмой уровень


Когда изменения в одной игре влияют на общий сценарий обеих игр

Гиперкруих управление в поле времени

 Не путать с управлением в поле мыслей - Хрониках Акаши


Да там все просто. Еще с 2005 в Хрониках Акаши все открыто. это бывшие станции монорельса. Под ними 4 уровня условно человеческих, кто проходит дальше теряет душу и становится овощем. Здания в основном из твердого армированого бетона с органикой в связующем типа извести с белком. Наклонные стены чтоб дронам было удобнее заезжать на верхние уровни. Они на энергии кавитации поднимаются. Корпуса выполнены из волокон конопли с чем то подобным эпоксидке, но не эпоксидка, потому что со временем кристаллизуется в слюдяные плёнки. Так же из слюды тонкие мембраны вроде бы со статичными дифракционными решетками, но в поле памяти на магнитных сердечниках они искажаются, и даже вроде бы воспроизводят шумы в гистерезисной магнитной памяти. Причем прямого воздействия тока на контуры нет, как нет и магнитного поля от слюды.


А вот мачты и шар-передатчик и невидимые стены - это всё уже выдумки серых и в Хрониках Акаши я про это ничего не видел. По результатам 4 ходок, сделал еще в 2005 скрипт 3Д на 

Управление в поле времени

это двухмерное поле. Именно под его воздействием возникают нейтронные звезды. Которые просто вихри пространственные в двухмерном поле времени.

Вот есть нейтронная звезда с именем Calvera (1RXS J1412 + 7922). И она пожалуй главная для нашего созвездия Малая медведица. В Игре есть только ближайший к ней коричневый карлик, но самой нашей нейтронной зведы нет. Вы там поставили в месте нашей домашней нейтронной звезды свечку или маячёк за здравие?


Естественно в поле Гипер прыжка у нас есть две оси управления.

Первая это подвижность относительно временного источника. То есть сколько мы едениц времени сможем до выпадения сделать.


Вторая ось прыжка в Гиперпространстве

Вторая ось связана с версией событий, она включается только в точках синергулярности и имеет строго дискретную форму ступенчатого импульса

Его влияния при малых ступенях в основном связано со свойствами каждой личности. 
Но с достижением более высоких ступеней может отразится и на окружающих последующих событиях.

С этим связан парадокс близнецов. В новой формулировке он звучит так. Долгожительство земного близнеца квантово связано с долгожительством космического.
Но это не значит что такое взаимодействие приведет к коренным изменениям.

Обычно все заканчивается пробитием в отдельных точках окружающих кристаллов. И ни как не влияет на судьбы людей.

Поэтому в частности, во время выхода из гиперпрыжка надо закрывать кристаллы внешней обшивки самозатягивающимися мембранами против высокоэнергетических частиц и жёсткого излучения в Черно-красной области невидимого спектра.

Вычисление изменяемых факторов делается через трасировку в пятимерном пространстве изотопа вдоль незамкнутых магнитных четырехмерных нитей

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

Для экранирования этого эффекта служит корабельный кот или кошка. В худшем случае, она просто сбежит с корабля на станцию после преземления.

суббота, 26 августа 2023 г.

Устройство дя симулятора космического корабля

 Стекло с проводками по периметру в рамке или кожухе по выбору любого дизайна

От пластиковой термоизоляции до рамки из позолоченного резного дерева

Стекло оборудовано акустическим тачскрином

Покрыто лазерной дифрационной решеткой с видом космического корабля изнутри

Внешним лазером, замаскированным в источник света в кабине

Акустическими дополниельными сенсорами в рамке для контроля направления взгляда пилота

Облегченного шлема или повязки на голову стилизованной под специальную камеру видеозахвата и источника местного излучения

Лицевых сенсоров от магнитного поля головы подключаемыми напрямую в магнитный модуль управления со стандартным интерфейсом для компьютера

И большими обзорными экранами по периметру стены


Но в принципе экраны и не нужны, достаточно подсветки на поверхность стекла панелей управления, либо прожилки с полупроводниковыми светодиодами. Или просто радара рядом.


Кстати, в реальных летающих тарелках только приборы. Стены только отдельно включают если видео с дрона хотят прокрутить.

Поэтому для игры в принципе достаточно  такой панельки с обычным проектором из автомобиля



пятница, 25 августа 2023 г.

Зашифрованные данные на будущее

 При сборе и майнинге игрокам достаются зашифрованные данные.


Так же от звезд каждый нень приходят броадкасты, которые не распознаются.


Вся эта информация хранится и даже может быть продана.


В нее можно реальные физические открытия помещать, для совершенствования технологий.


Ну например чаши, которые меняют цвет от вращения.


Обычно это чертежи, всяких искусственных объектов и способ их создания


Физические процессы занумированы узлами пересечения типа материи, типа структуры материи и типа частоты во времени. Причем частота идет по диагоналии и она тем выше размерность чем мелче и жёще поля.


Соответственно чем объемнее тела тем меньше размерность и меньше частота


Во время стрельбы из лазера. Надо создать структуру в точном по геометрии кристалле.

Подобрать подходящую частоту. Добавить частоту звука. Так как волны пойдут по диагоналии, то подъем 8 волны может иметь место.

Затем миллисикунды до импульса

Затем тунель в воздухе.

Телепортация волны.

Разогрев с несколькими лучами.

Как ветер и вода.

Если ветер сильно накачать, то будет срывать барашки и полетят брызги.


А если совсем в резонанс все загнать, то будет как при смерче. Но обязательно на границе соприкосновения среды


Вообщем нитка между двумя предметами натягивается и вокруг нее пробегает солитон с переносом энергии


Дальше в зависимости от структуры приемника - разделятется на другие нитки, либо сливается в жгут и т.д.


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


Например электро акустический резонатор. электромагниты передают импульс на цепочку связанных механически элементов через котрые проходит вибрация и возвращается на другую катушку.


Никта потока электронов как бы обвивает проволоку, которая намотана вокруг сердечника, что приводит к выталкивающему импульсу, который гасистся за счет механической пружины, возвращающий сердечник на место после снятия напряжения. Усилие между сердечником и катушкой передается за счет изменения плотности магнитных линий в зазоре. Форму магнитного поля в зазоре можно условно представить в виде упругой закрученной поверхности, как в винте из мясорубки.


При сплющивании этой структуры по оси сердечника получается часть тора которая охватывает сердечник


Как если бы мы задвинули фотопленку из вытянутой трубы в рулон.


Если же мы захотим промоделировать звук. То на рулоны магнитного поля будут накладываться вибрации более медленной амплитуды, напоминающие биения. Где плечо  приложенной силы меняется подобно маятнику. В точке наиболее короткого плеча у нас просходит мгновенное перещелкивание оси вращения. То есть движение подобное гистерезису. Моделирование можно произвести бивекторами.


это такое представление проекции четырехмерного вектора.


Можно представить это как некий объект движущийся по сенкам трубы.


Ну и так далее.


Таким образом все объекты в системе могут быть представлениы набором волокон, сеток, труб и переплетенных трехмерных ячеек.


На более выском уровне абстракции, это вложенные рещетки и другие укладки сферических центров или полюсов. Которые и дополняют секти. Как сплохи в лампочке Теслы.


То есть как электрические жгуты в обычной лампочке на которую подали высокую частоту и высокое напряжение.


На бодее высоком уровне абстракции у нас появляется поле времени.


Оно не имеет разрывов, но может содержать многочисленные деформации.


Так во время мультипакторного разряда можно увидеть супер интенсивное излучение фотонов, явно добавляющее уровень сцентиляции, но по сути являющееся укладкой поля времени в гармошку.


Так как электроны это квантовые объекты в отсутствии мишени, то в короткий момент времени они могут квантоватся увеличиваясь в численном выражении в большое количество раз.


Но как достигают границы перехода , так возвращаются в одно представление электрона.


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


Или говоря другими словами связано с атомной деградацией свинцовой или подобной мишени. За счет перераспределения внутренних деформаций.


Понятно что полный разчёт перераспределений займёт множество циклов вычислительной системы. Если у вас не квантовый компьютер.


Но можно делать приближенные статистические вычисления.


По сути сводя всю игру световой оболочки к голографической дифракционной решётке.


Понятно что частоты могут быть различные и поэтому у нас есть несколько основных оболочек.


По типу матрешки. Причем каждая откликается на соответствующую частоту.


Поэтому в первом приближении для воссоздания подобного движка, достаточно отрендерить один объект, например 12 раз для ключевых частот.


Расчитывая эти оболочки по деформирующейся сетке, проводя их по зонам Брюльена.


Ну то есть использовать обычные алгоритмы триангуляции Делоне и укладки сферических поверхностей


Вот поэтому из максимальной сложности модели. Мы вынуждены использовать максимально простую проволочную модель объекта.


https://github.com/davewongillies/elitegl

Работающий форк

https://github.com/Ignat99/newkind


При этом у нас есть аппаратные реализации не только плоского экрана, но и звукового интерфейса и даже радиопередатчика и радиоприемника.


То есть в рамках совсем притивной одноточечной и одноплоскостной вибрирующего элемента мы можем симулировать некие образы нашей заданной модели.

А при наличии радара, можно воссоздавать и фронт электромагнитной волны сложной формы, а не только звук.


И даже строить по отклику некоторый набор из оболочек предметов окружающих нас. Включая звуковые фоны, показатели плотности и проницаемости оболочек 

Система журналирования

 Для новой игры лучше разчитывать на голографическую систему хранения данных. Причем распределенную. И чтоб каждая частичка системы имела собственную ценность.

Так же надо хранить синхранизированные с другими хранилицами последовательности чисел. Конечно идеально было бы иметь обратную фрактальную функцию. Но и набор фильтров Калмана оформленных в виде преобразований Воронского подойтут. Скажем такой многомерный дешифратор.


Обычная файловая система это последовательная система. Самые не дорогие системы хранения это ленты с последовательным доступом.


Набор магнитных доменов, с акустическим наведеним ПАФ для считывания сигнала. Хранить можно прямо в плоскости стекла.


Семулировать это можно на обычной памяти. Но лучше найти что нибудь по экстарвагантнее. Типа ДМА контроллера со сферическими координатами доступа. Потому что через элептические функции мы решаем вопросы по шифрованию.


Достается информация проектно, та что нужна для создания того или иного устройства. Для этого нужно заранее определить уровни проектирования и алгоритмы по сбору необходимых данных.


Обычно используют теги, либо генерируют описание в процессе изучения. В принципе с тем же успехом мы можем брать фрагменты файла с какими то прыжками и получать уникальный код файла.


Как перейти от этого кода к словарному значению?


Вопервых можно фрагментарно воспроизвести изображение или текс и сделать автозаполнения пустот. Затем сделать граничный анализ доменов, и выделение иерархий, последовательностей, матриц и массивов. На основе объемного индекса можно найти формальную схожесть.


Так атом будет подобен планетарной системе.


Что даёт изучение фрагментированной информации?


Дает возможность осознания информации в случае не полного её наличия.


Второй вариант, каждый файл разобрать на составные слои, иерархии и последовательности и превратить в проект по созданию этого файла.


Тогда будет необходимость классификации исходных компонентов.


Обычно для этого применяют большой и длинный партнамбер.


Для традиционных объектов не технологической цивилизации можно обходится без парт номберов одними словарными статьями.


Но упускается одна важная особенность классификация частей по взаимозаменяемости.


Так из двух резисторов можно сделать ещё два вида резисторов с отличающимися номиналами. А из двух резисторов и надфиля, можно сделать почти бесконечное число номиналов. Таким образом один надфиль и один большой и мощный резистор теоретически заменяет нам все номиналы. С технологической информацией очень просто.


Все иерархии и последовательности ложатся в Лисп или Джейсон.


А Лисп это функторы и стеки. То есть Джейсон сам по себе может выполнятся. Если некоторые компоненты через язык осационированы с выполняемыми функциями.


Есть еще спайка. Многие части партнамбера или продукты можно найти в природе в чистом виде.


Так например цветы для травяного чая.


Полупроводниковые материаля подходящие для выпрямления тока, прямо в минералах в виде слюды или щебня с заданными свойствами.


Жилища в виде пещеры - но как правила требует обработки инструментом и обкладки входа кирпичами с целью предотвратить доступ нежелательного снаружи.


Различные волокна типа конопли позволяют плести материалы и изготавливать сумки. Так же можно делать из кожи деревьев. Или кожи животных, если это надо для выживания семьи или ребенка.


Раковины для туалета встречаются в первозданном виде как половинка створки молюска.


Все резиновые изделия можно сделать из каучука получаемого из сока деревьев


Тыквы горлянки заменяют бутылки и кувшины


Из рыбных шкурок можно сшить одежду


Еду можно завернуть в листья лопухов или в листья капусты


Березовые туяски делаются очень просто.


Естественное хранилище для мёда это соты.


А упаковка для фруктов это кожура.


Так половинки от какоса можно использовать в качестве тарелок и стаканов.


Все эти продукты исключают партномера или дополняют их.


Самая важное, что мы потеряли это способы комбинаций этих материалов.


Кустари на этом специализировались, сейчас их знания отчасти утеряны.


Как и знания травников.


Я говорю отчасти, потому что каждый предмет на земле имеет электромагнитный образ, который оставляет след в структурах костей и минералов.


И обладая достаточной частотой сканирования и приученным мозгом - можно эту информацию достать.


Если сделать магнитный компьютер, то можно вывести магнитные интерфейсы прямо поближе к поверхности головы и постепенно человек научится их воспринимать.


Кокошники и свинцовые футляры на волосах Монгольских принцес были как раз для исключения такого влияния.


Каждый волос это естественный магнитопровод и можно сказать отдельный вектор H.


Таким образом в нашей системе волосы бороды тянутся к прошлому. А волосы из головы могут частично направлены к существующим объектам, а частично на звезды - как порталы излучения из других галактик.


В больших игровых системах структура волос это главное.


Если взять протокол Нетсукук, то мы можем построить неограниченно большую группу друзей, свзяанных с толь или иной планеты.


Вот с этой точки и надо танцевать.


Ключевыми узлами там будут пограничные узлы, так как они входят сразу двух структур.


Герминоны надо переписать в Джейсоны, потому что другое их представление это узелковая грамота или Вологодское кружево


Идеальное представление графа это матрица с кортежами или со столбцами. Некая постреляционная база данных.


Она не годится для систем реального времени. Такиех как кафка и требует за 2 недели упаковки знаний в постреляционную базу данных.


Постреляционным базам данных с разу нужны протоколы синхронизации узлов. В каком то смысле это передача знаний, но не оптимальная.


среда, 23 августа 2023 г.

Преобразование кода

 Преобразование кода


Если нам надо объединить два различных проекта в один. Вначале мы скурпулёзно собираем все переменные и размещаем их согласно языку. Приэтом не забываем добавить новый узел к дешифратору.


Для вывода в одно место экрана используется полупрозрачность или рабиение на плитки - страницы. Для всех служебных прерываний и файлов - механизм подобный докеру.


Переход от целого кубика к разобранному.


На каждый предмет будет по несколько готовых функций для услажнения предмета. В основном в четырёх системах координат. Обычной, цилиндрической, сферической. Иногда октанионной и полюсной.


Можно и в ручную разбить какой то предмет на части, далее просто заменить имеющиеся данные на более объемные и составные.


Главная функция - это поиск подобного кода.


Для упрощения этого процесса можно ограничится на первое время только примитивами Дракон.


Но там не всегда однозначны функции прямого перехода. Так как они и спагетти и рекурсию и циклы может создать. Опять же с помощью Дракона у нас только одна проблема переход назад.


Для объяснения этой особенности в привязке к каждой стандартной задаче, видимо придётся создать дублирующий код.


Для этого любой переход назад представляем как бесконечный цикл с условиями и переходим к конечному автомату.


Выделяем связующие связи между этими замкнутыми ссылками. И формируем алфавит для всех возможных переходов. Находим этот алфавит в Индексе.


https://github.com/davewongillies/elitegl

Работающий форк

https://github.com/Ignat99/newkind


Хороший пример кода. Но нужен кроме анализатора ещё и хороший конструктор кода.