AX-80 O.S. hacking co-op?

Pulling out your hair? Don't know what to do or where to go? Ask in here.
Forum rules
READ: VSE Board-Wide Rules and Guidelines

If your Help request has been solved, please edit your first post in order to select the Image Topic Icon to let others know your topic has been solved.
pouncey
Newbie
Newbie
Posts: 12
Joined: Fri Aug 31, 2012 6:03 pm

Re: AX-80 O.S. hacking co-op?

Post by pouncey » Tue Oct 18, 2016 5:09 pm

I have recently acquired an ax80 and enjoy it. Programming firmware and such is way above my pay grade unfortunately. Being able to save patches via Sysex or do realtime control of filters, cutoff, and modulation though would make this a much more fantastically useful synth. I already like its general sound but Sysex would really make it come alive.

So put me down as being an ax80 user hoping this happens but not a programmer.

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Sat Oct 22, 2016 3:52 pm

Hi, I looked at this thread about a week ago, and didn't realize that there were multiple pages of posts. Oops! Anyway, I have been working for the last week on reverse-engineering the AX80 firmware, with the idea of adding some features. I ran the rev K code through the disassembler DASMX, then started figuring out what parts do and adding comments. After a day or two I got to a point where I really wanted to simulate the code running, as I have done with other firmware projects. Since there was no Verilog model for the 7811, I created one myself. This took several days, but I think I have all of the bugs out now, and all of the instructions used by the AX80 in there. That CPU has so many instructions! Anyway, I now have a working simulation with 8253's, 8255's, and a hack that lets me push buttons and send MIDI to the CPU. I can watch any RAM location I want and see what is stored there, when it's accessed, etc. Here are a few things I have discovered - There is code inside IC2, but only a small part of it is used. The interrupt vectors are there. At startup, a small piece of code checks to see if its installed as IC2 or IC1. If it's IC2, that code jumps to address $4000, which is the external EPROM. But... there is a large table, used for getting the timer divide values, in the ROM inside the CPU. The code uses this table all the time.

After I got the simulation running, I spent about a day editing the disassembly listing to format it so that it would be acceptable to the only assembler I could find for the 7810 on the web, which is AS. AS seems to work well for the 7810/11 and I now have a commented assembly source file that generates a binary output that is identical to the revK EPROM. BTW, I am a retired engineer, which is how I am able to work on something like this full time, as I have for the last week or so.

So now I am interested in getting ideas for changes or new features to add. I won't promise anything, but will look into what seem like good ideas. I have not figured out everything, but each day I make a little more progress. Yesterday I figured out how the code that generates and updates the bar graphs works. I know where the patch is stored, where the A and B and preset patches are stored, where the MIDI channels are stored, etc.

If anyone is interested in contacting me with ideas about this project, please feel free to do so.

Bob Grieb tauntek.com

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Sat Oct 22, 2016 4:16 pm

I forgot one thing. The Rev L and Rev K EPROMs are identical except for 4 bytes. In four places, the CV values were adjusted slightly to account for the difference in the CEM chip. I don't have Rev I, so can't say anything about that one. Bob

Rasputin
Senior Member
Senior Member
Posts: 810
Joined: Thu Jul 21, 2016 4:52 am

Re: AX-80 O.S. hacking co-op?

Post by Rasputin » Sat Oct 22, 2016 4:54 pm

Damn. Makes me wish I'd let this project fester another 6 months so I wouldn't have wasted an insane amount of time on something you've easily bashed out in a few weeks.

I'll send you my code comments/notes and how I approached implementing SysEx if you want though.

Here's the custom firmware with working SysEx in/out: <removed for now to avoid the potential confusion of multiple versions or forks>

To dump the patches via SysEx just hit Tape/Save on the front panel. It'll send out 64 separate patch strings. SysEx in writes directly to patch storage. I never implemented SysEx in for tweaking the patch edit buffer. I'm sure that would be a much lusted after feature.

P.S. Traditional tape out still works the same way as it always did. In other words, hit Save for the 2nd time and it'll dump to tape, or hit Tape to cancel.
Last edited by Rasputin on Sun Oct 23, 2016 1:44 am, edited 1 time in total.

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Sat Oct 22, 2016 10:08 pm

