Thursday, February 20, 2020

Writing CD-R images that the Nuon "game console" can read

I put "game console" in quotes because the Nuon wasn't really marketed as such -- although it probably should have been. Much like the Phillips CD-i, VM Lab's Nuon was conceptualized as technology that could be included in DVD players to give them game-playing functionality. It came out around the same time as Sony's Playstation 2.

You've heard of the Playstation 2. You probably have never heard of the Nuon.

There's reasons for that. 

It turns out that marketing game consoles that incidentally can play DVDs was a much better strategy than marketing DVD players that incidentally can play games. 

It has a fascinating quad-core architecture -- fairly rare for 2001 -- and it flopped on the market. It came to my attention because VM Labs released a consumer SDK for it, which is also a fairly rare thing. So, of course, I had to get one. 

The fan site Nuon Dome hosts a variety of CD-R images of homebrew games. Ideally, one simply writes a file called NUON.CD to the top level of an ISO9660 CD image. I tried this using the Yaroze Classics, Breakout, Snake, and VG Music. All of these gave "No disc" errors. It turns out you need to also include a dummy file (at the top level to pad the CD) with a filename whose name that comes earlier than NUON in alphabetical order. I tried using BombNewYear.zip, which was contained the source code for one of the Nuon games. It was around 15 megabytes. Discs written with the padding file worked fine. I wrote them using an LG Slim Portable DVD Writer, Model SP80NB80, at the lowest speed the writer supports, which is 10x. I used the macOS program Burn. The CD-Rs were Verbatim 700 MB, 52x, 80 min media.

There was a disc that worked OK without padding, namely BOMB, but it had several additional files to include of the form level?.pcm (where ? is the numbers 1 through 5). I think these inherently provided the need padding. 

At this point I decided to keep including the padding file, and successfully made discs for Same Game (shape version) and the slow Atari 800 emulator that runs M.U.L.E. I decided to test other media, and successfully wrote discs for the 2600-style Pac-Man, Pac-Man Tournament Edition, and Same Game (colors version) on Maxell 700 MB, 80 min media.

Actually... I started this blog post in the middle of the story. The experiments described above were conducted on the second Samsung DVD-N501 I have obtained. The first one appeared when I didn't have any official Nuon-compatible movies or games, so I solely tried burned CD-Rs of home-brew games. Only a few burns of Decaying Orbit would occasionally start up. After burning dozens upon dozens of CD-Rs in different ways, most failing in different ways, I finally picked up the game Ballistic (one of only eight games officially released) and the Nuon-enhanced movie The Adventures of Buckaroo Banzai Across the 8th Dimension (one of only four such movies officially released). Both official releases seemed to work fine, so I assumed I was doing something wrong in burning the CD-Rs, but at one point I went back and checked the official releases and neither ran. I then finally realized that the first DVD-N501 I obtained had a failing DVD drive that increasingly giving up the ghost as I was using it. 

