Думал об этом варианте, но речь о бейсиках 2.5+ в которых
1. Для PEEK (и POKE) недоступны часть адресов
2. Для части адресов используется трансляция/переадресация
Т.е. нельзя расположить в коде бейсика 2 байта и прочитать их с использованием PEEK.
Я не придумал, где можно расположить байты с версией в читабельной области так, чтобы в 2.5 это были всегда одни байты, а в 2.998 всегда (как вариант) 29h и 98h и это ничего бы не портило.
Дополнительно не хотелось бы замедлять PEEK введением проверок, но на это я в крайнем случае готов.
Компромисс - можно читать байты с версией из кода бейсика с использованием подпрограммы в машинных кодах, это реалистично, но возможно не всех устроит.
Есть вариант, который требует от самого бейсика 0 байт - определение по косвенным признакам. Конкретную версию в общем случае так вряд ли получится узнать, но примерную группу (2.5 или 2.8 или 2.9) можно.




Ответить с цитированием