ну и слава богу! Я постараюсь адаптировать, чтобы игруха на запад пошла, все-таки наш парень писал, пусть наших знают!
Вид для печати
Посмотри этот лодер. Там что-то Велософт менял. Во-первых, появился новый файл montyk, длиной 11 байт. Во-вторых, первый clear 24979, а не 25000. В-третьих, внизу загрузчика еще что-то poke подстраивают.
Возможно, если я с этой тапки щас все перегоню и отредактирую загрузчик, то все и будет работать.
Хотя проблема есть все равно, даже у Велософт. monty2 грузится в 7-ю страницу, а после нее еще подгружается файл monty1 и в довесок montyk, дос при их загрузке покурочит страницу 7, где расположен уже monty2. Поэтому как минимум нужно monty2 грузить последним, при этом в свободное адресное пространство от monty 1, так как щас они пересекаются! Я пробовал все это делать, появлялась даже первое окно, но все равно уходит в ресет! Надо разбираться.
Я думаю все поправимо, просто время нужно.
---------- Post added at 10:12 ---------- Previous post was at 10:03 ----------
все я понял, развести по углам файлы не получается, так как если я поднимаю файл выше при загрузке monty2, чтобы не затереть monty1 я попадаю в переключаемую страницу :(.
Короче пути здесь следующие:
1. Написать кодовый загрузчик, где дос будет использовать страницу 6 для своих переменных.
2. Грузить файл monty2 в страницу 6, соответственно отредактировать в игре место, где обращаются к коду monty2.
3. Перекроить всю игру и исключить использование страницы 7!
goodboy, попробовал заменить страницу с 7 на 6. Как я и подозревал, получился облом. Я заменил в загрузчике, заменил в первом же встречном месте в игре, этого не хватило, дальше нашел и все равно еще где-то всплывает. Короче 7 страница в игре по умолчанию, поэтому когда щелкают другие страницы, все время вываливаются на 7, вместо 6, которую я подставил, поэтому этот вариант сущий геморрой.
Придется писать кодовый загрузчик.
Может на недельке сделаю, отпишусь, как получится.
попробуй компрессию. как вариант грузи 7ую страницу в сжатом виде (если влезет) в последнюю очередь на экран и потом разжимай. хотя ты можешь в сжатом виде грузить её в начало 7ой. неуж-то и теневой экран занят бейсиком ???
goodboy, есть хорошая новость по адаптации к +3DOS.
Сейчас попробовал в ручном режиме загрузить monty2 в 7-ю страницу.
Для этого исключил из загрузчика monty2 и строку его инициализации, в точке входа в программу поставил прерывание. После того, как все файлы кроме monty2 загрузились, пошел переход в код и остановка. В этот момент я с помощью средств эмулятора из бинарного файла загнал monty2 в страницу 7. Далее продолжил процесс. Игра пошла. Причем снега нет, все четко работает, значит доработки по снегу уже были в Tr-DOS версии.
Поэтому появилась полная уверенность, что именно из-за страницы 7 идут проблемы с загрузкой в +3 dos.
Вот если бы для бейсика можно было переназначить страницу дос на 6, вместо 7 - это было бы очень красивое решенье.
Короче осталось придумать, как грузануть monty2 в 7 страницу.
Самое оптимальное решенье будет объединить файлы monty2-4 в один, там же дописать процедуру распихивания по банкам и далее там же загрузить файл monty1 из кода, после чего стартовать. При этом будет всего 4 файла вместе с картинкой и загрузчиком на бейсике.
Короче кумекаю над более изящным решением.
Написал загрузчик в машинном коде и с ужасом понял, что от 7-й страницы памяти даже в машинном коде избавится нельзя. :v2_scare:
Дос написан так, что он в любом случае заюзывает эту страницу. Все что можно сделать это при загрузке в адрес выше C000 назначить страницу, для этого необходимо перед чтением в регистре B указать ее номер... Ранее когда я читал документацию по +3DOS воспринял это как смену системной страницы, а это оказалось просто подмена загружаемой.
Но что делать, воспользовался этим приемом, а потом придумал изящный ход, переключил память в расширенный режим таким образом, чтобы последние две страницы были 6 и 7 при этом достаточно инициализировать по стандартному адресу процедуру monty2 она сама все сделает (поместит то, что в 6-й странице, адрес 8000 в 7-ю, адрес С000), а потом обратно включил обычный режим памяти и стартанул.
Короче вот +3DOS версия. На эмуляторе работает, глюков с клавиатурой в эмуляторе SPIN в режиме +3 не заметил.
P.S. есть где-то описание игры (как играть) на сайте? неохота с образа текст выковыривать, там вроде бы что-то прилагалось...
На реальном +3 потестирую при случае, когда возьмусь поиграться! :v2_yahoo:
Описание есть здесь http://zxspec.ru/?rc=2&cid=1406&a=p&...tle&l=10&rnd=0
че-то здесь не то... не должно быть таких "мегапроблем"...
да лодер можно было и на бейсике оставить, в коде тоже самое будет, как оказалось. Просто уж написал лодер в коде потому оставил, тем более, что уж больно бейсик был пушистый, а щас там все красиво, как в букваре.
Я обошел путем залития в 6-ю страницу, а потом переключил банки так, что в 8000 - 6-й, а в с000 - 7й, потом просто вызвал штатную процедуры по 32768+13 переброски, она как раз для этих адресов написана. Смысл в том, что сделал это в самом конце. А файлы по углам разогнал за счет дополнительной пустой страницы 6!
---------- Post added at 19:53 ---------- Previous post was at 19:29 ----------
Сейчас попробовал на реале +3 все работает, конечно чтобы сказать уверенно, что глюков нет нужно всю игру пройти, но я в первой пирамиде побегал, косяков нет. А клавиатура на реале лучше работает, чем в эмуляторе, в эмуляторе она тормозная.
я понимаю. клон вон грит, что и в кодах тоже самое, и думаю, так оно и есть. примерно как системные переменные трдос. только в трдос можно делать лоадеры и без системных переменных, а там так можно? а то не хорошо получается... произвольную 128к прогу хрен затолкнешь... думаю, выход быть ОБЯЗАН.
хотя лично мне на это пофиг, я не ценитель +3дос и прочих. просто для справки интересно.
Нашел глюк. Хотя, возможно, об этом уже писали здесь.
Цепи иногда не показываются, вроде бы нет ее идешь, а она есть. Можно стоять ждать сколько угодно, не появится. Если рядом попрыгать видать, иногда проглючивает. самое интересно, что когда об нее умрешь на следующей жизни она нормально работает! Это же касается мигающих полок.
без страницы 7, в которой созданы переменные для дос, даже мотор не пускается.
Читать чисто теоретически можно все что угодно и без страницы, просто тогда надо писать все самому, а не пользоваться процедурами +3dos. Гипотетически можно вообще написать свою дос, которая будет размещать переменные также как и tr-dos внизу... Но я считаю, что вариант, который предложили амстрадовсты лучше тр-доса, так как очень много проблем при адаптации снимает с тем же RAMTOP. А 7-ю страницу всегда можно развести за счет другой. В конце концов, при загрузке второй экран всегда свободен. Можно временно туда содержимое 7-й загнать. Я тупил по неопытности, так как эту проблему решал первый раз. Меня порадовала расширенная конфигурация памяти, когда страницы назначаются не только вверху, но и по всей карте памяти, мощная вещь! А в пентагоне91 такое есть?
это контроллер позволяет??
отоночо!
актуально только для любителей бейсика. для нормальных пацанов, перелопативших тысячи игр, это не было большой проблемой.
то ли лыжи не едут, то ли я... тоже интересно:)
и путь этот долгий... пока хотя бы 50-100 штук не перелопатишь...
а пентагон, видимо, лох... такой неудачник, умер не родившись:))) может с этой фичей было бы и прикольнее, но и без нее все отлично. это абсолютно не говорит, что пентагон хуже.
А че, буржуям как версию загнать?
судя по фирменным лоадерам типа алькатраса контроллер позволяет читать побайтово содержимое. но мы уходим всё дальше от monty.
мне никто не ответил на вот этот вопрос, он про монти.
пиши в личку автору.
Проголосуйте на WOS за мою игру, плиз.
http://www.worldofspectrum.org/forum...ad.php?t=27900
и тут: http://www.worldofspectrum.org/infos...cgi?id=0023815
да этих иностранцев не поймёшь - один JetSetWilly на уме. монтик ведь почти то-же самое только покрупнее.
а TAP версия была сделана ? если нет, то это объясняет низкую популярность.
Мда , не густо . Пока всего три голоса на форуме (включа мой). Видать небыло у пиплов АТАРИ клубов... :D
Тапки, по ходу, нет.
Но буржуи - это отвал башки. Одна из суперрейтинговых игр - Skyscraper of Doom :( :( :(
1) +3DOS от Клон http://zx.pk.ru/showpost.php?p=227905&postcount=209
2) TR-DOS от Slider http://zx.pk.ru/showpost.php?p=222261&postcount=169
также лежит на Virtual TR-DOS.
3) TAP от VELESOFT с автоопределением kempston http://zx.pk.ru/showpost.php?p=216851&postcount=142
4) TAP от VELESOFT c выбором kempston http://zx.pk.ru/showpost.php?p=217129&postcount=144
5) TAP от Tom-Cat http://zx.pk.ru/showpost.php?p=216760&postcount=140
но в режиме USR0
Вот всё, что пробегало на моей памяти.
Куда-то тапку посылали, только я забыл куда :confused:
А на WOS нет тапки :(
Все версии - v.1.0.0, только с разными лоадерами.
Предлагаю отослать 1) 2) 4)
Как на WOS посылать? кому?
Кста, прочитал только что, что Эндрю своей игры на реале-то и не видел... :(
Москвичи-спеккеры - вам не зачет! (Гудбой не в счет - у него вообще Амига с эмулем). А ну всем вместе срочно пить пиво и наслаждаться Монтиком на реале!!! :)
отослал 1) 2) 4) на WOS через форму upload
да. Нужна регистрация. Причем голосовать можно только спустя некоторое время после регистрации.
Проголосовал! ;)
А я ещё вчера. Через полчаса голосовать можно уже, если регистрировался впервые.
---------- Post added at 10:41 ---------- Previous post was at 10:31 ----------
Кстати испанцы начали возникать - вот. Не нравится им похоже.
Зарегистрировался еще вчера, но голосовать пока не дают. Может, там ручная валидация пользователей?
отаке!
wos опасносте!
поддержим отечественного производителя,дружно)))
Меня за 1 час зарегистрировали сегодня вечером и сразу проголосовал.