The document discusses the development of a MIDI interface for the Commodore VIC-20 computer. It aims to make the VIC-20's sound chip available to electronic musicians by allowing it to be controlled via MIDI. The project began in the 1980s but was revived in 2009. After several years of prototypes and testing, the open source software and hardware allows the VIC-20 voices to be controlled individually or polyphonically on separate MIDI channels. While still needing some refinement, the VIC MIDI interface allows the VIC-20 to integrate with modern MIDI-based music equipment and software.
08448380779 Call Girls In Civil Lines Women Seeking Men
VIC MIDI (World of Commodore 2015)
1. Jim Brain and Leif Bloomquist
World of Commodore 2015
December 5, 2015
Toronto, Canada
VIC MIDI
2. Project Goals
Make the Commodore VIC-I (6560) chip’s
distinctive sound available to electronic
musicians.
Easy integration with sequencers, synthesizers,
or tracking software using MIDI1.
1Musical Instrument Digital Interface
3. History
Sometime in the 1980s: A schematic for a VIC-20 MIDI
interface was published in “Electronics, the Maplin
Magazine”
No commercial MIDI interfaces were ever
released for the VIC!
4. History cont’d
2006: David Viens and François Leveillé in Montreal had
built a prototype based on the Maplin article, but never
completed the software.
Early 2009: A conversation with Rob Adlers and
Syd Bolton leads to a search for a MIDI Interface for the
VIC.
Mid 2009: I find David and Francois’ project through the
“VIC-20 Denial” forums and offer to take over
development.
6. History cont’d
Late 2009: I approach Jim Brain from Retro Innovations
about creating a small production run.
Prototypes and code evolve for several years…
9. The VIC-20’s Voices
Square Wave output (except Noise)
Some overlap between voices
10. Implementation
One MIDI Channel per Voice
Channel 1 = Alto (36874)
Channel 2 = Tenor (36875)
Channel 3 = Soprano (36876)
Channel 4 = Noise (36877)
Polyphony Mode
Channel 5 = Polyphony Mode (round-robins through voices)
Master Volume is set through Controller #7
(Coarse Volume) on any channel
11. Implementation (Continued)
Note On commands use a lookup table to match MIDI Note# to
the closest match for that voice.
Controller #1 (Course Modulation) does a direct “POKE” to the
corresponding Voice register based on MIDI Channel.
Note Off, All Notes Off commands on a specific channel are
used to silence that voice.
MIDI “Running Status” supported
PAL, NTSC, and VIC-specific lookup tables
Bank Select (Controller #0)
12. Still remaining to do:
MIDI Out only sends one note at a time. Needs
multi-press, multi-note capability
Viznut’s waveforms don’t trigger reliably yet
More testing of Polyphony mode
13. Software
6502 Assembler
Cross-compiled using DASM
Code is open-source, MIT License
Available on GitHub:
https://github.com/LeifBloomquist/VICMIDI
Developer and User Support Forum:
http://www.jammingsignal.com (click FORUMS)
14. Other features
Flashable
MIDI IN, Out, Through support
RS-232 Support (if installed)
UltiMem capable (512kB ROM, 128kB RAM)
UART can be set to any base address in IO2 or IO3
UltiMem can be enabled/disabled
MIDI/RS232 can be enabled/disabled