Скрытый текст
Apollo 1260 75mhz | 64mb | Mediator | VooDoo3 | RTL8139 | hdd | dvd-rw | OS3.1
Pentagon 1024 sl2.2 | ZXMC2 | neoGS | TSFM | nemoIDE | hdd | cd-rom
ATM 7.10 | hdd | cd-rom
Commodore 64 | fdd
БК 0010-01
and some retro consoles/pc stuff...
[свернуть]
Посмотри этот лодер. Там что-то Велософт менял. Во-первых, появился новый файл 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-й страницы памяти даже в машинном коде избавится нельзя.
Дос написан так, что он в любом случае заюзывает эту страницу. Все что можно сделать это при загрузке в адрес выше C000 назначить страницу, для этого необходимо перед чтением в регистре B указать ее номер... Ранее когда я читал документацию по +3DOS воспринял это как смену системной страницы, а это оказалось просто подмена загружаемой.
Но что делать, воспользовался этим приемом, а потом придумал изящный ход, переключил память в расширенный режим таким образом, чтобы последние две страницы были 6 и 7 при этом достаточно инициализировать по стандартному адресу процедуру monty2 она сама все сделает (поместит то, что в 6-й странице, адрес 8000 в 7-ю, адрес С000), а потом обратно включил обычный режим памяти и стартанул.
Короче вот +3DOS версия. На эмуляторе работает, глюков с клавиатурой в эмуляторе SPIN в режиме +3 не заметил.
P.S. есть где-то описание игры (как играть) на сайте? неохота с образа текст выковыривать, там вроде бы что-то прилагалось...
На реальном +3 потестирую при случае, когда возьмусь поиграться!![]()
Последний раз редактировалось Addison; 26.10.2009 в 16:58.
Описание есть здесь http://zxspec.ru/?rc=2&cid=1406&a=p&...tle&l=10&rnd=0
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)