(C)2026 MasterMIB.com.br | IntyBASIC / AY-3-8910/8914 / Intellivision
Crie e edite efeitos sonoros para o Intellivision. Cada FX gera código IntyBASIC pronto para compilar.
| Botão | Função |
|---|---|
| + Novo | Adiciona um FX em branco |
| − Excluir | Remove o FX selecionado |
| ⊕ | Duplica o FX atual |
| ↺ | Redefine para os parâmetros padrão do FX |
| ↑ Importar WAV | Analisa um WAV (até 20s) e cria um FX automaticamente. Detecta até 3 frequências simultâneas e gera código com SOUND 0/1/2 por frame. Editar qualquer parâmetro depois converte para FX editável normal. |
| STD NTSC/PAL | Define o frame rate: 60Hz (NTSC) ou 50Hz (PAL). Afeta durações e o cabeçalho do código gerado. |
| Parâmetro | Descrição |
|---|---|
| Frequência | Tom em Hz. Convertido para período AY: period = 111860 / Hz |
| AY Period | Período direto (1–4095). Sincroniza com frequência. |
| Volume | 0–15 (escala logarítmica do AY-3-8914) |
| Duração | Frames (1/60s NTSC ou 1/50s PAL) |
| Forma de Onda | Square = tom puro. Ruído = LFSR branco (esconde o painel de ruído se não selecionado). Tom+Ruído = ambos no mesmo canal. Envelope = usa curva HW do AY. |
| Output CH | Canal AY de saída (A/B/C). Afeta o PLAY e o código gerado. |
ADSR implementado por software via loops IntyBASIC. O gráfico mostra a curva em tempo real.
| Parâmetro | Descrição |
|---|---|
| Attack | Frames para atingir o volume máximo |
| Decay | Frames para cair ao nível de Sustain |
| Sustain | Volume sustentado (0–15) |
| Release | Frames para cair ao silêncio após o fim da duração |
dec = vol e sus = 0. Ex: vol=13, dec=13 → vv = 13 - 13*I/13 = 13 - I (exato).Visível apenas com Forma de Onda = Ruído ou Tom+Ruído.
| Parâmetro | Descrição |
|---|---|
| Período Ruído | Registrador R6 do AY (1–31, valor RAW). Controla a frequência do LFSR de 17 bits. |
| Mixer | Sempre usa SOUND 3,np,54 (toneA+noiseA ativos). O tom ultrassônico (period=1) mantém o canal ativo para o IntyBASIC atualizar o volume R10. |
| Parâmetro | Descrição |
|---|---|
| Sweep (semitons) | Variação de pitch: −24 a +24 semitoms. Ex: −8 = uma quinta abaixo. |
| Sweep Steps | Número de frames para completar o sweep |
| LFO Rate | Vibrato em Hz (oscilação quadrada de pitch) |
| LFO Depth | Profundidade do vibrato em cents |
SOUND ch, period, vol — 3 argumentos. Canais válidos: 0=Ch A, 1=Ch B, 2=Ch C, 3=noise+mixer. Sem expressões complexas nos args — use variável intermediária.period = 111860 / freq → equivalente a AYC / 32 / freq onde AYC = 3.579545 MHz. Esta é a constante real usada pelo IntyBASIC.
| Valor | Hex | Efeito |
|---|---|---|
| 62 | $3E | Somente tom A |
| 54 | $36 | Tom A + Ruído A (usado para noise com volume) |
| 56 | $38 | Reset: todos os tons ON, ruído OFF |
| Aba | Gera |
|---|---|
| Teste | Programa completo com INCLUDE, DIM, loop principal e PROCEDURE do FX atual. Pronto para compilar e testar no emulador. |
| All FX | Todas as PROCEDUREs de todos os FX, mais um dispatcher play_fx. Use como biblioteca de sons. |
| Multi-Ch | Atribui FX diferentes aos canais A/B/C. Gera tabela DATA com pa_A,va_A,pa_B,va_B,pa_C,va_C por frame e player que toca os 3 canais simultaneamente. |
Carregue um arquivo WAV (máx. 20 segundos). O editor detecta automaticamente a região com som, analisa as frequências simultâneas (até 3) e cria um FX com código direto frame a frame.
Para sons com um único pitch: o FX gerado usa os parâmetros normais (freq, ADSR) e pode ser editado livremente. Para acordes ou sons complexos com múltiplas frequências: o código gerado usa SOUND 0/1/2 por frame sem loops — exatamente como o AY toca o som original.
Na aba Multi-Ch do painel de código, atribua um FX a cada canal (A, B, C). O botão ▶ PLAY MULTI toca os 3 canais simultaneamente no preview. O código gerado usa uma tabela DATA única com todos os canais interleaved e um loop FOR F = 0 TO maxFrames que emite READ + SOUND + WAIT por frame.
| Parâmetro | Valor |
|---|---|
| Chip | AY-3-8914 (variante do AY-3-8910) |
| Clock PSG | AYC/4 = 894.886 Hz (derivado do clock NTSC) |
| Constante IntyBASIC | 111.860 = AYC/32 |
| Frame rate NTSC | 60 Hz (16.67ms por frame) |
| Frame rate PAL | 50 Hz (20ms por frame) |
| Canais | 3 tom (A/B/C) + 1 ruído compartilhado + envelope HW |
| Volume | 0–15 (logarítmico, tabela real do datasheet) |
| Período tom | 1–4095 (12 bits) |
| Período ruído | 1–31 (5 bits, valor RAW do registrador R6) |
| SOUND 0,p,v | R0/R1 (período A) + R10 (volume A) |