static void evaluate_dynamical_model(AMOContext_Context submodel_ctx) { /* Local common sub-expressions. */ ZERO_SIZE_ARRAY(cs); ZERO_SIZE_ARRAY(is); ZERO_SIZE_ARRAY(bs); ZERO_SIZE_ARRAY(rs); ZERO_SIZE_ARRAY(ss); /* Evaluating toplevel systems. */ SET_B(0, FALSE) /* idb__ */; SET_B(1, FALSE) /* idb___0 */; SET_R( 16, IF( GT_TRIGGER(1), R(14) /* ifield */ * ( R(14) /* ifield */ * ( 5.8160000000000001e-001 * R(14) /* ifield */ + - 2.9315000000000002e+000 ) + 4.6432000000000002e+000 ), 0.0000000000000000e+000 ) ) /* k */; SET_R(0, R(16) /* k */ * (1.0471975511999999e-001 * R(17) /* speed */)) /* BEMF */; SET_R( 4, IF( BNOT(GE_TRIGGER(0)), (- 1.0000000000000000e+000 * R(6) /* Rarm1 */ + R(5) /* Rarm0 */) * ( TIME * ( - 1.0000000000000000e+000 * RIPOW(R(18) /* tswitchoff */, - 1) ) + 1.0000000000000000e+000 ) + R(6) /* Rarm1 */, R(6) /* Rarm1 */ ) ) /* Rarm */; SET_R( 13, RIPOW(R(4) /* Rarm */, - 1) * ( - 1.0000000000000000e+000 * R(0) /* BEMF */ + 1.4000000000000000e+002 ) ) /* iarm */; SET_R(12, R(14) /* ifield */ + R(13) /* iarm */) /* i */; SET_R(2, 1.4000000000000000e+002 * R(12) /* i */) /* Pe */; SET_R(8, R(13) /* iarm */ * R(16) /* k */) /* Tem */; SET_R( 3, R(8) /* Tem */ * (1.0471975511999999e-001 * R(17) /* speed */) ) /* Pem */; SET_R( 10, RIPOW(R(1) /* Lfield */, - 1) * ( R(7) /* Rfield */ * (- 1.0000000000000000e+000 * R(14) /* ifield */) + 1.4000000000000000e+002 ) ) /* der(ifield) */; SET_R( 11, 9.5492965854826952e+000 * ( R(9) /* cvisc */ * (- 1.0000000000000000e+000 * R(17) /* speed */) + R(8) /* Tem */ ) ) /* der(speed) */; SET_R(19, 1.4000000000000000e+002) /* u */; return; }
static READ8_DEVICE_HANDLER (ac1_port_a_r) { UINT8 line0 = input_port_read(device->machine(), "LINE0"); UINT8 line1 = input_port_read(device->machine(), "LINE1"); UINT8 line2 = input_port_read(device->machine(), "LINE2"); UINT8 line3 = input_port_read(device->machine(), "LINE3"); UINT8 line4 = input_port_read(device->machine(), "LINE4"); UINT8 line5 = input_port_read(device->machine(), "LINE5"); UINT8 line6 = input_port_read(device->machine(), "LINE6"); UINT8 SH = BNOT(BIT(line6,0)); UINT8 CTRL = BNOT(BIT(line6,1)); UINT8 SPACE = BIT(line6,2); UINT8 ENTER = BIT(line6,3); UINT8 BACK = BIT(line6,4); UINT8 all = line0 | line1 | line2 | line3 | line4 | line5; UINT8 s1 = BNOT(BIT(all,0));UINT8 z1 = (line0 !=0) ? 0 : 1; UINT8 s2 = BNOT(BIT(all,1));UINT8 z2 = (line1 !=0) ? 0 : 1; UINT8 s3 = BNOT(BIT(all,2));UINT8 z3 = (line2 !=0) ? 0 : 1; UINT8 s4 = BNOT(BIT(all,3));UINT8 z4 = (line3 !=0) ? 0 : 1; UINT8 s5 = BNOT(BIT(all,4));UINT8 z5 = (line4 !=0) ? 0 : 1; UINT8 s6 = BNOT(BIT(all,5));UINT8 z6 = (line5 !=0) ? 0 : 1; UINT8 s7 = BNOT(BIT(all,6)); UINT8 s8 = BNOT(BIT(all,7)); UINT8 tast,td0,td1,td2,td3,td4,td5,td6,dg5; /* Additional double keys */ if (SPACE) { z1 = 0; s1 = 0; SH = 0; } if (ENTER) { z4 = 0; s6 = 0; CTRL = 0; } if (BACK) { z4 = 0; s1 = 0; CTRL = 0; } tast = BNOT(s1 & s2 & s3 & s4 & s5 &s6 & s7 & s8); td0 = BNOT(s2 & s4 & s6 & s8); td1 = BNOT(s3 & s4 & s7 & s8); td2 = BNOT(s5 & s6 & s7 & s8); td3 = BNOT(z2 & z4 & z6); td4 = BNOT(BNOT(BNOT(z1 & z2) & SH) & z5 & z6); dg5 = BNOT(z3 & z4 & z5 & z6); td5 = BNOT(BNOT(dg5 & BNOT(SH)) & z1 & z2); td6 = (dg5 & CTRL); return td0 + (td1 << 1) +(td2 << 2) +(td3 << 3) +(td4 << 4) +(td5 << 5) +(td6 << 6) +(tast << 7); }
static void evaluate_initial_model(AMOContext_Context submodel_ctx) { /* Local common sub-expressions. */ ZERO_SIZE_ARRAY(cs); ZERO_SIZE_ARRAY(is); ZERO_SIZE_ARRAY(bs); ZERO_SIZE_ARRAY(rs); ZERO_SIZE_ARRAY(ss); /* Evaluating toplevel systems. */ SET_B(0, TIME >= 2.5000000000000000e+000) /* idb__ */; SET_B(1, R(14) /* ifield */ > 0.0000000000000000e+000) /* idb___0 */; SET_R( 16, IF( B(1) /* idb___0 */, R(14) /* ifield */ * ( R(14) /* ifield */ * ( 5.8160000000000001e-001 * R(14) /* ifield */ + - 2.9315000000000002e+000 ) + 4.6432000000000002e+000 ), 0.0000000000000000e+000 ) ) /* k */; SET_R(0, R(16) /* k */ * (1.0471975511999999e-001 * R(17) /* speed */)) /* BEMF */; SET_R(1, 1.0000000000000001e-001) /* Lfield */; SET_R( 4, IF( BNOT(B(0) /* idb__ */), 3.6000000000000001e+000 * ( TIME * ( - 1.0000000000000000e+000 * RIPOW(2.5000000000000000e+000, - 1) ) + 1.0000000000000000e+000 ) + 4.0000000000000002e-001, 4.0000000000000002e-001 ) ) /* Rarm */; SET_R( 13, RIPOW(R(4) /* Rarm */, - 1) * ( - 1.0000000000000000e+000 * R(0) /* BEMF */ + 1.4000000000000000e+002 ) ) /* iarm */; SET_R(12, R(14) /* ifield */ + R(13) /* iarm */) /* i */; SET_R(2, 1.4000000000000000e+002 * R(12) /* i */) /* Pe */; SET_R(8, R(13) /* iarm */ * R(16) /* k */) /* Tem */; SET_R( 3, R(8) /* Tem */ * (1.0471975511999999e-001 * R(17) /* speed */) ) /* Pem */; SET_R(5, 4.0000000000000000e+000) /* Rarm0 */; SET_R(6, 4.0000000000000002e-001) /* Rarm1 */; SET_R(7, 2.7500000000000000e+002) /* Rfield */; SET_R(9, 1.7000000000000001e-002) /* cvisc */; SET_R( 10, RIPOW(1.0000000000000001e-001, - 1) * ( - 2.7500000000000000e+002 * R(14) /* ifield */ + 1.4000000000000000e+002 ) ) /* der(ifield) */; SET_R( 11, 9.5492965854826952e+000 * (- 1.7000000000000001e-002 * R(17) /* speed */ + R(8) /* Tem */) ) /* der(speed) */; SET_R(15, 5.9999999999999998e-001) /* inertia */; SET_R(18, 2.5000000000000000e+000) /* tswitchoff */; SET_R(19, 1.4000000000000000e+002) /* u */; return; }