PDA

Просмотр полной версии : Мощная среда ZXDev для разработки НА ПЯТИ ЯЗЫКАХ для ZX готова к тестированию



Страницы : 1 2 3 [4] 5

AlexG
23.10.2021, 23:58
посмотрел... рука лицо.
там только исходники.. exe-ника нема.

Oleg N. Cher
24.10.2021, 12:54
Ну а шо ж Вы хотели, уважаемый. Не стреляйте в пианиста, он играет как умеет.

Мне тут товарищ подсказал, что в Телегу можно заходить через браузер. Явитесь и выскажите претензии автору лично)

x86128
25.10.2021, 06:37
3) реальное железо тоже надо временами инициализировать "нужным" значением. не всегда "0" бывает правильным.
4) Кстати, а как "Отсутствие глобально сброса, кстати, поможет Вам при отладке" ?
5) да, не всегда "глобальный сброс" полезен, но для симулятора надо либо "сброс в схеме", либо явное указание исходного значения.


Дело в том что глобальный сброс требует протягивания через всю вашу схему еще одного провода по мимо тактового сигнала. Он добавит задержку, т.к. необходимо будет учитывать время распространения этого сигнала через всю схему и энергопотребление (так как на нем всегда будет присутствовать какой-то логический уровень).

Аппаратный сброс делается только для тех регистров, которые невозможно сбросить программно (мы ведь про процессор говорим). Всё остальное - программно. В простейшем случае получается надо запретить прерывания и обнулить счетчик команд. Хотя вот у Z80 прерывания вырубаются тоже программно - т.к. самая первая инструкция там DI в БИОСе.

В случае FPGA эта паутина проводов уже имеется, поэтому там всё "обнуляется" при старте нужными значениями. В реальных же схемах (считай ASIC) такой возможности нет.

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

Дело еще в том, что несмотря на то что описание схемы задано на языке Verilog который похож на программу - это не программа. Это именно описание цифровой электрической схемы принцип работы которой основан на регистровых передачах (RTL) то есть вы этим описанием задаете цепочки регистров и правила перехода их из одного состояния в другое. Можно сказать что последовательный код на verilog на самом деле не последовательный а реально параллельный.

AlexG
25.10.2021, 11:42
"Глобальный сброс" плох совсем по другой причине. (если точнее одну причину назвали , но забыли другую, а третья не существенна)
По занудствую(повторюсь):
пс: Си я использую 20 с лишним лет. ПЛИСами я занимаюсь набегами лет пять-пятнадцать наверно. а первый раз столкнулся с ними в 98году.

Smalovsky
25.10.2021, 13:21
А на Опенкорес свежей сборки риск 5 не будет?

AlexG
21.11.2021, 17:10
Сотворил отдельную тему
https://zx-pk.ru/threads/33917-project-oberon.html

^m00h^
30.01.2022, 15:36
Так пишите, любители Haiku. А я даже умозрительно не представляю, что это за хрень)

https://github.com/X547/BlackBox-Haiku

Oleg N. Cher
30.01.2022, 15:43
Угу, видел. Хорошая разработка.

Barmaley_m
05.02.2022, 20:56
Дело в том что глобальный сброс требует протягивания через всю вашу схему еще одного провода по мимо тактового сигнала.
Вот эта причина самая существенная. Кто разводил платы - не даст соврать. Питание и землю подводить к каждой микросхеме - это уже гемор и затрудняет разводку остальных связей, а если добавить сюда еще один сигнал (сброс) - то ситуация еще более усугубляется.

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

и энергопотребление (так как на нем всегда будет присутствовать какой-то логический уровень).
Вот это вряд ли. Так как уровень этот обычно постоянный, а львиная доля энергопотребления КМОП-микросхем происходит именно из-за переключений сигналов - то большого вклада в общее потребление схемы сигнал сброса не внесет. Там разве что токи утечки затвора будут, а динамических токов (которые на порядки выше) - нет.

С другой стороны, реализация триггеров без входа сброса более экономична с точки зрения площади кристалла. И, когда триггеров много - то эффект значителен. Не даром Xilinx отказались от входа установки (S) у триггеров при переходе от Spartan 3 к Spartan 6, оставили только сброс. А в 7й серии оставили только синхронный сброс, от асинхронного отказались тоже.


Аппаратный сброс делается только для тех регистров, которые невозможно сбросить программно (мы ведь про процессор говорим). Всё остальное - программно. В простейшем случае получается надо запретить прерывания и обнулить счетчик команд.
Плюсуюсь. Это правильно. И в Z80 именно это и делается. Возможно, еще режим прерываний ставится на IM 0, хотя это лишнее. Остальное можно программно.

Хотя вот у Z80 прерывания вырубаются тоже программно - т.к. самая первая инструкция там DI в БИОСе.
Нет, прерывания при сбросе там запрещаются аппаратно. В противном случае невозможно гарантировать надежный старт компьютера при включении, если до исполнения первой инструкции может произойти несанкционированное прерывание. Команда DI в спектрум-бейсике там стоит не потому, что прерывания при сбросе могут быть разрешены; а для того, чтобы обеспечить безошибочную инициализацию бейсика при попадании исполнения на нулевой адрес по другим причинам (сбой программы, запрос пользователя).

Хотя да, любопытно получается. Попадание управления на команду JP 0 еще не гарантирует инициализацию бейсика, так как между ее исполнением и исполнением DI может произойти прерывание и вмешаться в процесс.

