Sequential Data for 8-bit Processors

chysn

  • *****
  • 1812
Sequential Data for 8-bit Processors
« on: November 17, 2023, 02:04:21 PM »
I'm working on a little project. The first step of this project is to write sys-ex packing/unpacking code for the 6502 microprocessor. The 6502 was used by many 8-bit computers of the 1980s, including the Commodore 64, Apple II, Atari series, and many others.

The 6502 packing code (which will likely undergo additional revisions) is here

https://github.com/Chysn/sequential_lib/blob/main/6502/sequential_packing.asm

My specific project is to write a Prophet 5 editor/librarian for the Commodore VIC-20, which was in production from 1981 to 1985, which is contemporaneous with the Prophet 5 (revs 1-3, 1978 to 1984). Although the VIC-20 and Prophet 5 probably never met in the early 80s, due to the Prophet 5's lack of MIDI, I'm building an alternate history (sort of) as a piece of performance art. I have seven hardware VIC-20s, and I designed and built a MIDI interface for it, so there will be some real-world applications for me, as well.
Prophet 5 Rev 4 #2711

MPC One+ ∙ MuseScore 4

www.wav2pro3.comwww.soundcloud.com/beige-mazewww.github.com/chysnwww.beigemaze.com

he/him/his

LPF83

  • ***
  • 1443
Re: Sequential Data for 8-bit Processors
« Reply #1 on: November 17, 2023, 03:32:20 PM »
This sounds like a cool project!  My first computer was an Atari 800 -- great machine!  Although, aside from noodling on my family members' synths, I didn't really get into electronic music and start buying my own synths until the release of the Atari ST.
Prophet 10, OB-X8m, Prophet 6, OB-6, 3rd Wave, Prophet 12m, Prophet Rev2-16, Toraiz AS-1, Pro 2, Korg Polysix, Roland JP-8080, Roland System-8, Virus TI2, Moog SlimPhatty, Hydrasynth desktop, Roland SPD-SX SE / Octapad, Maschine, Cubase/Ableton/Akai MPC

chysn

  • *****
  • 1812
Re: Sequential Data for 8-bit Processors
« Reply #2 on: November 18, 2023, 03:21:54 PM »
This sounds like a cool project!  My first computer was an Atari 800 -- great machine!  Although, aside from noodling on my family members' synths, I didn't really get into electronic music and start buying my own synths until the release of the Atari ST.

Ooh, yes, Atari ST! Still a classic.

I got the packing software working to my satisfaction. The big difference between the C version and the assembly version is that the C version must create sysex files of the right size. For assembly, I'm just dealing with a region of memory of known size, so the sizing can be less rigorous.

I'm going to build the MIDI interface hardware using a CMS WIDI Core (bluetooth breakout board) driven by an Arduino Nano. I'm looking forward to this, as my small home studio is largely based on Bluetooth. There's a lot to be said for not having to move a 1980s computer system around the room! While wired MIDI is not a difficult circuit to build, all I have to do with the WIDI Core is hook up a couple UART pins and boom.

Next task will be to map the Prophet 5 panel to the unpacked parameter locations.
Prophet 5 Rev 4 #2711

MPC One+ ∙ MuseScore 4

www.wav2pro3.comwww.soundcloud.com/beige-mazewww.github.com/chysnwww.beigemaze.com

he/him/his

chysn

  • *****
  • 1812
Re: Sequential Data for 8-bit Processors
« Reply #3 on: November 27, 2023, 01:53:30 PM »
Here's the interface hardware, up and running! I've got it wirelessly receiving sysex dumps from my Prophet 5 from across the room. At this point, it's all about stitching the various software components together.
Prophet 5 Rev 4 #2711

MPC One+ ∙ MuseScore 4

www.wav2pro3.comwww.soundcloud.com/beige-mazewww.github.com/chysnwww.beigemaze.com

he/him/his

chysn

  • *****
  • 1812
Re: Sequential Data for 8-bit Processors
« Reply #4 on: November 30, 2023, 06:45:19 PM »
A couple screen shots of the software interface, in progress.
« Last Edit: November 30, 2023, 06:47:29 PM by chysn »
Prophet 5 Rev 4 #2711

MPC One+ ∙ MuseScore 4

www.wav2pro3.comwww.soundcloud.com/beige-mazewww.github.com/chysnwww.beigemaze.com

he/him/his