This project had its start in a late 2009 discussion between Leif Bloomquist, a Canadian Commodore enthusiast and musician, and myself. Leif had been playing with a hand-built 6850-based VIC-20 MIDI cartridge designed off a 1980’s era Maplin “Electronics” article, and wondered if a production run could be arranged. I took a look at the design, and noted that the 6850 UART would be hard to source. I suggested some design changes to bring costs down, and plans were made to refine the design.
To further the design, I wired up a newer UART (16450-based) to a daughtercard that could plug into the 6850 socket on the original board. That allowed Leif to refine the software, and provide out the redesign. Once that was done and successful, we discussed a final production version. Changes included offering a built-in user-flashable ROM function.
That brings us up to late 2012. I purchased the parts for a completely new prototype board, but could not get it assembled by World of Commodore, so I brought the parts to the show and hired the assembly done.
Well, the assembly resource took longer than expected to finish the construction, but I did receive this same exact board mid-Feburary 2013. I fixed a few small design issues, only to discover the board expansion port was wired 100% backwards. Commodore, for reasons known to them only, named the pins on the VIC-20 expansion port in reverse from the industry standard. Since the prototype PCB pins were named according to the standard, every one would need modification.
I packaged up the board and sent it back to the assembler, but I must have messed up the address, as it did not arrive in a timely fashion. Since I had shipped it from the Post Office directly, I didn’t get tracking information, and thus had no idea of its location. After a few weeks, I resigned myself to the loss of the unit, and started gathering parts for a second unit to be shipped via trackable shipment to the assembler. As it turns out, the assembler and I were both planning to attend the 2013 Midwest Gaming Classic in WI, so I made plans to transfer a new set of parts during the show.
No sooner than the show ended and parts were transferred, the original package showed up at my office, undeliverable. I quickly saw the addressing issue, created a new trackable label with the correct address, and sent it on its way. Which brings us to last week, when the unit arrived, after the rewiring effort.
After all of that effort, I could now begin the potentially laborious task of debugging a “paper design”. I had designed the entire unit on paper, but had not previously proven out any of the elements on a breadboard. Though the original UART design was working on Leif’s PCB, the new design was marked different, owing to the additional decoding logic needed for the FLASH ROM. As such, it was almost a completely new design. I’m not sure if credit is deserved and who deserves it, but the UART and FLASH ROM read access worked out of the box. Bank selection for the FLASH ROM did not work, but that’s a minor issue.
And, we’re almost to the point of creating a VIC-20 MIDI production design.
28 thoughts on “New(ish) Project: VIC-MIDI”
What would the purpose of this board be? To compose MIDI music? Who would want to use a VIC-20?
I could ask a similar question for C64 MIDI folks. Still, other uses include using the VIC-20 as a MIDI device.
1) Because you can.
Jens Oltmanns liked this on Facebook.
Yeah but at least the C64 has enough RAM and space on the screen to be a useful MIDI synth.. I’m finding it hard to imagine doing it on the VIC unless you just like to suffer.
Dunno, VIC has 35K of RAM (if so equipped), and what some people see as a suffering, others see as a challenge. Leif Bloomquist uses his prototype in shows, as I recall.
if you guys need some light utilities for the c64 in asm, let me know. I can spend an hour or two on it daily.
There are some interesting waveforms in the VIC. As well as the three square wave channels, 11 other waveforms can be made on the tone channels and the noise channel is extremely wacky.
what is the non genius way to get opencbm to work under debian. please I have no degree, so please be gentle.
root@debian:/usr/src/linux-source-3.2/opencbm-0.4.2a# fakeroot debian/rules KSRC=”/usr/src/linux-source-3.2/” build
bash: debian/rules: Permission denied
This is as root
i’m going into each dependency directory and compiling them each manually. 2013: brilliant process this.
in addition had to set LD_LIBRARY_PATH. 40 minutes.
John Lutz liked this on Facebook.
wow, this is an ordeal. hard coded paths in BOTH makefiles and c files. 70 minutes into it.
Commodore VIC20 MIDI is getting close folks! http://t.co/PeZ4XAAGyx
Maybe this is a good time to ask how the VIC-X-Pander is coming along?
forget linux, you literally need to be Linux to get if f**** working. I tried w8 but w8 is saying it’s not allowing this non digital signed version. \cbm4wdm.sys under system32\drivers.
250 minutes later, nothing installed right still.
John Lutz, Windows 8 install is documented:
Yeah I got 8 to work. had to get past the driver blocker. that was a big holdup. linux is impossible.
it’s be nice if I had it working under linux though. i use the 8 machine for music.
JM Estrada liked this on Facebook.
This didn’t work?: http://www.fbriere.net/debian/opencbm/
David Murray: Yeah, the intent is to turn the VIC into a MIDI synth. I personally love the VIC sound, and there’s been some fair interest in the project from folks like Seth Sternberger.
You don’t need much memory at all, the entire code, lookup tables, and everything is a mere 6K!
The code and some introductory documentation is here.
Leif Bloomquist liked this on Facebook.
Comments are closed.