Very demanding improvement request

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2759
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

Very demanding improvement request

Postby AtariZoll » Wed Feb 11, 2015 12:34 pm

There is option to output any section of Atari RAM disassembled in Steem Debugger .
It would be useful to make disassemble code located in very low RAM , which can not do with usual disassemblers as Devpac - since they need TOS workspace intact. But it produces not really good output. Something like disassembling with Devpac, or some other good tool would be very nice - generating labels, may set multiple areas with data ...
Maybe possible to use some open source 68000 disasm. to make it easier ...
English language is like bad boss on workplace: it expecting from you to strictly follow all, numerous rules, but self bending rules as much likes :mrgreen:

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1889
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Very demanding improvement request

Postby Steven Seagal » Fri Feb 13, 2015 8:48 am

AtariZoll wrote:There is option to output any section of Atari RAM disassembled in Steem Debugger .
It would be useful to make disassemble code located in very low RAM , which can not do with usual disassemblers as Devpac - since they need TOS workspace intact. But it produces not really good output.

It's not too bad I'd say!
Recently I changed notation of some displacements, + - decimal instead of + hexa
Testing, could be bugged... question of taste too maybe.

Something like disassembling with Devpac, or some other good tool would be very nice - generating labels


Does Devpac do it on the fly?
What I've recently added is labels for VBi, TimerB etc on the fly, quite handy.

, may set multiple areas with data ...


You mean group edit?

Maybe possible to use some open source 68000 disasm. to make it easier ...


Don't you use Steem 3.2 boiler anyway?

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2759
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

Re: Very demanding improvement request

Postby AtariZoll » Fri Feb 13, 2015 8:52 pm

Generating proper labels is what is necessary:

Code: Select all


   beq.s +4 {$00044E}                               ; 000448: 6704
   movea.l d0,a0                                    ; 00044A: 2040
   jsr (a0)                                         ; 00044C: 4E90
   movem.l (a7)+,D0-7/A0-6                          ; 00044E: 4CDF 7FFF


Above is how Steem, and SSE Boiler does - ant that's not good.

Need something like:

beq.s l00044E
movea.l d0,a0
jsr (a0)
l00044E movem.l (a7)+,D0-7/A0-6

Then modding is easy.

To avoid mess like this:
ori.b #$80,d0 ; 000C38: 0000 7580
ori.b #$2a,d0 ; 000C3C: 0000 082A
ori.b #$14,d0 ; 000C40: 0000 0814
ori.b #$4c,d0 ; 000C44: 0000 084C
ori.b #$60,d0 ; 000C48: 0000 0860
ori.b #$88,d0 ; 000C4C: 0000 0888
ori.b #$18,d0 ; 000C50: 0000 0918
ori.b #$d6,d0 ; 000C54: 0000 08D6
ori.b #$68,d0 ; 000C58: 0000 0968
ori.b #$14,d0 ; 000C5C: 0000 0814
ori.b #$74,d0 ; 000C60: 0000 0874
ori.b #$96,d0 ; 000C64: 0000 0B96
ori.b #$14,d0 ; 000C68: 0000 0814
ori.b #$aa,d0 ; 000C6C: 0000 09AA
ori.b #$c4,d0 ; 000C70: 0000 0AC4


We need option to define segment(s) in area given for disassembly which contain data, and not code, so disassembler will output that segment with
dc.b 0,1,$44,$F .....
And because may be multiple such segments, possibility to give more . See how disasm in Devpac (MON) works.
English language is like bad boss on workplace: it expecting from you to strictly follow all, numerous rules, but self bending rules as much likes :mrgreen:

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1889
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Very demanding improvement request

Postby Steven Seagal » Sat Feb 14, 2015 9:00 am

AtariZoll wrote:Then modding is easy.


How is modding easy? In fact to mod you need to compute displacement yourself.
Maybe I'll revert columns of the disassembly, I prefer it this way, like I did
for the disassembly of the IKBD rom:

Code: Select all

f000   96 88      ldaa 88
f002   81 aa      cmpa #aa
f004   27 0a      beq  0a (F010)
f006   cc 00 80   ldd  #0080
f009   20 09      bra  09 (F014)
f00b   7b 01 11   tim 0111
f00e   26 fb      bne  fb (F00B)


Same info as labels is there, generating labels is more demanding as you said.
Anyway it seems clear enough like that, I don't agree that it's not good.


We need option to define segment(s) in area given for disassembly which contain data, and not code, so disassembler will output that segment with
dc.b 0,1,$44,$F .....
And because may be multiple such segments, possibility to give more . See how disasm in Devpac (MON) works.


Yes those ORI are annoying, but it's not trivial to do either.
And is it dc.b, dc.w... ?

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2759
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

Re: Very demanding improvement request

Postby AtariZoll » Sat Feb 14, 2015 9:48 am

Yes, word demanding is used in thread title too :D
Why should I compute displacements, when we have assembler for that ?

bra.s label1
move d0,d1
label1 ....

If I want to add new line, I just add it, and assembler will do the rest:

bra.s label1
move d0,d1
move d2,d3
label1 ...

If there is bra.s +2 it will need to be changed by coder - ant that's exactly what we need to avoid.
Of course, that means at least 2 pass disassembling - you need first to generate label list, and in second pass to insert labels in every line where that label is accessed. This is why MON asks for Cross-reference list address - user needs to give there enough big RAM area begin address, where disassembler will locate list of labels - with names and positions.

MON generates dc.b by default . There could be some extra options too, like ASCII output for texts in middle of code, but let's not go in that right at beginning ..
English language is like bad boss on workplace: it expecting from you to strictly follow all, numerous rules, but self bending rules as much likes :mrgreen:


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest