SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Jim Brain and Leif Bloomquist
World of Commodore 2015
December 5, 2015
Toronto, Canada
VIC MIDI
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
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!
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.
First Prototype
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…
2013
2011
2012
2015
The VIC-20’s Voices
 Square Wave output (except Noise)
 Some overlap between voices
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
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)
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
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)
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
Demo Time!

Más contenido relacionado

Similar a VIC MIDI (World of Commodore 2015)

The MIDI Protocol - Musical Instrument Digital Interface
The MIDI Protocol - Musical Instrument Digital InterfaceThe MIDI Protocol - Musical Instrument Digital Interface
The MIDI Protocol - Musical Instrument Digital InterfaceBhaumik Bhatt
 
Sounds Like Botnet
Sounds Like BotnetSounds Like Botnet
Sounds Like BotnetItzik Kotler
 
Music With Pharo
Music With PharoMusic With Pharo
Music With PharoESUG
 
Final Doccument (Finished Copy)
Final Doccument (Finished Copy)Final Doccument (Finished Copy)
Final Doccument (Finished Copy)Edmund Hull
 
History of Digital Media from 1965 1989
History of Digital Media from 1965 1989History of Digital Media from 1965 1989
History of Digital Media from 1965 1989Zeeshan Shah
 
Michaelwilliamsig2task1worksheet
Michaelwilliamsig2task1worksheetMichaelwilliamsig2task1worksheet
Michaelwilliamsig2task1worksheetHooaax
 
Retrocomputers as Hacking Platforms
Retrocomputers as Hacking PlatformsRetrocomputers as Hacking Platforms
Retrocomputers as Hacking PlatformsLeif Bloomquist
 
AUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSAUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSSTEFFI_MEDINA
 
Devoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukeboxDevoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukeboxScott Sosna
 
Raspberry pi presentation.pptx
Raspberry pi presentation.pptxRaspberry pi presentation.pptx
Raspberry pi presentation.pptxFrankAnthonyChin
 
12.m3 cms content-updating-pt3
12.m3 cms content-updating-pt312.m3 cms content-updating-pt3
12.m3 cms content-updating-pt3tarensi
 
Build an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsBuild an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsChad Mairn
 
Build an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsBuild an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsSt. Petersburg College
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiAhmad Hafeezi
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 

Similar a VIC MIDI (World of Commodore 2015) (20)

The MIDI Protocol - Musical Instrument Digital Interface
The MIDI Protocol - Musical Instrument Digital InterfaceThe MIDI Protocol - Musical Instrument Digital Interface
The MIDI Protocol - Musical Instrument Digital Interface
 
2 Midi
2 Midi2 Midi
2 Midi
 
Sounds Like Botnet
Sounds Like BotnetSounds Like Botnet
Sounds Like Botnet
 
Music With Pharo
Music With PharoMusic With Pharo
Music With Pharo
 
Final Doccument (Finished Copy)
Final Doccument (Finished Copy)Final Doccument (Finished Copy)
Final Doccument (Finished Copy)
 
History of Digital Media from 1965 1989
History of Digital Media from 1965 1989History of Digital Media from 1965 1989
History of Digital Media from 1965 1989
 
Midi workstation basics
Midi workstation basicsMidi workstation basics
Midi workstation basics
 
Michaelwilliamsig2task1worksheet
Michaelwilliamsig2task1worksheetMichaelwilliamsig2task1worksheet
Michaelwilliamsig2task1worksheet
 
Retrocomputers as Hacking Platforms
Retrocomputers as Hacking PlatformsRetrocomputers as Hacking Platforms
Retrocomputers as Hacking Platforms
 
MIDI KEYBOARD.pdf
MIDI KEYBOARD.pdfMIDI KEYBOARD.pdf
MIDI KEYBOARD.pdf
 
AUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSAUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECS
 
Devoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukeboxDevoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukebox
 
Ebook - LOGIC
Ebook - LOGICEbook - LOGIC
Ebook - LOGIC
 
Raspberry pi presentation.pptx
Raspberry pi presentation.pptxRaspberry pi presentation.pptx
Raspberry pi presentation.pptx
 
12.m3 cms content-updating-pt3
12.m3 cms content-updating-pt312.m3 cms content-updating-pt3
12.m3 cms content-updating-pt3
 
Build an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsBuild an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBits
 
Build an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBitsBuild an Analog Synthesizer with littleBits
Build an Analog Synthesizer with littleBits
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry Pi
 
fOSSa2012- shruti - mutable instrument - open hardware diy 80s sonic aestheti...
fOSSa2012- shruti - mutable instrument - open hardware diy 80s sonic aestheti...fOSSa2012- shruti - mutable instrument - open hardware diy 80s sonic aestheti...
fOSSa2012- shruti - mutable instrument - open hardware diy 80s sonic aestheti...
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 

Más de Leif Bloomquist

Tracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersTracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersLeif Bloomquist
 
Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Leif Bloomquist
 
Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64Leif Bloomquist
 
More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)Leif Bloomquist
 
Marc Garneau Collegiate Institute
Marc Garneau Collegiate InstituteMarc Garneau Collegiate Institute
Marc Garneau Collegiate InstituteLeif Bloomquist
 
Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64Leif Bloomquist
 
New Commodore 64 Network Game Developments
New Commodore 64 Network Game DevelopmentsNew Commodore 64 Network Game Developments
New Commodore 64 Network Game DevelopmentsLeif Bloomquist
 
Software Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustrySoftware Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustryLeif Bloomquist
 
Real-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETsReal-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETsLeif Bloomquist
 
Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Leif Bloomquist
 
Commodore 64 Telnet BBS Server
Commodore 64 Telnet BBS ServerCommodore 64 Telnet BBS Server
Commodore 64 Telnet BBS ServerLeif Bloomquist
 
World of Commodore 2009 Posters
World of Commodore 2009 PostersWorld of Commodore 2009 Posters
World of Commodore 2009 PostersLeif Bloomquist
 
NetRacer for the Commodore 64
NetRacer for the Commodore 64NetRacer for the Commodore 64
NetRacer for the Commodore 64Leif Bloomquist
 
The Dancer From The Dance: Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance:  Mapping Motion With Sound Via Radio TransmissionThe Dancer From The Dance:  Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance: Mapping Motion With Sound Via Radio TransmissionLeif Bloomquist
 
Ultimate Modded Commodore VIC-20
Ultimate Modded Commodore VIC-20Ultimate Modded Commodore VIC-20
Ultimate Modded Commodore VIC-20Leif Bloomquist
 

Más de Leif Bloomquist (19)

Tracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersTracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore Computers
 
Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64
 
Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64
 
Audible Objects
Audible ObjectsAudible Objects
Audible Objects
 
More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)
 
Marc Garneau Collegiate Institute
Marc Garneau Collegiate InstituteMarc Garneau Collegiate Institute
Marc Garneau Collegiate Institute
 
Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64
 
New Commodore 64 Network Game Developments
New Commodore 64 Network Game DevelopmentsNew Commodore 64 Network Game Developments
New Commodore 64 Network Game Developments
 
Software Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustrySoftware Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace Industry
 
CANADA IN SPACE
CANADA IN SPACECANADA IN SPACE
CANADA IN SPACE
 
TCP/IP For Engineers
TCP/IP For EngineersTCP/IP For Engineers
TCP/IP For Engineers
 
Real-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETsReal-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETs
 
Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Internet Technology for the Commodore 64
Internet Technology for the Commodore 64
 
Commodore 64 Telnet BBS Server
Commodore 64 Telnet BBS ServerCommodore 64 Telnet BBS Server
Commodore 64 Telnet BBS Server
 
Artillery Duel Network
Artillery Duel NetworkArtillery Duel Network
Artillery Duel Network
 
World of Commodore 2009 Posters
World of Commodore 2009 PostersWorld of Commodore 2009 Posters
World of Commodore 2009 Posters
 
NetRacer for the Commodore 64
NetRacer for the Commodore 64NetRacer for the Commodore 64
NetRacer for the Commodore 64
 
The Dancer From The Dance: Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance:  Mapping Motion With Sound Via Radio TransmissionThe Dancer From The Dance:  Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance: Mapping Motion With Sound Via Radio Transmission
 
Ultimate Modded Commodore VIC-20
Ultimate Modded Commodore VIC-20Ultimate Modded Commodore VIC-20
Ultimate Modded Commodore VIC-20
 

Último

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 

Último (20)

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 

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