Есть ли способ программе определить на z80 она выполняется или на его эмуляторе?
Есть ли способ программе определить на z80 она выполняется или на его эмуляторе?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
можно определить по некоторым неточностям\ошибкам эмуляции
но никто не гарантирует что защита от эмулятора потом не сработает на каком нибудь железном кривом клоне с железным кривым клоном z80
а эмуляторы потом вскоре пофиксят
и будет несколько обидно
в придачу в процессе определения что мы на эмуляторе
можно повесить как кривой эмулятор так и кривое железо...
Последний раз редактировалось NEO SPECTRUMAN; 12.01.2021 в 04:29.
andrews (12.01.2021), Barmaley_m (31.01.2021)
можно ловить на хитрых командах, но результаты различаются на реальных NMOS/CMOS
применительно к спеку можно устроить порчу ячеек памяти манипулируя с R (эмули на такое не способны)
andrews (12.01.2021)
А если дополнительно установить на плату чип, который невозможно сэмулировать? Есть идея майнить на спектрумах специальную криптовалюту, чтобы ее невозможно было майнить на эмулях. Иначе на мощных компах процесс пойдет в сотни раз быстрее и она обесценится. Ее же ( эту крипту) использовать в целях расчета между спектрумистами. Заодно будет и дополнительный стимул железом с z80 обзаводиться.
GMX для Scorpion'а можно приобрести здесь
ZX-BUS XTRaiser v2.1 (активный расширитель ZX-BUS здорового человека на 3 слота) можно приобрести здесь
SMUC 2.1 rev. C Black & White edition (v.2022) можно приобрести здесь
Scorpion ZS-256 Turbo, GMX 2048Kb, ZX-BUS XTRaiser v2.0, SMUC v2.0 rev. A, SDCard 32Gb, GS 2Mb,
ZXMC 2v28, TSFM, FDD 5'25 Teac x2, FDD 3'5 Sony, VGA&PALv2.09, PC Keyboard & Mouse
как вариант - посмотреть как это делают для FUZIX:
https://github.com/EtchedPixels/FUZI...util/cpuinfo.c
если честно, разбираться самому - лень (ввиду сомнительной полезности данных знаний), но чототам следующее из LD A,R и подобного
- - - Добавлено - - -
Ахах, там по тексту "вот тут должны быть пустые строки и процедура строго раньше вызова because of bug in {лучшем компиляторе} SDCC" ))
Последний раз редактировалось Error404; 12.01.2021 в 13:37.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Есть, и достаточно нехитрый способ. Причём тип процессора вообще не важен (речь про детект работы ПО под эмулятором, а не на реале). Но свою "находку" пока не могу рассказать В своём ПО активно использую, достоверность 146% !
- - - Добавлено - - -
Найти и обезвредить причинный участок кода никакая не проблема.
- - - Добавлено - - -
Всё равно финал всех заморочек будет в виде: "if <чего-то там> then <туда-то> else <досвидос>"
В отладчике эмулятора это ловится на раз-два, вместо "if" записывается "goto" и gotoво дело
Последний раз редактировалось Denn; 12.01.2021 в 14:36.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
программно это можно запутать - компиляция/байткод - вычислить будет очень сложно.
..................
Denn, вот простой пример - адвентюра для +3 http://www.tzxvault.org/Spectrum/Disks/Myth.zip
попробуй обойти запрос на рег.данные
Последний раз редактировалось goodboy; 12.01.2021 в 14:54.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)