Пётр прислал мне больше инфы про то откуда он взял хак с запуском машинных кодов через INPUT:
В машинные коды удалось выбраться через дырку в операторе INPUT (это и есть моё открытие, всё остальное - работа Саши) и крайне благоприятному стечению обстоятельств - через эту дырку можно было то ли в стек возвратов прописать, то ли ещё куда и машкод можно было запустить с адреса, где лежит одна из пользовательских программ. Дальше - дело техники. Пишем такую программу на Бейсике, которая не будучи программой на Бейсике при этом была программой в машкодах. Трудность - в переводах строки, номерах строк и символах, которые ввести вручную нельзя. В общем, был написан ~170-байтный "отладчик", который после его запуска уже позволял читать/писать произвольные адреса в шестнадцатеричном виде (родной восмеричный не был использован для краткости. Вместо "A"-"F" использовались символы ":;<=>?" - т.е. идущие сразу за "9", т.к. добавлять к коду семёрку в отладчике тоже напряжно было.) Ну а уже из отладчика можно было вводить и запускать любые программы
Shaos wrote:Не спросил, но мне тот синтаксис не понравился, например шестнадцатиричные числа там представлены так: ^X0216
Символ ^ (стрелка вверх, но не CONTROL), за которым следует буква, задает основание для последующего числа (или выражения, заключенного в угловые скобки). Можно использовать буквы B (binary — двоичное основание), O (octal — восьмеричное) или D (decimal — десятичное).
Так же можно пользоваться установкой формата по умолчанию .RADIX
Выбор основания системы счисления. В макрокомандах, которые предполагается использовать в различных программах, необходимо заботиться о том, чтобы ничто в программе не могло помешать выполнению их функций. Системные макрокоманды защищены от директивы ассемблера .RADIX, параметром которой служит одно из десятичных чисел 2, 4, 8, 10 и которая приводит к тому, что встречающиеся во всех последующих командах числа ассемблер рассматривает как заданные в системе счисления с установленным основанием.
Shaos wrote:экраны ... которых уже издохли от времени)
Задумался - почему... по идее - там дохнуть-то особо нечему...
Разве что сам материал ЖК со временем деградирует.
Там похоже что-то с контактом - если пошевелить корпус, то оно начинает проглядывать - иногда правда в виде палок, но если гнуть туда-сюда, то в конце-концов чего-то становится видно, а вот японцы работают железобетонно - ничего гнуть ненадо
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shaos wrote:Там похоже что-то с контактом - если пошевелить корпус, то оно начинает проглядывать...
Понял - контактная "резинка" скорее всего подсохла...
У меня с SHARP-ом такая фигня началась, после того, как разобрал до ЖК...
Когда разбирал, шлейф ЖК был к резинке как прилипший, а сейчас, видимо
контакта местами нет - тоже "шевелить" приходится...
PDPXASM.EXE is a self-extracting install program containing Strobe Data Inc.'s
PDP-11 cross-assembler, cross-linker, and cross-disassembler which all run
under DOS. Thanks to Jim Cook for making them available.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Пьётр поправил вновь добавленную функцию ITOA (под последним номером #FF - это вместо БК-шных BIN$, OCT$ и HEX$, которых в МК-85 просто небыло), требующую 2 аргумента в скобках - число и ричность (от 2 до 36), а я зарелизил фирмварю версии 28 beta: