Livingstone 2.1
Самая быстрая и нетормазящая конверсия с ZX-Spectrum +2A с родной AY музыкой.
Когда-то, я занимался переносом этой игры с ZX-Spectrum +2A. Благодаря "рыхлому" и сравнительно грамоздкому коду испанцев мне удалось внедрить туда листалку нормальных страниц 128кб спектрума, ускорить код и адаптировать выводилки на экран с включенными прерываниями (что избавило от поттормаживания музыки в меню) и вставить другие полезные фишки.
По опыту начатой мной Livingstone 2.2 могу с уверенностью сказать, что код этой игры можно ускорить приблизительно в ДВА (!) раза (здесь же ускорено приблизительно в полтора). Но, к сожалению, все остальные части так и не были доделаны, поэтому загрузчик здесь довольно простенький, на бейсике (что предполагало дальнейшее приклеивание cracktro и склеивание).
ВОТ ЗДЕСЬ можно вкратции посмотреть, как не тупит музыка в меню (демо режиме) и работают все AY-эффекты в игре, насколько движок стал быстрей и так далее.
Вообще, странно, что эту версию еще никто еще не выложил.
Ниже список особенностей данной версии:
[+] по сравнению с версией для +2A движок ускорен примерно в полтора раза.
[?] вставлен HALT перед "щелканьем" экранами. Это немного добавляет тормазов, но зато красивее выглядит на экране.
[+] можно отгружать/загружать игровое состояние в оставшиеся 128k памяти (SS+L/SS+S)
[+] cheat mode, включая Ghost Jumping Abilities. Что это такое? Попрыгайте с зажатой кнопкой Z. Можно так-же проваливаться сквозь пол Но будте осторожны - проваливаться можно далеко не везде (приводит к исчезновению игрока) ну и за пределы карты лучше не запрыгивать. К тому же, при обходе игровых скриптов враги и куски свитка так иногда не появляются, а без свитка игру не пройти.
[+] куча мелких внутренних изменений эстетического характера. Например, некоторые подпрограммы вывода через стек теперь работают со включенными прерываниями (!) что избавило от подвисаний музона в демо-режиме игры.
[-] реинициализацию музона в demo режиме я так убирать и не буду из-за дурацкой структуры керналя программы.
[-] можно бы еще ускорить формировалку/скролилку карты в буфере (что я, кстати, начал реализовывать в Livingstone 2.2), но все оставлено почти как есть, поскольку к моменту сборки данной версии принцип действия и структуру этой подпрограммы я "расколол" не до конца.
[-] Есть фрименный глюк, с которым понятия не имаю как бороться: в самом начале, где нужно запрыгнуть над входом в пещеру и "выстрелить" по детонатору бумерангом (смотри demo mode) делаете так:
1. эапрыгиваете на эту "полку" и встать вплотную лицом к камням так, чтобы ваши и атрибуты налегали на атрибуты камней.
2. Дождаться приблизительно того момента, когда копье вылетевшее снизу долетит почти до середины (с временными задержками советую поэкспериме-нтировать - я точно не помню) и выпустить бумеранг с силой в 3-3.5 деления.
После этого "обзор" игрового пространства как-бы переместится в низ, для того, чтобы показать освобождающийся вход в пещеру. При взрыве экран начнет скроллироваться обратно, и если в этот момент полетит копье, то "обзор" переместится не до положенного ему пространства, а до упора вверх - ЗАВИСОН ОБЕСПЕЧЕН... Глюк проявляется не всегда, так что для его обнаружения придется поусердствовать
(Как с этим bug'ом бороться я так и не разобрался. Наверное, нужно убирать (или отодвигать) элемент краты с копьями, а для этого придется расковыривать всю структуру хранения карты).
[!] Советую почаще отгружаться, т. к. в игре много тупиковых ситуаций
[!] Остерегайтесь птицы, как выберетесь на поверхность из пещеры. Впрочем, ради прикола посмотри можно и посмотреть, что она делает (не забудте предварительно отгрузиться).
[-] Обе версии собирались исключительно для того чтобы показать нескольким людям, в следствии чего игра не запускается из BASIC 128. Для запуска необходимо выполнить USR 0.
Была так же собрана beta 48-ой версии игры, которая уже без save'ов и не настолько ускорена. Лежит здесь:
http://zx.pk.ru/showpost.php?p=664890&postcount=33
И еще: поскольку у меня сейчас нет никакой мотивации это доделывать, я могу передать безвозмездно абсолютно все исходники обеих частей, если кому-то это нужно и кто-то в состоянии это доделать.