Jump to content
IGNORED

DIS6502 - The Interactive 6502 Disassembler


JAC!

Recommended Posts

6 hours ago, JAC! said:

File handling of the input stream and the pasers for reading XEX and other file types has been revised. Now, instead of simply returning "false" and a generic error message like "is corrupted or contains more then 4096 segments", you now get a specific error message for every error situation. The texts are not yet great, but there is a different text not for every error which should already be helpful. With this instrumentation you can see that in the sample file given above there is a file with broken DOS file links (corrupted file) and one which is valid file, but not a valid XEX file with and $FFFF header. The last file loaded was OK, so no error message.

 

IOExceptions.thumb.png.9a380a2a9e5d7a5de129d052176d2dc6.png

 

Daily is updated.

 

 

UPDATE: Name of the inner EXE and number sectors are now also output in the status message and the message texts have been revised already.
IOExceptions-2.thumb.png.6f77a1b816fb62a8b2babd3db48f45da.png

 

Note that adding freely selected sectors does not yet work. That's next.

Great shop Peter,

 

Thnx for all the hard work.

 

 

Gr.

Marco

Link to comment
Share on other sites

  • 2 weeks later...
3 hours ago, ascrnet said:

Questions: Is version 02-23-2022 is it normal that the segment submenu does not work?

segmen.thumb.jpg.392fca5d61ef72bbc5ffb7a878f7c69a.jpg

Answer: Thanks for reporting. This has been fixed with https://sourceforge.net/p/dis6502/git/ci/b77606e531843fcd18cbc3f06d46be2b02b90908/, daily is updated.


Question: Also when opening a binary .xex file it does not mark the records that are in the open file?
Answer: What exactly do you mean with this?

 

 

 

 

  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

Yes, I've also received support from Thomas Scott Giese who has provided fixes and some good ideas. And besides that I keep on adding tests primarily. I haven't pushed a new binary though.

Link to comment
Share on other sites

On 4/1/2022 at 9:44 PM, JAC! said:

Yes, I've also received support from Thomas Scott Giese who has provided fixes and some good ideas. And besides that I keep on adding tests primarily. I haven't pushed a new binary though.

Hello Peter,

 

Thnxxx for the info i will wait for a beta version or test version.

Keep the good atari work.

 

 

Gr.

Marco

Link to comment
Share on other sites

On 4/1/2022 at 9:44 PM, JAC! said:

Yes, I've also received support from Thomas Scott Giese who has provided fixes and some good ideas. And besides that I keep on adding tests primarily. I haven't pushed a new binary though.

Wow Peter,

 

You are very busy with dis6502 when is a beta test version coming? Or a rc versio 4.0?

But thank you for all these good work.

 

Gr.

Marco

Link to comment
Share on other sites

On 4/11/2022 at 12:27 PM, marcokitt2000 said:

You are very busy with dis6502 when is a beta test version coming? Or a rc versio 4.0?

 

Sorry, but I'm still in the process of making the logic parts work and creating real unit tests for them. This weekend I've completed the parts dealing with keeping the disassembly listing in memory (finally no linked lists anymore) and the logic to save it to .asm files in the different forms (one file, one file plus one include, main file with all includes, main file with chained includes). This gives me the confidence that for all of this, I'm really done and don't have to touch it again.
 

image.thumb.png.d38bfb601e8861cab2e740399f9c8bb1.png

 

image.thumb.png.e40a325fe1a3d57743bfade9b762d977.png

 

In other words: I am not yet on the UI layer and the link between the different controls doesn't work yet. In the original code, there basically every control calling every other control. I want to change that to a regular MVC approach, so I can ultimately also test the UI logic without clicks.

  • Like 1
Link to comment
Share on other sites

20 hours ago, JAC! said:

 

Sorry, but I'm still in the process of making the logic parts work and creating real unit tests for them. This weekend I've completed the parts dealing with keeping the disassembly listing in memory (finally no linked lists anymore) and the logic to save it to .asm files in the different forms (one file, one file plus one include, main file with all includes, main file with chained includes). This gives me the confidence that for all of this, I'm really done and don't have to touch it again.
 

image.thumb.png.d38bfb601e8861cab2e740399f9c8bb1.png

 

image.thumb.png.e40a325fe1a3d57743bfade9b762d977.png

 

In other words: I am not yet on the UI layer and the link between the different controls doesn't work yet. In the original code, there basically every control calling every other control. I want to change that to a regular MVC approach, so I can ultimately also test the UI logic without clicks.

Wow Peter,

 

Thnx for the info.

 

Gr. Marco

Link to comment
Share on other sites

  • 10 months later...

There appears to be a bug in the address counting, to wit:

 

L3200       JMP ECHO
L3203       JMP ECHOS
L3206       JMP PRINTS
L3209       JMP CRLF
L320C       JMP GETSTRNG
L320F       JMP SUSPEND
L3212       JMP MIOSUSP
L3215       JMP RESUME
L3218       JMP MIORESUM
L321B       JMP OPNULOG
L321E       JMP CLSULOG
L3224       JMP RDUSER    ====>> This should be $3221 not $3224

 

Second quirk further on:

 

L3254       JMP TOASCII
L3257       JMP TOSTR
L325A       JMP ECHOB
L325A       JMP ECHOC  =====> duplicate address
L325D       JMP DATESTMP

 

 

Edited by Alfred
Link to comment
Share on other sites

On 3/8/2023 at 3:15 AM, Alfred said:

There appears to be a bug in the address counting, to wit:

 

L3200       JMP ECHO
L3203       JMP ECHOS
L3206       JMP PRINTS
L3209       JMP CRLF
L320C       JMP GETSTRNG
L320F       JMP SUSPEND
L3212       JMP MIOSUSP
L3215       JMP RESUME
L3218       JMP MIORESUM
L321B       JMP OPNULOG
L321E       JMP CLSULOG
L3224       JMP RDUSER    ====>> This should be $3221 not $3224

 

Second quirk further on:

 

L3254       JMP TOASCII
L3257       JMP TOSTR
L325A       JMP ECHOB
L325A       JMP ECHOC  =====> duplicate address
L325D       JMP DATESTMP

 

 

In which version of DIS6502? And could you please provide the workspace.

On 3/8/2023 at 11:45 AM, marcokitt2000 said:

Hello Peter,

 

Are there any updates for version 4.00 or is this still the backside.

We have time to wait use the older version.

 

 

Gr. Marco

My focus is currently on WUDSN still.

Link to comment
Share on other sites

23 hours ago, Alfred said:

How would I know what version ? There's no version number in the About box. Just says (c) 2017 by you.

Then that is very old intermediate version. The latest stable 3.6 does have it.

https://sourceforge.net/projects/dis6502/files/dis6502/3.6/

image.png.5dd769805cc86e2448836de9c290d3e1.png

  • Like 1
Link to comment
Share on other sites

Here's a bug in the latest 3.6: When you delete the first user equate that you added, it deletes it from the box, but the next time you open the user equates, it's back. You can delete any other equates and they stay deleted, but the very first one you create, no matter how many times you delete it, it always comes back.

Link to comment
Share on other sites

  • 2 weeks later...
On 3/13/2023 at 9:33 PM, Alfred said:

Here's a bug in the latest 3.6: When you delete the first user equate that you added, it deletes it from the box, but the next time you open the user equates, it's back. You can delete any other equates and they stay deleted, but the very first one you create, no matter how many times you delete it, it always comes back.

Thanks for reporting. I've filed it as https://sourceforge.net/p/dis6502/bugs/29/. I don't think there'll be a fix in 3.6 but I'll make sure it'll be fixed in the newer version. There the whole equate handling will be reimplemented.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...

Hi,

 

I played a bit with the 3.6 version and I'm unsure if I just do things the wrong way or nobody tested the program with ca65/m65 so far:

 

* the system equates are still given as "equ" even if "=" is configured for the assembler. ca65 and atasm won't assemble without manual change.

* the default profile has ".w" as absolute 16 bit addressing. This should be " a:" in the ca65 profile or " !" for m65 (thankfully it doesn't seem to matter for the assemblers that there is a space between the mode an operand "ora.w $FE" -> "ora a: $FE"

* when going for single file output without any includes the result is garbage. Is this a known issue (or a problem while I'm testing under Linux with "wine")?

 

- the system equates do not have the official names, which I find a bit strange. Any chance to change that (e.g. $50 is called "TEMP" while the official label should be "TMPCHR")?

I'm asking while it would be quite nice to abstain from re-defining them but just do an ' .include "atari.inc" ' f.e. in the ca65 case.

 

@JAC!?

 

There are other issues which prevent an identical binary after re-assembling the disassembled source, but I was to lazy to track them all down yet but used "6502bench" instead (needed also some manual work).

I would prefer working with "DIS6502" as "6502bench" doesn't like wine very much...

 

Edited by Irgendwer
  • Thanks 1
Link to comment
Share on other sites

On 5/6/2023 at 2:31 AM, Irgendwer said:

Hi,

 

I played a bit with the 3.6 version and I'm unsure if I just do things the wrong way or nobody tested the program with ca65/m65 so far:

 

* the system equates are still given as "equ" even if "=" is configured for the assembler. ca65 and atasm won't assemble without manual change.

* the default profile has ".w" as absolute 16 bit addressing. This should be " a:" in the ca65 profile or " !" for m65 (thankfully it doesn't seem to matter for the assemblers that there is a space between the mode an operand "ora.w $FE" -> "ora a: $FE"

* when going for single file output without any includes the result is garbage. Is this a known issue (or a problem while I'm testing under Linux with "wine")?

 

- the system equates do not have the official names, which I find a bit strange. Any chance to change that (e.g. $50 is called "TEMP" while the official label should be "TMPCHR")?

I'm asking while it would be quite nice to abstain from re-defining them but just do an ' .include "atari.inc" ' f.e. in the ca65 case.

 

@JAC!?

 

There are other issues which prevent an identical binary after re-assembling the disassembled source, but I was to lazy to track them all down yet but used "6502bench" instead (needed also some manual work).

I would prefer working with "DIS6502" as "6502bench" doesn't like wine very much...

 

Thanks a lot for your feedback. I've turned them into tickets for better tracking, so you can also subscribe to them.

 

Bugs: Many things may already be different in 4.0 and fixes will most like only be there.

Features:

  • https://sourceforge.net/p/dis6502/feature-requests/70/

    4.0 aims at much better equate handling and I anyway wanted to include proper equates with comments. Note that there are difference between 800 and XL, too, which might be the reason why some are "incorrect" now. The TEMP is simply wrong, though and must be TEMPCHR of course.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Pirx reported issues using DIS6502 4.0 under Wine. I went a little to extremes with "DIS6502 on Wine on Linux in Virtual Box on macOS / Intel MacBook Pro". Works, except for the double font size (and other known issues in 4.0)

Keine Beschreibung verfügbar.

 

 

Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...