PDA

Просмотр полной версии : Плюк (Новая игра для Апогей БК-01Ц)



DenisGrachev
24.08.2024, 19:55
Творческое объединение "РетроСоулс" представляет новую игру для компьютера Апогей БК-01Ц
Это логический платформер где вам предстоит помочь Плюку выбраться из пещеры используя его возможность клонирования самого себя!


https://youtu.be/HsjKikHLrVU

Скачать:
https://www.retrosouls.net/apg/!plyuk.zip

Исходники:
https://github.com/DenisGrachev/PlyukApogey_BK01C

Beaver
24.08.2024, 20:53
Огонь!

Hammer
25.08.2024, 08:19
Я прям кайфанул!

jerri
25.08.2024, 08:21
DenisGrachev, для спека делать будешь?

Pyk
25.08.2024, 09:54
DenisGrachev, отлично сделано, спасибо за игру! Ничего такого уровня еще не было для Апогея, игра просто ставит новую планку качества софта для этой платформы :)
Первая мысль после запуска была: "Старая башня"? Но нет, это совсем другая игра... Позалипал вчера, но до конца не дошел. Сколько в ней вообще уровней?

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

DenisGrachev
25.08.2024, 11:00
DenisGrachev, отлично сделано, спасибо за игру! Ничего такого уровня еще не было для Апогея, игра просто ставит новую планку качества софта для этой платформы :)
Первая мысль после запуска была: "Старая башня"? Но нет, это совсем другая игра... Позалипал вчера, но до конца не дошел. Сколько в ней вообще уровней?

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

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


DenisGrachev, для спека делать будешь?

Нет, планов таких не было. Но пришлось бы сильно попотеть, самое близкое это движок глуфа, но там 12 тайлов ширина уровня а тут 15. Ну или по цветам урезаться без мультиколоров, короче та ещё задача, Апогей тут рулит :))

Pyk
25.08.2024, 23:46
Играть онлайн (https://online.emu80.org/?platform=apogey&run=catalog/apogey/plyuk.rka)

Fishbone
26.08.2024, 02:55
Вот это круть!!! Даже не вериться что Апогей на такое способен.

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

а как уровень перезапускать когда завалился?

SegaBoy
26.08.2024, 03:00
а как уровень перезапускать когда завалился?
ТАБ

DenisGrachev
26.08.2024, 10:19
Софтресет вроде поправил, можно скачать по той же ссылке. Ещё частоту музыки в игре поправил, оставалась векторовская в конверторе, но думаю это никто и не заметит )

Fishbone
26.08.2024, 13:18
Затащенно)

Titus
26.08.2024, 14:06
DenisGrachev, отлично сделано, спасибо за игру! Ничего такого уровня еще не было для Апогея
Да, визуально действительно сложно поверить, что РК-подобные машинки, пусть даже такие навороченные, как Апогей, могут такое) Браво)

Pyk
26.08.2024, 22:52
Софтресет вроде поправил
Да, сейчас вроде бы с этим все ок :) Обновил также в онлайн-эмуляторе на всякий случай, может кто-то частоту музыки заметит :)


зато в конце небольшой мультик
Дошел, наконец, до мультика, рад за Плюка ;) Погубил 86 и наклонировал 445, не знаю, насколько это хороший результат...

Pluto
28.08.2024, 09:21
Вчера включил свой Апогей, загрузил игрушку и прошел.
Класс!
Прикончил 105, наклонировал 464.

Shumadan
28.08.2024, 10:39
отличная игрушка. Апогея нет поиграл на эмуляторе

CodeMaster
28.08.2024, 11:37
Прикончил 105, наклонировал 464.
Раз тут все меряются, то примерно 100/300.

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


Ну или по цветам урезаться без мультиколоров
Тут же тоже 8 цветов? Или в смысле по цветовой гамме на Спеке нет подходящего?


Игра небольшая - всего 20 уровней
А сколько максимально поместится в стандартный Апогей, в условных уровнях размером с экран?


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

DenisGrachev
28.08.2024, 12:47
DenisGrachev, а в чём смысл выбора пробела для клонирования? У меня просто подсознательно всю игру просилась стрелка вверх.
Просто как начал делать рука подсознательно тянулась к пробелу )


