<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-GB link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Btw, does anybody know anything about the SH4 debug stub that is necessary in the ROM to make the JTAG subsystem to work?.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m trying to hook a JTAG to my Dreamcast. So far everything is installed correctly, as the probe can detect the CPU. Unfortunately, the rom does not initialize the CPU id correctly, and the probe just says “Target not recognized SDSR = 0x12345678”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I tried everything to find the location of this “SDSR” register, so I could initialize it to something during the boot rom. But there is no information whatsoever about this. Even Renesas refuses to answer me.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Anyone can bring some light to this?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks in advance,<o:p></o:p></p><p class=MsoNormal>Javier.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>From: </b><a href="mailto:cr88192@gmail.com">BGB</a><br><b>Sent: </b>27 May 2017 01:00<br><b>To: </b><a href="mailto:Jeff@SE-Instruments.com">D. Jeff Dionne</a><br><b>Cc: </b><a href="mailto:volkovdablo@gmail.com">Francisco Javier Bizcocho Antúnez</a>; <a href="mailto:j-core@lists.j-core.org">j-core@lists.j-core.org</a><br><b>Subject: </b>Re: [J-core] Fwd: ISA manual for SH-2</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 5/26/2017 7:46 AM, D. Jeff Dionne wrote:</p><p class=MsoNormal>> On May 26, 2017, at 20:50, BGB <cr88192@gmail.com> wrote:</p><p class=MsoNormal>>> ...not used by GCC in my tests</p><p class=MsoNormal>> It is better to look at the gcc code generator first, to determine what it might emit and what might trigger it to do so, before one assumes anything about what parts of the ISA is does or doesn't use from (I assume) black box compilation tests.   There have been cases over the years where I had assumed gcc would not emit something, only to find that while it is hard to trigger a specific instruction pattern...  it does in fact happen.  Those cases were often related to trying to do odd things with e.g. position independent code.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was mostly testing with -O3, and with several codebases which used the </p><p class=MsoNormal>FPU (the largest thus far being Quake);</p><p class=MsoNormal>how I inferred which instructions were going unused was by setting </p><p class=MsoNormal>breakpoints in the debugger and observing which paths were not being </p><p class=MsoNormal>triggered.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>though, note that I was not arguing that they "should be" dropped; only </p><p class=MsoNormal>that some of them were omitted, for example, in SH2A.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>though, as-is, my emu should have pretty much complete support for the </p><p class=MsoNormal>SH4 FPU (nevermind holes/issues in my ISA specs, and some parts being </p><p class=MsoNormal>mostly untested).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>similarly as-is, my extended ISA will probably need the full SH4 FPU for </p><p class=MsoNormal>the full FPU mode (though, still allowing for cores which have a more </p><p class=MsoNormal>limited FPU).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Those vector ops and MAC instructions were the ones I was thinking about a few mails ago, in the context of signal processing.  C is often not great at inferring things (to use a term I usually associate with hardware synthesis) like these vector ops, especially for a code generator like sh4 where the user and developer base is limited.   We really need to get someone to maintain that stuff.   Hitachi/Renesas has Code Sorcery doing some of that, there may be work that wasn't merged somewhere, along the lines of the GDB patches that people have been trying to get upstream.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>dunno there.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>here is the "gcc -v" for the GCC build I am using:</p><p class=MsoNormal>Configured with: </p><p class=MsoNormal>/mnt/e/bgb.apps4/misc/jcore/aboriginal-1.4.5/build/temp-sh4/gcc-core/configure </p><p class=MsoNormal>--target=sh-superh-linux </p><p class=MsoNormal>--prefix=/mnt/e/bgb.apps4/misc/jcore/aboriginal-1.4.5/build/simple-cross-compiler-sh4 </p><p class=MsoNormal>--disable-multilib --disable-nls --enable-c99 --enable-long-long </p><p class=MsoNormal>--enable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch </p><p class=MsoNormal>--program-prefix=sh4- --disable-threads --disable-shared </p><p class=MsoNormal>--host=x86_64-walrus-linux</p><p class=MsoNormal>Thread model: single</p><p class=MsoNormal>gcc version 4.2.1</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Now, BGB, if we could just find a way to integrate your efforts into the J-Core project so that the work advances the project's cause, instead of going off on a completely different path ;^}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>well, that could be the hard part.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I went off and was working independently as it seems my efforts were at </p><p class=MsoNormal>odds in some areas with the project's goals.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I wanted to experiment with a few things, but to test ISA features would </p><p class=MsoNormal>need a compiler which supports them, and the prospect of working on GCC </p><p class=MsoNormal>was a bit intimidating.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I figured, while I couldn't make a great compiler, I could probably at </p><p class=MsoNormal>least make "something that works" and "generates mostly passable code". </p><p class=MsoNormal>past experiences generally give a rough estimate of the time and effort </p><p class=MsoNormal>required (though, things are made a bit slower by having going to class </p><p class=MsoNormal>eating up a big chunk of my time).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
        <tr>
        <td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body></html>