Loading ...
Sorry, an error occurred while loading the content.

Happy New Year and a code update

Expand Messages
  • korgpolyex800
    Happy New Year to all around the Korg Poly EX 800 world, Well it has been a momentous week or two since I took the opportunity to dive into the System
    Message 1 of 1 , Jan 1, 2007
    • 0 Attachment
      Happy New Year to all around the Korg Poly EX 800 world,

      Well it has been a momentous week or two since I took the opportunity
      to dive into the System Exclusive code some more and with wonderful
      results.

      I managed to crack the entire SYSEX implementation of the EX800 such
      that I've now been able to patch into the ROM two brand new sysex
      commands. I had mentioned perhaps a month or so ago that I had done
      this but I had one major problem with the early code in that after I
      had intercepted the sysex and processed my own commands the EX800 had
      to reboot in order to recover. This made it very difficult to use the
      new commands since a reboot would always return the EX800 back to
      power on status.

      But with a about a dozen hours of hard work, the good news is that I
      can add as many sysex commands as I like to the ROM and they will not
      cause the EX800 to return to power on state. Basically, the new sysex
      code is completely re-entrant.

      So here are the two commands created so far.

      PEEK
      Read the memory address location qrst where qrst is a 16 bit
      hexadecimal address location. Send F0 42 21 02 0q 0r 0s 0t F7 to the
      EX800 and it returns the current data byte stored in the location qrst
      by replying back with F0 42 21 02 0j 0k F7 where the data byte being
      read is supplied as jk.

      For example, the second byte in the ROM (address location 0001h) is B9
      so to prove it we can send F0 42 21 02 00 00 00 01 F7 to the EX800 and
      it responds back with F0 42 21 02 0B 09 F7.

      POKE
      Write our data jk into memory address location qrst where jk is a
      single 8 bit byte and qrst is a 16 bit memory address location.

      Send F0 42 21 03 0x 0y 0q 0r 0s 0t F7 to the EX800 and it will write
      the data byte supplied as xy into the memory location supplied as
      qrst. The EX800 replies back with F0 42 21 03 F7 if the write was
      successful.

      These two additional sysex commands give us the ability to read and
      write to any memory location in the entire EX800 memory map. With this
      ability I've already been able to confirm quite a few memory functions
      and this helps a great deal in troubleshooting and debugging the
      entire ROM.

      But apart from that, it also gives us direct access to many
      performance parameters.

      The next thing I'm going to work on is including some additional
      controllers. I have a reasonable understanding of the existing
      controllers that have been implemented in the existing Korg ROM so I
      should not have too much difficultly adding some more.

      But, I had to remove all of the tape code in order to squeeze all the
      new SYSEX functions into the ROM. So I am soon going to be forced to
      build the RAM and ROM expansion board.

      If anyone is interested in obtaining the modified ROM with the extra
      SYSEX commands let me know. I'll provide a ROM to you for 25 US bucks
      plus shipping.

      Hope you all have a very prosperous and safe 2007.

      Mike.
    Your message has been successfully submitted and would be delivered to recipients shortly.