PC-01 Lviv

It is currently 28 Mar 2024, 23:20

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 22 posts ]  Go to page Previous 1 2
Author Message
PostPosted: 23 Nov 2012, 18:35 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
liberation, спасибо за раскапывание интересной информации. Так понимаю, что это эксклюзивные сведения, которые нигде не публиковались, круто.


Top
   
PostPosted: 23 Nov 2012, 18:45 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
liberation, спасибо за раскапывание интересной информации.
Перед окончанием трудового дня приведу еще одну ссылку. Оказывается, для MDS-800 Intel выпустила собственную версию Бейсика под названием Basic-80, о чем известила всех заинтересованных лиц со страниц газеты(?) "Computerworld" в феврале 1979 года [первоисточник].

Про альтаировскую версию для MDS-800 пока ничего не нашел. Но вряд ли там будут откровения. MDS-800 вполне справлялся с CP/M-80.

Все, я устал. Больше на сегодня никаких раскопок. Добровольно передаю инициативу... всем желающим! :D

p.s.
Кстати, если я все верно понял, то интелловский Бейсик стоил всего $750 (вместе с мануалом). А если принять во внимание, что ПК-01 "Львов" продавался по цене 750 рублей, то намечаются очень интересные параллели... :wink: :D :D :D

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 23 Nov 2012, 19:09 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
Похоже это был вариант 8k BASICа-80. Интересно, какая это была версия, 4.51 или 5.00 (альтаировский 8k к слову был 4.00). К сожалению в сети не нашел варианта руководства BASIC-80 с включенным
Appendix G BASIC-80 with the Intel SBC and MDS Systems
(почему-то включены только приложения C и D) хотя вряд ли там было что-то особо интересное.
Quote:
интелловский Бейсик
Ну все же разработал этот бейсик майкрософт, это ведь примерно как PC DOS и IBM.


Top
   
PostPosted: 25 Nov 2012, 01:00 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Похоже это был вариант 8k BASICа-80. Интересно, какая это была версия, 4.51 или 5.00 (альтаировский 8k к слову был 4.00). К сожалению в сети не нашел варианта руководства BASIC-80 с включенным
Appendix G BASIC-80 with the Intel SBC and MDS Systems
(почему-то включены только приложения C и D) хотя вряд ли там было что-то особо интересное.
Я попробовал чуть-чуть разобраться в родословной Бейсиков, но это оказалось слишком для меня, уж чересчур много версий. Пока я обратил внимание на такой момент в статье на Вики:
Quote:
The extended 8 KB version was then generalized into BASIC-80 (8080/85, Z80)...
Но советские Бейсики, как мы уже отмечали, не умеют без патчинга работать под Z80. Получается, что прародителем была более ранняя версия? Хм...

Читаю дальше... Так, оказывается, что был еще так называемый MBASIC, согласно Вики, "... is the Microsoft BASIC implementation of BASIC for the CP/M operating system". Чудесно. Хотя не совсем. Как следует из дальнейшей статьи, он превосходит по возможностям наши разработки. Получается, что этот диалект отпадает.

Словом, все это слишком запутано. Но кое-что полезное мне все-таки удалось обнаружить!
Оле-оп - полный вариант Basic-80 Reference Manual. Вроде бы все приложения на месте.

UPD.
Я ошибся. Приложений не хватает.

2UPD.
Все-таки нашел полный вариант мануала!

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 25 Nov 2012, 07:59 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
Спасибо за полный мануал!

Мое текущее видение классификации майкрософтовских бейсиков под i8080/8085/z80.
Две основные версии интерпретаторов:
1. "Простая", первым представителем которой был Altair Basic (MITS Basic), а продолжателем (судя по описанию) является 8k вариант BASIC-80 (вероятно он, как и "крутые" версии, стал совместим с z80). Отличительные особенности этой ветки - поддержка только числового формата single и двух значащих букв/цифр в именах переменных.
2. "Крутая" - BASIC-80 вариантов Extended и Disk. Там больше форматов чисел и значащими являются до 40 букв/цифр в именах переменных.
Насчет Microsoft Basic и BASIC-80 - это одно и то же, если речь идет о системе с i8080/8085/z80. Т.е. BASIC-80 - это всегда Microsoft Basic, но не наоборот, если нет соответствующего контекста.

UPD: Нашел один из вариантов MS 8k BASIC (так понимаю, что в данном случае синоним BASIC-80) - http://www.tramm.li/i8080/
Интересно было посмотреть, как пропатчили для z80. В частности интересовал такой вопрос - сам ли Пушков придумал патчи для орионовского бейсика. Похоже, что сам, т.к. один совпал, а второй нет (в найденном варианте BASIC-80 во втором случае не стали патчить процедуру, а "пропатчили" пару мест после ее вызова, где проверяют флаг четности).


Top
   
PostPosted: 26 Nov 2012, 01:13 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
1. "Простая", первым представителем которой был Altair Basic (MITS Basic), а продолжателем (судя по описанию) является 8k вариант BASIC-80 (вероятно он, как и "крутые" версии, стал совместим с z80). Отличительные особенности этой ветки - поддержка только числового формата single и двух значащих букв/цифр в именах переменных.
Ничего нового не сообщу, только выражу согласие с вышеприведенными словами. Ниже приведу некоторые сведения "для себя", на будущее.

