perm filename LOWER.DEF[NEW,AIL] blob sn#411913 filedate 1979-01-15 generic text, type T, neo UTF8
Comment Definitions for the low level routines for the SC digital synthesizer;

external simple procedure initialize;
external simple integer procedure get(integer id,number(-1));
external simple procedure give(integer id);
external simple procedure putcmd(integer command);
external simple procedure bind(integer src,op,dest);
external simple procedure bind_field(integer src,op,dest,type);
external simple procedure set_output(integer stream,sail_channel);
external simple procedure unset_output(integer stream,sail_channel);
external simple procedure set_procedure(reference procedure p);
external simple procedure set_mode(integer name);
external simple procedure set_field(integer name,field);
external simple procedure set_stream(integer stream,field,value);
external simple procedure set_interrupt(boolean enable; integer cause);
external simple procedure set_code(integer code);
external simple procedure flush;
external simple integer procedure decode(integer unit);
external simple integer procedure relative(integer unit);
external integer array unit_generators[0:671];
external integer array generators[0:255];
external integer array modifiers[0:127];
external integer array gen_this_pass_sum_memory[0:63];
external integer array gen_last_pass_sum_memory[0:63];
external integer array mod_this_pass_sum_memory[0:63];
external integer array mod_last_pass_sum_memory[0:63];
external integer array all_sum_memory[0:255];
external integer array delays[0:31];
external integer update_tick;
external integer pass;

