Jump to content
IGNORED

DIS6502 - The Interactive 6502 Disassembler


JAC!

Recommended Posts

2 hours ago, ebiguy said:

OK, will do.

 

In the next version, I already changed the default value for option "Show 'A' in accumulator mode' to false.

And I also changed the MADS.prf profile.

So, by default or with MADS, the disassembly generates asl instead of asl A which is OK.

So I won't add an option to generate @ as it is the same without it (at least in a version 3.x).

 

Did you try to assemble a source generated by DIS6502?

Does it assemble without any modification?

whether to uncheck the option "Show 'A' in accumulator mode".?

Since the default assembler is MADS, should it be unchecked by default or not??

 

if I could disassemble an autorun.sys menu and then reassemble. I compared it binary and it's fine.

Captura.thumb.PNG.48c19a54f78351c727f9036059d6a22b.PNG

original autorun.xex file and new file new_autorun.sys, and attached a zip with everything.

 

that for the moment ...

Greetings

 

autorun.zip

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

Hello Peter,

 

What is the best setting for mads to use for wudsn (mads).

When i dis6502 ghostbusters and used in wudsn as a project.

 

 

And Eric how is going with version 3.5 there are many updates etc i cant wait.

Hihihi i like it do you have play atari today hihihih.

 

We do still.

 

Gr. Marco

  • Thanks 1
Link to comment
Share on other sites

On 5/24/2020 at 12:35 AM, ascrnet said:

Since the default assembler is MADS, should it be unchecked by default or not?

In version 3.5, it is unchecked.

3 hours ago, marcokitt2000 said:

And Eric how is going with version 3.5 there are many updates etc i cant wait.

Then run at the usual location to get the version 3.5:

https://sourceforge.net/projects/dis6502/files/latest/download

 

Here are the changes compared to version 3.4:

 

New features:
- DIS6502 now supports choosing the processor for each segment (currently supporting Sally and 65C02)
- DIS6502 now uses the undocumented instruction names compatible with MADS and found in https://xxl.atari.pl/sally-6502c/

 

Fixed bugs:
- the string in a .SBYTE directive starts with a single quote and ends with a double quote
- the label used in the directive "blk update new" was garbaged
- the default profile does not generate anymore the 'A' for Accumulator operand (the MADS profile has also been updated)
- all profiles have been converted into an XML format
- the comment for the directives "blk main" and "blk extended" was using a hard coded ';' instead of the comment prefix from the configuration
- the generation of the assembly file now removes the D : prefix in the included filename (icl 'header.inc' instead of icl 'D:header.inc')

 

Here is a screenshot of the Segment properties dialog box with the Processor combo box:

segment_properties.png.050c2ea30395cfe8a38f164bef185105.png

 

Edited by ebiguy
  • Thanks 2
Link to comment
Share on other sites

thanks for the new version ?, now try a 16k favorite game of mine

I found that it does not generate some memory labels

Captura.PNG.b7d4d53b506123acb7f0595a13b57d94.PNG

and if I add them by hand the game is damaged.

LBA74		equ $BA74
LBA76		equ $BA76
LBA0C		equ $BA0C
LBA05		equ $BA05
LBA2F		equ $BA2F

I add the files for you to check and if I am doing something wrong. monty.zip

Greetings

  • Thanks 1
Link to comment
Share on other sites

35 minutes ago, ascrnet said:

I found another detail that does not open .ROM larger than 16kb and none .CAR

Captura.thumb.PNG.03608c2f8145c4c85638c45807f9ff73.PNG
files_rom_car.zip 41.61 kB · 1 download
It would be nice if it had compatibility with 8kb, 16kb, 32kb, ..... up to 1024kb.

Greetings

.CAR ist on the list already. Until then just strip the first 16 bytes from the file before adding it.

Link to comment
Share on other sites

On 5/26/2020 at 3:42 AM, ascrnet said:

I found that it does not generate some memory labels

Again, thank you very much. You help me a lot!

This was a bug caused by the fact that the first and the third segments uses the same address space ($BAxx are in both segments).

This is fixed now.

 

On 5/26/2020 at 3:42 AM, ascrnet said:

and if I add them by hand the game is damaged

Even with the above fix, you don't find exactly the same binary when you compile the DIS6502 assembly output with MADS.

But, this is not a bug.

I found that this executable has many instructions with zero page addresses that are coded on 3 bytes instead of 2.

