.ins files written by Bank Editor are not recognized by Reality Adlib Tracker 2.0. Are there different .ins standards?
`.ins` are saved by OPL3-BE are AdLib instruments in original format. I had no experience with Reality Adlib Tracker except the case I have made the importer which can extract instruments from RAD songs. Has RAD own .ins format, or it is intended to deal with standard AdLib instruments I have referred? If RAD does use of own `.ins` format, I must to implement the support for them to save proper .ins file that RAD will eat.
1 DB 240,207,0,0,245,240,244,132,14,0,0,0 2 DB 242,242,4,0,32,16,241,241,0,3,2,0 3 DB 48,192,8,0,243,168,244,95,8,0,0,0 4 DB 48,192,8,0,243,168,244,95,8,0,0,0 5 DB 242,242,4,0,32,16,241,241,0,3,2,0 6 DB 242,242,4,0,32,16,241,241,5,3,2,0 7 DB 242,242,4,0,32,16,241,241,0,3,2,0 8 DB 240,207,0,0,245,240,244,132,14,0,0,0 9 DB 48,192,8,0,243,168,244,95,8,0,0,0
So, this looks pretty similar to SBI files, sans the header and with somewhat different register order. Sometimes this 12-byte sequence is followed by a string with instrument name. It doesn't break the HSC compatibility as HSC reads first 12 bytes and populates OPL2 registers, effectively ignoring the rest of the file.
When RAD tracker saves an instrument, it is claimed that the resulting file is HSC compatible, but it's nowhere like it. Here's the format description:
1 █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ 2 █ INSTRUMENTS █ 3 █────────────────────────────────────────────────────────────────────────█ 4 █ Next come the instruments: █ 5 █ █ 6 █ Offset 00:No. of instrument that follows (or 0 for no more) █ 7 █ Offset 01..?:The instrument definition: █ 8 █ █ 9 █ Offset 00:Length of name █ 10 █ Offset 01..?:Name █ 11 █ █ 12 █ There are currently two types of instruments in RAD; FM and MIDI. The █ 13 █ type affects the remaining bytes. █ 14 █────────────────────────────────────────────────────────────────────────█ 15 █ OPL3 FM instrument: █ 16 █ █ 17 █ Offset 00:Bit 7 - Instrument has a riff █ 18 █ Bit 6..5 - Operator 3 & 4 stereo panning █ 19 █ Bit 4..3 - Operator 1 & 2 stereo panning █ 20 █ Bit 2..0 - Algorithm (0..6) █ 21 █ Offset 01:Bit 7..4 - Operator 3 & 4 feedback value █ 22 █ Bit 3..0 - Operator 1 & 2 feedback value █ 23 █ Offset 02:Bit 7..4 - Detune value █ 24 █ Bit 3..0 - Riff's default speed █ 25 █ Offset 03:Bit 5..0 - Volume █ 26 █ █ 27 █ Followed by four operator definitions (even for the 2-op algorithms): █ 28 █ █ 29 █ Offset 00:Bit 7 - Tremolo on █ 30 █ Bit 6 - Vibrato on █ 31 █ Bit 5 - Sustain on █ 32 █ Bit 4 - Scale rate █ 33 █ Bit 3..0 - Multiplier █ 34 █ Offset 01:Bit 7..6 - Scaling level █ 35 █ Bit 5..0 - Volume (inverted; 0 = loudest) █ 36 █ Offset 02:Bit 7..4 - Envelope attack value █ 37 █ Bit 3..0 - Envelope decay value █ 38 █ Offset 03:Bit 7..4 - Envelope sustain level (inverted) █ 39 █ Bit 3..0 - Envelope release value █ 40 █ Offset 04:Bit 2..0 - Waveform number █ 41 █────────────────────────────────────────────────────────────────────────█ 42 █ MIDI instrument: █ 43 █ █ 44 █ Offset 00:Bit 7 - Instrument has a riff █ 45 █ Bit 2..0 - Algorithm (7) █ 46 █ Offset 01:Bit 7..4 - Port (equipment dependent) █ 47 █ Bit 3..0 - Channel █ 48 █ Offset 02:Bit 7..4 - Version (0) █ 49 █ Bit 3..0 - Octave (0..7) █ 50 █ Offset 03: - Program (1..128, 0 = none) █ 51 █ Offset 04: - Bank LSB (1..128, 0 = none) █ 52 █ Offset 05: - Bank MSB (1..128, 0 = none) █ 53 █────────────────────────────────────────────────────────────────────────█ 54 █ Following both types of instruments is the instrument riff, if the █ 55 █ riff flag is set: █ 56 █ █ 57 █ Offset 00:Low byte of number of bytes in riff █ 58 █ Offset 01:High byte of number of bytes in riff █ 59 █ Offset 02..:Refer to the PATTERNS section below for the line/ █ 60 █ channel/note encoding. Note, instrument riffs will █
…Show last 5 lines
61 █ not have any notes/instruments in channel 2..9, just █ 62 █ effects. █ 63 █ █ 64 █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
Thus, this is completely another INS file, understandable only by RAD Tracker 2.0. It's not compatible with HSC, since HSC uses first 12 bytes to populate OPL2 registers, and in this case it would read the 'RAD INST V10' which is a signature. However, this is of low concern as RAD Tracker reads 12-byte HSC INS files as well as its own INS format. If OPL3-BE could save HSC instruments, it would already allow to import them to RAD.
Olá esse programa já suporta arquivo ins do teclado ketron audya
Olá!
Se você encontrar uma especificação para esse formato, adicionarei suporte para ela.
Também preciso de alguns arquivos de amostra para depurar o trabalho e verificar se está correto.