PSG_ENGINE        equ   0
F_PSG_ENGINE      equ   1
PP_ENGINE         equ   2
STE_ENGINE        equ   3
Q_STE_ENGINE      equ   4
TT_ENGINE         equ   5
Q_TT_ENGINE       equ   6
FALCON_ENGINE     equ   7
Q_FALCON_ENGINE   equ   8
FALCON2_ENGINE    equ   9
FALCON16_ENGINE   equ   10

NAUDIO_MAX_VOLUME equ   $40
MAX_ENGINES       equ   14
MAX_CHANNELS      equ   8

NTRACKER          equ   0
SAMPLES           equ   1

UNSIGNED          equ   1
STEREO            equ   2
BIT16             equ   $8000



; engine_control structure
      .offset

ec_sample_area:   .ds.l 1
ec_engine_area:   .ds.l 1
ec_version:       .ds.b 1
ec_revision:      .ds.b 1
ec_user_refresh:  .ds.l 1
ec_p_channels:    .ds.l 1
ec_channels:      .ds.l 1
ec_n_channels:    .ds.w 1
ec_n1_channels:   .ds.w 1
ec_n2_channels:   .ds.w 1
ec_vtab:          .ds.l 1
ec_voice1:        .ds.l 1
ec_dactab:        .ds.l 1
ec_nullsample:    .ds.l 1
ec_r_frq:         .ds.w 1
ec_e_frq:         .ds.l 1
ec_n_irqs:        .ds.l 1
ec_n2_irqs:       .ds.l 1
ec_e_type:        .ds.b 1
ec_e_state:       .ds.b 1
ec_s_type:        .ds.b 1
ec_hardware:      .ds.b 1
ec_cpu:           .ds.b 1
ec_no_hack:       .ds.b 1
ec_use_bclr:      .ds.b 1
ec_is_tos4:       .ds.b 1
ec_ipl:           .ds.w 1
ec_fab:           .ds.l 1
ec_init:          .ds.l 1
ec_done:          .ds.l 1
ec_start:         .ds.l 1
ec_stop:          .ds.l 1
ec_replay:        .ds.l 1
ec_patch:         .ds.l 1
ec_halt:          .ds.l 1
ec_cont:          .ds.l 1
ec_mem_e:         .ds.l 1
ec_mem_s:         .ds.l 1
ec_calc:          .ds.l 1
ec_no_tab:        .ds.l 1
ec_e_len:         .ds.l 1
ec_s_len:         .ds.l 1
ec_max_channels:  .ds.b 1
ec_save_aer:      .ds.b 1
ec_save_ier:      .ds.b 1
ec_save_imr:      .ds.b 1
ec_save_ctl:      .ds.b 1
ec_save_dta:      .ds.b 1
ec_dta:           .ds.b 1
ec_save_conterm:  .ds.b 1
ec_save_timer:    .ds.l 1
ec_new_timer:     .ds.l 1
ec_ctl:           .ds.b 1
ec_falc_out:      .ds.b 1
ec_save_chip:     .ds.w 11
ec_save_codec:    .ds.w 10
ec_save_end:


; channel structure
         .offset

ch_play:    .ds.b 1
ch_rsv:     .ds.b 1
ch_data:    .ds.l 1
ch_end:     .ds.l 1
ch_step1:   .ds.l 1
ch_step2:   .ds.w 1
ch_incr1:   .ds.w 1
ch_incr2:   .ds.w 1
ch_unuse:   .ds.b 1
ch_vol:     .ds.b 1
ch_aux1:    .ds.l 1
ch_aux2:    .ds.w 1
ch_aux3:    .ds.w 1
ch_aux4:    .ds.w 1
ch_fill:    .ds.l 1

         .text          ; less surprising, me thinks