For example: LDA RTCLOCK+2 should be assembled as $A5 $14 but has been assembled in this executable as $AD $00 $14.

With MADS, you can specify a mnemonic after the instruction to force the use of the absolute address instead of the zero page address.

   LDA RTCLOCK+2 ; generates $A5 $14

but

  LDA.w RTCLOCK+2 ; generates $AD $00 $14

So I added a new option in the profile dialog box to specify the mnemonic (.w) to force the absolute mode if the assembler supports this concept.

Now the disassembly output generates exactly the same binary file as the original one.

 

The new version 3.6 is available at the usual location:

https://sourceforge.net/projects/dis6502/files/latest/download

 

Version 3.6
-----------

New features:
- An option named "Mnemonic to force Absolute Mode" has been added to force assembler to generate a ZP address on 2 bytes
- MADS profile has been updated to define the mnemonic '.w' to force the generation of a ZP address on 2 bytes

 

Fixed bugs:
- Some labels are used but not define in the output disassembly when several segments share the same address space

 

Link to comment
Share on other sites

17 hours ago, JAC! said:

.CAR ist on the list already. Until then just strip the first 16 bytes from the file before adding it.

It is understood. Personally I find the .CAR format better since it helps you save the type of bank the cartridge uses.

 

4 hours ago, ebiguy said:

Version 3.6

-----------

New features:
- An option named "Mnemonic to force Absolute Mode" has been added to force assembler to generate a ZP address on 2 bytes
- MADS profile has been updated to define the mnemonic '.w' to force the generation of a ZP address on 2 bytes

 

Fixed bugs:
- Some labels are used but not define in the output disassembly when several segments share the same address space

 

Thank you very much ebiguy for the improvements to this great program.
 
Test and we are perfect when disassembling and reassembling?
Captura3.thumb.PNG.d024e09d6abcd1e77501e6d9a8b08490.PNG
 
?I found something that doesn't work well when using F8
Captura.PNG.7d0e4b49d0057a44cfe5c7111fdce451.PNG
 
change an lda stick0 for lda stick1 for example, it does not matter if you write lowercase or uppercase.
Captura2.PNG.e36692c6f0f8b6f0cde161a5290163c8.PNG
 
when closing, the section of the disassembler changes a lot by 3 bytes
Captura4.PNG.7ffbfe2db2acdf8fb24f4c788a444759.PNG
 
that for the moment ...

Greetings
  • Thanks 1
Link to comment
Share on other sites

Hello Eric and Peter,

 

When i used dis6502 version 3.5 and will removed 1 file is in use atari800.fon cant removed only when start windows  and not used dis6502.exe strange behaves but all so when compiled the visual studio code, when i  compile again i must restart windows 10.

 

 

But i saw the little changes of version 4 open .... and add ..... nice option.

 

Allso the web based html is nice (atr image explorer updates: Draggable Basic disassembly windows, Imag...).

 

 

Gr. Marco

Link to comment
Share on other sites

On 5/31/2020 at 9:34 PM, ascrnet said:

when closing, the section of the disassembler changes a lot by 3 bytes

This is fixed but not released.

I am waiting for more changes.

In the meantime, if you want a workaround, select only the first byte (not a range) in the dump window where you want to start assembling code.

 

58 minutes ago, marcokitt2000 said:

file is in use atari800.fon

I have already seen that the file atari800.fon is locked once DIS6502 is launched and it remains locked even after exiting DIS6502.

I hope @JAC! has a solution for this issue...

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, ebiguy said:

I have already seen that the file atari800.fon is locked once DIS6502 is launched and it remains locked even after exiting DIS6502.

I hope @JAC! has a solution for this issue...

I've been searching since the first day I've compiled dis6502, registered in MS forums etc. with no real solution so far. Somehow it seems that some GDI resources remain globally locked.

"    // TODO: Use AddFontResource instead to solve retention problems? 
    // https://www.go4expert.com/forums/createfont-deleteobject-leaves-font-t35303/
    // https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/b27d4e94-cd43-49b2-b6cc-6bf73bf2970a/createfont-deleteobject-leaves-font-file-locked-on-application-exit?forum=vcgeneral"

 

Overall it seems that the function to load the font has a bug and the fixed function is not available in XP. So maybe switching XP off in the build will bring that option.

Link to comment
Share on other sites

19 hours ago, JAC! said:

