Changeset c523a67 in buchla-emu
- Timestamp:
- 12/31/2017 08:37:44 PM (7 years ago)
- Branches:
- master
- Children:
- 49efb91
- Parents:
- f0af168
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
readme.txt
rf0af168 rc523a67 276 276 ----------------- 277 277 278 Here's what we emulate:278 Here's what we currently emulate: 279 279 280 280 * Motorola 68000 CPU. This is actually the Musashi CPU emulator by … … 283 283 https://github.com/kstenerud/Musashi 284 284 285 * Intel 82716: Video chip. 286 287 * Epson SED1335: LCD controller. 288 289 * Western Digital WD1772: Floppy disk controller. 290 291 * Rockwell R65C52: Serial console and MIDI ports. 292 285 293 * Motorola MC6840: Timers. 286 294 287 * Rockwell R65C52: Serial console and MIDI ports. 288 289 * Epson SED1335: LCD controller. 290 291 * Intel 82716: Video chip. 295 * Unknown item #1: A program running on a microcontroller. It 296 converts the analog signals from the Buchla's controller pads to 297 digital values. 298 299 Neither the program, nor the microcontroller are known, but the 300 protocol (known from the firmware source code) is pretty simple 301 and self-explanatory. 302 303 The next development milestone will hopefully emulate the following 304 additional components: 292 305 293 306 * National Semiconductor LMC835: Equalizer. … … 297 310 to the above equalizer chip. 298 311 299 * Western Digital WD1772: Floppy disk controller. 300 301 * A few LEDs. 302 303 * Item X: A program running on a microcontroller. It converts the 304 analog signals from the Buchla's controller pads to digital 305 values. 306 307 Neither the program, nor the microcontroller are known, but the 308 protocol (known from the firmware source code) is pretty simple 309 and self-explanatory. 310 311 * Item Y: The actual sound generator, referred to by the firmware 312 source code as "the FPU." This could actually be two chips: 313 314 1. One chip, maybe a DSP, for generating the 15 different 312 * A few indicator LEDs. 313 314 * Unknown item #2: The actual sound generator, referred to by the 315 firmware source code as "the FPU." This is the biggest unknown so 316 far. Judging from the firmware source code it consist of two 317 parts: 318 319 1. The function generator that generates the 15 different 315 320 parameter envelopes for each of the 12 voices: 316 321 … … 327 332 - 1x Output signal stereo location. 328 333 329 - 1x "Dynamics ." (TBD - currently not emulated.)334 - 1x "Dynamics" - whatever that is. 330 335 331 336 Over time, the chip interpolates between the points of the 332 337 envelopes drawn in the MIDAS VII instrument editor. 333 338 334 2. A second chip for the actual sound generation. This is likely 335 a DSP. 339 2. The digital oscillator. 336 340 337 341 XXX - Details to be filled in. … … 343 347 Obviously, the emulator does everything digitally. 344 348 345 This "two chip" hypothesis would be in line with the "four349 This "two part" hypothesis would be in line with the "four 346 350 computers" marketing claim from the Buchla 700 marketing copy. The 347 351 four "computers" would be the Motorola 68000, the microcontroller 348 that does the A/D conversion of the pad inputs, plus the two CPUs352 that does the A/D conversion of the pad inputs, plus the two parts 349 353 that constitute "the FPU." 354 355 The firmware source code archive indicates that the FPU is based 356 on micro-programmable hardware. We recently ran this by Lynx, the 357 developer of the firmware, who generously agreed to meet up with 358 us in Oakland, CA. While he never worked on the FPU and thus was 359 not familiar with its implementation details, he was able to 360 confirm that the FPU was based on AMD's Am2900 family. 350 361 351 362 If you have access to an actual Buchla 700, please do contact us. It … … 353 364 354 365 If your Buchla is non-functional, this is also fine. We might be able 355 to gain some insights from reading out the FPU microcode PROMs. 366 to gain some insights from reading out the FPU microcode PROMs or from 367 figuring out how the FPU chips are wired together.
Note:
See TracChangeset
for help on using the changeset viewer.