- Тема Бейсика на БК
-
? Voland@ - 05.03.2013 15:13
Периодически приходит воспоминание из 5-го класса, когда я еще не знал что такое БК, но как понял через несколько лет, именно на них (БК0011 без М) мы работали в том учебном году на информатике.
Я отчетливо запомнил, что там Бейсик выдавал не просто коды ошибок, а их расшифровку короткими фразами "Syntax error..", "Next без for в строке..." - ну примерно так, может только все на латинском.
И еще запомнилось, что курсор там перемещался стрелками не только вправо-влево, как во всех ПЗУ-бейсиках БК, но и вверх-вниз.
Что это был за бейсик, какой-то дисковый вариант? Он шел только под БК0011 (без М) ?
-
? pilgrim - 05.03.2013 15:17
Очень похоже было когда мы работали в школе на УКНЦ. "Бейсик" грузили с дискетки через сетку.
-
? tim - 05.03.2013 17:42
Это Бейсик от 11-й без М, совершенно правильно. Это стандартный заводской Бейсик. Вот еще его сообщения из дампа:
¤
ОшибкаNEXT без FORСинтаксическая ошибкаRETURN без GOSUBКончились DATAНеправильный вызов функцииПереполнениеНет больше памятиНеопределенный номер строкиНесоответствие индексаПовторное определение массиваДеление на нольНевозможно выполнитьОшибка типовКончилась память строкСлишком длинная строкаСлишком сложное выражениеПродолжение невозможноНеопределенная функцияОшибка ввода/выводаОтсутствует операндПереполнение буфера вводаНедопустимое обращение к файлуФайл не найденФайл уже открытКонец файлаНеправильное имя файлаСтрока без номераФайл не открыт
-
? Voland@ - 06.03.2013 12:55
Почему же его забраковали вместе с БК0011 (без М)? Или он был чем-то принципиально хуже того бейсика, который зашили в БК0011М?
Насколько проблематично адаптировать Бейсик от БК0011 на БК0011М ?
-
? MM@ - 06.03.2013 13:02
Самое простое - переключать ПЗУ 324, 325 и 201, 202. А насчет переписывания кода - здесь, на форуме, вполне компетентные программеры
встречаются - могут высказаться по существу.
Кстати, оба варианта Бейсика из ПЗУ переделывал в загружаемый вариант, причем под RT-11 - в 1993 г. Тема была сдана заказчику.
-
? gid@ - 06.03.2013 14:18
>>? Voland @ - сегодня 12:55
[Почему же его забраковали вместе с БК0011 (без М)]
Где-то читал, не помню где, что бейсик БК0011 (без М) якобы был не совсем совместим с бейском БК10, якобы в бейсике БК0011 (без М) использовалась плавающая арифметика более высокой точности, соответственно внутреннее представление плавающих чисел было разное. Поэтому, как я предполагаю, бейсиковские проги в .COD формате от БК10 либо висли внезапно, либо безбожно глючили.
По идее бейсиковские проги в .ASC формате, который в отличие от .COD просто текст, без всяких бинарных вставок, должны были работать как родные, потому что тексту всё равно, как бейсик заинтепретирует плавающее число в свой внутренний формат, но формат .ASC уж больно непопулярен.
А ещё может быть в бейсике БК0011 (без М) были ещё какие-нибудь нюансы, в виде отличающегося синтаксиса команд.
[Насколько проблематично адаптировать Бейсик от БК0011 на БК0011М ?]
В общем-то все бейсики плотнейшим образом завязаны на мониторы соответствующих БКшек, на которых работают, поэтому запустить Бейсик от БК0011 на БК0011М без монитора БК0011 может и можно будет, но придётся его сильно и много перелопачивать (кроме кардинально различающихся системных вызовов EMT широко практикуется вызов разных подпрограмм из мониторов, никак и нигде не описанных, считается что они для внутреннего использования и простым людям знать о них не обязательно). Проще найти его исходники и перекомпилировать.Я вот интереса ради попробовал дизассемблировать МСТД от БК11М, и там такое кошмарище получается, что наверно не буду продолжать. Может исходный текст на MACRO11 выглядел строго, понятно и лаконично, но то, во что он превратился после компиляции, когда все макросы развернулись в код - это жуткая, малопонятная каша из однообразных повторяющихся кусков. Код бейсика наверняка такой же, ковыряться в нём - сплошной мазохизм.
-
? MM@ - 06.03.2013 14:31
Автор 330 еще жив и иногда бывает тут на форуме - живет в соседнем доме.
По традиции, после МАКРО его напильником - ДЕСС обрабытывали.
*
Кстати, в родном МСТД от БК11 без М тест быстродействия переписывается в ОЗУ или в ПЗУ делается ?
-
? gid@ - 06.03.2013 15:21
Не заметил, чтобы что-то в ОЗУ переписывалось. Зато заметил, что в эмуляторе у БК11 не включается прерывание по вектору 100. Вроде бы, судя по описаниям, что у БК11, что у БК11М, за это отвечает один и тот же бит 14 в 177662, Но почему-то не срабатывает. Тест быстродействия включается только после разрешения прерывания по вектору 100 вручную и показывает ЧИСЛО ПРОСТЫХ ОПЕРАЦИЙ = 00251904 В СЕКУНДУ.
-
? Patron - 06.03.2013 15:30
Есть исходники двух версий вильнюсского Бейсика для БК-0010 и БК-0011: ( http://emulator.pdp-11.org.ru/misc/BASIC-VVU_BK0010-BK0011.zip )
-
? foot - 06.03.2013 21:57
>>? Voland @ - 5 марта 15:13>>
>>? pilgrim - 5 марта 15:17>>
Бейсики БК и УКНЦ сильно отличались по способу редактирования текста.
На УКНЦ можно было вывести текст командой ЛИСТ и редактировать строки в любом месте.
На БК такой фокус не пройдёт. Строки надо вызывать и редактировать по очереди.
- << Форум