Az nem terhelné le jobban a gépet? Még a mostani midi koverziók talán használhatók lennének pl. játékok, demók alatt. SID-del már nem annyira, gondolom.
Valóban leterhelné, 4 MHz-es gépen csak M64 formátumra konvertálva lenne használható. Bár csak file lejátszáshoz a DAVE zene is lehetne hatékonyabb formátumban, az sz23-2.bin például midi_asm.com lejátszóval átlagosan 8.9%, a legrosszabb esetben (amikor pl. sok esemény történik egyszerre egy megszakításban) pedig 26.8% CPU-t fogyaszt. De egyszerűbb karakteres módú játékoknál ez elfogadható lehet.
Eredetileg MIDI zene CPU igénye egyszerűen csökkenthető a DAVE kimenetet "Xorgame" formátumra konvertálva, bár ez az sz23-2 esetében nem működik, mert elfogy a burkológörbe terület. Egy másik lehetőség az M64 formátumhoz hasonló megoldás, csak DAVE regiszterekkel (egy 8K-s blokk = 546 * 15 DAVE regiszter (az A7 port mindig 0) + 2 byte blokk méret). Összehasonlításképpen a file méretek így változnak:
- sz23-2.bin (eredeti file): 13596 byte
- ugyanez tömörítve (epcompress -raw -m2 -9): 4214 byte
- MIDI lejátszás memória igénye: 13596 + ~4K táblázatok (+ 4214 ha a tömörített adatra később még szükség van)
- DAVE felvétel 8K-s blokkokra átrendezve: 114688 byte
- tömörítve (epcompress -raw -m2 -9 -blocksize 8192 -maxoffs 16384): 5152 byte
- DAVE felvétel lejátszásának a memória igénye: 5152 + 16384 puffer + <256 táblázat, ezen kívül a kód mérete kisebb
Azonban az utóbbi megoldásnál a játéknak vagy demónak gyakorlatilag teljesen megszakításban kellene futnia, mivel a főprogram csak az adatblokkok kicsomagolását végzi (aminek pár százalék az átlagos CPU igénye, de nem folyamatos terhelés, hanem 10-11 másodpercenként fut tizedmásodpercekig).
Ilyenre gondoltál?
Igen. A négyszögjel azért alacsonyabb 2 oktávval, mert a hajlítás csak -2048..2047 tartományban lehetséges, a 15.5 frekvencia arány pedig 768*log2(15.5) = 3037 különbséget igényelne, ennél még egy oktávval kevesebb is több lenne 2047-nél.