what program for disassemble?

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

what program for disassemble?

Francesco Messineo
Hi all,
I'd need the cbmlink-cbmbasic "server" side for the PET 3xxx
disassembled, what program should I use to obtain a good asm source?
I'm using linux only :)
Thanks a lot
Frank

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Anders Carlsson
Francesco Messineo wrote:

> I'd need the cbmlink-cbmbasic "server" side for the PET 3xxx
> disassembled, what program should I use to obtain a good asm source?
> I'm using linux only :)

My first thought is the good old Recomment (Perl based) but I've got a
feeling it has been superceded by even better tools recently? I think
the program you like to disassemble is fairly short though, so perhaps
you can try Recomment while waiting for better suggestions.

http://zimmers.net/anonftp/pub/cbm/programming/unix/index.html
http://www.cs.cmu.edu/~dsladic/vice/doc/recomment.html

Best regards

Anders Carlsson


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Marko Mäkelä
In reply to this post by Francesco Messineo
On Wed, Mar 14, 2018 at 11:42:21AM +0100, Francesco Messineo wrote:
>I'd need the cbmlink-cbmbasic "server" side for the PET 3xxx
>disassembled, what program should I use to obtain a good asm source?

How about the source code that was used to assemble it?
http://www.iki.fi/~msmakela/8bit/cbmlink/

>I'm using linux only :)

Me too, since 1993. Debian GNU/Linux since 1995 or 1996.

        Marko

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

MiaM
In reply to this post by Francesco Messineo
Den Wed, 14 Mar 2018 11:42:21 +0100 skrev Francesco Messineo
<[hidden email]>:
> Hi all,
> I'd need the cbmlink-cbmbasic "server" side for the PET 3xxx
> disassembled, what program should I use to obtain a good asm source?
> I'm using linux only :)

How about using the source directly, or is only some old version
available?


http://www.zimmers.net/anonftp/pub/cbm/crossplatform/transfer/C2N232/

"cbmlink-cbmsrc.tar.gz 2009-08-18 17824
    Source code for cbmlink-cbmbasic.zip and cbmlink-cbmprg.zip. In the
future, the source code for the cbmlink servers will be distributed
separately from the client source code."



--
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Marko Mäkelä
On Wed, Mar 14, 2018 at 05:57:34PM +0100, Mia Magnusson wrote:
>How about using the source directly, or is only some old version
>available?

If someone is distributing binaries without the source, that would be a
copyright license violation. I have released the code only under the GNU
General Public License, version 2 (or any later version).

>http://www.zimmers.net/anonftp/pub/cbm/crossplatform/transfer/C2N232/
>
>"cbmlink-cbmsrc.tar.gz 2009-08-18 17824
>    Source code for cbmlink-cbmbasic.zip and cbmlink-cbmprg.zip. In the
>future, the source code for the cbmlink servers will be distributed
>separately from the client source code."

The real date appears to be 2003-07-19. All file timestamps on
zimmers.net were reset at some point.

I have some minor unpublished changes. Mainly non-essential changes,
such as converting the character set encoding from ISO 8859-1 to UTF-8,
and making some scripts Bourne shell compliant (instead of GNU Bourne
Again SHell). The latest change in 2010 was for supporting the Vic Flash
Plugin http://www.iki.fi/~msmakela/8bit/vfp/. I think I should implement
support for the Vic UltiMem and release a new version soon.

I have been meaning to publish my source repositories, but have not
gotten around to it. Is there some repository site for retro computing?  
Or should I use something generic like gitlab.com?

        Marko

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl

> On 2018-03-14, at 18:22, Marko Mäkelä <[hidden email]> wrote:
>
> I have been meaning to publish my source repositories, but have not gotten around to it. Is there some repository site for retro computing?  Or should I use something generic like gitlab.com?

Just use github.com OR bitbucket.org OR gitlab.com. In order of "momentum".

--
SD!


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Groepaz
Am Mittwoch, 14. März 2018, 18:29:03 CET schrieb [hidden email]:
> > On 2018-03-14, at 18:22, Marko Mäkelä <[hidden email]> wrote:
> >
> > I have been meaning to publish my source repositories, but have not gotten
> > around to it. Is there some repository site for retro computing?  Or
> > should I use something generic like gitlab.com?
> Just use github.com OR bitbucket.org OR gitlab.com. In order of "momentum".

or use sourceforge - everyone will get to know your stuff just because of the
50 pages of ranting about why you choose sf :=)

--

http://hitmen.eu                 http://ar.pokefinder.org
http://vice-emu.sourceforge.net  http://magicdisk.untergrund.net

Es geht nicht darum, dass wir zu einem Überwachungsstaat werden, sondern
lediglich darum, zu speichern, wer wann mit wem und wo telefoniert hat.
<Mechthild Ross-Luttmann, CDU>



Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl
In reply to this post by Anders Carlsson

> On 2018-03-14, at 12:01, Anders Carlsson <[hidden email]> wrote:
>
>> I'd need the cbmlink-cbmbasic "server" side for the PET 3xxx
>> disassembled, what program should I use to obtain a good asm source?
>> I'm using linux only :)
>
> My first thought is the good old Recomment (Perl based) but I've got a feeling it has been superceded by even better tools recently?

It would be good to know...

> I think the program you like to disassemble is fairly short though, so perhaps you can try Recomment while waiting for better suggestions.
>
> http://zimmers.net/anonftp/pub/cbm/programming/unix/index.html
> http://www.cs.cmu.edu/~dsladic/vice/doc/recomment.html

I get a lot of:

"Use of "do" to call subroutines is deprecated at ... line xxx."

when I run it. Obviously it is nothing fatal at the moment but already a hint that it might stop working soon. Maybe someone fully proficient with PERL (André?) could adapt it to current PERL recommendations?

--
SD! - http://e4aws.silverdr.com/


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

And Fachat


Am 30. März 2018 1:14:27 PM schrieb [hidden email]:

I think the program you like to disassemble is fairly short though, so
perhaps you can try Recomment while waiting for better suggestions.

http://zimmers.net/anonftp/pub/cbm/programming/unix/index.html
http://www.cs.cmu.edu/~dsladic/vice/doc/recomment.html

I get a lot of:

"Use of "do" to call subroutines is deprecated at ... line xxx."

when I run it. Obviously it is nothing fatal at the moment but already a
hint that it might stop working soon. Maybe someone fully proficient with
PERL (André?) could adapt it to current PERL recommendations?

I'm afraid my perl knowledge has immediately ceased to exist when I managed
to get recomment do what I want it to do...

IIRC xa65 these days comes with a disassembler (not sure if it has been
discussed here). Maybe that helps.

André





Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Michał Pleban
Hello!

And Fachat wrote:

> IIRC xa65 these days comes with a disassembler (not sure if it has been
> discussed here). Maybe that helps.

I used the xa65 diassembler with the 6509 IPC code and it was very
straightforward.

Regards,
Michau.

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl
In reply to this post by And Fachat

> On 2018-03-30, at 15:03, And Fachat <[hidden email]> wrote:
>
>> I get a lot of:
>>
>> "Use of "do" to call subroutines is deprecated at ... line xxx."
>>
>> when I run it. Obviously it is nothing fatal at the moment but already a hint that it might stop working soon. Maybe someone fully proficient with PERL (André?) could adapt it to current PERL recommendations?
>
> I'm afraid my perl knowledge has immediately ceased to exist when I managed to get recomment do what I want it to do...

I see :-) Personally got myself to love Ruby, which has some perlish roots but never really got around the almighty PERL itself.

> IIRC xa65 these days comes with a disassembler (not sure if it has been discussed here). Maybe that helps.

It's not that there are no other options. It's just that it would be a pity not to keep it alive as long as it would most probably be less than an hour for someone with current PERL knowledge.

As for the other options I am still missing a good, interactive one. I saw one online. Looks promising but "not there yet".

--
SD! - http://e4aws.silverdr.com/


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Anders Carlsson
[hidden email] wrote:
> It's not that there are no other options. It's just that it would be a pity not to keep it alive as long as it would most probably be less than an hour for someone with current PERL knowledge.
> As for the other options I am still missing a good, interactive one. I saw one online. Looks promising but "not there yet".

If xa65 has a disassembler that functionally exceeds Recomment, fixing
up the older, Perl based one would only be due to maintenance for those
who settle with good enough, unless Recomment has other features that
xa65 lacks?

I don't know how useful online disassemblers are. Usually I would want
to download the disassembly and edit it in my favorite editor anyway,
unless of course the code is non-deterministic and one wants an
interactive simulator that shows how the code will act depending on
conditions, but an execution simulator and a disassembler are not the
exact same thing although in some newer IDE's they may appear linked.

Perhaps the Polish guys who are doing C64 to Atari 8-bit and ZX Spectrum
(Z80) to Atari 8-bit (6502) conversions etc would be useful to get input
from, though I think they've more or less rolled their own tools.

Best regards

Anders Carlsson


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

And Fachat


Am 30. März 2018 11:51:31 PM schrieb Anders Carlsson <[hidden email]>:

> [hidden email] wrote:
>> It's not that there are no other options. It's just that it would be a pity
>> not to keep it alive as long as it would most probably be less than an hour
>> for someone with current PERL knowledge.
>> As for the other options I am still missing a good, interactive one. I saw
>> one online. Looks promising but "not there yet".
>
> If xa65 has a disassembler that functionally exceeds Recomment, fixing
> up the older, Perl based one would only be due to maintenance for those
> who settle with good enough, unless Recomment has other features that
> xa65 lacks?

I think the main feature of recomment is that it takes a "hint" file that
tells it about special addresses etc. You can inject label names and
comments with it. And it uses multiple passes to distinguish between code
and data.

OTOH that is probably easy to include in other disassemblers too.

André



Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Steve Gray



I think the main feature of recomment is that it takes a "hint" file that
tells it about special addresses etc. You can inject label names and
comments with it. And it uses multiple passes to distinguish between code
and data.

OTOH that is probably easy to include in other disassemblers too.

André

