crypt of decay - в преддверии посещения Ада занимаемся бесполезным [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

в преддверии посещения Ада занимаемся бесполезным [May. 21st, 2022|02:38 am]
Previous Entry Add to Memories Tell A Friend Next Entry
во-первых, потихоньку пиляю с нуля кросс-компилятор PL/M для Z80. пока стойко удерживаюсь от искушения плюнуть и сделать на SSA: пытаюсь как диды, с деревьями и кучей частных случаев. компилятор уже парзит код, делает семантический анализ, примитивную оптимизацию, и даже высирает совершенно уёбищный асм z80, который как-то компилируется и работает. надеюсь хотя бы в следующем месяце сделать «релиз типа tech demo».

практическая польза в этом та, что во-первых, PL/M — это красиво. на нём Гари CP/M писал. жест уважения Отцам, типа. а во-вторых, он лучше сишечки подходит для восьмибиток. потенциально — может делать код не хуже какого-нибудь SDCC, но с гораздо меньшими усилиями.


а во-вторых, решил тряхнуть стариной, и запилил за сутки на асме игровой движок для спектрума. в основном для платформеров, может в полный экран, спрайты с маской (не мерцают), и требует примерно 2.5 кб памяти. более-менее справляется с десятком спрайтов на экране и игровой логикой простого платформера на 17-20 фпс. это, если что, вполне приличный результат, тот же manic miner даже менее производительный, и не на полный экран к тому же. а я ещё даже толком оптимизировать не начинал. сырцы на днях выложу, думаю (лень симлинк делать, лол).


в принципе, потом можно совместить компилер и движок. будет поебня типа Charade, на которой наштамповали кучу совершенно уёбищных платформеров. и уж точно лучше AGD, у которого до сих пор спрайты без маски, по xor. тьфу, стыдоба.
Linkmeow!

Comments:
From:(Anonymous)
Date:May 20th, 2022 - 09:31 pm
(Link)
> PL/M

Выглядит как говно.
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 07:00 am
(Link)
beauty is in the eye of the beholder. плохо быть тобой, везде тебе говно мерещится.
From:(Anonymous)
Date:May 20th, 2022 - 10:19 pm
(Link)
лол искренне жалею, что незачем тебя нанимать.

представляю, что б ты накодил, если бы тебе за это еще и денег давали.

:)
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 06:57 am
(Link)
нихера. опытным путём выяснено, что если меня нанимать кодироваеть за бабло, то я или не работаю, потому что бабла ещё не дали, а в кредит не подаём, или не работаю, потому что бабла уже дали, и нафига теперь.
From:(Anonymous)
Date:May 21st, 2022 - 08:44 am
(Link)
ты идиот, что ли?
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 08:48 am
(Link)
нет ты
From:(Anonymous)
Date:May 21st, 2022 - 08:51 am
(Link)
бгг
[User Picture]
From:[info]dece
Date:May 21st, 2022 - 04:17 am
(Link)
АдЪ и ИзраильЪ, где жЫдЫ! ггг
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 06:58 am
(Link)
да! но жЫдЫ там в управлении сидят, а мы люди простые, мы к работягам…
[User Picture]
From:[info]steinkrauz
Date:May 21st, 2022 - 09:13 am
(Link)
А ты можешь вкратце рассказать, чем PL/M лучше Си для 8 бит?

Я слегка глянул, но ничего кроме более примитивных типов данных не нашёл.
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 10:50 am
(Link)
во-первых, типы данных, да. байт и слово, без знака. во-вторых, массивы только одномерные. а в-третьих, все функции по умолчанию не reentrant (то бишь, все локалы на самом деле статики, включая аргументы).

вот этот последний пункт особенно сильно бустит, потому что удобной и быстрой адресации по указателю стека ни в одной восьмибитке нет.
From:(Anonymous)
Date:May 21st, 2022 - 02:47 pm
(Link)
> все функции по умолчанию не reentrant

Based. Стекобляди идут нахуй.
[User Picture]
From:[info]steinkrauz
Date:May 22nd, 2022 - 07:51 am
(Link)
Ага, я подозревал, что организация функций должна быть более удобной, но конкретики сразу не нашёл. Официальные мануалы, на которые вики ссылается, это что-то с чем-то.
[User Picture]
From:[info]ketmar
Date:May 22nd, 2022 - 08:46 am
(Link)
эм… отличные мануалы, я по ним и пишу. PL/M-80, нормальный мануал же. что не так? ну, кроме того, что надо прочитать полностью, да.
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 10:52 am
(Link)
ну, и не относящееся к: сишечка — уебанское нечитабельное говнище. то, что мы кое-как к ней привыкли, не делает её хорошей: это такой line noise от мира компилируемых языков. мне PL/M больше нравится чисто эстетически (ну, я вообще больше люблю языки от дядюшки Вирта).
From:(Anonymous)
Date:May 21st, 2022 - 06:35 pm
(Link)
поясни за активный оберон
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 07:38 pm
(Link)
не поясню, потому что никогда особо не интересовался, как и что туда добавили.
[User Picture]
From:[info]steinkrauz
Date:May 22nd, 2022 - 07:53 am
(Link)
>ну, я вообще больше люблю языки от дядюшки Вирта
А почему тогда на том же паскале ничего не пишешь?
ЕМНИП, тот же fpc вполне себе адекватен для нынешних времён.
[User Picture]
From:[info]ketmar
Date:May 22nd, 2022 - 08:47 am
(Link)
я и писал. но категорически заебался постоянно руками транслировать всякие нужные хидеры с сишечки. оно уже под виндой заебло, а под никсами абсолютно остопиздело.
From:(Anonymous)
Date:May 21st, 2022 - 09:24 am
(Link)
В Manic Miner маленький fps из-за фоновой музыки (так предполагаю).
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 10:48 am
(Link)
нет. Мэтью использовал классический фоновый экран, который на каждой итерации полностью перекидывается в реал, и очень-очень медленно. и сами рисовалки там довольно ленивые. его спокойно можно разогнать с его ~12 FPS до 17.
From:(Anonymous)
Date:May 21st, 2022 - 11:26 am
(Link)
Что не отменяет того факта, что музыка отъедает много процессорного времени.
И в одном из бесчисленных модов JSW так и сделано: музыка идёт только через AY, а герой визуально двигается абсолютно плавно.
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 11:43 am
(Link)
да не отъедает она почти нихрена. даже если отдать ей треть кадра (что намного-намного больше, чем надо вообще), то времени жопой жуй. тормозит неэффективный виртуальный экран, и неэффективная печаталка спрайтов.
[User Picture]
From:[info]ketmar
Date:May 21st, 2022 - 11:44 am
(Link)
в принципе, я имею подозрение, что если это всё повыкидывать и сделать нормальные dirty rects, то вообще до 25 фпс спокойно разгоняется. только играть на такой скорости некомфортно, там же pixel-precise movement.
From:(Anonymous)
Date:May 21st, 2022 - 10:35 am
(Link)
В рашке будет актуально еще долго. Вырос спрос на 8битные консоли.
From:(Anonymous)
Date:January 30th, 2023 - 07:21 pm
(Link)
Ну, спектрумистов у нас дохуишша.
Что в рашке, что в украшке, что в беларашке.
На том стоим.

jah
From:(Anonymous)
Date:January 30th, 2023 - 07:21 pm
(Link)
Блин, так я тебе спрайты и не запилил.
Совсем забыл.

jah
[User Picture]
From:[info]ketmar
Date:January 31st, 2023 - 04:31 am
(Link)
ничего, тут такая хуйня, что оно сейчас точно терпит. ;-)