Hope I didn't step on any toes here. Probably better if you don't send me anything. Sounds like you did a great thing, adding sysex patch save and restore. How did you decide on the format of the header? Did you find out the Akai ID for sysex? I wasn't sure if I should use that, or just make up something. For CC support, would it be OK to use the parameter number that Akai used? (1-45) or should they be some standard CC value for VCF res, cutoff, etc? Also, I will need people to try out any new code. Would you be interested in helping to test it? I have borrowed an ax80 for this project. Don't even own one myself, so I am no expert on operating it.

Any ideas for improvements? Here are some of mine:

1) Add a way to disable LFO reset on keypress. I think I know how to do it, but I need a way to control it.
2) Implement non-volatile storage for MIDI rx and tx channels
3) My friend suggested showing the current prog # when you select "write", so you can put it back where it came from if desired. I am planning to use the Data display, which is a little weird, but should be useful
4) Add CC support.

By the way, did you manage to fit your code in the 100 or so bytes of 0's near the end of the EPROM?
I don't think that will be enough for what I want, but I think a 27256 should just plug right in. One extra
address line would need to be connected to it to double the code space.

Rasputin
Senior Member
Senior Member
Posts: 810
Joined: Thu Jul 21, 2016 4:52 am

Re: AX-80 O.S. hacking co-op?

Post by Rasputin » Sat Oct 22, 2016 11:36 pm

rlg42 wrote:Hope I didn't step on any toes here. Probably better if you don't send me anything. Sounds like you did a great thing, adding sysex patch save and restore. How did you decide on the format of the header? Did you find out the Akai ID for sysex? I wasn't sure if I should use that, or just make up something. For CC support, would it be OK to use the parameter number that Akai used? (1-45) or should they be some standard CC value for VCF res, cutoff, etc? Also, I will need people to try out any new code. Would you be interested in helping to test it? I have borrowed an ax80 for this project. Don't even own one myself, so I am no expert on operating it.

By the way, did you manage to fit your code in the 100 or so bytes of 0's near the end of the EPROM?
I don't think that will be enough for what I want, but I think a 27256 should just plug right in. One extra
address line would need to be connected to it to double the code space.
No, no toes stepped on. I welcome the development. I just wouldn't have gone through the effort if I knew someone clearly more skilled was floating around out there :lol: I figured after 30 years of no custom firmware, I was the only one stupid enough to bother. Ah well, a little redundancy is better than no work being done at all, right? :thumbsup:

I just used the standard Akai ID of $47, then the patch number (0-63), then all 45 parameters per SysEx frame.

I wanted to keep it 100% stock, so I crammed all the code in wherever I could. I used some other spaces beside that '00' padding area, but that definitely was a majorly handy area. And yeah, I'm willing to test any of your developments.

I couldn't figure out the bargraph code or the LFO retrigger, so I'm definitely interested in how/what you do regarding that.

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Sun Oct 23, 2016 12:01 am

Hello,

I have just read all of your posts on this thread, so I am sort of caught-up. I agree that some sort of patch editor with sysex send and receive would be great. I am guessing that if CC support were added, someone would program something in CTRL, right? I read that you are getting tired of the AX80 project. I understand that perfectly. People don't realize how tedious this work can be and it takes a lot of time. Any chance you'd be interested in working with me to add your sysex dump/read code (coded as instructions) and any other things we end up implementing. You would need to download notepad++, if you don't use it already, and also install the AS assembler, assuming you use a Windows PC. I don't think it's a good idea to share the source code freely, because I am concerned that people will start changing it to do this or that a little differently, and they could easily break something, do limited testing and decide it's fine, then post the file and many people could download and use the broken code. I would send you the source code that I have, and we would work together, but we would only release a binary, and get people to test it before declaring it stable. We would not share or publish the source. What do you think? I already mentioned the other ideas I hope to implement, but am open to more. The only thing is that I think we would need to switch to a larger EPROM to get enough space for the CC support. I am pretty sure the decoding logic already supports it, but I haven't tested it yet.

Bob

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Sun Oct 23, 2016 12:28 am

Rasputin,

If you want to discuss possibly working together on the ax80 firmware, please contact me via my web site tauntek.com using the contact info.

Thanks,
Bob

Rasputin
Senior Member
Senior Member
Posts: 810
Joined: Thu Jul 21, 2016 4:52 am

Re: AX-80 O.S. hacking co-op?

Post by Rasputin » Sun Oct 23, 2016 1:39 am

rlg42 wrote:If you want to discuss possibly working together on the ax80 firmware, please contact me via my web site tauntek.com using the contact info.
Doing so now.

