• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение В ESP32 обнаружен BASIC интерпретатор

Victor

Administrator
Команда форума
Полный текст новости опубликован на Hackaday

Для тех, кто не любит читать на английском - кратко:

Пытливые исследователи ESP32 обнаружили "пасхальное яйцо".
Если на ESP32 притянуть GPIO12 к питанию и перезапустить модуль - модуль уходит в бесконечный boot loop, затем в терминале отправить <CR> (перевод строки) между перезагрузками, то модуль перестает перезагружаться и выдает приглашение BASIC интерпретатора.
 

pvvx

Активный участник сообщества
Полный текст новости опубликован на Hackaday

Для тех, кто не любит читать на английском - кратко:

Пытливые исследователи ESP32 обнаружили "пасхальное яйцо".
Если на ESP32 притянуть GPIO12 к питанию и перезапустить модуль - модуль уходит в бесконечный boot loop, затем в терминале отправить <CR> (перевод строки) между перезагрузками, то модуль перестает перезагружаться и выдает приглашение BASIC интерпретатора.
Напоминает ZX Spectrum — Википедия :) но код наверно длиннее, а команд меньше...
Sinclair BASIC — Википедия : В версии для компьютера ZX Spectrum существует 86 операторов Sinclair BASIC, включая команды (50), функции (31), и другие ключевые слова(5):
 

Сергей_Ф

Moderator
Команда форума
Удивительно, что на еэспишки еще никто эмулятор Спектрума не сделал. По ресурсам, вроде должно хватить. Неплохая игровая консоль получилась бы. А уж игр в сети тыщи три наберется.
 

pvvx

Активный участник сообщества
Удивительно, что на еэспишки еще никто эмулятор Спектрума не сделал. По ресурсам, вроде должно хватить. Неплохая игровая консоль получилась бы. А уж игр в сети тыщи три наберется.
Энти Спектрумы ещё при начале надоели, пока несколько ошибок не исправил в разных платах, толко тогда они пошли валом... последние изменения и дополнения так и не ввели в платах, из-за этого приходилось вырезать "фирменную защиту проверяющую подделку" на играх... тысчи полторы вырезал и на рынок, про них вы и говорите... ;) Ни один из эмуляторов это не поддерживает. Там идут только вскрытые варианты игр. Об этом большинство до сих пор не знает... На ютубе так и распинаются - типа вторая часть игры не грузится и т.д. :)
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
@pvvx снимаю шляпу. Спасибо, Вам. Я на Спектруме (самодельном, естественно) только играл и программировал в Бейсики с небольшими вставками на Асм.
 

pvvx

Активный участник сообщества
@pvvx снимаю шляпу. Спасибо, Вам. Я на Спектруме (самодельном, естественно) только играл и программировал в Бейсики с небольшими вставками на Асм.
А я не буду говорить про все "народные темы", где довелось участвовать... а то сожрут... живьем.
 

Atom

Member
Энти Спектрумы ещё при начале надоели, пока несколько ошибок не исправил в разных платах, толко тогда они пошли валом... последние изменения и дополнения так и не ввели в платах, из-за этого приходилось вырезать "фирменную защиту проверяющую подделку" на играх... тысчи полторы вырезал и на рынок, про них вы и говорите... ;) Ни один из эмуляторов это не поддерживает. Там идут только вскрытые варианты игр. Об этом большинство до сих пор не знает... На ютубе так и распинаются - типа вторая часть игры не грузится и т.д. :)

Что то верится с трудом. Если можно, то пруф пожалуйста напишите. Сам ковырял в молодости загрузчики программ. Не встречал ни одной игры, которую не возможно было вскрыть. Сокурсники выскрывали даже на этапе загрузки: когда грузится первый блок "фирменного загрузчика" разработчиков, в котором и были всяческие проверки, настройки и прочие махинации.
 

Сергей_Ф

Moderator
Команда форума
@Atom на этапе загрузки было только изменение скорости загрузчика. Это не защита, имхо.
 

Atom

