Просмотр полной версии : Вопрос про сохранения
Underground1
04.07.2017, 17:25
Здравствуйте товарищи синклёристы-спектрумисты! Прошу уделить внимание нескольким вопросам. Имеется желтый скорпион с эмулятором дисковода.
1) Хотел бы узнать о способах сохранения игрового процесса на примере Диззи4. Попытка сохранения по magic batton вываливает из игры.
2) Также в этом разделе теневика есть две неактивные стоки save и load - почему они всегда неактивны?
3) Какое ваше мнение о практическом использовании MagOS?
4) Как правильно переводить кассетные версии прог на дискеты? Опробовал софт представленный на сайте vtrdos (http://trd.speccy.cz/system.php#s12). Создается ряд файлов на дискете, программа не запускается...
Как правильно переводить кассетные версии прог на дискеты? Опробовал софт представленный на сайте vtrdos (http://trd.speccy.cz/system.php#s12). Создается ряд файлов на дискете, программа не запускается...
Начни с классики — Николай Родионов Адаптация программ к системе TR-DOS (http://vtrdos.ru/book/ADAPTRD.ZIP).
2) Также в этом разделе теневика есть две неактивные стоки save и load - почему они всегда неактивны?
вроде их поддержка реализована только в ПрофПзу
2)Эти строки только для ПрофПЗУ. Альтернативный вариант мэджика со своими плюшками.
3)мне МагОС в своё время понравилась - прошёл GameOver 128 и ArmyMoves 128 (кассетные версии от Н. Родионова дискофицированные мной) без бессмертия только с её помощью. Иначе не знаю, как их вообще можно проходить.
Underground1
04.07.2017, 22:01
А на желтом скорпионе, с использованием соответствующей микросхемы памяти, ПрофПЗУ нельзя ставить?
http://www.mr-linker.narod.ru/graphics/scorpion/prof_rom.jpg
там добавляется ещё менеджерПамяти?
ZX_NOVOSIB
05.07.2017, 13:32
Хотел бы узнать о способах сохранения игрового процесса на примере Диззи4. Попытка сохранения по magic batton вываливает из игры.
Если хочешь играть в zx-игры с сохранениями то тут только 3 варианта. Один православный: http://zx-pk.ru/threads/24921-rasskazhu-ob-opyte-ekspluatatsii-svyazki-speccy-beta128-multiface-3.html
И 2 абсолютно неправославных:
- DivIDE (DivMMC) с ESXDOS на борту.
- Эмуляторы.
Всё остальное дьявольски глючит.
Ну не знаю, будет ли этот мультифейс со скорпионом работать гладко.
ZX_NOVOSIB
05.07.2017, 14:44
мультифейс-3 работает только с +3/+2AB, скорп тут вообще не при чём, скорп придется убрать на полку.
- - - Добавлено - - -
т.е. придется выбирать: либо скорп, либо "сохранения в играх".
мультифейс-3 работает только с +3/+2AB
Они не православны. А мультифейс-3 тем более.
мультифейс-3 работает только с +3/+2AB, скорп тут вообще не при чём, скорп придется убрать на полку.
т.е. придется выбирать: либо скорп, либо "сохранения в играх".
Ну зачем ты так сразу... Вот с помощью MagOS у меня прекрасно работали сохранения в играх и переключения между игрой и описанием игры. Спорим, мультифейс так не сможет?
ZX_NOVOSIB
05.07.2017, 18:01
Они не православны.
Фирменные аглицкие спектрумы не православны? Ну привет, приплыли :)
А мультифейс-3 тем более.
А мультифейс-3, в отличии от мультифейса-1 и мультифейса-128, умеет не портить игры. И фирменная zx-приблуда родом из благославенных 80-ых, созданная специально для фирменного спекка, и аутентичная ему, не может быть "не православной" )
Вот с помощью MagOS у меня прекрасно работали сохранения в играхкакое отношение имеет MagOS к сохранению в играх? Я нашёл мануал к версии 6.3с (http://zx-pk.ru/threads/13014-est-li-u-kogo-magos-dlya-skorpiona.html) , там нет упоминания о сохранении/загрузки снапшотов. Там есть лишь анонс версии 6.4 в которой всё это якобы будет. 6.4 вышла или нет?
и переключения между игрой и описанием игры. Спорим, мультифейс так не сможет?Мы ж не про многозадачность, а про сохранение/загрузку снапшотов вроде говорим.
проц по вызову NMI в любом случае оставляет адрес возврата на стеке,
а если стек в этот момент находится в данных они естественно портятся.
кроме того (если не ошибаюсь) 100% определение режима прерываний под вопросом
...
как и включённая страница/экран,
на скорпе не-зря сделали дубликат порта #7ffd на порты AYшки
Фирменные аглицкие спектрумы не православны? Ну привет, приплыли
Ну да, где ты в Англии увидел православие?
А мультифейс-3, в отличии от мультифейса-1 и мультифейса-128, умеет не портить игры. И фирменная zx-приблуда родом из благославенных 80-ых, созданная специально для фирменного спекка, и аутентичная ему, не может быть "не православной"
Англиканство. А если вcпомнить что Sp128 создан в Испании, то католицизм и инквизиция.
Православие это Ленинград, Пентагон, Скорпион, Пентева наконец. :)
Underground1
05.07.2017, 18:54
MagOS имеет выход в теневой, в котором почему-то становится активной функция normal-turbo, использование которой впрочем вешает комп :v2_scare:
ZX_NOVOSIB
05.07.2017, 19:53
проц по вызову NMI в любом случае оставляет адрес возврата на стеке, а если стек в этот момент находится в данных они естественно портятся
Это верно в теории. Но на практике... где игра, которая бы портилась мультифейсом-3? Нет её.. Мы ж искали, не нашли.. Если только специально такую написать. В Golden Axe, если не поставить игру на паузу, то графика портится, иногда, но ведь пауза в игре есть, её можно нажать, и ничего не испортится.
Как-то так :v2_confu:
а смотря что считать снапшотом. МагОС сохраняет кусок памяти с игрой в свободное место оперативы - это снапшот? Потом при необходимости копирует его обратно и ты продолжаешь с того же места, это всё ещё не снапшот?
ZX_NOVOSIB
06.07.2017, 08:09
как и включённая страница/экран,
на скорпе не-зря сделали дубликат порта #7ffd на порты AYшки
На скорпе может и сделали дубликат, только это никаким боком не сделало скорп более щадящим к играм чем мультифейс. Мультифейсом можно остановить ну к примеру Last Ninja, а потом обратно вернуться в игру. А на скорпионе нет. Так что дубликат сделали зря. Ибо на мультифейсе и без дубликата всё тип-топ, а на скорпионе и дубликат не помогает.
МагОС сохраняет кусок памяти с игрой в свободное место оперативы - это снапшот? Потом при необходимости копирует его обратно и ты продолжаешь с того же места, это всё ещё не снапшот?В оперативу любой дурак сохранит что угодно. Так что это нещитово )) Снапшот должен сохранятся на энергонезависимый носитель, иначе это какой-то недоснапшот получается, это конечно тоже прикольная функция, поможет на реале пройти какие-то короткие, но очень сложные игры, но это не снапшот. И кстати, есть подозрение, что с некоторыми играми типа Last Ninja это не прокатит. Есть на чём проверить?
Жаль, что MagOS 6.4 так и не вышла (?)
Счас я могу только на эмуле проверить, а это не совсем верно будет. Мой скорп перманентно разобран уже 2 месяца и до тех пор, пока я не убежу свою жабу отдать почти тыщу рублей за перепайку 1 микросхемы, а дешевле никто не берётся :)
Это верно в теории. Но на практике... где игра, которая бы портилась мультифейсом-3? Нет её.. Мы ж искали, не нашли.. Если только специально такую написать. В Golden Axe, если не поставить игру на паузу, то графика портится, иногда, но ведь пауза в игре есть, её можно нажать, и ничего не испортится.
Как-то так :v2_confu:
ээээ Ikari warriors (http://www.worldofspectrum.org/infoseekid.cgi?id=0002450&loadpics=3)
100% уничтожение снапшота при попадании в процедуру обработки объектов
вот поэтому и жалуются на игры где нет паузы
(идеальный момент для сохранения)
ZX_NOVOSIB
06.07.2017, 14:59
ээээ Ikari warriors
100% уничтожение снапшота при попадании в процедуру обработки объектов
Клевета ) Берем Ikari, берем спектакулятор, врубаем там мультифейс, тестим до усрачки, убеждаемся что "уничтожить" снапшот не выходит, как бы мы не старались (не забываем ставить на паузу G+H). Мы кстати эту тему с Ikari разбирали уже, вот опять разбираем ) Всё никак разобрать не можем, хотя чего там разбирать, не портится от мультифейса-3 Ikari, как не портится любая другая игра, вот и весь сказ, обратного никто пока не доказал. Сколько ни говори "халва" - во рту слаще не станет, сколько не говори, что Ikari "уничтожится" - он не уничтожится ))
- - - Добавлено - - -
Чтобы найти игру, которую "портит мультифейс" это надо найти игру "как Ikari, только без паузы". Есть кандидаты? )
ZX_NOVOSIB
06.07.2017, 15:35
Про последнюю диззю я в теме писал, что проблем с мультифейсом нет. По крайней мере в первом уровне )) Паузы в игре нет, но паузу с успехом заменяет ентер (инвентарь), да даже без нажатия на "инвентарь" диззя не хочет портится от NMI, хоть на локе с водопадом, хоть на локе с птичками. Если Ikari без паузы крашится, дак это сразу и видно, а если диззя не крашится, то это тоже сразу видно.
- - - Добавлено - - -
Счас я могу только на эмуле проверить
проверь плиз ) Вот файл игры (http://vtrdos.ru/gamez/l/LN2REMIX.zip). Без MagOS на скорпе с проф-пзу игра ведет себя так: во время игры жмем NMI, попадаем в меню проф-пзу скорпа, ну и всё, если обратно в игру вернуться - черный экран, хотя сама игра идёт, звуки слышны, на клавиши реагирует, но черный экран. Соответственно если сохранить снапшот и его загрузить, то один хрен черный экран будет. Но может MagOS действительно магическая штука и она поможет избежать черного квадрата Малевича?..
Хоть всё это на эмулях тестировалось, но на реальном скорпе скорей всего так же будет.
Bedazzle
06.07.2017, 20:52
Там есть лишь анонс версии 6.4 в которой всё это якобы будет. 6.4 вышла или нет?
Спросил у автора, ответ:
как давно это было :)
с момента как продал в Scorpion версию magos 6,3с и ее зашили в ПЗУ как станндартную поставку и апгрейдить уже не получилось бы,
потому новых релизов уже не делал после этого
вроде так, но наверняка не помню уже :)
ZX_NOVOSIB
07.07.2017, 09:31
Bedazzle, а исходников у автора не осталось случайно? ) И кто автор? Он есть на форуме?
http://savepic.ru/14792976.png
Bedazzle
07.07.2017, 10:17
Bedazzle, а исходников у автора не осталось случайно? ) И кто автор? Он есть на форуме?
На форуме его нет, за исходники спрошу.
Но скорей всего просто утеряны.
Вот оно (http://zxpress.ru/book_articles.php?id=316)
кстати так и не видел её в работе
Bedazzle
07.07.2017, 11:31
На форуме его нет, за исходники спрошу.
Но скорей всего просто утеряны.
ха :)
Vse ishodniki est, u roditelej v korobke so Scorpion
I na HDD, esli zapustitsja
- - - Добавлено - - -
На форуме его нет, за исходники спрошу.
Но скорей всего просто утеряны.
ха :)
Vse ishodniki est, u roditelej v korobke so Scorpion
- - - Добавлено - - -
Ерунда какая-то, форум не даёт отредактировать предыдущий пост, крутит ожидание, и всё.
Вот ответ:
[QUOTE]Vse ishodniki est, u roditelej v korobke so Scorpion
I na HDD, esli zapustitsja
Надежный способ сохраняться, это сначала останавливать проц. На ногу wait ставим кнопку и все:) дальше вход по nmi :)
ZX_NOVOSIB
07.07.2017, 12:33
Vse ishodniki est, u roditelej v korobke so Scorpion
ну вот! Осталось только навестить родителей ) Кто там у вас в Эстонии ответственный за связи с общественностью и за поиски-сохранение культурно-исторического zx-наследия? )) MagOS это же не хухры-мухры, это же прорыв мысли, может какой-нибудь фанат скорпиона возьмется допилить эту чудо-прогу, исходники как нельзя кстати помогут в этом.
Кстати пробовал тут затестить Last Ninja. На спекуляторе, там обычный скорпион, не проф-ром, ром сменить почему-то нельзя, ну да ладно, MagOS работает.
Что интересно, MagOS с ЛастНинзей обращается более щадяще, чем скорповский теневой монитор: можно залезть в меню MagOS, пошариться там, а потом вернуться в игру, и черного экрана нет. Казалось бы, вот она победа, ан нет, после этого в игре портятся как минимум шрифты, вместо букв и цифр - кракозябры. Короче скорп с MagOS не конкурент мультифейсу, но может быть MagOS можно допилить, чтоб игры не портились )) Надо всего лишь дезасемблить пзу мультифейса и посмотреть, почему он не портит ничего в ЛастНинзе )))))
Если из MagOS перейти в теневой монитор скорпа, а там выбрать Continue, то мы возвращаемся в игру и видим черный экран, однако если еще раз вызвать MagOS, то всё нормализуется (кроме шрифтов конечно). Такая вот чудо-прога.
Shadow Maker
07.07.2017, 12:37
А Магос на диск умеет отгружать?
ZX_NOVOSIB
07.07.2017, 12:47
Надежный способ сохраняться, это сначала останавливать проц. На ногу wait ставим кнопку и все дальше вход по nmi
Таким способом, что, даже Ikari не будет портится без паузы? :-o
И на всяких скорпионах, после NMI в Last Ninja (и возможно многих других играх) не будут всплывать всякие черные экраны и кракозябренные шрифты? :-o
- - - Добавлено - - -
А Магос на диск умеет отгружать?
не умеет, эта фича анонсирована в версии 6.4 (которая либо не вышла, либо вышла, но лежит у родителей автора на дискетах).
Впрочем можно зайти из магОС в проф-теневик скорпа и оттуда выгрузить снапшот, но на спекуляторе я не смог подменить ром на проф-ром, а на унреале 38.2 у меня что-то не получается, всё адски глючит, при попытке вызвать NMI (альт-шифт-ф11) внизу возникает "NMI ???" или вообще все зависает/сбрасывается и т.п. Хотя я помню, что года 3 назад тестировал профромовский "magic button", но щас скилл растерял и не могу повторить. Хотя один хрен, шрифт то портится в ЛастНинзе, значит и в других играх что-нибудь будет портится, так что сначала надо допилить магОС, чтоб ничего не портилось как в мультифейсе, а потом только магОС станет актуальной.
Lethargeek
07.07.2017, 15:48
Надежный способ сохраняться, это сначала останавливать проц. На ногу wait ставим кнопку и все дальше вход по nmi
так, а возврат куда? кмк самый надёжный способ сохраняться, ничего не испортив - отловить выборку ret (большой минус - в долгом цикле без call/ret не будет работать)
Для гарантированного сохранения у устройства должна быть отдельная область памяти которая включается при NMI. Она должна мапится циклически на все 64к при записи, достаточно допустим 64 байт. Честно говоря думал что в мильтифейсе так и сделано, оказалось что нет, он портит вроде 6 или около того байт, ранее в похожей теме разбирались. Экстремальный стек в кладовской элите, постоянно около #4000, проверять не буду но возможно в некоторых моментах мультифейсу не хватит.
так, а возврат куда? кмк самый надёжный способ сохраняться, ничего не испортив - отловить выборку ret (большой минус - в долгом цикле без call/ret не будет работать)
Сигнал wait на проц останавливает выполнение программы. У меня на скорпе такое было сделано, чтобы точно входить в начало прерывания. Аппаратная пауза своего рода была)) Делается на любом спеке элементарно. Данная фича реализована в конфигурации ScorpEVO по моей просьбе.
Spectramine
07.07.2017, 16:45
Сигнал wait на проц останавливает выполнение программы. У меня на скорпе такое было сделано, чтобы точно входить в начало прерывания. Аппаратная пауза своего рода была)) Делается на любом спеке элементарно. Данная фича реализована в конфигурации ScorpEVO по моей просьбе.
Это не спасает от порчи стека по NMI. Как пауза пойдет, но особых преимуществ перед простым NMI для сейва не дает. Прерывания могут быть и запрещены.
ZX_NOVOSIB
07.07.2017, 17:54
Экстремальный стек в кладовской элите, постоянно около #4000, проверять не буду но возможно в некоторых моментах мультифейсу не хватит.
В элите есть сейвы, там мультифейс и т.п. не нужно )
Кстати, как успехи по дизасму элиты? )
- - - Добавлено - - -
Честно говоря думал что в мильтифейсе так и сделано, оказалось что нет, он портит вроде 6 или около того байт, ранее в похожей теме разбирались
несколько байт портятся даже когда игра на паузе? Или пауза всё спасает? Если бы портилось при паузе, тогда это заметно было бы - порча графики, шрифтов, зависание, сброс и т.п., чего на мультифейсе не наблюдается.
несколько байт портятся даже когда игра на паузе?
Они портятся всегда, просто то что они портят абсолютно не важно. Видимо пора вас в курс дела ввести, испорченные байты на стеке есть всегда, но во время паузы (ее опрос как правило в основном цикле и стек в обычной рабочей области) или перед прерыванием они просто не важны так как перезапишуться познее. Проблема возникает когда из стека читаются данные или он допустим на таблице ретов именно в такие моменты происходит порча полезных данных.
Кстати, как успехи по дизасму элиты? )
дизасм давно закончен. Околоспектрумиская ситуация в мире не способствует дальнейшей разработке, обождем несколько лет.
Spectramine
07.07.2017, 18:46
несколько байт портятся даже когда игра на паузе? Или пауза всё спасает? Если бы портилось при паузе, тогда это заметно было бы - порча графики, шрифтов, зависание, сброс и т.п., чего на мультифейсе не наблюдается.
Дело в том, что они портятся ниже регистра SP на момент немаскируемого прерывания, это в нормальной ситуации место использованных временных данных, так что их изменение ничего не меняет. Стек растет вниз, байты памяти перезаписываются с уменьшением SP, это штатное поведение. Но иногда команды работы со стеком используется для изощренных программистских приемов, не предполагающих записи в стек на определённых участках кода (перенос графики, чтение из таблиц). И вот тут порча даже двух байтов может привести к непредсказуемым результатам, от порчи графики до зависания со спецэффектами и сброса. А портятся они потому, что при вызове процедуры немаскированного прерывания (NMI) на стек всегда автоматически кладется адрес возврата в прерванную программу (а часто ещё и 2-4 байта содержимого регистровых пар, но это уже самой процедурой обработки NMI).
Пауза спасает потому, что обычно выполняется простой процедурой без манипуляций со стеком. Но если бы автор задался целью обезопасить программу от взлома/сохранений на момент паузы, сделать это также очень просто.
Alex Rider
08.07.2017, 01:42
И на всяких скорпионах, после NMI в Last Ninja (и возможно многих других играх) не будут всплывать всякие черные экраны и кракозябренные шрифты? :-o
Коли речь зашла про всякие продвинутые Magic'и и очередное опускание скорпионовского, появились вопросы к знатокам. Судя по поведению в Unreal, в том самом эталоне несохраняемости - Last Ninja - Scorp, несмотря на читалку #7ffd, тупо не восстанавливает 1-й экран при выходе из сервисного меню. Вопроса два: знает ли кто как это пофиксить и насколько оно после фикса сможет потягаться в безглючности с распеаренным мультифейсом?
а не потому ли он включает 7ой экран потому как 128ой копии 7ffd лежит включенный 4ый бит?
ZX_NOVOSIB
08.07.2017, 10:03
Они портятся всегда, просто то что они портят абсолютно не важно. Видимо пора вас в курс дела ввести, испорченные байты на стеке есть всегда, но во время паузы (ее опрос как правило в основном цикле и стек в обычной рабочей области) или перед прерыванием они просто не важны так как перезапишуться познее. Проблема возникает когда из стека читаются данные или он допустим на таблице ретов именно в такие моменты происходит порча полезных данных.
Дело в том, что они портятся ниже регистра SP на момент немаскируемого прерывания, это в нормальной ситуации место использованных временных данных, так что их изменение ничего не меняет. Стек растет вниз, байты памяти перезаписываются с уменьшением SP, это штатное поведение. Но иногда команды работы со стеком используется для изощренных программистских приемов, не предполагающих записи в стек на определённых участках кода (перенос графики, чтение из таблиц). И вот тут порча даже двух байтов может привести к непредсказуемым результатам, от порчи графики до зависания со спецэффектами и сброса. А портятся они потому, что при вызове процедуры немаскированного прерывания (NMI) на стек всегда автоматически кладется адрес возврата в прерванную программу (а часто ещё и 2-4 байта содержимого регистровых пар, но это уже самой процедурой обработки NMI).
Это всё понятно. Не понятно, почему ЛастНинзя на обычном, непродвинутом спектруме с мультифейсом не портится, а на супер-пупер продвинутом скорпионе с супер мега профессиональным ромом портится. Игра одна и та же, NMI одно и то же. В чем же дело? Скажите суровую правду. Неужели суровая правда в том, что русские тупее англичан? ((
У русских не то что не хватило ума с нуля придумать способ "совладать со стеком и NMI", но даже не хватило ума на то, чтобы тупо скопировать решение с мультифейса? ((
- - - Добавлено - - -
и насколько оно после фикса сможет потягаться в безглючности с распеаренным мультифейсом?
Тягаться в безглючности с мультифейсом? Неплохо было бы конечно.. Но в романтик-робот работали не рукожопы, а настоящие романтики. А вот в скорпионе работали романтики? Я чо-то не уверен.
Underground1
08.07.2017, 10:51
Сигнал wait на проц останавливает выполнение программы. У меня на скорпе такое было сделано, чтобы точно входить в начало прерывания. Аппаратная пауза своего рода была)) Делается на любом спеке элементарно. Данная фича реализована в конфигурации ScorpEVO по моей просьбе.
А как бы ознакомиться со схемкой реализации такой аппаратной паузы?
Не понятно, почему ЛастНинзя на обычном, непродвинутом спектруме с мультифейсом не портится, а на супер-пупер продвинутом скорпионе с супер мега профессиональным ромом портится
ты проверял LastNinja на реале (скорп) или под эмулем ?
ZX_NOVOSIB
08.07.2017, 13:01
goodboy, под эмулем конечно. Года 3 назад под унреалом и под спекулятором, щас решил освежить, но унреал уже не могу настроить. А реальный скорп откуда у меня? У людей может и есть реалы, но они у них на полке, в кладовке, в гараже, так что остается только эмулятор, вот правда у товарища Gutten есть скорп, но у него нет тыщи, чтоб перепаять микросхемы, а так бы он проверил на реале.
- - - Добавлено - - -
Щас же всё на эмулях. Я не удивлюсь, если без малого 3 тыщи обладателей Next'а просто поставят его в сервант, под стекло, а сами будут юзать эмуль Next'a, это нормально, чо, щас так принято. Новый стандарт )
Но в романтик-робот работали не рукожопы, а настоящие романтики. А вот в скорпионе работали романтики? Я чо-то не уверен.
Ага-ага, кое-где я такое уже читал:
Компьютеры можно создавать по-разному. Можно отсиживать "от звонка до звонка", разрабатывая какой-нибудь модуль и почти не ведать, что делают десятки или даже сотни таких же унылых, как ты сам, интеллектуальных работяг, за соседними столами. Единственное, что движет тобой — уложиться в срок, указанный боссом и выдать рабочий продукт, который будет делать своё бескрылое дело и не более того. Дисциплина и исполнительность — прежде всего. Муравьиная психология — вы когда-нибудь видели муравейник в форме чайной розы или четырехмерного гиперкуба?
:rolleyes:
блин, так эмуль (скорее всего) может и не знать про чтение порта #7ffd через порты AYшки.
вот и врубает теневой экран в LastNinja
Чтение #7FFD нигде не используется. ПрофПЗУ включает экран по 3-му биту #5B5C.
Spectramine
08.07.2017, 13:33
Это всё понятно. Не понятно, почему ЛастНинзя на обычном, непродвинутом спектруме с мультифейсом не портится, а на супер-пупер продвинутом скорпионе с супер мега профессиональным ромом портится. Игра одна и та же, NMI одно и то же. В чем же дело?
Видимо, код сохранения/чтения состояния программы в мультифейсе корректнее - меньше затирает памяти, учитывает больше нюансов. Я глянул код процедуры NMI Скорпиона - там сразу в стек программы пушится 10 байтов, плюс два байта адреса возврата - итого 12 байтов ОЗУ портится. Возможно, это и есть причина меньшей совместимости по сравнению с мультифейсом, который портит 6 байтов.
Скажите суровую правду. Неужели суровая правда в том, что русские тупее англичан? ((
У русских не то что не хватило ума с нуля придумать способ "совладать со стеком и NMI", но даже не хватило ума на то, чтобы тупо скопировать решение с мультифейса? ((
Суровая правда в том, что одни делают, а другие возмущаются, что первые делают плохо. Всегда можно сделать лучше, люди делают, как умеют. Тот же мультифейс можно было сделать ещё более совместимым, ценой усложнения аппаратной части.
Хотя в оригинальном скорпионе это чтение и разведено, в моём новодельном оно не разведено, а раз программно оно не поддержано, то вряд ли будет отличаться сильно от эмуля.
И да, отдать тыщу рублей за перепайку 1 QFP-атмеги без гарантии результата я пока не готов, не самая важная трата в данный момент для меня. Был бы дип - тупо бы выкусил ножки и сам запаял.
проверил на реале,нажав NMI во время паузы.
выход в игру нормальный,но спрайты явно портятся.
блин, там похоже классический сброс дампа с порчей пары? ячеек
(типа 23552)
ZX_NOVOSIB
08.07.2017, 17:04
Видимо, код сохранения/чтения состояния программы в мультифейсе корректнее
иными словами у парней из романтик-робот был недостаточно прокачан скилл "рукожопость" ))
Тот же мультифейс можно было сделать ещё более совместимым, ценой усложнения аппаратной части.На кой было усложнять аппаратную часть?? Ещё более совместимым это как?? Если и так ни одна игра не портится, куда еще совместимее то? Чудом откопали Ikari Warriors, казалось бы, вот она - перемога, но любая перемога оборачивается зрадой - оказалось, что в игре предательски есть пауза, и если поставить на паузу, то ничего не портится.
- - - Добавлено - - -
проверил на реале, нажав NMI во время паузы.
выход в игру нормальный,но спрайты явно портятся.
блин, там похоже классический сброс дампа с порчей пары? ячеек
(типа 23552)
А что за скорп у тебя? Какая версия, какой ром? Есть ли какие-то пришлёпки/доработки и т.п.? Иными словами, насколько чистым можно считать твой эксеримент?
И почему портятся спрайты? В эмуле же не портятся, в эмуле черный экран. А если заюзать МагОС, то можно обойти и черный экран, но портятся токо шрифты. Выходит эмуль приукрашивает реальность?
А что за скорп у тебя? Какая версия, какой ром? Есть ли какие-то пришлёпки/доработки и т.п.? Иными словами, насколько чистым можно считать твой эксеримент?
И почему портятся спрайты?
обычный зелёный скорп (ему лет 20). ПЗУ обычное (не Проф)
портится таблица адресов для вывода.
классический обработчик magic меняет несколько ячеек памяти во время своей работы.
Spectramine
08.07.2017, 18:12
иными словами у парней из романтик-робот был недостаточно прокачан скилл "рукожопость" ))Иными словами парни из романтик-робот занимались узкой задачей, а парни, пишушие код ПЗУ Скорпиона - написали теневой монитор-отладчик (не говоря уже о проф-ПЗУ), с объемом работы на пару порядков больше. Только полный дилетант может, с высоты своего невежества, обвинять их в рукожопости.
На кой было усложнять аппаратную часть?? Ещё более совместимым это как?? Если и так ни одна игра не портится, куда еще совместимее то? Чудом откопали Ikari Warriors, казалось бы, вот она - перемога, но любая перемога оборачивается зрадой - оказалось, что в игре предательски есть пауза, и если поставить на паузу, то ничего не портится.
На той, чтобы любую игру в любой момент времени можно было бы корректно сохранить и восстановить. Насчет "ни одна игра не портится" - вы все тысячи игр перепробовали, чтобы так категорично утверждать? Простейший прием - писать в SP адрес в ПЗУ в начале долговременных процедур, не использующих стек, (включая процедуру паузы), и игра мультифейсу не по зубам.
написали теневой монитор-отладчик
http://www.worldofspectrum.org/infoseekid.cgi?id=0008330
ZX_NOVOSIB
08.07.2017, 18:54
Только полный дилетант может, с высоты своего невежества, обвинять их в рукожопости.
Моё дилетанство не отменяет чей-то рукожопости :)
Насчет "ни одна игра не портится" - вы все тысячи игр перепробовали, чтобы так категорично утверждать?
Существует презумпция невиновности, пока не доказано обратное - мультифейс не виноват ))
Spectramine
08.07.2017, 19:28
http://www.worldofspectrum.org/infoseekid.cgi?id=0008330
Ну хорошо, не написали, а адаптировали под Скорпион. Всё равно работы больше на порядок. К тому же, есть ведь ещё и проф-ПЗУ.
- - - Добавлено - - -
Моё дилетанство не отменяет чей-то рукожопости :)
Ваше дилетанство не позволяет вам оценить масштабы разработки отдельного узкоспециализированного периферийного устройства и целого компьютера, и уместность слова "рукожопость" в данном контексте.
Существует презумпция невиновности, пока не доказано обратное - мультифейс не виноват ))
Мультифейс в любом случае не виноват, виноват тот, кто разбрасывается категорическими утверждениями, не имея на то оснований.
проверил (под эмулем) скорп+ПрофROM.
LasnNinja корректно сохраняется/работает.
а в криворукости TRdos`ного мэджика скорпионовцы точно не виноваты.
и стесняюсь спросить - на какой носитель сохраняется дамп с мультифейса ?
Существует презумпция невиновности, пока не доказано обратное
Тоесть не виноват? Есть явная порча 6(+?) байт на стеке, железка изначально позиционировалась как всеядный отладчик, таковым по сути не является, при желании улетает в опу как и мейджик. То что с ним особо никто не боролся другой вопрос, но в идеале свои функции выполняет не на 100%. Вообще для зарубежных пользователей вашего уровня его вроде как прикрутили к нексту, можете заказывать, вы целевая аудитория в нише кулхацкеров.
По поводу скорпа вроде уже говорили, опять таки в идентичной теме ранее, что его сохранялка гадит абсолютно так же как трдосный мейджик, который является просто бонусом к дисковой системе.
В любом случае актуальность подобных устройств штук 5 во всем мире, и скорее всего какой то из новомодных интерфейсов уже умеет и сохранять сна без порчи и поке вводить.
ZX_NOVOSIB
08.07.2017, 20:06
проверил (под эмулем) скорп+ПрофROM.
LasnNinja корректно сохраняется/работает.
Что за эмуль? Какие настройки? Хочу повторить.
а в криворукости TRdos`ного мэджика скорпионовцы точно не виноваты.
а при чем тут трдосный мэджик, в профроме же вроде своя снапшотелка?
и стесняюсь спросить - на какой носитель сохраняется дамп с мультифейса ?на любой же. От кассеты до дискеты (+3DOS)
Что за эмуль? Какие настройки? Хочу повторить.
Unreal
http://savepic.ru/14807144.png
- - - Добавлено - - -
а при чем тут трдосный мэджик, в профроме же вроде своя снапшотелка?
в обычном ПЗУ на скорпе стандартный мэджик.
в ПрофRom`e два варианта сохранения.
классический и свой.
классический точно портит несколько ячеек,
свой вроде-бы работает покорректней
- - - Добавлено - - -
на любой же. От кассеты до дискеты (+3DOS)
очень актуально для наших клонов
То что с ним особо никто не боролся другой вопрос
в фирменных защитах (alkatraz/speedlock) встречалась проверка и сброс при наличии мультифейса
ZX_NOVOSIB
09.07.2017, 13:55
при желании улетает в опу как и мейджик.
Про жопу, это какое-то ненормальное желание. Такое желание не должно посещать игродела, и, к счастью, оно никого до селе не посещало. Если бы такое желание было распространенным, то найти "улетающую от мультифейса" игру не составило бы труда.
но в идеале свои функции выполняет не на 100%.
ага, а скорпион дак выполняет. Мультифейс может и не выполняет на 100%, но он выполняет лучше всех, поэтому его условно и можно принять за 100%. Лучше то всё равно никто не выполняет.
Вообще для зарубежных пользователей вашего уровня его вроде как прикрутили к нексту, можете заказывать, вы целевая аудитория в нише кулхацкеров.Приплыли, ZX_NOVOSIB теперь целевая аудитория Нэкста. Только мы вроде выяснили в последних постах вот этой темы (http://zx-pk.ru/threads/24605-snapshot/page99.html) в какой я целевой аудитории, и вот опять 25. Ты там зачем-то свои посты потер, но они всё-равно зацитированы, так что нить уловить можно.
По поводу скорпа вроде уже говорили, опять таки в идентичной теме ранее, что его сохранялка гадит абсолютно так же как трдосный мейджикщас вот заценил на эмуле ЛастНинзю, выяснилось, что сохранялка скорпа гадит гораздо хуже )) чёрный экран, тот самый черный экран, которого почему-то нет у Гудбоя. Обычный трдосный мэджик даёт хотя бы поиграть в игру, т.е. черного экрана нет, спрайты правда испорчены, но игра бегает.
Unreal
у меня тоже, 0.38.2 , настройки у меня естественно такие же были, значит я не совсем отупел )) Токо NMI я раньше пытался вызывать alt-shift-F11, а щас вдруг решил попробовать ctrl-F11, и скорпионовское меню стало стабильно выскакивать ) Но почему у тебя в ЛАстНинзе нет черного экрана? У меня он есть, он исчезает только на мгновение, когда жмешь NMI, и ещё во время загрузки скорп-снапшота. Как такое может быть, что у тебя всё тип-топ, а у меня черный экран. И хорошо, допустим в эмуле черного экрана нет, но какой в этом толк, если на реальном скорпе портятся спрайты? Или ты хочешь сказать, что если на твой зеленый скорп залить проф-ром, то всё будет как у тебя в эмуле, т.е. тип-топ?
очень актуально для наших клонова причем тут это, если мультифейс сам по себе "очень актуально для наших клонов". Чтобы мультифейс подключить к нашим клонам, это надо его досконально переделывать и переписывать прошивку, это такой объём работы, что на фоне этого объема, переделать процедуру выгрузки/загрузки с +3DOS на TR-DOS - просто мелочь )) Проблема ведь не в том, что мультифейс "не туда" сохраняет снапшот, проблема в том, что его в принципе нельзя прикрутить к нашим клонам, потому что он заточен под +3/+2AB.
в фирменных защитах (alkatraz/speedlock) встречалась проверка и сброс при наличии мультифейсав романтик-робот пацаны быстро сориентировались и выпустили мультифейс-3, в котором в меню можно нажать off и всё, защита игры мультифейс не видела )) Короче добро и романтика победили зло и копирастию.
ты хочешь сказать, что если на твой зеленый скорп залить проф-ром, то всё будет как у тебя в эмуле, т.е. тип-топ?
да
ZX_NOVOSIB
11.07.2017, 14:41
Похоже зря я гнал бочку на разрабов скорпиона, был не прав.
проверил (под эмулем) скорп+ПрофROM.
LasnNinja корректно сохраняется/работает.
Если запускать из под 48 режима, то действительно всё окей. Если в 128-ом запускать, то теневой экран почему-то врубается. Причём такая шляпа не только в Last Ninja, но как минимум ещё в:
- Karnov
- Inside Outning
- Survivor
- Trantor
- Trapdoor
- Obliterator
- Exolon
- Jungle Warrior
В этих играх при попытке вернуться в игру после скорп-меню, либо черный квадрат малевича, либо картинка из крактро (в некоторых релизах Слайдера). Причем так и в unreal, и в спекуляторе. А в некоторых играх портится цвет бордюра, но в таких случаях я включал режим кулхацкера, входил в скорп-монитор и вбивал out254,0 - помогало. Может и теневой экран можно через скорп-монитор переключить? Если да, то как?
Ну а так, если верить эмулю, то скорп-снапшотелка практически не портит снапшоты! Я конечно не пытался заснапшотенную игру потом пройти до конца, тестил на скорую руку, но практика показала, что если игра портится, то это видно сразу. В некоторых 128-ых играх (типа Robocop-2-3, Total Recal) при попытке вернуться к игре возникает цветовая мешанина, но когда игру снимаешь с паузы, то всё нормализуется.
Commando - будет не по зубам ни скорпу, ни мультифейсу, ибо она "как Ikari Warriors токо без паузы", короче спрайты портятся. Игр без паузы много, но не все "безпаузные" игры портятся от NMI (в Green Beret паузы нет, но игра от NMI не портится, вроде бы) В Great Escape нет паузы, игра портится/улетает, если действие происходит на улице, но в помещениях - всё окей, хоть заснапшоться.
Конечно эмуль - это не то, надо на реальном скорпе с проф-пзу тестить. Кто его знает, что там у эмуля в голове. Например вот этот Short Circuit (http://vtrdos.ru/translat/SHORTC.ZIP) в unreal виснет при попытке запустить первый левел, и в режиме "обычный скорп" и в режиме "скорп+проф пзу". А в спекуляторе - прекрасно работает. WTF? Я понимаю, что в игре порт #FF, значит unreal считает, что у скорпа нет #FF, а спекулятор, что есть? Кто из них прав, и как на реальном скорпе этот релиз будет себя вести?
смотри порт#ff в настройках ULA
ZX_NOVOSIB
11.07.2017, 14:49
goodboy, ok, понял. А в реальных скорпах #FF есть?
Black Cat / Era CG
11.07.2017, 14:59
Может и теневой экран можно через скорп-монитор переключить? Если да, то как?
Читай, там есть: https://zxpress.ru/article.php?id=9971
ZX_NOVOSIB
11.07.2017, 15:35
Black Cat / Era CG, там то есть, у меня в голове нет ))
Переключение между экранами осуществляется
через порт 32765 (#7FFD), для отображения до-
полнительного экрана надо выполнить программу:
DI ;Запретить прерывания.
PUSH BC ;Запомнить BC.
LD BC,#7FFD ;
LD A,(23388) ;Взять содержимое пер. BANK
SET 3,A ;Установить 3-й бит опреде-
;ляющий активный экран.
LD (23388),A ;Поместить новое знаэение в
; переменную BANK.
OUT (C),A ;Вывод в порт 32765 (#7FFD)
;содержимого аккумулятора.
POP BC ;Вспомнить BC.
EI ;Разрешить прерывания.
RET ;Вернуться из программы.
Для обычного экрана:
DI ;Запретить прерывания.
PUSH BC ;Запомнить BC.
LD BC,#7FFD ;
LD A,(23388) ;Взять содержимое пер. BANK
RES 3,A ;Сбросить 3-й бит определя-
;ющий активный экран.
LD (23388),A ;Поместить новое знаэение в
; переменную BANK.
OUT (C),A ;Вывод в порт 32765 (#7FFD)
;содержимого аккумулятора.
POP BC ;Вспомнить BC.
EI ;Разрешить прерывания.
RET ;Вернуться из программы.
Как всё это вбить в мониторе? Если по очереди, то пишет ошибку уже на первой команде DI. Вторую команду переваривает. Третью опять не переваривает. Или надо просто с помощью out что-то заслать в 32765? Но что именно я не знаю ((
экран переключается командой "SCR 5" или "SCR 7". посмотреть экран можно просто "SCR".
Не дословная цитата из мануала по монитору: "К сожалению, в скорпионе как и в спектруме128, не предусмотрено аппаратной проверки установленного экрана, потому монитор устанавливает его исходя из содержимого системной переменной BANKM, расположенной по адресу 23388."
Black Cat / Era CG
11.07.2017, 15:48
Ты в эмуле. Попробуй посмотреть, че лежит в 23388 (#5B5C), сбрось или установи 3 бит, зашли в 32765 то, что получилось.
Похоже зря я гнал бочку на разрабов скорпиона, был не прав.
Если запускать из под 48 режима, то действительно всё окей. Если в 128-ом запускать, то теневой экран почему-то врубается. Причём такая шляпа не только в Last Ninja, но как минимум ещё в:
- Karnov
- Inside Outning
- Survivor
- Trantor
- Trapdoor
- Obliterator
- Exolon
- Jungle Warrior
во всех этих играх память с #5b00 до #5bff занята
а всякие особоумные системы используют #5b5c для определения текущего включенного экрана
в last ninja там лежит там лежит таблица разворота спрайтов и число там находится #3a что означает включенный 7ой экран
и порчу графики при внесении туда изменений
ZX_NOVOSIB
11.07.2017, 18:19
экран переключается командой "SCR 5" или "SCR 7". посмотреть экран можно просто "SCR".
Эврика! То, что доктор прописал ) Теперь вышеупомянутые игры нормально работать будут и из 128-ого режима, просто надо заходить в монитор и делать scr 5.
в last ninja там лежит там лежит таблица разворота спрайтов и число там находится #3a
Погоди, а если ЛастНинзя запускается из 48 режима, то в 5b5c по прежнему находится 3a, но скорп-пзу выставляет уже не 7ой экран, а 5ый. Почему так?
и порчу графики при внесении туда изменений
если в скорп-мониторе ввести scr 5, то это же не вносит изменений в 5b5c? графика же не портится, следовательно эта команда не трогает содержимое 5b5c. Или я чего-то не догоняю.
Эврика! То, что доктор прописал ) Теперь вышеупомянутые игры нормально работать будут и из 128-ого режима, просто надо заходить в монитор и делать scr 5.
Погоди, а если ЛастНинзя запускается из 48 режима, то в 5b5c по прежнему находится 3a, но скорп-пзу выставляет уже не 7ой экран, а 5ый. Почему так?
потому что не может
7ffd заблокирован
если в скорп-мониторе ввести scr 5, то это же не вносит изменений в 5b5c? графика же не портится, следовательно эта команда не трогает содержимое 5b5c. Или я чего-то не догоняю.
не знаю
дайте мне запороту версию скажу точно что не так
ZX_NOVOSIB
11.07.2017, 18:44
потому что не может
7ffd заблокирован
Ясно :)
не знаю
дайте мне запороту версию скажу точно что не так
дык откуда её взять, запоротую версию, если ничего не запарывается? Грузим ЛастНинзю, запускаем игру, жмем паузу, жмем NMI. Если вернуться в игру, то будет черный экран. Жмём ещё раз NMI, идем в монитор, в мониторе видим что стоит "scr 7" , вводим scr5, видим, что scr 7 изменилось на scr 5, вводим ex, возвращаемся в игру, видим, что черного экрана нет, всё тип-топ, снимаем игру с паузы, играем. Ничто нигде не запорото ))
Underground1
11.07.2017, 19:46
Там в начале темы был вопрос про перенос с ленты на диск. Хотелось бы знать мнение участников, какая программа типа "tape-disk copier" на сегодняшний день самая адекватная :v2_conf2:
Хотелось бы знать мнение участников, какая программа типа "tape-disk copier" на сегодняшний день самая адекватная
Та, которая тебе нравится. Мне нравится вот эта (http://zx-pk.ru/threads/25909-disk-lt-gt-lenta.html?p=845736#post845736).
Black Cat / Era CG
11.07.2017, 20:28
Там в начале темы был вопрос про перенос с ленты на диск.
Только не стоит забывать, что в 99% случаев программа/игра состоит не из 1 файла, поэтому простое копирование не спасет. Ибо 1й файл (Бейсик-загрузчик) после запуска будет пытаться грузить по-прежнему с кассеты... Чтобы программы с кассеты работали с диска их надо не просто копировать, а адаптировать.
Ну об этом писали уже выше.
ZX_NOVOSIB
11.07.2017, 20:39
Там в начале темы был вопрос про перенос с ленты на диск. Хотелось бы знать мнение участников, какая программа типа "tape-disk copier" на сегодняшний день самая адекватная
У тебя есть реальные кассеты и ты хочешь на реальном компе перенести их содержимое на реальные дискеты? Или что ты хочешь? Какова конечная цель, так сказать?
Underground1
11.07.2017, 20:40
Есть такой момент. Николай Родионов об этом хорошо писал в своей работе.
Есть TAP файлы, не могу найти тырдосные версии для использования на реале.
Underground1
11.07.2017, 20:55
Конечно, первым делом! Вот именно сейчас хотел бы игрушку BombMunchies.
ZX_NOVOSIB
12.07.2017, 07:40
Есть TAP файлы, не могу найти тырдосные версии для использования на реале.
В любом случае TAP в TRD щас никто не перегоняет спектрум-софтом )) Перегоняют писишным софтом. ZX block editor есть прога (вроде так называется), еще есть плагины к FAR и Total Commander , не помню кто, но кто-то из них умеет заходить в TAP, и копировать оттуда в TRD файлы.
Black Cat / Era CG
12.07.2017, 10:38
еще есть плагины к FAR и Total Commander , не помню кто, но кто-то из них умеет заходить в TAP, и копировать оттуда в TRD файлы.
Не кто-то из них, а оба они умеют при наличии установленных плагинов.
IL_DECAMERON
12.07.2017, 11:29
Есть TAP файлы, не могу найти тырдосные версии для использования на реале.
При необходимости, использую ZX-Editor для правки загрузчика под TR-DOS. Далее, в ZX-Blockeditor копирую блоки из *.tap в пустой образ *.trd. Перед сохранением меняю тип загрузчика и блоков на "TR-DOS", и все... Такой способ прокатывает, увы, не всегда. К примеру, с Bomb Munchies фокус не удался: "out of memory", и хоть тресни. Хотя, на первый взгляд, сделал все верно...
Black Cat / Era CG
12.07.2017, 11:39
К примеру, с Bomb Munchies фокус не удался: "out of memory", и хоть тресни. Хотя, на первый взгляд, сделал все верно...
Ну TR-DOS же тоже немного ОЗУ скушать хочет (под свои системные переменные например), отсюда, видимо и проблемы.
да, там сжатая заставка `низко` расположена.
Bedazzle
12.07.2017, 12:30
Ну TR-DOS же тоже немного ОЗУ скушать хочет (под свои системные переменные например), отсюда, видимо и проблемы.
уже как-то спрашивал, но внятно вроде никто не ответил :(
сколько минимально места требуется, чтобы сделать поддержку тырдоса?
т.е. вот с какого адреса может начинаться полезный код (например, с 24000 можно?), и какой нужен буфер (если нужен?)
всё зависит от размера программы на бейсике + 257байт для буфера
Alex Rider
12.07.2017, 12:36
Беседу про перегон с ленты на диск начиная с сообщения #77 (http://zx-pk.ru/threads/27845-vopros-pro-sokhraneniya.html?p=919356&viewfull=1#post919356) отрежу завтра в отдельную тему, ибо не то, чтобы оффтоп, но разговор про сохранялки затерялся. Если никто не против.
да, там сжатая заставка `низко` расположена.
И эта сжатая низкорасположенная заставка в дальнейшем в игре также используется. Всё по Родионову: "более простой - первый случай", вверху свободно "если не верите, можете посчитать на пальцах". ;)
элегантней пакануть
(разместив сжатые данные чуть повыше)
Паковать было лень, на скорую руку слепил по классическим канонам. :)
слепил по классическим канонам
классика это 23296,1704 ;)
Underground1
13.07.2017, 09:24
Вот спасибо! Теперь есть дисковая версия :v2_dizzy_punk:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot