Archive of the former Yahoo!Groups mailing list: Korg Poly800/EX800 Users

previous by date index next by date
  topic list  

Subject: Happy New Year and a code update

From: "korgpolyex800" <korgpolyex800@...>
Date: 2007-01-02

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.