Post

Bit of a side-quest with my Sharp calculator link software plans this weekend. I was planning to support the EL-9400, 9450, 9600, 9900 and 9950, but what of the older EL-9300? This works in a fundamentally different way, with different file formats and no 2.5mm I/O port.

It does have a 4-pin "PA bus" option port on the bottom, though, same as Sharp's electronic organisers from this period. I don't have another EL-9300, so can't sniff the bus to reverse engineer the calc-to-calc transfers. I do have a CE-50P printer and cassette interface, though!

Hooking the printer up to a logic analyser and performing some test prints and cassette saves allowed me to reverse engineer the communications. A CE-136T "level converter" then lets me plug the calculator into my PC, though the protocol still has to be bit-banged in software.

This all allows me to build a simple virtual CE-50P that emulates the printer and cassette interface in a C# program. I can then use this to write some programs on the calculator, then save to a virtual tape so I can pick through the data structures. Easier than decoding tape audio files, at least!

0 reposts1 like

Once I'd figured out how all the programs were stored, I needed to work out the individual tokens. Another tool created a bunch of programs that contained every possible token so I could transcribe them into a table. Fortunately there are only single-byte tokens here, unlike Sharp's later models!

I'd still like to figure out the calc-to-calc protocol and I haven't seen what happens if the tape image is over 8KB (how much RAM is in the printer - I'll likely need to split into multiple blocks) but it's been a fun diversion. I do rather like the EL-9300, even if its programming is inelegant!