[sdiy] Analysis of the TB-303 CPU timing

KRiSh krish0005 at gmail.com
Mon Mar 20 11:50:07 CET 2017

as far as i remember, disassemblers are not guaranteed to output exactly
the original code.

it depends how the disassembler work and only defining the processor family
or model could not be enough..

you might obtain a very similar version of the original code, but not as
optimized as the original nor 100% identical.

any "optimization" is of course useful in the context of each corresponding
and we are talking about a 1981 project so, probably there where some..

i understood the thread is to try re-creating the original source code and
understand deeply how the 303 seq works,
especially including any quirk that might contribute to its disputed
"magic" or "unique" feel.

If that's the objective, then i assume more work is needed on the
pre-requisites in this case.

I would compare at least 3/4 different disassemblers output and see if the
code resulting code is the same.

Is it the same ?

If not what is different ?

which disassemblers have been used so far ?

Trusting your disassembler 100% and use the resulting code being confident
it is already 100% equal to original is a wrong assumption IMHO that could
lead you to waste your time (in this particular case).

If recreating also the quirks is important here, then you really need the
correct original code to understand and identify all the interactions of
the routines/interrupts and their timings, especially because efficiency of
code and, as said any "optimization", would be very important or crucial to
the resulting timing.

IMHO, just my 2 cents, etc


2017-03-20 0:43 GMT+01:00 Magnus Danielson <magnus at rubidium.dyndns.org>:

> Hi,
> On 03/19/2017 10:01 AM, rsdio at audiobanshee.com wrote:
>> Does anyone have a link to a binary image of the 303 ROM? I can handle
>> the disassembly myself, if that's not also available, but I primarily want
>> the masked ROM data.
> It was not too hard to locate and then disassembly was not too hard, I
> defined the processor for my disassembly tool so out came the code.
> The big job now is to interpret it and decorate it with labels.
> As for timing, it is apparent that the interrupt routine varies in delay
> depending on what it does.
> Cheers,
> Magnus
> Thanks,
>> Brian
>> On Mar 16, 2017, at 7:45 AM, Colin f <colin at colinfraser.com> wrote:
>>> If you really want to know what goes on in the 303 CPU, the original
>>> mask ROM seems to have been extracted, and there is code from the MAME base
>>> to emulate the CPU.
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy
>> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20170320/b3838cc5/attachment.htm>

More information about the Synth-diy mailing list