Programozástechnika - SDK: SpeccyBeep

4 csillagos Cikk értékelése: 4,80 (5 szavazatból)

A SpeccyBeep a gépi kódú ZX Spectrum programokhoz segít dallamokat szerkeszteni és azok beépítését is megkönnyíti.

A SpeccyBeep egy Windows-alapú dallamszerkesztő, melyben a szerkesztett dallamot .tun kiterjesztésű munkafájlba lehet menteni, ami lényegében egy szöveges dokumentum és soronként egy-egy hang adatait (oktáv, hang, hossz) tartalmazza. A SpeccyBeep nagy mutatványa, hogy a dallamot egy ZX Spectrum számára is emészthető .asm kiterjesztésű assembly fájllá is átalakíthatjuk, mely egy egyszerű lejátszó rutint is tartalmaz. Ezt fájl egy külső programmal (pl. PASMO) átalakítható .tap vagy .tzx formátumba, amit szintén a SpeccyBeep-ből vezérelve be is lehet tölteni egy külső ZX Spectrum emulátorba. Betöltés után a dallam a RANDOMIZE USR 25000 parancs kiadásával indítható.

Sokat kutattam hasonló programok után, de vagy a kereső szavakkal vagy velem volt probléma, vagy a legvalószínűtlenebb: egyszerűen nincs ilyen program. De minek is kellene nekem egy ilyen program, mikor egy asm fájl írásakor közvetlenül is megadhatom a hangokat? Megpróbáltam, szörnyű gyötrelem minden egyes hangnál a következő képletekkel kiszámolni a magasságot és a hang hosszát:

DE = Hossz = Frekvencia * Másodpercek száma
HL = Magasság = (437500 / Frekvencia) - 30.125

Ez a módszer nem elég, hogy keserves rabszolgamunkával jár, de még a hiba eshetősége is nagyon magas. Első ilyen kínlódásom után gyártottam magamnak egy Excel táblát, amiben minden hangra és különböző hosszakra kiszámoltattam DE-t és HL regiszterekbe töltendő értéket. Ezt használni már egy fokkal kényelmesebb volt, de még mindig túl körülményesnek és lassúnak tűnt egy táblázatból egyesével kibogarászni a megfelelő adatokat, pláne, hogy egy rövidebb dallamsor is kb. 30-40 hangot tartalmaz. Ekkor döntöttem el, hogy saját kényelmem és idegeim épségének megőrzése érdekében meg kell írnom a SpeccyBeep-et.

Dallam létrehozásához először válaszd ki a zongorabillentyűkön a hangot (piros lesz a billentyű), majd a Tune felirat alatt látható 1, 1/2, 1/4, 1/8. gombokkal válaszd ki a hang hosszát (a gombok felirata egyenlő a hang hosszával másodpercben). Ekkor a hang megjelenik a bal oldalon lévő listában, pl. 3rd E 1/2, ami annyit jelent, hogy a harmadik oktáv E hangja fél másodpercig szóljon. Ha kipipálod a Sound opciót, akkor a zongorabillentyűk leütésekor és a hangok hosszának megadásakor is hallhatod a beállításoknak megfelelő hangot.

Ha a dallamba szünetet akarsz beiktatni, akkor a Pause felirat alatt látható gombok valamelyikét kell használnod, ilyenkor a hangok mintájára a dallamsorba bekerül egy szünet, ami a gombon lévő feliratnak megfelelő másodpercig fog tartani.

Az Insert tune / pause kiválasztásával érheted el, hogy a kiválasztott hang vagy szünet ne a dallamsor végére, hanem a dallamlistában aktuálisan kijelölt pozícióba kerüljön. Hangok törléséhez jelöld ki a törlendő hangot a dallamlistán, majd nyomd meg a Delete tune gombot. Hangok helyének megváltoztatásához használd az Up (fel) és Down (le) gombokat miután kijelölted a mozgatandó hangot a listán.

A Play tune lenyomásával meghallgathatod a dallamot, ez nem pont úgy fog szólni, mint amit egy emulátor produkál, ez a funkció csak előhallgatásra szolgál. A Load tune illetve a Save tune gombokkal pedig betöltheted / lementheted a dallamlistát.

Ha meg akarod hallgatni a dallamot emulátoron, vagy akár egy valós gépen, akkor előbb meg kell adnod néhány dolgot:

  • A Filename mezőben add meg a leendő ASM és TAP fájl nevét.
  • A Compile command mezőben add meg a külső fordítóprogram elérési útját, pl. c:\Program Files\Pasmo\Pasmo.exe.
  • A Compile parameters mezőben a fordítóhoz tartozó paramétereket adhatod meg, itt $filename-t kell írni a szerkesztett fájl neve helyett, pl. a Pasmo-hoz tartozó paraméter lehet: --tapbas $filename.asm $filename.tap, ilyenkor a fordító létrehoz egy .tap fájlt.
  • A Run command mezőben a már átfordított fájl futtatásához használt program elérési útját adhatod meg, pl. c:\Program Files\Spectaculator\Spectaculator.exe.
  • A Run parameters pedig értelemszerűen a futtatáshoz használt program futtatási paramétereit kell, hogy tartalmazza, pl. $filename.tap.
Ha az adatokat megadtad, akkor a Create ASM gombbal létrehozhatod az .asm fájlt a filename mezőben megadott néven, a Compile TAP gombbal átfordíttathatod egy ZX Spectrum számára is emészthető fájllá, a Run TAP gombbal pedig futtathatod ezt az emészthető, valószínűleg .tap vagy .tzx fájlt.

Fejlesztési lehetőségek még vannak a programban, erre utal a verziószám is. Például benne lesz az oktáv emelése, csökkentése teljes dallamsorra vonatkozóan, vagy a dallam gyorsítása, lassítása is. Viszont nem lesz benne lehetőség többszólamú dallam létrehozására, marad a "bípelős" hangzás.

SpeccyBeep b0.9 v2015.10.20. letöltése


Publikálás a portálon: 2022-04-17 12:26:03