Convert Krell 300iL to European voltage

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
60Hz To 50Hz KRC-3

Hi,

I have a problem.Could you help me?I have a KRELL 7.1 showcase processor,I bought from US,but I live in UK,so I can 't use,because the frequency 50Hz in UK,voltage 230V.

do you offer me any modify in Krell? upgrade kit,or build 60Hz clock signal generator?

Regards,sonyvaio2006
Zdravím a jak jsi to vyřešil ??? Hello and how you solved it?
 
krell showcase processor

Anyone found the way to get Krell Showcase Processor working on 230/50HZ ? I have used a transformer to 110V but when power on, the unit said AC Line error. So it should be the frequency lock, right ?

Any help would be appreciated.

No, it was not mine, but I made it for a friend and it works !

Philippe


Mane is Juan. Spain
Could you tell me how you solved the change 110V 60 Hz to 220V 50 Hz. Could you send me a photo of change.

Krell showcase processor.

Thank you.
 
Mane is Juan. Spain
Could you tell me how you solved the change 110V 60 Hz to 220V 50 Hz. Could you send me a photo of change.

Krell showcase processor.

Thank you.
:)
IMG_0553.jpg

IMG_0549.jpg

IMG_0553 (1).jpg
 
It appears Krell are using a frequency detector to prevent users bypassing the profit margin of the local importer.

You need to change the voltage and change the frequency detector.

The local importer will do this for you and include his profit margin in the cost.

The EU should outlaw this restrictive practice !
 
Hi, I've not been on this thread for a long time, but today I got a question about a Krell KRC-3, which actually contained the information I needed to help (disassembly listing).

The KRC-3 apparently has the same chip as the 300iL (m68hc711a9) and the person got the code from the eeprom using an xprog-m and ODA for disassembly. It's always much easier to help when things are made easy for me. The relevant code (I don't want to post it all since it's copyrighted) follows;

Comparing the code from the KRC-3 to the 300iL reveals a very similar subroutine at address 70 (compare to the code on page 13 of this thread);

load some initial values (0s), count and compare cycles, then compare count with a constant (091e), then return;

Code:
data:00000070 ce 00 00                         ldx	#0x00000000
data:00000073 18 ce 00 00                      ldy	#0x00000000
data:00000077 1e 00 08 fc                      brset	0x0,x, #0x08, 0x0x00000077
data:0000007b 1f 00 08 fc                      brclr	0x0,x, #0x08, 0x0x0000007b
data:0000007f 18 08                            iny
data:00000081 01                               nop
data:00000082 01                               nop
data:00000083 1e 00 08 f8                      brset	0x0,x, #0x08, 0x0x0000007f
data:00000087 18 08                            iny
data:00000089 01                               nop
data:0000008a 01                               nop
data:0000008b 1f 00 08 f8                      brclr	0x0,x, #0x08, 0x0x00000087
data:0000008f 18 8c 09 1e                      cpy	#0x0000091e
data:00000093 2e 01                            bgt	0x0x00000096
data:00000095 39                               rts
data:00000096 0f                               sei
data:00000097 20 fd                            bra	0x0x00000096
data:00000099 d3 0e                            addd	*0x0000000e
data:0000009b 15 23 7f                         bclr	*0x00000023, #0x7f
data:0000009e dd 16                            std	*0x00000016
data:000000a0 13 23 80 fc                      brclr	*0x00000023, #0x80, 0x0x000000a0
data:000000a4 39                               rts
There are some similar routines at addresses 015e, 022e, 023c and 0264, but they appear a bit more complex so I'm rather thinking they might related to keypad input or similar.

Additionally, there's an infinite NO-OP loop at address 096, which might be called in case the frequency check fails.

Code:
data:00000096 0f                               sei
data:00000097 20 fd                            bra	0x0x00000096
you can sort of see that this infinite loop is called if the compare above fails.

Now, I have to warn you that I give no guarantees that if you change this code and run in your amp, it might damage it for all I know. I'd recommend trying it on a copy chip, ie. get a blank m68hc711a9 from an online vendor and copy all the code to it, and then do a modification. I no longer have any Krell amplifiers myself.

There's a difference in how this code handles the code above and below this point, so I don't think simply removing the infinite loop is sufficient, you would need to be able to return to the calling code. If you look at address 095 there's an RTS instruction, for return to caller;

Code:
data:00000095 39                               rts
if you simply disabled the NO-OP loop like I did on the 300iL, the code would continue on address 099;