Тут же тоже 8 цветов? Или в смысле по цветовой гамме на Спеке нет подходящего?
Мультиколор это не про больше цветов, это про уменьшение цветового разрешения с 8х8 до 8х2 чтобы цвет не разваливался при скролле на два пикселя


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

Ведущий_специалист
28.08.2024, 15:18
Жду исходники по возможности. пробежавшись по хексу понял, что фокусов с периферией особо нет. попробую утащить на пальмиру.

Pyk
28.08.2024, 16:39
по разному себя вело в разных эмуляторах
Если сохранились какие-то наброски, по разному ведущие себя в разных эмуляторах, могу сравнить с реалом.

DenisGrachev
29.08.2024, 19:53
Жду исходники по возможности. пробежавшись по хексу понял, что фокусов с периферией особо нет. попробую утащить на пальмиру.

Там только всё в мнемониках z80 ) На беглый взгляд вроде можно, цвет только как я понимаю по другому сделан. Ну и памяти надо впритык до верху, сколько там не нашёл инфы )


Если сохранились какие-то наброски, по разному ведущие себя в разных эмуляторах, могу сравнить с реалом.

Мне вчера тоже приехал Апогей, просто руки не доходили включить, могу теперь сам проверять :) Единственный момент - непонятно какие параметры указывать для rk2wav, загрузил пока через wrkwin32. Кстати а можно как-нибудь увеличить скорость загрузки, учитывая что не с кассеты грузимся? Это бы ускорило отладку на реальном железе. Взвёл Апогей, сбилдил проект, сгенерил вавку и вперёд!

Pyk
30.08.2024, 08:46
Ну и памяти надо впритык до верху, сколько там не нашёл инфы
На Пальмире доступно 0000-B5FF. Не поместится?



можно как-нибудь увеличить скорость загрузки
Да, третий параметр директив I и O - скорость загрузки. Точнее, задержка, чем меньше, тем быстрее. Штатная константа - 2A. Можно пропорционально уменьшить при вводе и выводе. Например, если сгенерировать wav в 2 раза быстрее, то для загрузки нужно будет использовать константу 2Ah / 2 = 15h, директива загрузки будет выглядеть O,15 Возможно, придется в небольших пределах подобрать.

Но удобнее, конечно, обзавестись SD-контроллером.

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


непонятно какие параметры указывать для rk2wav
Судя по всему, "rk2wav -k 200 plyuk.rka", где 200 - скорость в % для примера. Если речь идет об этой утилите (https://emu80.org/files/?id=69).
В моей старой wrkwin32, соответственно, также пропорционально уменьшить штатную константу 20. Если в 2 раза, то ~10.

DenisGrachev
30.08.2024, 18:47
На Пальмире доступно 0000-B5FF. Не поместится?

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



Судя по всему, "rk2wav -k 200 plyuk.rka", где 200 - скорость в % для примера. Если речь идет об этой утилите (https://emu80.org/files/?id=69).
В моей старой wrkwin32, соответственно, также пропорционально уменьшить штатную константу 20. Если в 2 раза, то ~10.

Спасибо, всё заработало! SD контроллер это хорошо, но на барахолке человек их продающий не отвечает на личные сообщения, да и бюджет на ретрушечку я выбрал пока )

Ведущий_специалист
30.08.2024, 23:07
Неа, там под самые пироги, в районе DC00 два видео буфера заканчиваются, но как раз их наверное удастся подрезать, потому что большая часть второго не используется )

Я уж до последнего подушню... В пальмире есть еще свободное d000-dfff. Может там видеопамять? или не влезет?

DenisGrachev
31.08.2024, 06:58
Исходники выложил, можно развлекаться :)

https://github.com/DenisGrachev/PlyukApogey_BK01C

Ведущий_специалист
03.09.2024, 12:16
Исходники выложил, можно развлекаться :)

https://github.com/DenisGrachev/PlyukApogey_BK01C

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

И да.. Пробовал откомпилить, ругается на
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
include\outro.a80(227): error: Unexpected end of file
хз что это означает..в 227 строке там все норм

