Jump to content

Sporadic's Photo

Sporadic

Member Since 23 Apr 2015
OFFLINE Last Active Yesterday, 6:30 PM

Topics I've Started

Checkered Flag ROM Compilation and source tweaks

Tue Jan 22, 2019 8:17 AM

Hi all,

 

Some of us have been discussing this elsewhere and we thought the AA forum would be a better location.

 

I started messing around with the Checkered Flag source a few months ago with a view to "can it be improved".  Before you get excited, the answer is 'not yet'.  However, some other guys have started discussing this now too so I thought it would be best to share what I had so far.  

 

Before even getting to try and improve it, there were a couple of hurdles;

- The "Final Rev9 Source" is missing 7 graphic assets and some ROM compilation set up.

- Once you get the ROM built - it runs great in VJ but crashes on real hardware.

 

First up, the assets...  Talking to CJ about this, he managed to track them down in the release binary and send them over.  Thanks CJ!

 

Next came building the ROM.  I played around with the makefile and noticed rom.rsp was also missing from the source.  This is the file used to include all the relevant assets in the final binary.  There's no way to know what this should have contained so all i've done is copy and rename the big.rsp file (to preserve the original).  I then added a new label newrom.rom: to the makefile with some relevant parameters (text,data,bss start addresses etc).  It then built a ROM.  (I also had to take out all calls in the makefiles to 'touch.exe' as this no longer exists and we shouldn't really need it).

 

The ROM wouldn't work on real hardware.  Through further poking around it looks as though (because this was developed on an Alpine) there is code that runs to copy data to the ROM space (and other things).  In a read only environment like a skunk at run time, this isn't going to work.  However, taking out those calls (by rts-ing them on entry) seemed to do the trick.

 

Finally it was up and running on the Jag.

 

There are two final points regarding things not working;

- There are hills/mountains missing - I think this is due to the normal data missing from the 3D dataset. This results in them being culled at run time.  If you take out the culling, they appear (along with other artefacts for obvious reasons).

- The rain overlay doesn't work correctly.

 

Anyway, attached is a zip containing the source with my changes, the missing assets and a readme.txt that details what i've changed/found/observed etc.

 

The attached source should compile and run on the Jag - but it's been a few months since I tested it.  Any problems then shout and i'll fix it up - I just can't test it right now from work.

 

Rik


u235 random missing samples

Mon Oct 22, 2018 6:07 AM

Hi, long time, no bug!

 

I recently tried swapping back to the u235 sound engine (from zeros player) as i'm considering using MODs instead of uLaw for music due to space constraints etc.

 

I've found when playing samples using u235 it tends to only play about 1 in 4 of them, the rest are just not played.   This is in VJ and on actual hardware.

 

Thinking it might have been my code, i ran the Doger example and the same occurs, the death sound only plays occasionally.

 

I've also noticed that it wont play anything unless you specifically call SNDPLAY with a SNDFREQ directly after it.

eg.

SNDPLAY(1,5) 
SNDFREQ(5,11025)  
 
Is the non-playing sound likely to be an rB+ issue?  I would have thought if the problem lay in u235 itself  then someone would have mentioned it by now. Any help/pointers appreciated!
 
Thanks

Is this likely to be an rB+ issue?  Any help/pointers appreciated.