откуда растут уши у советских бейсиков

Советские программируемые калькуляторы, микрокомпьютеры и большие ЭВМ, не попавшие в другие разделы

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

А вот если мне память не изменяет, попадался мне (и я его даже скачал,
и давал где-то тут ссылку) компилятор программы на GwBasic в .EXE-файл,
написанный на самом GwBasic! :roll:

Правда в тот момент он меня больше заинтересовал, как экзотика, которую
надо бы скачать и сохранить... :lol:

И даже вспомнил, где он мне попадался! :o
Написан немцами и всё на немецком, что меня тогда побаловаться и тормознуло... :(
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:на бейсик для альтаира (самый первый микрософтокский) он тоже сильно похож:
...
Нам по возрасту не суждено ностальгировать по Альтаиру (нас там рядом не стояло),
но если кому спортивно интересен этот самый Altair 8800, то вот его консольный эмулятор под Вендой.

А вот, собственно и знаменитый Интерпретатор бейсика для Altair 8800.
Толку в нём, наверное, никакого, но как знаменитый прадедушка - в коллекцию... :wink:
Интерпретатор бейсика, с которого и пошла вся история майкрософт... 1975 год.
Запустить можно на любом эмуляторе Альтаира 8800. Второй файлик как раз и
является вспомогательным файлом, необходимым для запуска бейсика на этом
эмуляторе.
Источник

И выглядит всё это в работе - вот так:

Image

А команд было негусто у Билла... :(

Code: Select all

EN-FO-NEX+DAT-INPU+DI-REA-LE+GOT-RU+I¦RESTOR+GOSU-RETUR+RE-STO-PRIN+LIS+
CLEA-NE+TABиT-THE+STE-лнкп+++SG+IN+AB+US-SQ-RN-SI+
Вот что такое "лнкп+" - нифига не соображу! :lol:
iLavr
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

Lavr wrote:Вот что такое "лнкп+" - нифига не соображу! :lol:
Это +-*/ :)
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:какой смысл тащить код подпрограмм в stand-alone файл, когда эти подпрограммы всегда доступны по известным адресам?
А смысл такой, что эти подпрограммы не самые оптимальные. И в ряде компиллеров их всё-таки
заменяют...
(Посмотри - есть страница со сравнительным анализом компиллеров для "Спецтрума".)

Другое дело, что у "Спецтрума" в силу архитектуры не очень разгонишься с компиллером.
ПЗУ в нижних адресах - действительно всегда на своём месте и "мешает".
В "Cпециалисте" c этим должно получаться проще - все "нижние" адреса свободны и подменить
интерпретатор компиллером по тем-же адресам не трогая программы - проблем нет...
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

согласен, однако телА шли по пути наименьшего сопротивления и использовали готовую математику, не вдаваясь в подробности.
один момент - я не помню разделения на целочисленные переменные и с мантиссой. вот на БК-0010 было такое, ускоряло заметно.
что до специалиста, то с прошитым бейсиком это какбы те же яйца, но сбоку. вся суть этих компиляторов заменить построчую интерпретацию кода кучей вызовов подпрограмм. для большего памяти не хватит. в особо удачных случаях обрабатывать целочисленные переменные.

на спектруме были цЭ и паскакАль
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:что до специалиста, то с прошитым бейсиком это какбы те же яйца, но сбоку.
Ну во-первых, у "Специалиста" в оригинале прошитого Васика не было.
Тот, который в "Специалисте-Экспрессе" запускали из ПЗУ расположен
выше экранной области и никак не влиял на размер доступного ОЗУ пользователя.

Во-вторых, возможно, это у тебя яйца сбоку, а самый дерьмовый компиллер
повышает скорость выполнения программы по меньшей мере в 2 раза.
И меряться яйцам с интерпретатором по меньшей мере не корректно.

И в третьих возможности компиллера от него и зависят. Есть варианты - лишь дублируют
соответствующие команды интерпретатора.
А есть варианты, которые и оптимизацию предлагают и дополнительный сервис.

Впрочем - Гуголь тебе в руки на фразу "ZX Spectrum compiler". Столько интересного
узнаешь! :kruto:
MC68k wrote:на спектруме были цЭ и паскакАль
Но Basic-compiler-ов для "Спецтрума" куда как поболее... :wink:
Это вот у "Ориона-128" Паскаль, да и то СР/М-овский...
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Lavr wrote:
MC68k wrote:что до специалиста, то с прошитым бейсиком это какбы те же яйца, но сбоку.
Ну во-первых, у "Специалиста" в оригинале прошитого Васика не было.
Тот, который в "Специалисте-Экспрессе" запускали из ПЗУ расположен
выше экранной области и никак не влиял на размер доступного ОЗУ пользователя.
а в спектруме ниже экрана и тоже не влияет на доступное ОЗУ :)
Во-вторых, возможно, это у тебя яйца сбоку, а самый дерьмовый компиллер
повышает скорость выполнения программы по меньшей мере в 2 раза.
И меряться яйцам с интерпретатором по меньшей мере не корректно.
спасибо, капитан.
И в третьих возможности компиллера от него и зависят. Есть варианты - лишь дублируют
соответствующие команды интерпретатора.
А есть варианты, которые и оптимизацию предлагают и дополнительный сервис.
для последних и памяти надо поболее, не так ли?
Впрочем - Гуголь тебе в руки на фразу "ZX Spectrum compiler". Столько интересного
узнаешь! :kruto:
A TO!
MC68k wrote:на спектруме были цЭ и паскакАль
Но Basic-compiler-ов для "Спецтрума" куда как поболее... :wink:
Это вот у "Ориона-128" Паскаль, да и то СР/М-овский...
ничего удивительного.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:
Lavr wrote:
MC68k wrote:что до специалиста, то с прошитым бейсиком это какбы те же яйца, но сбоку.
Ну во-первых, у "Специалиста" в оригинале прошитого Васика не было.
Тот, который в "Специалисте-Экспрессе" запускали из ПЗУ расположен
выше экранной области и никак не влиял на размер доступного ОЗУ пользователя.
а в спектруме ниже экрана и тоже не влияет на доступное ОЗУ :)
Ну вот поэтому в спектруме и приходится держать в памяти одновременно ПЗУ-Васик, компиллер,
программу и скомпилированный код.
А в "Специалисте" такой нужды нет. Поэтому вместо интерпретатора можно загрузить компилятор.
И сгенерировать реальный стэнд-элоун код, с вызовами только функций БИОС, которому
оба Васюка нафиг не нужны.
iLavr
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