Oleg N. Cher
10.09.2022, 22:11
Modula-2 Compilers on CP/M (https://www.youtube.com/watch?v=he-Yt_fCRYg)

Oleg N. Cher
28.01.2023, 13:17
Отвечу здесь.


Какие расширения у исходников на Обероне? .odc ?Какие хотите. Я делаю .ob2, .cp, .ob7 и .ob3
.odc это бинарный формат документов с форматированием и картинками. Может быть использован для исходников тоже.


И как сделать вывод на консоль для Спека пусть даже без системы?
MODULE IO;
IMPORT io := Console;
BEGIN
io.WriteStr("Hello World" + 0DX)
END IO.


И при чем здесь Спек, если это IDE кросс-компилера.Спек это таргет. А Вы хотите, чтобы компиляция прямо в TR-DOS запускалась?


Я надеюсь, что эта версия генерит код для Спектрума. Ну или хотя бы код для sdcc с нужным make файлом.Код для Спектрума. make-файлов я не использую, только батники.


Как действует версия FPC для z80 я не знаю. Для x86 она вроде на выходе делает .exe. А IDE-ка хоть убогая ( напоминает Borland Pascal), но без проблем строит и запускает winhello.ppВот я и удивился, что Вашего запала не хватило на то, чтобы прочитать QuickStart и сделать File -> Open -> Hello и нажать для сборки и запуска F12. Ну куда уже проще? Вы точно для Спектрума хотите разрабатывать?


Да, это не кросс для z80.Это именно кросс для z80

andrews
28.01.2023, 15:57
Ладно. Возвращаемся к XDevLite.

Отвечу здесь.
чтобы прочитать QuickStart и сделать File -> Open -> Hello и нажать для сборки и запуска F12.
после того, как Вы назвали имя QuickStart, я нашел его поиском в XDevLite\Ofront - QuickStart.txt
Но почему же его нельзя было поместить в корень, то есть диск:\XDevLite\ ?

А там в XDevLite\ есть ReadMe.txt, в котором однако не указано важное для работоспособности из QuickStart.txt

Windows 32:

SET OBERON=%CD%;%CD%\..\Lib\Sym;%CD%\..\Sym

Я не такой знаток батников, чтобы понимать эту строку. Это установка переменной или видимости директориев
SET PATH =
?
Больше бы устроил работающий батник win32.bat Который один раз нажал и он правильно сработал. Правда не знаю, могут ли батники автоматом вставлять путь до директория откуда запускаются. Ладно, если вставлять руками, то %CD% означает именно это? В моем случае h:\XDevLite?

Пока что при компиляции приведенного Вашего исходника естественно дало в строке
IMPORT io := Console

ошибку в Log-е
compiling "IO"
one error detected


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


Спек это таргет. А Вы хотите, чтобы компиляция прямо в TR-DOS запускалась?
некоторые системы (после построения без ошибок)запускают эмулятор, в него грузят полученный исполняемый файл и запускают его в эмуляторе. Иногда еще отдельной кнопкой под отладчиком.

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


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

Oleg N. Cher
28.01.2023, 22:04
после того, как Вы назвали имя QuickStart, я нашел его поиском в XDevLite\Ofront - QuickStart.txt
Но почему же его нельзя было поместить в корень, то есть диск:\XDevLite\ ? Стопэ, это не то. Вот:

XDev/ReadMe.txt

Быстрый старт:

File -> Open -> Ваша подсистема -> Mod - примеры

F11 - скомпилировать; F12 - собрать и запустить.

Выделить мышкой название библиотечного модуля и:

XDev -> Show Definition - показать интерфейс данного модуля

Ctrl+G - навигация по коду (в Lite не присутствует)

Этого объёма знаний будет вполне достаточно для изучения
примеров и написания своих.


SET OBERON=%CD%;%CD%\..\Lib\Sym;%CD%\..\SymВам это не нужно.


Больше бы устроил работающий батник win32.bat Который один раз нажал и он правильно сработал.F12


Правда не знаю, могут ли батники автоматом вставлять путь до директория откуда запускаются.Могут.


Пока что при компиляции приведенного Вашего исходника естественно дало в строкеЭндрю, Вы порочите светлое дело Оберона. Почему бы просто не сделать так, как я Вам советовал? Запустить XDev[Lite].exe, далее File -> Open -> ZXDev/Mod/HelloWorld.Mod

и нажать F12


некоторые системы (после построения без ошибок)запускают эмулятор, в него грузят полученный исполняемый файл и запускают его в эмуляторе.XDev тоже так делает. Нажимайте F12.

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

Вы скачали подсистему ZXDev (https://github.com/Oleg-N-Cher/XDev/releases/tag/ZXDev-2021-10)?

andrews
28.01.2023, 23:24
У меня ошибки после F11 типа
"at 1: error 119: don't know what to do with file 'h:Program'. file extention not supported
и далее несколько строк c другими путями и той же ошибкой.

Я архив распаковал в корень на диск h:
Копирую на c:
Та же фигня.

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


Вы скачали подсистему ZXDev?
так она же входит как поддиректорий. Вот файл после dir >a, упакованный в Total Commander версия 10.0 78411

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


Вы порочите светлое дело Оберона
теперь все сделано по Вашей инструкции. Под Win7 32bit. Может все-таки пути какие-то надо указать и в системные переменные что-то добавить и/или подредактировать? Раз уж через установщик сделать не хотите и реестр использовать.

Да, вижу, готовые .tap-ки из \ZXDEV в эмуляторе запускаются. Unreal Speccy Portable 0.0.50 у меня на это расширение прикручен.

Oleg N. Cher
29.01.2023, 00:24
У Вас XDevLite какой-то странный. Вообще-то XDevLite это всего один файл XDevLite.exe и папка Bin, которая нужна только для пересборки библиотек.


У меня ошибки после F11 типа
"at 1: error 119: don't know what to do with file 'h:Program'. file extention not supported
и далее несколько строк c другими путями и той же ошибкой.Нужно устанавливать в папку, чтобы в пути не было пробелов.


Я архив распаковал в корень на диск h:
Копирую на c:
Та же фигня.Какая же фигня? Что пишет?


Может все-таки пути какие-то надо указать и в системные переменные что-то добавить и/или подредактировать? Раз уж через установщик сделать не хотите и реестр использовать.Ничего не нужно, кроме установки переменой окружения XDev, но это требуется только если Вы собираетесь сохранять проекты не внутри подсистемы ZXDev, а в произвольном месте.

andrews
29.01.2023, 01:29
Какая же фигня? Что пишет?
то же самое, но разумеется вместо h: с:
А как у меня разархивирован софт я сообщил Вам в файле a.zip
Папок \bin там две штуки.
Одна h:\XDevLite\bin
а другая
h:\XDevLite\ZXDev\bin
а, и в других папках тоже есть свои \bin
и содержимое у них сильно разное.

А файл IDE h:\XDevLite\XDev.exe находится не в h:\XDevLite\ZXDev как видите.
Пробовал я его туда копировать, но он тогда при запуске ругается на отсутствие какой-то инициализации.

В общем такое ощущение, что с видимостью директориев и доступностью нужных файлов не все хорошо. Если простая распаковка не работает, значит нужен какой-то setup или какие-то батники.

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

Oleg N. Cher
29.01.2023, 14:33
Смотрите... если Вы пользуетесь XDev, то это целая куча файлов и папок. А если XDevLite, то это всего один файл. Вам нужен только он и подсистема ZXDev. Я думаю, для начального знакомства Вам хватит XDevLite.

Так что происходит, когда Вы запускаете XDevLite.exe и File -> Open -> ZXDev/Mod/HelloWorld.Mod и жмёте F12 ?

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

Ваши более ранние посты свидетельствуют о том, что Вы взяли XDev и зачем-то назвали его Lite. Но это не Lite.

XDevLite вот (https://github.com/Oleg-N-Cher/XDev/releases/tag/XDevLite-2021-10).

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

Берите архив XDevLite-2021-10.zip
Распаковываете его в папку, чтобы в пути не было пробелов.
И пробуете.

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

И скопируйте подсистему ZXDev в ту же папку, где находится файл XDevLite.exe
Подсистему надо распаковать в виде папки, а не кучу файлов. Вот так:

Bin
ZXDev
XDevLite.exe

andrews
29.01.2023, 14:59
Поставил 10 версию из 2 разных .zip Ошибки по F11 остались те же. Есть возможность вывод ошибок при выполнении XDevLite.exe перенаправить в файл вместо консоли? Или скринсейвом экран консоли с ошибками снимать?

Кстати, при запуске с админ правами все то же самое. "Слепки" моих директорий после установки 78413 и ZXDev 78414

Мне не хочется лезть в Ваши исходники и смотреть, что такое error 119
А в расшифровке ошибок после don't know what to do with file ' вообще какие-то странные пути и почему-то сразу про строку 1
Правильно я понял? at 1: error 119 и так 4 раза. Почему 4 раза?
Причем я уже несколько исходников .mod перепробовал из директория \ZXDev\Mod
и везде одно и то же.

Вот ежели скопировать XDevLite.exe внутрь \ZXDev, то эти ошибки исчезают, но в окне с исходником пишет symbol file of imported module not found
а в окне Log
translating XDevHello
warning "default target machine address size and alignment used"

Дальше дело никуда не идет и никакие выходные файлы не создаются и не обновляются.
Нажатие Compile или Build через меню дают такой же эффект.

Может под Windows XP попробовать позапускать?

Oleg N. Cher
29.01.2023, 16:23
Или скринсейвом экран консоли с ошибками снимать?Скринсэйвом.


Вот ежели скопировать XDevLite.exe внутрь \ZXDev, то эти ошибки исчезают, но в окне с исходником пишет symbol file of imported module not foundНе надо так делать.


Может под Windows XP попробовать позапускать?Не обязательно. Я это под Windows 10 делаю.

Эндрю, я, скорее склоняюсь, что Ваш агрессивный антивирус поудалял какие-то файлы.

- Скачиваю архив ZXDev-2021-10.zip (https://github.com/Oleg-N-Cher/XDev/releases/download/ZXDev-2021-10/ZXDev-2021-10.zip), распаковываю в C:\XDevLite
- Скачиваю архив XDevLite-2021-10.zip (https://github.com/Oleg-N-Cher/XDev/releases/download/XDevLite-2021-10/XDevLite-2021-10.zip), распаковываю туда же.
- Запускаю XDevLite.exe, всё открываю, всё компилю, всё работает.

Может кто-то проверить у себя?

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

У меня когда-то Commodo Internet Security сожрал пол-Android SDK. Компании борются с таким при помощи цифровой подписи.

А ошибка, которую Вы указали, лезет не из XDev, а из SDCC.

Bedazzle
29.01.2023, 16:32
- Скачиваю архив ZXDev-2021-10.zip (https://github.com/Oleg-N-Cher/XDev/releases/download/ZXDev-2021-10/ZXDev-2021-10.zip), распаковываю в C:\XDevLite
- Скачиваю архив XDevLite-2021-10.zip (https://github.com/Oleg-N-Cher/XDev/releases/download/XDevLite-2021-10/XDevLite-2021-10.zip), распаковываю туда же.
- Запускаю XDevLite.exe, всё открываю, всё компилю, всё работает.


Win7

https://i.imgur.com/Zth72B6.png

andrews
29.01.2023, 16:37
Bedazzle, вот такая же как у Вас у меня картинка, если скопировать XDevLite.exe внутрь \ZXDev. А вы его наружу вытащите пожалуйста вот так

Bin
ZXDev
XDevLite.exe

и сделайте скрин. Bin от XDevLite-2021-10.zip директорий, в ZXDev еще один свой Bin.

А может быть их надо было объединить? Нет, не помогло. Снова error 119
по ссылке https://disk.yandex.ru/i/ZvZyXc-WN55P8A , изображение не отображается

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


Я это под Windows 10 делаю
могу и под Win10 попробовать

Oleg N. Cher
29.01.2023, 16:52
Это значит только то, что подсистема находится не там, где надо. Я уже миллион раз сказал где она должна быть.
Какая у Вас структура? Папка ZXDev и файл XDevLite.exe должны находиться в одном месте. Я точно с программистами общаюсь?

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

И ещё раз. Распаковывать надо не содержимое папки ZXDev, а саму папку ZXDev.

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

ZXDev
XDevLite.exe

= в одном месте. Ну не знаю я как вам ещё понятнее объяснить.

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

Вот.

78415

Такое чувство, что меня троллят. :(

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

andrews, внимательно проверьте какие файлы удаляет Ваш антивирус. Предположу, что это в ZXDev/Bin. Какие-то утилиты SDCC

andrews
29.01.2023, 17:08
Bin
ZXDev
XDevLite.exe


А ошибка, которую Вы указали, лезет не из XDev, а из SDCC
у меня судя по всему из корня, где размещен XDevLite.exe запускается та версия sdcc к которой прописан путь.
Сейчас попробую все же прописать \bin в PATH.
Прописал. Не помогло.
Интернет говорит, что есть такая ошибка. Вопрос заключается в том, как ее убрать?

Кстати с-ные файлы в директории h:\XDevLite\ZXDev\Obj
после F11(compile) у меня все же оказывается создаются.

Oleg N. Cher
29.01.2023, 17:34
А, у Вас уже был установлен SDCC? Ну тогда ничего удивительного конечно.
Видите в Build.bat такую строку?

SDCC=%ZXDev%\Bin\sdcc.exe

Тут должен вызываться именно тот SDCC, что надо. Похоже, у меня всё работало чётко потому, что переменная XDev прописана.

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

В винде 10: Пуск -> Система -> Дополнительные параметры системы -> Переменные среды -> Системные переменные

Прописываем переменную XDev, содержащую путь. У меня так: d:\Projects\XDev
В конце слэш не пишем.

Согласен, нужно об этом написать в ReadMe.

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

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

andrews
29.01.2023, 17:45
ZXDev
XDevLite.exe

= в одном месте. Ну не знаю я как вам ещё понятнее объяснить.
хорошо, вот пути до них на моем компьютере
h:\XDevLite\XDevLite.exe
и папка
h:\XDevLite\ZXDev

Oleg N. Cher
29.01.2023, 17:48
Да, всё правильно.

Я проверил у себя - всё должно работать без установленной переменной XDev. Там в случае её отсутствия батник устанавливает относительный путь.

andrews
29.01.2023, 17:48
Конечно у меня более свежий SDCC стоит, я его путь просто из PATH убрал

Прописываем переменную XDev, содержащую путь
У меня следовательно будет XDev h:\XDevLite ?

Не прописал эту переменную и сейчас у меня из h:\XDevLite\ никакой sdcc не виден, так как я в PATH на него ничего не указал. Ошибка та же 119 4 раза на разные пути (какие до конца не вижу, так как не могу перенаправить консольный вывод об ошибках в файл).

А HelloWorld.c свеженький вот такой, размещается в h:\XDevLite\ZXDev\Obj



/* Ofront+ 1.0 -mx3 -21 */
#include "SYSTEM.oh"
#include "Basic.oh"


static SHORTINT HelloWorld_x, HelloWorld__for__1;




/*================================================= ===========================*/


int main (int argc, char **argv)
{
__INIT(argc, argv);
__IMPORT(Basic__init);
__REGMAIN("HelloWorld", 0);
/* BEGIN */
Basic_Init();
Basic_BORDER(4);
Basic_PAPER(0);
Basic_CLS();
HelloWorld_x = 0;
HelloWorld__for__1 = 123;
do {
Basic_INK(6);
Basic_PLOT(HelloWorld_x, 127);
Basic_DRAW(10, 10);
Basic_INK(3);
Basic_PLOT(HelloWorld_x, 37);
Basic_DRAW(10, 10);
HelloWorld_x += 2;
} while (--HelloWorld__for__1);
Basic_AT(11, 1);
Basic_PAPER(1);
Basic_INK(5);
Basic_BRIGHT(1);
Basic_FLASH(1);
Basic_PRSTR((void*)" HELLO WORLD of ZX Spectrum ! ");
Basic_FLASH(0);
Basic_PAUSE(0);
Basic_Quit();
__FINI;
}



Да, установка XDev в h:\XDevLite на ошибки sdcc не повлияла.
Ну, хорошо, а как вручную довершить процесс, имея на руках HelloWorld.c?

Oleg N. Cher
29.01.2023, 18:09
Да. Так:

XDev
h:\XDevLite

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

Но странно, что при вызове sdcc.exe по относительному пути вызвался тот, что в PATH.

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

Предлагаю Вам попробовать отладить файл Build.bat
Уберите в начале ECHO OFF и поставьте PAUSE после каждого значащего вызова. Будем видеть какие именно команды не отрабатывают.

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

Как довершить процесс вручную - всё есть в Build.bat
Трансляция Оберона в Си происходит, срезается на вызове сишки.

andrews
29.01.2023, 18:17
o'k перерывчик на полчаса, что-то зверский аппетит проснулся

Oleg N. Cher
29.01.2023, 18:18
Не обещаю быть, у нас сейчас выключают электричество 3 раза в сутки :(

andrews
29.01.2023, 19:54
После выполнения вот этой строки в compile.bat
IF NOT EXIST ..\C\%1.c %SDCC% -c %1.c -I. -I..\Lib -I%ZXDev%\Lib %Include%

появляются эти ошибки

Bedazzle
29.01.2023, 20:07
Это значит только то, что подсистема находится не там, где надо. Я уже миллион раз сказал где она должна быть.
Какая у Вас структура? Папка ZXDev и файл XDevLite.exe должны находиться в одном месте. Я точно с программистами общаюсь?



- Скачиваю архив ZXDev-2021-10.zip, распаковываю в C:\XDevLite
- Скачиваю архив XDevLite-2021-10.zip, распаковываю туда же.
- Запускаю XDevLite.exe, всё открываю, всё компилю, всё работает.


Не программист, потому делал по вашей инструкции.
Распаковал в корень (за это отдельное "спасибо") диска С файл ZXDev-2021-10.zip создав папочку ZXDevLite
Туда же распаковал XDevLite-2021-10.zip
Компиляция даёт ошибку. Что я сделал не так?

Подумал, что наверное, зря сделал папку ZXDevLite, переименовал в ZXDev.
Компиляция даёт ошибку. Что я сделал не так?

https://i.imgur.com/KDN1dOM.png

P.S.
Ну и бонусом "спасибо" за кучу тапков в основной директории. Было бы неплохо их сложить в специально отведённое место.

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


= в одном месте. Ну не знаю я как вам ещё понятнее объяснить.

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

Вот.

Ох ты, ё-моё. Это надо было ещё догадаться, что сначала надо СВОЮ папку создать на диске С, куда всё положить.

Oleg N. Cher
29.01.2023, 23:08
Распаковал в корень (за это отдельное "спасибо") диска СВ корень необязательно, главное чтобы в пути не было пробелов. Я уже много раз об этом сказал.


файл ZXDev-2021-10.zip создав папочку ZXDevLiteЯ где-то писал про папочку ZXDevLite?


Компиляция даёт ошибку. Что я сделал не так?Вы мою картинку видели? Не надо ложить XDevLite.exe внутрь подсистемы. Я об этом написал несколько раз. Положите её рядом с папкой ZXDev.


Ну и бонусом "спасибо" за кучу тапков в основной директории. Было бы неплохо их сложить в специально отведённое место.Так вот они как раз и есть в специально отведённом месте - в папке подсистемы, в её корне, потому что это и есть цель подсистемы - произвести эти тапки.

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


После выполнения вот этой строки в compile.bat
IF NOT EXIST ..\C\%1.c %SDCC% -c %1.c -I. -I..\Lib -I%ZXDev%\Lib %Include%

появляются эти ошибкиХорошо. Пока консольное окошко на паузе - можете скопировать оттуда выхлоп на эту строку?

У меня пока нет идей.

Bedazzle
30.01.2023, 01:55
В корень необязательно, главное чтобы в пути не было пробелов. Я уже много раз об этом сказал.

Да запустилось оно. Но так как без надобности, стёр.
Лучше чем-нибудь полезным займусь.

andrews
30.01.2023, 09:34
Ох ты, ё-моё. Это надо было ещё догадаться, что сначала надо СВОЮ папку создать на диске С, куда всё положить.
мне это не помогает!

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


Хорошо. Пока консольное окошко на паузе - можете скопировать оттуда выхлоп на эту строку?

У меня пока нет идей.
сделаю. И параллельно пытаюсь, полученный сишный файл откомпилировать и построить "вручную". Так как у меня проблемы точно с sdcc.

Bedazzle
30.01.2023, 11:01
мне это не помогает!

Ёжики плакали, кололись, но продолжали жрать кактус.

andrews
30.01.2023, 11:28
Ёжики плакали, кололись, но продолжали жрать кактус
да ничего страшного, с RMX80 ковырялись полтора месяца 7 дней в неделю(перелопатили через дизассемблирование несколько библиотечных файлов ISIS-II) и все-таки нашли, что надо было первый раз 8251 на вывод толкнуть выдачей 0 байта в регистр трансмиттера.
По идее это должно было делаться автоматом при инициализации системы. Но у разработчиков была другая логика.

Так что "через тернии к звездам"...как всегда.
Ну и с sdcc для z80 попутно разберусь. Тут у меня тоже нулевая компетенция.

Oleg N. Cher
30.01.2023, 14:28
Ну, пишите о прогрессе. На самом деле да, надо брать выхлоп и смотреть что конкретно не срабатывает. У меня это работает на куче разных компов. И не только у меня. Так что проблема правда странная.


Да запустилось оно. Но так как без надобности, стёр.
Лучше чем-нибудь полезным займусь.Это знаешь как называется? Я захэйчу всё, что от тебя исходит, какое бы оно ни было. Оно мне уже не нравится. Я его посмотрел только чтобы сказать "фи". Да ради бога, мне такие люди не интересны.

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

Немного подробнее как устроен XDev.

Нажатие кнопки F12 запускает трансляцию Оберона в Си, в папке Obj создаются .c и .oh-файлы, в Sym символьный файл с представлением интерфейса модуля. Символьник нужен, чтобы согласовать импорт-экспорт интерфейсов. Проще говоря, подключаемые из других модулей сущности описаны в символьных файлах. Для главного (*$MAIN*) модуля создаётся только .c.

Потом среда ищет файл Obj/ИмяМодуля.bat, который нужен для особых случаев сборки, не предусмотренных в Bin/Build.bat. Это удобно для кастомизации сборки при хитрых конфигурациях. Если такого файла нет, тогда запускается Bin/Build.bat, которому параметром %1 передаётся ИмяМодуля без расширения. Это удобно, чтобы подставить своё собственное расширение. Дальше батник сам конфигурирует и вызывает Си-компилятор.

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

s_kosorev
31.01.2023, 11:44
Так что "через тернии к звездам"...как всегда.
Ну и с sdcc для z80 попутно разберусь. Тут у меня тоже нулевая компетенция.
Суть в чем. Тебе нужно будет каждую новую проблему победить, сначала правильно решить ее на sdcc, а потом еще победить на ОБЕРОН, так что бы она правильно отразилась в sdcc, что бы оно правильно отобразилось на таргете.

Путь обещает быть интересным!

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

Ладно бы, ОБЕРОН в этой реализации давал каки-то свои плюшки. Скорее даже плюшки ОБЕРОН окружения, ну там сборщик мусора, динамическую загрузку/выгрузку модулей с контролем типов, что там еще из плюшек есть? Так нет же, это просто синтаксическая обертка для си, для тех кому этот си не зашел, по какой либо из причин, тут только compile time проверка типов, все. Которая скрывает много фич, доступных sdcc при прямом написании кода

andrews
31.01.2023, 13:38
Ну вот какой результат. Под Windows10 установил sdcc 64 bit версию разумеется, ну и все и так, как рекомендовал автор...И всё заработало!

Но под Windows7 32 bit c sdcc 32 bit у меня дома не работает! Так что этот софт получается пока что не для всех. На XP пока не пробовал. Не знаю, найдется ли версия sdcc для XP.

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


Тебе нужно будет каждую новую проблему победить, сначала правильно решить ее на sdcc
да я не знаю пока, удастся ли продвинуться? Пока вот вижу отличия в работе, о чем и сообщил всем. По идее конечно надо setup делать для разной Винды.

Bedazzle
31.01.2023, 14:07
Это знаешь как называется? Я захэйчу всё, что от тебя исходит, какое бы оно ни было. Оно мне уже не нравится. Я его посмотрел только чтобы сказать "фи". Да ради бога, мне такие люди не интересны.


Называется "попросили проверить и запустить кого-то ещё, а я как дурак, полез помогать".
Без какого-либо хейта хотел показать, что можно улучшить, но меня обвиняют.
Так что лучше пойду.

s_kosorev
31.01.2023, 15:18
Но под Windows7 32 bit c sdcc 32 bit у меня дома не работает! Так что этот софт получается пока что не для всех. На XP пока не пробовал. Не знаю, найдется ли версия sdcc для XP.
Что то мне подсказывает, что разрядность тут не причем. Там же не dll юзается, а просто из командной строки вызывает

Oleg N. Cher
31.01.2023, 18:28
ну там сборщик мусора, динамическую загрузку/выгрузку модулей с контролем типовДля Спека? Очень смешно, аффтар, жжош, пейшы естчо.


Без какого-либо хейта хотел показать, что можно улучшить, но меня обвиняют.За помощь спасибо. Но Вы не понимаете многих идей, положенных в основу XDev, чтобы давать адекватные советы. Мне совет показался в духе "придерусь хоть к чему-то, впрочем, мне всё не так".

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


Но под Windows7 32 bit c sdcc 32 bit у меня дома не работает! Так что этот софт получается пока что не для всех. На XP пока не пробовал. Не знаю, найдется ли версия sdcc для XP.SDCC в комплекте ZXDev 32-битный, тестился на XP, всё должно работать. Почему не работает? Возможно, Вы пытаетесь работать с библиотекой, собранной SDCC другой версии. Или что-то в таком роде.

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

Попробуйте пересобрать библиотеки. В XDev: File -> Open -> ZXDev/Lib/Mod/Console , F12. И так для всех остальных. Папка Bin должна присутствовать (в ней утилита для разрезания Си-файлов на куски, чтобы исправить родовой дефект Си и хоть в какой-то степени получить смарт-линковку).

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


По идее конечно надо setup делать для разной Винды.Это не нужно. Всё должно работать даже в W2k.

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

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

P.S. Вообще-то я конечно гоню, ведь библиотека юзается из той же версии SDCC, которой и собрана. Но Вы конечно согласитесь, что это проблема SDCC, а не ZXDev?

andrews
31.01.2023, 18:55
Попробую восстановить систему Windows7 32 бит в другом разделе винчестера. Для чистоты эксперимента. В том разделе, с которым я работаю, наустановлено черт-те что. К тому же винчестер хотя и новый, но прежний рухнул напрочь, так что мне его умелец питерский за приличные деньги восстанавливал посекторно и кое-что восстановить не удалось. Пока это ни в чем себя не проявляло. Система стабильно работает, приложения вроде тоже все работают штатно.

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


что для программиста не должно стать проблемой распаковать пару архивов
все так, возможно и setup от этого бы не спас. Будем разбираться. Но это не антивирус точно. Кстати Windows10 сегодня нещадно предупреждал меня об опасности установки и запуска и sdcc и Вашего софта. Если бы левый человек скачивал и ставил, то уже бы сто раз сдриснул.

Oleg N. Cher
31.01.2023, 19:27
Увы, антивириям не нравится софт, собранный Оберон-линкерами. Не знаю, что можно с этим поделать.

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

Можно попробовать любую другую версию SDCC, которая заработает. Просто скопировать эти файлы в Bin:

sdar.exe
sdasz80.exe
sdcc.exe
sdcpp.exe
sdldz80.exe

Oleg N. Cher
31.01.2023, 21:38
Которая скрывает много фич, доступных sdcc при прямом написании кодаНа самом деле подход ZXDev НЕ ЗАБИРАЕТ у вас прямую возможность писать куски кода на Си, но ДАЁТ возможность писать на более высокоуровневом и логичном языке, который не разменивается на частности, позволяя программисту посмотреть на свой труд под другим углом. Убирание, вернее, снижение акцентов на низкоуровневые фичи стимулирует программиста писать более переносимый код. Если это нужно конечно.

Пример: порт игры Дурак с ZX на БК-001x. Если бы игра была с самого начала писана на Си, её пришлось бы для портирования просто переписать заново. Вряд ли сильно много кода с ZX-версии прямо легло бы на БК. Я же самолично проверил и убедился, что пишу так, что минимум 50% кода на Обероне переносимы между этими платформами обычным копипастом. Я понимаю, что г-ну Косореву это не интересно, но это так.

С подходом XDev программист получает возможность писать на одном языке для кучи ретро- и не ретро-платформ. Да, эта переносимость условная и со многими оговорками. Но здесь дело в железе, языки не виноваты. Они не в силах сделать железо совместимым. Писать на Си? Можно конечно, но Си не запрещает юзать фишки, поэтому их юзают. И получают очень плохо переносимый код. Нет стимулов разделять на переносимый и не переносимый. Это не надо для ретро? Возможно. Но мои интересы не ограничиваются только ретро.

andrews
31.01.2023, 21:40
В файле h:\XDevLite\ZXDev\Bin\compile.bat гадит строка следующего вида

SET Include=%Include% -I%ZXDev%\Lib\C -I%ZXDev%\Lib\Obj

она цепляет все, что в системе объявлено в INCLUDE

Стоит ее превратить в
SET Include= -I%ZXDev%\Lib\C -I%ZXDev%\Lib\Obj
и компилируется все превосходно!


1 ;--------------------------------------------------------
2 ; File Created by SDCC : free open source ANSI-C Compiler
3 ; Version 4.2.0 #13081 (MINGW32)
4 ;--------------------------------------------------------
5 .module HelloWorld
6 .optsdcc -mz80
7
8 ;--------------------------------------------------------
9 ; Public variables in this module
10 ;--------------------------------------------------------
11 .globl _main
12 .globl _Basic_Quit_DI
13 .globl _Basic_PRSTR_C_ROM_fastcall
14 .globl _Basic_PLOT_callee
15 .globl _Basic_PAUSE_DI
16 .globl _Basic_PAPER
17 .globl _Basic_INK
18 .globl _Basic_FLASH
19 .globl _Basic_DRAW_callee
20 .globl _Basic_CLS_ZX
21 .globl _Basic_BRIGHT
22 .globl _Basic_BORDER_fastcall
23 .globl _Basic_AT_ROM_callee
24 ;--------------------------------------------------------
25 ; special function registers
26 ;--------------------------------------------------------
27 ;--------------------------------------------------------
28 ; ram data
29 ;--------------------------------------------------------
30 .area _DATA
000000 31 _HelloWorld_x:
000000 32 .ds 2
000002 33 _HelloWorld__for__1:
000002 34 .ds 2
35 ;--------------------------------------------------------
36 ; ram data
37 ;--------------------------------------------------------
38 .area _INITIALIZED
39 ;--------------------------------------------------------
40 ; absolute external ram data
41 ;--------------------------------------------------------
42 .area _DABS (ABS)
43 ;--------------------------------------------------------
44 ; global & static initialisations
45 ;--------------------------------------------------------
46 .area _HOME
47 .area _GSINIT
48 .area _GSFINAL
49 .area _GSINIT
50 ;--------------------------------------------------------
51 ; Home
52 ;--------------------------------------------------------
53 .area _HOME
54 .area _HOME
55 ;--------------------------------------------------------
56 ; code
57 ;--------------------------------------------------------
58 .area _CODE
59 ;HelloWorld.c:14: int main (int argc, char **argv)
60 ; ---------------------------------
61 ; Function main
62 ; ---------------------------------
000000 63 _main::
64 ;HelloWorld.c:20: Basic_Init();
000000 F3 [ 4] 65 di
000001 FD CB 01 A6 [23] 66 res 4,1(iy)
000005 CD 42 16 [17] 67 call 0x1642
68 ;HelloWorld.c:21: Basic_BORDER(4);
000008 2E 04 [ 7] 69 ld l, #0x04
70 ; spillPairReg hl
71 ; spillPairReg hl
00000A CDr00r00 [17] 72 call _Basic_BORDER_fastcall
73 ;HelloWorld.c:22: Basic_PAPER(0);
00000D 2E 00 [ 7] 74 ld l, #0x00
75 ; spillPairReg hl
76 ; spillPairReg hl
00000F CDr00r00 [17] 77 call _Basic_PAPER
78 ;HelloWorld.c:23: Basic_CLS();
000012 CDr00r00 [17] 79 call _Basic_CLS_ZX
80 ;HelloWorld.c:24: HelloWorld_x = 0;
000015 21 00 00 [10] 81 ld hl, #0x0000
000018 22r00r00 [16] 82 ld (_HelloWorld_x), hl
83 ;HelloWorld.c:25: HelloWorld__for__1 = 123;
00001B 2E 7B [ 7] 84 ld l, #0x7b
00001D 22r02r00 [16] 85 ld (_HelloWorld__for__1), hl
86 ;HelloWorld.c:26: do {
000020 87 00101$:
88 ;HelloWorld.c:27: Basic_INK(6);
000020 2E 06 [ 7] 89 ld l, #0x06
90 ; spillPairReg hl
91 ; spillPairReg hl
000022 CDr00r00 [17] 92 call _Basic_INK
93 ;HelloWorld.c:28: Basic_PLOT(HelloWorld_x, 127);
000025 3Ar00r00 [13] 94 ld a, (_HelloWorld_x+0)
95 ; spillPairReg hl
96 ; spillPairReg hl
000028 2E 7F [ 7] 97 ld l, #0x7f
00002A CDr00r00 [17] 98 call _Basic_PLOT_callee
99 ;HelloWorld.c:29: Basic_DRAW(10, 10);
100 ; spillPairReg hl
101 ; spillPairReg hl
00002D 3E 0A [ 7] 102 ld a,#0x0a
00002F 6F [ 4] 103 ld l,a
000030 CDr00r00 [17] 104 call _Basic_DRAW_callee
105 ;HelloWorld.c:30: Basic_INK(3);
000033 2E 03 [ 7] 106 ld l, #0x03
107 ; spillPairReg hl
108 ; spillPairReg hl
000035 CDr00r00 [17] 109 call _Basic_INK
110 ;HelloWorld.c:31: Basic_PLOT(HelloWorld_x, 37);
000038 3Ar00r00 [13] 111 ld a, (_HelloWorld_x+0)
112 ; spillPairReg hl
113 ; spillPairReg hl
00003B 2E 25 [ 7] 114 ld l, #0x25
00003D CDr00r00 [17] 115 call _Basic_PLOT_callee
116 ;HelloWorld.c:32: Basic_DRAW(10, 10);
117 ; spillPairReg hl
118 ; spillPairReg hl
000040 3E 0A [ 7] 119 ld a,#0x0a
000042 6F [ 4] 120 ld l,a
000043 CDr00r00 [17] 121 call _Basic_DRAW_callee
122 ;HelloWorld.c:33: HelloWorld_x += 2;
000046 2Ar00r00 [16] 123 ld hl, (_HelloWorld_x)
000049 23 [ 6] 124 inc hl
00004A 23 [ 6] 125 inc hl
00004B 22r00r00 [16] 126 ld (_HelloWorld_x), hl
127 ;HelloWorld.c:34: } while (--HelloWorld__for__1);
00004E 2Ar02r00 [16] 128 ld hl, (_HelloWorld__for__1)
000051 2B [ 6] 129 dec hl
000052 22r02r00 [16] 130 ld (_HelloWorld__for__1), hl
000055 3Ar03r00 [13] 131 ld a, (_HelloWorld__for__1+1)
000058 21r02r00 [10] 132 ld hl, #_HelloWorld__for__1
00005B B6 [ 7] 133 or a, (hl)
00005C 20 C2 [12] 134 jr NZ, 00101$
135 ;HelloWorld.c:35: Basic_AT(11, 1);
00005E 2E 01 [ 7] 136 ld l, #0x01
137 ; spillPairReg hl
138 ; spillPairReg hl
000060 3E 0B [ 7] 139 ld a, #0x0b
000062 CDr00r00 [17] 140 call _Basic_AT_ROM_callee
141 ;HelloWorld.c:36: Basic_PAPER(1);
000065 2E 01 [ 7] 142 ld l, #0x01
143 ; spillPairReg hl
144 ; spillPairReg hl
000067 CDr00r00 [17] 145 call _Basic_PAPER
146 ;HelloWorld.c:37: Basic_INK(5);
00006A 2E 05 [ 7] 147 ld l, #0x05
148 ; spillPairReg hl
149 ; spillPairReg hl
00006C CDr00r00 [17] 150 call _Basic_INK
151 ;HelloWorld.c:38: Basic_BRIGHT(1);
00006F 2E 01 [ 7] 152 ld l, #0x01
153 ; spillPairReg hl
154 ; spillPairReg hl
000071 CDr00r00 [17] 155 call _Basic_BRIGHT
156 ;HelloWorld.c:39: Basic_FLASH(1);
000074 2E 01 [ 7] 157 ld l, #0x01
158 ; spillPairReg hl
159 ; spillPairReg hl
000076 CDr00r00 [17] 160 call _Basic_FLASH
161 ;HelloWorld.c:40: Basic_PRSTR((void*)" HELLO WORLD of ZX Spectrum ! ");
000079 21r8Dr00 [10] 162 ld hl, #___str_0
00007C CDr00r00 [17] 163 call _Basic_PRSTR_C_ROM_fastcall
164 ;HelloWorld.c:41: Basic_FLASH(0);
00007F 2E 00 [ 7] 165 ld l, #0x00
166 ; spillPairReg hl
167 ; spillPairReg hl
000081 CDr00r00 [17] 168 call _Basic_FLASH
169 ;HelloWorld.c:42: Basic_PAUSE(0);
000084 21 00 00 [10] 170 ld hl, #0x0000
000087 CDr00r00 [17] 171 call _Basic_PAUSE_DI
172 ;HelloWorld.c:43: Basic_Quit();
173 ;HelloWorld.c:44: __FINI;
174 ;HelloWorld.c:45: }
00008A C3r00r00 [10] 175 jp _Basic_Quit_DI
00008D 176 ___str_0:
00008D 20 48 45 4C 4C 4F 20 177 .ascii " HELLO WORLD of ZX Spectrum ! "
57 4F 52 4C 44 20 6F
66 20 5A 58 20 53 70
65 63 74 72 75 6D 20
21 20
0000AB 00 178 .db 0x00
179 .area _CODE
180 .area _INITIALIZER
181 .area _CABS (ABS)


Правда не понял, почему в Windows10 у меня было не так. Возможно там просто SET Include пустая.

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


Можно попробовать любую другую версию SDCC, которая заработает. Просто скопировать эти файлы в Bin:

sdar.exe
sdasz80.exe
sdcc.exe
sdcpp.exe
sdldz80.ex
не влияет!

Oleg N. Cher
31.01.2023, 21:49
Ага. Хотите сказать, что в Вашей системе переменная окружения Include уже была задана какой-то другой программой?

Дело в том, что батники Compile.bat и Build.bat ждут параметров в переменных. Видите менюшку XDev -> ZXDev Project Setup

78425

Это меню нельзя использовать для настройки примеров ZXDev/Mod, оно предназначено для настройки проектов, которые хранятся в произвольном месте. Когда Вы нажимаете кнопку Save в папке Bin проекта автоматически создаются батники примерно такого вида:


@ECHO OFF
IF NOT "%XDev%"=="" GOTO XDev
ECHO Please set system variable XDev=X:\Path\To\XDev
PAUSE
EXIT

:XDev

SET Include=-I ..\Lib\C -I ..\Lib\Obj
SET Clean=FALSE

%XDev%\ZXDev\Bin\Compile.bat %1


@ECHO OFF
IF NOT "%XDev%"=="" GOTO XDev
ECHO Please set system variable XDev=X:\Path\To\XDev
PAUSE
EXIT

:XDev

SET CodeAdr=45056
SET DataAdr=50000
SET Include=-I ..\Lib\C -I ..\Lib\Obj
SET Target=TAP
SET Clean=FALSE

%XDev%\ZXDev\Bin\Build.bat %1

Они обращаются к тем самым батникам подсистемы - ZXDev/Bin/Compile.bat и Build.bat, передавая им нужные опции в переменных. Include тоже используется для этого.

Не подскажете, какая именно софтина создаёт у Вас переменную окружения Include?

andrews
31.01.2023, 23:01
Не подскажете, какая именно софтина создаёт у Вас переменную окружения Include?
да я их сам руками насоздавал!
Вот
INCLUDE=h:\Program Files\DirectX SDK\Include;h:\Cg\include; h:\Fresh\include;g:\DM\include;g:\DM\include\stl;g :\DM\include\GL;h:\FASM\INCLUDE
вот это всё этот батник и засасывает не знаю зачем, а sdcc из-за этого дает ошибку!

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


Это меню нельзя использовать для настройки примеров ZXDev/Mod
я и не использовал

Oleg N. Cher
01.02.2023, 00:45
Ну просто на будущее. Ведь свои проекты удобно хранить вне подсистемы.

SDCC даёт ошибку из-за того, что ему подсовывается непонятно что в качестве опций командной строки ;)
Кстати, если бы показали выхлоп, как я и предлагал, то сразу бы и поняли в чём проблема.

Ну да теперь всё норм и можно разрабатывать!

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


вот это всё этот батник и засасывает не знаю зачемПонятно же зачем. Батник так и устроен, чтобы получать опции в этих переменных. А тут имя переменной совпало с используемой в Build.bat

AlexG
01.02.2023, 09:30
SET Include
Сие устанавливает/используют (разные приложения) переменную окружения (примерно то же что и PATH). В частности Watcom использует её для указания к своим хедерам.
Обычно свой "путь" добавляют в "начало" типо такого
SET Include=%Include%;%ZXDev%\Lib\C;%ZXDev%\Lib\Obj


Мне здесь кажется "лишним" символы '-I'. Это не относится к формированию путей, а скорее всего это "команда для программы"
SET Include=%Include% -I%ZXDev%\Lib\C -I%ZXDev%\Lib\Obj

ПС: Include это "типо ключевого символа" и использовать его "вольготно" крайне не рекомендуется.
ПС:ПС: ИМХО

andrews
01.02.2023, 18:20
Аналогично и в файле h:\XDevLite\ZXDev\Bin\Build.bat в строке
SET Include=%Include% -I%ZXDev%\Lib\C -I%ZXDev%\Lib\Obj

"выламываем зуб дракона" %Include% и всё несется вплоть до запуска в эмуляторе, если к нему у вас привязаны файлы с расширением .tap.

Конечно это не совсем корректно, но переписывать батники предоставим возможность автору. А если ему лень, тогда может быть кто-то этим займется. Пока же имеем в виду, что в любой Win-де XP, 7, 8, 10 где у вас выводится не пустая строка по SET INCLUDE вас ждет облом XDevLite.

Ну вот, мечтал о 5 минутах чтобы попробовать, а убил пару часов жизни за несколько дней.

Еще вопрос: а на каком эмуляторе Вы демки прогоняли .tap-ы. А то у меня на Unreal Speccy Portable значительное количество не выполняется.

Oleg N. Cher
01.02.2023, 20:43
Мне здесь кажется "лишним" символы '-I'. Это не относится к формированию путей, а скорее всего это "команда для программы"Там ничего лишнего нет. Именно через опцию -I компилятору дают указание на поиск инклюдов по этому пути.


ПС: Include это "типо ключевого символа" и использовать его "вольготно" крайне не рекомендуется.Ну, я поэтому и интересовался какой именно софт использует эту переменную. Хорошо, учтём проблему и сделаем что-то вроде XDevInclude


Конечно это не совсем корректно, но переписывать батники предоставим возможность автору. А если ему лень, тогда может быть кто-то этим займется.Автору не лень. Но Вы не уловили сути идеи зачем сделано именно так: через эту переменную идёт задание опций SDCC для проектов, которые хранятся в произвольной папке. Если сделать так, как Вы предлагаете, то переменная Include станет бесполезной. И проект нельзя будет сконфигурировать задуманным образом.


Пока же имеем в виду, что в любой Win-де XP, 7, 8, 10 где у вас выводится не пустая строка по SET INCLUDE вас ждет облом XDevLite.Дело не в версии винды. Я переюзал кучу виндов начиная с 3.1, 9x и NT, и 2k, и XP - и нигде не было задана переменная Include. Вы сами сказали, что задали её самолично. При чём здесь винда?


Ну вот, мечтал о 5 минутах чтобы попробовать, а убил пару часов жизни за несколько дней.Ну сорь ;) Надеюсь, пригодится.


Еще вопрос: а на каком эмуляторе Вы демки прогоняли .tap-ы. А то у меня на Unreal Speccy Portable значительное количество не выполняется.Spectaculator, FUSE, EmuzWin, ZXSpin. Полагаете, дело в самих тапах?

andrews
01.02.2023, 22:32
Spectaculator, FUSE, EmuzWin, ZXSpin. Полагаете, дело в самих тапах?
спасибо, попробую! По поводу Include очень многие старые компиляторы и ассемблеры требовали явного указания, где им брать файлы .h или .inc в операторах типа #include <x.h>. Вот и надо было их вручную прописывать в переменной INCLUDE для пользователя или компьютера в целом.
В Digital Mars C/C++( к нему даже STL и GL вручную прикручивались), да и в Watcom C/C++ и ранних Borland-ах тоже. Я же с 1983 года программист помаленьку :) Как раз в мае 2023 года 40 лет, как я написал первую прогу для 8080 в машинных кодах и набил ее на пленочной клавиатуре МСУВТ В7. Летит время! Фото на аватарке это 2005 год. А сейчас я даже со своими детьми не снимаюсь, старичелло. Когда 4 летней дочке старые альбомчики показываю, она в шоке, какой когда-то был ее папа-дед. Сорри, за оффтоп. Так что все попробуем, что чего как.

Oleg N. Cher
02.02.2023, 06:21
Да дело в том, что необязательно же на постоянку прописывать, можно и батничек забабахать, который задаст переменную перед вызовом нужной тулзы.

У меня тут появилась идейка одна, если всё получится, то избавимся не только от любых подобных проблем, но и от переменной XDev.

Если хотите - можем попробовать отладить примеры. Что именно и как не работает в Unreal Speccy? (какой именно версии у Вас Unreal Speccy?)

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

ПыСы не совсем избавимся от переменной XDev, а от её ручного прописывания. Ну и автоматического тоже.

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

Починил все проблемы с Include и остальными возможными подобными случаями, убрал ручное прописывание переменной XDev.

Обновил XDevLite (https://github.com/Oleg-N-Cher/XDev/releases/tag/XDevLite-2023-02).

Релиз XDev не обновлял, это слишком долго и муторно, если кому надо - юзайте из репа.

Хотел сделать, чтобы можно было разрешать пробелы в путях, но, похоже, что сам SDCC так не работает.

78428

andrews
02.02.2023, 12:12
У меня еще Fuse есть под рукой. Ну вот ни там, ни там не работает DemoRus.Mod


MODULE DemoRus; (*$MAIN*)
IMPORT B := Basic, GrFonts, S := NewSupercode;

BEGIN
B.Init;
B.BORDER(B.Cyan); B.PAPER(B.Black); B.CLS;
B.INK(B.Red); B.FONT(GrFonts.ZxSpecRus8x8);
S.LITERY(4, 0, 3, 5, 7, "priwet, mir!");
B.INK(B.Yellow); B.FONT(GrFonts.ZxSpecRom8x8);
S.LITERY(4, 65, 3, 5, 7, "HELLO WORLD!");
B.INK(B.Green); B.FONT(GrFonts.MsDosCga8x8);
S.LITERY(4, 130, 3, 5, 7, "HELLO WORLD!");
B.PAUSE(B.WaitAKey);
B.Quit
END DemoRus.


В то же время TestFontRus работает.


(*$MAIN*) MODULE TestFontRus; (*$866*)
IMPORT b := Basic, GrFonts, io := Console;

BEGIN
b.Init; io.Clear(io.Black); io.SetColors(io.YellowOnGreen);
b.FONT(GrFonts.MsDosCgaRus8x8);
io.WriteStr("┌─────────────── ──────┐"); io.WriteLn;
io.WriteStr("│▓▒░Привет, Савелий!░▒▓│"); io.WriteLn;
io.WriteStr("└─────────────── ──────┘"); io.WriteLn;
io.SetColors(io.CyanOnBlue);
io.At(2, 4); io.WriteStr("╔═══════════════ ══════╗");
io.At(2, 5); io.WriteStr("║ Привет, Савелий! ║");
io.At(2, 6); io.WriteStr("╚═══════════════ ══════╝");
io.SetColors(io.RedOnYellow);
io.At(5, 8); io.WriteStr("╓─────────────── ──────╖");
io.At(5, 9); io.WriteStr("║ Привет, Савелий! ║");
io.At(5,10); io.WriteStr("╙─────────────── ──────╜");
io.SetColors(io.GreenOnBlack);
io.At(8,12); io.WriteStr("╒═══════════════ ══════╕");
io.At(8,13); io.WriteStr("│ Привет, Савелий! │");
io.At(8,14); io.WriteStr("╘═══════════════ ══════╛");
b.PAUSE(0);
b.Quit
END TestFontRus.



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


какой именно версии у Вас Unreal Speccy?
Unreal Speccy Portable 0.0.50 а Fuse 1.6.0

Oleg N. Cher
02.02.2023, 17:26
DemoRus
78432

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

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

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

Странно, но у меня всё работает и в 1.6.0

78433

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

В режиме 128k тоже работает.

78434

andrews
02.02.2023, 17:58
Видно такое моё счастье ;) Меня тестером можно куда угодно посылать, лишь бы не в Космос.
Ну вот еще то, что работает странно:

Spiral11.Mod
Spiral11f2.Mod
RotateSpr.Mod
DemoSpr.Mod
Circl.Mod
CirclFilled.Mod
BrightLetters.Mod
BigCircles.Mod
это я на Unreal Speccy Portable 0.0.50 только но все .tap ы проверял.

Ничего не могу сказать хорошего или плохого про этот эмулятор. Вроде он много входных форматов обрабатывает и денег не просит за установку и работу.

Oleg N. Cher
02.02.2023, 21:04
Андрей, у меня DemoRus работает в unreal-speccy-portable_0.0.87_win32_sdl2_gles2_angle

Вы меня конечно извините, но, по-моему, у Вас проблемы с компьютером или с Windows.

78435

andrews
02.02.2023, 21:52
unreal-speccy-portable_0.0.87_win32_sdl2_gles2_angle
ссылку дадите, где бинарник скачать? Если это под Win32. Можно в личку.

По предыдущему эпизоду вроде разобрались в чем дело. Хотя на этот раз может и винда, а может и эмулятор. Надо пробовать. sdl2 у меня точно установлена. А вот что такое в наименовании gles2 и angle?" Ага "Cross-platform wrappers for OpenGL ES 2.0 API" с этим я точно не сталкивался.

Ваш софт похоже весьма продвинутый. Разберемся. Я ж ничего не сочиняю. Что есть - то есть.

Oleg N. Cher
03.02.2023, 00:01
https://bitbucket.org/djdron/unrealspeccyp/downloads/

SDL 2 эмуль несёт с собой.

Пример DemoRus работает на процедуре LITERY из пакета New Supercode. Я конечно самую малость её адаптировал для работы с ZXDev, но ничего принципиального я не дорабатывал. Где же тогда баг? В New Supercode?

Oleg N. Cher
04.02.2023, 18:12
"выламываем зуб дракона"Делаем это так! (очищаем эти переменные для нашей копии окружения, не трогая внешних):

78450

andrews
04.02.2023, 18:33
Это в каком файле?

Oleg N. Cher
04.02.2023, 19:20
XDev/Mod/ZXDev.odc и Cmd.odc

andrews
05.02.2023, 23:43
Пример DemoRus работает на процедуре LITERY из пакета New Supercode. Я конечно самую малость её адаптировал для работы с ZXDev, но ничего принципиального я не дорабатывал. Где же тогда баг?
как оказалось в sdcc. У Вас в архиве( ссылку давали на скачивание была версия март 2022года), а в других архивах ноябрьская 2022г( 07.11.2022г). Взял перекопировал весь h:\XDevLite\ZXDev\Bin поверх того, что скачивал по вашей ссылке. Теперь демки почти все строятся, запускаются даже в моих эмуляторах. Уточняю, остались ли какие-то неработающие.

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


XDev/Mod/ZXDev.odc и Cmd.odc
это видимо нужно исходники пересобирать. Пока оставил ту времянку(сломаные батники), которая у меня была. С ней тоже работает.

Oleg N. Cher
06.02.2023, 03:49
Да просто скачайте новый XDevLite, который я для Вас сделал.

Билд SDCC может быть нестабильный. Если качаете промежуточные билды - обратите внимание на птички, что билд прошёл все тесты.

Возможно, надо пересобрать библиотеки новой версией SDCC.

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


как оказалось в sdcc. У Вас в архиве( ссылку давали на скачивание была версия март 2022года), а в других архивах ноябрьская 2022г( 07.11.2022г).В том архиве с ZXDev такая версия SDCC, которую я до сих пор считаю самой стабильной, а я собираю достаточно сложный код. Более новые версии на Ваш страх и риск. Просто не торопитесь писать как всё плохо с Обероном, а то все читают и делают выводы.

andrews
06.02.2023, 11:54
Я не пишу что плохо с Обероном. Моя компетенция в нем, как языке программирования в данный момент нулевая!
И следовательно и о его конкретной реализации судить не могу.

Просто я привожу результаты тестирования на моей Windows7 32 бит. Причем еще ни строчки не изменив в примерах. Кажется это логично, имея исходники .mod и их же .tap на выходе, для начала их просто пересобрать и убедиться в работоспособности и идентичности результатов прежде чем приступать к написанию собственного кода.
Я всегда так делаю на протяжении вот уже 40 с лишним лет. А то, что ж буду убивать свое время на изучение Оберона, если у меня цель что-то сделать для Спектрума, если у меня в руках нет работоспособного инструмента?

( У меня куча проектов из-за этого провалилась( да вот тот же НФСП), да и чисто программистских тоже пару раз в двух фирмах. Было все в руках для успешной реализации кроме малюсенького звена из-за которого "все накрылось медным тазом"!
Вспоминаем из детства переведенные с английского стихи Маршака про подкову.

"Враг вступает в город,
Пленных не щадя,
Оттого, что в кузнице
Не было гвоздя"

Так что в этом смысле я стрелянный воробей!)

У меня все они успешно пересобрались и работоспособны при наличии в h:\XDevLite\ZXDev\Bin sdcc ver 3.9.3 #11378(MINGW32)
а версия 4.2.0 этого не обеспечивала. То есть она .tap-ы собирала, но другие! Сравнивал файлы побайтно, видел различия, ну и работали они в одном и том же эмуляторе совершенно по другому. Но однако работали, что удивительно.

А почему более свежая версия имела датой файлов март 2022г., а более ранняя ноябрь 2022г это вопрос не ко мне.
Видимо кто-то взял более свежую версию sdcc и убедился в том же, что и я. А что там такое изменили, что изменилась генерация выходного кода...я точно не разберусь. Просто об этом бы надо в READ.ME написать. Это никак не умаление крутости IMHO. А просто забота о пользователе, чтобы он с ума не сходил, почему у людей все работает, а у него дурака не работает.
А то будет как в рассказе Остапа Вишни про охоту на медведя( где медведь сам себе сломал голову).

Oleg N. Cher
06.02.2023, 18:40
Ну, если пользователь подменил SDCC, который идёт в комплекте, на другую версию, то пусть пеняет на себя.

Oleg N. Cher
05.12.2023, 22:36
Прикольно было бы иметь такую среду ретро-разработки, чтобы входные языки были разные и чтобы пристёгивались как плагины. Потом какой-то промежуточный язык типа байт-кода. И кодогенераторы в разные платформы. Над всем этим крутая IDE с контекстным хелпом. И отладчик.

И чтобы платформы пристёгивались как плагины. А библиотеки были под конкретно одну платформу или с заявленной поддержкой нескольких, допустим, эта спрайтовая графическая библиотека - под C64 и ZX Spectrum. А эта под NES и SEGA MegaDrive. И если игра базируется на этой библиотеке, то её можно собрать и для NES, и для MegaDrive.

Или - есть библиотека звука на бипер под Вектор и Корвет.

Или - библиотека поддержки джойстика с настройкой свойств, притом некоторые настраиваются статически (т.е. условными символами макропроцессора). Берёшь библиотеку, добавляешь к своему проекту. Открываешь диспетчер свойств и настраиваешь её.

Или - библиотека: консоль 32x24 15 цветов. Совместима со Спектрумом, но может эмулироваться и на других платформах.

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

Был такой компилер Странник, русский. Входные языки Си-Паскаль-Модула. И единый бэкэнд.

В общем, что-то такое, чем бы мог стать этот Rascal, но не станет, по кр. мере для меня.

В общем, всё ж на поверхности.

Такой проект мог бы быть на LLVM, но там всё плохо с восьмибитными платформами. Нужен свой супер-кодогенератор для мира 8 бит. Ну и не только 8 конечно, но и 16. И куча входных языков. Паскаль уж обязательно. Это чтобы не было холиваров какой язык лучше (хотя всё равно будут).

Хэйтерам: да, шоб писать крестики-нолики. Но вы не догоняете, что этот подход может иметь намного более широкое применение, чем вам кажется.

Oleg N. Cher
20.01.2024, 11:22
Чудеса. В SDCC появилась поддержка проца MOS 6502:

https://sdcc.sourceforge.net/index.php#News
И, как оказалось, есть бэк-энд в 6502 для LLVM:

https://8bitworkshop.com/docs/posts/2023/llvm-mos-sdk-6502-c-compiler.html

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

Искал LLVM для PDP-11, но нашёл только это:

https://retrocomputingforum.com/t/modern-pdp-11-c-compilers/2329

Oleg N. Cher
23.01.2024, 07:55
Переношу обсуждение сюда, чтобы не замусоривать тему про Cowgol (https://zx-pk.ru/threads/35441-yazyk-cowgol-i-kompilyator-dlya-6502-8080-z80-8086-80386-pdp-11-arm(thumb2)-i-v-si.html).

Итак, Hunta сумел дюже жалостливо (https://zx-pk.ru/threads/35441-yazyk-cowgol-i-kompilyator-dlya-6502-8080-z80-8086-80386-pdp-11-arm(thumb2)-i-v-si.html?p=1192996&viewfull=1#post1192996) обосновать aviator'у своё желание, чтобы кто-то бесплатно пришёл его и ублажил. На что у нас есть ответ.


А, ну это просто человек старается переложить свою работу на других. Чтобы сделали за него.Тут надо исходить из мотивов разработчика. Я не могу говорить за человека без конкретных имён, но скажу за себя. Любимая платформа Hunt'ы никогда не была моей самоцелью, как и игра, которую я сейчас на неё портирую. Я не являюсь игроделом. Я много раз вам об этом говорил. Если бы я был очень талантливым игроделом, то сейчас бы быстро-быстро писал на гора кучу оригинальных игр. Но нет. И платформа, и игра являются для меня не более чем иллюстрацией предлагаемого мной способа разработки, что да, этим способом разрабатывать игры можно и на вашей любимой платформе, что, очевидно, характеризует предлагаемое средство разработки потенциально не имеющим аналогов в своей перенацеливаемости. А почему потенциально? Потому что автор решил, если вам надо иметь хорошую поддержку вашей платформы в XDev - участвуйте, помогайте разрабатывать подсистему Pdp11Dev. Вы ведь лучше меня знаете эту кухню. Чего я должен за всех жопу рвать. Хотите игруш для своей любимой платформы - помогайте кодом. Меня не радует погружение в биты, адреса и прерывания, что, очевидно, радует вас. Я крайне неохотно и тяжело опускаюсь до программирования на асме. Это, кстати, главный тормоз процесса моей разработки. Поэтому меня не радуют и не устраивают ваши трижды распрекрасные ассемблеры и структурные макросы, которые, очевидно, не обладают нужными мне свойствами перенацеливаемости. Я вообще хотел бы юзать вашу любимую платформу как чёрный ящик, но не могу этого сделать, потому что нет соответствующего инструментария. Для Sega MegaDrive или NES (благодаря библиотеке nesdev от Shiru) с горем пополам можно разрабатывать как для полупрозрачного чёрного ящика, хотя и со многими оговорками. Где либы общего назначения для вашей любимой бэкашки, которые трудолюбиво собраны почти на все случаи жизни? Чтобы всё это писать самому, пользуясь написанной левой ногой документацией, где половину информации надо перепроверять, чтобы перейти от этих кривых и мутных текстов к готовому коду, очевидно, требуется опыт погружения в платформу, который, очевидно, многие получили 30 лет назад, а я, прикиньте, не получу его никогда. Поэтому контракт звучит так: хотите игруш для вашей любимой платформы - участвуйте посильно. Но я никого не неволю. Не хотите как хотите, ваша любимая платформа прекрасно обойдётся и без моей активности. У меня таких платформ ещё минимум 25-30, и некоторые даже поболее интересны, чем ваша любимая бэкашечка с 16 Кб рабочего ОЗУ.

Так что свои пещерные инструменты оставьте, пожалуйста, себе. Я не ценитель наскальной живописи, пусть даже это дарит вам много радости. Моё, пусть кривое и несовершенное, но меня радует даже в том объёме, которого я смог достичь почти без вашего участия.

Как-то так.

andrews
23.01.2024, 09:41
Аналогов каких библиотек нет?

Oleg N. Cher
23.01.2024, 09:58
Для бэкашки? Да никаких нет. Всё по древним БК-журналам рыскать надо. По крупицам собирать.

Даже целочисленного деления и взятия модуля нет. Пришлось костылить своё. Явно неидеальное, но как-то работающее.

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

Я вообще имел в виду перевод чисел в строки, обратно, арифметика сякая-такая, графика, спрайты, простые звуки, опрос управления и т.п. Чтобы на этих библиотеках, собранных в одном месте, можно было что-то простенькое написать. Без структурных макросов.

Вызовами EMT принципиально не пользуюсь. Бэкашники будут плеваться, но мне нужно, чтобы всё работало и на 10, и на 11(M).

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

Ещё чего нет: решений для специфических системных вещей. Например, на бэкашке принято кнопку Стоп перехватывать, чтобы она не вываливалась в монитор, а переходила, к примеру, в стартовое меню. Всё надо оборачивать. Я сделаю что смогу в рамках поставленной задачи. Плана погрузиться в это с головой лет на пять - нет и не было.

Hunta
23.01.2024, 10:14
Итак, Hunta сумел дюже жалостливо обосновать aviator'у своё желание, чтобы кто-то бесплатно пришёл его и ублажил. На что у нас есть ответ.
Моё желание - "чтобы кто-то бесплатно пришёл его и ублажил" ? Ну что могу сказать - каждый видит то, что ОН хочет. Видимо, ТС ублажения не хватает.
Мне оно на? не сдалось - когда МНЕ что-то нужно - Я это ДЕЛАЮ, а не ною, что чего-то нет, чего-то работает не так, как мне хочется или вообще не работает из-за криворучности хотящего.


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

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


Даже целочисленного деления и взятия модуля нет
Аха. Конечно. Вот просто даже интересно - а как же DEC без этих операций жила? Тайным колдунством, не иначе.
Как говорится - RTFM!
А, да, ТС у нас же из группы, которые никогда не будут RTFM.

Oleg N. Cher
23.01.2024, 10:19
Не хочу плодить глючных версий. Сочту готовым показать - покажу.

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

Если не жажда ублажения, тогда в чём суть твоих претензий?

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

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

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


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

Hunta
23.01.2024, 10:29
Если не жажда ублажения
Человек прочитал, понял как смог (неправильно), сделал выводы по неправильному - а теперь удивляется.


тогда в чём суть твоих претензий?
Лень объяснять да и просто нет желания, ибо

Нет у тебя правов таких.


Не хочу плодить глючных версий. Сочту готовым показать - покажу.
то есть

иллюстрацией предлагаемого мной способа разработки,
этой самой иллюстрациии то и нет.

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


DEC бабки на этом зашибала
На чём? На отсутствующих

целочисленного деления и взятия модуля
О как! На за НАЛИЧИЕ, а за ОТСУТСТВИЕ! Ахренеть, как же мы раньше то не додумались

Oleg N. Cher
23.01.2024, 10:31
Только вот не надо меня на понт брать. Если закончу, то будет. Чисто для тебя делать нет желания, руки опускаются.

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

Так, хватит юродствовать. Если ты нагуглил деление, то твоё счастье. Я не эксперт по DEC. Впихнул что нашёл. Или накодил. Не помню уже. А где всё собрано в одном месте для жаждущих?

Hunta
23.01.2024, 10:39
Если закончу, то будет
Если! А пока не иллюстрации, ни кода, одно только - "следите за руками"


Если ты нагуглил деление
Когда я это "нагуглил" - гугла даже в планах не было


А где всё собрано в одном месте для жаждущих?
Как всегда у DEC - SYSLIB

Oleg N. Cher
23.01.2024, 22:24
Hunta, ты меня опять провоцируешь. А я знаю эту историю. Покажи вам кривой код, так заплюётесь, а в следующий раз, когда будет попрямее, то и смотреть не станете. Это известная тема.

Hunta, тебе будет тяжело понять эти вещи, но ты постарайся. Напряги уже мозжечковые извилины как-нибудь.

1. Интерес к ретро-тематике вовсе не подразумевает задротство ни по бэкашечке, ни по PDP-11. Прикинь?

2. Не все являются фанатами DEC, не все кодят в восьмеричных кодах. Не все следят за кодом DEC. Кое-кто даже подозревает, что у DEC были настоящие PDP-11, с аппаратными умножением и плавучкой, а не кастрированные. Поэтому программное деление DEC'у может быть не столь интересно.

3. Не все знают где находятся залежи кода DEC. Не все даже уверены, что они доступны. Не все даже слышали про DEC. Это вытекает из пункта 2.

4. RTFM тоже вовсе не подразумевает задротство по PDP-11. RTFM'ить можно по тысячам направлений. Прикинь?

5. Если ты кому-то хочешь закинуть, что он не пацан, раз не задротит по PDP-11, то ты не задротишь по китайскому языку, а значит не пацан для > 1 млрд человек. Тебе должно быть за это более стыдно, Hunta, чем мне перед смехотворно крошечным сообществом.

Hunta
24.01.2024, 08:28
Покажи вам кривой код

иллюстрацией предлагаемого мной способа разработки
Ну как бы всё понятно.

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


Интерес к ретро-тематике вовсе не подразумевает задротство
тобой, а задроство кем-то вместо тебя?


Поэтому программное деление DEC'у может быть не столь интересно.
В том числе тому, кому оно внезапно понадобилось, например, тебе? Ну раз тебе - так ТЫ и приложи усилия. А не сваливай свои хотелки на задротов.


Не все знают где находятся залежи кода DEC
Не знание закона не освобождает от отвественности. Сунулся в (назвение компьютера) - соответствуй.


RTFM тоже вовсе не подразумевает задротство по PDP-11. RTFM'ить можно по тысячам направлений.
И чё?


Если ты кому-то хочешь закинуть, что он не пацан, раз не задротит по PDP-11
Ткни в мои сообщения, где это Я написал, а не ТЫ измыслил своими

мозжечковыми извилинами как-нибудь.

Oleg N. Cher
24.01.2024, 08:52
тобой, а задроство кем-то вместо тебя?Именно.


Ну раз тебе - так ТЫ и приложи усилия. А не сваливай свои хотелки на задротов.Да мне как бы и не особо надо. Я даже могу запилить и никому не показывать, тем более, если отношение ко мне такое скотское, как от тебя.


Ткни в мои сообщения, где это Я написал, а не ТЫ измыслил своимиДа вот хотя бы:


Сунулся в (назвение компьютера) - соответствуй.С какого перепугу я должен соответствовать твоим тараканам в мозжечке?

Смотри. Если ты заинтересован в моём продукте, но не платишь мне денег, то должен хотя бы показать доброе отношение. Из чего мы делаем вывод, что продукт тебе не интересен, ведь есть крутые залежи DEC и чудные структурные макросы.

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

Hunta
24.01.2024, 09:20
Да вот хотя бы:

Сунулся в (назвение компьютера) - соответствуй.
С какого перепугу я должен соответствовать твоим тараканам в мозжечке?
И где тут про задротство? Или ТВОИ тараканы в ТВОЁМ мозжечке считают ЛЮБОГО специалиста (и даже не высококлассного) задротом? Ну ну. Подозреваю, что месье только что оскорбил значительную часть контингента этого форума. Поздравляю, господин Соврамши.

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

Покаже, вот эти "мудрые" мысли

Покажи вам кривой код

иллюстрацией предлагаемого мной способа разработки
показывают только то, что многие характеристики программирования (в том числе главная - получение результата) определяется не крутостью среды разработки, не крутостью компилятора языка, не крутостью (или "звеняшей" простотой, как у любимого "всеми" Оберона) языка программирования, а самым слабым звеном в компьютере.
Что это слабое звено в очередной раз иллюстрирует

Oleg N. Cher
24.01.2024, 09:28
"Соответствовать твоим высочайшим стандартам по деланью RTFM и изучению анналов DEC" = "задротить".

Я думал, это самоочевидно.

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

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

Что ты придолбался к фразе про кривой код? Ну любой недоделанный проект является в каком-то смысле кривым. Или мы более персонифицировано подойдём к твоим кривым попыткам утолкать PDP-11 в ПЛИС? ОК, переходим к боевым действиям на твоей территории. Криво. Где продукт? Где скачать? Почему не работает на моём тостере?


а самым слабым звеном в компьютере.Не стреляйте в пианиста. Делаем как можем. Сам-то давно в зеркало смотрелся?

Но вообще ты наверное не пробовал делать одновременно и среду, и библиотеки (на асме, которого ты не знаешь), и несколько игр, разрываясь между интересующими платформами. Видимо, PDP-задротам живётся сильно проще.

andrews
24.01.2024, 09:30
Переход на личности не способствует достижениям и получению результатов! Нежелание помогать друг другу( если есть возможность помочь) не соответствует первоначальным принципам, заложенным еще FIDO. Какая может быть конкуренция, даже без финансовой мотивации, в словесной перепалке?

Любой работающий код, приносящий кому-то пользу, лучше отсутствия кода.

Hunta
24.01.2024, 09:31
А теперь внимательно смотрим на написанное мной

Сунулся в (назвение компьютера) - соответствуй.
и на измысленное тараканами ТС


оответствовать твоим высочайшим стандартам по деланью RTFM и изучению анналов DEC

и


это самоочевидно
для тараканов в ТВОЕЙ голове? Безусловно. Вот только следование их выводам пока приводит только к тому, что

Покажи вам кривой код
ТС даже показать боится - заплюют-с!

Oleg N. Cher
24.01.2024, 09:34
Красота в глазах смотрящего. Дело не в том, что показывают, а в тех, кто оплёвывает.

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


Переход на личности не способствует достижениям и получению результатов!Ну, дело началось с наезда без называния конкретных имён, но в теме ТС. Как бы невзначай. Так что пусть отвечает за базар.

andrews
24.01.2024, 09:37
не пробовал делать одновременно
видимо все же "псевдоодновременно", если делает один человек, а не группа. Невозможно пять минут делать одно, а следующие пять другое. У человека мозг не квантовый, мгновенно перенастраиваться не может!

Hunta
24.01.2024, 09:39
ОК, переходим к боевым действиям на твоей территории. Криво. Где продукт? Где скачать? Почему не работает на моём тостере?
А это написано в начале почти всех моим тем про мои поделки, но судя по вопросам - ТС не в курсАх, тараканы не дали ЦУ.

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


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

andrews
24.01.2024, 09:40
Так что пусть отвечает за базар
у него завышенные требования к себе и к другим людям. Такое бывает. У нас во ВНИИТВЧ, кстати в группе DEC, тоже были такие люди. Правда люди с ЕС их превосходили в таком подходе к жизни. Хорошо, если это помогает им достигать целей.
А надо просто каждому жить свою, а не чужую жизнь.

Oleg N. Cher
24.01.2024, 09:45
Ну раз много чести, то Hunta просто не не в курсАх моей деятельности, тараканы не дали ЦУ.

Была бы мне интересна такая странная активность Hunt'ы - я бы наехал на его кривой прожект поконкретнее, и с примерами обосновал бы почему это криво.

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

Пришло время показать скриншотик. Не Hunt'е. На этого не напасёшься.

80183

andrews
24.01.2024, 09:46
А что плохого в "кривом", но работающем коде? У первопроходцев чаще всего получается "криво"

Oleg N. Cher
24.01.2024, 09:49
Это понятно всем разумным людям. П/о "растёт" эволюционным путём, ещё Вирт сказал.

Но в случае прожекта Hunt'ы это никому не нужное делается левой ногой и не подпадает под это правило ;)

Hunta
24.01.2024, 09:54
у него завышенные требования к себе и к другим людям.
Нет. У него понимание того, что его хотелки за него ДЕЛАТЬ никто не обязан. Ещё раз для тараканов ТС - НЕ ОБЯЗАН, то есть, в принципе, МОЖЕТ, но НЕ ОБЯЗАН. И раз ты ЧТО-ТО (что угодно) захотел - будь готов приложить СВОИ усилия, а не пытаться переложить их на кого-то, а потом плеваться, но де - "Плохая Пенни, плохая!"

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


в случае прожекта Hunt'ы это никому не нужное
Опять твои тараканы тебе соврали.

Oleg N. Cher
24.01.2024, 09:58
видимо все же "псевдоодновременно", если делает один человек, а не группа.Да, всё вперемешку делается. По мере вдохновения. И неспешно, да ещё и с попытками получить удовольствие от процесса.

Итак, Hunta обсирает объективно лучший ЯП для обучения программированию и мои попытки его обживать и продвигать в угоду своим странным идеям и кривым поделкам. Типично.


Нет. У него понимание того, что его хотелки за него ДЕЛАТЬ никто не обязан.Слушай, Hunta. Я тебе долго объяснял свою мотивацию. Ещё раз повторить для особо одарённых?


Опять твои тараканы тебе соврали.Повторяю. Никому не нужное. Работать будет на железяке, которая скоро пропадёт из продажи. Модифицировать для других железяк будет некому. Никто в этом не разберётся. Да и, собственно, работать не будет - будет косячить. Так что просто ублажаешь себя, а никакого продукта нет и не будет.

Hunta
24.01.2024, 10:08
Никому не нужное.
Очевидно, что две копии у других людей - это никому. Типично для тараканов ТС


Работать будет на железяке, которая скоро пропадёт из продажи.
И две другие железки, на которые я перенёс - это тоже - "на железкЕ"


Никто в этом не разберётся.
Если ТС не способен разобраться, то, опять же, по логике его таракнов - это НИКТО.


Hunta обсирает объективно лучший ЯП для обучения программированию и мои попытки его обживать и продвигать
Ну ка - цитаты в студию. Причем (раз обсирАЕТ) - не меньше десятка.

andrews
24.01.2024, 10:16
Работать будет на железяке, которая скоро пропадёт из продажи
вот тут я не согласен. Тот же z80 и железо на нем в определенный период продавались десятками миллионов штук
( посканируйте тот же MAME и увидите десятки компьютеров и приставок на z80), а сейчас тысячами. Но еще есть программные и аппаратные эмуляторы. В этом смысле никакое железо, производившееся сериями, на которое остались доступны документы, программы, инструментальные кросс-системы никогда окончательно не исчезнет! Перечислять все причины здесь не буду. Их десятки как минимум. Хотя конечно, если ставить планку отсечки на уровне хотя бы $3000 то многое уже исчезло навсегда.

Но тут приходят коллекционеры, которым ценно именно такое, что для 99.99% людей "исчезло навсегда".

Oleg N. Cher
24.01.2024, 10:23
Очевидно, что две копии у других людей - это никому. Типично для тараканов ТСШо, всего две? Та ну. У моей среды разработки и то юзеров гора-а-аздо больше ;)


Если ТС не способен разобраться, то, опять же, по логике его таракнов - это НИКТО.Ты сказал золотую фразу, Hunta, даже сам не понял какую. Я адресую её также тебе.


Причем (раз обсирАЕТ) - не меньше десятка.Нивелирует ;) Не ожидал от чувака, который программил на Модуле-2 и любит DEC.

Короче, Hunta рвёт пуп, чтобы показать какой он крутой самодостаточный пацан. И даже не понимает, что проекты его уровня развивать массово никто не будет. А вот моего уровня - могли бы. Было бы только лучше.

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

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


вот тут я не согласен. Тот же z80 и железо на нем в определенный период продавались десятками миллионами штукПроцу z80 повезло. Он не был забыт. Его производство продолжалось. Но вполне могло бы быть и не так.

А вообще я сужу по Spartan 3, для которого Вирт делал свой Project Oberon (http://projectoberon.org). Его, кроме как на Spartan 3, уже нигде не запустишь. А Spartan 3 пропал из продажи уже давно.

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


Кстати, если кому-то Forth нужен, могу выложить. Но с ним есть одна проблема - я его выдрал из какой-то программы, так что иногда он ведёт странно.Выкинь каку. Это кривоглючное поделие. Не продукт. Ты должен высоко держать продуктовую планку. Так, как сейчас. Браво, Hunta. Не понижайся.

andrews
24.01.2024, 10:25
А Spartan 3 пропал из продажи уже давно
а что, более современные или даже китайские fpga не способны его заменить?
И другой путь - программный эмулятор на любом современном мощном микроконтроллере.

"Процу z80 повезло".
Ни один серийный проц не забыт! Ни один 8/16/32 проц будь то 1802, ни 6502, ни 6809, ни даже 2650 (https://en.wikipedia.org/wiki/Signetics_2650). Просто в СССР
они не были так популярны как pdp-11, 8080 и Z80.
Посканируйте по MAME процики, а в соседнем окошке нагуглите много нового и интересного. Только не везде еще доступны кросс-ассемблеры, кросс-компилеры и IDE. Но народ не бросает, делает даже и после 2010г.

Oleg N. Cher
24.01.2024, 10:31
Я думаю, заменить способны. Но потребуется модификация прошивки. Ибо такая штука, как прошивка ПЛИС, не бывает универсальной под все модели ПЛИС. Они к тому же отличаются техническими характеристиками (количеством вентилей и проч.) Но нет компетентных специалистов, кто мог бы воскресить Project Oberon. Те, кто есть - страдают хернёй. ;)

Программные эмуляторы (https://schierlm.github.io/OberonEmulator) конечно есть. Даже онлайн.

Hunta
24.01.2024, 10:35
И даже не понимает, что проекты его уровня развивать массово никто не будет.
Примерно в тот момент (достаточно давно), как я понял, что не стоит ждать на этом форуме от кого-либо толк и пользу (хотя, с моей точки зрения - есть те, кто с моей точки зрения, принесли мне пользу) - я перестал думать - принесу ли я какую либо пользу или толк абстрактному пользователю или форуму. В том числе - своими проектами. В том числе - мне глубоко фиолетово - будет ли их кто-то развивать или даже просто использовать.


А вот моего уровня - могли бы.
Ключевое слово - БЫ


Выкинь каку.
Что, не Оберон, да, значит - кака? ;)


Не ожидал от чувака, который программил на Модуле-2
И у него даже остались (похоже, больше ни у кого нет) исходники всего пакета (включая компилятор) от самой команды Вирта. Но вопрос был не о том. Так где цитата моих сообщений, где я обсираю Оберно?

andrews
24.01.2024, 10:41
В том числе - мне глубоко фиолетово - будет ли их кто-то развивать или даже просто использовать.
и это единственно правильный подход. Главное оставлять после себя работающее и документированное.

Hunta
24.01.2024, 10:43
и это единственно правильный подход.
Это не единственно правильный подход.

Oleg N. Cher
24.01.2024, 10:43
Ну вот на тебе цитату. Уже забыл, что говорил пять минут назад. Это деменция, батенька.


"звеняшей" простотой, как у любимого "всеми" Оберона

Прикинь, у оберонщиков есть такие ништяки, которые тебе и не снились. На 8" дискетах пылятся. Так что не удивил.

Так вот. Люди здесь общаются и обмениваются информацией и мнениями. Если у кого-то помощь (в виде ответа на вопрос, например) займёт небольшое время и не понудит заниматься исследованиями - то обычно люди помогают.

Проблема в том, что иногда могут помогать необъективно, не понимая твоего замысла. Но вообще раз ты такой самодостаточный, нафига вообще пишешь сюда посты? Иди уже в стол работай. Выкатишь окончательный продукт, все обомлеют.

Hunta
24.01.2024, 10:45
Ну вот на тебе цитату.
Не меньше десятка.

Oleg N. Cher
24.01.2024, 10:46
Мне хватит и одной. Не хвалишь, относишься к продвижению Оберона по-скотски, вот тебе и вердикт. А чего ты ещё ждал? Тут играть по твоим правилам никто не будет, Hunta, иди жену свою учи ;)

andrews
24.01.2024, 10:46
Иди уже в стол работай
это устаревшая концепция. Гоголь был дурак, что сжег второй том "Мёртвых душ", а Некрасов, что уничтожил свои ранние стихи. Хотя Гоголь вскоре умер, это оправдание. Не хотел оставить после себя недоработанное произведение, а соавторов не имел.

На всё ( продукты интеллектуального труда)найдется свой читатель, пользователь. Применительно к программам. Любую работающую и даже не работающую программу запустят хотя бы один раз.

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

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

Oleg N. Cher
24.01.2024, 10:48
Ну да, ну да...

Hunta
24.01.2024, 10:59
Мне хватит и одной.
ЧТД. Враньё на каждом шагу.

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


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

andrews
24.01.2024, 11:03
Который часто смутно представляет себе - чего же он хочет
как правило он со своей "хотелкой" уже поимел достаточно геморра и сформулировать в состоянии. Другой вопрос насколько реалистична его "хотелка" если продукт бесплатен. Особенно меня умиляют продукты с открытым кодом, в которых как нарочно чего-то не хватает, чтобы из них получить работающий на системе пользователя код.

Кря Кря
24.01.2024, 11:09
Я думаю, заменить способны. Но потребуется модификация прошивки. Ибо такая штука, как прошивка ПЛИС, не бывает универсальной под все модели ПЛИС. Они к тому же отличаются техническими характеристиками (количеством вентилей и проч.) Но нет компетентных специалистов, кто мог бы воскресить Project Oberon. Те, кто есть - страдают хернёй.
Так у тебя там в секте был Алексей, фамилия забыл, но у него есть радиолюбительский позывной, он тоже от тебя ушел? Просто он хоть понимает в этом в отличии от тебя, судя по тексту

Hunta
24.01.2024, 11:19
как правило он со своей "хотелкой" уже поимел достаточно геморра и сформулировать в состоянии.
Крайне редко такое бывает. Я поработал в проектах, так что имею представление - что и как пользователи часто формулируют. Даже и особенно, если должность более менее высокая. Но встречаются и исключения.

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


Просто он хоть понимает в этом в отличии от тебя, судя по тексту
Достаточно давно (и не с текущим уровнем опыта в FPGA) я попробовал перенести "Project Oberon" на свою DE10-Standard. Даже того опыта хватило, так что ничего там сложного нет. Единственное но - у меня тогда не было возможности подключить мышь. И учитывая мой слабый интерес к Оберону - я перенёс, попробовал и успокоился.

Более интересна реализация Lilith и/или Кронос, но увы.. времени свободного мало, так что руки даже до начальной работы не доходят.

Oleg N. Cher
24.01.2024, 11:34
Ну вот видишь, Hunta. А я не поверю тебе. Где продукт? Нету продукта. Показывай давай. А то врёшь всё небось, что перенёс.

И - по Оберону надо именно фанатеть. Какое там "слабый интерес"? Узнал об Обероне - соответствуй.

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


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

Не, Лёша от меня не ушёл, тусуемся. Влажные фантазии-то свои поумерь. О моём грустном одиночестве и ненужности.

Крякуляшечка, изыди. Я тебя сюда не звал. Ты ограничься лайками, это позволенный тебе максимум.

Hunta
24.01.2024, 11:37
А я не поверю тебе.
А мне фиолетово.


А то врёшь всё небось, что перенёс.
Есссвенно - я ж на тебя равняюсь.


по Оберону надо именно фанатеть.
Последствия по ТС хорошо заметны, так что - как был интерес слабым, так и остался.
Хотя, может быть и сделаю реализацию для RSX (и с генерацией в нативный код, а не на С, как некоторы), если и когда Модулу-2 доделаю.

Oleg N. Cher
24.01.2024, 11:37
Особенно меня умиляют продукты с открытым кодом, в которых как нарочно чего-то не хватает, чтобы из них получить работающий на системе пользователя код.Андрей, что именно там Вас умиляет? Авторы продуктов с открытым кодом не обязаны делать то, чего кому-то хочется. Авторы вообще часто ограничиваются своими потребностями, особенно если пилят некоммерческий продукт.

Мой продукт "интерес-ware". Подпитывается интересом, но походу больше всего моим.

Hunta
24.01.2024, 11:38
Крякуляшечка, изыди.
И экзорцист из тебя тоже.. так себе. Не действуют твои заклинания.

Oleg N. Cher
24.01.2024, 11:45
Хотя, может быть и сделаю реализацию для RSX (и с генерацией в нативный код, а не на С, как некоторы), если и когда Модулу-2 доделаю.Сделаешь, всё сделаешь. В следующей жизни. ;) Прикинь, а какое качество кода в твоей поделке будет, хоть проплюёмся.

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


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

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


как был интерес слабым, так и остался.Ну это как бы и не мои проблемы? Я не могу переделать людей, заставить их перестать страдать фигнёй и заняться, наконец, Обероном. Люди Васик любят. И асм. И Форты кривущие. А что до Оберона - не хватает у людёв фантазии на него.

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

Кряшенька, а ты зачем выдаёшь свои фантазии за правду? Давай пруфы кто там меня откуда выгнал и кто от меня ушёл. А то один писдёшь получается, и ничего кроме. Это называется искажать реальность. Уважай людей, не надо им туфту гнать.

Hunta
24.01.2024, 11:55
Сделаешь, всё сделаешь.
Твоими молитвами? Врят ли.


ты ж прорех в его ауре не видишь. И в карме.
Ты бы больше о своей ауре и карме беспокоился. Или надеешься, что оберон проплюсует и то и другое? ;)


Я не могу переделать людей, заставить их перестать страдать фигнёй
Ессссвенно - раз себя переделать не можешь, куда уж до других

Oleg N. Cher
24.01.2024, 12:13
Я себе нравлюсь такой как есть. Это ты должен задуматься о том, что оставишь после себя бренному миру.

А боги Оберона ласковы, не беспокойся за меня ;) И уж на твои молитвы надежды точно нет.

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


В том числе - мне глубоко фиолетово - будет ли их кто-то развивать или даже просто использовать.Фи, Hunta. Непродуктовый подход. А ещё меня шпыняешь, чтобы я какие-то нужные тебе результаты выдавал. А вот фигушки тебе.

Кря Кря
24.01.2024, 12:42
Крякуляшечка, изыди. Я тебя сюда не звал.
Это ты в своем маленьком королевстве тыкай кому куда пойти

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


Не, Лёша от меня не ушёл, тусуемся.
Золотой он человек! Привет ему передавай

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


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

Hunta
24.01.2024, 12:55
Непродуктовый подход.
Зато у меня результаты есть и я ими активно-успешно пользуюсь. А не в процессе, как ты, без результата.


А боги Оберона ласковы
Заметно. На всю голову ласковы.

Oleg N. Cher
24.01.2024, 13:50
Ну ты и дятел, Хунта. Не тебе судить про мои результаты, потому что ты про них вообще ничего не знаешь.

И да, процессом тоже следует наслаждаться.

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


Это ты в своем маленьком королевстве тыкай кому куда пойтиДа, здесь пришло время рассказать, что кряшку таки пришлось забанить, когда стало совершенно ясно, что один дятел может обдолбать группу из вполне вменяемых людей. Тут вопрос один: нафига это терпеть?

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


Золотой он человек! Привет ему передавайУсенепременно. Он ещё и на Обероне программирует, прикинь.

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


Заметно. На всю голову ласковы.Да уж куда им до тебя с твоими заморочками.

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


Зато у меня результаты есть и я ими активно-успешно пользуюсь.Ну давай-давай, расскажи как ты активно и успешно пользуешь свой кривой недоделанный PDP-11 в ПЛИС. Наверно для тестов, которые, разумеется, тоже кривые?


А не в процессе, как ты, без результата.А на чём я, по-твоему, пишу свои хобби проекты все последние 10 лет?

Кря Кря
24.01.2024, 14:08
Усенепременно. Он ещё и на Обероне программирует, прикинь.
Взял бы с него пример, а не устраивал везде где тебя не забанили, войну "Я есть ОБЕРОН - против всех"

Hunta
24.01.2024, 14:29
Ну ты и дятел
Тараканы в голове подсказали - начать оскорблять? ;)


Ну давай-давай, расскажи как ты активно и успешно пользуешь свой кривой недоделанный PDP-11 в ПЛИС. Наверно для тестов, которые, разумеется, тоже кривые?
О, тесты от DEC уже кривые :) А кроме тестов (от DEC), которых устраивает реализация, ещё успешно работают операционки (от DEC) DOS-11, RT-11, RSX-11M-Plus. Так что не всё там так криво, как тебе тараканы шепчут. Ну и на досуге посмотри на кривую реализацию монитора http://www.kpxx.ru/Pics/VT105Test.mp4 с поддержкой русского алфавита http://www.kpxx.ru/Pics/CharTables.jpg

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


