PDA

Просмотр полной версии : Вопрос по вильнюскому Бейсику



Steven Steel
06.09.2012, 01:23
А ни кто не знает, как из фала .COD вильнюского BASIC-а БК-0010-01 выковыривать текст программы?
Я перепробовал все доступные эмуляторы, но ни один не может корректно выполнить команду SAVE почему-то, в то время как CSAVE/CLOAD достаточно бодро выполняет.
Когда даешь команду:

SAVE "P"
выдает ошибку 19 - ошибка устройства ввода/вывода.

svofski
06.09.2012, 01:40
Только что попробовал в b2m, save"p" выдал диалог открытия файла и создал файл с текстом программы.

Steven Steel
06.09.2012, 02:54
Только что попробовал в b2m, save"p" выдал диалог открытия файла и создал файл с текстом программы.

Я пробовал этот вариант.
Файл то, создался (что, конечно, прогресс), но он к сожалению не текстовой ни разу.
И даже сам эмулятор не способен его обратно всосать.

---------- Post added at 02:54 ---------- Previous post was at 02:26 ----------

Эмулятор Алексея Савельева на троечку справился - есть ошибки и местами перепутаны строки, но разобрать можно...
Обратно всасывать текст не хочет...

SKcorp.
06.09.2012, 03:00
Юзайте реальное железо, а не "резиновых баб".

svofski
06.09.2012, 03:12
Я пробовал этот вариант.
Файл то, создался (что, конечно, прогресс), но он к сожалению не текстовой ни разу.
Ну как же, совершенно текстовый. Просто переводы строк только \r без \n, но это ничего, FAR по F4 прекрасно его открывает, только в первой строке заголовок. Что такого.


И даже сам эмулятор не способен его обратно всосать.
Это да. Может быть, сам b2m скажет, в чем дело?

Steven Steel
06.09.2012, 06:15
Ну как же, совершенно текстовый. Просто переводы строк только \r без \n,

Ага... Спасибо. Действительно MSWord-ом, действительно, успешно распознается.

b2m
06.09.2012, 16:20
Может быть, сам b2m скажет, в чем дело?
В эмуляторе есть перехват процедуры загрузки блока. Он рассчитан на следующее: один файл - один блок. Грузит выбранный файл по нужному адресу. К сожалению, запись текста программы происходит в несколько блоков по 256 байт (это значит, что каждые 256 байт в тексте будет бинарный заголовок мешаться). Поэтому грузит только первый блок, а потом, после выбора файла второй раз, вылетает по ошибке.

Я попробовал отключить этот перехват, т.к. перехват загрузки одного байта тоже есть. Для этого в файле BK-0010_01.cfg нужно удалить строку:

iproc[9DA0-9DC8]=bk
После этого стало грузиться нормально. Однако теперь нужно иметь ввиду, что бинарные файлы без заголовка нужно обязательно командой L в мониторе грузить, а с заголовком - командой M. Перехват загрузки блока сам детектировал наличие заголовка.

Steven Steel
06.09.2012, 23:57
Юзайте реальное железо, а не "резиновых баб".

Хм...
Реальное железо (БК-0010-01) у меня то же есть, но для данной задачи (сына обучаю программировать) оно не очень удобно.

vivat
14.06.2021, 11:08
//SKcorp.
Юзайте реальное железо, а не "резиновых баб"//
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало в норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.

SuperMax
14.06.2021, 11:10
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало а норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.

- - - Добавлено - - -

//SKcorp.
Юзайте реальное железо, а не "резиновых баб"//
завязывать со снобизмом надо - не у всех есть возможность поиметь реальное железо - места мало в норе, например. снобизм порой чем-то коричневым так едва уловимо попахивает - попыткой делить людей на унтерменшей и высших людей.

Moderator hat on

самовольное модерирование будет награждаться.
также писать сообщения, которые не несут смысловой нагрузки тут не следует.

пока устное предупреждение

Moderator hat off

yevrowl
28.11.2025, 19:45
Подскажите пожалуйста, почему компилятор (https://github.com/nzeemin/vilnius-basic-compiler) «Бейсик Вильнюс» не опознаёт синтаксис исходника (BT.BAS (https://workupload.com/file/DCa2DDzmeLV))?

b2m
28.11.2025, 20:12
Может потому, что "Текущее состояние проекта: прототип"?

gid
29.11.2025, 10:25
почему компилятор «Бейсик Вильнюс» не опознаёт синтаксис исходника (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 бита). Полагаю, это для того, чтобы программа работала как можно медленнее.

yevrowl
06.12.2025, 16:32
А все переменные, как я заметил имеют тип с плавающей точкой двойной точности (64 бита). Полагаю, это для того, чтобы программа работала как можно медленнее.
Спасибо, теперь добавил к обозначению переменных знак %.


Потому что исходник не в формате Вильнюс бейсика.
Спасибо, вот переделал исходник и теперь компилируется в файл .MAC. Теперь попробую компилировать при помощи кросс-ассемблера для PDP-11 (https://github.com/purplesyringa/pdp11asm).

Basic Compiler — 83290

.BAS & .MAC — 83291

P. S. К сожалению, не компилируется...