Wyvern B230 Organ Upgrade/Repair - Page 1
Forum section: electronics / projects

author: Lion_Tamer
author_rank: Contributor
timestamp: September 10, 2017, 02:30:28 pm
content: The Project:This is a late 1980s electronic organ that is failing to respond to any key input, the information that I have managed to get from someone that does repair them is that either the scanner or music module can cause the fault but if the custom ASIC on the scanner module fails (a common issue apparently) then there is no replacement available. My aim is to not only fix what we have now but also to develop a board that can replace the scanner module.Why:The custom ASIC on the scanner module is a known failure point and as the organ is currently at home and I know of a couple of others I am taking the opportunity to develop a new scanner module that will use the original EPROMs and be a drop in replacement for the original module. This also promises to be an excellent learning exercise and a good introduction to FPGAs. The other reasons are that the chassis, user interface etc. is in excellent condition and too good to scrap, also I may be slightly mad.Time Frame:This is one of several projects that I have on the go and as it is a hobby project rather than something for work it will only get worked on when I have time which means that progress won’t always be quick or regular.Work Done So Far:So far I have reverse engineered the hardware of the scanner module, keyboard controller, voice control switch boards (x3) and the lamp control board. I have also dumped the contents of the EPROMs and attempted to do the same with the GAL16V8 ICs. I have also mapped out all of the key locations in the key matrix. In all cases I can’t guarantee 100% accuracy but it should be 99% correct.Work to do:1.Decompile / Reverse engineer U11 (GAL16V8) programming – (Opal is moaning about the program being for a 24 pin IC when the IC only has 20) May need to use the logic analyser for this.I have now manually tested every combination and got a partial memory map for the scanner.2. Decompile / Reverse engineer U15 (GAL16V8) programming – (Opal is moaning about the JED file dump being for a 24 pin IC when the IC only has 20) May need to use the logic analyser for this.3. Map individual stop lights to voices.4. Remove U14 (Custom ASIC) Socket so that I can confirm any non-reverse engineered connections.5. Reverse engineer the pedal controller.6. Map the individual pedals.7. Decompile / Reverse Engineer The EPROMS. (Does anyone know of a good disassembler that will do the Z80180 without costing hundreds of pounds).8. Work out control protocol between scanner and music modules.9. Work out control protocol between custom ASIC and Z80180.The Current Plan: (not necessarily in the order below)1. I intend to start by using an FPGA (unless someone suggest a better alternative) to control and read the keyboard controller and set the stop lamps accordingly.2. Connect ZX80180, EPROM, RAM and EEPROM to the FPGA even if the FPGA doesn’t talk to it yet.3. Start reading notes and sending to the Z80180.4. Start communicating with the Music Module.5. Replicate U11 (GAL16V8) functionality on the FPGA.6. Replicate U15 (GAL16V8) functionality on the FPGA.7. Implement The MIDI input and Output on the FPGA.8. Include any other extraneous logic onto the FPGA.I know that I shall probably need several revisions of circuit board for this project and that I will probably need to put level translation in between the FPGA and everything else. The first board will probably be the bare essentials for the FPGA, the FPGA itself, the level translators and lots of places for connecting a logic analyser to.I have drawn up a rough logic / circuit diagram for what I intend to achieve stage one in my FPGA programming although even as I write this I can already see several simplifications that I can do.As a novice to FPGAs this is going to be quite a challenge, I was wondering about using one of the Spartan series of chips, does this sound like a good idea?Jem

author: Lion_Tamer
author_rank: Contributor
timestamp: September 10, 2017, 03:04:59 pm
content: Just remembered to add some photos.Jem