То-то у нас на кружке была куча игр на Спец, которые были большими (критерий - долго грузились), причем мой натренированный слух улавливал похожесть звучания начала. Потом стало интересно и я выяснил - они тянули с собой бейсик, лол. И исправление стартового джампа на оригинальный запускало бейсик. ;)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

У меня таких "игр" парочка тоже была. Одна игра - "Шахматы", другая - "Графический редактор".

По этому поводу мне было интересно вот что: поскольку Васюки я декомпилировал,
то знаю, что по старту Васюк должен инициализировать свои всякие системные
переменные, определиться с верхом памяти и т.д.
Получалось, что если Васюк стартует с игрой - то вроде как он этого и не делает... :-?

Потом догадался, что это не так... Похоже, что в нормально стартанувший
Васюк загружали игру, выходили из Васюка, патчили адрес перехода и сливали
весь этот "бутерброд" с игрой на ленту.
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

stand-alone такой stand-alone :lol:
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:stand-alone такой stand-alone :lol:
"Слоу ви такой Слоу" :-?
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

внезапно сотни бейсика ну и если поскроллить туда-сюда еще много чего интересного :)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Да его тысячи по интернету, если поискать хорошо...

Весь вопрос упирается в то - под какую ОСь Васюк и что он могёт...

А иначе как-то смысла нет реверсить оригинал. :(

Странно, но для отечественных компов на 580ВМ80 никто Васюка-компиллера
не перенёс.
Либо Паскуаль и Цэ перевесили популярностью, либо не нашелся достойный
оригинал для адаптции.

Либо я чего-то не знаю...
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Lavr wrote:Попробовал вот этот freeware Zilog Z80 Processor Code Disassembler

Инструкция, характерная для Z80, - всего одна, поэтому декомпильнул в мнемониках i8080
и одну инструкцию исправил...
[/i]
наверное поэтому. кажется у соседей в ветке про корвет было о трудностях портирования MSX софта