Discussion about the Korg PolySix synthesizer group photo

Yahoo Groups archive

Discussion about the Korg PolySix synthesizer

Index last updated: 2026-04-28 23:40 UTC

Thread

Replacing the Key assigner MCU

Replacing the Key assigner MCU

2015-12-19 by Bob Grieb

The Korg MCU is a masked part, so there would be no way to change it even if we 
figure out how.   One would need to reprogram an EPROM-based 8049 chip.  (not cheap, 
assuming you could find one)
Using a PIC would be a whole lot cheaper, although an external latch is needed
as the PIC is only a 28-pin chip so it doesn't have enough pins by itself.   An SMT
PIC could be used but that would put assembly out of reach for many people.

Another alternative would be the Teensy that GliGli used on the P600 project.
It's WAY overkill for this, but might just plug in, like it does for the Z80, if a few wires
are added.

I suspect figuring out an implementation that would be easy for people to do themselves
would be more difficult than finding the extra delay in the arpeggiator when it switches 
direction.

Bob

--------------------------------------------
On Fri, 12/18/15, James Matthew Smith jmsmatthewsmith@gmail.com [PolySix] <PolySix@yahoogroups.com> wrote:
Show quoted textHide quoted text
 Subject: Re: [PolySix] New file uploaded to PolySix
 To: "PolySix@yahoogroups.com" <PolySix@yahoogroups.com>
 Date: Friday, December 18, 2015, 6:47 PM     
              
       Thanks Bob, this is really cool
 to see opened up, and even cooler is the fact that it exists
 and possibly can be modified to smooth that small timing
 hiccup.It's way over my head in terms of code
 though. It'd take me years to attempt to modify
 it. If it ends up you are somehow interested in
 looking into this, please let us/me know.
 
 On Fri, Dec 18, 2015 at
 4:17 PM, Dave Garfield daveogarf@yahoo.com
 [PolySix] <PolySix@yahoogroups.com>
 wrote:
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
  
 
 
 
   
 
 
     
       
       
       Thank you,
 Bob!Dave 
 
     On Friday, December
 18, 2015 12:04 PM, "PolySix@yahoogroups.com"
 <PolySix@yahoogroups.com>
 wrote:
   
 
  
  
 
 
 
   
 
 
     
       
       
       
 
 Hello,
 
 
 
 This email message is a notification to let you know that
 
 a file has been uploaded to the Files area of the PolySix
 
 group.
 
 
 
 File        : /klm8049.asm
 
   Uploaded by : bobgrieb <bobgrieb@yahoo.com>
 
   Description : Commented 8049 source code for PolySix Key
 Assigner MCU.   Comments are mine and may be incorrect.
 
 
 
 You can access this file at the URL:
 
 https://groups.yahoo.com/neo/groups/PolySix/files/klm8049.asm
 
 
 
 To learn more about file sharing for your group, please
 visit:
 
 https://help.yahoo.com/kb/index?page=content&y=PROD_GRPS&locale=en_US&id=SLN15398
 
 
 
 Regards,
 
 
 
 bobgrieb <bobgrieb@yahoo.com>
 
 
 
     
      
 
     
     
 
 
 
 
   
   
 
     
      
 
     
     
 
 
 
 
 
 
   
 
 
 
 
 
 
 
 
 
 
     
      
 
     
     
 
 
 
 #yiv4631428354 #yiv4631428354 --

Re: Replacing the Key assigner MCU

2015-12-19 by grantbt@jps.net

Bob,

You seem like the Z80 master. Regarding your comment about the P600 upgrade. I think rather than have a few wires added to a teensy board, that someone should just make a drop in replacement board for the Z80 (could be otherwise the same or nearly so to the teensy). I don't know if it would be better for developers to write code from scratch for that CPU (is it an ARM or PIC?), or if Z80 emulation is possible?

There are so many synths, especially from the US, that used Z80 The 8051 has nice upgraded versions with so much more speed, memory etc.

GB

Re: [PolySix] Re: Replacing the Key assigner MCU

2015-12-19 by Bob Grieb

Not a master of anything.   Just a guy who was around back when this was the technology to use.