This lead me to obtain the second DVD-N501. When I went back and tried the many Maxell CD-Rs I had created -- some on my Mac with Burn, others on a Windows 10 computer with imgburn (careful, it will install a bunch of other software you don't want unless you explicitly tell it "no," repeatedly) -- I discovered most of them played fine: Decaying Orbit, Ambient Monsters, Chomp, Sheshell, and even Doom. At that point I wasn't keeping accurate records, but I can tell from looking at the discs that the ones that didn't have the padding file were the discs that showed the "no disc" error. Some of the programs had additional files, like music files, that seemed to provide the needed padding for the machine to find the NUON.CD file.

I'm hoping to talk a few of my Vertically Integrated Project Retrofuturistic Hardware students into trying to write games for it, or at least get the development environment up and running.

Saturday, February 1, 2020

A 1987 Themed Homebrew Computer

I've long had dreams of designing 70s/80s style game consoles/computers "from scratch" (where "from scratch" is vaguely defined). One of my students has started down a 70s path with the COSMAC VIP with the 1802 processor.

I was thinking of starting another development effort focusing on the year 1987. Besides me starting my junior year of high school, that year saw the appearance of VGA, so we could justify using a 15-pin VGA cable and not something weird, along with the appearance of PS/2 ports (not to be confused with Playstation 2) for keyboards and mice, which are plentiful. We could use 9-pin Sega Master System style controller ports, which are like the Atari 2600 port with an extra button. (Lots of manufacturers used DB-9 jacks for their controllers; there's a guide on wikipedia).

A general principle (on any project like this) would be to use chips and technologies available in that time period. For instance, we could use GAL22V10 PLDs, but not modern FPGAs. (One exception would be to use bigger RAM chips that are available now just to lower the chip count; one could imagine just using more chips in an earlier era). Another general guiding principle would be to avoid surface mount parts, especially anything with a tiny pitch. 

Parts 

I got some chips from eBay along such lines. They would be also interesting to experiment with on their own:

I bought 4 each of the following (they're interesting 64-pin chips; like a 40-pin package but smaller spacing between pins):
  • V9958 display chip used in MSX2+ computers. It's the last in the line of chips that started with the TMS9918 used in the TI 99/4A and the Colecovision (Z80 CPU) and the Vtech Creativision (6502 CPU), and it's backward compatible with an earlier chip, the V9938, and even the TMS9918. These chips use external video RAM (up to 192 KB) that's separate from the main CPU RAM; this contrasts with most other video chips of the era. 
  • YM2610 sound chip -- FM synthesis and ADPCM sample playback. Used in some Taito arcade boards and the SNK NeoGeo, and quite similar to the YM2608 used in NEC PC computers. You can hear lots of examples of YM2610 music on youtube. I picked the YM2610 since its sample playback is flexible; the YM2608 has built-in drum sounds, which are nice but you can't change them.
As far as CPU, well, lots of folks have used the Z80; that's well travelled territory. I was thinking of the 65C816, which is an extension of the 65C02 with 16-bit registers but an 8-bit external data bus. It has a 6502 compatibility mode. It's most famously used in the Apple IIGS (providing backward compatibility with the original Apple II line) and the SNES. I conjure it was originally chosen so the SNES could play NES games -- of course, the SNES can't play NES games, but I bet is was a design goal that got dropped somewhere along the line. (Notice I'm not going with a 68000 since I want to stick with an 8-bit bus; the V9958 and YM2610 use an 8-bit bus). This machine could be in honor of Chuck Peddle, the designer of the 6502, who sadly died last year.

Instead of using an actual 65C816, I've been looking at the 65C265, which is a 65C816 with a truckload of peripherals and expanded I/O that that makes it more like a microcontroller. It has the additional advantage of addressing the full 24-bit address space without the weird multiplexing that the 65C816 uses to keep the pin count low. It comes in both surface mount and PLCC packages; the later lets it be used as a through-hole part in an appropriate carrier. It came out a bit after 1987, but I feel it would be worth taking a bit of artistic license here.

Western Design Center makes two "single board computers" for the 65C265: the W65C265SXB (around $48), which has 32K SRAM and 128K Flash ROM in a PLCC, and the W65C265QBX, which is isn't much more than a breakout board. I just bought a couple the fancier boards, the W65C265SXB, from Amazon. WDC also a reference design called The Mench Computer (not to be confused with the W65C265QBX, which is also called "The Mench"), although that webpage looks like it is out of date. (I just noticed that it implements the full 6-button Sega Genesis controller standard, which is pretty cool).

As a "stretch goal," we could add a co-processor in the form of a NEC UPD77C25 DSP (in our case, we'd use the UPD77P25 which is one-time programmable instead of masked ROM); it has an 8-bit external data bus, a 8.3 MhZ clock, and comes in a 28-pin DIP or a 44-pin PLCC. I will attach the datasheet. The reason this caught my attention is that it's the "real" chip appearing in some SNES carts labeled "DSP-1," where it is used to do 3D calculations, among other things.  Someone even managed to dump the masked ROM code in the various DSP1 versions.

Other Design Efforts 

There's two main projects ongoing to create a 6502-inspired machine:
  • The Commander x16 by the 8-Bit Guy, aka David Murray, uses the 65C02. His team even has an emulator for it. One of his design goals is to avoid using FPGAs unless he absolutely has to, under the constraint that he wants to only use parts that are currently being manufactured; the latter constraint means they had to resort to using an FPGA for graphics. For my project, I value avoiding FPGAs and modern parts over avoiding parts that are no longer in production, and hence am happy to use the V9958 and YM2610. Although they are no longer manufactured, they are plentiful on ebay for reasonable prices (although one must watch out for counterfeits). Everyone should watch his videos (Part 1 and Part 2) describing his philosophy and design process. Many folks are helping David with it; just typing Commander x16 into the youtube search field will yield lots of interesting work.
  • The C256 Foenix headed by Stefany Allaire, uses the 65C816. Stefany is building the machine she imagines Commodore would have build if their 8-bit line kept going, including imagining the custom chips they might have designed. Hence, she makes extensive use of powerful FPGAs. This is awesome, but it differs from both the 8-Bit Guy's vision and mine.
  • Dan Grise is building a homebrew computer with a 65C816 and a V9958; I'm very interested in following his progress. I'm hoping by using the 65C265 we could avoid needing so many support chips.

Naming the Thing 

There are lot of computers with numbers in the name: Commodore VIC-20s and 64s, Dragon Commander x16s, Dragon 32s and 64s, Radio Shack TRS-80s, Sharp x6800s, NEC PC-9801s and PC-9821s, Atari 400s and 800s, Atari 2600s, 5200s, and 7800s, Amstrad CPC 464s, etc.
Since we're imaging that this could have been a computer released in 1987, it should be called Something87, or perhaps with a hyphen, like Something-87. I briefly thought of calling it the Peddle-87 in honor of the designer of the 6502, but I wouldn't want to imply that he created it or that his estate approved of it. I asked friends to think of words associated with 1987, and after reading that I came up with Gnarly-87 or Gnarlycomp-87, but promptly decided I didn't like that either. Any ideas?

Alternate Paths 

Instead of the 65C265, we could try a Z8S180 or Z8L180, which are enhanced Z80s with additional peripherals, available in 64-pin DIP and 68-pin PLCC. We would probably go for the Z8S180, which can go up to 33 MHz. (The Z8L180, a low power 3.3V version, only goes up to 20 MHz, but we probably want to use 5V anyway). This might be a fun parallel effort, but if we go for just one path, I'm most interested in the 65C265. The Z8S180 version could also be a later effort.

Execution 

This project would naturally lend itself to a division of labor, with different people specializing in different parts, and lots of opportunities for software development. The various parts could be tested separately; for instance, there's all sorts of projects where people interfaced Yamaha soundchips with an Arduino of some sort. Lessons learned in any part of the project could be relevant to many other projects.

Wednesday, January 29, 2020

The NEC PC-98 is alive!

I have a PC-FXGA card that plugs into the special "C bus" of NEC PC-98 computers, which were only released in Japan. The PC-FXGA is basically a card with the chipset for the NEC PC-FX game console, which was also only released in Japan, and allowed enthusiasts to develop their own games with the GMAKER or GMAKER/Plus SDK in addition to playing PC-FX games through the PC-98's CD-ROM drive. This caught my attention, since it's fairly rare for companies to provide end users with tools to write games for their consoles; usually these are covered under NDAs. (Incidentally, the PC-FX apparently didn't use any copy protection.) There was also a version of the PC-FXGA developed for DOS/V machines.

The PC-FX focused on doing high-quality full motion video, and not 3-D graphics, like the Playstation and the Nintendo 64 focused on. This turned out to be a bad decision by NEC, who got obliterated by Sony. The PC-FX had better FMV than any of its competitors -- but heavy use of FMV does not generally make for better games. Of course, I have an unhealthy fascination with failed game consoles, hence I found a PC-FXGA on ebay.

Anyway, since I had a PC-FXGA card that needs a NEC PC-98 computer, I bought a PC-9821 Cx2 via fromjapan.co.jp. It didn't come with a hard drive, so I got an IDE-to-Compact Flash adapter to replace it. I found some hard drive images here:

https://nfggames.com/forum2/index.php?PHPSESSID=05ffqo53eedl2539g54rav6od3&topic=5463.0

In particular, it gave this download link: http://nfggames.com/PC98/HDDimages/PC98HDD.7z (542MB, so I wrote 542 on that CF card; it also came with a simpler 128MB image, so I wrote 128 on that CF card.)

The 542MB has apparently had a tool called CONV98AT applied to it that lets it be read and written to as an ordinary Window partition on a regular PC. Apparently this is NOT true of your usual PC-98 disk; trying to mount one on a Window machine without applying the CONV98AT tool can cause problems.

I ran into trouble since the 5V and 12V of the power connector on my IDE-to-CF adapter is swapped relative to the connector on the motherboard. Putting 12V into a 5V input on a CF card did not make the card very happy; it started to smell very bad and get very hot very quickly. I threw away any toasted cards. I also bought a 2nd adapter to use; the original is probably fine, but I figured I might as well get a new one to reduce variables while I sorted out the issue.

So now that I am not jamming 12V into the 5V input, the hard drive images boot OK instead of trying to catch on fire. Floppy disk drive seems to work fine. The CD-ROM drive opens and closes and spins up; I haven’t been able to read anything off it yet. I probably need to find the right driver or something. PC hardware configuration in the 80s and early 90s was always a pain. It turns out it’s much more of a pain when most of it is in Japanese.

Interestingly, the PC-FXGA allegedly has a 3-D graphics chip on it, the HuC6273 Aurora, which isn't present in the PC-FX.

Saturday, October 12, 2019

Adaptation of the Timbre & Crossfade from the Music Easel

Version 1

Original circuit by Don Buchla (used with his kind permission); adapted by Aaron Lanterman. This is based on the timbre circuit on Board 9 and the single-vactrol "waveshape" crossfade circuit on Borad 8 of the Music Easel. You should spend some time studying the original schematics. Warning: This board is designed to be highly flexible; it can be configured in many different ways. Please read the notes below carefully and decide what options you want before building.

Demo

Note this video is of Version 0, so pay no attention to any mention I make of errors on the PCB; those comments are not relevant to Revision 1.

Schematics & layout



Notes

  • I am convinced that the 50K sliders marked on the original schematics (and this version of the board) should actually be 10K linear. The 120K input and shaping resistors (R102, R103, R104, R105, R108, R109, R110, and R110) are off-board in the original Easel, but included on-board in this adaptation.
  • The original Easel has a 13.5 V supply, created using an op amp and a transistor buffer. If you have such a supply, you may hook it to the two +13.5 pins and omit R100, R101, R106, and R107. Otherwise, leave the +13.5 pins unconnected and use R100, R101, R106, and R107, which create "soft" +13.5 V supplies (via voltage dividers made by R100 with R101, and R106 with R107.) To counteract loading I found that lowering R100 and R106 from 10K to 1K is a good idea, so I marked these as 1K on the PCB. You may want to experiment with other values. 
  • The Q6 JFET is used as a variable resistor. It is specified as a 2N4341 in the original, but it appears to be out of production. I picked the J201 since it happened to come with the preinstalled Eagle libraries. I've tried a MPF102 here too, and didn't notice a difference. R21 is marked as 6.8K on the original Buchla schematic. I had to raise this value quite a lot in order to not get too much gain through the VCA with the offset knob at the lowest setting. I used 330K instead of 6.8K and marked R21 as such on the PCB. I recommend that as a starting point if you're using a J201 or MPF102 for Q6 (I tried both and didn't notice any difference). Your mileage may vary. Different values of R21 (even instances of the same JFET model type) may be appropriate for different choices of Q6.
  • I specified Q5 as a 2N3906 since I happen to have of them and it also came preinstalled in the Eagle libraries. In the original Music Easel schematic, it is specified as a 2N4248, which seems to be out of production. You might want to try other transistors here.
  • The circuit has been tested with RC4558s, which was deemed to be electrically similar to the original RC4136s used in the Easel. Other op amps will probably work (many will probably work better!), but they have not been tried.
  • D3 is a 1N457. I suspect a 1N4148s or a 1N914 will work, but I have not tested them.
  • D1 and D2 are not specified in the original schematic; I used 1N457s here, but my suspicions in the previous bullet point apply here too.

Connections

Front panel connections usually have a square and round pad together in a white box. The round pad is the signal, and the square pad provides a convenient ground.
  • TAI - Timbre Audio Input
  • TAO - Timbre Audio Output
  • TCVI - Timbre CV input; amount of influence is controlled by setting of TCV pot
  • WCVI - "Waveshape" crossfader CV input; amount of influence is controlled by setting of WCV pot
  • A1I - Alternate input 1; buffered and appears at A1B
  • A1B - Buffered version of A1I input; may be used connected to A1C, or not used at all, or connected to a switch
  • A1C - Corresponds to pin 10 of Board 8 of the original Easel schematics. It corresponds to what you get by turning the waveshape control counterclockwise. If you want to set this up like an original Easel, connect B9P4 or TOP directly A1C, so turning the waveshape control counterclockwise corresponds to the timbre circuit. If you want to always use the "waveshape" crossfader as a stand alone crossfader, you can directly hook A1B to A1C. If you'd like to switch between both options, hook A1C to the common terminal of a on-none-on SPDT switch, and hook TOP or B9P4 to one "on" terminal and A1B to another "on" terminal. (The issue of whether to use TOP or B9P4 is complex and depends on how you set the resistors OR119, OR120, OR1A, and OR47A; see below.)
  • TOP - Timbre Output Pin - connected to A1C, or to a switch, or not used (see options listed under the A1C description above). This is the timbre output after the gain provided by IC5B (if gain is used).
  • B9P4 - Corresponds to Pin 4 of Board 9 of the original Music Easel - connected to A1C, or to a switch, or not used (see options listed under the A1C description above). This is the timbre output before the gain provided by IC5B (assuming gain is used).
  • A2I - "Alternate" input 2; buffered and appears at B8P; used if creating a stand-alone module. This corresponds to what you get when turning the waveshape control clockwise.
  • B8P - Input to the Vactrol side of the "waveshape" crossfader. If you are using the A2I input, you won't need to use the B8P pad. If you are trying to build an complete Easel, B8P corresponds to pin 12 of IC 4 on the original Easel Board 8 schematic. This is the pulse, square, or triangle shape signal that you'd get by turning the waveshape control clockwise. If you hook a signal directly to B8P, you should omit IC7, R112, R113, R114, R115 (notice this also takes out the A1I, A1B functionality, but that's probably OK since you'll probably be directly hooked the timbre output to A1C anyway). Most users building stand-alone modules will probably not need to use B8P.
  • MXO - Mixed Output of the "waveshape" crossfader
  • CSW1, CSW2 - there's a capacitor that provides some filtering action on the timbre output. You can put a switch between CSW and CSW2 and experiment with switching this cap in and out. If you want it to act like an original Easel, just short CSW1 and CSW2.

Resistor options

  • If you are using an op amp with some build in short-circuit protection, like the specified RC4558s, then you can use the 220R resistors OR121 and OR48A, and use wires instead of 1K resistors for OR115 and OR122. If, on the other hand, you are using a different op amp capable of creating much bigger currents, I recommend using wires instead of 220R resistors for OR121 and OR48A, and installing actual 1K protection resistors in the OR115 and OR122 spots.
  • OK, here is where things get really complicated. OR1A and OR47A are specified as 15K and 75K; this is as things are in the original Easel. This gives the raw timbre signal at B8P4 and whatever it is mixed with at B8P a gain of 6. IC5B, OR119, OR120, OR121, and OR122 are not present in the original Easel; this is a copy of the circuitry around IC6B to give that gain of 6 at the TAO output. If you'd like your external signal input at A2I to be subject to the same gain, then you can use 15K and 75K in the OR1A and OR47A spots, respectively. However, you may prefer to take the timbre output to mixer from the TOP pin, so it already has the gain, in which case you can omit OR1A altogether, and use a wire for OR47A, which turns IC6B into a unity gain buffer; in this case, IC5B boosts the timbre output up to the level of typical signals, and will then be on an even footing with most external signals, and IC6B won't provide additional undesired gain. Think carefully about your particular desired gain structure.

Potentiometers

  • WOS - "Waveshape" croassfader Offset 
  • WCV - "Waveshape" crossfader CV; controls amount of influence of the WCVI input 
  • TOS - Timbre Offset 
  • TCV - Timbre CV; controls amount of influence of the TCVI input 

Disclaimer

  • These should be considered advanced projects, and should only be attempted by people with extensive knowledge and experience in electronics, particularly in terms of practical construction and debugging techniques. The boards are dense and the documentation is sparse. If you are just getting started with Synth DIY, I recommend starting with kits.
  • If you try to build one of these projects, you must assume that you will be on your own, and be confident enough to tackle the project under those circumstances. I am interested in learning about people's experiences in building the boards, and will try to answer questions over e-mail, but I don't have time to do any hand holding.
  • Any PCBs made available to the public are provided as-is, with no guarantees or warranties whatsoever. Similarly, no guarantees or warranties are made about the correctness or usefulness of the information on these webpages.
  • Any electronic project may present a risk of injury or death, particularly when dealing with mains voltages. It is important to follow appropriate safety practices. The author of this post, Aaron Lanterman, disclaims any liability for injury, death, or other damage caused in using the PCBs or any of the information contained on these webpages.

Adaptation of the Pulser & Inverter from the Music Easel

Revision 1

Original circuit by Don Buchla (used with his kind permission); adapted by Aaron Lanterman.
This is based on the pulser & inverter circuits on Board of the Music Easel. You should spend some time studying the original schematics.

Demo

Note this video is of Version 0, so pay no attention to any mention I make of errors on the PCB; those comments are not relevant to Revision 1.


Schematic & layout

Errors

  • There are some errors in the schematic and the silkscreen. Fortunately these only involve incorrect names and values; addressing these issues does not require any trace cutting or jumpering. First note that the "R11" and "R22" labels on the PCB are accidentally swapped; the parts themselves are in the correct place. The resistor closer to the 2N1711 transistor should be labled "R22" and the one closer to the MC14016s should be labeled "R11." Thanks to Dave Brown for catching this error.
  • If you look on my Eagle schematic around the 2N1711, you'll see R21, R22, and R28 are 6K8. This is a copy-and-paste error in the resistor values, since only one of them should be 6K8. R21 should be 6.8K, but R22 should be 2.2K (I think - it's hard to tell on the original Buchla schematic, it looks like it might be 22K?), and R28 should be 100R. Thanks to Dave Brown for catching these error; I never tried hooking an LED or light bulb up, so I never noticed this error before. Dave also noted that the 100R values for R28 may be specific to using an incandescent bulb.

Notes

  • I am convinced that the 50K sliders marked on the original schematics should actually be 10K linear. The 120K input and shaping resistors (R105, R106, R107, and R108) are off-board in the original Easel, but included on-board in this adaptation.
  • The original Easel has a 13.5 V supply, created using an op amp and a transistor. If you have such a supply, you may hook it to the +13.5 pin and omit R103 and R104. Otherwise, leave the +13.5 pins unconnected and use R103 and R104, which create a "soft" +13.5 V supply. I found it important to lower R103 to something like 3.3K to counteract loading, so I marked R103 as 3.3K on the PCB. You may want to experiment with other values.
  • The circuit has been tested with RC4558s, which was deemed to be electrically similar to the original RC4136s used in the Easel. Other op amps will probably work (many will probably work better!), but they have not been tried.
  • D3-D6 are 1N457s. I suspect a 1N4148s or a 1N914 will work, but I have not tested them.

Connections

Front panel connections usually have a square and round pad together in a white box. The round pad is the signal, and the square pad provides a convenient ground.PIC, PIO, FB - Pulse Input Common, Pulse Input One-Shot, and Feedback. You want to try to find a single-pole on-off-(on) switch, where the (on) indicates momentary operation. Hook PIC to the common switch terminal, hook PIO to the (on) terminal, and hook FB to the regular on terminal. This will let you do just one "pulse," or if you switch to the feedback mode quickly after doing one pulse, the pulser will drive itself and you will get repeated pulses. The middle position turns off the pulsing. If need be, you could just use a regular on-off-on switch here.
  • PCVA, PCVB - Pulser CV outputs A and B. A is active when AEN is set high; B is active when BEN is set high.
  • PPA, PPB - Pulser pulse outputs A and B. A is active when AEN is set high; B is active when BEN is set high.
  • Y1, Y2 - terminal of an electronic switch; connection made when BEN is set high (untested).
  • Z1, Z2 - terminals of an electronic switch; connection made when BEN is set high (untested).
  • ANOT, BNOT - logical "not" of AEN and BEN
  • AEN, BEN - A and B enables; see other connection instructions for details of what they enable. I plan to connect these to a switch that will let be switch between automatically-on (connect to +15 V) and connect to an external input. Most users will probably just want to tie AEN to +15 so the A outputs are always enabled. Some users may want to just ignore the B outputs entirely. Some might want to only use the "B" part of the circuit to control the Z1,Z2 and Y1,Y2 electronic switches, and ignore the pulser B outputs. Do whatever makes you happy.
  • INVI, INVO - inverter input and output; takes 0-10 V CV and outputs 10-0 V CV. The inverter is independent of the rest of the pulser, so you can invert whatever CV signals you want.
  • LED - on the Easel schematics, this is actually called "LAMP" and is shown going through a lamp-looking symbol to a +12 V supply. I haven't tried doing anything with this, since it's a low priority for me, but if someone can get something to light up I'd love to hear about it.

Potentiometers

  • LOS - Level (pulser rate) Offset
  • LCV - Level (pulser rate) CV; controls amount of influence of the LIN input
  • TRIM - Trims the pulser rate - set to personal taste

Disclaimer

  • These should be considered advanced projects, and should only be attempted by people with extensive knowledge and experience in electronics, particularly in terms of practical construction and debugging techniques. The boards are dense and the documentation is sparse. If you are just getting started with Synth DIY, I recommend starting with kits.
  • If you try to build one of these projects, you must assume that you will be on your own, and be confident enough to tackle the project under those circumstances. I am interested in learning about people's experiences in building the boards, and will try to answer questions over e-mail, but I don't have time to do any hand holding.
  • Any PCBs made available to the public are provided as-is, with no guarantees or warranties whatsoever. Similarly, no guarantees or warranties are made about the correctness or usefulness of the information on these webpages.
  • Any electronic project may present a risk of injury or death, particularly when dealing with mains voltages. It is important to follow appropriate safety practices. The author of this post, Aaron Lanterman, disclaims any liability for injury, death, or other damage caused in using the PCBs or any of the information contained on these webpages.


Adaptation of the Low Pass Gate from the Music Easel

Revision 1

Original circuit by Don Buchla (used with his kind permission); adapted by Aaron Lanterman
This is based on the lowpass gate circuit on Board 10 and Board 11 of the Music Easel, which contains two identical LPG circuits. You should spend some time studying the original schematics.

Schematic & Layouts







Notes

  • The holes and traces on the Revision 1 PCBs are the same as on Version 0. The only changes I made were to the silkscreen. I forgot to put a "Rev 1" marking on the board. You can tell it is a "Rev 1" board if it says "BEAD" in the spots near the power connector; the older version said "2R2." 
  • I have not been able to get the LED to light. I do not know why. (It appears that one of my beta testers has gotten an LED to light, though.)
  • I am convinced that the 50K sliders marked on the original schematics should actually be 10K linear. The 120K input and shaping resistors (R105, R106, R107, and R108) are off-board in the original Easel, but included on-board in this adaptation.
  • The original Easel has a 13.5 V supply, created using an op amp and a transistor. If you have such a supply, you may hook it to the +13.5 pin and omit R103 and R104. Otherwise, leave the +13.5 pin unconnected and use R103 and R104, which create a "soft" +13.5 V supply. In testing, this was found to droop to between 9 V and 11 V depending on pot settings, resulting in me being unable to open up the filter all the way using just the LOS pot. I lowered R103 to 3.3K, and found that this helped counteract the droop and I got a reasonable full-range control, so I marked R103 as 3.3K on the board. You may want to experiment with other values for R103. An alternative would be to keep the R103/R104 ratio the same but lower the overall values, such as reducing R103 to 1K and R104 to 9.1K. However, I have not tried this.
  • The area around the vactrols is tight; be sure to install R42 and R41 before installing the vactrols. Also, the 910 pf silver mica caps are pretty big; to get them installed I had to leave them kind of floating above most of the other parts.
  • Q2, the buffer JFET, is a 2N4340 in the original. I picked the J201 since it happened to come with the preinstalled Eagle libraries. I used an actual J201 in my build and it worked fine. Any JFET you have previously successfully used as an audio buffer should work fine here.
  • The need for R100, the 68K input resistor, was gleaned by studying other parts of the original Easel schematics.
  • The circuit has been tested with RC4558s. Other op amps will probably work (many will probably work better!), but they have not been tried.
  • The regular diode in the original is a 1N457. I suspect a 1N4148s or a 1N914 will work, but I have not tested them.
  • Dr. Mabuse has run into a problem with excessive current draw cooking parts - read about the problem and his solution here. I personally haven't been able to reproduce whatever the problem is. I would be very interested to see if other people do (or don't) run into this problem.
  • Dr. Mabuse reports that a 0.001 uf cap (i.e. 1 nf) works fine in place of the 910 pf cap around the LED-driving 2N1711 transistor; this lets you save 910 pf micas for more critical audio path applications.
  • Dr. Mabuse writes: "Another sub that I decided against but still yielded useful and interesting results was swapping a single VTL5C3/2 for two VTL5C3s. It works both as a filter and as a VCA but the response curve is noticeably different (not as even and smooth) and the VCA mode didn't attenuate quite as much. In a pinch it think it could be used though."

Connections

Front panel connections usually have a square and round pad together in a white box. The round pad is the signal, and the square pad provides a convenient ground.

  • LIN - Level CV Input; amount of influnce controlled by setting of LCV pot
  • AIN - Audio input
  • AO - Audio output
  • LED - Hooks to the cathode (straight line part of symbol, shorter leg of actual device) of an LED; the anode (triangle part of symbol, longer leg of actual device) of the LED is hooked to +5 V.
  • SWV, SWC, and SWL - Connections for the mode switch. Use a SPDT on-off-on switch. Connect SWC to the common connection, SWV to the lower connection, and SWL to the upper connection. Switching to connect SWC to SWL puts the filter in lowpass mode; switching to connect SWC to SWV puts it in VCA mode, and switching it to the "off" position puts it in "combo" mode.
  • CIN - Control input. CV input for mode control; amount of influence is controlled by the CCV pot. If +13.5 V is input here, then the resistance of CCV corresponds to the resistor setting on an Easel programming card, but you can put in all sorts of varying voltages here. I have not tried to puzzle out exactly what effect this has, i.e. how many volts at a given pot setting is required to change modes, etc., but I have made it switch modes. This input piles "on top of" the switch setting, so its influence will change with switch settings.
  • B10P1 - Analogous to Pin 1 on Board 10; maybe useful if you are using this to replace an original Easel board. Most users will not need this.
  • B10P9 - Analogous to Pin 9 on Board 10; maybe useful if you are using this to replace an original Easel board. Most users will not need this.

Potentiometers

  • LOS - Level Offset
  • LCV - Level CV; controls amount of influence of the LIN input
  • CCV - Control CV; controls amount of influence of CCV. I specified 300K here, but I largely pulled that number out of a hat. I would suggest a linear pot, but I'm really not sure if a log or linear pot would be best. If +13.5 V is put into CIN, then CCV corresponds to the resistor setting on an Easel programming card, but you can put in all sorts of changing voltages for CIN.

Disclaimer

  • These should be considered advanced projects, and should only be attempted by people with extensive knowledge and experience in electronics, particularly in terms of practical construction and debugging techniques. The boards are dense and the documentation is sparse. If you are just getting started with Synth DIY, I recommend starting with kits.
  • If you try to build one of these projects, you must assume that you will be on your own, and be confident enough to tackle the project under those circumstances. I am interested in learning about people's experiences in building the boards, and will try to answer questions over e-mail, but I don't have time to do any hand holding.
  • Any PCBs made available to the public are provided as-is, with no guarantees or warranties whatsoever. Similarly, no guarantees or warranties are made about the correctness or usefulness of the information on these webpages.
  • Any electronic project may present a risk of injury or death, particularly when dealing with mains voltages. It is important to follow appropriate safety practices. The author of this post, Aaron Lanterman, disclaims any liability for injury, death, or other damage caused in using the PCBs or any of the information contained on these webpages.

Tuesday, August 27, 2019

Adaptation of the Balanced Modulator from the Music Easel

Revision 2

Original circuit by Don Buchla (used with his kind permission); adapted by Aaron Lanterman. This is based on the balanced modulator circuit on Board 5 of the Music Easel. You should spend some time studying the original schematics. Warning: This board is designed to be highly flexible; it can be configured in many different ways. Please read the notes below carefully and decide what options you want before building.

Demos

Note this is a demo of Version 0. Revision 2 doesn't require all of those horrible kludges seen in the video.

Schematic & layouts

Notes

  • I am convinced that the 50K sliders marked on the original schematics should actually be 10K linear. The 120K input and shaping resistors (R117, R118, R119, R120) are off-board in the original Easel, but included on-board in this adaptation.
  • The original Easel has a 13.5 V supply, created using an op amp and a transistor. If you have such a supply, you may hook it to the +13.5 pin and omit R115 and R116. Otherwise, leave the +13.5 pins unconnected and use R115 and R116, which create a "soft" +13.5 V supply. You may want to experiment with changing these settings a bit, for instance lowering R115 and R116, to counteract loading. I found that lowering R115 from 10K to 3.3K is seemed to work well.
  • If you want to use the FO fuzz output, you should add a 0.1 microfarad DC blocking cap, like the FOA and FOB outputs have. It should be pretty easy to add this somewhere on the way between the board and the FO jack.
  • The circuit has been tested with RC4558s. Other op amps will probably work (many will probably work better!), but they have not been tried.

Connections

  • Front panel connections usually have a square and round pad together in a white box. The round pad is the signal, and the square pad provides a convenient ground.
  • MI - Modulation Input
  • SI - Signal Input
  • EW, ED - External Wet, External Dry - the balanced modulator has a crossfader that lets the user fade between the "dry" signal input and the "wet" full ring mod signal. These inputs let the user put in alternative "wet" and "dry" signals, so the crossfader may be used as a stand-alone submodule separate from the ring mod.
  • MIXO - Mixed Output of the crossfader - this is the actual output of the "real Easel" balanced modulator
  • RMO - Ring Modulator Output - this is the pure ring mod signal.
  • FO, FOA, and FOB - fuzz outputs - various highly distorted versions of the modulation input signal. These taps were suggested by Grant Richter (who had many helpful suggestions on this particular project.)
  • CVIN - crossfader CV input; amount of influence is controlled by setting of CV pot
  • WSC, WSE, WSW - switch to select what goes in the "wet" side of the crossfader, if you want this facility. Hook WSC to the common of an on-none-on single pole switch, and connect WSE ("external wet" select) and WSW (full ring mod select) to the poles. If you don't want this facility, and want it to act like an original Easel, i.e. the crossfader is dedicated to the ring mod, then simply hook WSW to WSC.
  • DSC, DSE, DSW - switch to select what goes in the "dry" side of the crossfader, if you want this facility. Hook DSC to the common of an on-(none)-on single pole switch, and connect DSE ("external dry" select) and DSW (signal input select) to the poles. If you don't want this facility, and want it to act like an original Easel, i.e. the crossfader is dedicated to the ring mod, then simply hook DSD to DSC.
  • Note that if you take the "act like an original Easel" approach in the last two bullet points, you may omit IC5 and R104, R105, R106, R107, R108, and R109. Also note that when external inputs are being used, the terms "wet" and "dry" just denote different inputs - those external inputs can be whatever you want.)
  • B5IC2P8, BIC2P2, BIC5P10 - these correspond to various points on the original Easel schematic, if desired. The ICXPY notation refers to IC X (on the original Easel schematic), pin Y (original Easel IC pins). They might be useful to someone trying to clone a full Easel, but most users will not need to use these.
  • VI - "variant input" - OK, this may get confusing (uhm, even more confusing, I mean.) On the Easel, the control circuitry for the vactrols in the crossfader for the ringmod drives an additional vactrol, which sort of forms a VCA for the FM input for the principle oscillator. Here, I've set it up as a stand-alone VCA that you can do whatever you want with.
  • VO - "variant output" - output of the VCA described above
  • VSC, VCE, VSM - switch to select what to send to the "variant" VCA. Connect VSC to the common of an on-none-on single-pole switch, and connect VCE to VSM to the poles. When switched to VCE, it will send the VI signal to the VCA. When switched to VSM, it will send the modulation input (MI) to the VCA (this is the "real Easel") behavior. Of course, you can omit the switch and just tie VSC directly to VSM or VCE, if you want to do such a thing.