Я есть ОБЕРОН, король фей и эльфов :)

Oleg N. Cher
25.01.2024, 00:05
войну "Я есть ОБЕРОН - против всех"Никакой войны нет, уточка. Есть просто дятлы, которых коробит от слова "Оберон". И из-за этих дятлов, которые не могут пройти мимо моих постов спокойно, и направлен мой праведный гнев, потому что я крайне хочу им порекомендовать сходить таки к психиатору, разобраться откуда эта внутренняя гниль. Чтобы очиститься и жить спокойно в мире с окружающей действительностью.

Hunta, ты меня не убедил. Где и как ты юзаешь свою недоделку? Как именно получаешь с этого пользу?

Но вообще я понял твой критерий "результата", которого я никогда не достигну. Это пачка софта для сурового ванильного PDP-11, не связанного с бэкашкой, написанного самими гуру из DEC. И это - piz-DEC, Хунта. Тебе самому не смешно?

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

Hunta, ну давай, покажи результат. У меня есть новодел - мини-Спектрум ZX Uno (2Mb). Честно, без приколов. Константин Калантай подарил. Выдай мне ядро бэкашки для него. Или ДВК. Или УКНЦ. Или Союз-Неон. Ну или Немигу хотя бы. Есть у тебя такое? Или твой движняк это самодроч - непонятно для чего и для кого, но зато соответствует канонам DEC, да ещё и очень радостно при этом? ;)