I agree that it would be nice to have a drop-in replacement instead of having to add wires.   But 
the Teensy is useful for other things as well, so it's actually lucky that it works so well in a Z80 socket.
I don't think that was intended by the designers.   Actually, the power pins are placed nicely for emulating 
a 6809 (Matrix 6/1000).   The Teensy uses an Atmel AVR CPU.   Not ARM or PIC, but any of those three
would be much more powerful than a Z80.   A lot of the power comes from having the code and RAM inside,
since instructions can be wider than 8 bits, and accessed a lot faster as well, and a lower power.

Emulating a Z80 and running with the existing external code EPROM doesn't seem to accomplish much, 
it seems to me.   You would be slowed by the access to external memory chips.   Emulation is a lot more 
complicated than simply writing equivalent code.   And writing code in C would be easier than coding in assembly
as the original programmers were required to.   The newer CPUs mentioned above all have more powerful instruction 
sets than the Z80, so running in "native" mode with internal Flash and RAM would be a lot faster than emulating
the Z80 and running from slow 1980's external memory.  But using external battery-backed RAM for patches 
still makes sense, I think, although patches could also be stored in Flash or in EEPROM possibly, although most
of the SOC chips I am familiar with don't have enough EEPROM for that.

BTW, the old code for some of those 80's synths does lots of extra work to compress and decompress
 patches and to get them to fit into the available RAM.   And some other tricks were played to get things to go 
fast enough.  Someone programming using a modern CPU would not want to do some of the things they did, 
as it can make the code a lot harder to follow and understand.   With enough speed, you can code things in a 
logical, straightforward manner, (in C) and it will still be fast enough.

One idea I had was to write translation code that would map instructions from, say, a Z80 or 8049 to something 
more powerful like a PIC or AVR chip.   The mapped code could execute at maybe 10 MHz in a PIC or 16 in an AVR,
and might be fewer instructions besides, so it would run a whole lot faster.   For reference, the Z80 in a P5 runs at
2.5 MHz, and in the Six trak at 4 MHz, but every instruction takes at least 4 clocks.    A PIC or AVR can do many 
of its instructions in just one clock cycle, so there is a big speed up.   The 8048/49 is even slower than the Z80,
which explains why they needed two of them in the Poly Six.   So I guess it depends on the goal.
Some synths seem to need a speed-up, maybe others just need a bug fix or two.

Sorry if this was boring...


--------------------------------------------
On Fri, 12/18/15, grantbt@jps.net [PolySix] <PolySix@yahoogroups.com> wrote:
Show quoted textHide quoted text
 Subject: [PolySix] Re: Replacing the Key assigner MCU
 To: PolySix@yahoogroups.com
 Date: Friday, December 18, 2015, 10:08 PM
 
       Bob, 
 
 You seem
 like the Z80 master. Regarding your comment about the P600
 upgrade. I think rather than have a few wires added to a
 teensy board, that someone should just make a drop in
 replacement board for the Z80 (could be otherwise the same
 or nearly so to the teensy). I don't know if it would be
 better for developers to write code from scratch for that
 CPU (is it an ARM or PIC?), or if Z80 emulation is
 possible?
 
 There are so many
 synths, especially from the US, that used Z80 The 8051 has
 nice upgraded versions with so much more speed, memory etc.
 
 
 GB
 
     
      
 
     
     
 
 
 
 #yiv4817411968 #yiv4817411968 --

Re: [PolySix] Replacing the Key assigner MCU

2015-12-20 by Florian Anwander

It may spoil a lot of DIY and development fun, but it all exists already:

https://tubbutec.de/modypoly/

This Key assigner MCU contains original functions plus MIDI-IN plus 
MIDI-OUT plus additional chordmemory functions plus additional 
arpeggiator/sequencer functions

Re: [PolySix] Replacing the Key assigner MCU

2015-12-21 by chipaudette@yahoo.com

The tubbutec MIDI retrofit looks like a great product with outstanding functionality (I *love* that he offers graphic overlays, too). But, it's not open source. You can't modify the software. Therefore, it's not extendable. If I am inspired by some crazy idea, I cannot easily build upon it's great features to make something new.

For a lot of folks who want plug-and-play, this looks like a fantastic solution. But for the hacker/DIY crowd, there's still an opening for an open-source project.

Chip

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.