Страница 2 из 10
Добавлено: 20 окт 2016, 18:44
GoodBoy
как вариант вместо
ld a,x
call print
использовать
call print
address
длина одинаковая, а адрес сообщения снимается со стека процедурой печати
Добавлено: 20 окт 2016, 18:45
GoodBoy
krt17 писал(а):
Самое сложно там в диких простынях в 3д, пока окапываю вокруг.
молодец, я в таком совершенно неразбираюсь
Добавлено: 20 окт 2016, 19:00
Гость
GoodBoy писал(а):
как вариант вместо
ld a,x
call print
использовать
call print
address
Там сделано именно так, только не адрес а индекс сообщения. call print ; db txt_index. С местом особых проблем нет, ну по крайней мере по мелочи можно добавлять, почти везде можно чутка оптимизировать без ущерба.
Самая прикольная печаталка была в эксолоне, там ей не только текст выводился но и игровые экраны, была вложенность, циклы и забавная система управляющих кодов.
Добавлено: 20 окт 2016, 19:50
GoodBoy
krt17 писал(а):
Самая прикольная печаталка была в эксолоне
в дизях также, там каждая буква это спрайт+его размеры
Добавлено: 20 окт 2016, 21:55
AAA
Добавлено: 21 окт 2016, 05:04
Гость
Немного истории по некоторым спековским версиям
Оригиналы:
1. типа 48к с софтлоком и лензлоком
Отличия:
Adder
свой шрифт
На ее основе монстрячил Кладов.
Она же joystick club
2. типа 128к без защиты
Отличия:
Krait
пзушный шрифт
Из нее делали THD и Atossoft
Дальнейшие производные есть но не интересуют, эти 6 версий вроде основные. Говорили где то что есть русская версия, но на spectrum4ever куча битых, а те что запускаются обычные версии 1.
Добавлено: 21 окт 2016, 06:23
dr.Titus
У 48-й версии - две версии. На одной стороне кассеты с одним кораблем, на другой с другим.
Добавлено: 21 окт 2016, 06:34
^m00h^
Добавлено: 21 окт 2016, 07:13
Гость
Да нашел версию с защитой и крайтом, по коду соответствует версии с адером. Буду смотреть. По идее должна быть еще версия с адером и пзушным шрифтом, чет я такой не нашел.Отредактировано krt17 (2016-10-21 05:17:14)
Добавлено: 21 окт 2016, 07:59
AAA
krt17 писал(а):
Да нашел версию с защитой и крайтом, по коду соответствует версии с адером. Буду смотреть. По идее должна быть еще версия с адером и пзушным шрифтом, чет я такой не нашел.
Отредактировано krt17 (Сегодня 07:17:14)
Ищи элиту в волгодонском архиве!
https://zxaaa.net/GAME.html
Каталог
https://zxaaa.net/OTHER/tomcat.zip
Добавлено: 21 окт 2016, 09:31
Гость
dr.Titus писал(а):
У 48-й версии - две версии. На одной стороне кассеты с одним кораблем, на другой с другим.
У Гудбоя такая кассета была.
Добавлено: 21 окт 2016, 14:10
AAA
Rindex писал(а):
У Гудбоя такая кассета была.
Там пленк нет))
Добавлено: 21 окт 2016, 14:50
Гость
AAA писал(а):
Там пленк нет))
Есть. Минут на пять, или сколько она там грузится. У него даже коробочка большая есть, куда эту кассету вставляешь.
Добавлено: 21 окт 2016, 19:13
Гость
Далее я буду писать только об оригинальной 48 с защитой и адером.
В игре станция только 1 типа, нет никаких секретных кораблей и т.д., все обьекты можно посмотреть в текущем
снапе на экране press space commander понажимайте N. В сам билд можно играть, отгрузка подходит от оригинала. Доработок пока минимум, ускорено процентов на 5, практически не заметно. Основной тормоз в математике, стандартные линии достаточно шустрые хотя клипинг можно я думаю ускорить.
Факт 6
Игру без проблем можно расширить на пару знакомест в стороны, это не затормозит, они и так рисуются, просто затерты 0 инком.
Добавлено: 22 окт 2016, 19:10
Гость
Погонял профайлером из фьюза, смотрел вручную, никакого криминала не нашел. Ожидаемые затраты на умножения, но они уже оптимизированы, звезды затратные, особенно когда поворот идет, но не критично. По легкому ускорить не выйдет, придется копать до конца.
Добавлено: 22 окт 2016, 19:23
GoodBoy
а что висит на-прерываниях ?
при чистке буфера они запрещаются ( используется push),
а при печати из буфера разрешены (стек для забора/передачи использовать низя, только ldi)
Добавлено: 22 окт 2016, 19:39
Гость
На прерываниях клава, повороты, скорость и звук. Это там не критично. Есть подозрение что спасет небольшой прекалк для текущего фрейма поэтому и говорю придется до конца разбирать. Арифметика со знаком отдельно выглядит тормозно, возможно придется переделать в стандартную с дополнением но пока не могу оценить глобальность проблемы.
Добавлено: 23 окт 2016, 17:23
Гость
Звуки во время боя сделаны следующим образом. Если произошло событие требующее озвучки то выставляется бит в флаге звуков (всего возможно 8 но по факту их 7). Во время прерывания если обработчик видит включенный бит то играется соответствующий звук. Звуки не маленькие, по 100к тактов. Причем за 1 кадр возможно эти звуки придут не один раз, отсюда нереальные тормоза когда идет стрельба. Оценить влияние звука на геймплей можно отключив его (пауза S). По моему все становится не так плохо
Добавлено: 23 окт 2016, 17:28
AAA
krt17 писал(а):
Звуки во время боя сделаны следующим образом. Если произошло событие требующее озвучки то выставляется бит в флаге звуков (всего возможно 8 но по факту их 7). Во время прерывания если обработчик видит включенный бит то играется соответствующий звук. Звуки не маленькие, по 100к тактов. Причем за 1 кадр возможно эти звуки придут не один раз, отсюда нереальные тормоза когда идет стрельба. Оценить влияние звука на геймплей можно отключив его (пауза S). По моему все становится не так плохо
Вставь ау музыку подлиней и оцифровки пулей. паямяти там навалом
Добавлено: 23 окт 2016, 18:22
Гость
Факт 7
Торусы очень невнимательно отнеслись к медленной памяти оригинального спека. Очень много математики и даже переброска видеобуфера лежат ниже #8000, при этом печать и даже фразы лежат в быстрой.
Добавлено: 23 окт 2016, 18:23
Гость
krt17 писал(а):
Дизасм Elite
дык а где сабж?
Добавлено: 23 окт 2016, 18:27
Гость
DimkaM писал(а):
дык а где сабж?
Как где, на винте
Пока это не публичный проект, по крайней мере до некой стадии презентабельности которая подразумевает более менее откоменченый весь код. Если заброшу, то конечно положу.
Добавлено: 23 окт 2016, 18:29
Гость
krt17 писал(а):
Там сделано именно так, только не адрес а индекс сообщения. call print ; db txt_index. С местом особых проблем нет, ну по крайней мере по мелочи можно добавлять, почти везде можно чутка оптимизировать без ущерба.
если строка одноразовая то
call print
db "hello world",0
или, заместо 0, длинну строки в начале db
Добавлено: 23 окт 2016, 18:36
Гость
DimkaM писал(а):
если строка одноразовая то
call print
db "hello world",0
или, заместо 0, длинну строки в начале db
Рефакторинг печаталки конечно в начале списка туду как самое простое, вначале копания потом переделки. Пока переделываю по мелочам, то что в глаза бросается. Там есть ебнутые моменты когда вместо флагов используется замена в смещении у jr, при этом неоптимальности по мелочи столько что руки сами тянутся переписать.
Добавлено: 27 окт 2016, 16:52
AAA
Добавлено: 27 окт 2016, 18:24
Гость
lvd писал(а):
А как в элите идёт время и соотвно происходят эволюции (сдвиг кораблей, ИИ врагов и т.д.)?
По прерываниям или чем быстрее рендер тем быстрее время?
Сделано так:
На прерываниях висит опрос клавы и изменение скорости крена тангажа. Тоесть развить максимальную скорость можно независимо от тормозов.
Само изменение зависит от тормозов напрямую ибо делается раз за рендер, максимальную скорость то разовьет но сам поворот будет тормозить.
Как сделать хорошо понятно, пока надо досконально разобраться что уже есть, откомечнено процентов 20, примерно есть представление еще о 20%. Встречается такой код что просто офигеваешь как так можно было писать, а есть места что прям не ускорить не уменьшить. Отрисовка радара была ускорена раза в 3 и уменьшена раза в 4. Надеюсь в 3д тоже будут такие места.Отредактировано krt17 (2016-10-27 16:39:49)
Добавлено: 04 ноя 2016, 17:51
Гость
в процессе ковыряний дабы окончатенльно не заебало решил прикинуть какой кокпит хотелось бы мне в элите
Пока переделал несколько индикаторов, полностью еще под новый не готов.
Добавлено: 04 ноя 2016, 18:06
dr.Titus
Синий на черном плоховато виден.
Добавлено: 04 ноя 2016, 18:07
Гость
dr.Titus писал(а):
Синий на черном плоховато виден.
Так и должно быть, минимум отвлечения от индикаторов.
Добавлено: 04 ноя 2016, 18:10
AAA
Отличная расцевтека