aviator
25.01.2024, 00:14
Hunta, ну давай, покажи результат. У меня есть новодел - мини-Спектрум ZX Uno (2Mb). Честно, без приколов. Константин Калантай подарил. Выдай мне ядро бэкашки для него. Или ДВК. Или УКНЦ. Или Союз-Неон. Ну или Немигу хотя бы. Есть у тебя такое? Или твой движняк это самодроч - непонятно для чего и для кого, но зато соответствует канонам DEC, да ещё и очень радостно при этом? ;)
Там, ЕМНИП, установлена плисина на 9 тысяч логических элементов. БКшка может и вместится, а вот ДВК скорее всего только усечённый, а УКНЦ вообще не вместится из-за периферийного процессора.

Oleg N. Cher
25.01.2024, 00:20
Ну так пусть возьмёт ПЛИС'ину побольше. Какой смысл вообще всё городить, если туда УКНЦ не поместится.

Кста когда я заговорил про логические элементы (вентили) - кряшечка начал крякать что я ничего не понимаю. ;) Осторожнее, aviator ;)

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

Ладно, пусть хоть бэкашку сделает, а то результатов всё нет и нет. ;)

Hunta
25.01.2024, 00:55
Hunta, ты меня не убедил
А мне фиолетово.

Oleg N. Cher
25.01.2024, 00:59
Ну-с, теперь сам видишь, что критерии результативности тоже субъективны. То, над чем ты корпишь месяцы - для кого-то мусор.

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

