PDA

Просмотр полной версии : Обсуждение: Тайна оператора EDIT



ivagor
18.05.2014, 05:58
обсуждение темы http://zx.pk.ru/showthread.php?t=23448
---- ESL 2014-05-20

Есть небольшая вероятность, что бейсик для ПК8002 базируется на msxном, а почти все другие "советские для ВМ80" определенно на более ранних микрософтовских.

esl
18.05.2014, 16:00
ага, точно, сейчас посмотрел,
8002 - это ТОЧНО MSX, эта версия старше чем та на которой корветовский базируется
там почти один в один
посмотрел например на DRAW - там такие странные таблички переходов - совпадение
не говоря уже о кодах токенов ;)

итого сейчас видно три "поколения" microsoft бейсиков

1) basic 4k
его визуальное отличие имхо таблица токенов линейна, и старший бит последнего символа 1

2) basic 8k, extendend basic (mbasic 4.5+, 5.x точно)
таблица ключевых слов уже сложная структура
26 указателей (по первым буквам A-Z) на таблицы где 2+символы, и последним байтом токен
AUTO -> 'UTO',0A9H

такие таблички указателей на функции работы с арифметикой


(адреса тут левые, только для примера как выглядит)


I3D47: DEFW C303A ; convert DAC to double real
DEFW 0
DEFW C2F8A ; convert DAC to integer
DEFW C3058 ; check if string (error if not)
DEFW C2FB2 ; convert DAC to single real

I3D51: DEFW C269A ; double real addition DECADD
DEFW C268C ; double real subtract DECSUB
DEFW C27E6 ; double real multiply DECMUL
DEFW C289F ; double real divide DECDIV
DEFW C2F83 ; double real compare

I3D5D: DEFW C324E ; single real addition
DEFW C3257 ; single real subtract
DEFW C325C ; single real muliply
DEFW C3267 ; single real divide
DEFW C2F21 ; single real compare (FCOMP)

I3D69: DEFW C3172 ; integer addition
DEFW C3167 ; integer subtract
DEFW C3193 ; integer multiply
DEFW C4DB8 ; integer divide
DEFW C2F4D ; integer compare




3) msx basic (возможно и другие, но не попадалось)
тоже что и 2,
но только
в таблички указателей на функции работы с арифметикой добавился еще эллемент "to the power"




I3D47: DEFW C303A ; convert DAC to double real
DEFW 0
DEFW C2F8A ; convert DAC to integer
DEFW C3058 ; check if string (error if not)
DEFW C2FB2 ; convert DAC to single real

I3D51: DEFW C269A ; double real addition DECADD
DEFW C268C ; double real subtract DECSUB
DEFW C27E6 ; double real multiply DECMUL
DEFW C289F ; double real divide DECDIV
DEFW C37D7 ; double real to the power
DEFW C2F83 ; double real compare

I3D5D: DEFW C324E ; single real addition
DEFW C3257 ; single real subtract
DEFW C325C ; single real muliply
DEFW C3267 ; single real divide
DEFW C37C8 ; single real to the power
DEFW C2F21 ; single real compare (FCOMP)

I3D69: DEFW C3172 ; integer addition
DEFW C3167 ; integer subtract
DEFW C3193 ; integer multiply
DEFW C4DB8 ; integer divide
DEFW C383F ; integer to the power
DEFW C2F4D ; integer compare




варианты
1 - похоже почти все к580вм80 бейсики
2 - Корвет (и он же есть на векторе как бейсик-корвет) ноги похоже ростут от TRS-80
3 - ПК8002 - корни из MSX

Бука
18.05.2014, 16:09
2 - Корвет (и он же есть на векторе как бейсик-корвет) ноги похоже ростут от TRS-80

В книге "Знакомьтесь: персональная ЭВМ Корвет" об этом почти прямым текстом говорят. :wink:

http://zx.pk.ru/showthread.php?t=13953&page=6