Итак, Basic-80 никакого отношения к Бейсику ПК-01 не имеет, иначе у "Львова" с Z80 не было бы никаких проблем с Бейсиком. Все-таки в основе лежит старый добрый Altair Basic (ранний труд Micro-soft), который, согласно сообщениям зарубежных товарищей, действительно изначально не дружит с Z80:
Quote:
?Does anyone have the patches necessary to allow Altair BASIC to run on
a Z-80?

I have 4K BASIC 4.0, 8K BASIC 4.0 and Extended BASIC 4.1. The first two
never even get through the sign-on process to display the number of bytes
free. Extended goes all the way through and I can enter programs but it
refuses to set numeric variables (string variable are set correctly):

10 A=4
20 PRINT A

prints 0

Tom Lake
Если опираться на Вики, то существовали такие версии Altair Basic:
Quote:
Робертс согласился распространять интерпретатор вместе с системой Альтаир 8800, а также нанял Аллена и Гейтса для поддержки и улучшения BASIC. Так были выпущены:

оригинальный 4 Кб BASIC
8 Кб BASIC
Extended Basic
Extended ROM BASIC
Disk BASIC
С другой стороны, С. Попов сообщил нам:
Quote:
Собственно сам интерпретатор, объемом около 6К, скорее всего одна из версий раннего
микрософтовского BASIC.
Тут надо отметить, что Бейсик для ПК-01 тоже занимает в ОЗУ порядка 6 Кб, хотя не совсем ясно, нет ли еще и в ПЗУ каких-либо его частей.

Словом, круг сузился до того момента, когда нужно искать исходники версий альтаировского Бейсика и сопоставлять их как с Бейсиком Микро-80, так и Бейсиком ПК-01. При этом у нас есть утверждение разработчика "Львова", что Бейсик был перенесен с неизвестной машинки из соц.лагеря, причем даже не ПЭВМ, а с "габаритной системы". Впрочем, слово "габаритная" звучит не так таинственно, если обратить особое внимание на слова:
Quote:
До нас поступала в основному обчислювальна техніка з соцкраїн, але вони були реалізовані на м/сх малої та середньої інтеграції.
У меня эти слова совершенно глупым образом перекликаются с известной пародией: "Советская микросхема - самая большая микросхема в мире!", т.е., потому система была габаритной, что меньше сделать не получалось из-за ограничений тех.процесса, что служит отсылкой ко времени ее создания.

Таковы предварительные итоги наших изысканий.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 27 Nov 2012, 15:51 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Тут надо отметить, что Бейсик для ПК-01 тоже занимает в ОЗУ порядка 6 Кб, хотя не совсем ясно, нет ли еще и в ПЗУ каких-либо его частей.
конечно есть, как минимум все "расширенные операторы" из таблицы
Code:
MakeCode(0xC200); MakeName(0xC200, "oper_RESTORE");
MakeCode(0xEBD0); MakeName(0xEBD0, "oper_CLS");
MakeCode(0xD723); MakeName(0xD723, "oper_PLOT");
MakeCode(0xD8C8); MakeName(0xD8C8, "oper_DRAW");
MakeCode(0xD800); MakeName(0xD800, "oper_LIST");
MakeCode(0xE556); MakeName(0xE556, "oper_CLOAD");
MakeCode(0xE532); MakeName(0xE532, "oper_CSAVE");
MakeCode(0xDB6E); MakeName(0xDB6E, "oper_LOAD");
MakeCode(0xDB77); MakeName(0xDB77, "oper_MERGE");
MakeCode(0xDC23); MakeName(0xDC23, "oper_SAVE");
MakeCode(0xD873); MakeName(0xD873, "oper_SLOAD");
MakeCode(0xDCC6); MakeName(0xDCC6, "oper_BSAVE");
MakeCode(0xDCF5); MakeName(0xDCF5, "oper_BLOAD");
MakeCode(0xDDD3); MakeName(0xDDD3, "oper_BAUD");
MakeCode(0xDF30); MakeName(0xDF30, "oper_LOCATE");
MakeCode(0xDE06); MakeName(0xDE06, "oper_COLOR");
MakeCode(0xF0D7); MakeName(0xF0D7, "oper_LINE");
MakeCode(0xF03A); MakeName(0xF03A, "oper_PSET");
MakeCode(0xF01D); MakeName(0xF01D, "oper_PRESET");
MakeCode(0xFDD5); MakeName(0xFDD5, "oper_CIRCLE");
MakeCode(0xE748); MakeName(0xE748, "oper_PAINT");
MakeCode(0xDEBF); MakeName(0xDEBF, "oper_BEEP");
MakeCode(0xF9D0); MakeName(0xF9D0, "oper_SOUND");
MakeCode(0xF633); MakeName(0xF633, "oper_DELETE");
MakeCode(0xF362); MakeName(0xF362, "oper_EDIT");
MakeCode(0xFC49); MakeName(0xFC49, "oper_VPOKE");
отсюда

Итого - вся графика, ввод/вывод и манипуляция программой. Плюс некоторые функции, которые диспетчеризуются через парсер выражений, а не через таблицу. Как минимум это:
Code:
ROM:0073                 .dw oper_do_FC_error    ; INKEY$
ROM:0075                 .dw oper_do_FC_error    ; HEX$
ROM:0077                 .dw oper_do_FC_error    ; POINT
ROM:0079                 .dw oper_do_FC_error    ; VARPTR
ROM:007B                 .dw oper_do_FC_error    ; CSRLIN
ROM:007D                 .dw oper_do_FC_error    ; VPEEK
Точнее можно узнать если получить (построив) из эмулятора граф связности по потоку выполнения.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 22 posts ]  Go to page Previous 1 2

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited