Просмотр полной версии : Вопрос по вильнюскому Бейсику
Steven Steel
06.09.2012, 01:23
А ни кто не знает, как из фала .COD вильнюского BASIC-а БК-0010-01 выковыривать текст программы?
Я перепробовал все доступные эмуляторы, но ни один не может корректно выполнить команду SAVE почему-то, в то время как CSAVE/CLOAD достаточно бодро выполняет.
Когда даешь команду:
SAVE "P"
выдает ошибку 19 - ошибка устройства ввода/вывода.
Только что попробовал в b2m, save"p" выдал диалог открытия файла и создал файл с текстом программы.
Steven Steel
06.09.2012, 02:54
Только что попробовал в b2m, save"p" выдал диалог открытия файла и создал файл с текстом программы.
Я пробовал этот вариант.
Файл то, создался (что, конечно, прогресс), но он к сожалению не текстовой ни разу.
И даже сам эмулятор не способен его обратно всосать.
---------- Post added at 02:54 ---------- Previous post was at 02:26 ----------
Эмулятор Алексея Савельева на троечку справился - есть ошибки и местами перепутаны строки, но разобрать можно...
Обратно всасывать текст не хочет...
Юзайте реальное железо, а не "резиновых баб".
Я пробовал этот вариант.
Файл то, создался (что, конечно, прогресс), но он к сожалению не текстовой ни разу.
Ну как же, совершенно текстовый. Просто переводы строк только \r без \n, но это ничего, FAR по F4 прекрасно его открывает, только в первой строке заголовок. Что такого.
И даже сам эмулятор не способен его обратно всосать.
Это да. Может быть, сам b2m скажет, в чем дело?
Steven Steel
06.09.2012, 06:15
Ну как же, совершенно текстовый. Просто переводы строк только \r без \n,
Ага... Спасибо. Действительно MSWord-ом, действительно, успешно распознается.
Может быть, сам b2m скажет, в чем дело?
В эмуляторе есть перехват процедуры загрузки блока. Он рассчитан на следующее: один файл - один блок. Грузит выбранный файл по нужному адресу. К сожалению, запись текста программы происходит в несколько блоков по 256 байт (это значит, что каждые 256 байт в тексте будет бинарный заголовок мешаться). Поэтому грузит только первый блок, а потом, после выбора файла второй раз, вылетает по ошибке.
Я попробовал отключить этот перехват, т.к. перехват загрузки одного байта тоже есть. Для этого в файле BK-0010_01.cfg нужно удалить строку:
iproc[9DA0-9DC8]=bk
После этого стало грузиться нормально. Однако теперь нужно иметь ввиду, что бинарные файлы без заголовка нужно обязательно командой L в мониторе грузить, а с заголовком - командой M. Перехват загрузки блока сам детектировал наличие заголовка.
Steven Steel
06.09.2012, 23:57
Юзайте реальное железо, а не "резиновых баб".
Хм...
Реальное железо (БК-0010-01) у меня то же есть, но для данной задачи (сына обучаю программировать) оно не очень удобно.
//SKcorp.
Юзайте реальное железо, а не "резиновых баб"//
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало в норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.
SuperMax
14.06.2021, 11:10
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало а норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.
- - - Добавлено - - -
//SKcorp.
Юзайте реальное железо, а не "резиновых баб"//
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало в норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.
Moderator hat on
самовольное модерирование будет награждаться.
также писать сообщения, которые не несут смысловой нагрузки тут не следует.
пока устное предупреждение
Moderator hat off
Подскажите пожалуйста, почему компилятор (https://github.com/nzeemin/vilnius-basic-compiler) «Бейсик Вильнюс» не опознаёт синтаксис исходника (BT.BAS (https://workupload.com/file/DCa2DDzmeLV))?
Может потому, что "Текущее состояние проекта: прототип"?
почему компилятор «Бейсик Вильнюс» не опознаёт синтаксис исходника (BT.BAS)
Потому что исходник не в формате Вильнюс бейсика. В вильнюсском бейсике не поддерживается несколько команд в одной строке, так что все строки вида "2410 IF S2 = 1 THEN S2 = 2 : GOTO 2430"
надо переписать в виде:
2410 IF S2 = 1 THEN S2 = 2 ELSE 2420 ' В вильнюсском бейсике GOTO после THEN/ELSE можно не писать
2411 GOTO 2430
Ну или как-то так. Запись последовательности команд через двоеточие не поддерживается.
А все переменные, как я заметил имеют тип с плавающей точкой двойной точности (64 бита). Полагаю, это для того, чтобы программа работала как можно медленнее.
А все переменные, как я заметил имеют тип с плавающей точкой двойной точности (64 бита). Полагаю, это для того, чтобы программа работала как можно медленнее.
Спасибо, теперь добавил к обозначению переменных знак %.
Потому что исходник не в формате Вильнюс бейсика.
Спасибо, вот переделал исходник и теперь компилируется в файл .MAC. Теперь попробую компилировать при помощи кросс-ассемблера для PDP-11 (https://github.com/purplesyringa/pdp11asm).
Basic Compiler — 83290
.BAS & .MAC — 83291
P. S. К сожалению, не компилируется...
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot