nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 09:47



Reply to topic  [ 46 posts ]  Go to page Previous  1, 2, 3, 4  Next
Программы для «Специалиста» 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
b2m wrote:
Lavr wrote:
Компьютерный баян из 1988 года
Об этом баяне мы пару раз уже упоминали и знаем, что работает он под управлением "Специалиста".
Портрет автора разработки - инженера Владимира Демина

А какая у него там ДОС - уже определили? Самодельная, или дампы где-то публиковались?
Эх, найти бы его софт, может и баян сэмулировать можно было бы :)

ДОС у него там "Монитор", ибо это всё сделано на "Специалисте", почему я и рискнул вставить
пост в этот топик

А этот мужичок-то, Владимир Демин, своим хобби занимается весьма последовательно и увлечнно! :o

Семь сорок (гитара-робот)

 ВИДЕО


В меню после клипа - есть и другие ролики с этой "гитарой"...

_________________
iLavr


05 Aug 2013 08:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
1. ПЗУшный Бейсик с добавлением расширенной графики ( http://www.spetsialist-mx.ru/Docs/mk1988_06.djvu ). Кассетная версия есть, но использовать с постоянным трансфером в ОЗУ считаю идиотизмом. Всё равно под какой монитор, но лучше под третий.

Ну разве что, если кто-то допилил этот Бейсик или похожий сам для себя, чтобы работать
из ПЗУ в верхних адресах памяти... :-?
Когда я этим всем занимался, то декомпилировал несколько Бейсиков, и по коду видел, что
переносить их в иные адреса - проблематично, поскольку они используют команды RST N.

В пакете RAMFOS для "Специалиста-МХ" в верхние адреса (там где у вас ПЗУ) перенесли
Редактор, Ассемблер, Дизассемблер и Отладчик - они сменяют друг друга по одним и тем-
же адресам, возможно, их и можно адаптировать под ПЗУ-версии...

Но вот Бейсик и в "Специалисте-МХ" оставили на месте - с адреса 0000Н в ОЗУ.

_________________
iLavr


27 May 2017 23:38
Profile
Maniac
User avatar

Joined: 05 Oct 2006 04:45
Posts: 269
Location: Moscow
Reply with quote
rw6hrm wrote:
...я уже понял, что "Спец" - это заброшенная платформа, вышедшая слишком поздно, чтобы ей хоть как-то плотно заниматься. Неплохое железо - это да, в остальном швах...

Да ладно, где там неплохое железо?
Безотносительно процессора, неплохое железо обычно не навязывает пользователю ПЗУ 12..16к, съедая гигантский кусок адресного пространства, оно обычно отключаемое делается, уже "из коробки", а не резаком и МГТФ. Т.е. применительно к Спецу, неплохое железо начинается только с MX, а вообще для отечественных ПК на 8080 - с изначально многостраничных ПК типа Ориона, Корвета(?), Вектора(?) и т.п. где программам есть возможность работать во всем адресном пространстве не упираясь ни в экран ни в ПЗУ (ну или с какими-то существенно меньшими чем в Спеце ограничениями).

_________________
Всем добра!


28 May 2017 01:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Вот тут-то и стоило вспомнить про ПЗУшные Бейсики для 6502 - они с этим никаких проблем не испытывают, ибо есть такая няша, как нулевая страница памяти.
...
На мой взгляд, именно тут - как раз и не стОило, ибо i8080 и 6502 железки довольно разные...
И как говорится в известной пословице:"Если бы у бабушки был йеньг, то это была бы не бабушка, а дедушка..."

rw6hrm wrote:
Но не знали у нас про 6502 и его возможности, а пользовались заброшенным производителем 8080, что упёрли, то и пользовали...
Честно говоря, это Ваше личное и ничем не обоснованное мнение, разве что как вариант: беспочвенно побрюжжать...
Про 6502 и его возможности у нас знали, ибо был такой компьютер "Агат" в какой-то мере совместимый с Апплей.
https://ru.wikipedia.org/wiki/Агат_(компьютер)

Также вынужден напомнить (https://ru.wikipedia.org/wiki/4К602ВМ1):
Quote:
Советская промышленность выпускала совместимый с 65C02 микропроцессор
4.К602ВМ1 для использования в военных встраиваемых системах.

Image

Ну и очень удивительно мне, что судя по вашим постам, Вы чаще меня бываете на дружественном
форуме, а там не так давно предметно показали, что КР580ВМ80А не сперли, а сделали по мотивам...
Кто действительно спер i8080, причем с ошибками - на них почему-то пальцами не показывают,
хотя они давно и конкретно всем известны.

Я это всё к тому написал, что как-то серьёзнее всё же надо относиться к подаче информации на открытом
и довольно популярном техническом ресурсе, коим является наш форум.


P.S. Про дедушку-музыканта я промолчал, но на мой взгляд - это тоже зря... :-?

_________________
iLavr


28 May 2017 01:55
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Error404 wrote:
rw6hrm wrote:
"Спец" - это заброшенная платформа... Неплохое железо - это да, в остальном швах...

Да ладно, где там неплохое железо?
Безотносительно процессора, неплохое железо обычно не навязывает пользователю ПЗУ 12..16к,
съедая гигантский кусок адресного пространства, оно обычно отключаемое делается, уже "из коробки",
а не резаком и МГТФ.
Прежде чем такую ерунду писать - надо бы вспомнить, а сколько было памяти ОЗУ в "Радио-РК-86",
и что это была за память.

В оригинальном "Специалисте" было 3 линейки РУ3, причем "средняя" обозначалась опциональной.
Если человек не смог достать 3 линейки РУ3 - мог работать на двух.
Память в момент создания "Специалиста" была дорогая и дефицитная. Так что не надо 30 лет
спустя тарахтеть, что памятью обделили - не было тогда в избытке её!

А уж когда память стала доступной - сделали "Специалист-МХ", где ОЗУ = 64 К - 32 байта.

Каждый "овощ" нёс на себе отпечаток своего времени...

_________________
iLavr


28 May 2017 02:09
Profile
Maniac
User avatar

Joined: 05 Oct 2006 04:45
Posts: 269
Location: Moscow
Reply with quote
Lavr wrote:
Error404 wrote:
rw6hrm wrote:
"Спец" - это заброшенная платформа... Неплохое железо - это да, в остальном швах...

Да ладно, где там неплохое железо?
Безотносительно процессора, неплохое железо обычно не навязывает пользователю ПЗУ 12..16к,
съедая гигантский кусок адресного пространства, оно обычно отключаемое делается, уже "из коробки",
а не резаком и МГТФ.
Прежде чем такую ерунду писать - надо бы вспомнить, а сколько было памяти ОЗУ в "Радио-РК-86",
и что это была за память.

В оригинальном "Специалисте" было 3 линейки РУ3, причем "средняя" обозначалась опциональной.
Если человек не смог достать 3 линейки РУ3 - мог работать на двух.
Память в момент создания "Специалиста" была дорогая и дефицитная. Так что не надо 30 лет
спустя тарахтеть, что памятью обделили - не было тогда в избытке её!

А уж когда память стала доступной - сделали "Специалист-МХ", где ОЗУ = 64 К - 32 байта.

Каждый "овощ" нёс на себе отпечаток своего времени...
И где я писал, что РК-86 это предел мечтаний?
И скажите мне, какому нормальному инженеру, и когда, количество имеющейся у него в наличии памяти мешало нормально планировать архитектуры - закладывать под будущее развитие, стремиться к оптимуму (в этот момент где-то икнул коллектив разработчиков РК-86 с их гениальным планированием портов на одной ИД7)? Со сколькими программами вышел в свет Спец? "Хрен да маленько"? Сколько его сопровождал автор, чуть меньше чем нисколько? Вот и ответ - Спец комп радиолюбительский: спаял-включил-порадовался-на_полку, паяй следующий. Как и Спек - учебный и игровой, всё более менее стоящее на них требует от программиста при написании вывернуться мехом наружу. Собственно поэтому на классическом Спеце ничего стоящего и нет (о чем тут и удивлялся ранее уважаемый rw6hrm).

_________________
Всем добра!


28 May 2017 02:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
И я никому не приписывал мнение, что "РК-86" - это "это предел мечтаний".
Я обратил внимание на даты "РК-86", а "Специалист" - это "Фахiвец-85".
То есть, создавая свой компьютер ранее чем "РК-86", автор заложил в него по крайней мере
48К ОЗУ, графический экран и прозрачную регенерацию.

Это, на мой взгляд, более прогрессивно, чем 32К "РК-86" и ВГ75 с ПДП.

Структура графического экрана "Специалиста" куда удобнее для программиста, нежели организация
экрана "Спецтрума".

И еще раз подчеркиваю, что эти конструкции безусловно, радиолюбительские, рассчитаны на
массовое повторение в тот исторический момент, когда никаких других компьютеров в избытке
и не наблюдалось.
Поэтому предъявлять к ним необоснованные претензии более 30 лет спустя - просто глупо.
Да и сравнивать любительские "багги" с профессиональным гоночным автомобилем не совсем корректно.

Ну и я не заметил в ретроспективе, чтобы более "продвинутые" "Корветы" и иже с ними задвинули
под шконку тот же "Спектрум"...



P.S. Ну а что касается т.н. "программистов", то они что-то ни в СССР, ни в поздней России "нихрена"
хорошего в глобальном плане так и не написали... Собственно, это и была одна из причин, по которой
мы вынуждены были делать аналоги забугорных железок.

_________________
iLavr


28 May 2017 03:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
В оригинальном "Специалисте" было 3 линейки РУ3, причем "средняя" обозначалась опциональной.
...
Каждый "овощ" нёс на себе отпечаток своего времени...

А у БК-001х.ХХ (разработка 1982...1983) с памятью (ОЗУ) и похуже "Специалиста" было...
Attachment:
BK_M.gif
BK_M.gif [ 11.64 KiB | Viewed 10986 times ]

Хотя БК-001х.ХХ разрабатывали в НИИ точной технологии НПО «Научный Центр», г. Зеленоград,
а не какой-то там "кустарь-одиночка с мотором"... :wink:
(https://ru.wikipedia.org/wiki/БК_(семейство_компьютеров))

_________________
iLavr


01 Jul 2017 19:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Здесь собственно сам С-компилятор - оригинал под "Партнёр" и файлы под РАМФОС..
Shaos wrote:
А фигурных скобок то нет совсем?
Двойные квадратные вместо них используются...
Ну так именно и написано в описании... двойные - тяжело смотрятся. :-?
Я, кстати, ещё когда обсуждали это, испытал некоторое недоумение, но ничего не высказал...
А так как я тут вплотную занялся внутренностями ЯВУ: PL/M, Tiny Basic и этот вот Best_C поковырял,
то я понял, в чем было моё недоумение: НА КЛАВИАТУРЕ "СПЕЦИАЛИСТА_МХ" СКОБКИ {} ЕСТЬ! :lol:
Attachment:
KbS.gif
KbS.gif [ 19.46 KiB | Viewed 8559 times ]

В этой связи вот какой интересный вопрос возник: а что, если адаптировать Best_C под "Специалист_МХ"?

Должно получиться очень интересно. Дело в том что в комплекте Best_C еще и редактор "Микрон"
прикручен, вместе они занимают память 0000-47FFh, что не оставляет места для программы практически,
но и то - программы в пакете есть. :o

Но в "Специалисте_МХ" редактор "Микрон" можно удалить. Собственный редактор "Специалиста_МХ" -
Edit_MX расположен по адресам E800h-EFFFh и не занимает ОЗУ ниже экрана (9000h).

Можно было бы и компилятор Best_C поднять в верхние адреса. В "Специалисте_МХ" компилятор
Ассемблера - Asm_MX, работающий в связке с Edit_MX, загружается в адреса F000h-F7FFh.

Но вся прелесть в том, что Edit_MX расположен и работает в ОЗУ, как и Asm_MX, поэтому редактор
можно в любой момент затереть компилятором Best_C и потом снова восстановить из ROMDISKa.
A компилятор Best_C можно загружать на эти адреса из RАMDISKa, и на него же сохранять
исходники и бинарники.

Весь вопрос в том, есть ли у кого-либо исходники Best_C? Декомпилировать как-то нет особой охоты,
ибо довольно-таки много... :-?

Сведения об авторе следующие:
Quote:
*SARATOV BEST-C COMPILER*
СГУ,ФИЗИКА-1989
КОВАЛЕНКО Д.И.

СО ВСЕМИ ЗАМЕЧАНИЯМИ И ПРЕДЛОЖЕНИЯМИ ОБРАЩАЙТЕСЬ
ПО АДРЕСУ:

410 600, Г.САРАТОВ, УЛ.ПУШКИНА, Д.N 17/25, КВ.109
КОВАЛЕНКО Д.И.
Сведения из открытого источника - описания Best_C.

Я знал этого человека в том "далёком давно" в лицо, хоть я и зело старше его,
поэтому знаком с ним лично не был в силу разницы возраста.
Написал я письмо знакомым, которые по возрасту должны были знать его лучше.
Мне ответили:
Quote:
Увы, но Димку я последний раз видел/слышал примерно во время выпуска из универа. А это примерно 1992 год.

Значит там "весёлые 90-е" надвинулись... :-? но, может быть, у кого-либо исходники Best_C имеются?

_________________
iLavr


13 Dec 2019 15:22
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Дело в том что в комплекте Best_C еще и редактор "Микрон"
прикручен, вместе они занимают память 0000-47FFh, ...

Редактор "Микрон" (я вчера покопал файл BEST-C.RKP) расположен по адресам 0000-07FFh, и связь
между ним и Best_C-компилятором, похоже, только в JMP-ах по клавише <CTP>.

Lavr wrote:
Весь вопрос в том, есть ли у кого-либо исходники Best_C? Декомпилировать как-то нет особой охоты,
ибо довольно-таки много... :-?
Не то, чтобы очень много - 16 КБайт - но декомпилировать средствами "Специалиста_МХ" неудобно.
Пришлось бы резать на несколько частей... :-?

Пошарил по сети простенький подВиндовый дизассемблер i8080, ничего подходящего не нашел пока.
IDA у меня есть, но она код z80 выдает вроде как...

P.S. Нашел у себя "в закромах Родины" какой-то DB8085 - 8080 and 8085 binary file disassembler
ни разу им не пользовался... Но надо посмотреть...

_________________
iLavr


14 Dec 2019 05:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Нашел у себя "в закромах Родины" какой-то DB8085 - 8080 and 8085 binary file disassembler
ни разу им не пользовался... Но надо посмотреть...

Посмотрел на примере Tiny BASIC, для которого есть исходный код. :wink:

Особым интеллектом этот DB8085 disassembler не блещет, молотит всё как код,
но рядом с мнемониками выписывает исходные коды в HEX-виде и символами:
Attachment:
TB-ASM.gif
TB-ASM.gif [ 7.11 KiB | Viewed 8532 times ]

То есть, текстовые сообщения и таблицы придётся рихтовать вручную... :-?

Ну... в принципе можно попробовать декомпильнуть Best_C...


P.S. Сам DB8085 disassembler я брал вот здесь: Dick's Web Page (W3SYY), осталась ссылка.

_________________
iLavr


14 Dec 2019 07:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Lavr wrote:
Дело в том что в комплекте Best_C еще и редактор "Микрон"
прикручен, вместе они занимают память 0000-47FFh, ...

Редактор "Микрон" (я вчера покопал файл BEST-C.RKP) расположен по адресам 0000-07FFh, и связь
между ним и Best_C-компилятором, похоже, только в JMP-ах по клавише <CTP>.

Сегодня попробовал у Best_C для "Микроши" редактор "Микрон" отрезать. Отделился вроде как
безболезненно и остался работоспособным, если не нажимать вызов компилятора С.
Attachment:
EDIT-C.zip [1.7 KiB]
Downloaded 352 times

Осталось протестировать для "Специалиста", там, похоже, чуть посложнее всё.

Дело в том, что я предварительно сравнивал бинарно и просматривал файлы Best_C для "Микроши",
"Специалиста" и "Партнера".
Несмотря на одинаковый размер - 47FFH, файлы довольно разные и больше всего отличий у Best_C
для "Специалиста" - его я даже под отладкой немного просмотрел...

_________________
iLavr


15 Dec 2019 08:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Несмотря на одинаковый размер - 47FFH, файлы довольно разные и больше всего отличий у Best_C
для "Специалиста" - его я даже под отладкой немного просмотрел...

Best_C "Специалиста" при старте выставляет стек на 8000Н, и далее - патчит сам себя:
по адресу 0000Н, где записано JMP 1000H - переход на адрес патча, он записывает LXI SP,8000H;
после чего патчит еще несколько ячеек и перезапускает себя.

Прямо под RAMFOS "Специалиста_MX" стартует нормально, только предварительно надо включить
кодировку КОИ-7:
Attachment:
C_MX.gif
C_MX.gif [ 1.72 KiB | Viewed 8504 times ]

Текстовый буфер начинается с адреса 4800Н, с адреса 8000Н предлагается размещать библиотеки.
Одна библиотека для графических функций PLOT и LINE есть в комплекте.

Что ж... надо попробовать скомпилировать что-то осмысленное. Если скомпилируется успешно и в
компактный код, будет иметь смысл расковырять этот Best_C до исходника... :ewink:

_________________
iLavr


15 Dec 2019 10:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Подведу некоторый итог опытов с этим самым BEST-C...

Я его чуть-чуть пропатчил и он довольно прилично стал работать под RAMFOS
"Специалиста_МХ". Собственно, он сам теперь включает КОИ-7 и не лезет, куда
не следует, a работать с ним вполне можно, если аккуратно.

Файлы программ на Си - обычные текстовые, которые поддерживает редактор
RAMFOS
, со стоп-байтом 0FFH в конце. Только в RAMFOS буфер редактора
начинается с адреса 1100Н, а файлы Си - на адресе 4800Н начинаются.
Поэтому работать надо так: выходим в Debug по [F7], в нем вызываем загрузку
файла также через [F7]. Файл копируем на адрес 4800Н и выходим из Debug.

Запускаем BEST-C.ЕХЕ и он начинает задавать кучу вопросов, как на них
отвечать, я показал на скриншоте.
Attachment:
C-ALL.gif
C-ALL.gif [ 3.55 KiB | Viewed 7759 times ]

Главное, на вопрос NEW? ответить N, т.к. мы полжили программу в память.
Запускается Редактор типа "Микрон", кто умеет, можно работать его клавишами
УС+хх :wink: Но лучше нажать [СТР] и выйти в компилятор. Он тоже задаст вопросы,
на которые видно как ответить на скриншоте.

Компилятор предлагает 3 варианта компияции: 1, 2, 3
1 - полный листинг, и что приятно, показывает, во что превращаются строки Си.
2 - выдаст только адреса.
3 - скомпилирует быстро и молча.

В архиве есть файл BEST_C.ALL - под эмулятор Шевцова, он загрузит всё сразу:
сам BEST-C, графическую библиотеку и тестовые программы.
Attachment:
BEST-CSP.zip [124.64 KiB]
Downloaded 387 times

Собственно, я добивался взглянуть, во что BEST-C превратит простую программу
аналог под PL/M - заполнение области байтом, и результат мне не понравился. :osad:
http://www.nedopc.org/forum/viewtopic.php?f=81&t=19633#p153052

Писать программы в эмуляторах ныне - дурной тон, поэтому я писал в обычном
редакторе под Вендой, а в эмулятор пропихивал с помощью маленькой утилиты,
которая удаляет все 0AH из текста, формируя файл *.I80, с байтом 0FFH в конце.
Она же формирует сопутствующий файл *.CPU - эти файлы удобно грузить в эмулятор
Шевцова. Исходный текст не меняется. Утилита есть в архиве, писать надо в КОИ-8,
или же всё - на английском... :ewink:

В общем, я пока поостыл декомпилировать этот BEST-C, слишком "толстый" код
он выдаёт... :-?

Я поискал в сети и нашел небольшой кросс-компилятор SMALL_C, который выдает
код под i8080: http://www.cpm.z80.de/small_c.html
Гляну, во что он соберет тот же самый пример. А уже потом будем посмотреть... :wink:

_________________
iLavr


17 Dec 2019 20:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Не то, чтобы очень много - 16 КБайт - но декомпилировать средствами "Специалиста_МХ" неудобно.
Пришлось бы резать на несколько частей... :-?
...
Ну... в принципе можно попробовать декомпильнуть Best_C...

Декомпилировал двумя инструментами: DB8085 disassembler и DIZASM от "Специалиста_МХ", благо я сделал себе работу с пакетом RAMFOS гораздо удобнее. :wink:
DIZASM от "Специалиста_МХ" лучше обрабатывает области данных и текстовые области, а DB8085 позволил декомпилировать крупный по размеру файл целиком.

В общем в "нулевом приближении" код по исходнику собирается с адреса 0800H полностью идентично оригиналу.
Attachment:
BEST_800.zip [57.92 KiB]
Downloaded 349 times

В архиве - исходный ассемблерный код компилятора С без редактора, а также оригинал бинарного кода для сравнения.

Я оставил всё как есть в оригинале, некоторые комментарии - по разбору таблиц. Компилировать с других адресов пока не пробовал.

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

Во время листинга компилятор показывает соответствие тексту на С кодом в текстовом виде и собирает программу из эквивалентов в виде бинарного кода. Видимо, поэтому код получается весьма "толстым".
Очень много работы со стеком, по сути все манипуляции делаются в стеке.

Ну что ж, для интересу можно код и почитать теперь, поскольку в кишках компиляторов С я ранее практически особо и не копался... :-?


P.S. А вот DB8085 disassembler, что я брал вот здесь: Dick's Web Page (W3SYY), меня немного подвёл.
Он неверно декомпилирует инструкцию CNZ (код 0С4Н).
:osad:

_________________
iLavr


03 Jan 2020 22:11
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 46 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 3 guests


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:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.