1 Отредактировано garnizon (30-12-2021 21:24)

Тема: ЗВУК2 это дополнение Бейсика?

В некоторых Бейсиковых играх подгружается файл "ЗВУК2". Это процедура синтеза отдельного звука по заданным параметрам.
Её в цикле вызывают и сами ноты обычно хранят в DATA.
У этого файла было ещё несколько имён, с вариациями латинские/русские, с цифрой и без цифры. Но это всё одно и то же.   

Кто-нибудь знает как это работает?

Как использовать его в своих программах?

Это компенсация того, что в Агатовском бейсике нет команд типа PLAY/SOUND/BEEP?

Это какое-то универсальное дополнение или частный случай?
В смысле этот файл используется покр. мере двух играх (может где еще?) - КАЛАХ и КЛИНГ,
можно ли предположить что эти две игры одного автора?

В аттаче сам файл.

P.S. У этого файла было ещё несколько имён, с вариациями латинские/русские, с цифрой и без цифры. Но это всё одно и то же. ZONG2,  ZWUK2 и т.д.

Post's attachments

Attachment icon ЗВУК2.FIL 296 b, 88 downloads since 2021-12-30 

2 Отредактировано Voldemar0 (31-12-2021 06:47)

Re: ЗВУК2 это дополнение Бейсика?

Как работает описано в инструкциях к агату, где про звук рассказывают. И в Мымрине тоже.

Тут отличие только в том, что в инструкциях пример совсем примитивный, у него длительность ноты зависит от частоты (т.е. там задаётся, фактически, пауза между переключением динамика и количество переключений). Здесь же, вероятно, это скомпенсировано и задаётся так же пауза (т.е. высота звука) и длительность звучания ноты.

Так примерно он используется:

[0002]     10  PRINT  CHR$ (4);"BLOAD ZVUK2"
[004F]   5590  DATA   125,18 ,140,6 ,148,6 ,125,6 ,93,6 ,83,6 ,74,24 ,93,24 ,111,18 ,99,6 ,93,6 ,99,6 ,93,6 ,111,6 ,125,24 ,148,24 
[00C4]   6000  DATA    125,18 ,140,6 ,148,6 ,125,6 ,93,6 ,83,6 ,74,24 ,93,12 ,99,6 ,93,6 ,83,12 ,83,12 ,93,12 ,99,12 ,93,12 
[0132]  10055  FOR IG = 1 TO 31:
                   READ PA,LA
[0146]  10060      POKE 768,PA:
                   POKE 769,LA:
                   CALL 770:
               NEXT 

Star Wars (Kling) и Калах - очень старые игры Агата. Шли на одном диске вместе с ранней семёркой. Автор вряд ли один (игры крупные и довольно разных направлений, чтобы такую написать нужен не один день), но вполне могли быть знакомы. С другой стороны: сама процедура простая и её использование тоже довольно очевидно, так что кто хотел - мог тырить её себе.

Вообще, пример из инструкции использовал неочевидный регион памяти с адресов $300 - он довольно небольшой (снизу буфер ввода строки, сверху - вектора операционки), но, как правило, звуки в бейсик-играх использовали именно его (Орган, Болгарский вальс, музыкальные редакторы разные). Так что тут об авторстве сложно говорить: явно что этот пример был всем интересен и его так или иначе использовали как есть либо развивали. Народное творчество.