SlideShare ist ein Scribd-Unternehmen logo
1 von 15
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!

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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)
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Kürzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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