User avatar
ZPaul2Fresh8
Posts: 5
Joined: Wed Feb 15, 2017 3:43 am
Contact: Website YouTube

*BUG* TMS34010 Debugger Disassembly

I'm not exactly sure where to post this as in depth stuff seems to be in the Dev pages, but I have no aspiration or time to fix them, I've found 2 bugs that are related to the disassembly window of the TMS34010 'maincpu'.

#1:'MOVB' instructions are showing up incorrectly as a 'MOVE' instructions. MOVB only moves 8-bits and MOVE can do either 16 or 32.

Example of Error:
Image

Code: Select all

MOVE @1408CB0h,A1                    07E1 8CB0 0140


07Ex instructions are all MOVBs, it should display as such:

Code: Select all

MOVB @1408CB0h,A1                    07E1 8CB0 0140


So even if it were a valid MOVE instruction it would be missing the bit differentiate on the end and if were valid it would look as such:

Code: Select all

MOVE @12345678h,A1,0                    05A1 5678 1234
= 16-bit move

Code: Select all

MOVE @12345678h,A1,1                    07A1 5678 1234
= 32-bit move

#2: 'MOVE' instructions that deal with MEMORY to MEMORY moves with no register interactions are displayed wrong as well.
Example of Error:
Image

Code: Select all

MOVE @105D070h,@105D070h,0                    05C0 D070 0105  03F0 0180
Displays correctly in the byte side, but not the assembly

Code: Select all

MOVE @105D070h,@18003F0h,0                    05C0 D070 0105  03F0 0180
This is how it should appear.


If this is posted in the wrong place or if anyone knows the best place, let me know and I'll repost there as well.
Thank you.
Last edited by ZPaul2Fresh8 on Tue May 09, 2017 3:44 am, edited 1 time in total.
Robert
Posts: 99
Joined: Thu Nov 06, 2014 12:44 pm

Re: *BUG* TMS34010 Debugger Disassembly

(deleted)
Last edited by Robert on Fri Sep 23, 2022 3:01 am, edited 2 times in total.
User avatar
ZPaul2Fresh8
Posts: 5
Joined: Wed Feb 15, 2017 3:43 am
Contact: Website YouTube

Re: *BUG* TMS34010 Debugger Disassembly

Robert wrote: Sun May 07, 2017 5:14 am Fixed the 2nd problem, of MOVB/MOVE absolute to absolute showing the first address twice.

For the 1st problem, according to the command summary, the MOVE display is correct, so no change made there.
I appreciate your contribution to the fix you've addressed but I know the 1st is wrong as well because I wrote that code in the debugger myself. ;)

Proof is 11 lines down(FFCEFCF0) in the debugger where I actually use the correct MOVE instruction, not to be confused with the MOVB instruction that was displayed wrong. The highlighted line should show as MOVB, someone probably did a sloppy cut and paste in the TMS34010_Ops file.

Return to “MAME Discussion”