Rasputin
Senior Member
Senior Member
Posts: 810
Joined: Thu Jul 21, 2016 4:52 am

Re: AX-80 O.S. hacking co-op?

Post by Rasputin » Sun Oct 23, 2016 4:27 pm

To keep everyone in the loop:

Still would like to acquire Rev. 'I' (this would be the ROM for the oldest launch models of AX80, until about Feb. of '85) and anyone willing to contribute to making an editor(s) for either tape/SysEx/both would be very welcome.

More importantly, Bob is super talented and will be able to knock this out of the park (within the practical limitations of 1984, anyway) and take it to places I couldn't have done by myself, so this is an amazing stroke of luck for anyone clamoring for new AX80 firmware. All the work that has been done already has put this project in a very strong position, so I'm expecting to see good things in a reasonably short amount of time.

I know for sure that SysEx in/out is doable without any hardware mods, as I've already provided proof of concept, and Bob's tremendous skills have driven a nail in the coffin of the stock firmware. This means some nice features should be coming after thirty long years of waiting.

Although I can't speak of an exact timetable...

=D>

pouncey
Newbie
Newbie
Posts: 12
Joined: Fri Aug 31, 2012 6:03 pm

Re: AX-80 O.S. hacking co-op?

Post by pouncey » Sun Oct 23, 2016 7:19 pm

Midiquests generic profile should be able to be customized for a Sysex capable AX80 pretty easily.

Rasputin
Senior Member
Senior Member
Posts: 810
Joined: Thu Jul 21, 2016 4:52 am

Re: AX-80 O.S. hacking co-op?

Post by Rasputin » Sun Oct 23, 2016 7:31 pm

pouncey wrote:Midiquests generic profile should be able to be customized for a Sysex capable AX80 pretty easily.
Hopefully you'll have that done in the near future then.

pouncey
Newbie
Newbie
Posts: 12
Joined: Fri Aug 31, 2012 6:03 pm

Re: AX-80 O.S. hacking co-op?

Post by pouncey » Mon Oct 24, 2016 5:58 pm

I've never done such a thing but once firmware with Sysex exists for the AX80 I can attempt mapping it to the generic profile in midiquest. It's supposed to be a straightforward process.
I'm here as an interested AX80 owner, but am not in any way a programmer. I've wanted to assure the interest and audience for a firmware update, but it's not something I have the skills to help with. I'm very happy to see Bob coming in with his skill set so I'll keep an eye on how he brings this along.

rlg42
Newbie
Newbie
Posts: 10
Joined: Sat May 09, 2015 12:52 am

Re: AX-80 O.S. hacking co-op?

Post by rlg42 » Wed Nov 02, 2016 4:13 am

Hi,

Rasputin and I have put in quite a few hours in the last week or so on the AX80 firmware project. At this time we have new versions of all three AKAI EPROMs. Revs I, K, and L. Our code is the same in all three. The Akai code is the same as was in the original EPROMs. We have incorporated a slightly enhanced version of Rasputin's sysex patch save and restore code, a way to disable LFO reset on keypress, (this setting is saved) immediate VCF cutoff change whenever the parameter is changed, non-volatile saving of MIDI channels and the last patch, and both sysex and cc MIDI control of parameters. To get the code as solid as possible before offering it to a wider audience, we are looking for Beta testers who understand that the code may have bugs, and agree not to distribute this (possibly buggy) version in any way. If you have an EPROM programmer, I can send you the correct version of the image for your AX80. If you don't have a programmer, and want to help us test the firmware, for $10 (USA addresses) I will program and mail you an EPROM. The $10 is just to cover the cost of the EPROM and postage. Once the code has been tested and we declare it "released", the price will increase a little, but will still be very reasonable. The new code will also be available on my site as a free download. If you are interested, please email me using the contact information at tauntek.com Thanks Bob

User avatar
madtheory
Supporting Member!
Supporting Member!
Posts: 5418
Joined: Mon May 01, 2006 12:45 pm
Real name: Tomas Mulcahy
Gear: Wurlitzer Opus 1536, Model F, Morovdis Arpeggiator, Maplin My First EQ, Jeff Wayne Thunderchild rack, Thermostat, Buck Owens' Moog.
Location: Cork, Ireland
Contact:

Re: AX-80 O.S. hacking co-op?

Post by madtheory » Wed Nov 02, 2016 11:28 am

A W E S O M E

now I want to own an AX-80 even more :)

Post Reply