|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Программы для «Специалиста»
Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А этот мужичок-то, Владимир Демин, своим хобби занимается весьма последовательно и увлечнно! Семь сорок (гитара-робот) ВИДЕО В меню после клипа - есть и другие ролики с этой "гитарой"...
_________________ iLavr
|
05 Aug 2013 08:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну разве что, если кто-то допилил этот Бейсик или похожий сам для себя, чтобы работать из ПЗУ в верхних адресах памяти... Когда я этим всем занимался, то декомпилировал несколько Бейсиков, и по коду видел, что переносить их в иные адреса - проблематично, поскольку они используют команды RST N. В пакете RAMFOS для "Специалиста-МХ" в верхние адреса (там где у вас ПЗУ) перенесли Редактор, Ассемблер, Дизассемблер и Отладчик - они сменяют друг друга по одним и тем- же адресам, возможно, их и можно адаптировать под ПЗУ-версии... Но вот Бейсик и в "Специалисте-МХ" оставили на месте - с адреса 0000Н в ОЗУ.
_________________ iLavr
|
27 May 2017 23:38 |
|
|
Error404
Maniac
Joined: 05 Oct 2006 04:45 Posts: 269 Location: Moscow
|
Да ладно, где там неплохое железо? Безотносительно процессора, неплохое железо обычно не навязывает пользователю ПЗУ 12..16к, съедая гигантский кусок адресного пространства, оно обычно отключаемое делается, уже "из коробки", а не резаком и МГТФ. Т.е. применительно к Спецу, неплохое железо начинается только с MX, а вообще для отечественных ПК на 8080 - с изначально многостраничных ПК типа Ориона, Корвета(?), Вектора(?) и т.п. где программам есть возможность работать во всем адресном пространстве не упираясь ни в экран ни в ПЗУ (ну или с какими-то существенно меньшими чем в Спеце ограничениями).
_________________ Всем добра!
|
28 May 2017 01:47 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
На мой взгляд, именно тут - как раз и не стОило, ибо i8080 и 6502 железки довольно разные... И как говорится в известной пословице:" Если бы у бабушки был йеньг, то это была бы не бабушка, а дедушка..." Честно говоря, это Ваше личное и ничем не обоснованное мнение, разве что как вариант: беспочвенно побрюжжать... Про 6502 и его возможности у нас знали, ибо был такой компьютер "Агат" в какой-то мере совместимый с Апплей. https://ru.wikipedia.org/wiki/Агат_(компьютер)Также вынужден напомнить ( https://ru.wikipedia.org/wiki/4К602ВМ1): Ну и очень удивительно мне, что судя по вашим постам, Вы чаще меня бываете на дружественном форуме, а там не так давно предметно показали, что КР580ВМ80А не сперли, а сделали по мотивам... Кто действительно спер i8080, причем с ошибками - на них почему-то пальцами не показывают, хотя они давно и конкретно всем известны. Я это всё к тому написал, что как-то серьёзнее всё же надо относиться к подаче информации на открытом и довольно популярном техническом ресурсе, коим является наш форум. P.S. Про дедушку-музыканта я промолчал, но на мой взгляд - это тоже зря...
_________________ iLavr
|
28 May 2017 01:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Прежде чем такую ерунду писать - надо бы вспомнить, а сколько было памяти ОЗУ в "Радио-РК-86", и что это была за память. В оригинальном "Специалисте" было 3 линейки РУ3, причем "средняя" обозначалась опциональной. Если человек не смог достать 3 линейки РУ3 - мог работать на двух. Память в момент создания "Специалиста" была дорогая и дефицитная. Так что не надо 30 лет спустя тарахтеть, что памятью обделили - не было тогда в избытке её! А уж когда память стала доступной - сделали "Специалист-МХ", где ОЗУ = 64 К - 32 байта. Каждый "овощ" нёс на себе отпечаток своего времени...
_________________ iLavr
|
28 May 2017 02:09 |
|
|
Error404
Maniac
Joined: 05 Oct 2006 04:45 Posts: 269 Location: Moscow
|
| | | | Lavr wrote: Прежде чем такую ерунду писать - надо бы вспомнить, а сколько было памяти ОЗУ в "Радио-РК-86", и что это была за память. В оригинальном "Специалисте" было 3 линейки РУ3, причем "средняя" обозначалась опциональной. Если человек не смог достать 3 линейки РУ3 - мог работать на двух. Память в момент создания "Специалиста" была дорогая и дефицитная. Так что не надо 30 лет спустя тарахтеть, что памятью обделили - не было тогда в избытке её! А уж когда память стала доступной - сделали "Специалист-МХ", где ОЗУ = 64 К - 32 байта. Каждый "овощ" нёс на себе отпечаток своего времени... | | | | |
И где я писал, что РК-86 это предел мечтаний? И скажите мне, какому нормальному инженеру, и когда, количество имеющейся у него в наличии памяти мешало нормально планировать архитектуры - закладывать под будущее развитие, стремиться к оптимуму (в этот момент где-то икнул коллектив разработчиков РК-86 с их гениальным планированием портов на одной ИД7)? Со сколькими программами вышел в свет Спец? "Хрен да маленько"? Сколько его сопровождал автор, чуть меньше чем нисколько? Вот и ответ - Спец комп радиолюбительский: спаял-включил-порадовался-на_полку, паяй следующий. Как и Спек - учебный и игровой, всё более менее стоящее на них требует от программиста при написании вывернуться мехом наружу. Собственно поэтому на классическом Спеце ничего стоящего и нет (о чем тут и удивлялся ранее уважаемый rw6hrm).
_________________ Всем добра!
|
28 May 2017 02:32 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
И я никому не приписывал мнение, что "РК-86" - это "это предел мечтаний". Я обратил внимание на даты "РК-86", а "Специалист" - это "Фахiвец-85". То есть, создавая свой компьютер ранее чем "РК-86", автор заложил в него по крайней мере 48К ОЗУ, графический экран и прозрачную регенерацию.
Это, на мой взгляд, более прогрессивно, чем 32К "РК-86" и ВГ75 с ПДП.
Структура графического экрана "Специалиста" куда удобнее для программиста, нежели организация экрана "Спецтрума".
И еще раз подчеркиваю, что эти конструкции безусловно, радиолюбительские, рассчитаны на массовое повторение в тот исторический момент, когда никаких других компьютеров в избытке и не наблюдалось. Поэтому предъявлять к ним необоснованные претензии более 30 лет спустя - просто глупо. Да и сравнивать любительские "багги" с профессиональным гоночным автомобилем не совсем корректно.
Ну и я не заметил в ретроспективе, чтобы более "продвинутые" "Корветы" и иже с ними задвинули под шконку тот же "Спектрум"...
P.S. Ну а что касается т.н. "программистов", то они что-то ни в СССР, ни в поздней России "нихрена" хорошего в глобальном плане так и не написали... Собственно, это и была одна из причин, по которой мы вынуждены были делать аналоги забугорных железок.
_________________ iLavr
|
28 May 2017 03:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А у БК-001х.ХХ (разработка 1982...1983) с памятью (ОЗУ) и похуже "Специалиста" было... Хотя БК-001х.ХХ разрабатывали в НИИ точной технологии НПО «Научный Центр», г. Зеленоград, а не какой-то там "кустарь-одиночка с мотором"... ( https://ru.wikipedia.org/wiki/БК_(семейство_компьютеров))
_________________ iLavr
|
01 Jul 2017 19:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я, кстати, ещё когда обсуждали это, испытал некоторое недоумение, но ничего не высказал... А так как я тут вплотную занялся внутренностями ЯВУ: PL/M, Tiny Basic и этот вот Best_C поковырял, то я понял, в чем было моё недоумение: НА КЛАВИАТУРЕ "СПЕЦИАЛИСТА_МХ" СКОБКИ {} ЕСТЬ! В этой связи вот какой интересный вопрос возник: а что, если адаптировать Best_C под " Специалист_МХ"? Должно получиться очень интересно. Дело в том что в комплекте Best_C еще и редактор "Микрон" прикручен, вместе они занимают память 0000-47FFh, что не оставляет места для программы практически, но и то - программы в пакете есть. Но в " Специалисте_МХ" редактор "Микрон" можно удалить. Собственный редактор " Специалиста_МХ" - 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? Декомпилировать как-то нет особой охоты, ибо довольно-таки много... Сведения об авторе следующие: Сведения из открытого источника - описания Best_C. Я знал этого человека в том "далёком давно" в лицо, хоть я и зело старше его, поэтому знаком с ним лично не был в силу разницы возраста. Написал я письмо знакомым, которые по возрасту должны были знать его лучше. Мне ответили: Значит там "весёлые 90-е" надвинулись... но, может быть, у кого-либо исходники Best_C имеются?
_________________ iLavr
|
13 Dec 2019 15:22 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Редактор "Микрон" (я вчера покопал файл BEST-C.RKP) расположен по адресам 0000-07FFh, и связь между ним и Best_C-компилятором, похоже, только в JMP-ах по клавише <CTP>. Не то, чтобы очень много - 16 КБайт - но декомпилировать средствами "Специалиста_МХ" неудобно. Пришлось бы резать на несколько частей... Пошарил по сети простенький подВиндовый дизассемблер i8080, ничего подходящего не нашел пока. IDA у меня есть, но она код z80 выдает вроде как... P.S. Нашел у себя "в закромах Родины" какой-то DB8085 - 8080 and 8085 binary file disassembler ни разу им не пользовался... Но надо посмотреть...
_________________ iLavr
|
14 Dec 2019 05:33 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Посмотрел на примере Tiny BASIC, для которого есть исходный код. Особым интеллектом этот DB8085 disassembler не блещет, молотит всё как код, но рядом с мнемониками выписывает исходные коды в HEX-виде и символами: То есть, текстовые сообщения и таблицы придётся рихтовать вручную... Ну... в принципе можно попробовать декомпильнуть Best_C... P.S. Сам DB8085 disassembler я брал вот здесь: Dick's Web Page (W3SYY), осталась ссылка.
_________________ iLavr
|
14 Dec 2019 07:13 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
| | | | Lavr wrote: Редактор "Микрон" (я вчера покопал файл BEST-C.RKP) расположен по адресам 0000-07FFh, и связь между ним и Best_C-компилятором, похоже, только в JMP-ах по клавише <CTP>. | | | | |
Сегодня попробовал у Best_C для "Микроши" редактор "Микрон" отрезать. Отделился вроде как безболезненно и остался работоспособным, если не нажимать вызов компилятора С. Осталось протестировать для "Специалиста", там, похоже, чуть посложнее всё. Дело в том, что я предварительно сравнивал бинарно и просматривал файлы Best_C для "Микроши", "Специалиста" и "Партнера". Несмотря на одинаковый размер - 47FFH, файлы довольно разные и больше всего отличий у Best_Cдля "Специалиста" - его я даже под отладкой немного просмотрел...
_________________ iLavr
|
15 Dec 2019 08:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Best_C "Специалиста" при старте выставляет стек на 8000Н, и далее - патчит сам себя: по адресу 0000Н, где записано JMP 1000H - переход на адрес патча, он записывает LXI SP,8000H; после чего патчит еще несколько ячеек и перезапускает себя. Прямо под RAMFOS "Специалиста_MX" стартует нормально, только предварительно надо включить кодировку КОИ-7: Текстовый буфер начинается с адреса 4800Н, с адреса 8000Н предлагается размещать библиотеки. Одна библиотека для графических функций PLOT и LINE есть в комплекте. Что ж... надо попробовать скомпилировать что-то осмысленное. Если скомпилируется успешно и в компактный код, будет иметь смысл расковырять этот Best_C до исходника...
_________________ iLavr
|
15 Dec 2019 10:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Подведу некоторый итог опытов с этим самым BEST-C... Я его чуть-чуть пропатчил и он довольно прилично стал работать под RAMFOS" Специалиста_МХ". Собственно, он сам теперь включает КОИ-7 и не лезет, куда не следует, a работать с ним вполне можно, если аккуратно. Файлы программ на Си - обычные текстовые, которые поддерживает редактор RAMFOS, со стоп-байтом 0FFH в конце. Только в RAMFOS буфер редактора начинается с адреса 1100Н, а файлы Си - на адресе 4800Н начинаются. Поэтому работать надо так: выходим в Debug по [F7], в нем вызываем загрузку файла также через [F7]. Файл копируем на адрес 4800Н и выходим из Debug. Запускаем BEST-C.ЕХЕ и он начинает задавать кучу вопросов, как на них отвечать, я показал на скриншоте. Главное, на вопрос NEW? ответить N, т.к. мы полжили программу в память. Запускается Редактор типа "Микрон", кто умеет, можно работать его клавишами УС+хх Но лучше нажать [СТР] и выйти в компилятор. Он тоже задаст вопросы, на которые видно как ответить на скриншоте. Компилятор предлагает 3 варианта компияции: 1, 2, 31 - полный листинг, и что приятно, показывает, во что превращаются строки Си. 2 - выдаст только адреса. 3 - скомпилирует быстро и молча. В архиве есть файл BEST_C.ALL - под эмулятор Шевцова, он загрузит всё сразу: сам BEST-C, графическую библиотеку и тестовые программы. Собственно, я добивался взглянуть, во что BEST-C превратит простую программу аналог под PL/M - заполнение области байтом, и результат мне не понравился. http://www.nedopc.org/forum/viewtopic.php?f=81&t=19633#p153052Писать программы в эмуляторах ныне - дурной тон, поэтому я писал в обычном редакторе под Вендой, а в эмулятор пропихивал с помощью маленькой утилиты, которая удаляет все 0AH из текста, формируя файл *.I80, с байтом 0FFH в конце. Она же формирует сопутствующий файл *.CPU - эти файлы удобно грузить в эмулятор Шевцова. Исходный текст не меняется. Утилита есть в архиве, писать надо в КОИ-8, или же всё - на английском... В общем, я пока поостыл декомпилировать этот BEST-C, слишком "толстый" код он выдаёт... Я поискал в сети и нашел небольшой кросс-компилятор SMALL_C, который выдает код под i8080: http://www.cpm.z80.de/small_c.htmlГляну, во что он соберет тот же самый пример. А уже потом будем посмотреть...
_________________ iLavr
|
17 Dec 2019 20:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Декомпилировал двумя инструментами: DB8085 disassembler и DIZASM от "Специалиста_МХ", благо я сделал себе работу с пакетом RAMFOS гораздо удобнее. DIZASM от "Специалиста_МХ" лучше обрабатывает области данных и текстовые области, а DB8085 позволил декомпилировать крупный по размеру файл целиком. В общем в "нулевом приближении" код по исходнику собирается с адреса 0800H полностью идентично оригиналу. В архиве - исходный ассемблерный код компилятора С без редактора, а также оригинал бинарного кода для сравнения. Я оставил всё как есть в оригинале, некоторые комментарии - по разбору таблиц. Компилировать с других адресов пока не пробовал. По ходу разбора кода впечатление об этом компиляторе С у меня сложилось довольно странное. Я предполагал, что он транслирует текст С в ассемблерный код и уже его компилирует. Оказалось, что это не так. В теле компилятора есть куски кода в текстовом виде, полагаю, они соответствуют директивам С, и есть эти же куски в виде бинарного кода. Во время листинга компилятор показывает соответствие тексту на С кодом в текстовом виде и собирает программу из эквивалентов в виде бинарного кода. Видимо, поэтому код получается весьма "толстым". Очень много работы со стеком, по сути все манипуляции делаются в стеке. Ну что ж, для интересу можно код и почитать теперь, поскольку в кишках компиляторов С я ранее практически особо и не копался... P.S. А вот DB8085 disassembler, что я брал вот здесь: Dick's Web Page (W3SYY), меня немного подвёл. Он неверно декомпилирует инструкцию CNZ (код 0С4Н).
_________________ iLavr
|
03 Jan 2020 22:11 |
|
|
Who is online |
Users browsing this forum: No registered users and 28 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
|
|