BYTEMAN
18.05.2014, 16:12
описание редактора, кстати, есть в корветовской книжечке "Знакомьтесь - Корвет". Честно скажу, на выставке все, кто что-то пытались запрогать на бейсике, сильно плевались из-за корявого EDIT'а, как решение приходилось тупо перебивать строки полностью. Мы там даже небольшие демки писали с ребятами (на выставку заглянул Ed/V-nom, дык сидели с ним прогали на бейсике летающее по спиральке слово Hell :)), дык когда надо было поменять пару чисел в строке - перебивали целиком... :(

DDp
18.05.2014, 16:28
2 - Корвет (и он же есть...
...на Апогее, "БЕЙСИК АПОГЕЙ В.1 МОСКВА 1987Г.", известный как БейсикMSX. http://zx.pk.ru/showthread.php?p=559792#post559792

esl
18.05.2014, 16:45
В книге "Знакомьтесь: персональная ЭВМ Корвет" об этом почти прямым текстом говорят. :wink:
спасибо за напоминание, а я и подзабыл про нее

я из этой книжки и узнал про TRS-80 и ее родство с Корветом ;)

и вижу "железное" родство
но про софтовое - я не знал, ибо думал что НИИСЧЁТМАШ сам делал бейсик
а похоже - нет

но имхо Корвет эт не расширенный TRS80,
там просто некоторые вещи взяты
"матрица клавиатуры"
"текстовый режим 64x16 c псевдографикой "
т.е. имхо именно идеи.

кстат, вроде как TRS-80 это первая машина в которой появилась "матрица клавиатуры", я так понимаю для удешевления.
ибо до нее клавиатура это было готовое изделение которое выдавало код клавиши
(как на нашем Агат, Apple I, Apple II)

ivagor
18.05.2014, 16:46
итого сейчас видно три "поколения" microsoft бейсиков
Это в значительной мере субъективно, я, например, придерживался такой (http://lvovpc.ho.ua/forum/viewtopic.php?f=22&t=209&start=19) самопальной "классификации". По ней бейсик msx попал бы в п.2 ("крутые").

1 - похоже почти все к580вм80 бейсики
Если я не поперепутывал все напрочь, то скорее на базе 8k варианта альтаир бейсика (версия 4.0). К сожалению мои дизасмы сейчас на другом компе, который в другой квартире.

esl
18.05.2014, 17:49
...на Апогее, "БЕЙСИК АПОГЕЙ В.1 МОСКВА 1987Г.", известный как БейсикMSX. http://zx.pk.ru/showthread.php?p=559792#post559792

не, эт Корвет, по тем признакам что описал выше
EDIT - присутствует ;)

есть операторы
SOUND, SYS,BEEP
PSET,PRESET,LINE
SCREEN (ON,OFF)

---------- Post added at 16:49 ---------- Previous post was at 16:37 ----------

наверно надо тему отдельную для этого сделать, не здесь ;)


Это в значительной мере субъективно, я, например, придерживался такой (http://lvovpc.ho.ua/forum/viewtopic.php?f=22&t=209&start=19) самопальной "классификации". По ней бейсик msx попал бы в п.2 ("крутые").

Если я не поперепутывал все напрочь, то скорее на базе 8k варианта альтаир бейсика (версия 4.0). К сожалению мои дизасмы сейчас на другом компе, который в другой квартире.

так я это и написал ;)
что родоночальник корветовского - 8к extended
ибо там есть Edit и там код очень похож

а у MSX уже есть заметные отличия, имхо следующее поколение
и там "в таблички указателей на функции работы с арифметикой добавился еще эллемент "to the power""

ivagor
18.05.2014, 20:08
так я это и написал
что родоночальник корветовского - 8к extended
Вообще то я хотел дополнить вот это утверждение

1 - похоже почти все к580вм80 бейсики
мне помнится, что почти все ВМ80 бейсики скорее на базе альтаировского 8k (версия 4.0), а не 4k, как в п.1 Правда, я не на 100% уверен в своей памяти

esl
19.05.2014, 20:42
Откопал забавную табличку
http://altairclone.com/downloads/basic/Basic%20Versions.pdf
вот тут есть http://altairclone.com/downloads/basic/Paper%20Tape%20and%20Cassette/ но в тап формате
хотелось бы глянуть на 3.2 8к
возможно он и есть предок
у них ранзные таблицы токенов ...

в ветке 3.2
DB 'A','N','D'+0x80

4.x
DB 'A'+0x80,'N','D'

5.x

DW _A
_A:
DB 'N','D'+0x80,TOKEN

ivagor
19.05.2014, 22:07
Интересно, в сети есть бинарники 4k (3.2 и 4.0), 8k (4.0), а 8k 3.2 похоже только в .tap

---------- Post added 20.05.2014 at 00:07 ---------- Previous post was 19.05.2014 at 23:40 ----------

Оффтоп. В загрузчиках понравилась организация цикла - до сих пор не видел такого варианта.

forth32
20.05.2014, 08:02
Похоже, что принцип организации этогго редактора строки взят из редактора EDIT системы RT-11. Совпадает и общий принцип - типа ввода числа повторов перед кодом команды, и некоторые коды команд. Помню, в 80-е годы этим редактором пользовались очень многие, даже при наличии в этой же системе полноэкранных редакторов типа К52. Многие считали, что редактирование с помощью таких вот команд граздо удобнее полноэкранного. В чем-то они были правы. До сих пор нечто похожее используется в редакторе vi в юниксах, который тоже многи любят и используют. Видимо, и авторы корвет-бейсика были из числа таких людей, тем более что бейсик писался как раз в те самые 80-е годы. Может быть, даже использовали какую-нибудь СМ ЭВМ в качестве среды разработки, и писали исходный текст в том самом EDIT.

Но, конечно, делать такой редактор для учебной ЭВМ - это идиотизм. В ОПТС код редактора занимает 459 байт - вполне можно было впихнуть номальный строковый редактор.

esl
20.05.2014, 14:01
Похоже, что принцип организации этогго редактора строки взят из редактора EDIT системы RT-11. Совпадает и общий принцип - типа ввода числа повторов перед кодом команды, и некоторые коды команд. Помню, в 80-е годы этим редактором пользовались очень многие, даже при наличии в этой же системе полноэкранных редакторов типа К52. Многие считали, что редактирование с помощью таких вот команд граздо удобнее полноэкранного. В чем-то они были правы. До сих пор нечто похожее используется в редакторе vi в юниксах, который тоже многи любят и используют.

возможно корни и идут к DEC
ибо первый бейсик для альтаира (а он родоночальник)
Господин Гейтс и Ко написали как раз на PDP
в эмуляторе (который и написали для этого)
так что вполне.


Видимо, и авторы корвет-бейсика были из числа таких людей, тем более что бейсик писался как раз в те самые 80-е годы. Может быть, даже использовали какую-нибудь СМ ЭВМ в качестве среды разработки, и писали исходный текст в том самом EDIT.

Но, конечно, делать такой редактор для учебной ЭВМ - это идиотизм. В ОПТС код редактора занимает 459 байт - вполне можно было впихнуть номальный строковый редактор.

а вот тут уж точно нет
бейсик Корвет - это перенос Микрософтовского бейсика
прям с редактором и перенесли
самая рання дока в которой описан ЭТОТ редакто - датирована 1977 годом, для которого это явно было очень круто.

т.е. в 1986 году, видя MSX (с его экранным редактором), они перенесли ЭТО для КУВТ....

халтура :(

а экранный впихнуть - явно меньше чем 459 байт ....

p.s. Поделишся IDA базой ;) ?

esl
22.05.2014, 20:54
Интересно, в сети есть бинарники 4k (3.2 и 4.0), 8k (4.0), а 8k 3.2 похоже только в .tap

---------- Post added 20.05.2014 at 00:07 ---------- Previous post was 19.05.2014 at 23:40 ----------

Оффтоп. В загрузчиках понравилась организация цикла - до сих пор не видел такого варианта.

выдрал из тапов все бейсики
немного глянул, 3.2 8к имхо достаточно похож на бейсик для микро-80

