Path: chuka.playstation.co.uk!news From: James Russell Newsgroups: scee.yaroze.programming.3d_graphics Subject: Re: GsLinkObject4 Confusion - On to GsSortObject4 - And Now CW Asm Date: Mon, 31 Aug 1998 17:12:31 +0100 Organization: Sony Computer Entertainment Europe Lines: 30 Message-ID: <35EACB6F.6F0FFD4B@scee.sony.co.uk> References: <35EAA9A9.782E@funnytown.com> NNTP-Posting-Host: mailgate.scee.sony.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.5b1 [en] (Win95; I) X-Accept-Language: en Gerrit Goossen wrote: > > >You cann't use GTE inline from the Yaroze version of CW. Or the > >Yaroze GNU either. SCEE will not accept any programs for submission (ie, for a coverdisk) which do not use the official Yaroze libraries for _all_ hardware interface code. While this is mostly to prevent developers from trying to push the limits of the PSX by talking directly to the hardware (which invariably brings about compatibility problems with the different versions of the PSX), in the case of the GTE this is because there are many timing and ordering complications involved. Inlining GTE instructions in assembler is not allowed to the extent that professional developers aren't supposed to do it either. Sticking to the libraries ensures that your code will work on all Playstations. > As it turned out, the only reason my code was crashing was because I > wasn't putting a final nop after ja'ing. On the R3000, the instruction directly after a 'ja' will get executed. Most R3000 assemblers perform 'reordering', so you can write the code in the 'natural' order and the assembler will re-order the instructions to suit. Maybe this is an option you have to turn on in CW or in the source with ".set reorder". Cheers, James -- == James_Russell@scee.sony.co.uk +44 (171) 447-1626 == Developer Support Engineer - Sony Computer Entertainment Europe Clinton Economics: If 1+2=3 then 4+5=6.