PDA

Просмотр полной версии : Помощь в кроссплатформенной разработке под zx spectrum



Terabiterr
18.11.2019, 00:08
Всем привет!
Кто что знает о кроссплатформенной разработке под zx spectrum?
Интересуют подходы, как запускали, что использовали, пробовали и на чем писали?
Что у кого есть по литературе?

{
примеры того что видел:
https://zx.oberon2.ru/dash.htm

Вики для тех кто не знает:
http://speccy.info/Кросс-средства

Кто готов помочь:
т.к. новичок интересуется.:v2_dizzy_fisher:
}

Bedazzle
18.11.2019, 00:26
https://www.z88dk.org/forum/

Bolt
18.11.2019, 01:12
Ну, даже не знаю, упоминать ли... У нас тут на форуме два Паскаля есть. Один типа-Паскаль, и на нём уже что-то пишут, второй типа-компилятор с неограниченными амбициями :-)

https://zx-pk.ru/threads/24967-zx-like-pascal.html

https://zx-pk.ru/threads/24762-kompilyator-yazyka-paskal-plany-na-budushchee.html

krotan
18.11.2019, 01:45
Один из самых обкатанных вариантов; https://zx-pk.ru/threads/447-sjasmplus-z80-kross-assembler.html

andrews
18.11.2019, 02:59
Если уж говорить о глобальных подходах, то нужна IDE со встроенными эмуляторами( или взаимодействующая с ними) всех ретро-компов, а до кучи и игровых приставок. Чтобы если кто-то сподвигся на новый софт, то сразу осчастливливал всех ностальгирующих и цифровых партизан всех платформ. Начать можно и с просто Бейсиков+ассемблеров, благо они на всех компах были, или с просто ассемблеров и компиляторов языков "чуть выше ассемблера". IDE должна быть не тупая, а с ИИ. Хоть какое-то практическое применение для него. Эмуляторы нужны для запуска отладки создаваемого ПО, следовательно дополненные дебагерами. Насколько мне известно программ такого класса вообще в мире не существует на данный момент.

nihirash
18.11.2019, 03:48
https://desdes.com/products/oldfiles/zeus.htm

Ассемблер со встроенным IDE и эмулятором.
Там даже примеры игр есть.

Ну и в этом цикле статей есть примеры использования: https://seven-fff.com/blog/zalaxa-2-setting-up-the-dev-environment/

Labrador
18.11.2019, 08:33
На вид этот Zeus штука классная, надо попробовать. Я находил zDevStudio (https://sourceforge.net/projects/zdevstudio/), тоже вроде не плохой IDE но сыроватый. Для бейсика есть еще BasinC - https://arda.kisafilm.org/blog/?page_id=848&lang=en.

Terabiterr
18.11.2019, 10:27
Если уж говорить о глобальных подходах, то нужна IDE со встроенными эмуляторами( или взаимодействующая с ними) всех ретро-компов, а до кучи и игровых приставок. Чтобы если кто-то сподвигся на новый софт, то сразу осчастливливал всех ностальгирующих и цифровых партизан всех платформ. Начать можно и с просто Бейсиков+ассемблеров, благо они на всех компах были, или с просто ассемблеров и компиляторов языков "чуть выше ассемблера". IDE должна быть не тупая, а с ИИ. Хоть какое-то практическое применение для него. Эмуляторы нужны для запуска отладки создаваемого ПО, следовательно дополненные дебагерами. Насколько мне известно программ такого класса вообще в мире не существует на данный момент.
Что-то не вероятное. Это надо быть гением и иметь команду гениев чтобы такое сделать

nihirash
18.11.2019, 13:46
Если хочешь сделать что-нибудь стоящее, то боюсь без ассемблера не обойтись.

Начинай с простого - через рестарт попиши буквы, нарисуй спрайтик через шрифты, потом напрямую в видеопамять через знакоместа, подвигай его.

Не кидайся сразу что то большое делать - скорее испугаешься и запутаешься, чем что то сделаешь.

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

Борель крайне не рекомендую.

bigral
18.11.2019, 15:03
Проги под zx (и другие 8bit) резко отличаются от современного "обычного программирования". Потому что уже 286-й был очень быстрым процессором, ну например, игра типа exolon на 286-ом 20mhz с видяхой типа tvga вполне себе может быть переделанна с zx-a путем замены z80 команд на эмулирующие их куски C, при этом оно будет рисовать все в буфер со структурой zx экрана а по прерыванию от видяхи перекодировать этот буфер в vga... что уж там говорить про все другие процы которые круче 286 20mhz. Так что это своего рода "магия" суть которой влепить максимальное количество графики в минимальное количество тактов процессора. Данный вид извращений вообще не понять 99% современной молодежи. Но если в 2-х словах то есть 3 вида прог под zx:
1. крутые (100% ассемблера + самые быстрые алгоритмы);
2. нормальные (основные ресурсоемкие процедуры (рутина) на ассемблере ~80% + логика проги на С или AGD скрипте ~20%);
3. фуфло (100% на C или вообще на basic);

Начинать писать сразу проги 1-го типа это обычный путь типичного спектрумиста времен начала 90-х... он сложный и 90% народу обламывались на стадии чуть более продвинутой чем hello world; Начинать со второго типа еще сложнее, потому что надо хотябы какоето количество кода написать в стиле 1-го типа а потом еще и сочленить это все дело с языком высокого уровня; Так что наверно надо начинать с третьего уровня и далее заменять по 1-й самые тормозные процедуры (обычно вывод на экран).

kolobokru
18.11.2019, 15:26
Мы с кумом по таким книгам учились кодить (правда уже них..на не помню). Правда там ошибки попадаются.
https://zxpress.ru/book.php?id=3
https://zxpress.ru/book.php?id=2

Lethargeek
18.11.2019, 15:53
Потому что уже 286-й был очень быстрым процессором, ну например, игра типа exolon на 286-ом 20mhz с видяхой типа tvga вполне себе может быть переделанна с zx-a путем замены z80 команд на эмулирующие их куски C, при этом оно будет рисовать все в буфер со структурой zx экрана а по прерыванию от видяхи перекодировать этот буфер в vga...
ага, щяз... вот так в лоб целиком весь буфер перекодировать даже 386 не потянет, даже рукописной асм-процедурой

- - - Добавлено - - -

(не в 16-битном дос-режиме, во всяком случае)

Terabiterr
18.11.2019, 16:55
Если хочешь сделать что-нибудь стоящее, то боюсь без ассемблера не обойтись.
Это я уже понял.:)



Не кидайся сразу что то большое делать - скорее испугаешься и запутаешься, чем что то сделаешь.
Согласен.

Один из самых обкатанных вариантов; https://zx-pk.ru/threads/447-sjasmpl...assembler.html
Вариант не плох. Нужно тестировать на практике. Как это все работает нужно разбираться т.к. документации там той буквально пару страниц. Ну на первый взгляд заманчиво.

- - - Добавлено - - -


Проги под zx (и другие 8bit) резко отличаются от современного "обычного программирования". Потому что уже 286-й был очень быстрым процессором, ну например, игра типа exolon на 286-ом 20mhz с видяхой типа tvga вполне себе может быть переделанна с zx-a путем замены z80 команд на эмулирующие их куски C, при этом оно будет рисовать все в буфер со структурой zx экрана а по прерыванию от видяхи перекодировать этот буфер в vga... что уж там говорить про все другие процы которые круче 286 20mhz. Так что это своего рода "магия" суть которой влепить максимальное количество графики в минимальное количество тактов процессора. Данный вид извращений вообще не понять 99% современной молодежи. Но если в 2-х словах то есть 3 вида прог под zx:
1. крутые (100% ассемблера + самые быстрые алгоритмы);
2. нормальные (основные ресурсоемкие процедуры (рутина) на ассемблере ~80% + логика проги на С или AGD скрипте ~20%);
3. фуфло (100% на C или вообще на basic);

Начинать писать сразу проги 1-го типа это обычный путь типичного спектрумиста времен начала 90-х... он сложный и 90% народу обламывались на стадии чуть более продвинутой чем hello world; Начинать со второго типа еще сложнее, потому что надо хотябы какоето количество кода написать в стиле 1-го типа а потом еще и сочленить это все дело с языком высокого уровня; Так что наверно надо начинать с третьего уровня и далее заменять по 1-й самые тормозные процедуры (обычно вывод на экран).

Как новичок в zx полностью соглашусь что надо с basic начинать. Нужно усвоить для себя общее представление всех нюансов.
Все таки изначально попробую пописать типо шахмат,тетриса на basic. И дальше нужно будет пробовать работать с Assembler т.к. как вы называете средний уровень. Это лишняя трата времени. Потому что в любом случае будешь упираться в производительность.

bigral
18.11.2019, 17:58
ага, щяз... вот так в лоб целиком весь буфер перекодировать даже 386 не потянет, даже рукописной асм-процедурой
(не в 16-битном дос-режиме, во всяком случае)

ну да наверно таки надо будет шото типа 486dx2-66

Lethargeek
18.11.2019, 18:10
Как новичок в zx полностью соглашусь что надо с basic начинать. Нужно усвоить для себя общее представление всех нюансов.
Любой ретро-васик в современных условиях - бесполезно выброшенное время. Никаких нюансов с ним не усвоишь, и даже кросс-ассемблер будет удобнее (плюс наглядная отладка кода под эмулятором). Заморачиваться васиком нужно только если собираешься заниматься "защищёнными" загрузчиками и тому подобными извращениями. Но это не для начинающих уже явно.

goodboy
18.11.2019, 19:51
новичок интересуется
а какие у тебя познания/опыт в программировании ?

Terabiterr
18.11.2019, 19:58
а какие у тебя познания/опыт в программировании ?
Только высокие - средние уровни. На машинных кодах я не кодил.

goodboy
18.11.2019, 20:23
https://zx-pk.ru/threads/24869-churrera-dvizhok-dlya-sozdaniya-igr.html

Andrew771
18.11.2019, 20:29
Только высокие - средние уровни. На машинных кодах я не кодил.
Тогда выбирай кросскомпиляторы языков высокого уровня - Басик, Оберон, Си, Паскаль, в начале темы некоторые ссылки накидали

Terabiterr
18.11.2019, 20:33
https://zx-pk.ru/threads/24869-churrera-dvizhok-dlya-sozdaniya-igr.html

Спасибо. Хорошая инфа.

Lethargeek
18.11.2019, 21:02
А есть ли нынче для ретро-платформ вообще и спека в частности подобие "взрослых" IDE - чтобы можно было выполнять пошагово операторы ЯВУ и просматривать любые структуры в памяти? Ведь без этого по факту отладка чистого машинного кода проще и удобнее получается, благо почти в каждом эмуле есть отладчик с полным доступом ко всей информации. Я совсем не в курсе, ибо после освоения ассемблера не слежу за потугами модернизировать ЯВУ на ретро-платформах. :)

Terabiterr
19.11.2019, 00:49
Lethargeek,
Вот интересная штука.
https://github.com/Dotneteer/spectnetide
https://dotneteer.github.io/spectnetide/
Visual studio это для взрослых.Во второй ссылочке есть и отладка и эмулятор. Есть все, надо разбираться.

Lethargeek
19.11.2019, 01:26
Есть все, надо разбираться.
где же есть, когда

ZX BASIC source code debugging is not supported yet.
и даже

Z80 Assembler Output and Z80 Unit Test Explorer are not supported yet.
то есть нет принципиальной разницы при отладке с эмуляторами спека прошлого века

andrews
19.11.2019, 06:31
Что-то не вероятное. Это надо быть гением и иметь команду гениев чтобы такое сделать
Ничего невероятного! Просто посмотри на себя как действуешь ты и сломай в своей голове. когда будешь писать эту программу концепцию. что программа должна делать только то. что ты ей четко оговорил делать. Человек ведь, как естественный интеллект, действует по другому! И еще не пытайся это реализовывать через ныне модную концепцию самоадаптирующейся нейросети и машинного обучения. Для такой задачи это не будет работать!

Вот интересная штука она на С#! Честно говоря уже одно это обстоятельство снижает к ней интерес

Bedazzle
19.11.2019, 10:14
Ничего невероятного!

Ок.
Два лимона евро, и завтра мы с коллегой приступаем к реализации.
Ничего невероятного!

Andrew771
19.11.2019, 10:15
А есть ли нынче для ретро-платформ вообще и спека в частности подобие "взрослых" IDE - чтобы можно было выполнять пошагово операторы ЯВУ и просматривать любые структуры в памяти? Ведь без этого по факту отладка чистого машинного кода проще и удобнее получается, благо почти в каждом эмуле есть отладчик с полным доступом ко всей информации. Я совсем не в курсе, ибо после освоения ассемблера не слежу за потугами модернизировать ЯВУ на ретро-платформах.
В старину обходились оператором print <имя переменной> в необходимом месте. Я сейчас на Спеке также делаю.

Terabiterr
19.11.2019, 10:50
Ок.
Два лимона евро, и завтра мы с коллегой приступаем к реализации.
Боюсь что вдвоем и за пару лет не справитесь.

Lethargeek
19.11.2019, 13:00
В старину обходились оператором print <имя переменной> в необходимом месте. Я сейчас на Спеке также делаю.
если цель - ностальгически получить удовольствие от мазохизма, можно и так
но если инструменты - не цель, а средство, лучше на такой "высокий" уровень забить сразу
раз уж макроассемблер с отладчиком в эмуляторе не только мощнее, но и удобнее

andrews
19.11.2019, 13:16
Ок.
Два лимона евро, и завтра мы с коллегой приступаем к реализации.
Ничего невероятного!а в вашем портфолио, что-то есть из области ИИ через аксиоматические представления, автоматические доказательства и выявление неполноты знаний на данном аксиоматическом базисе посмотреть? Что-то французкое(или швейцарское) пару лет назад мне попадалось на саморощенной версии Пролога. Но так как нахаляву "потрогать руками" было нельзя, то просто отложил закладку в памяти. Возможно я тогда вас (нас) и продам за 4 миллиона евро на два года. В России по новому закону ИИ ООО имеют преференции вроде как. Заодно и выясню работает распоряжение главного или опять чиновники на местах почин загнобили. Только пилотный проект тогда будет не для "цифровых партизан", а для финансовых организаций.
Боюсь что вдвоем и за пару лет не справитесьтам сложности не в объеме кода, а в опыте разработчиков и инструментарии на котором будут делать. На Java если будут реализовывать, то боюсь, что и 3 лет вдвоем не хватит.А когда прога на ИИ заработает, то перенацелить ее на другую предметную область не такая уж титаническая работа. А уж скомпоновать целевую систему это уже ее задача. Поскольку это программа, которая по настройкам должна сама писать код :) во взаимодействии с ее создателями конечно. Поскольку им оценивать результат ее деятельности с помощью определенных программных средств.

Andrew771
19.11.2019, 15:27
если цель - ностальгически получить удовольствие от мазохизма, можно и так
но если инструменты - не цель, а средство, лучше на такой "высокий" уровень забить сразу
раз уж макроассемблер с отладчиком в эмуляторе не только мощнее, но и удобнее
На мой взгляд, как раз извращение писать на асме то, что может работать и на ЯВУ. А для начинающих, как автор топика, тем более.

- - - Добавлено - - -

Асм нужен, когда либо не хватает памяти под ЯВУ, либо не хватает быстродействия. В остальном - это костыль.

Terabiterr
19.11.2019, 15:45
а в вашем портфолио, что-то есть из области ИИ через аксиоматические представления, автоматические доказательства и выявление неполноты знаний на данном аксиоматическом базисе посмотреть? Что-то французкое(или швейцарское) пару лет назад мне попадалось на саморощенной версии Пролога. Но так как нахаляву "потрогать руками" было нельзя, то просто отложил закладку в памяти. Возможно я тогда вас (нас) и продам за 4 миллиона евро на два года. В России по новому закону ИИ ООО имеют преференции вроде как. Заодно и выясню работает распоряжение главного или опять чиновники на местах почин загнобили. Только пилотный проект тогда будет не для "цифровых партизан", а для финансовых организаций. там сложности не в объеме кода, а в опыте разработчиков и инструментарии на котором будут делать. На Java если будут реализовывать, то боюсь, что и 3 лет вдвоем не хватит.А когда прога на ИИ заработает, то перенацелить ее на другую предметную область не такая уж титаническая работа. А уж скомпоновать целевую систему это уже ее задача. Поскольку это программа, которая по настройкам должна сама писать код :) во взаимодействии с ее создателями конечно. Поскольку им оценивать результат ее деятельности с помощью определенных программных средств.

Что-то мне не верится что вы понимаете о чем пишете. Вы та хоть решали подобные задачи хотя бы раз?

Bedazzle
19.11.2019, 16:17
Боюсь что вдвоем и за пару лет не справитесь.

Про пару лет речи не было :)

- - - Добавлено - - -


Асм нужен, когда либо не хватает памяти под ЯВУ, либо не хватает быстродействия. В остальном - это костыль.

Либо ресурсоёмко переписывать отлаженные легаси библиотеки с асма на другой язык.

polikarpov76
19.11.2019, 17:46
Terabiterr, ты вроде программистом работаешь? Расскажи на чем программишь, какие скилы есть? В зависимости от этого можно IDE подобрать.

Lethargeek
19.11.2019, 18:01
На мой взгляд, как раз извращение писать на асме то, что может работать и на ЯВУ.
извращение - это делать что-то более сложным способом ради самого способа
типа вычисления остатков или делений там, где достаточно побитовой логической операции :v2_tong:
или траханья с принтами, когда в асме есть нормальный отладчик
только потому, что "может работать и на ЯВУ" :v2_dizzy_facepalm:


А для начинающих, как автор топика, тем более.
ага, именно :v2_dizzy_biggrin2:

Terabiterr
19.11.2019, 18:42
ты вроде программистом работаешь?
Я такого не говорил. Эх ну и слухи же эти(( Хотя кое где не много и работал на php
Я обычный студент. А на работку по коденгу я думаю через годок второй только устраиваться.
Пишу на c#/php/c++ не много писал/javascript
Большинство все таки c# и php
Могу быстро подстроить себя под любой язык. Assembler думаю быстро не выйдет.

- - - Добавлено - - -


она на С#
Не только на C# и на С++ и автор планирует продолжать ее на С++ писать. И чем это такой негатив к c# вызван? Он от с++ практически нечем не отличается. C# имеет и указатели и т.п. Если бы я начал писать вашу идею то только на c#.
c# от с++ конечно имеет много отличий. Ну это тот язык который может себя превратить даже в средний уровень.

Andrew771
19.11.2019, 21:11
только потому, что "может работать и на ЯВУ"
хотел бы я посмотреть, как на асме будешь писать проги, где необходимо вызывать индексы ячеек массивов, в которых содержатся индексы ячеек другого массива. Наверно, сложнее вывода спрайтов ничего не писал. :)

Bedazzle
19.11.2019, 21:46
И чем это такой негатив к c# вызван? Он от с++ практически нечем не отличается.

....


c# от с++ конечно имеет много отличий.

:v2_dizzy_facepalm:

Lethargeek
19.11.2019, 21:47
хотел бы я посмотреть, как на асме будешь писать проги, где необходимо вызывать индексы ячеек массивов, в которых содержатся индексы ячеек другого массива. Наверно, сложнее вывода спрайтов ничего не писал.
во-1, ВЫЗЫВАЮТ функции, а индексы (то есть просто числа) - ВОЗВРАЩАЮТ (или передают)
во-2, сразу видно, что ты толком ничего не знаешь про вывод спрайтов, а это не такое простое дело
кстати, и массивы ссылок на массивы асмокодеры в игровой спектрумовской графике применяют аж с дремучих 80-х

andrews
19.11.2019, 21:59
Если бы я начал писать вашу идею то только на c#.
c# от с++ конечно имеет много отличий. Ну это тот язык который может себя превратить даже в средний уровень.
так попробуйте, тем более что питерские разработчики Visual Prolog-a снова бычат на бесплатной версии как и 21 год назад. Именно тогда, в 1998 году, меня директрисса платного факультета компьютерных технологии питерской Академии Культуры( прошу не смеяться) послала меня к ним закупать дюжину копий их софта для курса "Искусственный интеллект и интеллектуальные ОС". Но в отведенную ею сумму я тогда не уложился,а по бесплатным были одни разговоры( типо приносите ваши винчестеры, мы сами все на них установим) были наполовину( как раз не было инструмента типа Visual Prolog ) готовую методичку ей подарил, а сам попал на Светлану-МЭ ведущим программистом. Но там был банальный С/C++ правда под московскую операционку под R4000 переписанную с VXWORKS Wind River Systems. Теперь ближе к теме. Генерация аксиоматики под заданную предметную область - это определение тех правил, из которых путем логических выводов можно получить весь набор необходимых(эффективных) в данной области правил с возможностью получения программой ситуации неполноты знаний. Вот здесь, кстати, закрытый инструментарий в виде проприетарного Prolog-а может быть препятствием. Чтобы быть еще конкретней, сужая до игрового софта. Необходимо описать некий проект в виде аксиом и целей. Заранее все возможные действия игрока неизвестны. Они возможно и скорее всего конечны, но их такое множество, что описать все варианты для их распознавания просто невозможно. Но надо их распознать по маркеру "игра по правилам" и "игра не по правилам" исходя из базовых правил. Если игрок играет против компьютера по правилам не противоречащим базовым правилам, необходимо понять его стратегию и тактику и сгенерировать свои для победы или наиболее сильного противодействия. Есть конечно классические методы, как в шахматных программах или в Черном Вороне, но вот например в такой игре в танки, в которую мы играли с институтским другом в начале 80-х они вряд ли применимы. Там каждый мог "делать себе танки" с заданными характеристиками не противоречащим конструктивным и физическим ограничениям. Характеристики были засекречены и определялись только в результате боестолкновений. То есть если игроки имеют возможность вводить в игру юниты с заранее неизвестными характеристиками. Адаптация графики игры к той или иной платформе в виде процедурной программы еще более неразрешимая чисто процедурными методами задача. А автоматизация программирования? Не вы изначально определяете классы и их модификацию, а сама программа по неким, возможно сгенерированной ей "в процессе познания" правилам. Возможно и на С# это можно сделать, но на Prolog-е с открытым кодом или на чем-то подобного класса ЯВУ точно проще. С/С++ конечно более низкоуровневый язык, чем С#,но на нем возможно реализовать все, что угодно.

Terabiterr
19.11.2019, 22:35
....



:v2_dizzy_facepalm:

Так и знал что этот пост сейчас понесет сразу кучу месаджев, как в воду поглядел
Ок.
Let's go!
:v2_scare:

- - - Добавлено - - -


так попробуйте
От вашей идем пока вынужден дать заднюю. Пока нужно попробовать хоть что-то. А потом уже возможно я вернусь и к вашей идее.

Andrew771
19.11.2019, 23:02
Так и знал что этот пост сейчас понесет сразу кучу месаджев, как в воду поглядел
Ок.
L
тут уже две параллельных ругани образовалось. Это еще Oleg N.Cher в игру не вступал, проект ZXDev которого ты упомянул в первом посте. :)

Terabiterr
19.11.2019, 23:24
тут уже две параллельных ругани образовалось. Это еще Oleg N.Cher в игру не вступал, проект ZXDev которого ты упомянул в первом посте.
Хорошо когда все ругаются. Значит Значит дело идет.:v2_dizzy_step:

andrews
20.11.2019, 01:19
От вашей идем пока вынужден дать заднюю. Пока нужно попробовать хоть что-то. А потом уже возможно я вернусь и к вашей идее.ну а мне ждать больше некуда и так с 1998 года 21 год прошел. Еще столько же мне просто не прожить. Я ведь покойному Wlodek-у почти ровесник. Помогал ему FunTop'98 поднимать. Пережил уже многих своих врагов и ненавистников здесь, и приятелей, и друзей, к сожалению тоже. Так кажется Visual Prolog в PE у меня на обоих компах и Win7 и Win10 все же заработал. Можно бы было оживить мою старую методичку по ИИ, да время жалко на это терять. Попробуем все же смастерить нечто, разумно генерящее файлы по "законам Хамурапи" :) Если ж VP такая же никчемная игрушка какой был Borland Turbo Prolog тогда придется искать какой-то OpenSourcе ный Prolog и развивать его с командой в нужную мне сторону. Ну или 100 евро с пользой потратить на коммерческую версию пока они опять ценник до 299 евро не подняли.

Terabiterr
20.11.2019, 17:16
ну а мне ждать больше некуда и так с 1998 года 21 год прошел. Еще столько же мне просто не прожить. Я ведь покойному Wlodek-у почти ровесник. Помогал ему FunTop'98 поднимать. Пережил уже многих своих врагов и ненавистников здесь, и приятелей, и друзей, к сожалению тоже. Так кажется Visual Prolog в PE у меня на обоих компах и Win7 и Win10 все же заработал. Можно бы было оживить мою старую методичку по ИИ, да время жалко на это терять. Попробуем все же смастерить нечто, разумно генерящее файлы по "законам Хамурапи" :) Если ж VP такая же никчемная игрушка какой был Borland Turbo Prolog тогда придется искать какой-то OpenSourcе ный Prolog и развивать его с командой в нужную мне сторону. Ну или 100 евро с пользой потратить на коммерческую версию пока они опять ценник до 299 евро не подняли.

Я просмотрю вашу идею. Возможно что-то найду в ней под силу моих скилов. На первый взгляд она кажется страшной. Хотя в принцепи когда начинаю что-то выдумывать все кажется страшным и неодолимым!:)

bigral
20.11.2019, 18:24
Я просмотрю вашу идею. Возможно что-то найду в ней под силу моих скилов. На первый взгляд она кажется страшной. Хотя в принцепи когда начинаю что-то выдумывать все кажется страшным и неодолимым!:)

Та ничего нету в той идее хорошего, все эти прологи и рефалы лямбда нотации не для тех кто хочет создавать .EXE а для тех кто решил "поиграться", оно там все по типу mathcad-a пригодное для студентов расчетки клепать и суть процесса понимать а для создания продуктов оно не годится (подтверждение тому хотябы тот факт что само оно писанное на С а не на самом себе). Ну для общего развития стоит конечно пощупать, но сразу надо знать что если такое дело понадобиться то можно все те же штуки самому написать на С и использовать в своей проге или взять спецбиблиотечку для такого случая, уверен что такие библиотеки есть. Вон тот же python применяют часто для таких вещей, хотя сам по себе python это какаято гремучая смесь vm+basic+pascal... ну т.е. за счет писанных на С библиотек превратили его в инструмент для ИИ.

Terabiterr
20.11.2019, 21:46
Вон тот же python применяют
Я не использовал ИИ не когда. Ну наслышан что знаменитые прогеры пишут на C# видел даже не сколько роликов на ютуб. Для себя нужно будет попробовать обязательно интересно же!)

andrews
20.11.2019, 23:51
Я не использовал ИИ не когда. Ну наслышан что знаменитые прогеры пишут на C# видел даже не сколько роликов на ютуб. Для себя нужно будет попробовать обязательно интересно же!)ИИ состоит из многих направлений и разных технологий подходов. Перед тем как кидаться кодить, выбирайте самое интересное для себя. Насчет того, что Лисп нельзя реализовать на лиспе, а пролог на прологе это не соответствует действительности! Разумеется, чтобы код на железе выполнялся это все в конечном итоге через С/C++ ассемблер уходит в исполняемый код. EXE ники эти системы делают с dll ками. Тот же вон Visual Prolog даже в бесплатной версии после регистрации выдает EXE+ DLL. Смотрите так же Ruby, Scheme language, ну да и python. На русском в советские времена были несколько очень качественных для новичков полезных книжек. А в сети полно всего англоязычного. Конечно в качестве выхода на процедуры надо на чем-то делать интерфейсы. Тут подойдут все знакомые C/C++ C# Java Pascal и ассемблеры. Магия начнется когда ваша прога с ИИ будет способна без вашего участия что-то осмысленное кодить и преобразовывать( картинки, музоны с аранжировками и инструментами), а также делать автоматические логические выводы из своей системы аксиом и базы знаний, расширять ее с использованием интернета и ваших экспертных оценок. Может ли все это нейросеть? Конечно. Мы с вами это и есть нейросети обученные и самообученные :) но если искусственные то только путем колоссальных ресурсных затрат. Поэтому сейчас нейросети решают задачи попроще: распознавание образов, вождение автотранспорта и т.п. А вот пусть ка они запатентуют что-либо, ну или накодят что-то полезное.
А вот нарыл сегодня текст своей методички 21 летней давности. Так как это для АК в просторечье именуемой Кулек или "факультет невест для дипломатов", то чтобы этих девиц завлечь писал конечно в стиле "Бендер на одновременном сеансе в шахматы"

"Чтобы частично имитировать деятельность человеческого моз-
га на компьютере, не обязательно архитектурно воспроизводить
его сложнейшее внутреннее устройство.( Хотя с середины 60-x
годов XX века ведутся активные разработки в этом направлении
и уже промышленно изготавливаются чипы, имитирующие работу
как отдельного нейрона, так и их ассоциаций( нейронных се-
тей)). Соединения таких чипов в принципе позволяют имитиро-
вать мозг живых существ, но вследствие огромной сложности
организации человеческого мозга не приходится надеяться на
создание его полного искусственного аналога в обозримом
будующем .< Работы по изучению человеческого мозга активно
ведутся с конца XIX века, хотя первые попытки его исследо-
вания были предприняты еще древними египтянами и древними
греками. Гиппократ 420 г. до н. э. : " Человек должен в полной
мере осознавать тот факт, что именно из мозга - и только из
мозга - происходят наши ощущения радости, удовольствия,
веселья, так же как и наши печаль, боль, скорбь и слезы. Мы
мыслим мозгом и с его помощью можем видеть и слышать и
способны различать уродство и красоту, добро и зло, то, что
приятно и что неприятно."
C появлением все более мощных и совершенных компьютеров, а
также с развитием и усовершенствованием математики( кибер-
нетики ) и инструментальной техники для непосредственного
изучения деятельности живого мозга и микроанатомических
исследований мозга умерших людей, наука все более уверенно
продвигается в направлении практического изучения челове-
ческого мозга. > С другой стороны, можно моделировать мозг
как "черный ящик", сопоставляя результаты деятельности искус-
ственного и естественного интеллектов и, уменьшая расхождения
методом последовательного приближения, делать модель все
более адекватной. Установлено, что любая вычислительная
архитектура( в частности классическая, фон-Неймановская )
способна алгоритмически воспроизводить отдельные функции
познавательного и мыслительного процессов человеческого мозга,
основанных на логике, со сколь угодно близкой степенью
точности. В этом случае программа, реализующая тот или иной
алгоритм решения задач ИИ, является одновременно и объектом
для эксперимента и инструментом, позволяющим наблюдать резуль-
таты этого эксперимента. Например, мы задаемся целью воспроиз-
вести "студента-дизайнера". Ясно, что понять, насколько это
хорошо у нас получилось, возможно, наблюдая созданные им по
нашим требованиям работы.
Можно говорить и о создании "компьютера - литератора",
"компьютера - переводчика", "компьютера- программиста" и т.п.
О качестве имитации можно судить по выдаваемой ими графической
( мультимедийной ) и/или текстовой информации, а внесение
изменений в те или иные фрагменты кода позволяют судить об их
значимости для достижения желаемых результатов. Это конечно
же достаточно примитивные интеллектуальные информационные
системы, так как оценивание результатов их деятельности
производится человеком. На следущем этапе интеллектуальные
системы должны включать в себя такие черты, как самокритич-
ность, самооценку и способность к адаптации механизмов контро-
ля над протеканием интеллектуальных и творческих процессов.
Все это возможно при условии формализуемости последних"

Вся методичка в архиве ниже( 57 страниц с оглавлением,библиографией, предметным указателем, контрольными вопросами и практическими заданиями, но "заточена" частью под Турбо Пролог Борланда, а ЛИСП без конкретной версии )хотя вроде я передал авторские права на нее факультету но за смешные деньги, без договора передачи...да и столько лет прошло. Она уже вполне в научном стиле. Наверное в 1998 году, если бы мне дали в руки Visual Prolog можно было бы и кандидатский диссер защитить в 2001 году. Только архив лучше сперва сохранить( паковал в TC, а при распаковке через Mozilla Firefox какая-то беда со шрифтом). Чтобы переработать под современность надо наверное часов 200 жизни потратить.
И то после этого потянет только на конференцию, если ее будет проводить наша компания в Питере :)

Raydac
21.11.2019, 02:10
малость поизвращался в 2011м году на тему кросс-компиляции Java в Z80
(https://github.com/raydac/j2z80)
https://raw.githubusercontent.com/raydac/j2z80/master/docs/java_on_spec.png

andrews
21.11.2019, 12:20
Игорь, а графика, спрайты, звук? И почему только малость?

Raydac
21.11.2019, 12:27
Игорь, а графика, спрайты, звук? И почему только малость?
там сделана конверсия JVM байткода в ассемблер Z80, в основном этим занимался, библиотеки какие-то дополнительные не разрабатывал

andrews
21.11.2019, 12:56
там сделана конверсия JVM байткода в ассемблер Z80, в основном этим занимался, библиотеки какие-то дополнительные не разрабатывалэто было бы интересно, хотя в данный момент очевидно коммерчески провально. Ведь сколько сейчас есть во всем мире реальных спектрумов всех разновидностей? Ответ можешь получить только ты, если будешь отдавать часть библиотек бесплатно за регистрацию, а в ней получение инфы о том, для чего это download-еру? Хотя если брать и с эмуляторных пользователей, то Яndex на ежемесячные запросы "ZX Spectrum" дает внушительную цифру.

Raydac
21.11.2019, 13:00
это было бы интересно, хотя в данный момент очевидно коммерчески провально. Ведь сколько сейчас есть во всем мире реальных спектрумов всех разновидностей. Ответ можешь получить только ты, если будешь отдавать часть библиотек бесплатно за регистрацию, а в ней получение инфы о том, для чего это download-еру?
идея, насколько помню, была в том, чтобы показать, что можно при помощи Java писать для Z80 (хотя при этом исключался Garbage collector и я усек int до 16 бит)

Terabiterr
21.11.2019, 13:22
там сделана конверсия JVM байткода в ассемблер Z80, в основном этим занимался, библиотеки какие-то дополнительные не разрабатывал

Программа у вас в свободном доступе?

Raydac
21.11.2019, 13:33
Программа у вас в свободном доступе?
дак это опенсорс проект, опубликован под GNU GPL v3

Terabiterr
21.11.2019, 17:26
малость поизвращался в 2011м году на тему кросс-компиляции Java в Z80
странно на гит хаб всего навсего 3 просмотра. Не давно залили?

Raydac
21.11.2019, 17:40
странно на гит хаб всего навсего 3 просмотра. Не давно залили?
что подразумевается под просмотрами? звездочки чтоль? или количество отслеживающих проект?
залито давно, еще в начале 2012го, просто неособо рекламировался

Terabiterr
21.11.2019, 22:07
что подразумевается под просмотрами? звездочки чтоль? или количество отслеживающих проект?
залито давно, еще в начале 2012го, просто неособо рекламировался
Ну да звездочки. Такой вроде бы крутой проект и не кого не интересует! Спасибо большое я обязательно все просмотрю и потестю. Смотрится на вашем скрине это очень круто!

- - - Добавлено - - -


Вся методичка в архиве ниже( 57 страниц с оглавлением,библиографией, предметным указателем, контрольными вопросами и практическими заданиями, но "заточена" частью под Турбо Пролог Борланда, а ЛИСП без конкретной версии )хотя вроде я передал авторские права на нее факультету но за смешные деньги, без договора передачи...да и столько лет прошло. Она уже вполне в научном стиле. Наверное в 1998 году, если бы мне дали в руки Visual Prolog можно было бы и кандидатский диссер защитить в 2001 году. Только архив лучше сперва сохранить( паковал в TC, а при распаковке через Mozilla Firefox какая-то беда со шрифтом). Чтобы переработать под современность надо наверное часов 200 жизни потратить.
И то после этого потянет только на конференцию, если ее будет проводить наша компания в Питере
Распоковка без проблем! Открывал через notepad++ т.к. многие блокноты не понимают вашу кодировку.
39к строк. Спасибо почитаю. Если затянет вина ваша!)

Andrew771
22.11.2019, 21:36
А вот нарыл сегодня текст своей методички 21 летней давности. Так как это для АК в просторечье именуемой Кулек или "факультет невест для дипломатов", то чтобы этих девиц завлечь писал конечно в стиле "Бендер на одновременном сеансе в шахматы"
Andrews, супер-методичка! Сразу видно, родная душа, педагог.) Я тоже раньше детей учил Паскалю и Делфи. Всё очень понятно и просто изложено. Респект!
Я уже лет 10 думаю, как Пролог приладить к написанию хотя бы игр (а максимум - для САПР на работе). Явно не хватает средств для интерфейса, но как это по-умному и по-прологовски сделать, пока не знаю.
А так здорово было бы, если бы, к примеру, в Lode Runner не писал бы проверки на стенки по каждому перемещению, а просто задать правило одной строкой - не лезь на стену.

andrews
22.11.2019, 22:26
Andrews, супер-методичка! Сразу видно, родная душа, педагог.) Я тоже раньше детей учил Паскалю и Делфи. Всё очень понятно и просто изложено. Респект!
Я уже лет 10 думаю, как Пролог приладить к написанию хотя бы игр (а максимум - для САПР на работе). Явно не хватает средств для интерфейса, но как это по-умному и по-прологовски сделать, пока не знаю.
А так здорово было бы, если бы, к примеру, в Lode Runner не писал бы проверки на стенки по каждому перемещению, а просто задать правило одной строкой - не лезь на стену.чем я сейчас и занимаюсь. Visual Prolog смотрю, если устроит, расширю за 100 евро до коммерческой и еще больше возрадуюсь, а SWI Prolog можно попробовать самому модифицировать куда нужно, он OpenSource-ный. В чем я не уверен в сих продуктах, так это могут ли они в процессе действия формировать цели и менять аксиомы и факты, в зависимости от уже произошедших событий. Возможно и могут, просто примеров пока таких не нашел опубликованных. А без фактора времени и истории познания никакого приближения к естественному интеллекту не будет! Опять же надо пересмотреть все наличествующие в обоих разновидностях предикаты и интерфейсы, чем можно зацепиться за эти вещи. Игровую реальность надо описать в виде фактов, быть может даже в базе знаний. Тогда компьютер если играет за субъект(ы) изначально не должен всего знать, чтобы шансы уравнялись и была динамика мастерства соперника. Если же он управляет игровой реальностью, то должен отслеживать динамику вашего мастерства и ваших знаний. И тогда время ему все-равно необходимо. Исполняемый код языка ИИ не должен контролировать целостность кода и листинг модулей! Иначе нам нифига ему не подменить "в процессе".

Raydac
22.11.2019, 22:37
если тут такие фаны пролога, то можете тут посмотреть небольшую среду разработки (https://github.com/raydac/jprol)

Andrew771
22.11.2019, 22:41
Игровой мир задать в виде аксиом, а факты - текущее положение. И пока начать с малого - однопользовательской игры против случайных компьютерных соперников.

- - - Добавлено - - -


если тут такие фаны пролога, то можете тут посмотреть небольшую среду разработки
спасибо за ссылку!
Я еще на нем не начинал программировать, только теоретически думаю долго, как можно приладить)

andrews
23.11.2019, 01:24
Это здорово. Приходится Java на домашние компы возвращать, а до этого обходился С/C++. Второй комп. с Win10 хотя и планшет здорово меня выручает. Удалось скачать 64 битную версию SWI Prologa, теперь придется ставить и GCC к нему, чтобы получать exe-ники от swipl-ld. По идее тогда он весь исполняемый код( или не весь) генерит в C/C++? А то, что нам дал по ссылке выше ты генерит java код из pl файлов с текстом Эдинбургского Пролога? Может это и здорово для планшетов и смартфонов с Android-ом. Но судьба последнего в России и Китае...хотя с другой стороны и Windows тоже может оказаться под ударом. Но это все бла-бла-бла. Лучше делать ни о чем не думая

Игровой мир задать в виде аксиом, а факты - текущее положениеаксиомы - непротиворечащие друг другу базовые правила, из которых выводятся все действия игроков при игре по правилам. Факты это эпизоды взаимодействия между игроками и между ними и игровым миром. Они не должны противоречить всем выводам и аксиомам. Если встречается факт противорчащий система должна поменять аксиоматику, чтобы новый факт снова вписался. Вот смена системы аксиом это расширение базы знаний. И вот такую динамику сложно реализовать. Для игровой программы, когда Вы человек за компьютером стали играть лучше и на ваши действия нет стратегии и тактики - это выпадающий из теории факт. Противодействующий вам компьютер должен сменить свои правила действий. Опять пример из жизни естественных интеллектов. Была у меня собака долматинец. И вот на очередной прогулке попался ей в игру какой-то мелкий, но очень зубастый бульдожец. Она его прижала к деревцу и пыталась придушить своей большой пастью. Но он покусал ей своими острыми зубами язык. При следующей встрече с ним моя собака сменила тактику. Она не пыталась брать его пастью, а просто закатила своими длинными лапами как ежика в пристволовую ямку. А оттуда он мог достать до ее морды и раскрытой пасти. И язык моей собаки больше не пострадал. Вот так должны вести себя программы с ИИ без всякой нейросети и вмешательства программиста!

Andrew771
23.11.2019, 19:25
Нужно начать с простой игры, типа Lode Runner, к примеру. Просто беготня по коридорам. Без всякой стратегии игрока и противников. Ее запрограммировать на Прологе получится? :)

bigral
23.11.2019, 22:34
в Lode Runner не писал бы проверки на стенки по каждому перемещению, а просто задать правило одной строкой - не лезь на стену.

ага и тормозило бы это самое твое правило так что плевался бы потом и выкинул бы на мусорку тот пролог, процы то у нас императивные каждый шаг стоит времени, каждая синхронизация с другим потоком тоже стоит времени, та даже больше скажу - такой подход даже в vhdl работать НЕ будет изза того что разные clock domain-ы и все это дело надо синхронизировать к 1 клоку (через fifo например) ну короче не бывает в реальной жизни той магии какая в математике возможна

Andrew771
24.11.2019, 18:28
На Спектруме тормозило бы, на современных компах нет. Да и зачем многопоточность тут?

Terabiterr
25.11.2019, 00:04
Нужно начать с простой игры, типа Lode Runner, к примеру. Просто беготня по коридорам. Без всякой стратегии игрока и противников. Ее запрограммировать на Прологе получится? :)

А я хочу погонять движок от товарищей с Испании не плохая документация с чувством юмора у чарейры. Здесь гуудбой показал.
А после пощупать, и идейки должны будут проблеснуть. Правда там Паскаль я его не знаю, так что разбираться буду по ходу. Ну это не много позже как с спеками разгребусь т.к. много нагрузки на учебе в ближайшее время

nihirash
25.11.2019, 01:13
А я хочу погонять движок от товарищей с Испании не плохая документация с чувством юмора у чарейры. Здесь гуудбой показал.

Так для этого движка не нужен паскакаль - тут нужны Си. А ты писал, что у тебя с ним проблем нет.

Terabiterr
25.11.2019, 11:18
Так для этого движка не нужен паскакаль - тут нужны Си. А ты писал, что у тебя с ним проблем нет.
Ну отлично. Тогда вообще не каких проблем.

andrews
03.12.2019, 12:40
SWISH вот куда-то сюда надо пилить. А так на нем удобная online обучалка SWI Prolog-у реализована
https://swish.swi-prolog.org/example/examples.swinb

SfS
05.12.2019, 05:51
Мой SDK на базе SDCC https://github.com/salextpuru/sdcc-noinit

Давно им не занимался - некогда. но зато есть коекакая документация там же

Sergey
05.12.2019, 19:41
Форум флудеров. Трепимся о чём угодно, только не о сабже. Хех...
Хочешь программить под Спек, - есть совсем немного решений:
1) Тебе правильно порекомендовали z88dk - самый развитый пакет для кросс-разработки на Си в плане готовых библиотек под железо Спека.
2) Можно использовать SDCC в связке с Code::Blocks, но придётся много железа программить на асме, что, в общем, не очень трудно.
для SDCC на форуме тоже некоторое количество библиотек написано. Прислушайся к SfS.
3) Можно использовать Оберон.
4) Можно юзать ZX Like Pascal.
5) Можно использовать компилятор Си от Хайтек для CP/M. В принципе, многие компиляторы для CP/M можно приспособить для генерации кода для ZX.
Больше ничего нет. Поэтому не трать время на кумушек, - выбирай, что тебе больше нравится, и кодь!

andrews
05.12.2019, 21:28
Форум флудеров. Трепимся о чём угодно, только не о сабже. Хех...
Хочешь программить под Спек, - есть совсем немного решений:
1) Тебе правильно порекомендовали z88dk - самый развитый пакет для кросс-разработки на Си в плане готовых библиотек под железо Спека.
2) Можно использовать SDCC в связке с Code::Blocks, но придётся много железа программить на асме, что, в общем, не очень трудно.
для SDCC на форуме тоже некоторое количество библиотек написано. Прислушайся к SfS.
3) Можно использовать Оберон.
4) Можно юзать ZX Like Pascal.
5) Можно использовать компилятор Си от Хайтек для CP/M. В принципе, многие компиляторы для CP/M можно приспособить для генерации кода для ZX.
Больше ничего нет. Поэтому не трать время на кумушек, - выбирай, что тебе больше нравится, и кодь!

речь изначально шла о программных инструментальных средствах более высокого уровня. А перечисленные Вами инструменты никто не подвергает сомнению. Но над ними нужна надстройка. Работа SfS интересна.

Sergey
06.12.2019, 01:51
Кто что знает о кроссплатформенной разработке под zx spectrum?
Интересуют подходы, как запускали, что использовали, пробовали и на чем писали?
}
1. Использовал среду разработки Code::Blocks + Small Device C Compiler.
Настроил адрес компиляции так, чтобы разместить кодовый блок за оператором "REM" в 0-й бейсик-строке.
После компиляции блок в формате Intel hex конвертировался в бинарный файл.
Затем скрипт на REXX из этого бинарного файла формировал SCL-контейнер с файлом boot.B.
Полученный SCL загружается в эмулятор вручную. Автоматизировать не пробовал, хотя, наверное, можно было.
Все внешние инструменты и скрипты прикручиваются к Code::Blocks и компиляция от исходного текста до SCL происходит
из SDK по одной кнопке.
По-моему, очень удобно. Если интересно, могу помочь с настройкой среды.
С помощью данного инструментария была написана/портирована игрушка 2048.

2. Ещё использовал HiTech C v3.09. К IDE прикрутить не сумел. Потому исходники компилил из командной строки с помощью скрипта, который запускали проги из комплекта компилятора через эмулятор CP/M, а потом полученный бинарник собирали в SCL.

SfS
06.12.2019, 06:39
Сейчас самое плохое в программировании под ZX - это то, что ты делаешь все в одиночку.

Когда есть команда в два-три человека - уже проще работать и "не перегореть".

Тут дело даже не в том, что кто-то рисует лучше, кто-то кодит, а кто и музон пишет или сценарий. Просто когда у одного мысли заходят в тупик - кто-то из команды может предложить идею. А нет команды - все, ступор. И часто все загибается.

Ну сделал я зачаток SDK, несколько демок на нем. Но приниматься за большой проект - скажем игру - вряд ли решусь. Просто потому, что врядли напишу достойный и реализуемый сценарий. А делать 100500й Exolon или 100501е Диззи - не хочу. Не в смысле героев, а в смысле того, то сюжеты уже очень много раз со всех сторон реализованы и вряд ли будут интересны кому-то.

Кризис идей разработчика-одиночки, так бы это я назвал.

Вроде и интернет есть и общаться можно хоть из разных стран - а команд в общем-то нет. Команда - это прежде всего общая идея. Форум хорош, но часто скатывается в обсуждение "концепций" и меряния чей код быстрее.

Так что проблема реализации проектов для ZX отнюдь не в SDK.

Black Cat / Era CG
06.12.2019, 10:16
Сейчас самое плохое в программировании под ZX - это то, что ты делаешь все в одиночку.
Но команды есть. Многие последние отечественные игры сделаны НЕ в одиночку. Просто с форума это не видно.

andrews
06.12.2019, 12:03
Ну с другой стороны странно в 2019г имея под рукой мощный комп, кодить на ассемблере и даже на С, как в 1983-м. Что касается сюжетов для игр. Персонажи и спрайты должны быть авторскими. Буратино должен выглядеть как Буратино и т.д. Почему не иметь эти спрайты в библиотеке, с возможностью их масштабирования, пикселирования( для разных видеорежимов), поворотов при движениях. То же самое "задники" или сцены. Даже известнейшие на всю страну фильмы снимались в Крыму на фоне одних и тех же пейзажей. И если такие библиотеки открыты, то сделайте опции добавления и редактирования, снабдите описанием, чтобы удобно было пользоваться, что в этом такого? То же самое относительно звуков. Если можно описать алгоритм игры на чем-то более высокоуровневом, чем С и ассемблер, которые генерят опционально под заданный компилятор. А дальше оптимизируйте их код сколько влезет. Если уж совсем все не так, ну переделайте. Но не все же кодят настолько профессионально. Об оригинальных играх. Ну вот пытаюсь усадить свою 12 летнюю дочь нарисовать персонажи к "Побегу". Только для нее это первая проба пера, выйдет что-то или нет не знаю. Но как художник она уже превосходит меня в разы. А я да, я пишу сюжеты, хотя и в чужом коде что-то поправить могу. По поводу команд. Это для тех, кто профи. Новичкам в команде еще хуже, чем без команды. И потом, команда в любой момент может развалиться из-за противоречий, если лидер бестолковый. По поводу "с форума это не видно". Так достаточно создать раздел "Новости проектов" ну или как-то еще обозначить, и будет видно, кто над чем работает и как далеко ушла разработка от старта. А разработчику-одиночке конечно тяжело, но с другой стороны комфортно. Можно рысью, можно галопом, можно на траве покататься на спине, если зачесалась. А в тройке или в шестерке своя роль и кучер с кнутом.

SfS
06.12.2019, 12:45
Но команды есть. Многие последние отечественные игры сделаны НЕ в одиночку. Просто с форума это не видно.

Я не говорю, что команд вообще нет. Но большинство оставшихся спектрумистов всё же одиночки.

bigral
06.12.2019, 13:31
Я не говорю, что команд вообще нет. Но большинство оставшихся спектрумистов всё же одиночки.

была бы стоящая концепция, которая могла бы обьединить одиночек то были бы и команды, ну и ясно что кто-то должен быть "центром кристаллизации", выложить у себя на github первоначальные сорцы (хоть бы readme.md с описанием сути проекта и целей), западные товарищи так и делают, далее немного ПР-а на ресурсах типа http://dangerousprototypes.com/blog/ и если идея хорошая то все пойдет дальше самособой

andrews
06.12.2019, 15:49
там сделана конверсия JVM байткода в ассемблер Z80, в основном этим занимался, библиотеки какие-то дополнительные не разрабатывал
из какого IDE этот проект лучше всего цеплять? Под Win 32 bit желательно

Raydac
07.12.2019, 00:16
из какого IDE этот проект лучше всего цеплять? Под Win 32 bit желательно
это maven плагин, так что можно юзать любую IDE поддерживающую apache maven, хоть NetBeans хоть Eclipse хоть Intellij IDEA
а так можно просто клонировать проект с гита и в корневой папке выполнить mvn clean install
при таком конечно должна быть установлены java и maven

Stl75
08.12.2019, 22:32
Привет всем...

Посмотрел кросс - софтину...
Больше всех понравился проект -
Zeus...
Это ассемблер + отладчик + эмулятор Спека...
Все в одном .exe - файле...
Компилирует 0,5 Мб ассемблерного текста -
за пару секунд...
0,5 Мб текста - это примерно Спектрумовская
дискета...

Просьба -
Если у кого есть - help на Zeus -на русском или английском -
желательно по-подробнее -
Скиньте ссылку...

Bedazzle
09.12.2019, 01:01
Просьба -
Если у кого есть - help на Zeus -на русском или английском -
желательно по-подробнее -
Скиньте ссылку...

А хелп существует?
У автора куча примеров в исходниках
http://www.desdes.com/products/oldfiles/index.htm

Stl75
09.12.2019, 19:23
А хелп существует?
У автора куча примеров в исходниках
http://www.desdes.com/products/oldfiles/index.htm

Там есть файл - на сайте - examples.zip
В нем в формате .asm файлы - с небольшим helpом
на английском...

andrews
10.12.2019, 20:31
Сайт похож на чердак в американском доме, но я там нарыл (A 6809 and 6309 version of Zeus. Rather more competent than the usual simplistic two pass Motorola assemblers ). Сам Zeus однооконный, что не очень удобно. Ну это первые впечатления от увиденного. Качество эмуляции в различных режимах помогите оценить. Еще удобно, что частоту процессора можно менять, правда непонятно, что с другими подсистемами творится. Они же не FSD

Terabiterr
13.12.2019, 01:43
Сейчас самое плохое в программировании под ZX - это то, что ты делаешь все в одиночку.

Когда есть команда в два-три человека - уже проще работать и "не перегореть".

Тут дело даже не в том, что кто-то рисует лучше, кто-то кодит, а кто и музон пишет или сценарий. Просто когда у одного мысли заходят в тупик - кто-то из команды может предложить идею. А нет команды - все, ступор. И часто все загибается.

Ну сделал я зачаток SDK, несколько демок на нем. Но приниматься за большой проект - скажем игру - вряд ли решусь. Просто потому, что врядли напишу достойный и реализуемый сценарий. А делать 100500й Exolon или 100501е Диззи - не хочу. Не в смысле героев, а в смысле того, то сюжеты уже очень много раз со всех сторон реализованы и вряд ли будут интересны кому-то.

Кризис идей разработчика-одиночки, так бы это я назвал.

Вроде и интернет есть и общаться можно хоть из разных стран - а команд в общем-то нет. Команда - это прежде всего общая идея. Форум хорош, но часто скатывается в обсуждение "концепций" и меряния чей код быстрее.

Так что проблема реализации проектов для ZX отнюдь не в SDK.

Собирайте команду я только за. Т.к. одному рисовать и писать очень сложно, и идейки не так в голове укладывается

Если соберемся в команде, предложу оформить голосовалку и написать интересную игру!

SfS
13.12.2019, 05:25
Собирайте команду я только за.

Команда должна быть под какую-то идею. А просто "команда" как сумма нескольких единиц - бесполезна и выродится в говорильню.


Если соберемся в команде, предложу оформить голосовалку и написать интересную игру!

Может проще - опубликуете здесь тему с описанием того, какой должна быть ваша интересная игра?
Посмотрим насколько она реализуема. Заодно и определимся с количеством тех, кому эта идея будет интересна.

Terabiterr
13.12.2019, 11:56
Команда должна быть под какую-то идею. А просто "команда" как сумма нескольких единиц - бесполезна и выродится в говорильню.



Может проще - опубликуете здесь тему с описанием того, какой должна быть ваша интересная игра?
Посмотрим насколько она реализуема. Заодно и определимся с количеством тех, кому эта идея будет интересна.

Дело в том что я в игры не играю к сожалению т.к. времени у меня на это не хватает! На zx spectrum идеальный вариант это игры типо "Заработало" как по мне. https://crazymachines.ru
Я согласен с любым мнением, так что давайте идейки соберемся и реализуем.

Black Cat / Era CG
13.12.2019, 12:09
Дело в том что я в игры не играю к сожалению т.к. времени у меня на это не хватает!
Тогда и не стоит пытаться их писать. Если только под чьим-то руководством в качестве гейм-дизайнера. Хорошие игры получаются у тех, кто любит и понимает игры, умеет воспринимать игру со стороны игрока.

andrews
13.12.2019, 13:28
Ну я не поверю, что кто-то в нашем мире прошел мимо компьютерных игр. Нет времени сейчас играть, не означает, что его не было никогда.

Terabiterr
13.12.2019, 13:45
Ну я не поверю, что кто-то в нашем мире прошел мимо компьютерных игр. Нет времени сейчас играть, не означает, что его не было никогда.

Ну я имел в виду спектрумовские игры. И данное время.

- - - Добавлено - - -


Если только под чьим-то руководством
Ну это было бы не плохо т.к. человек предложил собраться в команде так что я и не против.

Stl75
14.12.2019, 13:43
Привет всем...

Если есть желание - что-то поделать...
Могу предложить два своих проекта из 90х...
В свое время - сделать до конца не получилось...

Dark Castle - магический экшен в замке...
Magic the gathering - магический турнир...

Могу разработать идею...
Написать часть кода...
Есть начало...

Запускать в ассемблере Alasm5.09...
В эмуляторе Unreal с конфигурацией - Scorpion256...
71016

Кого проекты - заинтересуют -
пишите сюда или в личку...
Идея проектов - не сохранилась...
Но код и спрайты - сохранились...

Напишу идею - к обоим играм...
Можно сделать - проекты и на PC...
Есть например, Blitz3D, Dark Basic,
Visual C++...

Terabiterr
14.12.2019, 15:44
Привет всем...

Если есть желание - что-то поделать...
Могу предложить два своих проекта из 90х...
В свое время - сделать до конца не получилось...

Dark Castle - магический экшен в замке...
Magic the gathering - магический турнир...

Могу разработать идею...
Написать часть кода...
Есть начало...

Запускать в ассемблере Alasm5.09...
В эмуляторе Unreal с конфигурацией - Scorpion256...
71016

Кого проекты - заинтересуют -
пишите сюда или в личку...
Идея проектов - не сохранилась...
Но код и спрайты - сохранились...

Напишу идею - к обоим играм...
Можно сделать - проекты и на PC...
Есть например, Blitz3D, Dark Basic,
Visual C++...

Спасибо гляну.

andrews
23.12.2019, 13:03
Тоже есть идея игры для open sources(для отладки кросс-технологий), правда не уверен, что оригинальная. Если "изобрел велосипед", сорри! Начало как в известных играх. Звездное мерцающее небо, мигающая стрелка, куда лететь. При нажатии на соответствующую кнопку джойстика/клавиатуры, звезды приближаются. На пути к цели встречаются с полдюжины летающих космических объектов компьютера-врага. Они стреляют по вам, вы по ним. Можете нажать на форсаж скорости, при этом часть из них должна отстать. При маневрах на 360 телесных градусов стрелка правильного курса появляется по новой. После этой первой битвы и уничтожения доступных вражеских объектов, даем ободряющую мелодию( можно из заставки к игре) и стрелку курса. Одна из точечных звезд ощутимо увеличивается в размерах. После нескольких десятков секунд полета она превращается в черную дыру по перефирии которой есть разноцветные затягиваемые в нее звезды. Мелодию меняем на героически-тревожную(N2). Появляется бегущая как в Звездных войнах надпись, что "миссия смертельно опасна, но при героическом мастерстве выполнима". Через несколько секунд при продолжении движения по курсу вся картинка сильно ускоряется и экран резко меняется сначала на концентрические кольца одного цвета и если правильно не маневрировать всеми четырьмя стрелками(влево, вправо, вверх, вниз) имитация взрыва и "Game over". Если маневры правильны и успешны цвет колец меняется от темных цветов к красному. При прохождении последнего уровня звучит радостная мелодия N3 и надпись "Добро пожаловать в Новый мир!" Если это все же кого-то привлечет к совместной работе( программист, художник, музыкант, оппонент) или все вместе в одном или нескольких лицах, пишите в личку.

Terabiterr
09.01.2020, 12:03
Тоже есть идея игры для open sources(для отладки кросс-технологий), правда не уверен, что оригинальная. Если "изобрел велосипед", сорри! Начало как в известных играх. Звездное мерцающее небо, мигающая стрелка, куда лететь. При нажатии на соответствующую кнопку джойстика/клавиатуры, звезды приближаются. На пути к цели встречаются с полдюжины летающих космических объектов компьютера-врага. Они стреляют по вам, вы по ним. Можете нажать на форсаж скорости, при этом часть из них должна отстать. При маневрах на 360 телесных градусов стрелка правильного курса появляется по новой. После этой первой битвы и уничтожения доступных вражеских объектов, даем ободряющую мелодию( можно из заставки к игре) и стрелку курса. Одна из точечных звезд ощутимо увеличивается в размерах. После нескольких десятков секунд полета она превращается в черную дыру по перефирии которой есть разноцветные затягиваемые в нее звезды. Мелодию меняем на героически-тревожную(N2). Появляется бегущая как в Звездных войнах надпись, что "миссия смертельно опасна, но при героическом мастерстве выполнима". Через несколько секунд при продолжении движения по курсу вся картинка сильно ускоряется и экран резко меняется сначала на концентрические кольца одного цвета и если правильно не маневрировать всеми четырьмя стрелками(влево, вправо, вверх, вниз) имитация взрыва и "Game over". Если маневры правильны и успешны цвет колец меняется от темных цветов к красному. При прохождении последнего уровня звучит радостная мелодия N3 и надпись "Добро пожаловать в Новый мир!" Если это все же кого-то привлечет к совместной работе( программист, художник, музыкант, оппонент) или все вместе в одном или нескольких лицах, пишите в личку.

Я за! Всегда буду рад по работать в команде! +1
Ответил в лс!

tae1980
18.01.2020, 21:39
Мысли в слух, прежде чем городить огород.
Задача, программирования под Windows для Профи с ОС CP/M.

Как пониманию сред, где одновременно видно и код, и экран, и т.п. для такой задачи нет.
На текущий момент к текстовому редактору который поддерживает расцветку синтасиса прикрутил ассемблер M80, который прозрачно работает эмуляторе CP/M. Свою задачу выполняет.
Пока заброска готовых программ в образ диска вручную, так как не нашел программ способных работать с дисками CP/M в командном режиме. В силу этого запуск в Унреале в полу автоматическом режиме. Наброски, как решить задачу автоматизации записи программ в образы дисков уже есть, как решиться эта проблема решиться задача с автоматизацией запуска Унреала.

Вопрос 1. Будут ли советы, рекомендации как лучше наладить процесс?
Вопрос 2. Можно ли в таком режиме расставлять точки останова для встроенного в Унреал монитора? Есть вообще какая либо инструкция по нему? Или иные пути и идеи по облегчению отладке программ.

Иван Татаринов
14.05.2020, 10:53
Здравствуйте! Хочу поделиться своими наработками по кросс-платформенному программированию для Спектрума: hello-z80 (https://gitlab.com/ivan-tat/hello-z80) и z80-loader-stub (https://gitlab.com/ivan-tat/z80-loader-stub) (в данном контексте под кросс-платформенным программированием я имею в виду написание кода на платформе, отличной от Спектрума, но предназначенного для работы на Спектруме). Лицензия - общественное достояние. Может кого заинтересует.
ОБНОВЛЕНО (17.04.2022): все мои наработки перекочевали в SDK в проект ZXDOS/ZXUNO (https://github.com/zxdos/zxuno) (папка sdk и все Make-файлы). К сожалению автор проекта Антонио Виллена прекратил общение и я продолжил развитие SDK в форке (https://github.com/ivan-tat/zxuno) с надеждой на слияние в будущем (зависит от Антонио).