Pyk
03.09.2024, 13:17
Ведущий_специалист, видеопамять, как я понимаю, сразу за кодом, а SjASMPlus я бы советовал обновить.

DenisGrachev
03.09.2024, 16:22
спасибо за код. Вопрос, можно ли меня носом ткнуть где указывается явный адрес видеопамяти. По мне как то буржуйский ассемблер делает это хитро или я тупо не нашел (.

И да.. Пробовал откомпилить, ругается на
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
include\outro.a80(227): error: Unexpected end of file
хз что это означает..в 227 строке там все норм

Проще всего скачать из релизов архив с бинарниками ужасма и утилит и собрать одним батником или в vscode открыть папку и сбилдить ctrl+shfift+b.

https://github.com/DenisGrachev/PlyukApogey_BK01C/releases/download/release/plyukWithBinary.zip

Видео память сразу после кода, причем там два огромных куска, второй просто чтобы переключать память на момент пока уровень отрисовывается. Это у меня осталось от тестов с двойным буфером, для этой игры он не пригодился, но я по быстрому его так использовал ) Вообще всё что инициализацией в system.a80

Ведущий_специалист
03.09.2024, 18:22
Ассемблер обновленный справился. Пальмира катастрофически не вмещает игру... С пол тычка не пошло...Нужно что то кардинально вырезать.

Shaos
04.09.2024, 09:24
Отличная игра! :v2_dizzy_coder:

https://zx-pk.ru/attachment.php?attachmentid=81205

https://zx-pk.ru/attachment.php?attachmentid=81206

На полное прохождение у меня ушло порядка 50 минут :)

DenisGrachev
04.09.2024, 12:58
Ассемблер обновленный справился. Пальмира катастрофически не вмещает игру... С пол тычка не пошло...Нужно что то кардинально вырезать.

Я посмотрю на днях, пока рано вырезать ) Выкину второй буфер, заменю на #f3 наверное, если проканает Килобайт 8 сразу освободится, дальше уже дело техники как порезать

Ведущий_специалист
04.09.2024, 17:08
Я посмотрю на днях, пока рано вырезать ) Выкину второй буфер, заменю на #f3 наверное, если проканает Килобайт 8 сразу освободится, дальше уже дело техники как порезать

Ну так если 8 кило освободится - должно со свистом влезть.

DenisGrachev
04.09.2024, 18:30
Ну так если 8 кило освободится - должно со свистом влезть.

Посидел с кружкой чая пару часов, получается вся игра с 0000-B4FD, можно ещё упоротся, но кажется достаточно ) Почитал чуть про пальмиру, дальше уже лучше сами ))) Так и не понял сможет она показать 78х64х4

https://www.dropbox.com/scl/fi/18w2mn32u2ahf8jvb0w9e/plyukWithBinary_03.zip?rlkey=88zasygnktpgdjoo6h2lb z5ou&dl=0

Адреса ПДП и Видео в system.a80
VG75_ADDR = 0EF00h
VT57_ADDR = 0F000h

Клавиатура в controls.a80
keyprt0 = $ED00
keyprt1 = $ED01

Адреса ВИ53:

в sound.a80 - в коде прям

в плеере одноканальной музыки tinyPSGPlayer.a80
viCH = #b6-#80 ;0-й канал
viADDR = #ec00 ;адрес 0 канала
viCONTROL = #ec03 ;порт ви53

в плеере трёхканальной музыки playerBuffered.a80
VI1 = #EC03
VI2 = #EC02
vPORT = #EC00 ;-1

Вроде ничего не забыл, может ещё ei у вас чем-то занято, его закоментить тогда в system в initVideo, она включает альт.знакогенератор

CityAceE
04.09.2024, 21:04
игра с 0000-B4FD
Эх... Не видать Плюка на Специалисте :(

ivagor
04.09.2024, 21:49
Память не самая большая проблема для портирования на специалист, можно убрать/ужать что-нибудь непринципиальное или ориентироваться на MX. А вот быстрый вертикальный скролл - это проблема.

Pyk
04.09.2024, 22:52
DenisGrachev, спасибо за подробные комментарии по адресам устройств!
Начало положено, уже играбельно, но нужно еще цвета везде изменить, частоты музыки и можно попробовать учесть смещение атрибутов.
На реале тоже работает.
https://disk.yandex.ru/d/PPULPhKBXg3Zpw

https://pic.maxiol.com/thumbs2/1725479129.1596967447.palmplyuk1.png (https://pic.maxiol.com/?v=1725479129.1596967447.palmplyuk1.png&dp=2)

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

P. S. Иногда притормаживает...

DenisGrachev
05.09.2024, 05:21
DenisGrachev, спасибо за подробные комментарии по адресам устройств!
Начало положено, уже играбельно, но нужно еще цвета везде изменить, частоты музыки и можно попробовать учесть смещение атрибутов.
На реале тоже работает.
https://disk.yandex.ru/d/PPULPhKBXg3Zpw

https://pic.maxiol.com/thumbs2/1725479129.1596967447.palmplyuk1.png (https://pic.maxiol.com/?v=1725479129.1596967447.palmplyuk1.png&dp=2)

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

P. S. Иногда притормаживает...

Всё чем могу помочь:
https://www.dropbox.com/scl/fi/h74yj1pyjjp60efqw51q8/plyuk_palm.zip?rlkey=2cj5bugu3jb0uxgvh6ohqz04h&st=zswriypz&dl=0

Дальше уже лень, копаться в одном и том же скучно :) Частота ВИ53 вроде такая же, если я правильно понял описание. Странно что для пальмиры не взяли цвет Апогей без идиотского наезда атрибута на предыдущий символ

Pyk
05.09.2024, 23:16
Всё чем могу помочь:
Спасибо! Уже очень круто :)


Частота ВИ53 вроде такая же
Нет, частота 1,5 МГц против 1,78 на Апогее. Подскажи, плиз, где подправить, где-то в PsgParser? Вижу там магическую константу 16.25, это оно?


Странно что для пальмиры не взяли цвет Апогей
Да, досадно. Но, видимо, так исторически сложилось...

DenisGrachev
06.09.2024, 04:24
Нет, частота 1,5 МГц против 1,78 на Апогее. Подскажи, плиз, где подправить, где-то в PsgParser? Вижу там магическую константу 16.25, это оно?

Да, всё забываю в параметры командной строки вынести частоту, раз такой зоопарк кругом ) Там получается частота АУ в спеке за основу, (1,75/частота ВИ) * 16.0. Я поправил, можно по той же ссылке скачать
https://www.dropbox.com/scl/fi/h74yj1pyjjp60efqw51q8/plyuk_palm.zip?rlkey=2cj5bugu3jb0uxgvh6ohqz04h&st=5vo8vllh&dl=0

blackinwoman
23.09.2024, 02:18
из за размера в 37КБ данная игра не поместится в ROM диск ? программа собирания ром диска пишет про большой размер
проверяется вот так
if(len1>32768) raise("Слишком длинный файл "+name);

Pyk
23.09.2024, 11:47
blackinwoman, одна страница ROM-диска имеет размер 32К, возможно софт не умеет читать одну программу из двух страниц.
Можно попробовать запаковать исходный rka...

DenisGrachev
23.09.2024, 17:22
из за размера в 37КБ данная игра не поместится в ROM диск ? программа собирания ром диска пишет про большой размер
проверяется вот так
if(len1>32768) raise("Слишком длинный файл "+name);

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

Pyk
23.09.2024, 23:20
делать загрузчик это уже как-нибудь сами
blackinwoman, сжал с помощью zx0 и набросал загрузчик.

cy6
28.09.2024, 11:37
Творческое объединение "РетроСоулс" представляет новую игру
Шикарно!
И сюжет игры, и музыка, и движок.

blackinwoman
02.11.2024, 03:58
Pyk, можно ли ещё сделать эту версию, без звука т.к. не все выдерживают, дабы влезло на rom диск

81500

Ведущий_специалист
02.11.2024, 23:48
имхо плюк без звука это как космонавт без скафандра. зачем уродовать игру если кто то там не может выдерживать. Хочешь поиграть, ну загрузи с магнитофона ну или найди другой способ, загрузи из сд карты...

cy6
03.11.2024, 00:57
зачем уродовать
Да. Но однако, спрос рождает предложение. Кто то любит немое кино и оттенки серого.

Pyk
04.11.2024, 14:05
blackinwoman, пока не получится, может через недельку... Я слепил упакованную версию "на коленке" вручную, надо бы, конечно, сделать автономный упаковщик для упаковывания любых программ, но этим пока совсем не готов заняться.

blackinwoman
11.01.2025, 03:19
Pyk, а можно из старой версии загрузчик вырвать, то где там точки откуда, куда и ?

Pyk
14.01.2025, 13:26
можно ли ещё сделать эту версию, без звука
Сделал. Вырвать загрузчик в текущем состоянии оттуда почти нереально (куча адресов просто тупо вписана руками в ассемблерный текст, что-то вообще сделано руками в hex-редакторе), а делать нормальный загрузчик пока нет ни времени, ни желания :(


имхо плюк без звука это как космонавт без скафандра
Эта версия скорее без музыки, а не без звука, так что, наверное, все-таки имеет право на существование ;)

Ведущий_специалист
11.02.2025, 16:50
Вопрос автору. Будет ли еще что нибудь на апогей? Например плюк2 или порт какой нибудь другой игры ....к примеру Baloon fight? Апогей по графике потянет.

DenisGrachev
14.02.2025, 05:12
Вопрос автору. Будет ли еще что нибудь на апогей? Например плюк2 или порт какой нибудь другой игры ....к примеру Baloon fight? Апогей по графике потянет.

Обязательно бахнем, но потом!

blackinwoman
24.04.2025, 16:26
Сделал.

Эта версия скорее без музыки, а не без звука, так что, наверное, все-таки имеет право на существование ;)


а вот и эмулятор EMU80 v4.0.501 налетел на реальность, в эмуляторе эта (без звука) версия нормально работает, на Апогее она поломанная
https://pic.maxiol.com/thumbs2/1745500630.3169993133.img202504241603181.jpg (https://pic.maxiol.com/?v=1745500630.3169993133.img202504241603181.jpg&dp=2)

стал разбираться, записал версию выше с звуком запакованную она работает и на эмуляторее и на Апогее


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

вот образ сделал для проверки 82221

Pyk
26.04.2025, 02:13
в эмуляторе эта (без звука) версия нормально работает, на Апогее она поломанная
Постараюсь посмотреть за выходные, но сразу напрашивается вопрос: откуда вообще взялась та версия без звука? Тем более, что она без исходников, сложно оценить корректность исключения из нее звука...


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

Pyk
27.04.2025, 01:48
а вот и эмулятор EMU80 v4.0.501 налетел на реальность, в эмуляторе эта (без звука) версия нормально работает, на Апогее она поломанная
Запустил на реале все 4 версии: со звуком сжатую и не сжатую и без звука сжатую и не сжатую - проблем не увидел, все работает как задумано. Запускал с SD-карты.


вот образ сделал для проверки rom256.rom.7z
В эмуляторе образ также работает без проблем, "железного" ROM-диска у меня нет :(


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

Непонятно...

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


далее по звуку в эмуляторе музыка начинается, когда после распаковки полоска перемещается по экрану, на Апогее, когда только появляется меню
Надеюсь, звук брали с разъема "Видео" сзади? На встроенный динамик выведен только один канал таймера из трех, нормальной музыки не будет...

blackinwoman
28.04.2025, 22:34
Надеюсь, звук брали с разъема "Видео" сзади? На встроенный динамик выведен только один канал таймера из трех, нормальной музыки не будет...

вот этого не знал, тогда одна проблема решена



Запускал с SD-карты.
интересно в чём же отличие, т.к. запуск с ПЗУ я прошивал в разные места и это не проблема с адресацией, именно эта версия без звука (https://zx-pk.ru/threads/35892-plyuk-(novaya-igra-dlya-apogej-bk-01ts).html?p=1209670&viewfull=1#post1209670), и не работает на ПЗУ в 256к на реале, а на эмуляторе всё ок ...

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