Resistor options

  • If you are using an op amp with some build in short-circuit protection, like the specified RC4558s, then you can use the 220R resistors OR122, OR123, and OR124, and use wires instead of 1K resistors for OR112, OR113, OR114. If, on the other hand, you are using a different op amp capable of creating much bigger currents, I recommend using wires instead of 220R resistors for OR122, OR123, and OR124, and installing actual 1K protection resistors in the OR112, OR113, OR114, spots.

Potentiometers

  • offset - crossfader offset (original Easel schematics say 50K, but I believe that is an error; I recommend 10K linear)
  • CV - crossfader CV; controls amount of influence of the WCVI input (original Easel schematics say 50K, but I believe that is an error; I recommend 10K linear)
  • SYMTR - I found the easiest way to trim this is to modulate an audio signal with an LFO, and trim it until you get similar amplitude beats.

Disclaimer

  • These should be considered advanced projects, and should only be attempted by people with extensive knowledge and experience in electronics, particularly in terms of practical construction and debugging techniques. The boards are dense and the documentation is sparse. If you are just getting started with Synth DIY, I recommend starting with kits.
  • If you try to build one of these projects, you must assume that you will be on your own, and be confident enough to tackle the project under those circumstances. I am interested in learning about people's experiences in building the boards, and will try to answer questions over e-mail, but I don't have time to do any hand holding.
  • Any PCBs made available to the public are provided as-is, with no guarantees or warranties whatsoever. Similarly, no guarantees or warranties are made about the correctness or usefulness of the information on these webpages.
  • Any electronic project may present a risk of injury or death, particularly when dealing with mains voltages. It is important to follow appropriate safety practices. The author of this post, Aaron Lanterman, disclaims any liability for injury, death, or other damage caused in using the PCBs or any of the information contained on these webpages.