I've been searching since the first day I've compiled dis6502, registered in MS forums etc. with no real solution so far. Somehow it seems that some GDI resources remain globally locked.

"    // TODO: Use AddFontResource instead to solve retention problems? 
    // https://www.go4expert.com/forums/createfont-deleteobject-leaves-font-t35303/
    // https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/b27d4e94-cd43-49b2-b6cc-6bf73bf2970a/createfont-deleteobject-leaves-font-file-locked-on-application-exit?forum=vcgeneral"

 

Overall it seems that the function to load the font has a bug and the fixed function is not available in XP. So maybe switching XP off in the build will bring that option.

Oke Peter,

 

Its not a bug its atari will kill the windows :) little bit humor.

Thnx for info...

 

 

Gr.

Marco

Link to comment
Share on other sites

  • 3 weeks later...
12 hours ago, marcokitt2000 said:

Are there any updates or is version 4 comingsoon?

No release planned yet. Peter and I have been busy lately on other topics.

 

12 hours ago, marcokitt2000 said:

And Eric are there all so any update aspeqt(respeqt) coming?

This will come with a better printer emulation but again, no hurry and no release dates.

Link to comment
Share on other sites

  • 4 months later...
15 hours ago, TXG/MNX said:

Hi,

What does this function do ? I thought I can comment a range of addresses as RAM. I made a label start RAM D600 but after setting the range I get this error. Maybe I make a mistake when I do can someone give me an example how it should work.

 

image.png.b6e4eaa98ecf6b758ac053a5bc2cd8a2.png

 

 

Hi!

If you define a label as range, addresses in that range will be translated into LABEL+<OFFSET>

So here $d612 will become RAM+$12.

The start address itself, must not be in the range because it will be "RAM" and not "RAM+0". So use $d601 as start, that should work.

Regards, Peter.

Link to comment
Share on other sites

15 hours ago, TXG/MNX said:

Request to make it possible to resize the add user equates window it has fixed width now.

Also I would like to have an option to sort the Addresses for low to high

 

image.png.006b065eb1f4004a7ea9cabc7003febc.png

There is an inherent difference in the way dialogs and windows are built.

Dialogs have components and absolute positions. In the planned version this whole dialog has already been reworked.

 

 

EditEquates.png

 

The point with the addresses I don't undestand the current dialog always sorts by address as the address (plus the access mode) are the logical key.

But that's a good point for the new dialog to have that option.

Link to comment
Share on other sites

1 minute ago, JAC! said:

There is an inherent difference in the way dialogs and windows are built.

Dialogs have components and absolute positions. In the planned version this whole dialog has already been reworked.

The point with the addresses I don't undestand the current dialog always sorts by address.

 

EditEquates.png

 

Hi,

 

Yes sorting is in the windows view but not in the .equ file it saves. I want to be able to edit the equ file manually aswell sometimes its much quicker.

Also the label size is limited, I see in picture above you can set comment ? Is that also available in 3.6 ? I havenot found that yet but that could work for me because I am disassembly a big project and really need the comment option.

Link to comment
Share on other sites

In the new version (4.x), user equates and system equates will use the same format and you will be able to add comments which is currently only possible in the system equates files in 3.6

So in 3.6, I'd propose you "Misuse" the system equates file feature directly after saving the user equate as file.

Link to comment
Share on other sites

9 minutes ago, JAC! said:

In the new version (4.x), user equates and system equates will use the same format and you will be able to add comments which is currently only possible in the system equates files in 3.6

So in 3.6, I'd propose you "Misuse" the system equates file feature directly after saving the user equate as file.

Any idea when version 4.x will be available ?

Link to comment
Share on other sites

  • 2 weeks later...
hello.. I ran into the following problem, I wanted to change the names to label, which if it does, but when saving the project and then reloading it, these values no longer exist and the dis takes the default values.

example
L2000
I change it for
kem

when reloading, L2000 appears again
Edited by dogdark
Link to comment
Share on other sites

On 11/18/2020 at 10:33 PM, dogdark said:

hello.. I ran into the following problem, I wanted to change the names to label, which if it does, but when saving the project and then reloading it, these values no longer exist and the dis takes the default values.

example
L2000
I change it for
kem

when reloading, L2000 appears again

Can you please PM/upload the WRK file and show which exact DIS6502 version your are using?

Link to comment
Share on other sites

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...