Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

VIC MIDI (World of Commodore 2015)

657 views

Published on

All about the upcoming VIC 20 MIDI Cartridge by Retro Innovations.

Published in: Technology

VIC MIDI (World of Commodore 2015)

  1. 1. Jim Brain and Leif Bloomquist World of Commodore 2015 December 5, 2015 Toronto, Canada VIC MIDI
  2. 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. 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. 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.
  5. 5. First Prototype
  6. 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…
  7. 7. 2013 2011 2012
  8. 8. 2015
  9. 9. The VIC-20’s Voices  Square Wave output (except Noise)  Some overlap between voices
  10. 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. 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. 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. 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. 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
  15. 15. Demo Time!

×