Скорпионовский мэджик лучше чем тр-досный мэджик лишь на одну сотую, хрен десятых. Короче говоря, почти те же яйца, только в профиль.
Скорпионовский мэджик лучше чем тр-досный мэджик лишь на одну сотую, хрен десятых. Короче говоря, почти те же яйца, только в профиль.
Куплю корпус и материнку от Spectrum +2/+3
Да, адрес возврата всегда в стэк кладется - таков механизм работы прерываний.
На счет только когда выполняется код в RAM - зависит от конкретной реализации.
- - - Updated - - -
У скорпиона 256кб ОЗУ, из которых вторая часть используется для своих нужд. То есть проблем с порчей памяти не должно быть. Несмотря на мифическое название, функция Magic довольно проста и банальна, если у тебя куча дополнительного ОЗУ. Там просто надо сохранить все регистры и память на диск.
Читал, что есть проги, сопротивляющиеся Скорпиону, засирая его страницы дополнительные. Возможно из-за этого не все игры удается сохранить. Но данный момент можно пресечь, например, путем запрета доступа к порту 1FFD до тех пор пока не нажата кнопка NMI.
ещё встречается умышленная порча? системного регистра в trdos, запись на-дискету после этого неудаётся.
ну и как вариант некоторые фирм.защиты определяют мультифейс и делают jp 0
да MF - это шняга. Я надеялся на прошивку, но она оказалась на удивление примитивной до бесполезности. Даже хваленый отладчик Genie оказался днищем.
Со снапшотом отлично справляется стандартная прошивка +D.
В Скорпионе мне понравилось то, что есть нормальное меню и даже отладчик - всё выглядит довольно прилично и функционально.
С чего бы это такой вывод? Программы, прежде чем брать из стэка, в него сначала что-то кладут. Прога кладет в стэк уменьшая его, потом забирает из него, увеличивая. Пришедшее в любой момент NMI не нарушает этот алогритм.
Более того, 50 раз в секунду случается еще и INT, который так же как NMI работает. Его, правда можно запретить, но почти всегда INT разрешен, ибо игры обычно синхронизируются по развертке.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
в нормальных снапшотилках подменяется не только пзу но и озу.
В последнее время количество рукалицо тредов зашкаливает, толи старый стал толи реально все так плохо.
совсем не-обязательно.
для примера запретив прерывания выставляем стек на область где хранятся данные (спрайт/копия экрана и.т.д.) забираем их через POP hl/de/bc,
после этого переставляем стек и выталкиваем содержимое регистров в нужное место.
согласен это неочень очевидный подход для классического программирования,
но тем-не-менее такое используется сплошь и рядом.
(встречается даже коррекция данных при одновременно разрешённых прерываниях и таком применении стека)
Понятно, что всегда можно найти подобные извращения. Это больше справедливо ко всяким демкам, и то польза от такого метода сомнительная. У Z80 есть комманды блочных пересылок, что уменьшает необходимость таких извращений.
Если пара игр использовала специальные методы защиты, ну и ладно. Никто про 100% успех не говорит.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)