esl
19.06.2014, 16:17
пересматривал архив диска, и попалось
ВОТ КАК МОГ выглядеть бейсик для корвета если бы не НИИСЧЁТМАШ :(

это бейсик, написаный кооперативом ФОРТ-ИНФО из Питера.
(кроме бейсика еще есть паскаль) ;)

"БEЙCИK 2.1, (C) ФОРТ-ИНФО 1989"

написан на форте ;) (если кто решит посмотреть внутрь - ожидает МНОГО СТРАННОГО с непревычки ;))

написан для ПК8010, для загрузки с кассеты
поддержки диска нет
есть только описание комплекта
в описании были исходники (ой как жалко)

собственно по теме
там ЭКРАННЫЙ РЕДАКТОР, нормально работающий
в нижней строке состояние RUS/LAT SHIFT/shift INS/OVR
значение fkeys (как на ямахе, при нажатии на shift показывает что есть)

есть оператор key, (key list, key 1,"CLS")
останов программы CTRL+STOP а не просто стоп ;)
в списке операторов есть PLAY,DRAW
раза в 1.5-3 тормознее стандартного.

сохраняет/читает только с кассеты.

мечта детства
нарисовал circle (200,100),50
поднял курсор вверх, изменил радиус - красота

собственно диск с ним в аттаче
на диске с ним нашлась такая дока, и всё.



"Форт-инфо" Бейсик ОГЛАВЛЕНИЕ ДИСКЕТЫ
----------------------------------------------------
GUIDE .TXT - оглавление и инструкция
BASIC .BLO - система Бейсик (1 экземпляр)
BASCOPY .BLO - система Бейсик (2 экземпляр)
Тестовый пример (1 и 2 экземпляры)
PRIMER .BAS
PRIMCOPY.BAS
Исходные тексты на языке Форт
ROOT .FRT - последовательность файлов *.F
ARIPHMC .F CONTEXT .F CONTRL1 .F CONTRL2 .F
CONTROLC.F DASYS .F DASYSC .F DATA .F
EMIT .F FILE .F FT .F FT1 .F
FUNC .F GRAF .F GRMUOP .F INIT .F
INPUT .F INPUTC .F INT50 .F LEMIT .F
MAG .F MUSIC .F PCODE .F PCODEC .F
PROG1 .F PROG1C .F PROG2 .F PROG2C .F
STM .F STMC .F SYNTAX .F SYNTAXC .F
VRAM .F
Документация
BASIC1.TXT BASIC2.TXT BASIC3.TXT BASIC4.TXT
BASIC5.TXT
Системные программы
POWER.COM BLOAD.COM SYSFORM.COM WT.COM
--------------------------------------------------
Сформ.:29.04.89. Испр.:_____________ Экз.N

Инструкция по формированию КМЛ

Последовательность файлов на КМЛ должна быть
следующей:
1) BASIC
2) BASIC
3) PRIMER
4) PRIMER

Запись файлов на КМЛ выполняется программой WT:

WT BASIC.BLO basic B
WT PRIMER.BAS primer T

Программа BLOAD выполняет загрузку Бейсика с диска:

BLOAD BASIC.BLO


список операторов/функций из кода


