PDA

Просмотр полной версии : Об одном способе запуска программ



Soplik
25.09.2013, 01:04
Возьмем такую ситуацию.
Есть кодовый блок на кассете. На адресе 65364 лежит точка входа программы. Концовка блока битая, без контрольной суммы.
По идее, на голом оригинальном спектруме 48 такой блок успешно запустится.
На каких еще спеках он запустится, а на каких нет?

psb
25.09.2013, 01:46
на всех, где стек будет в том же самом месте. т.е. у кого бейсик стандартный.

Soplik
25.09.2013, 01:57
На 128-м под Tape Loader-ом запустится?

psb
25.09.2013, 03:11
запустил tape loader из 128й менюхи и load "" из 48 бейсика. стек в одном и том же месте загрузчика отличается на 4 байта (#ff44 и #ff48). т.о., наверняка, если около "того самого адреса" записать несколько одних и тех же адресов возврата, то и в том, и в другом случае сработает.

Alex Rider
25.09.2013, 17:46
Есть кодовый блок на кассете. На адресе 65364 лежит точка входа программы. Концовка блока битая, без контрольной суммы.
А зачем все это? Защита? Дискофикатор тебе не скажет "спасибо".

psb
25.09.2013, 19:32
А зачем все это? Защита?
это понты, красота.


Дискофикатор тебе не скажет "спасибо".
про него думать надо в последнюю очередь. а я бы вообще не думал. нравится ему - пусть мучается или даже не начинает. хотелось бы сделать простую адаптацию - не выдумывал бы приколюхи. это примерно как возмущаться на дему Unreal, что ее тяжело переводить в tap...

Alex Rider
25.09.2013, 22:12
про него думать надо в последнюю очередь. а я бы вообще не думал.
Тогда злостные реальщики посмотрят это творение 1-2 раза хорошо если. Если это демо, то ok.
Кстати, Unreal с TapeTraps = 1 загружает tap-блоки с левой контрольной суммой с сообщением OK, а не Tape Loading Error. Хотя, при затирании стека одним и тем же значением пофиг...

psb
25.09.2013, 22:31
Тогда злостные реальщики посмотрят это творение 1-2 раза хорошо если.
а эмуляторщики 100 раз:)