Дизасм Elite

Аватара пользователя
GoodBoy
Сообщения: 676
Зарегистрирован: 09 июл 2016, 00:00

Сообщение GoodBoy »

как вариант вместо
ld a,x
call print
использовать

call print
address

длина одинаковая, а адрес сообщения снимается со стека процедурой печати
Аватара пользователя
GoodBoy
Сообщения: 676
Зарегистрирован: 09 июл 2016, 00:00

Сообщение GoodBoy »

krt17 писал(а):
Самое сложно там в диких простынях в 3д, пока окапываю вокруг.
молодец, я в таком совершенно неразбираюсь
Гость

Сообщение Гость »

GoodBoy писал(а):
как вариант вместо
ld a,x
call print
использовать
call print
address
Там сделано именно так, только не адрес а индекс сообщения. call print ; db txt_index. С местом особых проблем нет, ну по крайней мере по мелочи можно добавлять, почти везде можно чутка оптимизировать без ущерба.

Самая прикольная печаталка была в эксолоне, там ей не только текст выводился но и игровые экраны, была вложенность, циклы и забавная система управляющих кодов.
Аватара пользователя
GoodBoy
Сообщения: 676
Зарегистрирован: 09 июл 2016, 00:00

Сообщение GoodBoy »

krt17 писал(а):
Самая прикольная печаталка была в эксолоне
в дизях также, там каждая буква это спрайт+его размеры
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

Гость

Сообщение Гость »

Немного истории по некоторым спековским версиям
Оригиналы:
1. типа 48к с софтлоком и лензлоком
Отличия:
Adder
свой шрифт
На ее основе монстрячил Кладов.
Она же joystick club

2. типа 128к без защиты
Отличия:
Krait
пзушный шрифт
Из нее делали THD и Atossoft
Дальнейшие производные есть но не интересуют, эти 6 версий вроде основные. Говорили где то что есть русская версия, но на spectrum4ever куча битых, а те что запускаются обычные версии 1.
Аватара пользователя
dr.Titus
Сообщения: 929
Зарегистрирован: 08 июл 2016, 00:00

Сообщение dr.Titus »

У 48-й версии - две версии. На одной стороне кассеты с одним кораблем, на другой с другим.
Аватара пользователя
^m00h^
Сообщения: 509
Зарегистрирован: 27 сен 2016, 00:00
Откуда: Soviet Union

Сообщение ^m00h^ »

Отличия версий Elite:

https://yadi.sk/i/DeqjIBbUv4JmF
Гость

Сообщение Гость »

Да нашел версию с защитой и крайтом, по коду соответствует версии с адером. Буду смотреть. По идее должна быть еще версия с адером и пзушным шрифтом, чет я такой не нашел.Отредактировано krt17 (2016-10-21 05:17:14)
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

krt17 писал(а):
Да нашел версию с защитой и крайтом, по коду соответствует версии с адером. Буду смотреть. По идее должна быть еще версия с адером и пзушным шрифтом, чет я такой не нашел.

Отредактировано krt17 (Сегодня 07:17:14)
Ищи элиту в волгодонском архиве!
https://zxaaa.net/GAME.html
Каталог
https://zxaaa.net/OTHER/tomcat.zip
Гость

Сообщение Гость »

dr.Titus писал(а):
У 48-й версии - две версии. На одной стороне кассеты с одним кораблем, на другой с другим.

У Гудбоя такая кассета была.

Изображение
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

Rindex писал(а):
У Гудбоя такая кассета была.
Там пленк нет))
Гость

Сообщение Гость »

AAA писал(а):
Там пленк нет))

Есть. Минут на пять, или сколько она там грузится. У него даже коробочка большая есть, куда эту кассету вставляешь.
Гость

Сообщение Гость »

Далее я буду писать только об оригинальной 48 с защитой и адером.
В игре станция только 1 типа, нет никаких секретных кораблей и т.д., все обьекты можно посмотреть в текущем снапе на экране press space commander понажимайте N. В сам билд можно играть, отгрузка подходит от оригинала. Доработок пока минимум, ускорено процентов на 5, практически не заметно. Основной тормоз в математике, стандартные линии достаточно шустрые хотя клипинг можно я думаю ускорить.

Факт 6
Игру без проблем можно расширить на пару знакомест в стороны, это не затормозит, они и так рисуются, просто затерты 0 инком.
Гость

Сообщение Гость »

Погонял профайлером из фьюза, смотрел вручную, никакого криминала не нашел. Ожидаемые затраты на умножения, но они уже оптимизированы, звезды затратные, особенно когда поворот идет, но не критично. По легкому ускорить не выйдет, придется копать до конца.
Аватара пользователя
GoodBoy
Сообщения: 676
Зарегистрирован: 09 июл 2016, 00:00

