Комментарии 64
С каждым годом человек отдаляется от железа ПК. Операционки, фреймверки… Раньше как то ближе был к ресурсам техники. Спаибо за интересную статью, мой первый ПК был как раз спектрум. Помню что меня тогда очень поразил графический редактор и какая то программа которая могла записывать с кассеты в память спектрума звук, небольшой длины, сильно хрепящий, и потом его воспроизводила, мной это воспринимаось как волшебство какое то. (зы прошу извенить что комментарий не совсем по теме статьи)
+7
ArtStudio?
+4
Ну на самом деле я считаю не все отдаляются, кому интересно тот интересуется и знает. Сейчас просто больше возможностей почувствовать себя программистом чем скажем 20 лет назад…
0
Вы не можете считать себя «близким к технике» если вы ни разу вручную не выставляли значение сумматора с помощью пинцета.
0
НЛО прилетело и опубликовало эту надпись здесь
Сам помнится все эти методы изучал. Было же время все машинные коды знал, относительные переходы в уме расчитывал, потому что памяти мало, а загрузчик надо поломать ибо не загружается он из за криво написанной защиты.
p.s. И этта…cracked by bill gilbert Привет всем спектрумистам.
p.s. И этта…
+6
Ностальгия… Вспомнил, как писал на асме вывод листинга бейсик-программы с демаскировкой этих трюков. Взлом бейсик-загрузчиков после этого превратился в конвеер.
0
Переименовать первую строку в нулевую и наоборот можно и одним POKE
Еще Бейсик-программы могли нашпиговываться POKE вешающими комп по BREAK («Королевство Эйфория»)
Еще Бейсик-программы могли нашпиговываться POKE вешающими комп по BREAK («Королевство Эйфория»)
0
Переименовать первую строку в нулевую и наоборот можно и одним POKE
Да, вы правы. Строку с номером по 255й включительно можно переименовать и одним POKE.
А вот в «Королевство Эйфория» не играл и таких агрессивных защит не встречал.
0
Приёмов действительно куда больше было. Например, в строках можно задавать специальными образом цвет и прятать текст в белом на белом.
+3
НЛО прилетело и опубликовало эту надпись здесь
Помню игру на скриншоте. Rebel Star называется — классная была стратегия пошаговая.
+1
отображаем ноль, а переход будет на 23875
Я не понял. Как отображаем ноль?
0
каких-то 15 лет прошло, а память полностью поддалась команде CLEAR. С таким трудом все эти закорючки сейчас воспринимаются.
Но все равно спасибо :)
p.s. юность прошла за диззиассемблированием дисковых версий игрушек и переписыванием загрузчиков под кассетные версии (новые игры приходили на дисках, а народ требовал кассет). Все это богатство продавалось на ЦКР Перми.
Но все равно спасибо :)
p.s. юность прошла за диззиассемблированием дисковых версий игрушек и переписыванием загрузчиков под кассетные версии (новые игры приходили на дисках, а народ требовал кассет). Все это богатство продавалось на ЦКР Перми.
+3
Напомнилось…
RANDOMIZE USR 15619: REM: RUN
Вы заставили меня плакать в ностальгическом приступе
RANDOMIZE USR 15619: REM: RUN
Вы заставили меня плакать в ностальгическом приступе
+2
А я иногда вбивал
Randomize usr 15616.
Может кто-нибудь объяснит что оно делало? (Меня учили так делать после того как комп зависнет =))
Randomize usr 15616.
Может кто-нибудь объяснит что оно делало? (Меня учили так делать после того как комп зависнет =))
0
При подключенном TR-DOS эта команда передаёт управление TR-DOS, выводя её консоль.
+1
Выкидывало вас в ДОС, откуда уже из-под консоли могли делать то, что нужно
0
при переходе по адресу 0x3D00-0x3DFF из адресов старше 0x4000, на адреса 0x0000-0x3FFF отображалась пзу TR-DOS, таким образом TR-DOS можно было вызвать именно с этих адресов. Еще была фишка, что с портом 0x1F, который использовался для получения информации от ВГ93, можно было только с адресов 0x0000-0x3FFF, только с пзу и когда писали свой код для работы с диском, приходилось использовать код в ПЗУ, который делал дофига лишнего.
Ну а данная команда подрубала пзу от TR-DOS и переходила на его 0 адрес, где был сброс, по адресу 15619 находился просто RET
Ну а данная команда подрубала пзу от TR-DOS и переходила на его 0 адрес, где был сброс, по адресу 15619 находился просто RET
+1
15619 и 15616 — два числа которые со мной теперь на всю жизнь 8)
0
НЛО прилетело и опубликовало эту надпись здесь
Мой первый компьютер ZX Spectrum 128k. Мои первые мануалы, это Справочник по Spectrum Basic и инструкция по ZX Spectrum 128k. Жалею, что однажды по своей глупости я его выкинул.
0
Эх. Ностальгия. Как же раньше всё просто было. Любую программу можно было «взломать». Я даже как-то ломанул защиту от копирования Сергея Веремеенко. Сделал копировщик таких игр. Вот это было интересно копаться.
+1
Против встроенного отладчика ZX Scorpion 256 это не помогало. Там были более хитрые приемы, связанные с переключением страниц памяти и служебной областью данных, подробности уже не помню.
А вы помните журнальчик ZX-Ревю?!
А вы помните журнальчик ZX-Ревю?!
+2
+2
А еще был замечательный электронный журнал Spectrofor вроде. Очень неплохо организован был.
Иногда с игрушками в комплекте ( о, Звёздное Наследие !) Впервые увидев его тут же понял — эпоха бумажных книг подходит к закату :)
Иногда с игрушками в комплекте ( о, Звёздное Наследие !) Впервые увидев его тут же понял — эпоха бумажных книг подходит к закату :)
0
Spectrofon, да. Его те же товарищи делали, которые Звёздное Наследие, как раз.
Ещё был питерский ZX-Format, местами с более навороченым дизайном, но менее плодовитый.
Ещё был питерский ZX-Format, местами с более навороченым дизайном, но менее плодовитый.
0
Дома до сих пор лежат!
0
Читая заголовок уже предвкушал статью об антиотладке с использованием как минимум прерываний :)
+1
А я в заголовке честно предупредил, что речь пойдет о Sinclair Basic'е :)
+1
НЛО прилетело и опубликовало эту надпись здесь
Тогда не стоит стесняться, нужно только найти время и написать статью о средствах защиты от копирования на ZX Spectrum и методах противостояния им. Думаю, многим будет интересно.
Вспомните молодость наиболее полезным для подрастающего поколения способом — через написание мемуаров ;)
Вспомните молодость наиболее полезным для подрастающего поколения способом — через написание мемуаров ;)
+2
НЛО прилетело и опубликовало эту надпись здесь
С одной стороны, вы правы. За последние 25 лет многое изменилось и в процессорах, и в операционных системах. Но принципы противостояния отладке остались прежними:
1. Противодействие активной отладке
2. Противодействие пассивной отладке (запутывание дизассемблирования)
Поэтому знакомство с общими принципами отладки и противостояния ей на простых примерах (без ОС, 8-битный процессор, 48k оперативной памяти) может быть полезным.
1. Противодействие активной отладке
2. Противодействие пассивной отладке (запутывание дизассемблирования)
Поэтому знакомство с общими принципами отладки и противостояния ей на простых примерах (без ОС, 8-битный процессор, 48k оперативной памяти) может быть полезным.
0
А Billa Gilberta помните? Вот что меня тогда убило наповал — куча машинного кода, на первый взгляд не имеющего никакого смысла — просто мусор. А на до же, декодирует основной код загрузки программы :) Первый пример обфускации для меня был.
+3
Не в тему бейсика конечно, но напомнили. Кучу времени тогда убил, пока въехал что к чему :)
0
www.dtf.ru/forum/msg.php?id=157812
speccy.info/Bill_Gilbert
zxpress.ru/article.php?id=1204&skip=1
Фото спионерено из статьи на ZX-Press:
P.S. Мне кажется я где-то находил нормальное фото БГ, но сейчас уже не могу найти…
speccy.info/Bill_Gilbert
zxpress.ru/article.php?id=1204&skip=1
Фото спионерено из статьи на ZX-Press:
███▒ ░ ░█████████████████████████ ████:░: ░████████████████████████ ███░▒▓: ▓███████████████████████ ███::▒: :░░░▒▓░░ ░██████████████████████ ███: ▒▒███████▓▓▓░░░░: :██████████████████████ ██: :▒███████████████▒░░: :██████████████████████ ██░ :█████████████████▒▒▒░ :▒█████████████████████ ███: ░██████████████████░▒▒▒░░░: :██████████████████████ ███▒ ▒██████████████████▒▒▒:░▒▒: █▓▒▓░ ░▓▓░ ░▓░░▓█▓░░▓█ ████ ▒▒████▒▒▒███████▓: ░: ░: ███▓░ ▓ ░▓▓░░▓▓░░▓█▓░░▓█ █▒:: ▓███▒▒░ ▒███▓ ░::: : ███▓░ ░▓█▓░░▓▓░░▓█▓░░▓█ :░░ ▓██: ▒ :███▓ ░ ███▓░ ▓ ░▓▓░░▓▓░░▓█▓░░▓█ ░ ▓██▓▓█░░░▓██▓▒░ ▒ ░███▓░ ░▓▓░ ░▓░ ░▓░ ░ : ░▒░██████████████░:: ░:░: ░:░: █:▒▒█████████████████████ ░:░█:█:█████████████▓░:▒░▒▒▒▒▒▒░: :█ ░░█████████████████████ ░█████░███████████▓░:: :░▒▒░░: :▒▓░░▒█████████████████████ ▓████████████████▓░ :▒▒▒▒: :: :▒█████████████████████ ███████▒███████▒░:: ░: ░░█░▒▒█████████████████████ ███████▒ ████▓ ░ ░: ▒▒ ▒▒█████████████████████ ████████ :█████▓████▓ ░ █████████████████████ ███████▓ ███▒███▒▒ : ▒ : :█████████████████████ ████::: ██▓██████░▒: :░:░▒█████████████████████ ████ █▒░:▓█▓▓▒░░: :█████████████████████ █████▒: ▓█░:░: :▒█████████████████████(извините за негатив, используйте выделение текста)
P.S. Мне кажется я где-то находил нормальное фото БГ, но сейчас уже не могу найти…
0
0
Можно было игру вообще записать с телика, по телевизору показывали обзор игры, его можно было писать на аудиомагнитофон, потом проигрывать и играть. Так классно :) Бэтмэн помню покорил меня своей графикой!
0
Вспомнил интересный метод автозапуска ассемблерного кода — load code затирал стек, меняя точку возврата из бейсика в саму программу.
Антиотладочный приём номер один: хранить критические для работы программы данные с нижней строчке экрана с ink0paper0 на соотв. полосу.
Антиотладочный приём номер один: хранить критические для работы программы данные с нижней строчке экрана с ink0paper0 на соотв. полосу.
+1
RANDOMIZE USR 0
Ради прикола перезагружались используя эту комманду. Ну и набор комманд по одной целиком через шорткаты клавиатуры — это да… Жалко, что было мало литературы, и дальше рисования кружков дело не пошло… :( До ассемблера на Синклере так и не добрался.
Ради прикола перезагружались используя эту комманду. Ну и набор комманд по одной целиком через шорткаты клавиатуры — это да… Жалко, что было мало литературы, и дальше рисования кружков дело не пошло… :( До ассемблера на Синклере так и не добрался.
0
Эх, ностальгия… Прям взгрустнулось.
А еще, касательно пунктов 2 и 3. Можно было сделать несколько строк с одинаковым номером. Еще помнится, что курсор, попадая на такой номер строки, тоже «размножался».
А еще, касательно пунктов 2 и 3. Можно было сделать несколько строк с одинаковым номером. Еще помнится, что курсор, попадая на такой номер строки, тоже «размножался».
+1
аж прослезился… Вспомнил, как после прочтения статьи в ZX-ревю довелось ломать образчик Alcatraz'a.
а Codebusters'овские защиты игрушек — это же песня была…
а Codebusters'овские защиты игрушек — это же песня была…
0
Про последний прием не знал, randomize usr 0 всегда ставило меня в тупик.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Антиотладочные приёмы в Sinclair Basic