define id_generator = "('0)";
define id_modifier = "('1)";
define id_sum_memory = "('2)";
define id_delay = "('3)";
define id_maximum = "('4)";
define last_gen_pass = "('0)";
define last_mod_pass = "('10)";
define this_mod_pass = "('20)";
define this_gen_pass = "('30)";
define g_data(x) = "point(20,x,23)";
define g_op(x) = "point(4,x,27)";
define g_number(x) = "point(8,x,35)";
define m_data(x) = "point(20,x,23)";
define m_op(x) = "point(5,x,28)";
define m_number(x) = "point(7,x,35)";
define d_data(x) = "point(16,x,19)";
define d_whole_data(x) = "point(20,x,23)";
define d_op(x) = "point(2,x,30)";
define d_number(x) = "point(5,x,35)";
define bias_generator = "('0)";
define bias_modifier = "(bias_generator+256)";
define bias_sum_memory = "(bias_modifier+128)";
define bias_delay = "(bias_sum_memory+256)";
define bias_end = "(bias_delay+32)";
define code_stream = "('0)";
define command_stream = "('1)";
define max_stream = "('1)";
define op_sweep = "('13)";
define op_frequency = "('04)";
define op_angle = "('11)";
define op_ncosines = "('07)";
define op_scale = "('07)";
define op_rate = "('06)";
define op_exponent = "('02)";
define op_asymptote = "('10)";
define op_gsum = "('10)";
define op_fm = "('12)";
define op_gmode = "('12)";
define o_sweep = "(op_sweep)";
define o_frequency = "(op_frequency)";
define o_angle = "(op_angle)";
define o_ncosines = "(op_ncosines)";
define o_scale = "(op_scale)";
define o_rate = "(op_rate)";
define o_exponent = "(op_exponent)";
define o_asymptote = "(op_asymptote)";
define o_gsum = "(op_gsum)";
define o_fm = "(op_fm)";
define o_gmode = "(op_gmode)";
define op_m = "('30)";
define op_m_0 = "('30)";
define op_m_1 = "('31)";
define op_m0l = "('32)";
define op_m1l = "('33)";
define op_l = "('34)";
define op_l_0 = "('34)";
define op_l_1 = "('35)";
define op_in = "('37)";
define op_rm = "('37)";
define op_msum = "('36)";
define op_mmode = "('36)";
define o_m = "(op_m lsh -'1)";
define o_m_0 = "(op_m_0 lsh -'1)";
define o_m_1 = "(op_m_1 lsh -'1)";
define o_m0l = "(op_m0l lsh -'1)";
define o_m1l = "(op_m1l lsh -'1)";
define o_l = "(op_l lsh -'1)";
define o_l_0 = "(op_l_0 lsh -'1)";
define o_l_1 = "(op_l_1 lsh -'1)";
define o_in = "(op_in lsh -'1)";
define o_rm = "(op_rm lsh -'1)";
define o_msum = "(op_msum lsh -'1)";
define o_mmode = "(op_mmode lsh -'1)";
define op_delay = "('1)";
define o_delay = "(op_delay lsh -'1)";
define op_timer = "('2)";
define op_ticks = "('3)";
define runlsb = "('6)";
define runmask = "('17 lsh runlsb)";
define g_inactive = "('0 lsh runlsb)";
define g_pause = "('1 lsh runlsb)";
define a_running = "('17 lsh runlsb)";
define b_running = "('16 lsh runlsb)";
define g_wait = "('11 lsh runlsb)";
define c_running = "('15 lsh runlsb)";
define data_read = "('7 lsh runlsb)";
define data_write = "('3 lsh runlsb)";
define dac_write = "('2 lsh runlsb)";
define envlsb = "('4)";
define envmask = "('3 lsh envlsb)";
define min_envelope = "('0 lsh envlsb)";
define max_envelope = "('3 lsh envlsb)";
define lplusq = "('1 lsh envlsb)";
define lminusq = "('0 lsh envlsb)";
define lexpplus = "('3 lsh envlsb)";
define lexpminus = "('2 lsh envlsb)";
define osclsb = "('0)";
define oscmask = "('17 lsh osclsb)";
define min_oscillator = "('0 lsh osclsb)";
define max_oscillator = "('10 lsh osclsb)";
define sine = "('0 lsh osclsb)";
define sawtooth = "('1 lsh osclsb)";
define square = "('2 lsh osclsb)";
define pulse_train = "('3 lsh osclsb)";
define sum_of_cosines = "('4 lsh osclsb)";
define sin_fm = "('10 lsh osclsb)";
define p_exponent(x) = "point(20,x,23)";
define p_rate(x) = "point(20,x,23)";
define p_frequency(x) = "point(20,x,23)";
define p_ncosines(x) = "point(11,x,19)";
define p_scale(x) = "point(4,x,23)";
define p_asymptote(x) = "point(12,x,17)";
define p_gsum(x) = "point(6,x,23)";
define p_angle(x) = "point(20,x,23)";
define p_gmode(x) = "point(10,x,16)";
define p_fm(x) = "point(7,x,23)";
define p_sweep(x) = "point(20,x,23)";
define p_g_run_mode(x) = "point(4,x,29)";
define p_g_envelope(x) = "point(2,x,31)";
define p_g_osc_mode(x) = "point(4,x,35)";
define exp_just(x) = "point(1,x,27)";
define freq_just(x) = "point(1,x,27)";
define no_ncosines(x) = "point(1,x,4)";
define no_n(x) = "point(1,x,4)";
define no_scale(x) = "point(1,x,5)";
define no_m(x) = "point(1,x,5)";
define no_asymptote(x) = "point(1,x,4)";
define no_l(x) = "point(1,x,4)";
define no_gsum(x) = "point(1,x,5)";
define no_gmode(x) = "point(1,x,4)";
define no_fm(x) = "point(1,x,5)";
define k_clear(x) = "point(1,x,6)";
define fnlsb = "('0)";
define fnmask = "('37 lsh fnlsb)";
define fn_minimum = "('0)";
define fn_maximum = "('35)";
define m_inactive = "('0 lsh fnlsb)";
define u_noise = "('2 lsh fnlsb)";
define tr_u_noise = "('3 lsh fnlsb)";
define latch = "('4 lsh fnlsb)";
define threshold = "('6 lsh fnlsb)";
define delay = "('7 lsh fnlsb)";
define notwopoles = "('10 lsh fnlsb)";
define two_0poles = "('11 lsh fnlsb)";
define two_1poles = "('13 lsh fnlsb)";
define notwozeroes = "('14 lsh fnlsb)";
define two_0zeroes = "('15 lsh fnlsb)";
define two_1zeroes = "('17 lsh fnlsb)";
define int_mixing = "('20 lsh fnlsb)";
define one_pole = "('21 lsh fnlsb)";
define mixing = "('24 lsh fnlsb)";
define one_zero = "('26 lsh fnlsb)";
define four_quad_multiply = "('30 lsh fnlsb)";
define am = "('31 lsh fnlsb)";
define maximum = "('32 lsh fnlsb)";
define minimum = "('33 lsh fnlsb)";
define signum = "('34 lsh fnlsb)";
define zero_crossing_pulser = "('35 lsh fnlsb)";
define p_m(x) = "point(20,x,23)";
define p_m_0(x) = "point(20,x,23)";
define p_m_1(x) = "point(20,x,23)";
define p_l(x) = "point(20,x,23)";
define p_l_0(x) = "point(20,x,23)";
define p_l_1(x) = "point(20,x,23)";
define p_mmode(x) = "point(9,x,16)";
define p_msum(x) = "point(7,x,23)";
define p_rm(x) = "point(8,x,15)";
define p_in(x) = "point(8,x,23)";
define p_m_function(x) = "point(5,x,31)";
define p_a_scale(x) = "point(2,x,33)";
define p_b_scale(x) = "point(2,x,35)";
define p_m_mode(x) = "point(9,x,35)";
define no_mmode(x) = "point(1,x,4)";
define no_msum(x) = "point(1,x,5)";
define l0_clear(x) = "point(1,x,6)";
define no_mscale(x) = "point(1,x,7)";
define no_rm(x) = "point(1,x,4)";
define no_in(x) = "point(1,x,5)";
define l1_clear(x) = "point(1,x,6)";
define m_just(x) = "point(1,x,27)";
define m_select(x) = "point(1,x,28)";
define p_control(x) = "pπint(2,x,19)";
define p_rtc(x) = "point(1,x,20)";
define p_spt(x) = "point(2,x,24)";
define p_drb(x) = "point(7,x,31)";
define p_mr(x) = "point(1,x,32)";
define p_pia(x) = "point(3,x,35)";
define p_re(x) = "point(2,x,30)";
define p_int(x) = "point(1,x,31)";
define p_cause(x) = "point(4,x,35)";
define misc_data(x) = "point(20,x,23)";
define misc_op(x) = "point(2,x,30)";
define misc_wait_clear(x) = "point(1,x,33)";
define misc_pause_clear(x) = "point(1,x,34)";
define misc_stop(x) = "point(1,x,35)";
define time_data(x) = "point(20,x,23)";
define time_op(x) = "point(2,x,32)";
define tick_data(x) = "point(10,x,23)";
define tick_op(x) = "point(1,x,32)";
define p_d_mode(x) = "point(4,x,35)";
define p_d_scale(x) = "point(4,x,31)";
define p_d_size(x) = "point(16,x,31)";
define c_stop = "('1)";
define c_start = "('2)";
define c_step = "('3)";
define ena_ticks = "('1)";
define dis_ticks = "('2)";
define bad_linger = "('1)";
define mix_overflow = "('2)";
define mult_overflow = "('3)";
define msum_overflow = "('4)";
define gsum_overflow = "('5)";
define w_exhausted = "('6)";
define r_32_data = "('7)";
define c_exhausted = "('10)";
define r_exhausted = "('16)";
define dx = "('1)";
define ttla = "('2)";
define ttlb = "('3)";
define f0 = "('0)";
define f1 = "('1)";
define f2 = "('2)";
define f3 = "('3)";
define unfiltered = "('4)";
define same_filter = "('10)";
define tix_processing = "('0)";
define tix_total = "('1)";
define pass_set = "('1)";
define lounge = "('2)";
define pass_clear = "('3)";
define d_inactive = "('0)";
define delayline = "('10)";
define table_lookup = "('12)";
define round_table_lookup = "('13)";
define d_base = "('0)";
define d_index = "('1)";
define d_size = "('2)";
define d_mode = "('2)";
define d_scale = "('2)";
define sum_memory = "('0)";
define osc_mode = "('1)";
define mode = "('2)";
define sweep = "('3)";
define frequency = "('4)";
define angle = "('5)";
define ncosines = "('6)";
define scale = "('7)";
define rate = "('10)";
define exponent = "('11)";
define asymptote = "('12)";
define fm = "('13)";
define run_mode = "('14)";
define envelope = "('15)";
define add_sum_memory = "('0)";
define function = "('1)";
define coeff0 = "('3)";
define coeff1 = "('4)";
define term_0 = "('5)";
define term_1 = "('6)";
define a_in = "('7)";
define b_in = "('10)";
define a_scale = "('11)";
define b_scale = "('12)";
define replace_sum_memory = "('13)";
define invoke_delay_unit = "('14)";
define base_address = "('0)";
define delay_length = "('3)";
define index = "('4)";
define reset_tick_counter = "('0)";
define inhibit_processing_ticks = "('1)";
define permit_processing_ticks = "('2)";
define reset = "('3)";
define wait_clear = "('4)";
define pause_clear = "('5)";
define stop = "('6)";
define optimize = "('7)";
define non_optimize = "('10)";
define control_mode = "('0)";
define PIA = "('1)";
define diagnostic_address = "('2)";
define dx_load = "('3)";
define ttl_load = "('4)";
define processing_ticks = "('5)";
define total_ticks = "('6)";
define dwell = "('7)";
define linger=dwell;
define set_passes = "('10)";
define clear_passes_dwell = "('11)";
define packing_mode = "('14)";
define full_word = "('0)";
define left_justified = "('1)";
define right_justified = "('2)";
define address = "('0)";
define size_buffer = "('1)";
define flusher = "('3)";
define max_sfield = "(flusher)";

define maxPass=2↑20-2↑12-1; comment this is the largest Linger the box will swallow;