Кря Кря
25.01.2024, 01:42
Никакой войны нет, уточка. Есть просто дятлы, которых коробит от слова "Оберон"
У тебя вавка в голове, где я что то сказал против ОБЕРОН ? Кидаешься на людей

Oleg N. Cher
25.01.2024, 02:34
Надо быть с очень большой вавкой в голове, чтобы прийти в группу по Оберону опускать Оберон, кряшечка. Так что ты сам-то давно в зеркало смотрелся? И ведь все согласились с тем, что ты разлагал там атмосферу. Так что с тобой что-то ой не так.

andrews
25.01.2024, 09:46
Ну так пусть возьмёт ПЛИС'ину побольше
он то может и возьмет, но кто будет повторять, если это больших денег стоит? К тому же сейчас в России надо начинать с вопроса "а можно ли это привезти или достать?"

Кря Кря
25.01.2024, 10:24
он то может и возьмет, но кто будет повторять, если это больших денег стоит?
Тут вопрос в другом, сможет ли он поменять чип на Uno на более емкой и сможет ли он пересобрать все корки под этот чип. У меня сомнения

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

И это еще при условии что у этих чипов есть миграция по пинам на более емкие чипы

Hunta
25.01.2024, 10:42
поменять чип
Как показала практика, если при разработке чего-то с FPGA чип был выбран под конкретную реализацию, то поменять на более ёмкий обычно крайне затруднительно - и проблема будет с разводкой платы.

Я такое пробовал делать (поставить FPGA с в два раза большем количеством макроячеек) - пришлось резать дорожки и бросать МГТФ-ом порядка 10 пинов - развлечение так себе. Перепилить прошивку (при наличи исходников - в моём случае всё было проще, так как я был автором исходников) менее сложно (ну естествнно, при наличии опыта разработки под FPGA)

Кря Кря
25.01.2024, 10:52
Бывают чипы и некоторые пределы емкости, где попиново совместима замена

Hunta
25.01.2024, 12:01
Ключевое слово - бывают.
И, если я правильно нашёл инфу, в нём стоит Xilinx XC6SLX9 - я с Xilinx не работал и практически наверняка не буду работать, так что - ничего не могу сказать - есть ли более ёмкие по пин совместимые. Ну и поскольку не работал (и врят ли буду) - ждать от меня PDP-11X на Xilinx не стоит.

AlexG
25.01.2024, 17:28
А вообще я сужу по Spartan 3, для которого Вирт делал свой Project Oberon (http://projectoberon.org). Его, кроме как на Spartan 3, уже нигде не запустишь. А Spartan 3 пропал из продажи уже давно.

Бред сивой кобылы.
Можно, в симуляторе легко на "Спартанах-7" работает.
Печаль в том что у меня нет платы (и руками не спаять) со статической памятью, а "прослойку" для ДДР3 пока ещё не нарисовал.

Oleg N. Cher
25.01.2024, 18:51
Мало ли чего можно теоретически. То прослойки нет, то того, то сего. Нам железку давай, где уже всё работает.

У меня Spartan'а никакого нет, мне надо на ZX Uno. ;)

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


Кстати, о птичках.Кстати, о птичках. Кря. Кря. Кря-кря. Крякрякря

AlexG
25.01.2024, 21:54
Я к тому, что нефиг говорить то про что "не шаришь". Практически любой проект на плисе при смене внешних устройств (или самой плис) требует доработки "напильником". Как следствие: можно запустить Project Oberon на ЛЮБОЙ современной плис при наличии нужной периферии (чтоб не переделывать софт). То что у меня нет цели найти плату со статической памятью - это не отрицает моей цели запустить оный проект на ДДР. Увы реалии таковы что мне приходится пахать на работе, что б прокормить близких. "Пустословить это вам не мешки ворочить".

Oleg N. Cher
26.01.2024, 08:35
AlexG, вообще тема с ПЛИС была поднята чтобы попробовать показать Хунте себя в зеркало. Я не претендую.

Но раз уж Вы всплыли, то расскажите чем занимаетесь. Есть какие-то подвижки в освоении Project Oberon?

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

Про "пашу на работе" понял...

Hunta
26.01.2024, 09:31
себя в зеркало
Зачем мне ты в твоём зеркале?
И я не навязываю свои поделки или языки, на которых они написаны, направо налево, считая остальных, имеющих своё мнение - дятлами.


попробовать показать
Свой уровень показал, молодец.

Oleg N. Cher
26.01.2024, 11:29
Ага, значит у меня всё же есть "поделка", которую не стыдно предложить другим? А то ты ранее пи#дел, что я не достиг никаких [значимых для тебя] результатов. Так что зеркало подразумевает показать тебе, что ты не достиг никаких [значимых для меня] результатов. Всё. И не надо обесценивать то, что тебе даже не очень понятно.

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

Хунта, у нас с тобой был нейтралитет. Я не лезу к тебе и не учу тебя как тебе что делать. Ты не лезешь ко мне. Но тебя такой расклад не устроил. Так что ты ещё ожидал?

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

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


И я не навязываю свои поделки или языки.Защищать идеи, положенные в основу Оберона, не значит "навязывать всем свою поделку". Ты не путай.

Hunta
26.01.2024, 11:51
Защищать идеи, положенные в основу Оберона, не значит "навязывать всем свою поделку". Ты не путай.
Для начала, процитирую написанное мной полностью, а не выдранное дятлом.

И я не навязываю свои поделки или языки, на которых они написаны
А теперь цитата от дятла

И - по Оберону надо именно фанатеть. Какое там "слабый интерес"? Узнал об Обероне - соответствуй.

Я не могу переделать людей, заставить их перестать страдать фигнёй и заняться, наконец, Обероном. Люди Васик любят. И асм. И Форты кривущие. А что до Оберона - не хватает у людёв фантазии на него.
То есть всё, что не по дятлу - "страдать фигнёй", а надо было "заняться, наконец, Обероном".
Ну чё, логично.

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

Ну пусть ТС страдает дальше своей "фигней", дальше не интересно

Oleg N. Cher
26.01.2024, 12:11
Ещё одна попытка. Защищать философию языка - не значит его навязывать. Всё никак не врубишься?


А теперь цитатаЭто была ироничная отповедь на это странное утверждение дятла:


Сунулся в (назвение компьютера) - соответствуй.

Мало ли куда и зачем я сунулся. Может я играть пришёл. Или просто комментировать. Но ирония ответа от тебя явно ускользнула. У тебя чувство юмора как у топора, Хунта.

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

[стоит с табличкой "Смеяться здесь"]

Hunta
26.01.2024, 12:14
Слив Оберона засчитан.

Oleg N. Cher
26.01.2024, 12:18
Это слив всего, что делал или когда-либо будет делать Хунта - засчитан. Это не более чем форма самоудовлетворения.


А мне фиолетово.

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

Но видишь, ты наехал не только на меня, а вообще на Оберон. А чуть раньше ты требовал 10 цитат, что это не Оберон плохой, а я странный ;)

Hunta
26.01.2024, 12:23
форма самоудовлетворения.
О, ТС ещё и самоудовлетворяется. Ну чё, норм.


ты наехал не только на меня, а вообще на Оберон.
Не меньше 10 цитат с моим наездом на Оберон - в студию.
Хотя, если мне не изменяет память, ТС отказался их предоставить. Так что -
слив Оберона засчитан.

Oleg N. Cher
26.01.2024, 12:25
Ну вот же уже 2 цитаты только за последнее время.

Так что - слив Оберона засчитан.

Но Хунта странный, он то гнобит Оберон, то собирается когда-то в следующей жизни делать его для RSX. На лицо какое-то раздвоение. Как называется в психиатрии?

Hunta
26.01.2024, 12:34
Как называется в психиатрии?
Вот так - Oleg N. Cher

Oleg N. Cher
26.01.2024, 12:36
Ну понятно, бла-бла-бла. Кря-кря.

Andrew771
27.01.2024, 02:05
Извините, если вопрос по теме)

>Мощная среда ZXDev для разработки НА ПЯТИ ЯЗЫКАХ для ZX готова к тестированию

Я всё стесняюсь спросить с 2012 года, а какие 5 языков (еще и большими буквами)? Оберон - раз, Си - как промежуточный, с натяжкой, два. А еще три какие?

И, Олег, ты же можешь сделать кодогенерацию в какой-нибудь пи-код (java, например), чтоб из него потом на разные платформы раздавать. Почему не делаешь? Пи-код проще, чем ассемблер.

Oleg N. Cher
28.01.2024, 03:04
Я всё стесняюсь спросить с 2012 года, а какие 5 языков (еще и большими буквами)? Оберон - раз, Си - как промежуточный, с натяжкой, два. А еще три какие?Почему это "Си с натяжкой как промежуточный"? Ты можешь использовать его в связке с Оберонами как полновесный язык. Можешь в модуль на Обероне вставлять куски кода на Си, подключать хидеры и внешние сишные файлы, делать сишные тела для отдельных процедур и т.д. То же самое про асм.

Было: Оберон, Оберон-2, Си, асм. На момент создания темы я думал, что в SDCC ещё и поддержка C++ есть (которым сам не пользовался). Потом выяснилось, что нету, не поддерживается. Был введён в заблуждение исполняемым файлом sdcpp.exe, который оказался просто внешним препроцессором.

