С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Andrew771(08.01.2026)
они учат, без чего им НЕ ОБОЙТИСЬ - то есть в профессиональной сфере языки живы
тут они как раз скорей аналог ассемблера - понимать классические исходники и новые открытия совершать
совсем мёртвые, но потом восставшие из могил пожирать мозги любителей ретро
если какбэ современному языку мучительно ищут место хоть в ретро-нише - это не особо льстит языку
Прихожу без разрешения, сею смерть и разрушение...
jerri(09.01.2026)
Сформулировано утырочно.
Надо так: поскольку на Обероне прикольно писать, дай напишу на нём и для ретро и посмотрю что получится.
А мучительно - это когда ты мучительно ищешь корону на своей голове, хотя её видно только самому соискателю. Граничит с паранойей.
- - - Добавлено - - -
Ссылку на что? На тулчейн? Вот:
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):
Почему вы не выработали что-то подобное, а продолжаете пользоваться МЕТКА: КОМАНДА; КОММЕНТАРИЙ? Это же отстойно. Вам нравятся исходники на 400 Кб, где чёрт ногу сломит? Вам нравится, что кусок кода на 50 строк надо разбирать полчаса? Та вы первые, написавшие тонны кода, должны понять всю неестественность такого подхода.Код: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;
Только не надо про макро-асмы и прочие ужасмы. Там та же муть, не решающая основные проблемы - громоздкость, маловыразительность, малопонятность. А код, в основном, читают, а не пишут.
Если кому-то интересно, я подрезюмирую находки, которые мне попадались на этом поприще.
ну и писал бы, чем вот так без конца утырочно галлюцинировать о коронах
нахрена? что за мания вводить утырочные лишние сущности?
восьмибитный асм тем и хорош, что выучить и помнить надо очень мало, дальше можно просто свободно думать
макрами накрутить абстракций сколько захочешь, "прелести" на самом низком уровне бесполезны
ну, не надо, так не надо - если ты опять что-то ниасилил - твои проблемы
это верно лишь для современного bloatware на огромном зоопарке конфигураций, которое недоделанным выпускают, а потом "поддерживают" годами
в ретро и проекты проще, и совместимость лучше, и возможности отладки намного выше - софт к законченному виду быстро приводится
Прихожу без разрешения, сею смерть и разрушение...
Код: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
Отлично, отлично. А где тонны софта на этом синтаксисе? Почему продолжают по старинке кодить? Удобнее наверное?
- - - Добавлено - - -
Нет, Летаргик. Многие "асилили", но не кичатся этим и не тычут пальцем, понимая, что все люди разные. Кому что легче даётся. Я уверен, что ты мой рабочий софт бы не вытянул. Тем более, со своими закидонами. Вы, кодеры ретро-маньяки, очень часто не видите дальшесвоего носаассемблера.
Короной мне кажется не профессионализм и мастерство. А именно вот это тыканье. Я крутой. Ты некрутой. Иди делай как я. Это мерзко.