In article ,
Jerry Stuckle writes:
On 11/5/2013 9:40 AM, Bill Gunshannon wrote:
I realize there is probably no one who cares anymore but I have always
had an interest in the firmware in the DR-200's of which I ran a couple
back in the early days of Packet. I alwyas thought the "Howie Code" was
a good routing system that never got a fair shake.
Now that I have thouroughly torqued off all the people who loved NetROM
instaid :-), let me continue.....
I have always wanted to play with the code to explore its possibilities.
I have tried contacting Howie Goldstein N2WX with no luck. I contacted
PACCOMM who agreed to search for the sourcecode for the firmware. I
never heard back (after three attempts over a period of several years)
so I assume they no longer even have a copy. That leaves only one option.
I plan to reverse engineer it. :-) Will definitely be a "clean room"
job as it appears I couldn't see the original source if my life depended
on it. :-)
So, in case there is at least one person here who might know, what language
was this written in? Most likely candidate is Z80 Assembler but given the
period during which it was done, it could also have been done in Pascal or
C. Knowing this will make hand dis-assembling it a little bit easier.
I know it seems a futile task with little ROI but, after all, this is
supposed to be a hobby so why not do the things we find to be fun? :-)
bill KB3YV
Bill,
I don't know, but my guess would be C. If you're familiar with the code
generated by the typical C compiler (back then there weren't as many
optimizations as today, so it should be easier), then a bit of
disassembly should give a pretty good idea if it is C or not.
Actually, I was looking at it the other way around. If I know it was C
then I know what to look for but trying to guess based onthe code is not
as promising. (It was not only C that used null-terinated strings.)
It's possible that it is PASCAL, I guess, but I doubt it. PASCAL is a
great tool for learning, but it's overly strict rules make it less
common as a production language. It also typically generates larger
executables, and is less generally less useful as an OS.
The TNC-1 was done in Pascal, I thought. Well, a mix of Pascal and
assembler using an HP Cross-Compiler. Yes? And Pascal was quite
common on CP/M which would have provided a nice cross-development
environment for the Z80.
Z80 assembler would also be a possibility, but it would be quite a bit
harder to code than a higher level language. Even though memory was
much less dense and more expensive back then, I think even C could be
used to generate the code. IIRC, the code for the TAPR TNC-2 was
written in C, for instance.
Hmmm.. I never looked at it but I always assumed it was straight Z80
assembler.
Guess I really won't know until I start disassembing it. :-)
bill KB3YV
--
Bill Gunshannon | de-moc-ra-cy (di mok' ra see) n. Three wolves
| and a sheep voting on what's for dinner.
University of Scranton |
Scranton, Pennsylvania | #include std.disclaimer.h