Сейчас: Оберон (1990) (https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD_(%D1%8F%D0%B7 %D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0% D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0 %B8%D1%8F)), Оберон-2 (https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD-2), Оберон-3 (мой собственный диалект, адаптированный для 8- и 16-битной разработки), Оберон-07/16 (https://wiki.oberon.org/ob/oberon07) (последняя виртовская редакция Оберона), Компонентный Паскаль (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D 1%82%D0%BD%D1%8B%D0%B9_%D0%9F%D0%B0%D1%81%D0%BA%D0 %B0%D0%BB%D1%8C), Си, асм.
Включены некоторые расширения из GPCP (http://www.edm2.com/index.php/Gardens_Point_Component_Pascal) и Дубовых требований (http://www.edm2.com/index.php/The_Oakwood_Guidelines_for_Oberon-2_Compiler_Developers). Планируются, но пока не реализованы расширения Oberon-X.

Да, за эти десять лет было сделано дофига хорошей работы, чтобы сделать XDev более удобной для ретро-разработки.


И, Олег, ты же можешь сделать кодогенерацию в какой-нибудь пи-код (java, например), чтоб из него потом на разные платформы раздавать. Почему не делаешь? Пи-код проще, чем ассемблер.

Не предлагай мне свои пути, Андрей. Пи-код, не пи-код, асм, машкод - это твоя стезя. Юзать java для ZX хоть в каком-то смысле - такое себе. Ну вот тебе странного хочется, а мне давно уже нет. В чём вообще польза java? 32- и 64-битность. Все целые типы со знаком. Стековая машина, без регистров. Классы. Динамическая память. Ты в курсе, что java нельзя статически выделять хоть те же классы? Оно подходит для 8 бит как сова для натягивания на глобус.

Если ты имел в виду "что-то типа java, но более скромное", это уже теплее. Но опять же, заморачиваться. Зачем? Кто оценит? Кому надо? Придут ещё и потопчутся по святому. Спасибо, но не надо. Может для себя я что-то такое когда-нибудь и запилю, но упаси господи пытаться угодить "сообществу".

andrews
28.01.2024, 12:03
Разве возможно перенести С-Lang(LLVM) на 8 битки? Или нужно делать другую виртуальную машину специально для 8-битных систем? А на ней тогда и С, и С++ и все остальное.

Oleg N. Cher
28.01.2024, 12:37
Разве возможно перенести С-Lang(LLVM) на 8 битки?С-Lang(LLVM) не влезут :) Но если Вы имеете в виду "адаптировать для генерации кода для восьмибитных процев", то есть пример успешных бэк-эндов для Z80 и 6502 (неизвестной степени готовности и стабильности).


Или нужно делать другую виртуальную машину специально для 8-битных систем?Видимо, в ВМ нет особого смысла, т.к. это тормоза. А если подобную LLVM, заточенную чисто под оптимизацию, то сил сообщества не хватит сделать настолько сложную штуку. Тут хоть бы бэк-энды для готовой LLVM запилили. А то вот PDP-11 нет.


А на ней тогда и С, и С++ и все остальное.C и C++ не столь хорошо подходят для 8-битных процев. Надо смотреть в сторону C--, Cowgol и PL/M. Или сделать более сурово: чтобы по умолчанию размер арифметических операций был 8 бит, не разрешать рекурсию, ограничить разгул локальных переменных, и тогда можно уже смотреть в сторону Си, Модулы, Паскаля или Оберона. Но не знаю есть ли в этом высокий смысл.

Я уже понял, что народу надо "шашечки". Им просто нравится идея генерации в машкод. При этом за бортом остаётся даже генерация в асм, т.е. подходы ZX Like Pascal, SDCC или даже Free Pascal.

Если бы надо было "ехать", то ехали бы. XDev вполне хорошо и через Си работает.

andrews
28.01.2024, 19:19
Что тогда остается? Портировать игры на каждую платформу индивидуально? Да, понятно, что стек 8 битки поддерживают намного хуже, чем всякие хитрые манипуляции через регистры. А что такое байткод при "приземлении" на конкретную платформу? Он разве не может это делать с учетом проца? Выход ассемблера в расчете на какой-то ассемблер или группу ассемблеров? Если на группу, то действительно наверное лучше сразу код исполняемый
и оптимизированный генерить. А то юзверю придется разбираться в особенностях разных ассемблеров, и мучится с выбором ключа.

Если бы надо было "ехать", то ехали бы
ну если прежде не ехали, то не значит, что в будущем не поедут. Куда спешить? Возможно до конца "эры программистов" 20 лет, а возможно 200. XDev вполне можно использовать. Кому надо пусть оптимизирует выдаваемый С код. Кому не надо - пусть пишет хоть на Basic-е, хоть на asm-е, хоть на pl/m. Это смотря какие библиотеки есть. Самому все писать на asm-е (без использования биос-а или библиотек) очень непросто. Код надо структурировать и комментировать, иначе и сам спустя какое-то время не разберешься.

Hunta
28.01.2024, 20:47
Самому все писать на asm-е (без использования биос-а или библиотек) очень непросто.
Смотря какие возможность заложены в ассемблер и смотря какая система команд.


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

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


Если бы надо было "ехать", то ехали бы
Кому надо ехать - они едут. На любом языке, который сочли подходящим. Что бы им не толдычили "адепты" "правильных" языков.
Пример из C# (причём тут, по сути, даже не возможности языка, а возможности реализации его окружения)


[Serializable]
[Macro(".CILHD")]
public class CILHeader
{
[Map(".CLCOD: .BLKB 1")] public byte Code; // HeaderCode
[Map(".CLLEN: .BLKB 1")] public byte Length; // HeaderLength
[Map(".CHTIM: .BLKW 2")] public DOS11Time Time;
[Map(".CHDAT: .BLKW 1")] public DOS11Date Date;
[Map(".CHBSZ: .BLKW 1")] public UInt16 BlockSize;
[Map(".CHIMC: .BLKW 1")] public UInt16 ImageCount;
[Map(".CHHSZ: .BLKW 1")] public UInt16 HeaderSize;
[Map(".CHFS0: .BLKW 1")] public UInt16 FileSize0;
[Map(".CHFS1: .BLKW 1")] public UInt16 FileSize1;
[Map(".CHFS2: .BLKW 1")] public UInt16 FileSize2;
[Map(".CHFS3: .BLKW 1")] public UInt16 FileSize3;
public SmartArray<byte> RAWData;
public COMD[] COMDs;

static CILHeader()
=> Helpers.StaticFieldsValueUpdater<CILHeader>();

public CILHeader(IArray<byte> data, int baseOffset = 0)
=> this.OneWayMapper(data, baseOffset);
}

[Serializable]
[Macro(".COMD")]
public class COMD
{
[Map(".CLCOD: .BLKB 1")] public byte Code; // COMDCode
[Map(".CLLEN: .BLKB 1")] public byte Length; // COMDLength
[Map(".CDLA: .BLKW 1")] public UInt16 ProgramLoadAddress; // Program load address
[Map(".CDPSZ: .BLKW 1")] public UInt16 ProgramSize; // Program size in bytes
[Map(".CDXFR: .BLKW 1")] public UInt16 XFRAddress; // Program transfer address
[Map(".CDODT: .BLKW 1")] public UInt16 ODTXFRAddress; // ODT(debugger) transfer address
[Map(".CDRBN: .BLKW 1")] public UInt16 RelativeBlockNumber; // Relative block# within the file
[Map(".CDPNM: .BLKW 2", PDP11Type.Radix50)] public string Name; // RAD50 program name
[Map(".CDIDN: .BLKW 2", PDP11Type.Radix50)] public string Ident; // RAD50 .IDENT of the program
[Map(".CDTIM: .BLKW 2")] public DOS11Time Time; // Program creation time, in ticks
[Map(".CDDAT: .BLKW 1")] public DOS11Date Date; // Program creation date
public SmartArray<byte> RAWData;

static COMD()
=> Helpers.StaticFieldsValueUpdater<COMD>();

public COMD(IArray<byte> data, int baseOffset = 0)
=> this.OneWayMapper(data, baseOffset);
}

На вход - массив (сырых) байт, на выходе - вполне себе объекты. Причём OneWayMapper-у фиолетово - что за объект (какого класса) надо создать - всё берётся из описания класса. Причём размеры конкретного поля могут быть не фиксированы - и браться из другого поля этого или родительского объекта.
И в этом вариант мне не надо писать парсер сырых байт под ещё один описанный класс объекта - всё делается ОДНОЙ строчкой


private static void CILImageDescription(SmartArray<byte> sarr)
{
cilHeader = new CILHeader(sarr);

И при таком подходе на цепляние к моему дизассемблеру ещё одного формата файла мне поднадобилось пол дня - на описание классов и на разборки с тем - как же это всё таки в байтах хранится - ибо документации - кот наплакал и некоторые вещи были определены опытным путём.

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

А, да, для возможности создавать образы, в которых была бы одна из ФС операционок с PDP-11, понадобился мне двунаправленный маппинг. Ок, пример. Тут несколько замороченней описание класса, но я пока не разобрался, как в run-time создать прокси-класс-наследник, поэтому пока так. Может, как руки дойдут - переделаю.


[Serializable]
[Macro(".DIEDF")] public class DirectoryEntry_S : BaseMappedClass // directory entry definition
{
[Map("E.STAT: .BLKW 1")] public F_ESTAT Status
{ get => (F_ESTAT)this.GetValue(nameof(Status)); set => this.SetValue(nameof(Status), value); } // entry status word
[Map("E.NAME: .BLKW 3", PDP11Type.Radix50)] public string FullName
{ get => (string)this.GetValue(nameof(FullName)); set => this.SetValue(nameof(FullName), value); } // RAD50 file name and extension
[Set(".=.-6")]
[Map("E.FNAM: .BLKW 2", PDP11Type.Radix50)] public string Name
{ get => (string)this.GetValue(nameof(Name)); set => this.SetValue(nameof(Name), value); } // RAD50 file name
[Map("E.FEXT: .BLKW 1", PDP11Type.Radix50)] public string Extension
{ get => (string)this.GetValue(nameof(Extension)); set => this.SetValue(nameof(Extension), value); } // RAD50 file extension
[Map("E.LENG: .BLKW 1")] public RT11BlockNum FileSize
{ get => (RT11BlockNum)this.GetValue(nameof(FileSize)); set => this.SetValue(nameof(FileSize), value); } // size of area described, in blocks
[Map("E.TIME: .BLKW 1")] public TPDP11Word Time
{ get => (TPDP11Word)this.GetValue(nameof(Time)); set => this.SetValue(nameof(Time), value); } // time of file closing(seconds/3 since midnight) <fut>
[Set(".=.-2")]
[Map("E.USED: .BLKW 1")] public TPDP11Word Used
{ get => (TPDP11Word)this.GetValue(nameof(Used)); set => this.SetValue(nameof(Used), value); } // <res> if not TENT
[Set(".=.-2")]
[Map("E.CHAN: .BLKB 1")] public byte Channel
{ get => (byte)this.GetValue(nameof(Channel)); set => this.SetValue(nameof(Channel), value); } // channel number for tentative file
[Map("E.JNUM: .BLKB 1")] public byte JobNum
{ get => (byte)this.GetValue(nameof(JobNum)); set => this.SetValue(nameof(JobNum), value); } // job number for tentative file
[Map("E.DATE: .BLKW 1")] public RT11Date Date
{ get => (RT11Date)this.GetValue(nameof(Date)); set => this.SetValue(nameof(Date), value); } // creation date
[Map("E.EXBT: .BLKB ?.DIHD/D.EXTR")] public IArray<byte> ExtraBytes
{ get => (IArray<byte>)this.GetValue(nameof(ExtraBytes)); set => this.SetValue(nameof(ExtraBytes), value); } // header extra bytes
//[Map("E.ELEN:")] public static readonly TPDP11Word Length; // basic entry len

static DirectoryEntry_S()
=> Helpers.StaticFieldsValueUpdater<DirectoryEntry_S>();

public DirectoryEntry_S(MappedToByteArray data, int baseOffset = 0)
: base(data, baseOffset)
{}

public DirectoryEntry_S()
=> this.TwoWayMapper();
}

...
DirectoryEntry_S temp = new()
{
Status = F_ESTAT.E_EMPTY
//, FullName = ""
, Name = "TEST"
, Extension = "TXT"
, FileSize = 0
, Time = 0
, Used = 0
, Channel = 0
, JobNum = 0
, Date = new(0)
};


В этом примере свойство ExtraBytes - массив переменной длины и его длина (если он вообще будет) берётся из другого поля родительского объекта. И при записе какого-либо поля объекта - моментальное изменение в байтовом массиве. Так что инициализация и наполнение ФС становится тривиальным делом.

Andrew771
28.01.2024, 22:34
А что такое байткод при "приземлении" на конкретную платформу? Он разве не может это делать с учетом проца? Выход ассемблера в расчете на какой-то ассемблер или группу ассемблеров? Если на группу, то действительно наверное лучше сразу код исполняемый
и оптимизированный генерить. А то юзверю придется разбираться в особенностях разных ассемблеров, и мучится с выбором ключа.
Может всё байт-код, о чем я Олегу и твержу. Я даже пробовал байт-код java в асм Z80 конвертить, нормально получается (на Дельфи писал намётки пост-процессора, с потоками java, как положено). И даже думал в ZX Like Pascal встроить. Только нужно времени много.

Сейчас в ZX Like Pascal выдуманный мной пи-код, который внутри конвертится в асм. Описывал здесь (http://dgmag.in/N15/DowngradeN15b.pdf)

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


Если ты имел в виду "что-то типа java, но более скромное", это уже теплее. Но опять же, заморачиваться. Зачем? Кто оценит? Кому надо? Придут ещё и потопчутся по святому. Спасибо, но не надо. Может для себя я что-то такое когда-нибудь и запилю, но упаси господи пытаться угодить "сообществу".
Да, оно. Так и делай для себя, с прицелом на облегчение написания своих программ/игр.

Oleg N. Cher
29.01.2024, 05:58
Любая сцепка фронт-энда и бэк-энда подразумевает промежуточный язык. Хотя бы в том, что фронт будет вызывать процедуры бэка с параметрами для генерации кода. Запишите эти вызовы в столбик и будет язык. Назовите его как хотите. Можете назвать пи-код или как-то иначе.

Впихивать стековую виртуальную машину в Z80, повторюсь, такое себе. Получится вполне тормознутая хрень с очень ограниченным применением. Даже не совсем понятно каким. Текстовые игры? Ну может быть.

Да, Хунта, да. И на "правильных" языках тоже можно разные штуки делать.


Так и делай для себя, с прицелом на облегчение написания своих программ/игр.Тебе надо - ты и делай? У нас как-то иначе было когда-то?

Oleg N. Cher
01.01.2026, 23:58
а чего ТЫ тут тогда делаешь?На форуме каждый человек волен написать в любую тему. Если я неправ, пусть одмины поправят. Это только ты почему-то решил, что там надо впахивать, и только доступным тебе способом. Чьё это горе?


а чего ты ТУТ тогда делаешь?См. выше.


предположу что на оберон или плм переложить для такого как ты профессионала буквально на изичах за неделюЯ ж не ДЛ, расслабься. Я даже не понял чего ты от меня опять хочешь.


ты агришься на мои комментарии во всех ветках указывает на обратное.Потому что ты неадекватен. См. ниже.

У меня накопились риторические вопросы к джерри. джерри, можешь не отвечать, они риторические.

1. Почему жерри решил, что он может что-то от меня требовать? Если по всем канонам морали имеет право только лишь просить, и то вежливо.
2. Почему он берёт меня на слабо как школьника?
3. Почему я должен что-то ему доказывать?
4. Почему любые идеи писать для ретро на чём-то, кроме Бейсика/ассемблера, вызывает приступы ярости у жерри и иже с ним?
5. Почему каждый должен стать профи-игроделом, как жерри? Иначе фу.
6. Почему жерри ничего не требует от других участников форума? В чём причина такого неравнодушия?
7. Почему надо обязательно впахивать тем способом, который нравится жерри? Иначе жизнь прожита здря
8. Зачем жерри туториалы и мастеркласс по тому, что он не будет использовать, а будет только фукать и фикать, потому что ему сам подход не нравится.
9. жерри вообще нормальный? Может уже пора ему провериться у психиатора?

Так, мысли вслух.

Oleg N. Cher
02.01.2026, 22:51
Проанализируем фразу.


Короче, на Обероне ничего путного не сделали.Это надо понимать как "на Обероне не сделали ничего, что шыни считает путним". Но шыни далеко не в теме. Ну пойди расскажи Савелию Иванкову, что он и его игры - отстой.

Нет, шыни, ты намного больший отстой со своими жалкими демками. А Оберон - он на века.

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

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

А моральное право пиарить PL/M - в том, что это объективно лучший компилятор с некоего ЯВУ для 8080-машин. Объективно. Лучший. Где тут любители хороших компиляторов? Что сидят по углам и за печкой?

А торчки на асме нам много не накодят; мало того, что они делают всякую хрень, так их способности даже нельзя взять и использовать произвольно, чтобы сделать что-то хорошее. Так что компилятор PL/M однозначно лучше призывов "всем на асм", "асм или умри" и прочей фигни.

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

Так что, раз "на Обероне ничего путного не сделали", а на Бейсике типо сделали, а Оберон лучше Бейсика, то чьё это горе? "Покажи нам готовое, тогда мы может быть сделаем что-то готовое [но это не точно; скорее всего, нет]". Где я вам возьму готовое? Берите что есть.

Lethargeek
02.01.2026, 23:14
на асме нам много не накодят
https://i.pinimg.com/736x/8a/64/02/8a6402b49ba6b37b85cc4d7baec83a39.jpg

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

а, стоп, не заметил сразу

торчки на асме нам много не накодят ... Так что компилятор PL/M однозначно лучше призывов "всем на асм", "асм или умри" и прочей фигни
вотоночо, значит, плм и прочие обероны просто предназначены торчков
которые, что логично, не могут в асм, поскольку торчки
ну вот, всё и встало наконец на свои места :D

Oleg N. Cher
02.01.2026, 23:19
А ты не мог бы изъясняться как-то более связно, что ли? Торчки в хорошем смысле, радуйся, борцун "за всё эффективное"

Lethargeek
02.01.2026, 23:26
А ты не мог бы изъясняться как-то более связно, что ли? Торчки в хорошем смысле, радуйся, борцун "за всё эффективное"
ммм, это как из анекдота "в хорошем смысле"?

ну и прекрасно, предлагаю для пущей ясности изменить название данной темы на

Мощная среда ДЛЯ ТОРЧКОВ (В ХОРОШЕМ СМЫСЛЕ) ZXDev для разработки НА ПЯТИ ЯЗЫКАХ для ZX готова к тестированию

Oleg N. Cher
02.01.2026, 23:34
Торчки в нашем понимании это хорошие ассемблерщики, делающие свою работу хорошо, а не спускающиеся с подиума наркоманы, полные эйфории. Или это как-то связано?

Lethargeek
03.01.2026, 01:14
торчки на асме нам много не накодят

Торчки в нашем понимании это хорошие ассемблерщики
:v2_wacko::v2_crazy:

Oleg N. Cher
03.01.2026, 01:20
Понятно. По существу (https://zx-pk.ru/threads/18472-moshchnaya-sreda-zxdev-dlya-razrabotki-na-pyati-yazykakh-dlya-zx-gotova-k-testirovaniyu.html?p=1221638&viewfull=1#post1221638) сказать нечего, поэтому придрался к словам.

Слушай. Почему я не могу заниматься на форуме тем, что мне нравится? Это связано с тематикой форума напрямую. И всё из-за пары утырков, людей странных в своём роде и повёрнутых на своём величии.

Ты делай что хочешь, я не мешаю.

Jason
03.01.2026, 01:49
Не нашёл отдельной темы по паскалю, спрошу здесь. Как включить в программу на турбопаскале 3.0 массив-константу известного размера? И чтобы при этом самому не указывать размер. Пусть компилятор сам посчитает запятые.
Иными словами, надо тупо сделать INCBIN. Конкретно - звуки для AY (afx).
Версия 3.0 не понимает открытых массивов (безразмерных 'array of byte'), но для Z80 - других нет.
Через array это делается так:

const
fx1:array[1..5] of byte = ($EA,$AB,0,0,$AA);
И т.п. Максимальный индекс (= 5) надо указывать руками. Если массив большой, то неудобно.
Как сделать чтобы компилятор сам посчитал кол-во байт в скобках? Хотелось бы 'sizeof (fx1)', но не работает.
Директива {$R} не помогает. Где-то читал, что это можно обойти, но не помню где.
Через inline (1/2/3/4/5) можно вставить что угодно любой длины, но как получить указатель на эти данные? Можно добавить в начало ld hl,$+4 : ret, но это изврат.

Oleg N. Cher
03.01.2026, 02:23
Предположу, что в Турбо Паскале 3 такой фишки нет. Придётся указывать руками.

Можно написать небольшую утилиту, которая будет бинарик конвертить в такой массив с указанием размера.

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

Да, ИИ подтверждают, что так и есть.

https://bitsavers.trailing-edge.com/pdf/borland/turbo_pascal/Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf


В Turbo Pascal 3.0 для Z80 действительно нет встроенной возможности объявить массив-константу без явного указания размера с автоматическим подсчетом компилятором. Это ограничение старых версий.

Обходной путь: использование внешней утилиты (как вы предложили).
Можно написать простую программу-конвертер, которая преобразует бинарный файл в код Паскаля:


{ CONVERT.PAS - конвертер bin -> pascal const }
program ConvertBin;
var
f: file of byte;
b: byte;
i, count: integer;
begin
Assign(f, 'sound.bin');
Reset(f);
count := FileSize(f);

WriteLn('const');
Write(' fx1: array[1..', count, '] of byte = (');

for i := 1 to count do
begin
Read(f, b);
Write('$', Hex(b));
if i < count then Write(',');
if i mod 16 = 0 then WriteLn;
end;

WriteLn(');');
Close(f);
end.

Jason
03.01.2026, 06:43
var f: file of byte; В третьем турбопаскале это не будет работать. Оно понимает "byte" как объект размером 4 байта, в который входит сам байт, адрес его хранения и ещё что-то. Я делал патчер по *.crk файлу - и напоролся. Пришлось городить сарай из blockread / blockwrite с указателями на буфер (который там всегда 128 байт). Здесь виртуализация только мешает.
Вот пример (http://zx-pk.ru/threads/36299-igry-rogue-i-sokoban-dlya-atm-cp-m.html?p=1216826&viewfull=1#post1216826) использования звуков на AY из паскаля.

Oleg N. Cher
03.01.2026, 14:21
Утилита, понятно же, не для третьего Турбо Паскаля. Или Вы хотите вести разработку всенепременно под CP/M?

Oleg N. Cher
03.01.2026, 21:23
есть чтото на обероне или ПЛ/М хотя бы сопоставимое вот этим играмАга, а они типа на Бейсике. Нутак, чья вина, что нет ничего подобного на Обероне или ПЛ/М ? Может потому что вы постарались?


Только один человек игры на паскале пишет. И это не ты.жерри,
давай пройдёмся по основам. Я думал, что это понимают все, но, видимо, нет.

У каждого человека есть круг своих интересов. Мои интересы - это языки программирования и поиск способов упростить ретро-разработку и снизить барьер вхождения в неё. Вот тогда и игры будут на ПЛ/М и Обероне. Я не интересуюсь асм-разработкой. Асм для меня просто неизбежное зло. Я не претендую на экспертное мнение в знании ретро-платформ. Напротив.

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

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

Ещё, жерри, меня очень интересует разработка переносимых между ретро-платформами игр. Область почти фантастическая. И асм здесь никак не поможет.

Да, возможно, я никогда не найду никакого решения, но думать и мечтать об этом мне нравится. А тут ты со своими грубыми лапами и грязными намёками про твои ассемблерные таланты и отсутствие моих. Что мне за дело до этого.

andrews
04.01.2026, 13:00
Видели все наверное в инете сайт, где чувак выкладывает тексты программ на С блоками. Типо, вот исходники, но для особо одаренных. Убейте свое время, на их преобразование в удобочитаемую форму. Кажется это изощренный вид садизма и проявления своего "величия". "И кто-то камень положил в его протянутую руку"

К счастью есть и другие люди. Сделал и- если захотел- поделился с другими людьми. А ассемблер или ЯВУ или скрипт это уже вторично. Третья позиция: сделал сам, но вам не дам! Тоже имеет место быть и право на существование. Хотите получить- платите денюшку. Тут биться как рыба об лёд бесполезно. Люди не просто сами по себе такие. Каждый вырос в своей среде, прожил свою жизнь и поэтому интерпретирует прописные истины по-своему. Переубеждать - пустая трата времени!

Конечно писать на ассемблере или самомодифицирующихся кодах это максимальное приближение к процессору без микроинструкций и железу конкретной платы. Но результат юзабелен для вот этой конкретной платы и процессора. Нужен внешний конвертор, чтобы сделать что-то с этим кодом и именно эту ситуацию рассматривает как криминал УК РФ! Если берете исходный код на ЯВУ с лицензией, допускающей модификацию кода, или генерите код на этом ЯВУ с помощью DeepSeek - на сегодня криминала нет. Можете даже на полученный таким способом код оформить авторские права. Ну и если по-взрослому к кодингу подходить, то и об этом приходится думать. Что мне будет за то, что я что-то сделаю и опубликую. А эти все наслабоны характеризуют сорока- пятидесятилетних подростков. "Делай, что можешь - и будь что будет!"? А ежели даже хотя бы повестку к следователю -тогда как?

Shiny
04.01.2026, 14:49
Проанализируем фразу.

Это надо понимать как "на Обероне не сделали ничего, что шыни считает путним". Но шыни далеко не в теме. Ну пойди расскажи Савелию Иванкову, что он и его игры - отстой.

Нет, шыни, ты намного больший отстой со своими жалкими демками. А Оберон - он на века.


А ведь когда не было интернетов, только твои родители и друзья знали, что ты - дурак.

Hunta
04.01.2026, 15:37
выкладывает тексты программ на С блоками. Типо, вот исходники, но для особо одаренных. Убейте свое время, на их преобразование в удобочитаемую форму.
Типа, про VS не слышал?

Bedazzle
04.01.2026, 16:12
Хоспади, бояре, чего вы опять шумите? Давайте лучше пилить всякое полезное.

Shiny
04.01.2026, 16:47
Хоспади, бояре, чего вы опять шумите? Давайте лучше пилить всякое полезное.

Не надо ничего пилить. Был задан вопрос "Что сделано на Оберон?", а в ответ полились оскорбления. Наверное, ему стыдно за порт винрарной игры "охоты на лис".

Oleg N. Cher
04.01.2026, 17:22
Был задан вопрос "Что сделано на Оберон?"Ну так а что ты сделал на Обероне, болезный? Правильно, ничего. Потому что Бейсик. Ну так?

Shiny
04.01.2026, 17:39
Ну так а что ты сделал на Обероне, болезный? Правильно, ничего. Потому что Бейсик. Ну так?
Зачем я буду тратить время на изучение Абирона, если на нем ничего не сделано? Насколько мне помнится, даже аркаду не осилили на этом средстве.

Ты не любишь демки? Люди, адекватнее и умнее тебя, давно оценили мои работы: https://nanogems.demozoo.org

Oleg N. Cher
04.01.2026, 17:43
Я нейтрально отношусь к демкам, шыни. Но нечего мне ими тыкать в морду.

Что до того с какой степенью надо облизывать свою ЦА - может раньше я был склонен к этому больше пока жерошына не накормили меня какашками. Если человек скачал XDev и задаёт конкретные вопросы - я помогу. Но это не будет выглядеть так, как будто бы мне делают одолжение? Скачайте полуторамегабайтный XDevLite.exe и подсистему для нужной платформы - и вуаля. Не надо изучать опции командной строки Си-компилятора. Всё собирается одной кнопкой. Универсальные процедуры вынесены в библиотеки. Всё в разной степени готовности, но это логично. Я не все платформы хорошо знаю. Я немного разобрался с Радио-86РК, когда портировал игру FoxHunt. Написал об этом статью в Downgrade. Немного с GameBoy, немного с MSX, немного с NES и Sega MegaDrive. Я разобрался с устройством экрана Львов ПК-01, когда портировал туда BolderDash, написал графические процедуры. Разобрался с асмом PDP-11, когда писал графические процедуры для БК. Со скрипом мне это даётся, но ведь почти никто не помогает.

Господа утырки с вашим кошерным видением “как всё должно быть”. Ну есть что-то на Обероне. Вы же это игнорите. Или плюётесь. Оберон это не про замену асму для ваших потуг, ещё раз говорю, раз не дошло. Но если тут “любители эффективности”, и они честны с собой и другими, они должны резко сказать Бейсику “нет”. И топить за любой ЯВУ на ретро, потому что любой ЯВУ на ретро лучше Бейсика. Этого не наблюдается? Нет. Кто мешает сделать на Обероне так же красиво, как на Бейсике? Никто. Почему нет? Надо у вас спросить. Я никогда не позиционировал себя как супер-игродела, а вы, утырки, прямо давите мне этим на психику. Я – это способ разработки, а не продукты. Вот по этим всем вопросам можно обращаться ко мне, но не в виде одолжения, а если интересно. Меня интересует как стыковать Оберон с ретро-платформами. Мне нравятся некоторые игры, которые можно повторить на Обероне. Но на всё про всё нет уже времени да и сил, тем более, чтобы дать лишний повод утыркам позубоскалить, что-де бла бла повторил то, что уже было. Утырки. Грустно.

Shiny
04.01.2026, 17:55
В общем, Millfork выглядит куда проще и удобнее. Нашелся добрый человек, который подсказал и объяснил некоторые моменты. От утырковеда вряд ли дождешься. Грустно.

Oleg N. Cher
04.01.2026, 18:01
Ну и пользуйся. А я не эксперт по всем на свете вопросам.

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

Millfork и PL/M - не мои способы разработки. Но ты узнал про Millfork именно от меня, хотя тогда утырки критиковали зачем я это пощу и долго не хотели смотреть. А я даже не напостил и половину того, что собирался. Потому что не совсем понятно было в какую тему это поместить.

Если я нашёл ссылку и поделился, это не значит что я эксперт по этому продукту. Постарайся понять это своим крохотным мозжечком.

Shiny
04.01.2026, 19:08
Ну и пользуйся. А я не эксперт по всем на свете вопросам.

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

Millfork и PL/M - не мои способы разработки. Но ты узнал про Millfork именно от меня, хотя тогда утырки критиковали зачем я это пощу и долго не хотели смотреть. А я даже не напостил и половину того, что собирался. Потому что не совсем понятно было в какую тему это поместить.

Если я нашёл ссылку и поделился, это не значит что я эксперт по этому продукту. Постарайся понять это своим крохотным мозжечком.

Сильно тебе пригорело(:
Не льсти себе, речь про Millfork была в канальчике Телеграмм: сравни даты твоего поста и моего ответа. Выходит, что им никто не заинтересовался.

Oleg N. Cher
04.01.2026, 19:17
И где тонны игр и софта на Millfork?

Shiny
04.01.2026, 19:19
И где тонны игр и софта на Millfork?

А что, кто-то обещал? breeze делал на Атари, потом забросил.

Lethargeek
04.01.2026, 19:40
меня очень интересует разработка переносимых между ретро-платформами игр. Область почти фантастическая.
почему же фантастическая, Z-machine кроссплатформенная вполне, и в отличие от всяких оберонов - с кучей игрушек :D

Oleg N. Cher
05.01.2026, 02:49
А что, кто-то обещал? breeze делал на Атари, потом забросил.А что - я обещал тонны софта на Обероне? Я всего лишь показал, что это можно.

Но следуя жерошынской логике, раз шыне нравится Millfork, то надо жёстко начинать его чмурить почему столь высокий профессионал не выкатил нам аркадок на Millfork'е. И вообще - почему нет игр на Millfork'е? Может кто-то бы написал что-то готовое, если бы увидел что-то готовое. Но это не точно.

Недоумение шыни, почему именно он, следует считать подгоранием.

шын, бросай свою дурь по написанию однобайтных демок и яви нам хотя бы что-то путнее на Millfork'е.


почему же фантастическая, Z-machine кроссплатформенная вполне, и в отличие от всяких оберонов - с кучей игрушек :DНекорректно сравнивать движок для текстовых игр с универсальным языком программирования. На котором, как минимум, можно делать игры разных жанров.

Lethargeek
05.01.2026, 04:40
Некорректно сравнивать движок для текстовых игр с универсальным языком программирования.
чоэта "некорректно"? в ней язык не менее тьюринг-полный


На котором, как минимум, можно делать игры разных жанров.
...на котором, как минимум, можно, например, тетрис (https://ifdb.org/viewgame?id=ohjrdv0wx6cd7zzx)

то есть:
игры? - игры!
разных жанров? - разных!
кроссплатформенные? - кроссплатформенные!

чего ж тебе еще надо, оберяка?

https://www.meme-arsenal.com/memes/af539bb47c0d4016d5f30fa0fb7bbf68.jpg


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

а еще лучше - бросай страдать своим оберонством, развивай, вот - популярную проверенную платформу с тонной софта

Shiny
05.01.2026, 07:20
Недоумение шыни, почему именно он, следует считать подгоранием.

шын, бросай свою дурь по написанию однобайтных демок и яви нам хотя бы что-то путнее на Millfork'е.

Некорректно сравнивать движок для текстовых игр с универсальным языком программирования. На котором, как минимум, можно делать игры разных жанров.

Чем нужно так закидаться, чтобы тоже вштырило?

Oleg N. Cher
05.01.2026, 18:48
чоэта "некорректно"? в ней язык не менее тьюринг-полныйИ что? А где на нём супер-быстрые аркадки? Ты моего посыла вообще не понял. Я говорю про переносимость игр типа Elite или Exolon. Их сейчас по-хорошему надо просто переписывать для каждой платформы. Но неужто это всё и ничего больше нельзя придумать?


чего ж тебе еще надо, оберяка?С учётом того, что реализация Z-Machine для каждой платформы написана на асме и имеет массу ограничений, уже не говоря про то, что это виртуальная машина. Принцип не новый, это тот же Виртовский P-Code, только в профиль.


просто это максимально достижимый уровень кроссплатформенности для всего зоопарка восьмибиток, смирись и живи с этимТа даже вот это (https://github.com/Fabrizio-Caruso/CROSS-LIB) ближе к моим идеям, чем Z-Machine. Но развивать никто не хочет, потому что вот так.


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


Чем нужно так закидаться, чтобы тоже вштырило?Та немного покурил жерошынской логики. Millfork плохой, потому что на нём нет игр, особенно аркад. А когда-нибудь будут? Нет, потому что чтобы появилось что-то готовое, надо чтобы было что-то готовое. Основы утырочной логики.

Shiny
05.01.2026, 18:56
Та немного покурил жерошынской логики. Millfork плохой, потому что на нём нет игр, особенно аркад. А когда-нибудь будут? Нет, потому что чтобы появилось что-то готовое, надо чтобы было что-то готовое. Основы утырочной логики.

Такое комментировать - только портить.

Если ты прослоупочил, то на NES сделали игру Twin Dragon на Millfork. Но самонадутой всезнайке это знать необлизательно.

Lethargeek
05.01.2026, 20:15
И что? А где на нём супер-быстрые аркадки? Ты моего посыла вообще не понял.
Это ты ни моего посыла вообще не понял, ни сам не понимаешь, что тут несёшь. А где супер-быстрые аркадки на оберонах? А где хоть какие-то аркадки на оберонах в количестве текстовых игрушек на Z-machine? А где текстовые игры на оберонах? По критерию "а где" получается, что для аркадок оберон не лучше, для текстов - хуже. Ну и, соответственно, хуже в целом.


Я говорю про переносимость игр типа Elite или Exolon. Их сейчас по-хорошему надо просто переписывать для каждой платформы. Но неужто это всё и ничего больше нельзя придумать?
Да, нельзя. Их всегда по-хорошему надо переписывать (при значительном различии железа оригинальной и целевой платформы - до "почти полностью"). А иначе это будут не Elite и Exolon, а унылые пародии с тем же именем.


С учётом того, что реализация Z-Machine для каждой платформы написана на асме
угу, и работает на уровне машинного кода - точно так же, как рантайм любого транслятора
что из этого?


и имеет массу ограничений,
осторожно, ты уже раз облажался с "разными жанрами"


Та даже вот это ближе к моим идеям, чем Z-Machine. Но развивать никто не хочет, потому что вот так.
потому что развивать в сторону кроссплатформенности - значит, дальше от "игр типа Elite или Exolon"
а в сторону "игр типа Elite или Exolon" - значит, дальше от кроссплатформенности

https://www.meme-arsenal.com/memes/b8387a96011d9cb8c316446d13c069e7.jpg


Не говорите мне, что мне делать, и так далее. Сам разберусь. Мой компас это мои интересы.
вот и разберись, прежде чем запудривать начинающих

Oleg N. Cher
05.01.2026, 23:09
По критерию "а где" получается, что для аркадок оберон не лучше,
Тебя щас жерри заплюёт в потоках игр на Бейсике. А Оберон лучше Бейсика. Где тонны игр, где тонны игр. Я что ли должен их был написать? Ну ты странный.


для текстов - хуже.Раз на Обероне нет текстовых игр, значит он хуже. Хуже чего? Хуже ассемблера. Так любой ЯВУ хуже ассемблера. В каком-то смысле. Раз не писали на Обероне, а писали на Z-Machine, значит Z-Machine лучше Оберона. С какого перепугу? Прекрасная утырочная логика.


А иначе это будут не Elite и Exolon, а унылые пародии с тем же именем.Так вот надо, чтобы не были унылые пародии.

Если ты не умеешь и не знаешь как, то сиди и не трынди, дай другим думать. Вы задрали своими призывами идти на баррикады.


ты уже раз облажался с "разными жанрами"Не помню что-то. Ты меня с собой не перепутал?


а в сторону "игр типа Elite или Exolon" - значит, дальше от кроссплатформенностиА почему игра, которая выглядит максимально похоже на разных платформах (с поправкой на малозначительные платформенные особенности), должна быть и устроена максимально по-различному для разных платформ? Это не приходило тебе в голову?


вот и разберись, прежде чем запудривать начинающихБедный борцун за чистоту нравов. Все на ассемблер. Понятственное дело.


на NES сделали игру Twin Dragon на Millfork.Исходники доступны? Ссылки? Это всё равно не игра или недостаточно хорошая игра. Короче, игр на Millfork'е нет, потому что их нет. И не будет. С такими-то самолюбовательными шынями.


Но самонадутой всезнайке это знать необлизательно.Ты здесь где-то увидел себя. Делишься ссылками на свои гордые демки - не забудь накапать эндорфинов в пробирочку и приложить.

Если ты не заметил, я двигаю идеи, а не собственное величие.

Lethargeek
05.01.2026, 23:32
аз на Обероне нет текстовых игр, значит он хуже. Хуже чего? Хуже ассемблера.
в данном случае - хуже z-машины, ты невнимателен! и поскольку не лучше для аркадок (по тобой же выбранному "а где") - хуже в целом


Так вот надо, чтобы не были унылые пародии.

Если ты не умеешь и не знаешь как, то сиди и не трынди, дай другим думать. Вы задрали своими призывами идти на баррикады.
ну вот ты же не умеешь и не знаешь, только трындишь
ты придумай, и тогда советуй оберончики со знанием дела
а не вот это всё


А почему игра, которая выглядит максимально похоже на разных платформах (с поправкой на малозначительные платформенные особенности), должна быть и устроена максимально по-различному для разных платформ? Это не приходило тебе в голову?
А потому что железо на этих разных платформах тоже может быть (и часто бывает) очень уж разным (причём может оказаться настолько разным, что для эффективности может требовать разного расположения даже одинаковых данных в памяти). Тебе это не приходило в голову? Нет, конечно же, типичная самоуверенность дилетанта.

Oleg N. Cher
05.01.2026, 23:57
в данном случае - хуже z-машины, ты невнимателен! и поскольку не лучше для аркадок (по тобой же выбранному "а где") - хуже в целомХуже ЧЕМ? Ну не может быть универсальный ЯП хуже ограниченного игрового движка. Очень медленного, кстати. А Millfork тогда хуже AGD, например?


ну вот ты же не умеешь и не знаешь, только трындишьЯ делаю, просто то, что вы не в состоянии оценить. Но проблема не во мне. А ты что - всё умеешь, всё знаешь? А где твоя нобелевская премия?


ты придумай, и тогда советуй оберончики со знанием делаДавно не советовал оберончики. Иди делай чего хочешь, я тебя не ограничиваю и не указываю. Почему мне приходится общаться с теми, кто не понимает и не разделяет моих идей? Чего у тебя пригорает. Проматывай мои посты. Ты для моих идей человек бесполезный совершенно, а тему засоряешь.


А потому что железо на этих разных платформах тоже может быть (и часто бывает) очень уж разным (причём может оказаться настолько разным, что для эффективности может требовать разного расположения даже одинаковых данных в памяти). Тебе это не приходило в голову?Ещё раз тебе говорю - не умеешь и не знаешь как, так молчи. Что ты одно и то же трындишь. Иди, кодь игры, демки, асм, хуасм. Мне это неинтересно. Понимаешь, нет? Если ты себя самовозвеличил ковырянием в играх при помощи POKE, то я не разделяю. Да, супердупермегахакер, пирожок точно твой.

Ты видел вообще то, что я сделал или пытался сделать? Не видел даже и 10%. А осуждаешь. Потому что тебя я почему-то задеваю. Почему?


Нет, конечно же, типичная самоуверенность дилетанта.Хорошо, что ты не дилетант, а светочь разума. Только тошнотная.

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

Есть кодеры, а есть концептуалы. Кодер, который махает списком своих достижений, не понимает и не оценивает концептуала адекватно. Есть возняки, а есть джобсы. Мне посчастливилось (или нет) быть концептуалом, а не только лишь кодером. Я пытаюсь быть хорошим кодером, но понимаю свой потолок.

Если видение на разработку для ретро-платформ должно как-то эволюционировать, то нужны такие люди, как я.

Кстати, Смаловский тоже концептуал. И я его уважаю за его разнообразие взглядов. Он не зациклен на одной платформе или на одном ассемблере. Он много чем занимался, бросал, начинал опять. Он близок мне.

Но – вы видели от Смаловского законченную игру? Может и есть. Я не видел. Дело не в этом. Возможно, такой человек напишет слова, которые прочитает другой человек и обсудит с третьим. Вы понимаете? Это работает именно так.

Худшее, что здесь можно сделать, это собраться толпой кодеров бить концептуала. Он в галстучке и очочках. А они шпана. И давай его прикалывать – а почему ты только трындишь? Да вам не понять этого даже. Лучше идите кодьте. Ваш потолок - это ассемблер. Вы не видите разработку как-то иначе. Ну ладно, каждому своё же.

Smalovsky
06.01.2026, 02:45
Lethargeek, ты не понимаешь человека. У Олега страсть к разным яву, компиляторам, их устройству , всяким
Байт-кодам. Для него сделать Оберон или какой другой язык как конечная цель. Ему интересно разобраться в устройстве компилятора и реализовать свой какой компилятор. Игры ему не интересны.
Ты споришь не со злым умыслом? Может, ты его специально троллишь, а потом угораешь в каком чатике.

Oleg N. Cher
06.01.2026, 05:48
Игры мне тоже интересны конечно, но я не ставлю цели сделать игру, выжимающую всё из ретро-железа. Что весьма ценится в известных кругах. Мне интересно игры именно портировать, разбирать их код, смотреть как устроены, пытаться их сделать как можно более переносимыми между ретро-платформами.

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

А ещё он проигнорировал мою ссылку на CROSS-LIB. А это, в отличие от Z-Machine, уже нативчик, хотя и не самый качественный конечно. Но всё равно это лучше. И игры там есть, сами гляньте.

https://github.com/Fabrizio-Caruso/CROSS-LIB

(листать до THE GAMES)

Но это, понятное дело, всего лишь крестики-нолики. Lethargeek'а таким не впечатлишь. Куда лучше текстовые адвентюры. (из всех играл только в Жихаря на руском. Ну ещё немного в Hobbit)

jerri
06.01.2026, 06:20
Где тонны игр, где тонны игр. Я что ли должен их был написать? Ну ты странный.


Я правильно понял что это ТЫ придумал Оберон и ТОЛЬКО ТЫ на нем пишешь?

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



Худшее, что здесь можно сделать, это собраться толпой кодеров бить концептуала. Он в галстучке и очочках.

Тебе сразу сказали: Сними корону, белопольтовый.

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

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


Lethargeek, ты не понимаешь человека. У Олега страсть к разным яву, компиляторам, их устройству , всяким
Байт-кодам. Для него сделать Оберон или какой другой язык как конечная цель. Ему интересно разобраться в устройстве компилятора и реализовать свой какой компилятор. Игры ему не интересны.


Так кто же ему мешает чтото реализовывать? Так ему не надо реализоваться, ему своё белое пальто надо показать. Ему сразу указали где в его логике изьяны. А он всё ходит и ноет, что ему весь его концепт испачкали и теперь никто и никогда не напишет на PL/M (которого он не знает) суперпрограмму которая уделает всех кто пишет на ассемблере (кстати а почему они пишут на ассемблере? наверное это религия такая) потому что будет выполнятся так быстро и делать такое, такое. Но её никто не напишет теперь никогда потому что Шинни, Джерри и Летаргик!!!!11111

Oleg N. Cher
06.01.2026, 06:38
Я правильно понял что это ТЫ придумал Оберон и ТОЛЬКО ТЫ на нем пишешь?Согласно утырочной логике, конечно.

Сам Оберон больше крутился в специфических окружениях. Хотя есть информация, что его использовали и для вполне мэйнстримных игр на Амиге и PS1. Поэтому, возможно, есть игры на Обероне, которые ты видел, но не знал, что они на Обероне.


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


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


не напишет на PL/M (которого он не знает)Дурашка ты (ласково). PL/M совсем простой язык. Чего там знать. Просто попробовать разок. На нём даже ИИ относительно неплохо пишт.


суперпрограмму которая уделает всех кто пишет на ассемблереА вот это ваша дебильная идея фикс. Что надо чего-то доказывать, кого-то уделывать.


(кстати а почему они пишут на ассемблере? наверное это религия такая)Именно. Ну раз Оберон религия, то почему бы ассемблеру не быть религией


потому что Шинни, Джерри и Летаргик!!!!11111О, ты начал писать себя с большой буквы. Прогресс.

Shiny
06.01.2026, 08:10
Ты здесь где-то увидел себя. Делишься ссылками на свои гордые демки - не забудь накапать эндорфинов в пробирочку и приложить.
Если ты не заметил, я двигаю идеи, а не собственное величие.

Давно хотел тебя спросить - какие средства контрацепции ты используешь кроме характера?

Толку делиться своими наработками? Многие как ты живут по собачьему принципу - "Всё, что нельзя съесть или трахнуть, нужно обязательно обос.ать".

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

Кстати, Оберон-фюрер опять продемонстрировал, что его забанили в Google или где-то там еще.
https://github.com/Garydos/twin-dragons-nes
Вывалил одну поделку на github, значит, на других средствах разработки игр не может быть. Л-логика.

Lethargeek
06.01.2026, 15:39
Хуже ЧЕМ? Ну не может быть универсальный ЯП хуже ограниченного игрового движка.
то есть ты до сих пор не удосужился просветиться о том, что "ограниченный игровой движок" управляется универсальным яп
(разве что со специфической стандартной библиотекой, но на тот же тетрис вполне хватило)


Очень медленного, кстати.
это поправимо, кстати


А Millfork тогда хуже AGD, например?
пока не было доказано обратное напримерами


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


Давно не советовал оберончики.
ты всегда советуешь оберончики, как бы они ни назывались))


Ещё раз тебе говорю - не умеешь и не знаешь как, так молчи. Что ты одно и то же трындишь. Иди, кодь игры, демки, асм, хуасм.
А ты сам почто мимо не проходишь, если где ассемблер советуют? Не умеешь, ниасилил асма и железа - сиди, молчи. Нет, одно и то же трындеть приходишь. Иди, кодь качественные примеры на оберончиках. Ведь (в отличие от асма) их никто, кроме тебя, не накодит.


Ты видел вообще то, что я сделал или пытался сделать?
https://www.meme-arsenal.com/memes/69a03833f73ce1646ec3689a9cffd420.jpg


Есть кодеры, а есть концептуалы. Кодер, который махает списком своих достижений, не понимает и не оценивает концептуала адекватно. Есть возняки, а есть джобсы. Мне посчастливилось (или нет) быть концептуалом, а не только лишь кодером. Я пытаюсь быть хорошим кодером, но понимаю свой потолок.
тут что-то комментировать - только портить)))


Если видение на разработку для ретро-платформ должно как-то эволюционировать, то нужны такие люди, как я.
с такими людьми можно "до мышей до..."...эволюционировать :D


Кстати, Смаловский тоже концептуал. И я его уважаю за его разнообразие взглядов. Он не зациклен на одной платформе или на одном ассемблере. Он много чем занимался, бросал, начинал опять. Он близок мне.

Но – вы видели от Смаловского законченную игру? Может и есть. Я не видел. Дело не в этом. Возможно, такой человек напишет слова, которые прочитает другой человек и обсудит с третьим. Вы понимаете? Это работает именно так.
возможно, работает... возможно, именно так... возможно, не именно так... возможно, именно не так... возможно, не работает))


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


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


Т.е. акцент на логике игры, а не на платформенных особенностях.
смысл какой? логики от общего объёма (особенно для аркадок) не так чтоб много и переписать её и так недолго на что угодно
притом часть (поиска путей, например) может быть критичной по скорости, и её всё равно нативно надо оптимизировать


А ещё он проигнорировал мою ссылку на CROSS-LIB. А это, в отличие от Z-Machine, уже нативчик, хотя и не самый качественный конечно. Но всё равно это лучше. И игры там есть, сами гляньте.
а на что там реагировать-то? на уровень года эдак 1983 как для спека? сейчас точно на 200 целевых платформах такое нужно?


Но это, понятное дело, всего лишь крестики-нолики. Lethargeek'а таким не впечатлишь. Куда лучше текстовые адвентюры.
в интересах кроссплатформенности - однозначно лучше текстовые
потому что от железа мало зависят и могут быть всегда на уровне самых лучших
тогда как изначально кроссплатформенные аркадки - заведомо не соперники нынешним нативным лучшим аркадкам

Oleg N. Cher
06.01.2026, 16:13
"ограниченный игровой движок" управляется универсальным япФтопку такие “универсальные яп” поверх ВМ. ВМ на восьми битах! Уродство.


(разве что со специфической стандартной библиотекой, но на тот же тетрис вполне хватило)Главное чтобы на крестики-нолики хватило. Иди и пиши тогда, раз нравится.


это поправимо, кстатиЭто непоправимо, кстати. Это родовая травма, полученная при проектировании, от которой до сих пор страдают JS и PHP.


пока не было доказано обратное напримерамиНичего не было доказано.


Мы как раз способны лучше тебя.Да-да, вы такие праведники. Способные. Талантливые. Меряющие людей и средства разработки своими анальными мерками.


фактически призывает оригиналы делать менее заслуживающими портов.Придурошное же. Ни к чему он не призывает. Он просто хочет видеть разработку не кропотливо-ассемблерной. Разработку вообще. Порты то такое.


Не умеешь, ниасилил асма и железа - сиди, молчи.Вот здесь начинаются глубокие подростковые комплексы. Я умею. Ты нет. Я хороший. Ты плохой. Давайте все навалимся на чужака. Он думает не как мы.
Я вообще зарабатываю программингом всю жизнь. Да. Вот ни много, ни мало, всю. В том числе и на ассемблере. А тут приходят утырки и начинают мне рассказывать, что я не знаю ассемблера, ниасилил железа. А ты чего асилил? Может ты владеешь апи и машкодами всех платформ? Нет, главное наехать. Я хороший. Ты плохой. Тебя в классе девочки не любили и в детстве мама мало по голове гладила? Чего такой унылый?


Иди, кодь качественные примеры на оберончиках.Качественные – это чтобы кого-то переплюнуть? Иди сам себя обплюй. Неинтересно.


интересны они именно тем, что разные - зачем ты на них хочешь видеть одинаковые ограниченные порты?Фух. Устал объяснять дураку.


а вот если понимал бы железоМля. Я кодю для различных платформ. Это значит, что я понимаю как устроено то или сё. А ты заладил одно и то же – не понимаешь железо, не понимаешь железо. А ты понимаешь железо? Может у тебя это последняя радость в жизни?


сейчас точно на 200 целевых платформах такое нужно?Если такое есть – значит кому-нибудь такое интересно. В отличие от, например, твоих поделий. О которых я кстати не слышал. Ты пришёл голословно со своим суперзнанием железа.
Текстовые нужно. Графические не нужно. Ты странный, странно рассуждаешь, делаешь странные выводы. В плохом смысле. Лень это всё комментировать.


в интересах кроссплатформенности - однозначно лучше текстовыеТа мля. Сам текстовые пиши. И отстаньте уже от меня.

Lethargeek
06.01.2026, 16:33
Мля. Я кодю для различных платформ.
"...такая ерунда получается" (c)


Это значит, что я понимаю как устроено то или сё.
"то да сё" - замечательно свой уровень оценил))


Если такое есть – значит кому-нибудь такое интересно. В отличие от, например, твоих поделий. О которых я кстати не слышал.
да поняли уже все, поняли, что ты в принципе мало о чем слышал (зато всё знаешь)))


Текстовые нужно. Графические не нужно. Ты странный, странно рассуждаешь, делаешь странные выводы. В плохом смысле. Лень это всё комментировать.
сказал странный чел, кому нужно худшие графические


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

jerri
06.01.2026, 18:26
Сам Оберон больше крутился в специфических окружениях.


Ну а нафига ты оберон из специфических окружений тащишь в узкоспециализированную область?

Кувалдой болты не закручивают.

Oleg N. Cher
06.01.2026, 20:28
"то да сё" - замечательно свой уровень оценил))Это называется скромность. Не слышали?

В ваших утырочных кругах же принято вываливать письку список прямо на стол?

Вот моя игра SeaFight 1997 года:

https://viva-games.ru/game/sea-fight

Я писал её в 1996-1997 где-то около 7 месяцев. И тогда уже понял, что ассемблер это пропасть, и я так разрабатывать не хочу. С тех пор мои взгляды на разработку эволюционировали, а твои, как мы видим, как воз и ныне там.

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

Можно придраться, что асм я знал плохо. Ну так это было почти 30 лет назад. Как на своё время - игра очень даже ничего. Не надо требовать от крепкого барда умений гитариста-виртуоза. Он в другой весовой категории.

Так что предлагаю тебе извиниться за клевету.


Не умеешь, ниасилил асма и железа - сиди, молчи.

Shiny
06.01.2026, 20:57
Взял бы и написал других программ. Например, Millfork не умеет во float, а эта среда могет с фракталами. А вот вам Hilbert Curve.
Или пару задачек - fzzbuzz, spigot.

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


Это называется скромность. Не слышали?

В ваших утырочных кругах же принято вываливать письку список прямо на стол?

Вот моя игра SeaFight 1997 года:



Классно вывалил - на сайте бордерный выхлоп и писк.

Oleg N. Cher
06.01.2026, 21:24
Где-то была пофикшенная версия (https://vtrd.in/full_ver/SEAF_OC.zip). Оригинал под Орель БК-08 с расширенной памятью.

Millfork и PL/M интересны, но я пас. Оберон даёт большую переносимость между ретро-платформами.

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

Что было прогрессивного в моей игре на тот момент?

Турбо-загрузчик с ленты (игра на всю память загружалась за пару минут вместо 5-6) (дисковода у меня не было)
Многоголосая биперная музыка (AY у меня не было)
Возможность играть до 5 человекам (по очереди, но соревнуясь между собой)
Речевые эффекты. В игре звучит мой оцифрованный голос
Морской бой и мини-игра "охота на подлодку"
В охоте на подлодку артефакты перемещения курсора - не глюк. Так задумано. Символизирует экологический кризис ;)

Это навскидку, может ещё что-то было.

jerri
06.01.2026, 22:09
Где-то была пофикшенная версия (https://vtrd.in/full_ver/SEAF_OC.zip). Оригинал под Орель БК-08 с расширенной памятью.


мусор на бордере тут лишний. Но понимаю.



Что было прогрессивного в моей игре на тот момент?


жаль нет возможности отключить всю эту... красоту.

Lethargeek
06.01.2026, 22:49
Это называется скромность. Не слышали?
это называется наглость - предъявить очередные крестики-нолики (ну хотя бы с графикой и оцифровками в этот раз)) и на этом основании раздавать указания космического масштаба


писал её в 1996-1997 где-то около 7 месяцев. И тогда уже понял, что ассемблер это пропасть, и я так разрабатывать не хочу.
то есть, как и было сказано - ниасилил
могу сделать скидку на неразвитые неудобные инструменты
но скидку только на то время, не современность


С другой стороны здесь можно придраться, что игра-де плохая. Но ты сначала её загрузи и посмотри.
загрузил и посмотрел - да, плохая, но совсем не потому, что уровень асма, а просто кровь из глаз, ушей и кончиков пальцев :D


Можно придраться, что асм я знал плохо. Ну так это было почти 30 лет назад.
нет, к тому, что ты, похоже, даже не представляешь, что такое - знать его "хорошо"
и почему это знание обязательно включает больше, чем сам ассемблер


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

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

Oleg N. Cher
07.01.2026, 03:17
Я не агитирую за оберончики вместо асма. Я агитирую за оберончики вместе с асмом.
Подумал: если утырок извинится, это будет говорить о том, что он за правду. А если нет, то это про корону. Я понимаю, тяжёлая юность, старшаки в подворотнях отбирали мелочь, одноклассники унижали перед девочками. Вот вы и нашли себе нишу, забились в неё и цари-цари. А мне это нафиг надо. Утырочные писькомерные тусовки - это не моё.

Я был довольно оторван от спековской тусы. Я жил/живу в селе, здесь спектрумистов не было. Период разработки SeaFight - это период уединения. Всё познавалось по распечаткам, полученным через дядю с завода ЮМЗ. В 1998-м у меня появился пейсюк и дальше - фидо и общение. Я ещё тогда написал тулзу, чтобы перегнать свои разработки со Спека в PC. Ещё до того, как появился доступ к существующему спеко-софту. А на Спек 128К я тогда только облизывался.

Где-то должен быть мой компилятор QuickForth на кассетах, которые я отдал Калантаю. Форт был нативный, компилил в машкод, но сейчас это уже вряд ли будет кому-то интересно.

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


Ну а нафига ты оберон из специфических окружений тащишь в узкоспециализированную область?Чувствую его более широкую применимость, чем была во времена Вирта. Хороший ведь язык.

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


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

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

Убить гада, который любит Морской бой и сделал его, как смог. И неплохо ведь сделал, но на всех не угодишь.

В целом, прогресс от "ты не знаешь железа и асма" до "ты даже не представляешь что значит знать железо и асм". И раз не лезешь соревноваться с Грачёвым и Зосей - значит не пацан. Всё, пацаны, расходимся.

Shiny
07.01.2026, 15:19
Подумал: если утырок извинится, это будет говорить о том, что он за правду. А если нет, то это про корону. Я понимаю, тяжёлая юность, старшаки в подворотнях отбирали мелочь, одноклассники унижали перед девочками. Вот вы и нашли себе нишу, забились в неё и цари-цари. А мне это нафиг надо. Утырочные писькомерные тусовки - это не моё.


Ты безнаказанно оскорбляешь собеседников и поливаешь дерьмом тех, кто имел несчастье с тобой связаться - чего ты хотел?
Eat that ripe/бриташкинская поговорка/

Lethargeek
07.01.2026, 16:02
Я не агитирую за оберончики вместо асма. Я агитирую за оберончики вместе с асмом.
Вместо асма. Потому что времени на асм будет меньше, а полезных результатов больше не станет.


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


Убить гада, который любит Морской бой и сделал его, как смог. И неплохо ведь сделал, но на всех не угодишь.
плохо сделал - и качество кода, малоопытность и недостатки инструментов тут ни при чём
игра выглядит просто поводом напихать побольше разных эффектов - "смотрите, как я могу!"
а что юзверей бесят паузы и много лишних телодвижений - мысли в юной головёнке не возникало
zero usability, зато "new COLOSSAL technology & near MULTIMEDIA", my ass

Shiny
07.01.2026, 17:32
Оберончики вместе с асмом плохо сопоставляются с платформами.

Oleg N. Cher
07.01.2026, 19:43
Нормально они сопоставляются. Не хуже бейсиков.


Ты безнаказанно оскорбляешь собеседников и поливаешь дерьмом тех, кто имел несчастье с тобой связаться - чего ты хотел?Я-то? А ты давно в зеркало смотрел? Вы же ведёте себя как гопота. Я просто хотел приобщить интересующихся к разработке ассемблерных процедур. А столкнулся с кучей подростковых комплексов и требований: "делай то, не делай сё".

Кто тебе мешает, кстати, реализовать самому плавучку в виде процедур для Millfork? Ты же у нас мастер по 6502. Типа.

Денис Грачёв никогда бы не опустился до того, чтобы унижать людей, которые недотянули до его игр. Вы, святая троица, понимаете куда я клоню?

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


а что юзверей бесят паузы и много лишних телодвижений - мысли в юной головёнке не возникалоХорошо. Я пишу игры плохо. Я где-то кричал, что я супер-пупер игродел? Это же вы постоянно кричите. Утырочно.

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

Lethargeek, вопрос не про юзабилити моей игры, а в том, что я знал железо и асм ещё в 1997-м. То железо, что у меня было, и тот асм. Знал его достаточно нормально, чтобы сделать что-то на тот момент значительное.

Но раз вы такие борцуны за идеальное знание асма, уровень "бог", почему ещё не зачмурили yevrowl? Вы видели его игры? А почему ещё не заплевали Beaver'а? Его "Злые пещеры" - это ж крестики-нолики. Будьте уже последовательны. Ваша задача - избить ногами каждого форумчанина за то, что он по качеству игр недотягивает до Зоси.

Но нет. Вы пристали именно ко мне. Всё остальное в ваших мозгах как-то уживается. Вот почему я говорю - утырочные утырки. Гопота.

jerri
07.01.2026, 19:59
Хорошо. Я пишу игры плохо. Я где-то кричал, что я супер-пупер игродел? Это же вы постоянно кричите. Утырочно.


вот видишь. Ты это признаешь.

но когда тебе говорят что твои решения с Обероном и ПЛ/М для создания игр на спектруме, атари, комодоре НЕ подходят, ты почему то называешь всех "утырками".

Oleg N. Cher
07.01.2026, 20:02
Бейсик подходит, ассемблер подходит, а всё остальное не подходит. Понятно.

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

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

Black Cat / Era CG
07.01.2026, 20:17
А почему ещё не заплевали Beaver'а? Его "Злые пещеры" - это ж крестики-нолики.Просто они изначально и намеренно написаны а) для Радио-86РК, б) на Бейсике. Когда делали версию под спек, решено было не использовать графику, кроме "символа" главного героя. И да. Это не всем понравилось, но это было авторское решения (Бобра, как автора оригинала и Реобне, как основного автора порта емнип). Думаю, подобные игры можно писать на Обероне, при условии, что найдутся желающие.

Lethargeek
07.01.2026, 20:35
Хорошо. Я пишу игры плохо. Я где-то кричал, что я супер-пупер игродел? Это же вы постоянно кричите. Утырочно.
вот сейчас на что ты так утырочно обижаешься? мой камент был на конкретное "неплохо", без супер-пуперов


Lethargeek, вопрос не про юзабилити моей игры, а в том, что я знал железо и асм ещё в 1997-м. То железо, что у меня было, и тот асм. Знал его достаточно нормально, чтобы сделать что-то на тот момент значительное.
ну это как в начальной школе азбуку выучить, а потом раздавать советы с важностью Льва Толстого
вопрос в том, почему ты с оберончиками лезешь в ЛЮБУЮ тему, в том числе за рамки их применимости
предлагал бы, скажем, для портирования пазлов - тогда вряд ли возражений нашлось бы много
но нет, блин, надо же утырочно подковать каждую блоху, а то что подковы лежат без дела
а кто скажет, что блоха тогда не сможет прыгать - тот "утырочный утырок и гопота"
:v2_dizzy_facepalm:

Oleg N. Cher
07.01.2026, 20:43
Думаю, подобные игры можно писать на Обероне, при условии, что найдутся желающие.Всё верно. Но по мнению Летаргика, такие игры маздай.
А мне, кстати, "Злые пещеры" понравились. Люблю крестики-нолики, особенно переносимые.

Вопрос в другом. На форуме есть очень уважаемые спектрумисты, которые отнеслись ко мне очень доброжелательно. У меня возникли вопросы к Грачёву - я с ним пообщался. Также с Пыхониным, с Зиминым. Всё отлично. А эти ребята знают асм/железо уж во всяком случае не хуже знатной троицы. Не буду также перечислять остальных, с кем общение вполне адекватное.

Но вот эти трое господ, им что-то неймётся. Задрали своим очень ценным мнением, которое у них не спрашивали. Делай так, не делай сяк. Интересуйся ассемблером. Не пиши на Обероне. Я вообще-то последние несколько лет кормлюсь написанием софта на Обероне. А то, что это не подойдёт для Коммодора. Так есть масса других платформ, более подходящих для Оберона. Делов-то.

Между прочим, я написал Laser2 (https://zx-pk.ru/threads/26921-laser-basic-2.html)! А это вам не хухры-мухры :)
Пусть попробуют сократить на пару тактов/байт, раз такие умные.

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


почему ты с оберончиками лезешь в ЛЮБУЮ тему, в том числе за рамки их применимостиДля Shamus'а вполне хватило бы, кстати.

А ты со своими тараканами не лезешь в любую тему, где их и разводишь, не?


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

jerri
07.01.2026, 20:47
Бейсик подходит, ассемблер подходит, а всё остальное не подходит. Понятно.



Если ТЫ считаешь что подходит, то ТЫ можешь использовать.
но ТЫ так не считаешь, ТЫ считаешь что кто-то ДРУГОЙ ДОЛЖЕН.

Это очень по утырочному, не находишь?

Oleg N. Cher
07.01.2026, 20:49
Это утырочно сформулировано и утырочно понято. Не спорю.

Видишь ли, джерри. Твоя деятельность по завоеванию Олимпа и добыванию эндорфинов не подразумевает привлечение на свою сторону единомышленников. А я изначально задумывал свою среду XDev как хорошо поддерживающую побольше ретро-платформ, что мне, очевидно, не по силам. А остальным не надо. Ну не надо и не надо, фиг с вами.

Shiny
07.01.2026, 21:15
Кто тебе мешает, кстати, реализовать самому плавучку в виде процедур для Millfork? Ты же у нас мастер по 6502. Типа.

Денис Грачёв никогда бы не опустился до того, чтобы унижать людей, которые недотянули до его игр. Вы, святая троица, понимаете куда я клоню?


Как говорил мой приятель - нас посетили крупные эксперты в области ассемблера. 6502 понюхай сначала, потом учи, что делать.

Куда ты клонишь? Напомнить, как ты начинал на форуме? Хамство в ПМ, которое заканчивалась "Иди в ж.пу". Скриншотик переписки не сохранился, а то бы я твою память резко освежил.

Сам кашу заварил, сам и хлебай.

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



Для Shamus'а вполне хватило бы, кстати.

лолшто? sdcc путный код не выдает.

Oleg N. Cher
07.01.2026, 21:19
Ты видел от меня ничем не мотивированную агрессию в твой адрес? Да ты себя просто не видишь. От тебя тонны гумна. Рассказать как ты мою страничку ВК пришёл изгадил?

6502 это три восьмибитных регистра: X и Y и аккумулятор. 16-битные операции делаются по половинкам. Раз ты не можешь осилить плавучку для такого на асме, то надо найти дурачка, чтобы тот попытался, а потом его попинать, что ой всё плохо. В этом весь ты.

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


лолшто? sdcc путный код не выдает.И, тем не менее, этого хватит. Shamus ведь. А про zsdcc что-нить слышали?

А вот PL/M или Millfork'а точно хватит.

Shiny
07.01.2026, 21:38
Рассказать как ты мою страничку ВК пришёл изгадил?

Будешь фильтровать базар в следующий раз. Каписко?



6502 это три восьмибитных регистра: X и Y и аккумулятор. 16-битные операции делаются по половинкам. Раз ты не можешь осилить плавучку для такого на асме, то надо найти дурачка, чтобы тот попытался, а потом его попинать, что ой всё плохо. В этом весь ты.

Ты бы не скакал поверхностно, а почитал матчасть немного - реализация FP на 6502 использует 32бит, а не три 8-битных регистра.

"дурачок", который попытался исправить Millfork, самоустранился. Да и какая тебе разница? Тебе оберон мил и ничего другого.

Oleg N. Cher
07.01.2026, 21:46
Будешь фильтровать базар в следующий раз. Каписко?Это ты будешь. Впрочем, это выше твоих сил.


Ты бы не скакал поверхностно, а почитал матчасть немного - реализация FP на 6502 использует 32бит, а не три 8-битных регистра.Пофиг.

А почему ты не заюзаешь что-то из готового? Не верится, что никто ничего не написал.

А зачем именно впихивать плавучку в язык и компилятор? Библиотечно нельзя заюзать?


"дурачок", который попытался исправить Millfork, самоустранился.Раз самоустранился, значит не такой уж и дурачок. Умный чел. Не стал тратить своё ценное время.


Да и какая тебе разница? Тебе оберон мил и ничего другого.Именно. Тем более, компилер Millfork'а на языке Scala. Поверх JVM. Бутерброд гибридный. Аж страшно.

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

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

И заботливые борцуны не пришли ему рассказать как это всё ой плохо.

jerri
07.01.2026, 22:20
Для Shamus'а вполне хватило бы, кстати.


:v2_dizzy_facepalm: Шамус динамичная игра.

Oleg N. Cher
07.01.2026, 22:20
BolderDash тоже. И что?

jerri
07.01.2026, 22:44
BolderDash тоже. И что?

Болдер даш это клеточный автомат.

Это пустой разговор.

Ты слишком туп чтобы понять то, что я тебе тут говорю.
Писать ты тоже не собираешься. Поэтому спорить не можешь. Аргументов у тебя нет.
Dixi.

Lethargeek
08.01.2026, 00:01
Для Shamus'а вполне хватило бы, кстати.
без единого близкого динамичного примера это заявление не более чем утырочный трындёж, кстати

хотя... если речь про дополнительный "минус первый" уровень сложности - ПОШАГОВЫЙ - точно хватит! :v2_dizzy_biggrin2:

если так, то поздравляю, ты подебил! :v2_clapp:

Andrew771
08.01.2026, 00:54
Хорош спорить, мы всё равно на днях опять отстали. Вот что нашел только что:



PASTA/80 — это современный кросс-компилятор языка Паскаль, выпущенный в конце 2025 года (версия 1.0 ожидалась к концу 2025 года) и предназначенный для разработки программ под процессоры Z80.
Основные характеристики
Совместимость: Проект является функциональным клоном легендарного Turbo Pascal 3.0.
Целевые платформы: Компилятор генерирует машинный код для классических и современных систем на базе Z80:
ZX Spectrum 48K / 128K.
ZX Spectrum Next (разработка началась именно после получения автором этой машины).
Системы под управлением CP/M.
Технические особенности:
Однопроходный компилятор: Использует метод рекурсивного спуска (в духе Никлауса Вирта) и генерирует код «на лету» без построения промежуточного дерева синтаксиса, что обеспечивает очень высокую скорость сборки.
Поддержка оверлеев: Позволяет создавать крупные программы, превышающие объем оперативной памяти 8-битных машин.
Интеграция: Поддерживает вставки на ассемблере (inline assembly) и базовую отладку.
Лицензия: Распространяется под лицензией GPL с исключением для линковки, что позволяет свободно распространять скомпилированные бинарные файлы.
Использование
PASTA/80 работает как консольная утилита на современных ПК, но имеет минималистичный пользовательский интерфейс, напоминающий классическую среду Turbo Pascal. Он также может интегрироваться с Visual Studio Code, используя его встроенный терминал и редактор.
Автор проекта — Йорг Плойманн (Jörg Pleumann). На начало 2026 года компилятор считается стабильным и активно используется сообществом для создания новых игр и инструментов для ретро-компьютеров.
Кто-нибудь смотрел уже? А может уже и написал что-то? :v2_dizzy_roll:

Shiny
08.01.2026, 06:10
Хорош спорить, мы всё равно на днях опять отстали. Вот что нашел только что:
Кто-нибудь смотрел уже? А может уже и написал что-то? :v2_dizzy_roll:

Как раз вчера видел, осталось скомпилировать. Пугает сама кодогенерация.

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


А почему ты не заюзаешь что-то из готового? Не верится, что никто ничего не написал.

Не было необходимости.

Сложно все с этой реализацией. В cc65 тип был сделан, но потом выкинут.Версия есть в Oric SDK.

jerri
08.01.2026, 06:32
Andrew771, Ну кто кроме тебя то?

Shiny
08.01.2026, 08:53
скомпилировал, дальше сами:
https://disk.yandex.ru/d/zM82lGjF9j88eA

andrews
08.01.2026, 12:07
64 битная версия, у меня не работает.

Shiny
08.01.2026, 13:18
64 битная версия, у меня не работает.

это 32бит. Скомпилируй x64 сам

Oleg N. Cher
08.01.2026, 15:35
Болдер даш это клеточный автомат.Ты будешь спорить с тем, что это динамическая игра?


Писать ты тоже не собираешься.А почему я должен делать то, что нравится тебе? А не наоборот? Пустой разговор, аргументов у тебя нет. Dixi.

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


Ты слишком туп чтобы понять то, что я тебе тут говорю.Туп в чём? В той нише, где ты царь-царь? А тебе не приходило в твою утырочную голову, что я могу разбираться в куче вещей, где ты вообще ни в зуб ногой? Не говоря уже о том, что до такого стиля общения, как у тебя, многие на форуме не опустились бы. Что прекрасно тебя характеризует. Если человек гумно, то мне уже не очень интересно чего он там делает и каким способом надувает щёки для самовосхваления.

Слушай, жерри. Я не предлагаю писать вывод спрайтов на Обероне или на PL/M. И никогда не предлагал. Но для обсчёта простой логики Shamus - скорости вполне хватит. И если бы ты не был так зациклен на своём стиле разработки, а для разнообразия изредка смотрел бы и по сторонам, то может и захотел бы попробовать что-то новое.

andrews
08.01.2026, 15:52
это 32бит. Скомпилируй x64 сам
сорян, что-то в прошлый раз не запустился, а теперь запустился просто сказал, что pasta.cfg not found.

Кстати, PL/M-80 имеет крутую оптимизацию для 8080( для операционок ISIS-II и RMX-80- эта версия впрочем недоступна), но версии для z80 с расширенными регистрами в природе не существует,
или утрачена. Но он очень старый(исходники на FORTRAN тупо сконвертированные на С) и для использования для ZX-Spectrum пришлось ведь исхищряться. Не говоря уже о том, что никаких библиотек не создано для ZX Spectrum.

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


Я не предлагаю писать вывод спрайтов на Обероне или на PL/M
на PL/M-80 можно что угодно. Там и макросы, и структуры, и реентерабельность. Работает с памятью и с вводом/выводом. Только у нас его никто не знает - так как это инструмент использовался в СССР до 1986 года, а потом все перешли на С.
Для TR-DOS его не использовали, только для ISIS-II и, может быть, для CP/M. А был даже и PL/M-86.

Shiny
08.01.2026, 16:30
Но для обсчёта простой логики Shamus - скорости вполне хватит.

для вывода спрайтов врагов скорости может не хватить. Если идти по пути портирования, то при отрисовке анимированных стенок получится полная пошаговая стратегия.

Oleg N. Cher
08.01.2026, 16:35
но версии для z80 с расширенными регистрами в природе не существуетЭто верно. К сожалению.


Но он очень старый(исходники на FORTRAN тупо сконвертированные на С)То, с чем работает Андрей Немо - это сконвертированный с PL/M на Си компилятор версии 4.0. Не с Фортрана. А версия на Фортране более древняя.


Не говоря уже о том, что никаких библиотек не создано для ZX Spectrum.Есть наработки в ZXDev, их можно заимствовать. Вывод спрайтов, тайлов, плееры и прочее. Не говорю, что всё оригинальное. Кое-что и позаимствовано. Но ассемблер есть ассемблер. С PL/M отлично стыкуется.

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


для вывода спрайтов врагов скорости может не хватить. Если идти по пути портирования, то при отрисовке анимированных стенок получится полная пошаговая стратегия.Неужто Shamus настолько динамичный? Хм.

Ладно. Тогда давайте на ассемблере. Потом захотите портировать на Вектор, будет интересно. Потом на Корвет. Потом на Специалист. Потом на ПК8000. Если руки дойдут. Обычный ассемблерный стиль.

Lethargeek
08.01.2026, 16:40
не предлагаю писать вывод спрайтов на Обероне или на PL/M. И никогда не предлагал. Но для обсчёта простой логики Shamus - скорости вполне хватит. И если бы ты не был так зациклен на своём стиле разработки, а для разнообразия изредка смотрел бы и по сторонам, то может и захотел бы попробовать что-то новое.
Так простую-то логику и на асме сделать несложно будет. И на отрисовку спрайтов тактов больше останется. И не нужно будет зря тратить время на изучение полумёртвых языков, освоение избыточных инструментов и стыковку разнородных частей проекта. Если бы ты не был так зациклен на своих оберончиках, то давно и сам бы это сообразил.

andrews
08.01.2026, 17:06
То, с чем работает Андрей Немо - это сконвертированный с PL/M на Си компилятор версии 4.0
а оптимизаторы оригинальные там остались? Если да, хорошо бы выбор платформы внутрь компилятора убрать. Ну или в макросы. Худший вариант в библиотеки. То, что я попробовал в свое время было с "внешними костылями".

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


зря тратить время на изучение полумёртвых языков
врачи латынь учат? историки латынь и древнегреческий? 8-битники тоже полумертвые? Тогда гармония. Например, помнить, у какого компа на 8080 где CO и CI уже запарно. А уж как у кого графика и музон устроены - тем паче. Может конечно DS в помощь - но я не пробовал.

Oleg N. Cher
08.01.2026, 17:42
Если бы ты не был так зациклен на своих оберончикахНу вот что поделать, мне именно такое интересно. :) Вам Shamus и коронарные потуги, мне оберончики.

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


а оптимизаторы оригинальные там остались?Конечно остались. Код очень приличный, Си и рядом не валялся. Я почему смело советую PL/M. Это отлично, если не хочется сильно много писать на асме. Тоже способ разработки


Если да, хорошо бы выбор платформы внутрь компилятора убрать.Так а какой там выбор платформы в компиляторе? Народ же уже заточил на Пальмиру и ПК8000. Так что не всё так плохо. :)


врачи латынь учат? историки латынь и древнегреческий? 8-битники тоже полумертвые?Кстати, да. Оберон это основы. Чистый, минимальный язык. Если надо расширений - их завезли в мой собственный диалект Оберон-3, адаптированный для разработки под ретро-платформы.

andrews
08.01.2026, 19:25
Народ же уже заточил на Пальмиру и ПК8000
ссылку можно?

Andrew771
08.01.2026, 19:36
скомпилировал, дальше сами:
https://disk.yandex.ru/d/zM82lGjF9j88eA
спасибо!
Еще sjasm нужно поставить? А то без него файл *.z80 такой компилирует для примера animals.pas:


; program C:/Users/Andrew/Downloads/pasta80-master/animals.pas

ZX: equ 1 ; Target is ZX Spectrum 48K
device ZXSPECTRUM48, $7FFF
org $8000
TEXT: jp __init
LIMIT:

Shiny
08.01.2026, 19:41
спасибо!
Еще sjasm нужно поставить? А то без него файл *.z80 такой компилирует для примера animals.pas:


Да, но нужно какая-то старая версия с savetap

Lethargeek
08.01.2026, 20:37
врачи латынь учат? историки латынь и древнегреческий?
они учат, без чего им НЕ ОБОЙТИСЬ - то есть в профессиональной сфере языки живы
тут они как раз скорей аналог ассемблера - понимать классические исходники и новые открытия совершать


8-битники тоже полумертвые?
совсем мёртвые, но потом восставшие из могил пожирать мозги любителей ретро :D


Тогда гармония.
если какбэ современному языку мучительно ищут место хоть в ретро-нише - это не особо льстит языку

Oleg N. Cher
08.01.2026, 23:18
если какбэ современному языку мучительно ищут место хоть в ретро-нише - это не особо льстит языкуСформулировано утырочно.

Надо так: поскольку на Обероне прикольно писать, дай напишу на нём и для ретро и посмотрю что получится.

А мучительно - это когда ты мучительно ищешь корону на своей голове, хотя её видно только самому соискателю. Граничит с паранойей.

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


ссылку можно?Ссылку на что? На тулчейн? Вот:

https://github.com/MrDemonid/PL-M-80-Tools

Игры:

https://github.com/MrDemonid/Dvigalka-PK8000
https://github.com/MrDemonid/Bolder-Dash-PK8000
https://github.com/vpyk/palmira-stuff/tree/main/games

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

https://zx.oberon.org/forum/viewtopic.php?f=88&t=305

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

Вы, святая троица. Что вы так вцепились в ассемблер и свои игры/демки? Мир ретро-разработки многогранен, он отнюдь не ограничивается победами на конкурсах и высмеиванием всех, кто "не дотягивает". Здесь полно нелепых поделок, навеянных книгой "Как разработать игру для ZX Spectrum", в конце концов, есть много реализаций ЯП для разработки под ретро-платформы. Могут быть эти ЯП областью интересов? Могут. Не, давай ассемблер-игры. Вот мы смогли, а ты нет. Делай как мы. Но я не такой же, как вы. И никогда таким не буду.

Я, в конце концов, даже не против ассемблера, а против его традиционного представления. Ещё во время разработки SeaFight я интуитивно понимал, что мне хочется писать HL+HL, а не ADD HL, HL. Ну вот прелесть же (язык А.Морозова для PDP-11):


ORG 01000;

EntryPoint:
// Инициализируем стек
SP = #16384;

// Включаем режим экрана 256x256
R0 = #0233;
EMT 016;

// Отключение курсора
R0 = #0232;
EMT 016;

// Выключаем прерывание клавиатуры
@#0177660 = #64;

// Очистка экрана
clearScreen();

x = #0;
y = #0;
dx = #1 ;
dy = #1 ;
p = #0 ;

do {
// Получаем координаты для вывода на экран
R0 = #16385;
R1 = x >> #2;
R0 = R0 + R1;
R1 = y << #6;
R0 = R0 + R1;

// Рисуем квадрат текущим цветом
R2 = #32;
do {
R3 = p ;
(R0)+ = colors(R3);
(R0)+ = colors(R3);
(R0)+ = colors(R3);
(R0)+ = colors(R3);
R0+=#56 ;
} while(R2--);

// Двигаем квадрат
if (dx==#1) { x+=#4 ; } else { x-=#4 ; };
if (dy==#1) { y+=#4 ; } else { y-=#4 ; };

// Отражение от стен
if (x==#220) dx=#0 ;
if (y==#200) dy=#0 ;
if (x==#0) dx=#1 ;
if (y==#0) dy=#1 ;

// Смена цвета по кругу
cnt++ ;
if (cnt==#60) {
cnt=#0 ;
p++;
if (p==#6) p=#0 ;
};

// Задержка
R2 = #2000 ;
do {
ASM NOP ;
} while (R2--) ;
} while (#128 & @#0177660 == #0);

ASM HALT ;

clearScreen:
R0 = #16385;
R2 = #2048;
do {
(R0)+ = #0;
(R0)+ = #0;
(R0)+ = #0;
(R0)+ = #0;
} while(R2--);
return;

p: dw 0;
cnt: dw 0;
x: dw 0;
y: dw 0;
dx: dw 0;
dy: dw 0;
colors: dw 65535,43690,21845;
endOfROM:

make_bk0010_rom "bk0010_demo.bin", EntryPoint, endOfROM;
Почему вы не выработали что-то подобное, а продолжаете пользоваться МЕТКА: КОМАНДА; КОММЕНТАРИЙ? Это же отстойно. Вам нравятся исходники на 400 Кб, где чёрт ногу сломит? Вам нравится, что кусок кода на 50 строк надо разбирать полчаса? Та вы первые, написавшие тонны кода, должны понять всю неестественность такого подхода.

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

Если кому-то интересно, я подрезюмирую находки, которые мне попадались на этом поприще.

Lethargeek
09.01.2026, 02:31
Сформулировано утырочно.

Надо так: поскольку на Обероне прикольно писать, дай напишу на нём и для ретро и посмотрю что получится.

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


Я, в конце концов, даже не против ассемблера, а против его традиционного представления. Ещё во время разработки SeaFight я интуитивно понимал, что мне хочется писать HL+HL, а не ADD HL, HL. Ну вот прелесть же (язык А.Морозова для PDP-11):
нахрена? что за мания вводить утырочные лишние сущности?
восьмибитный асм тем и хорош, что выучить и помнить надо очень мало, дальше можно просто свободно думать
макрами накрутить абстракций сколько захочешь, "прелести" на самом низком уровне бесполезны


Только не надо про макро-асмы и прочие ужасмы. Там та же муть, не решающая основные проблемы - громоздкость, маловыразительность, малопонятность.
ну, не надо, так не надо - если ты опять что-то ниасилил - твои проблемы :p


А код, в основном, читают, а не пишут.
это верно лишь для современного bloatware на огромном зоопарке конфигураций, которое недоделанным выпускают, а потом "поддерживают" годами
в ретро и проекты проще, и совместимость лучше, и возможности отладки намного выше - софт к законченному виду быстро приводится

Oleg N. Cher
09.01.2026, 02:35
ну и писал бы, чем вот так без конца утырочно галлюцинировать о коронахЯ бы и не галлюцинировал, но вот:

если ты опять что-то ниасилил - твои проблемы :p"Я асилил, ты ниасилил, я в короне, ты не в короне". В конце концов, кому здесь папа купит мопед.


нахрена? что за мания вводить утырочные лишние сущности?Примерно так и думал, что ты не поймёшь. Ну сиди, дальше ройся в песочке.

Lethargeek
09.01.2026, 02:44
"Я асилил, ты ниасилил, я в короне, ты не в короне". В конце концов, кому здесь папа купит мопед.
"я асилил" это не "корона", это нормально - раз то же самое асилили очень многое
ненормально, что тебе нормальность "короной" кажется))

Hunta
09.01.2026, 02:45
громоздкость, маловыразительность, малопонятность.


PROCEDURE MULBLK
BEGIN
LET R0 := BLKBEG
LET R2 := CAPTR
LET R3 := ACTCNT

THRU R3 ; blocks count

; INIT
LET R4 := (R2) ; block words count
IF RESULT IS NE THEN
LET R5 := 2(R2) ; first word command pointer
THRU R4
LET (R0)+ := (R5)+ ; copy next block
END
ELSE
LET (R0)+ := #NOP
END

IF APHASE NE #0 ; if not init calculating

; ACTION
LET R4 := 4(R2)
IF RESULT IS NE THEN
LET R5 := 6(R2) ; first word command pointer
THRU R4
LET (R0)+ := (R5)+ ; copy next block
END
END

END

END

LET (R0)+ := (PC) ; and return at end
RETURN
END MULBLK

Oleg N. Cher
09.01.2026, 02:49
Отлично, отлично. А где тонны софта на этом синтаксисе? Почему продолжают по старинке кодить? Удобнее наверное?

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


"я асилил" это не "корона", это нормально - раз то же самое асилили очень многое
ненормально, что тебе нормальность "короной" кажется))Нет, Летаргик. Многие "асилили", но не кичатся этим и не тычут пальцем, понимая, что все люди разные. Кому что легче даётся. Я уверен, что ты мой рабочий софт бы не вытянул. Тем более, со своими закидонами. Вы, кодеры ретро-маньяки, очень часто не видите дальше своего носа ассемблера.

Короной мне кажется не профессионализм и мастерство. А именно вот это тыканье. Я крутой. Ты некрутой. Иди делай как я. Это мерзко.