END, FOR, NEXT, DATA, INPUT, DIM, READ, LET, GOTO, RUN, IF, RESTORE, GOSUB, RETURN, REM, STOP,
PRINT, CLEAR, LIST, NEW, ON, WAIT, DEFDBL, POKE, CONT, CSAVE, CLOAD, OUT, LPRINT, LLIST, CLS, WIDTH,
ELSE, TRON, TROFF, SWAP, ERASE, ERROR, RESUME, DELETE, AUTO, RENUM, DEFSTR, DEFINT, DEFSNG,
DEF, LINE, LOAD, MERGE, SAVE, BEEP, KEY, LOCATE, ', BLOAD, BSAVE, PSET, PRESET, PAINT, PCLS, CIRCLE,
COLOR, DRAW, PLAY, MAXFILES, INTERVAL, OPEN, CLOSE, CALL, _, VPOKE, MOTOR, TO, THEN, TAB(, STEP,
USR, FN, SPC(, USING, OFF, APPEND, PUT, SYSTEM, +, -, NOT, >=, <=, <>, >, =, <, ^, /, *, AND, OR, XOR, EQV,
IMP, MOD, LEFT$, RIGHT$, MID$, SGN, INT, ABS, SQR, RND, SIN, LOG, EXP, COS, TAN, ATN, FRE, INP, POS,
LEN, STR$, VAL, ASC, CHR$, PEEK, SPACE$, OCT$, HEX$, LPOS, BIN$, CINT, CSNG, CDBL, FIX, ERL, ERR,
STRING$, INSTR, VARPTR, CSRLIN, INKEY$, CVI, CVS, CVD, POINT, EOF, MKI$, MKS$, MKD$, VPEEK,

правда system например говорит ошибка.
жалко доки нет.



для бонуса, на диске Паскаль от них-же



Инфо-ПACKAЛЬ для ПЭВМ Орбита
версия 1.1
Автор В.И.Вичирко
(C) НТК Форт-Инфо 1989


опять же, только для РМУ.
без дисковода
зато с доками ;)
но тоже без дем.

он у меня давно был, но в бинарном виде, и я его как-то не запускал до этого
а тут попался этот бейсик, поковырял bload.com и сделал его в формате .blo
стало его можно запускать.

bload pascal.blo




Система Инфо-Паскаль предназначена для отладки и испол-
нения в режиме диалога программ на языке Паскаль-Инфо

Версия 1.1 функционирует на ПЭВМ ПК 8015 "Орбита" с бы-
товым кассетным магнитофоном в качестве накопителя на маг-
нитной ленте.

По своим возможностям система Инфо-Паскаль приближена к
широко распространенной версии языка Турбо-Паскаль 3.0. Во
всех случаях, где возможно, соблюдается совместимость с
Турбо-Паскалем. Исключение - набор процедур компьютерной
графики, который несколько отличается от набора графических
процедур Турбо-Паскаля, в силу аппаратных особенностей ПЭВМ.
В дополнение к стандартному Паскалю система Инфо-Пас-
каль реализует некоторые дополнительные средства, а именно:
прямой доступ к оперативной памяти микропроцессора;
доступ к памяти алфавитно-цифрового запоминающего уст-
ройства (экрана);
доступ к адресам переменных;
логические операции над целыми числами;
преобразование скалярных типов данных;
текстовые окна;
звуковой сигнал;
цветная графика.
По сравнению с Турбо-Паскалем добавлена возможность пе-
редачи процедурного параметра, предусмотренная также и в
стандартном Паскале.
Система Инфо-Паскаль разработана в научно-техническом
кооперативе "Форт-Инфо" В.И.Вичирко.

1.1. Загрузка системы Инфо-Паскаль
Для того, чтобы начать работать с Инфо-Паскалем, необ-
ходмо выполнить ее загрузку с магнитофонной кассеты. На по-
ставляемой кассете находятся:
....
4) ввести с клавиатуры оператор Бейсика
RUN "CAS:PASCAL",B

Через некоторое время должно появиться сообщение
НАЙДЕН PASCAL B
и затем на экране появится начальное сообщение системы Инфо-
Паскаль.

Arix
04.12.2018, 12:52
REDBAS
Замечательно, только где бы его достать? Яндекс с Гуглом тут не помощники.

Serebriakov
05.12.2018, 15:17
Замечательно, только где бы его достать? Яндекс с Гуглом тут не помощники.
К сожалению, ESL вам уже не ответит (https://zx-pk.ru/threads/27747-sergeya-erokhina-(esl)-bolshe-net-(.html). Если где-нибудь встречу именно этот бейсик при сортировке софта - отпишусь. Ну а так выше в этой теме размещали аналоги, посмотрите на них.

P.S. Ваше сообщение переместил в эту тему обсуждения, тема где вы написали только для информации.