Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию https://zx.oberon.org/forum/viewtopic.php?f=10&t=21 |
Страница 1 из 1 |
Автор: | Zorko [ 02 июн 2012, 13:58 ] | ||
Заголовок сообщения: | Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию | ||
XDev/ZXDev — открытая и свободная интегрированная среда разработки на четырёх языках программирования (Оберон, Оберон-2, Си, ассемблер Z80) для платформы ZX Spectrum, базирующаяся на Оберон-окружении BlackBox Component Builder, трансляторе Ofront и компиляторе SDCC, а также наборе дополнительных утилит и библиотек (Basic, Laser). Я не позиционирую ZXDev как полную и безоговорочную альтернативу ассемблеру в низкоуровневом кодировании. Скорее, среда будет интересна исследователям языков программирования и их возможностей в проекции на слабенький по сегодняшним меркам процессор Z80, для оттачивания высокоуровневых интерфейсов библиотек и выработки взгляда на кроссплатформенное программирование, которое не основано на относительно больших объёмах памяти, 32-битной (и более) разрядности и гарантированно высоком быстродействии (как .NET и Java). Также среда ZXDev будет полезна для желающих разработать кроссплатформенную игру для Спектрума (или MSX, ColecoVision, Amstrad CPC и т.д.) и других платформ одномоментно. Тема открыта для обсуждения тонкостей дальнейшего развития ZXDev, баг-репортов и новых идей. Для тех, кто хочет понять, стоит ли это качать и смотреть, прикрепляю скриншот, а вот ссылка на ZXDevRus.txt.
Принимается помощь в виде процедур и интерфейсов для библиотек.
|
Автор: | Zorko [ 12 авг 2012, 15:34 ] |
Заголовок сообщения: | Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Предполагаемые направления дальнейшей деятельности:
2. Адаптация к ZXDev библиотеки Sprite Pack из Z88DK ( http://www.timexsinclair.org/alvin/#SP , http://www.mojontwins.com/warehouse/splib2-tutorial.pdf ). Ещё посмотреть в эту сторону: ( http://www.z88dk.org/wiki/doku.php и http://www.z88dk.org/wiki/doku.php?id=library:sprites:sp1 ). 3. Адаптация к ZXDev наработок SerzhSoft’а, в частности, “40 лучших процедур” ( http://vladik1232008.narod.ru/ZX_FORUM_40_Best_procedures.html , http://vladik1232008.narod.ru/ZX_Review11_12.html ) 4. Портирование с Hisoft Pascal библиотеки для черепашьей графики Turtle. 5. Адаптация к ZXDev процедуры NiceType (красивый вывод текста) с моей игры Sea Fight ( http://colossoft.anarxi.st/?go=seafight ). 6. Порт игры “Бега Мышей” (из книги “Как написать игру для ZX Spectrum”) с Laser Basic на Оберон-2 (в качестве демонстрации технологии ZXDev). 7. Порт игры Laser Cube с Laser Basic на Оберон-2 с целью её ускорения. 8. Порт игры Dark Woods для ZX Spectrum ( https://zx.oberon.org/forum/viewforum.php?f=19 ). Следует предпринять и такие шаги:
2. Доработка Ofront до возможности полноценно использовать линейку беззнаковых типов в программах на Обероне – SHORTCARD (8 бит), CARDINAL (16 бит), LONGCARD (32 бита), что важно для оптимальности алгоритмов при разворачивании кода на процессор Z80. Название типов исходит из языка Модула-2, но обсуждаемо. 3. Разработка быстрой графической библиотеки для ZX Spectrum (оконное GUI, шрифты разных размеров, заливка текстурой, спрайты, тайлы, векторная графика с масштабированием). Создание аналогичной по функционалу и по вызовам библиотеки для других платформ (для облегчения переноса игр со Спектрума и для одномоментной разработки для Спектрума и чего-то ещё). 4. Совершенствование подсистемы ZXDev для упрощения разработки (чтобы новичкам легче было создавать на Обероне программы для ZX Spectrum), наращивание её возможностей новыми библиотеками и насыщение идеями, создание информационного пространства в рамках технологии “ZX+Oberon”. 5. Дальнейшая доработка Офронта до транслятора, включающая поддержку языка Component Pascal, с возможностью использовать язык КП для программирования процессора Z80. Я не собираюсь реализовывать всё вышеперечисленное сам, всего на свете не сделаешь, поэтому буду рад любой помощи, даже самой маленькой. Также буду рад услышать мнения, какие пункты считаете более приоритетными. |
Автор: | Black_Cat [ 17 сен 2012, 20:39 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Zorko писал(а): наращивание её возможностей новыми библиотеками и насыщение идеями, создание информационного пространства в рамках технологии “ZX+Oberon”. Для Спектрума это актуально сейчас, не смотря на его 30 летнюю историю существования, т.к. этого до сих пор нет ввиду изначального отсутствия на Спектруме среды, где это всё было бы применимо. На других платформах, которым больше повезло, была хотя бы ОС, как базис задающий упорядоченность, без которой невозможно какое-либо эволюционное развитие и поступательное движение вперёд, основывающееся на предыдущих наработках. На Спектруме до сих пор нет ничего этого. Были разрознённые, спорадические проекты, в большинстве своём дилетантские, не могущие упорядочить что-то ввиду собственной ущербности (посмотрите для примера на т.н. "ОС для Спектрума" iS-DOS). Т.к. базиса в виде ОС нет и не предвидится ввиду спектрумовской специфики, то до спектрум-сообщества наконец начала доходить идея о необходимости какой-то хотя бы внешней (т.е. не диктуемой средой) стандартизации и упорядочивания. Для этого создан специальный ресурс http://dev.speccy.info/index.php , охватывающий вопросы как аппаратного, так и программного развития Спектрума. Ресурс только развивается, и хотелось бы изначально сделать его развитие максимально профессиональным. Приветствуется любая помощь по созданию ресурса. Обсуждение и предложения по ресурсу сюда http://zx.clan.su/forum/17-100-1 |
Автор: | Zorko [ 18 сен 2012, 13:41 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Благодарю, что зашли к нам на огонёк, Black Cat. Желаю вашему проекту успехов. Давно пора привести всё это наследие в порядок. Грустно только, что разработка для ZX становится занятием всё более раритетным, как ретрогейминг. Я не согласен, что виной отсутствие на Спектруме среды. Ранее тоже можно было объединиться вокруг TR-DOS или асм-кодинга в целом. И искать единомышленников в сети ZXNet или фидо-конференции ZX.SPECTRUM. Сейчас — можно вокруг SjASMPlus или SDCC, чего почти никто не делает, потому что, похоже, люди делятся на две категории — 100%-занятых и бездарей. Шучу. Мало энтузиастов стало. Не только на Спектрум-платформе. Мэйнстрим приучил к потребительскому отношению и к платформам, и к средствам разработки. Ускорился темп жизни и тех, и других. Моментально обживаются, поднятые на рекламные щиты, быстро устаревают и отмирают. Попытка лучших из мэйнстримистов робко поменять что-либо обычно пресекается директивно: “делай вот это на вот этом, мы тебе платим”. Хочу подчеркнуть важное отличие проекта ZXDev от других проектов, ориентированных на разработку для Спектрума (таких как Open Source ZX, например). Цель проекта ZXDev — несколько шире, чем просто разработка для ZX. Это исследовательский проект, изучающий потенциал программирования для ZX (в перспективе и для других платформ) на языках высокого уровня, потому что потенциально высокоуровневый подход может дать результаты гораздо качественнее, чем низкоуровневый ручной кодинг, в плане переносимости, скорости разработки и надёжности полученных результатов. Заложенные в компиляторы ЯВУ алгоритмы оптимизации способны находить оптимальные решения не хуже, чем асм-кодер. Но направление нужно исследовать и развивать, а эта работа для ZX ещё никем толком не проводилась. Упор был сделан только на ассемблерное кодирование, что было естественно для 80-х и 90-х. Сейчас же, благодаря стараниям энтузиаста Филиппа Краузе, SDCC умеет генерировать великолепный машинный код для Z80, конечно похуже закодированного человеком вручную на асме, но всё больше приближается к этому уровню. Кроме того, для XDev платформа ZX Spectrum — это одна из платформ, в ряду тех, которые нужно исследовать и выкристаллизовать те моменты, которые являются общими для всех компьютеров, и сделать их концептуальной базой для будущих переносимых между платформами библиотек. Хочу проиллюстрировать сказанное примером. Есть интересный для меня проект http://www.boulder-dash.narod.ru. (Отдельная благодарность его автору Юрию Калмыкову, низкий поклон). Однако вы загляните в исходники. Это же полная завязка на Windows, в большом и малом! То же самое я могу сказать про порт этой игры с БК-0010 на MS-DOS/CGA, сделанный Владимиром Мутелем. Полная завязка не только на DOS, но и на нестандартные расширения ТурбоСи. Да, Си позволяет строить переносимые программы. Но коммерческим программированием очень поощряется сильная привязка разработки к особенностям платформы. Теперь чтобы перенести эту игру, скажем, под Linux, ещё неизвестно чего проще — портировать её или переписать заново. Поэтому задача проекта ZXDev — быть показательным примером как нужно делать программы на ЯВУ с самого начала, чтобы чётко отделить мух от котлет — платформенные особенности от базовых алгоритмов, изолируя чётко первые от вторых, и ставя вторые во главу угла. Думаете эта идея фантастична? Да ничуть. Вот вам примеры, иллюстрирующие возможность этого подхода на практике. Supertripper (Indescomp 1985) — AMSTRAD, MSX Columns (CEZ GS 2004) — AMSTRAD, SPECTRUM Phantomas Saga Infinity (CEZ GS 2006) — SPECTRUM, AMSTRAD, MSX Nanako - in Classic Japanese Monster Castle (CEZ Silver 2007) — SPECTRUM, AMSTRAD, C64 BeTiled! (CEZ Silver 2007) — SPECTRUM, AMSTRAD, MSX After the War (Dinamic 1989) — SPECTRUM, AMSTRAD, C64, ATARI ST, AMIGA, PC DOS Angel Nieto Pole 500 (Opera Sport 1990) — SPECTRUM, AMSTRAD, MSX, PCW, ATARI ST, AMIGA, PC DOS Army Moves (Dinamic 1986) — SPECTRUM, AMSTRAD, C64, MSX, ATARI ST, AMIGA, PC DOS Aspar Grand Prix Master (Dinamic 1988) — SPECTRUM, AMSTRAD, C64, MSX, ATARI ST, AMIGA, PC DOS Astro Marine Corps (Dinamic 1989) — SPECTRUM, AMSTRAD, C64, MSX, ATARI ST, AMIGA (Эти игры — кроссплатформенные. И такая кроссплатформенность больше похожа на настоящую, чем “MS-совместимая”). Были и другие игры, которые делались сразу для ряда платформ: Elite, Lode Runner, Tower Toppler (Nebulus), Hobbit, Exolon, Dizzy, Rockford, Down to Earth и т.д. Представляя собою проекции на различные процессоры и аппаратные (в частности, графические) возможности, они, тем не менее, очень часто по внешнему виду отличались минимально. Думаю, общие моменты в них могли бы быть закодированы эффективно на чём-то вроде SDCC или ZXDev. Научиться делать игры такого класса, но кроссплатформенные (включая Спектрум) на языках высокого уровня, предоставить программистам базу для такой разработки — вот цели проекта ZXDev. Я не хватаю с неба звёзд и понимаю, что в подобных проектах полностью избавиться от низкоуровневого кодирования не удастся. Но ЯВУ-средства помогут сконструировать чёткий проектный каркас программы, что поможет снизить сложность разработки и повысить её шансы на переносимость на другие платформы. А уже насколько повысить — это другой вопрос. И взгляните на страничку https://zx.oberon.org/dash.htm. Это та же игра, но чтобы перенести её под Линукс нужно просто переписать несколько процедур: вывод спрайтов, текстов и т.д. Сделать врапперы к существующим библиотекам, да и всё. Занятие на пару вечеров. Вот тут кроется преимущество в переводе игр под ZXDev. Это пересмотр внутренней структуры игры, чтобы выявить общие для платформ вещи и те, которые будут различаться, и отделить логику игры от набора низкоуровневых возможностей, реализующих нужные фишки. Разумеется, это дополнительная кропотливая работа. Гораздо легче не заморачиваться и закодить только под одну платформу. Но появляется нужда в других платформах, А раз делают рекомпиляцию игр с MSX под MS-DOS, значит такая работа кому-то интересна. (Там, правда, больше в лоб, на замену инструкций Z80 на прямые аналоги i86, но часть кода конечно переписывается полностью. Хотя и нет особой разницы — запустить на современном железе эмулятор MSX или эмулятор MS-DOS'а). Эта деятельность хоть и является интересным упражнением для ума, но никак не решает проблему переноса игры на более другие платформы. Вместе с тем, для целей проекта ZXDev совершенно невозможно использовать современные мэйнстрим-средства разработки — они настолько распухли, что для ZX стали практически безполезны. (Я знаю о проекте Игоря Мазницы “Java для ZX”, но, кажется, дальше helloworld’а там дело не продвинулось). Поэтому Спектрум является тем мерилом, высветляющим явные недостатки “кроссплатформенных” технологий .NET и Java, скриптовых языков и т.п. То узкоспециализированные средства. (На них невозможно разработать ОС, например). Оберон же — универсальный язык программирования, хоть и простой, но вполне пригодный для очень широкого класса задач, включая разработку ОС. Си тоже остаётся в нише средств, которые рано списывать. Хоть язык и имеет много недостатков, но я выбрал его из-за кроссплатформенности и хорошей кодогенерации в SDCC. Рассматривались и другие варианты, например, z88dk (особенно из-за библиотеки Sprite Pack), но SDCC показался более проработанным в самом важном — кодогенерации. С большим интересом также посматриваю в сторону Модулы-2, и, возможно, со временем в ZXDev появится поддержка и этого языка. |
Автор: | Black_Cat [ 19 сен 2012, 14:42 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Zorko писал(а): Я не согласен, что виной отсутствие на Спектруме среды. Ранее тоже можно было объединиться вокруг TR-DOS или асм-кодинга в целом. TR-DOS - это сугубо дисковая система, а не универсальная ОС, и ничего хорошего из ориентации на TR-DOS как на базис не выходило и не могло выйти ввиду её ущербности. Ориентироваться на TR-DOS как на базис для построения чего-то большего всё равно что пытаться построить на базе дровяного сарая небоскрёб. Всем понятно, что это будет за небоскрёб ![]() В остальном, необходимо вспомнить исторические условия создания софта под Спектрум. Когда это было коммерчески выгодно, все производители были разъединены конкуренцией и ваяли инструменты каждый своё и только для себя. И соответственно делиться своими инструментами, с целью создать что-то общее никто не собирался. А когда коммерция на Спектруме накрылась, то практически весь коммерческий инструментарий, за редким исключением, либо сгинул, либо переориентировался на новые направления. Таким образом на спектруме практически ничего не осталось. И только сейчас, когда коммерческая сторона на Спектруме практически исчезла, и на него начала проникать привнесённая извне опен сорсная идеология, только после этого, на Спектруме начала фомироваться некая опен сорсная среда, в которой и стало возможным создание чего-то обобщённого, чего раньше на Спектруме не могло возникнуть принципиально ![]() Zorko писал(а): Кроме того, для XDev платформа ZX Spectrum — это одна из платформ, в ряду тех, которые нужно исследовать и выкристаллизовать те моменты, которые являются общими для всех компьютеров, и сделать их концептуальной базой для будущих переносимых между платформами библиотек. Общим для большинства старых платформ является отсутствие интереса к ним у массового пользователя, и как следствие почти полное отсутствие развития их программной поддержки в настоящее время, хотя причина отсутствия интереса кроется в нынешней безысходности в вопросах смысла их жизни: "А что же дальше?", "Есть ли жизнь после смерти?", и "Зачем они дальше нужны?" ![]() ![]() Zorko писал(а): Хочу подчеркнуть важное отличие проекта ZXDev от других проектов, ориентированных на разработку для Спектрума (таких как Open Source ZX, например). Цель проекта ZXDev — несколько шире, чем просто разработка для ZX. Это исследовательский проект, изучающий потенциал программирования для ZX (в перспективе и для других платформ) на языках высокого уровня, потому что потенциально высокоуровневый подход может дать результаты гораздо качественнее, чем низкоуровневый ручной кодинг, в плане переносимости, скорости разработки и надёжности полученных результатов. Самым очевидным стимулом использования ZXDev стала бы реализация проекта сразу для нескольких отечественных ретроплатформ кроме Спектрума. Таких как Орион, Вектор, Специалист, etc. Платформы эти довольно бедные на софт, поэтому значимость любой новой программы под них выше, что создаст дополнительную мотивацию ![]() Zorko писал(а): А раз делают рекомпиляцию игр с MSX под MS-DOS, значит такая работа кому-то интересна. Это сугубо ностальгия рассчитанная на тех, кто не хочет заморачиваться с установкой эмулятора, задача кроссплатформенности там не ставится. |
Автор: | Zorko [ 19 сен 2012, 15:07 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Black_Cat писал(а): TR-DOS - это сугубо дисковая система, а не универсальная ОС, и ничего хорошего из ориентации на TR-DOS как на базис не выходило и не могло выйти ввиду её ущербности. Ориентироваться на TR-DOS как на базис для построения чего-то большего всё равно что пытаться построить на базе дровяного сарая небоскрёб. Всем понятно, что это будет за небоскрёб Валерий, а Вы вспомните, что тормозило развитие HDD-контроллеров и той же iS-DOS на Спеке, если некоторые шаги на отступление от совместимости с огромным массивом софта под ленту/TR-DOS вызывали новые ограничения. Возникает философский вопрос — а может ли в таких условиях обрестись что-либо полноценнее TR-DOS'а? Ибо на архитектуре ZX небоскрёб не построишь, а можно только сельский домик. Иначе "это будет уже не ZX". ![]() ![]() Black_Cat писал(а): Самым очевидным стимулом использования ZXDev стала бы реализация проекта сразу для нескольких отечественных ретроплатформ кроме Спектрума. Таких как Орион, Вектор, Специалист, etc. Платформы эти довольно бедные на софт, поэтому значимость любой новой программы под них выше, что создаст дополнительную мотивацию Согласен, но это было бы актуально в пору расцвета этих платформ. Плюс одно важное ограничение SDCC: он не умеет генерировать код для процессора КР580(i8080). Сейчас же (и завтра) надо иметь дело с платформами, которые широко доступны в железе. В связи с этим есть мнение, что если на платформе превалирует потребительский подход, там пышно расцветают коммерческие ростки, а энтузиасты, поборники компьютерного творчества, теряются в общей массе.![]() Но и с парой-тройкой человек, подстёгиваемых ностальгией, можно много чего сделать. Главное — найти друг друга. ![]() |
Автор: | Black_Cat [ 19 сен 2012, 15:34 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Zorko писал(а): Валерий, а Вы вспомните, что тормозило развитие HDD-контроллеров и той же iS-DOS на Спеке, если некоторые шаги на отступление от совместимости с огромным массивом софта под ленту/TR-DOS вызывали новые ограничения. Возникает философский вопрос — а может ли в таких условиях обрестись что-либо полноценнее TR-DOS'а? Ибо на архитектуре ZX небоскрёб не построишь, а можно только сельский домик. Иначе "это будет уже не ZX". На Спеке применение любой ОС тормозится необходимостью переделки абсолютно всего софта под эту ось ![]() ![]() ![]() Zorko писал(а): Согласен, но это было бы актуально в пору расцвета этих платформ. Плюс одно важное ограничение SDCC: он не умеет генерировать код для процессора КР580(i8080). Сейчас же (и завтра) надо иметь дело с платформами, которые широко доступны в железе. Вообще-то я имел ввиду текущую ситуацию ![]() ![]() ![]() |
Автор: | Zorko [ 28 сен 2012, 21:31 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Black_Cat писал(а): Парадокс в том, что на отечественных платформах народ более креативный чем на Спектруме, не смотря на явную малочисленность Буду признателен, если подкрепите это высказывание ссылками. Впрочем, кое-что я нашёл и сам, но это давние проекты. Например, мне нравится деятельность Виктора Пыхонина, Евгения Троицкого (автора Эмулятора 3000). Вот очень интересный сайт: ПК НОСТАЛЬГИЯ (TheDark и AG Pro). Ностальгия по БК — сайты «БКашка, моя первая любовь» (Евгений Пашигоров) и «Mercury software» (Сергей Кононенко). Вспоминаются также сайт по ATM Turbo (Максим Тимонин), сайт по Вектору-06Ц (Александр Тимошенко), а также картотека софта по нему же (Вячеслав Славинский), ну и конечно же деятельность «NedoPC Team».![]() А недавно нашёл ещё сайт по Агату (Владимир из Томска) и форумную тему Кросскомпилятор Си под 8080. Да, действительно впечатляет. Кстати, этот компилятор, по мере его развития, мог бы сделаться стимулом чтобы начать на его базе нарабатывать сишные библиотеки для советских ПК на базе процессора К580. Но здесь есть серьёзнейшая проблема. Собрать все наработки вместе сможет лишь заинтересованная в этом команда. Я тоже раньше надеялся, что найдётся стимул объединиться. Но в силу сложившихся обстоятельств и ряда причин (психологических, технических и социальных) оцениваю вероятность появления такой команды очень невысоко. Однако что смогу — сделаю и для советских платформ (в контексте разработки программ для них на ЯВУ, ибо меня интересует данное направление) — это основная цель появления проекта XDev, но мне не хватает знаний поддержать все ретроплатформы, да и мотивации тоже. |
Автор: | Black_Cat [ 01 окт 2012, 12:25 ] |
Заголовок сообщения: | Re: Мощная среда ZXDev для разработки НА ЧЕТЫРЁХ ЯЗЫКАХ для ZX Spectrum готова к тестированию |
Zorko писал(а): Black_Cat писал(а): Парадокс в том, что на отечественных платформах народ более креативный чем на Спектруме, не смотря на явную малочисленность Буду признателен, если подкрепите это высказывание ссылками. Впрочем, кое-что я нашёл и сам![]() ![]() ![]() Я хотел обратить внимание на сообщества любителей платформ Вектор, Орион и Специалист на zx.pk.ru . В отличии от спектрум сообщества, эти сообщества на порядки меньше, но в этом и состоит их сила - там иное соотношение потребителей и созидателей в отличии от Спектрума. Большая часть спектрум сообщества - это потребители, к сожалению в значительной мере подверженные стадности, эгоизму, невежеству и тщеславию, не выносящие ничего, что выходит за рамки их ограниченного кругозора. Хуже того, администрация самого ресурса zx.pk.ru составляется преимущественно из людей именно с такими качествами. Соответственно, и порядки, поддерживаемые такой администрацией соответствуют её мировоззрению. Рыба гниёт с головы. Исравить ситуацию возможно было бы введя выборность администрации, но собственник ресурса и главный администратор в одном лице, против любых попыток демократизации ![]() В этом плане другим сообществам на zx.pk.ru повезло больше - они предоставлены самим себе, и сами решают что для них хорошо ![]() ![]() Вот что я имел ввиду ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |