Поддерживаю ivagor-a, но по себе знаю, что если не делать путевых заметок, потом бывает уже ничего не вспомнить да и не очень хочется.
Поддерживаю ivagor-a, но по себе знаю, что если не делать путевых заметок, потом бывает уже ничего не вспомнить да и не очень хочется.
Больше игр нет
Пытаюсь сделать настраиваюмую громкость музыки на AY чипе. Выключил звук во всех каналах задав гротмкость каналам 0 (8, 9, 10), но оставил включенной битик для огибающей. Думал что звука не будет, но звук остался. Играем огибающая. То есть громкость огибащей нельзя настроить, только можно выключить? Подскажите пожалуйста.
parallelno (28.03.2023)
апдейт. добавлены звуки. пока только для атаки вимпира и хит героя. добвлены предметы которые можно разрушать, бочки, коробки. Добавлены уникальные предметы такие как ключи. Добавлены двери, юзая ключи, можно их открывать. Добавлены ресурсы такие как монетки, бутылки. В процессе добавления непроходимые предметы такие как сундуки. Некоторые рантайм буфферы перенесены в конец памяти и динамически создаются чтобы уменьшить размер рома. Буферы выровнены в памяти чтобы был быстрее доступ. Добавлено много обработчиков для обработки подберания, использования всех этих предметов. оптимизированны и уницифированны процедуры для коллизии и обработки данных тайлов. Это позволило отказаться от 8К буфера для данных тайлов на квазидиске. Плюс в копилку памяти. ram-disk data layout пока показываеь эту память как занятую.
Табличка распределения памяти на квазидиске:
Код:; ram-disk data layout ; bank0 addr0 [ 1054 free] description: ; hero_r_sprites [14466], skeleton_sprites [10140], scythe_sprites [1626], hero_sword_sprites [5226], ; bank0 addr8000 [28253 free] description: ; level01_data [789], backs_sprites [496], decals_sprites [3230], ; bank1 addr0 [ 5554 free] description: ; knight_sprites [16398], burner_sprites [9600], bomb_sprites [960], ; bank1 addr8000 [ 0 free] description: $8000-$9FFF tiledata buffer (collision, copyToScr, etc), $A000-$FFFF back buffer2 (to restore a background in the back buffer) ; bank2 addr0 [10162 free] description: ; hero_l_sprites [14466], vampire_sprites [7884], ; bank2 addr8000 [19521 free] description: Music player and songs ; song01 [12542], sound_rd [705], ; bank3 addr0 [25880 free] description: ; level01_gfx [6632], ; bank3 addr8000 [ 5996 free] description: $8000-$9FFF code library. $A000-$FFFF back buffer ; sprite_rd [173], draw_sprite_rd [340], draw_sprite_hit_rd [318], draw_sprite_invis_rd [26], utils_rd [87], sprite_preshift_rd [1538], ; [96420 total free]
- - - Добавлено - - -
А еще допилил напильником подсветку ASM синтаксиса в VS Code. Стало совсем хорошо
Последний раз редактировалось parallelno; 31.03.2023 в 03:38.
Black Cat / Era CG (31.03.2023), Improver (31.03.2023), svofski (31.03.2023), thetrik (01.04.2023), tnt23 (03.04.2023)
По видео кажется, что ну просто невозможно подкрасться к монстру без потери HP -- ты все время сначала на него наступаешь, потом только уже машешь мечом. Это ты еще не научился играть, или какие-то детали механики игровой пока недоделаны?
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Согласен, очень некомфортно играть. Промахиваюсь и постоянно попадаю под раздачу. Хочется увеличить радиус атаки и сделать ее побыстрее.
понял, спасибо. Удивительно как народ с помощью такой ограниченной технологии делал и делает отличные чиптюн треки.
А вот кто в курсе, я заметил что на NES звук как-то побогаче чтоли, нет такого популярной бульшающей гармоники как любят использовать в AY. В чем принцыпиальная разница между звуковым чипом на NES и AY-3-8910? Можно ли как-то перенести/адаптировать композиции?
Возможно, это не то, вопрос про AY. Я для роботов сделал SFX на 8253, AY оставил для музыки.
К Вектору можно на самом деле подключить Sound Tracker и R-Sound, но, думаю это редкий случай в RL. Хотя мне сдаётся, ivagor по-моему такое делал для меня на DE1.
На таймере всего либо 3 уровня громкости, либо 3 канала. Просто набил сэмплы используя макро-средства m80. Получился некий ad-hoc язык.
Каждый сэмпл имеет заголовок,
Пример сэмпла №32 из роботов: запуск лифта
Отдельные ноты тоже можно вставлять. Скажем, открывание двери выглядит так (тут 3 канала):Код:; Elevator start IFNDEF _PATLIB ASEG .PHASE 0 INCLUDE A:HDRSFX.INC INCLUDE B:SFX.INC EndIF PATHDR <CH32_0,CH32_1> CH32_0: DB 0 Attack 20,15000,1,-30 Vibrato 15,14000,15000,1,1,-600,-40 Vibrato 30,4000,4000,1,1,-70,-25 Vibrato 30,1300,3000,1,1,20,100 Vibrato 25,2400,5000,1,1,200,180 EndCh CH32_1: DB 1 Vibrato 10,15000,14500,1,1,-100,-50 Pause 144 Vibrato 25,2400,5000,1,1,200,60 EndCh
Код:; Door 3 open SFX IFNDEF _PATLIB ASEG .PHASE 0 INCLUDE A:HDRSFX.INC INCLUDE B:SFX.INC EndIF PATHDR <CH13_0,CH13_1,CH13_2> CH13_0: DB 0 Vibrato 8,Hz050,Hz100,2,1,1500 Vibrato 14,Hz050,Hz100,2,3,-1500,1000 EndCh CH13_1: DB 1 pause 2 Vibrato 50,80,3500,1,1,20,500 EndCh CH13_2: DB 2 pause 6 note 3219,2 note 6438,2 pause 7 note 4551,5 pause 8 note 3219,1 note 1609,1 note 3219,1 pause 8 note 5734,6 pause 10 note 6438,3 pause 3 note 4551,3 pause 11 Vibrato 4,9102,4551,1,1 EndCh
PATHDR вначале описывает, сколько сэмплу нужно каналов. Драйвер использует каналы динамически. Сколько есть свободных (если предыдущий patch играет), столько и запустит на проигрывание. Отдельный сэмпл можно скомпилить и проиграть утилитой playsfx (в аттаче).
Все сэмплы компилятся в файл sfxlib (sfxlib.mac в аттаче) и кидаются в один из банков квазидиска. При загрузке файла, роботы настраивают слинкованные смещения начала сэмплов в sfxlib добавляя смещения по которым лежат сэмплы. Драйверу просто асинхронно говорится по прерыванию типа играй сэмпл 32, и он играет на свободных каналах тем же кодом что playsfx.
Это-упрощённо. Там есть свои гитики. И это-не AY.
Последний раз редактировалось PPC; 02.04.2023 в 11:30. Причина: Quotes
parallelno (03.04.2023), svofski (02.04.2023)
мне нравится идея использовать AY и ВИ53 вместе. По-моему они могут прекрасно друг друга дополнять.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)