I wanted to that in my CBM-Transfer (cbmxfer) disassembler. I built "platforms" with memory locations, chip registers and rom entry points for all the cbm machines and put them in a drop-down menu for easy selection. There is a platform with just the rom entry points for all CBM machines along with the machine name for each entry. You can select that and do a disassembly and there is a list of rom routines that are found. You just look there to see what machine its for.
You can add your own labels, tables, comments etc, and I added entry points for code-tracing.  I've added support for most 6502 variants so you can select "legal" 6502 or "illegal" etc. You can have a split window with ASM on one side and HEX view on the other and they are linked so clicking a line in the disassembly shows you where in the hex file it is.

It's free if anyone wants to try it.

Steve




Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl
In reply to this post by And Fachat

> On 2018-03-31, at 00:36, And Fachat <[hidden email]> wrote:
>
> I think the main feature of recomment is that it takes a "hint" file that tells it about special addresses etc. You can inject label names and comments with it. And it uses multiple passes to distinguish between code and data.

The most important part is proper recognition of code vs. data.

> OTOH that is probably easy to include in other disassemblers too.

"Hints" are common. I don't know yet how well recomment fares in terms of code vs. data. That's where the most problems lie when one wants to disassemble something more complex.

--
SD! - http://e4aws.silverdr.com/


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Spiro Trikaliotis
In reply to this post by And Fachat
Hello,

* On Sat, Mar 31, 2018 at 12:36:42AM +0200 And Fachat wrote:
 
> Am 30. März 2018 11:51:31 PM schrieb Anders Carlsson <[hidden email]>:
 
> I think the main feature of recomment is that it takes a "hint" file that
> tells it about special addresses etc. You can inject label names and
> comments with it. And it uses multiple passes to distinguish between code
> and data.

I do not know if da65 (part of the cc65 compiler suite) uses multiple
passes, but it does a fairly good job on this, too. It also uses a hints
file.

Regards,
Spiro.

--
Spiro R. Trikaliotis
http://www.trikaliotis.net/

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl

> On 2018-03-31, at 13:28, Spiro Trikaliotis <[hidden email]> wrote:
>
>> I think the main feature of recomment is that it takes a "hint" file that
>> tells it about special addresses etc. You can inject label names and
>> comments with it. And it uses multiple passes to distinguish between code
>> and data.
>
> I do not know if da65 (part of the cc65 compiler suite) uses multiple
> passes, but it does a fairly good job on this, too. It also uses a hints
> file.

That's what I mostly use. And while I can't say "how" to do it, I still have the feeling that it could do better.

OTOH I am quite a fan of what WhiteFlame did in JS. It is very promising one to me. Just "not there yet" as I can't seem to be able to load definitions files plus some other things.

--
SD! - http://e4aws.silverdr.com/


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

silverdr@wfmh.org.pl
In reply to this post by Steve Gray

> On 2018-03-31, at 01:57, Steve Gray <[hidden email]> wrote:
>
> I wanted to that in my CBM-Transfer (cbmxfer) disassembler. I built "platforms" with memory locations, chip registers and rom entry points for all the cbm machines and put them in a drop-down menu for easy selection. There is a platform with just the rom entry points for all CBM machines along with the machine name for each entry. You can select that and do a disassembly and there is a list of rom routines that are found. You just look there to see what machine its for.
> You can add your own labels, tables, comments etc, and I added entry points for code-tracing.  I've added support for most 6502 variants so you can select "legal" 6502 or "illegal" etc. You can have a split window with ASM on one side and HEX view on the other and they are linked so clicking a line in the disassembly shows you where in the hex file it is.
>
> It's free if anyone wants to try it.

As long as it is Windows-only it's not really for me. I remember I even tried to run it under wine but with limited success, AFAIR.

--
SD! - http://e4aws.silverdr.com/


Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

Michał Pleban
In reply to this post by And Fachat
Hello!

And Fachat wrote:

> I think the main feature of recomment is that it takes a "hint" file
> that tells it about special addresses etc. You can inject label names
> and comments with it. And it uses multiple passes to distinguish between
> code and data.

xa65 does practically all that too.

Regards,
Michau.

Reply | Threaded
Open this post in threaded view
|

Re: what program for disassemble?

David Holz-2
In reply to this post by silverdr@wfmh.org.pl
On 03/31/2018 05:00 AM, [hidden email] wrote:
> OTOH I am quite a fan of what WhiteFlame did in JS. It is very
> promising one to me. Just "not there yet" as I can't seem to be able
> to load definitions files plus some other things.

What other things do you want out of it?  Importing a simple list of
label definitions would be pretty easy to add.

Unfortunately, I'm not going to be adding in .asm export for a while. 
There's too many issues to solve for the general case (ie, wildly
varying platform assumption, multiple file overlays, WFDis allowing
names the assembler doesn't like, etc) and I don't want to lock it into
a simpler model that I'd have to tear out later.  The main thrust of the
project is to explore mechanical "understanding" of the code, not
necessarily a code modification & reassembly tool... yet.

--
David Holz
Director, Grindwork Corporation
http://www.grindwork.com/