Member
@Atom на этапе загрузки было только изменение скорости загрузчика. Это не защита, имхо.
там много чего было. Например изменение бордюра при загрузке. В некоторых играх он не полосатый был, а однотипный фон менял яркость. Вспоминаю кусок одного загрузчика, там действительно когда то была видимо защита. Там после начала загрузки основного кода проверялся определенный байт. Видимо разработчики сделали какую то уловку с записью на кассете, что при перезаписи с касетника на касетник, уровень этого сигнала не мог переписаться правильно.
Но этот кусок уже был взломан до нас: в месте условного перехода стояли нопы.
 

idxi

New member
Припоминаю, действительно были "красивые загрузчики" с кассет, там еще картинка с #4000 в виде мозайки "пятнашек" грузилась - эффектное зрелище было) ну и как защита ессесно применялась от копирований (скорости в бодах были выше после стандартного загрузчика).. чтобы закопирить с мафона на мафон такую гейму - нужно было иметь качественную ленту и мафон) ех.. времена :/ современной молодежке непонять..
 

pvvx

Активный участник сообщества
@Atom на этапе загрузки было только изменение скорости загрузчика. Это не защита, имхо.
Стояла проверка - при прерывании Z80 выводит код на шину и при разном коде читаются разные данные из программируемой матрицы в оф. версии - т.е. не составляло труда определить клон и защита часто использовалась при второстепенных подгрузках уровней. Так-же и с чтением пустой шины - это обращение в некоторых вариантах использовалось для задания начальной последовательности random и на играх в клонах последовательность random всегда была одинакова - итог = одна и то-же последовательность в игре... Вроде ещё что-то было в порту джойстика. На большинстве клонов небыли подключены все биты... Итогом стало распространение в основном примитивных игр, а многие интересные игры содержащие защиты толпой были выкинуты, как нерабочие...
Переход на TR-DOS (дискеты) тоже требовал адаптации многих игр. В итоге всякие начальные картинки и прочее было из них удалено...
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
Ну я, 99% только взломанные игры только и видел. Ничего подобного, там уже не было. Тем более, плата у меня была самая простая - Ленинград. Там точно, никакой защиты не было :)
Но после РК-86 и это был прорыв.
 

Юрий Ботов

Moderator
Команда форума
Первым делом когда получил демо-боард попробовал запустить встроенный basic :)

>about
ESP32 ROM Basic (c) 2016 Espressif Shanghai
Derived from TinyBasic Plus by Mike Field and Scott Lawrence
>
>mem
32543 bytes free.
>
>help
A very Basic ROM console. Available commands/functions:
LIST
NEW
RUN
NEXT
LET
IF
GOTO
GOSUB
RETURN
REM
FOR
INPUT
PRINT
PHEX
POKE
STOP
BYE
MEM
?
'
DELAY
END
RSEED
HELP
ABOUT
IOSET
IODIR
PEEK
ABS
RND
IOGET
USR
>
 

Юрий Ботов

Moderator
Команда форума
Ну ... не единственное. Он работает - я попробовал. Просто нафига он нужен? :)
 

dadigor

New member
Не могу повторить опыт - далеко от дома... А в каком пространстве работают Peek и Poke?
 

Юрий Ботов

Moderator
Команда форума
Во всем описанном в ESP32 Technical Reference Manual V1.5 Table 1. Address Mapping за исключением того что указано там ка Reserved. C резервированным ведет себя по разному - иногда выдает пустую строку иногда вопрос what?
Код:
>phex peek(&HFF)
What?
>
>phex peek(&H3FF4403C)
DEAB
>
>phex peek(&H3f400000)
FFFFFFFF
>
>phex peek(&H3f800000)
BAD00BAD
>
>phex peek(&H3ff80000)
A88EDB7D
>
>phex peek(&H40000000)
1049C500
>
>phex peek(&H400C0000)
A88EDB7D
>
>phex peek(&H40c00000)
E501C500
>
>phex peek(&H50000000)
BE12695C
>
>phex peek(&H50002000)

>
 
Сверху Снизу