1 // license:BSD-3-Clause 2 // copyright-holders:Ryan Holtz 3 // 4 // Netlist for Fire One 5 // 6 // Derived from the schematics in the manual. 7 // 8 // Known problems/issues: 9 // 10 // * Slow! 11 // 12 13 #include "netlist/devices/net_lib.h" 14 15 // 16 // Main netlist 17 // 18 19 NETLIST_START(fireone) 20 SOLVER(Solver, 48000) 21 22 ANALOG_INPUT(V12, 12) 23 ANALOG_INPUT(VM12, -12) 24 ANALOG_INPUT(V5, 5) 25 ALIAS(VCC, V5) 26 27 NET_MODEL("PIT8253PORT FAMILY(TYPE=NMOS OVL=0.05 OVH=0.05 ORL=100.0 ORH=0.5k)") 28 29 TTL_INPUT(LTORP, 0) // active high 30 TTL_INPUT(LSHPHT, 0) // active high 31 TTL_INPUT(LBOOM, 0) // active high 32 TTL_INPUT(SOUND_OFF_L, 0) // active high 33 TTL_INPUT(SOUND_OFF_R, 0) // active high 34 TTL_INPUT(RTORP, 0) // active high 35 TTL_INPUT(RSHPHT, 0) // active high 36 TTL_INPUT(RBOOM, 0) // active high 37 TTL_INPUT(TORPCOLL, 0) // active high 38 TTL_INPUT(SUBENG, 0) // active high 39 TTL_INPUT(ALERT, 0) // active high 40 //TTL_INPUT(SONAR_ENABLE, 0) // active high 41 TTL_INPUT(SONAR_SYNC, 0) // active low 42 43 LOGIC_INPUT(MUSIC_A, 0, "PIT8253PORT") 44 LOGIC_INPUT(MUSIC_B, 0, "PIT8253PORT") 45 LOGIC_INPUT(MUSIC_C, 0, "PIT8253PORT") 46 47 NET_C(VCC, LTORP.VCC, LSHPHT.VCC, LBOOM.VCC, SOUND_OFF_L.VCC, SOUND_OFF_R.VCC, RTORP.VCC, RSHPHT.VCC, RBOOM.VCC, TORPCOLL.VCC, SUBENG.VCC, ALERT.VCC, SONAR_SYNC.VCC) 48 NET_C(GND, LTORP.GND, LSHPHT.GND, LBOOM.GND, SOUND_OFF_L.GND, SOUND_OFF_R.GND, RTORP.GND, RSHPHT.GND, RBOOM.GND, TORPCOLL.GND, SUBENG.GND, ALERT.GND, SONAR_SYNC.GND) 49 NET_C(VCC, MUSIC_A.VCC, MUSIC_B.VCC, MUSIC_C.VCC) 50 NET_C(GND, MUSIC_A.GND, MUSIC_B.GND, MUSIC_C.GND) 51 52 TTL_7406_GATE(IC27_A) 53 TTL_7406_GATE(IC27_B) 54 TTL_7406_GATE(IC27_C) 55 TTL_7406_GATE(IC27_D) 56 NET_C(VCC, IC27_A.VCC, IC27_B.VCC, IC27_C.VCC, IC27_D.VCC) 57 NET_C(GND, IC27_A.GND, IC27_B.GND, IC27_C.GND, IC27_D.GND) 58 59 //CD4070_GATE(IC41_A) 60 //CD4070_GATE(IC41_B) 61 CD4070_GATE(IC41_C) 62 CD4070_GATE(IC41_D) 63 NET_C(V12, /*IC41_A.VDD, IC41_B.VDD,*/ IC41_C.VDD, IC41_D.VDD) 64 NET_C(GND, /*IC41_A.VSS, IC41_B.VSS,*/ IC41_C.VSS, IC41_D.VSS) 65 66 CD4006_DIP(IC40) 67 NET_C(V12, IC40.14) 68 NET_C(GND, IC40.7) 69 70 CD4017_DIP(IC25) 71 NET_C(V12, IC25.16) 72 NET_C(GND, IC25.8) 73 74 CD4013(IC3_A) 75 CD4013(IC3_B) 76 NET_C(V12, IC3_A.VDD, IC3_B.VDD) 77 NET_C(GND, IC3_A.VSS, IC3_A.SET, IC3_A.RESET, IC3_B.VSS, IC3_B.SET) 78 79 MC1558_DIP(IC6) 80 NET_C(IC6.8, V12) 81 NET_C(IC6.4, VM12) 82 83 MC1558_DIP(IC16) 84 NET_C(IC16.8, V12) 85 NET_C(IC16.4, VM12) 86 87 MC1558_DIP(IC17) 88 NET_C(IC17.8, V12) 89 NET_C(IC17.4, VM12) 90 91 NE555(IC29) 92 93 SUBMODEL(NE556_DIP, IC31) 94 NET_C(IC31.14, V5) 95 NET_C(IC31.7, GND) 96 97 MC3340_DIP(IC28) 98 NET_C(IC28.8, V12) 99 NET_C(IC28.3, GND) 100 101 MC3340_DIP(IC30) 102 NET_C(IC30.8, V12) 103 NET_C(IC30.3, GND) 104 105 SUBMODEL(ICL8038_DIP, IC15) 106 NET_C(V12, IC15.6) 107 NET_C(GND, IC15.11) 108 109 LM3900(IC2_A) 110 LM3900(IC2_D) 111 LM3900(IC4_A) 112 LM3900(IC4_B) 113 LM3900(IC4_D) 114 LM3900(IC14_A) 115 LM3900(IC14_B) 116 LM3900(IC14_C) 117 LM3900(IC14_D) 118 NET_C(V12, IC2_A.VCC, IC2_D.VCC, IC4_A.VCC, IC4_B.VCC, IC4_D.VCC, IC14_A.VCC, IC14_B.VCC, IC14_C.VCC, IC14_D.VCC) 119 NET_C(GND, IC2_A.GND, IC2_D.GND, IC4_A.GND, IC4_B.GND, IC4_D.GND, IC14_A.GND, IC14_B.GND, IC14_C.GND, IC14_D.GND) 120 121 RES(R1, RES_K(560)) 122 RES(R2, RES_K(560)) 123 RES(R3, RES_K(560)) 124 RES(R4, RES_K(560)) 125 RES(R5, RES_K(560)) 126 RES(R6, RES_K(560)) 127 RES(R8, RES_M(2)) 128 RES(R9, RES_K(820)) 129 RES(R10, RES_K(220)) 130 RES(R11, RES_K(620)) 131 RES(R12, RES_K(3.9)) 132 RES(R13, RES_K(3.9)) 133 RES(R14, RES_K(3.9)) 134 RES(R15, RES_M(5.6)) 135 RES(R16, RES_K(680)) 136 RES(R17, RES_K(10)) 137 RES(R18, RES_K(1)) 138 RES(R19, RES_K(150)) 139 RES(R20, RES_K(2)) 140 RES(R21, RES_K(180)) 141 RES(R22, RES_K(180)) 142 RES(R23, RES_K(130)) 143 RES(R24, RES_K(10)) 144 RES(R25, RES_K(2)) 145 RES(R26, RES_K(68)) 146 RES(R27, RES_K(270)) 147 RES(R28, RES_K(10)) 148 RES(R29, RES_K(130)) 149 RES(R31, RES_K(560)) 150 RES(R32, RES_K(220)) 151 RES(R33, RES_M(1.2)) 152 RES(R34, RES_K(12)) 153 RES(R35, RES_K(1)) 154 RES(R36, RES_K(15)) 155 RES(R37, RES_K(15)) 156 RES(R38, RES_K(820)) 157 RES(R39, RES_M(1)) 158 RES(R40, RES_K(220)) 159 RES(R41, RES_K(680)) 160 RES(R42, RES_K(820)) 161 RES(R43, RES_K(12)) 162 RES(R44, RES_K(560)) 163 RES(R45, RES_M(1.2)) 164 RES(R46, RES_K(680)) 165 RES(R47, RES_M(1.2)) 166 RES(R48, RES_K(12)) 167 RES(R49, RES_M(1.2)) 168 RES(R50, RES_K(820)) 169 RES(R51, RES_M(5.6)) 170 RES(R52, RES_K(680)) 171 RES(R53, RES_K(680)) 172 RES(R54, RES_M(2)) 173 RES(R55, RES_K(1)) 174 RES(R56, RES_K(10)) 175 RES(R57, RES_K(680)) 176 RES(R58, RES_M(1)) 177 RES(R59, RES_K(43)) 178 RES(R60, RES_K(43)) 179 RES(R61, RES_K(150)) 180 RES(R62, RES_M(1)) 181 //RES(R63, RES_K(82)) 182 POT(R64, RES_K(10)) 183 POT(R65, RES_K(10)) 184 RES(R66, RES_K(27)) 185 RES(R67, RES_K(68)) 186 RES(R68, RES_K(100)) 187 RES(R69, RES_M(1)) 188 RES(R70, RES_K(10)) 189 RES(R71, RES_K(16)) 190 RES(R72, RES_K(68)) 191 RES(R73, RES_K(47)) 192 RES(R74, RES_K(12)) 193 RES(R75, RES_K(120)) 194 RES(R76, RES_K(33)) 195 RES(R77, RES_K(33)) 196 RES(R78, RES_K(150)) 197 RES(R79, RES_K(130)) 198 RES(R80, RES_K(130)) 199 RES(R81, RES_K(560)) 200 RES(R82, RES_K(160)) 201 RES(R83, RES_M(1)) 202 RES(R84, RES_K(100)) 203 RES(R85, RES_K(270)) 204 RES(R86, RES_K(16)) 205 RES(R87, RES_K(100)) 206 RES(R94, RES_K(1)) 207 RES(R95, RES_K(1)) 208 RES(R96, RES_K(1)) 209 RES(R99, RES_K(1)) 210 RES(R100, RES_K(1)) 211 //RES(R101, RES_K(10)) 212 RES(R102, RES_K(3)) 213 RES(R103, RES_K(3)) 214 RES(R104, RES_M(1)) 215 RES(R105, RES_K(100)) 216 RES(R106, RES_K(100)) 217 RES(R107, RES_K(47)) 218 RES(R108, RES_K(20)) 219 RES(R109, RES_K(560)) 220 RES(R110, RES_K(1)) 221 RES(R116, RES_K(4.7)) 222 RES(R117, RES_K(20)) 223 RES(R118, RES_K(560)) 224 RES(R119, RES_K(560)) 225 RES(R120, RES_K(5.6)) 226 RES(R122, RES_K(2.7)) 227 RES(R123, RES_K(100)) 228 RES(R124, RES_K(3)) 229 RES(R125, RES_K(3)) 230 RES(R126, RES_K(6.8)) 231 RES(R127, RES_K(8.2)) 232 RES(R132, RES_M(1)) 233 RES(R133, RES_M(1)) 234 RES(R134, RES_M(1)) 235 RES(R135, RES_M(1)) 236 RES(R137, RES_K(5.6)) 237 RES(R138, RES_K(47)) 238 RES(R139, 100) 239 RES(R140, RES_K(10)) 240 RES(R141, RES_K(3)) 241 //RES(R142, RES_K(56)) 242 //RES(R143, RES_K(56)) 243 RES(R144, RES_K(100)) 244 RES(R150, RES_K(100)) 245 246 CAP(C3, CAP_U(1.0)) 247 CAP(C4, CAP_U(0.1)) 248 CAP(C6, CAP_U(4.7)) 249 CAP(C7, CAP_U(0.33)) 250 CAP(C8, CAP_U(0.33)) 251 CAP(C10, CAP_U(0.1)) 252 CAP(C11, CAP_U(2.2)) 253 CAP(C12, CAP_U(2.2)) 254 CAP(C13, CAP_U(4.7)) 255 CAP(C14, CAP_U(2.2)) 256 CAP(C15, CAP_U(1.0)) 257 CAP(C16, CAP_U(10)) 258 CAP(C17, CAP_U(0.1)) 259 CAP(C18, CAP_U(0.1)) 260 CAP(C20, CAP_U(10)) 261 CAP(C22, CAP_U(0.033)) 262 CAP(C23, CAP_U(0.33)) 263 CAP(C26, CAP_U(0.022)) 264 CAP(C27, CAP_U(0.022)) 265 CAP(C35, CAP_U(0.0022)) 266 CAP(C37, CAP_U(0.0022)) 267 CAP(C38, CAP_U(0.1)) 268 CAP(C39, CAP_U(0.0022)) 269 CAP(C40, CAP_U(0.033)) 270 CAP(C41, CAP_U(1.0)) 271 CAP(C42, CAP_U(1.0)) 272 CAP(C44, CAP_U(0.0047)) 273 CAP(C45, CAP_U(0.1)) 274 CAP(C48, CAP_U(0.1)) 275 CAP(C49, CAP_U(0.0022)) 276 CAP(C50, CAP_U(1.0)) 277 CAP(C51, CAP_U(0.1)) 278 CAP(C52, CAP_U(0.1)) 279 CAP(C55, CAP_U(0.1)) 280 CAP(C70, CAP_U(1.0)) 281 CAP(C72, CAP_U(2.2)) 282 CAP(C73, CAP_U(1.0)) 283 CAP(C74, CAP_U(1.0)) 284 CAP(C75, CAP_U(0.1)) 285 CAP(C80, CAP_U(1.0)) 286 CAP(C81, CAP_U(0.1)) 287 CAP(C82, CAP_U(0.1)) 288 CAP(C84, CAP_U(0.1)) 289 CAP(C85, CAP_U(2.2)) 290 CAP(C97, CAP_U(0.0022)) 291 CAP(C98, CAP_U(0.0022)) 292 CAP(C100, CAP_U(0.22)) 293 //CAP(C102, CAP_U(0.001)) 294 CAP(C106, CAP_U(0.1)) 295 CAP(C109, CAP_U(0.1)) 296 CAP(C114, CAP_U(0.1)) 297 CAP(C121, CAP_U(0.001)) 298 CAP(C122, CAP_U(0.001)) 299 300 DIODE(D1, "1N914") 301 DIODE(D2, "1N914") 302 DIODE(D3, "1N914") 303 DIODE(D4, "1N914") 304 DIODE(D5, "1N914") 305 DIODE(D6, "1N914") 306 DIODE(D7, "1N914") 307 DIODE(D8, "1N914") 308 DIODE(D9, "1N914") 309 DIODE(D10, "1N914") 310 DIODE(D11, "1N914") 311 DIODE(D12, "1N914") 312 DIODE(D13, "1N914") 313 DIODE(D14, "1N914") 314 DIODE(D15, "1N914") 315 316 QBJT_EB(Q1, "2N3704") 317 QBJT_EB(Q2, "2N3704") 318 319 // Noise Generator 320 CLOCK(HLE_SONAR_CLOCK, 1000) 321 NET_C(HLE_SONAR_CLOCK.GND, GND) 322 NET_C(HLE_SONAR_CLOCK.VCC, V12) 323 324 SWITCH2(SONAR_ENABLE) 325 NET_C(SONAR_ENABLE.1, HLE_SONAR_CLOCK.Q) 326 NET_C(SONAR_ENABLE.2, GND) 327 NET_C(SONAR_ENABLE.Q, IC40.3) 328 329 NET_C(IC40.1, IC40.12, IC41_C.A) 330 NET_C(IC40.4, IC41_C.Q) 331 NET_C(IC40.5, IC41_D.Q) 332 NET_C(R141.1, IC40.6, IC40.10, C45.1) 333 ALIAS(NOISE_A, R141.1) 334 NET_C(R141.2, R140.1) 335 NET_C(R140.2, V12) 336 ALIAS(NOISE, R140.1) 337 NET_C(IC40.8, IC41_C.B) 338 NET_C(IC40.13, IC41_D.A) 339 340 // Sonar 341 NET_C(IC27_A.A, SONAR_SYNC.Q) 342 NET_C(IC27_A.Y, R70.1, IC25.15, IC41_D.B) 343 NET_C(R70.2, V12, IC29.RESET) 344 NET_C(IC29.GND, GND) 345 NET_C(IC29.VCC, V12) 346 NET_C(IC29.DISCH, R110.1, R107.1) 347 NET_C(R110.2, V12) 348 NET_C(IC29.THRESH, IC29.TRIG, R107.2, C72.1) 349 NET_C(C72.2, GND) 350 NET_C(IC29.OUT, D3.K, IC3_A.CLOCK) 351 NET_C(IC3_A.QQ, IC3_A.DATA) 352 NET_C(IC3_A.Q, D2.K, IC25.14) 353 NET_C(IC25.13, GND) 354 NET_C(IC25.2, R36.1) 355 NET_C(IC25.4, R72.1) 356 NET_C(IC25.10, R73.1) 357 NET_C(IC25.11, R75.1) 358 NET_C(R36.2, R72.2, R73.2, R75.2, D3.A, D2.A, R19.2, Q2.C) 359 NET_C(NOISE_A, R138.1) 360 NET_C(R138.2, C100.1, R137.1) 361 NET_C(C100.2, GND) 362 NET_C(R137.2, R139.1, C27.1, C26.1, R19.1) 363 NET_C(R139.2, GND) 364 NET_C(IC6.3, GND) 365 NET_C(IC6.2, R38.1, C27.2) 366 NET_C(IC6.1, R37.1, R38.2, R85.1, R27.1, C26.2) 367 NET_C(R37.2, D7.A, D8.K, IC6.5) 368 NET_C(D7.K, GND) 369 NET_C(D8.A, GND) 370 NET_C(IC6.6, R35.1, R39.1) 371 NET_C(R35.2, C23.1) 372 NET_C(C23.2, GND) 373 NET_C(IC6.7, R56.1, R39.2) 374 NET_C(R56.2, D14.K, Q2.B) 375 NET_C(D14.A, GND) 376 NET_C(Q2.E, GND) 377 378 ALIAS(MIX_L, R27.2) 379 ALIAS(MIX_R, R85.2) 380 381 // Low Filter 382 NET_C(C45.2, R68.1) 383 NET_C(R68.2, IC16.6, R66.1) 384 NET_C(IC16.5, GND) 385 NET_C(R66.2, IC16.7, R71.1) 386 NET_C(R71.2, R86.1, C51.1) 387 NET_C(R86.2, C55.1, IC17.5) 388 NET_C(C55.2, GND) 389 NET_C(C51.2, IC17.7, R82.1) 390 NET_C(R82.2, IC17.6, R123.1) 391 NET_C(R123.2, GND) 392 ALIAS(RUMBLE, IC17.7) 393 394 // Submarine Engine 395 NET_C(IC31.4, V5) 396 NET_C(IC31.1, R120.1, R122.1) 397 NET_C(R120.2, V5) 398 NET_C(IC31.2, IC31.6, IC31.11, R122.2, C85.1) 399 NET_C(C85.2, GND) 400 NET_C(IC31.5, GND) 401 NET_C(IC31.13, R126.1, R127.1) 402 NET_C(R126.2, V5) 403 NET_C(IC31.8, IC31.12, R127.2, C84.1) 404 NET_C(C84.2, GND) 405 NET_C(IC31.10, SUBENG.Q) 406 NET_C(IC31.9, R124.1) 407 NET_C(R124.2, R125.1, C114.1) 408 NET_C(C114.2, GND) 409 NET_C(R125.2, R79.1, R80.1, C52.1) 410 NET_C(C52.2, GND) 411 NET_C(R79.2, MIX_L) 412 NET_C(R80.2, MIX_R) 413 414 // Ship Explosion (L) 415 NET_C(RUMBLE, R87.1) 416 NET_C(R87.2, R84.1, C80.1) 417 NET_C(R84.2, GND) 418 NET_C(IC30.1, C80.2) 419 NET_C(IC30.7, R117.1) 420 NET_C(IC30.6, C81.1) 421 NET_C(C81.2, GND) 422 NET_C(LBOOM.Q, IC27_C.A) 423 NET_C(IC27_C.Y, R103.1) 424 NET_C(R103.2, R104.1, C70.1) 425 NET_C(C70.2, GND) 426 NET_C(R104.2, IC17.3, R83.1) 427 NET_C(R83.2, V5) 428 NET_C(IC17.1, IC17.2, IC30.2) 429 NET_C(R117.2, MIX_L) 430 431 // Ship Explosion (R) 432 NET_C(RUMBLE, R105.1) 433 NET_C(R105.2, R106.1, C74.1) 434 NET_C(R106.2, GND) 435 NET_C(IC28.1, C74.2) 436 NET_C(IC28.7, R108.1) 437 NET_C(IC28.6, C75.1) 438 NET_C(C75.2, GND) 439 NET_C(RBOOM.Q, IC27_D.A) 440 NET_C(IC27_D.Y, R102.1) 441 NET_C(R102.2, R69.1, C73.1) 442 NET_C(C73.2, GND) 443 NET_C(R69.2, IC16.3, R62.1) 444 NET_C(R62.2, V5) 445 NET_C(IC16.1, IC16.2, IC28.2) 446 NET_C(R108.2, MIX_R) 447 448 // Torpedo (L) 449 NET_C(LTORP.Q, R100.1, D10.A, D11.A) 450 NET_C(R100.2, V5) 451 NET_C(D10.K, C7.1, R46.1) 452 NET_C(D11.K, C14.1, R53.1) 453 NET_C(C7.2, C14.2, R132.2, R133.2, GND) 454 NET_C(R53.2, IC14_C.PLUS) 455 NET_C(R51.1, V12) 456 NET_C(R51.2, C42.1, R54.1, IC14_C.MINUS) 457 NET_C(R54.2, C42.2, IC14_C.OUT, R57.1) 458 NET_C(R57.2, R46.2, IC14_B.PLUS) 459 NET_C(NOISE, R42.1) 460 NET_C(R42.2, R47.1, IC14_B.MINUS) 461 NET_C(R47.2, C35.1, IC14_B.OUT) 462 NET_C(C35.2, R132.1, C98.1) 463 NET_C(C98.2, R133.1, R118.1) 464 NET_C(R118.2, MIX_L) 465 466 // Torpedo (R) 467 NET_C(RTORP.Q, R55.1, D12.A, D9.A) 468 NET_C(R55.2, V5) 469 NET_C(D12.K, C8.1, R52.1) 470 NET_C(D9.K, C12.1, R16.1) 471 NET_C(C8.2, C12.2, R134.2, R135.2, GND) 472 NET_C(R16.2, IC2_A.PLUS) 473 NET_C(R15.1, V12) 474 NET_C(R15.2, C3.1, R8.1, IC2_A.MINUS) 475 NET_C(R8.2, C3.2, IC2_A.OUT, R41.1) 476 NET_C(R41.2, R52.2, IC14_A.PLUS) 477 NET_C(NOISE, R50.1) 478 NET_C(R50.2, R49.1, IC14_A.MINUS) 479 NET_C(R49.2, C37.1, IC14_A.OUT) 480 NET_C(C37.2, R134.1, C97.1) 481 NET_C(C97.2, R135.1, R109.1) 482 NET_C(R109.2, MIX_R) 483 484 // Ship Partial Hit (L) 485 NET_C(LSHPHT.Q, R94.1, D6.A) 486 NET_C(R94.2, V5) 487 NET_C(D6.K, C13.1, R32.1) 488 NET_C(C13.2, C49.2, C22.2, GND) 489 NET_C(R32.2, IC4_D.PLUS) 490 NET_C(NOISE, R31.1) 491 NET_C(R31.2, R33.1, IC4_D.MINUS) 492 NET_C(R33.2, R34.1, IC4_D.OUT) 493 NET_C(R34.2, C49.1, R74.1) 494 NET_C(R74.2, C22.1, R78.1) 495 NET_C(R78.2, MIX_L) 496 497 // Ship Partial Hit (R) 498 NET_C(RSHPHT.Q, R99.1, D13.A) 499 NET_C(R99.2, V5) 500 NET_C(D13.K, C6.1, R40.1) 501 NET_C(C6.2, C39.2, C40.2, GND) 502 NET_C(R40.2, IC14_D.PLUS) 503 NET_C(NOISE, R44.1) 504 NET_C(R44.2, R45.1, IC14_D.MINUS) 505 NET_C(R45.2, R48.1, IC14_D.OUT) 506 NET_C(R48.2, C39.1, R43.1) 507 NET_C(R43.2, C40.1, R61.1) 508 NET_C(R61.2, MIX_L) 509 510 // Torpedo Collision 511 NET_C(TORPCOLL.Q, R95.1, D1.A) 512 NET_C(R95.2, V5) 513 NET_C(D1.K, C11.1, R10.1) 514 NET_C(C11.2, C4.2, C38.2, GND) 515 NET_C(R10.2, IC2_D.PLUS) 516 NET_C(NOISE, R11.1) 517 NET_C(R11.2, R9.1, IC2_D.MINUS) 518 NET_C(R9.2, R12.1, IC2_D.OUT) 519 NET_C(R12.2, C4.1, R13.1) 520 NET_C(R13.2, C38.1, R76.1, R77.1) 521 NET_C(R77.2, MIX_L) 522 NET_C(R76.2, MIX_R) 523 524 // Alert 525 NET_C(ALERT.Q, IC27_B.A) 526 NET_C(IC27_B.Y, R96.2, D15.A, IC3_B.RESET) 527 NET_C(D15.K, C41.2, Q1.C, IC15.8) 528 NET_C(R14.2, R17.1, Q1.B) 529 NET_C(Q1.E, R58.1) 530 NET_C(IC15.10, C44.1) 531 NET_C(IC15.4, R59.2) 532 NET_C(IC15.5, R60.2) 533 NET_C(IC15.9, R116.2, IC3_B.CLOCK) 534 NET_C(IC3_B.QQ, IC3_B.DATA) 535 NET_C(IC3_B.Q, R18.1) 536 NET_C(R18.2, C10.1, R119.1, R81.1) 537 NET_C(V12, R96.1, C41.1, R14.1, R116.1, R59.1, R60.1) 538 NET_C(GND, R17.2, R58.2, C44.2, C10.2) 539 NET_C(R119.2, MIX_L) 540 NET_C(R81.2, MIX_R) 541 542 // Mixers (shared) 543 NET_C(SOUND_OFF_L.Q, D4.A) 544 NET_C(SOUND_OFF_R.Q, D5.A) 545 546 // Music 547 NET_C(MUSIC_A.Q, R1.1, R4.1) 548 NET_C(MUSIC_B.Q, R5.1, R6.1) 549 NET_C(MUSIC_C.Q, R3.1, R2.1) 550 NET_C(R1.2, R3.2, R5.2, MIX_L) 551 NET_C(R2.2, R4.2, R6.2, MIX_R) 552 553 // Mixer (L) 554 NET_C(MIX_L, C15.1) 555 NET_C(R25.1, V12) 556 NET_C(R25.2, C16.1, C48.1, R23.1) 557 NET_C(C16.2, C48.2, C82.2, R64.1, R144.2, GND) 558 NET_C(R23.2, IC4_A.PLUS) 559 NET_C(D4.K, C82.1, R24.1) 560 NET_C(R24.2, C15.2, IC4_A.MINUS, R26.1, C121.1) 561 NET_C(C121.2, R26.2, IC4_A.OUT, R21.1) 562 NET_C(R21.2, R64.3) 563 NET_C(R64.2, C106.1) 564 NET_C(C106.2, R144.1) 565 ALIAS(OUT_L, C106.2) 566 567 // Mixer (R) 568 NET_C(MIX_R, C50.1) 569 NET_C(R20.1, V12) 570 NET_C(R20.2, C20.1, C18.1, R29.1) 571 NET_C(C20.2, C18.2, C17.2, R65.1, R150.2, GND) 572 NET_C(R29.2, IC4_B.PLUS) 573 NET_C(D5.K, C17.1, R28.1) 574 NET_C(R28.2, C50.2, IC4_B.MINUS, R67.1, C122.1) 575 NET_C(C122.2, R67.2, IC4_B.OUT, R22.1) 576 NET_C(R22.2, R65.3) 577 NET_C(R65.2, C109.1) 578 NET_C(C109.2, R150.1) 579 ALIAS(OUT_R, C109.2) 580 581 // Separate each input into the summing network 582 OPTIMIZE_FRONTIER(R27.1, RES_K(270), 50) // SONAR (L) 583 OPTIMIZE_FRONTIER(R77.1, RES_K(33), 50) // TORPCOLL (L) 584 OPTIMIZE_FRONTIER(R78.1, RES_K(150), 50) // L SHPHT 585 OPTIMIZE_FRONTIER(R79.1, RES_K(130), 50) // SUBENG (L) 586 OPTIMIZE_FRONTIER(R117.1, RES_K(20), 50) // L BOOM 587 OPTIMIZE_FRONTIER(R118.1, RES_K(560), 50) // L TORP 588 589 OPTIMIZE_FRONTIER(R85.1, RES_K(270), 50) // SONAR (R) 590 OPTIMIZE_FRONTIER(R76.1, RES_K(33), 50) // TORPCOLL (R) 591 OPTIMIZE_FRONTIER(R61.1, RES_K(150), 50) // R SHPHT 592 OPTIMIZE_FRONTIER(R80.1, RES_K(130), 50) // SUBENG (R) 593 OPTIMIZE_FRONTIER(R108.1, RES_K(20), 50) // R BOOM 594 OPTIMIZE_FRONTIER(R109.1, RES_K(560), 50) // R TORP 595 596 OPTIMIZE_FRONTIER(R138.1, RES_K(47), 50) // Isolation for NOISE_A going into SONAR section 597 OPTIMIZE_FRONTIER(R42.1, RES_K(820), 50) // Isolation for NOISE going into L TORP section 598 OPTIMIZE_FRONTIER(R50.1, RES_K(820), 50) // Isolation for NOISE going into R TORP section 599 OPTIMIZE_FRONTIER(R31.1, RES_K(560), 50) // Isolation for NOISE going into L SHPHT section 600 OPTIMIZE_FRONTIER(R44.1, RES_K(560), 50) // Isolation for NOISE going into R SHPHT section 601 OPTIMIZE_FRONTIER(R11.1, RES_K(620), 50) // Isolation for NOISE going into TORPCOLL section 602 OPTIMIZE_FRONTIER(R87.1, RES_K(100), 50) // Isolation for RUMBLE going into L BOOM section 603 OPTIMIZE_FRONTIER(R105.1, RES_K(100), 50) // Isolation for RUMBLE going into R BOOM section 604 NETLIST_END() 605