Сообщение GoodBoy »

а что висит на-прерываниях ?
при чистке буфера они запрещаются ( используется push),
а при печати из буфера разрешены (стек для забора/передачи использовать низя, только ldi)
Гость

Сообщение Гость »

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

Сообщение Гость »

Звуки во время боя сделаны следующим образом. Если произошло событие требующее озвучки то выставляется бит в флаге звуков (всего возможно 8 но по факту их 7). Во время прерывания если обработчик видит включенный бит то играется соответствующий звук. Звуки не маленькие, по 100к тактов. Причем за 1 кадр возможно эти звуки придут не один раз, отсюда нереальные тормоза когда идет стрельба. Оценить влияние звука на геймплей можно отключив его (пауза S). По моему все становится не так плохо Изображение
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

krt17 писал(а):
Звуки во время боя сделаны следующим образом. Если произошло событие требующее озвучки то выставляется бит в флаге звуков (всего возможно 8 но по факту их 7). Во время прерывания если обработчик видит включенный бит то играется соответствующий звук. Звуки не маленькие, по 100к тактов. Причем за 1 кадр возможно эти звуки придут не один раз, отсюда нереальные тормоза когда идет стрельба. Оценить влияние звука на геймплей можно отключив его (пауза S). По моему все становится не так плохо

Вставь ау музыку подлиней и оцифровки пулей. паямяти там навалом
Гость

Сообщение Гость »

Факт 7
Торусы очень невнимательно отнеслись к медленной памяти оригинального спека. Очень много математики и даже переброска видеобуфера лежат ниже #8000, при этом печать и даже фразы лежат в быстрой.
Гость

Сообщение Гость »

krt17 писал(а):
Дизасм Elite
дык а где сабж?
Гость

Сообщение Гость »

DimkaM писал(а):
дык а где сабж?
Как где, на винте Изображение Пока это не публичный проект, по крайней мере до некой стадии презентабельности которая подразумевает более менее откоменченый весь код. Если заброшу, то конечно положу.
Гость

Сообщение Гость »

krt17 писал(а):
Там сделано именно так, только не адрес а индекс сообщения. call print ; db txt_index. С местом особых проблем нет, ну по крайней мере по мелочи можно добавлять, почти везде можно чутка оптимизировать без ущерба.
если строка одноразовая то
call print
db "hello world",0

или, заместо 0, длинну строки в начале db
Гость

Сообщение Гость »

DimkaM писал(а):
если строка одноразовая то
call print
db "hello world",0
или, заместо 0, длинну строки в начале db
Рефакторинг печаталки конечно в начале списка туду как самое простое, вначале копания потом переделки. Пока переделываю по мелочам, то что в глаза бросается. Там есть ебнутые моменты когда вместо флагов используется замена в смещении у jr, при этом неоптимальности по мелочи столько что руки сами тянутся переписать.
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

Гость

Сообщение Гость »

lvd писал(а):
А как в элите идёт время и соотвно происходят эволюции (сдвиг кораблей, ИИ врагов и т.д.)?
По прерываниям или чем быстрее рендер тем быстрее время?
Сделано так:
На прерываниях висит опрос клавы и изменение скорости крена тангажа. Тоесть развить максимальную скорость можно независимо от тормозов.
Само изменение зависит от тормозов напрямую ибо делается раз за рендер, максимальную скорость то разовьет но сам поворот будет тормозить.

Как сделать хорошо понятно, пока надо досконально разобраться что уже есть, откомечнено процентов 20, примерно есть представление еще о 20%. Встречается такой код что просто офигеваешь как так можно было писать, а есть места что прям не ускорить не уменьшить. Отрисовка радара была ускорена раза в 3 и уменьшена раза в 4. Надеюсь в 3д тоже будут такие места.Отредактировано krt17 (2016-10-27 16:39:49)
Гость

Сообщение Гость »

в процессе ковыряний дабы окончатенльно не заебало решил прикинуть какой кокпит хотелось бы мне в элите
Изображение
Пока переделал несколько индикаторов, полностью еще под новый не готов.
Аватара пользователя
dr.Titus
Сообщения: 929
Зарегистрирован: 08 июл 2016, 00:00

Сообщение dr.Titus »

Синий на черном плоховато виден.
Гость

Сообщение Гость »

dr.Titus писал(а):
Синий на черном плоховато виден.
Так и должно быть, минимум отвлечения от индикаторов.
Аватара пользователя
AAA
Сообщения: 38979
Зарегистрирован: 08 июл 2016, 23:04
Откуда: Москва
Контактная информация:

Сообщение AAA »

Отличная расцевтека
Ответить