Code:
data:00000099 d3 0e                            addd	*0x0000000e

and I have no idea what that code does.

I think the point of attack would be address 093. This is the one that does a jump to address 096 if the frequency check fails;

Code:
data:00000093 2e 01                            bgt	0x0x00000096

If we change this code, 2e 01, to 20 00, it would simply do nothing, and code execution would continue on address 095, which is the RTS we need;

Code:
data:00000095 39                               rts

I might leave it as an exercise for the reader to actually get the correct burn instruction for your particular setup.. :)
 
  • Like
Reactions: 1 user
Hi All,
I've been doing home renovation work and very busy in past weeks. Finally I got some time to write something to thank everyone who offered help and hopefully it can also help others to flash this stupid chip :p

So first, you need to get a program board which I luckily found one with cheap price and awesome technical support. The board is Adapt11EVBU which is only $35+shipping.
Adapt11 EVBU Module

Technologicalarts also has a very helpful document/guide on how to burn the 711e9 chip:

Copying and Burning 68HC711E9 and E20 Chips

You'll need 12v power to flash/burn the chip. Without the power, the board can still read the chip.
You'll need plcc tool (very cheap through ebay from Chinese seller) to extract the chip. Though it's cheap, it's very handy.
You'll need to download jbug11. http://freespace.virgin.net/john.beatty/index.html
You'll also need serial cable (if you can find a computer with COM port) or USB-COM cable (which could have compatibility issue that people said USB-COM cable/converter with FTDI chip will be working for sure).
You may also get a empty 711e9 chip from ebay if you like (<$20)

Krell 400xi can change switches for different voltage input, when you open the lid, easy to see the 3 switches on the left. Here's some positions and voltage mapping:
2-1-2 115v
2-2-2 240v

Now let's get started.

Refer to the guide above

  • Check jumpers position on the board
  • Connect serial/usbcom cable
  • load jbug11 (most of settings left in default)
  • Click connect
  • This is a tricky part, you'll need to press 'reset' on the board or reconnect the cable to make chip run it to show something in jbug11 as the screenshot in the guide.
  • Save the content of the chip with address select D000 to FFFF, save the file in .s19 format and you should have same s19 file per post 284 if it's 400xi.
  • Then you'll need to find which address/value you'll need to change.
  • Eventually I made a .s19 file with following content, load into jbug11 and burned the chip. This only changes D3C3 to '00' which does the trick. To edit .S19 file, any txt editor will do.
S104D3C30065

  • Please follow the guide carefully as 'VPP' switch must be on when you burn the chip.

---------------

Anyone who is interested on how I made the S19 file, please keep reading.

You'll need to understand the s19 format http://home.earthlink.net/~tdickens/68hc11/docs/s19_file_format.html

If you want to decode the S19 file, you can download the app below and we actually only need decoder.exe within this big application
Evaluation Software|NXP
9884E47D-DCA0-364F-AC6A-5D72F7A23631.png

Locate decoder.exe, should be under Freescale\S12lisa_Tools\Build_Tools

Run it, in Decoder-options, in input tab, enable 'Set Processor' and put HC12 in it because it's required for decoding S19 file. You may find the info in the decoder user guide.
You'll need to save a new project with the above settings.
Then you can just drag and drop the S19 file into Decoder and it will generate a .lst file in same folder which has decoded info as below:

0000D3BD D2FE SBCB $FE
0000D3BF BDE7AC CPY $E7AC
0000D3C2 20FE BRA *+0 ;abs = $D3C2
0000D3C4 BDD744 CPY $D744
0000D3C7 BDD73D CPY $D73D

Actually you don't even need to decode the S19 file, you can just find '20FE' in the S19 file.

S113D3C0E7AC20FEBDD744BDD73DB6B600810026EC

With that, you know D3C2 is '20' and D3C3 is 'FE'. Which we need to change D3C3 to '00'.

Now the question comes how to calculate the byte count and check sum.

https://en.wikipedia.org/wiki/SREC_(file_format)

E03DB328-4694-EC46-9A5C-2887A959BEAB.png


Got the byte count first:

S104D3C300??
(04 is byte count, which counts 04, D3, C3, 00)

As per above checksum calculation chart, I did below:

04+D3+C3=19A, so mask to 9A (HEX) equals 10011010 (BIN)

Use one's complement calculator 1's & 2's Complement Calculator

Calculated value 1100101 with is 65 (HEX),

So the S19 file content will be:

S104D3C30065
 
  • Like
Reactions: 1 user
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.