* Notes * FIXME: breakout generates some spurious hsync in the middle of line 27 * */ // identify unknown devices in IDE #define NETLIST_DEVELOPMENT 0 #include "netlist/nl_dice_compat.h" #define SLOW_BUT_ACCURATE 0 //2 555 timers static Astable555Desc b2_555_desc(OHM(560.0), M_OHM(1.8), U_FARAD(0.1)); static Mono555Desc c9_555_desc(OHM(47000.0), U_FARAD(1.0)); // R33, C21 static CapacitorDesc c32_desc(U_FARAD(0.1)); static CapacitorDesc c36_desc(N_FARAD(1.0)); //0.001uF = 1nF static CapacitorDesc c37_desc(P_FARAD(330.0)); static Mono9602Desc n8_desc(K_OHM(33.0), U_FARAD(100.0), K_OHM(5.6), P_FARAD(0)); // No capacitor on 2nd 9602 static Mono9602Desc f3_desc(K_OHM(47.0), U_FARAD(1.0), K_OHM(47.0), U_FARAD(1.0)); static Mono9602Desc a7_desc(K_OHM(68.0), U_FARAD(1.0), K_OHM(22.0), U_FARAD(10.0)); static Mono9602Desc a8_desc(K_OHM(27.0), U_FARAD(1.0), K_OHM(27.0), U_FARAD(1.0)); CIRCUIT_LAYOUT( breakout )
static Paddle2VerticalDesc pad2_desc(4000.0, 94000.0, &_3f_555_desc); static Paddle3VerticalDesc pad3_desc(4000.0, 94000.0, &_3h_555_desc); static Paddle4VerticalDesc pad4_desc(4000.0, 94000.0, &_5f_555_desc); static CapacitorDesc c1_desc(U_FARAD(0.001)); static CapacitorDesc c2_desc(U_FARAD(0.001)); static CapacitorDesc c3_desc(U_FARAD(0.001)); static CapacitorDesc c4_desc(U_FARAD(0.001)); static CapacitorDesc c5_desc(U_FARAD(0.001)); static CapacitorDesc c6_desc(P_FARAD(100.0)); static CapacitorDesc c7_desc(U_FARAD(0.01)); static BufferDesc buf1_desc(DELAY_NS(25.0), DELAY_NS(25.0)); // 25 ns buffer to prevent resonance in RC circuits static BufferDesc buf2_desc(DELAY_NS(25.0), DELAY_NS(25.0)); // 25 ns buffer to prevent resonance in RC circuits static SeriesRCDesc rc1_desc(OHM(220.0), U_FARAD(350.0)); static SeriesRCDesc rc2_desc(OHM(220.0), U_FARAD(470.0)); static PotentimeterAstable555Desc pot1_desc("playtime", "Play Time", K_OHM(35.0), K_OHM(10.0), K_OHM(60.0), _9d_555_desc); // Hack to improve performance static CHIP_LOGIC( diode_matrix_custom_n ) { DIODE_LAYOUT* d_l = (DIODE_LAYOUT*)custom_data; int y = 4*pin[i5] + 2*pin[i4] + pin[i3]; int x = 2*pin[i2] + pin[i1]; pin[6] = (*d_l)[y][x]; }