Jump to content
IGNORED

Atari Jaguar 240p Test Suite


BitJag

Recommended Posts

This thread is for any announcements, updates, and feedback related to the Atari Jaguar port of the 240p Test Suite.

 

A preliminary version 0.5 of the test suite is available for anyone interested in using some of the tests that are common across the platforms that this software has been ported to up to this point. Download it here https://jagcorner.com/240p-test-suite

 

The source code is available on GitHub for anyone that wishes to tinker with or provide changes, additions, and improvement to the code.  If you are familiar with the Jaguar platform, any help with some of the lower level stuff that the Removers Library doesn't have easy access to is appreciated. I have a list of what I think still needs to be done in the issue tracker on GitHub so please see that if you are curious about what is keeping this from being finished or if you wish to help out. https://github.com/BitJag/atari_jaguar_240p_test_suite/

 

Also, if you are using the 240p Test Suite on hardware and you run into an issue, please feel free to post here or contact me directly on AtariAge, or through the contact page at https://jagcorner.com/contact.

 

A huge thank you to all those who worked on the the original version of this software.  This is an incredibly useful tool for many reasons, and it feels good to be a small part of of the project by helping to bring it to the Jaguar.  For more general information about the 240p Test Suite, please visit the original creator's page here https://junkerhq.net/240p/

 

I will be relying on Artemio and the feedback from others in the Jaguar community to finish this up.  My knowledge of the platform has gotten me this far, beyond this point more learning is required as well as consulting with others to make sure I'm doing things correctly.  Because of this, a definitive date for when this will be finished is still up in the air.

 

There are some more details in the video below.

 

 

  • Like 14
  • Thanks 3
Link to comment
Share on other sites

9 hours ago, DEATH said:

hi, the sound test does not work properly. The sound is not very clean, there are crackles, etc. Except for the sample (I don't remember the name of the test... the last option)

Thanks for the feedback.  Are you using real hardware or emulation?

Link to comment
Share on other sites

5 hours ago, DEATH said:

Real hardware

I may need some more specifics on what is wrong about the sound then.  I'm pulling the waveforms that are built into the Jaguar's DSP and playing those back as if they were raw samples loaded from the cart.  From my perspective, they sound how ever they are supposed sound (i.e. it sounds like a triangle wave, or sine wave, etc...), as the manufacture of the DSP intended them to sound, and as interpreted by the playback routines and selected frequency in the removers library.

 

I'll take another look at the code to see if I'm loading and playing those back incorrectly, or,  perhaps there is another way to load and play them back through the removers library.  If someone could substantiate that the removers library isn't good enough for this instance of audio playback, we could consider using another audio engine.

 

For those that are interested in looking at how these samples are loaded and played back, take a look at test.c, lines 1885-1950.  The sound engine is initialized at a 16000 replay frequency, and these sample are played back at what ever tuning the user selects based on some defines in test.h, lines 104-108.

Link to comment
Share on other sites

4 hours ago, BitJag said:

 

Have you compared with a sound generator for example? In order to see the difference with your program. For example try this site: https://www.szynalski.com/tone-generator/
It can generate different waveforms at different frequencies.
When you do the test in Jaguar 240p with a sine curve the sound is 3 octaves too low and probably due to crackles and artifacts the sound is more like a sawtooth curve, like a buzzer sound

  • Like 1
Link to comment
Share on other sites

2 hours ago, cubanismo said:

Under Video Tests, the scroll test just shows a black screen for me. The others not marked with (x) seem to work.

This was reported on GitHub as well.  I just confirmed it on my hardware.  I'm not sure what I changed right before I released this version to cause this crash (worked fine on hardware in the video in first post at 3:20), but I will look into it and get a new version uploaded.

  • Like 1
Link to comment
Share on other sites

6 minutes ago, DEATH said:

Have you compared with a sound generator for example? In order to see the difference with your program. For example try this site: https://www.szynalski.com/tone-generator/
It can generate different waveforms at different frequencies.
When you do the test in Jaguar 240p with a sine curve the sound is 3 octaves too low and probably due to crackles and artifacts the sound is more like a sawtooth curve, like a buzzer sound

Thank you for the reference.  I will take a look at this and see if changes should be made.

Link to comment
Share on other sites

@cubanismo I commented a bit too soon about the scroll crash.  I just tried it again, using the release version from JagCorner and I can't get it to reproduce on 3 separate consoles.  Tried with both skunkboard and JagGD.  Could you please try a few more times to confirm that it consistently crashes or not?  Also, anyone else that runs into this problem, please let us know if you are using real hardware, if you are using the JagGD and/or Skunkboard, and any other steps to reproduce this crash.  Thank you!

 

On GitHub, the individual that reported the this crash used virtualjaguar-rx to identify the problem a bit more specifically.  A word written outside of Jaguar's memory bounds.  I'm waiting on some clear steps from them to reproduce the error to make sure I'm chasing the problem correctly, because I'm having a hard time reproducing the error on my end in emulation, and now, with hardware.  My guess is that a pointer isn't being handled correctly somewhere, but it would be nice to get this consistently crashing before I start changing things.

Link to comment
Share on other sites

3 hours ago, cubanismo said:

Under Video Tests, the scroll test just shows a black screen for me. The others not marked with (x) seem to work.

no problem on my side on this test. Real hardware, SkunkBoard

However, there is a problem with the Timing & Reflex Test.
After the test report, when you press start or B to continue: black screen, then a few seconds later a rapid flash with random graphics on the screen (often on 1 single line), then nothing. You have to reset or shut down the console.

  • Like 2
Link to comment
Share on other sites

15 minutes ago, DEATH said:

no problem on my side on this test. Real hardware, SkunkBoard

However, there is a problem with the Timing & Reflex Test.
After the test report, when you press start or B to continue: black screen, then a few seconds later a rapid flash with random graphics on the screen (often on 1 single line), then nothing. You have to reset or shut down the console.

Thanks for spotting this.  I think I have it fixed already, but I need to confirm something with you before feeling confident in the fix.  Do you mean if you press option during Timing & Reflex Test, before the results screen?  I cannot get it to crash after the results screen comes up, but I can get to crash consistently if I press option during the test and before the results screen.

  • Like 1
Link to comment
Share on other sites

30 minutes ago, BitJag said:

Thanks for spotting this.  I think I have it fixed already, but I need to confirm something with you before feeling confident in the fix.  Do you mean if you press option during Timing & Reflex Test, before the results screen?  I cannot get it to crash after the results screen comes up, but I can get to crash consistently if I press option during the test and before the results screen.

If I press option during the test it goes to the results screen. If I press option during the results screen, it crashes. 
I don't understand how you can get to crash if you press option during the test but not after the result screen, since you have to press option to go to the results screen...

  • Like 1
Link to comment
Share on other sites

Just now, DEATH said:

If I press option during the test it goes to the results screen. If I press option during the results screen, it crashes. 
I don't understand how you can get to crash if you press option during the test but not after the result screen, since you have to press option to go to the results screen...

By pressing option during the test, it goes to the results screen, but crashes when you continue to the menu by pressing B or Option.  Simply put, this is because the values collected during the test are supposed to be there to calculate things for the results, but they aren't because the test was ended prematurely. Therefore things aren't properly initialized for the results screen causing issues when you try to exit this state.

 

The test automatically goes to the results screen after 10 results are collected.  No option button press should be required, so I adjusted the code to just skip the results screen and return directly to the menu if option is pressed during the test.  There shouldn't be a crash anymore, but please let me know if there still is a problem.

 

I have a new version ready for download.  The download button on the JagCorner page has been updated, or you can just click here to download it.  Thanks again @DEATH and @cubanismo for the reports and help.  Again, if anyone runs into anything else, please let me know.

  • Like 1
Link to comment
Share on other sites

4 hours ago, BitJag said:

@cubanismo I commented a bit too soon about the scroll crash.  I just tried it again, using the release version from JagCorner and I can't get it to reproduce on 3 separate consoles.

I'm having trouble reproducing it again as well. I tried both the 0.5 version I was originally using, as well as the 0.5.1 version I see is up now. I couldn't reproduce it again on Jag GD nor Skunk. I tried walking through all the same steps I did the first time, running various other tests first and uploading the ROM to the Skunk again, etc. Still worked fine.

 

Feels like it's gotta be something relying on memory getting implicitly initiaized to zero or something like that. The Jaguar's initial memory state is only semi-deterministic IIRC, so probably 1/200 times or something this thing just doesn't end up with the right starting value and crashes stuff.

 

Note I also  ran into the crash @DEATH described on my first attempt to walk through my prior steps. Haven't  been able to reproduce  that again since  either.

  • Like 1
Link to comment
Share on other sites

Thanks again for double checking these fixes.  Honestly, it's weird it was crashing more consistently with the scroller, since it was trying to free and set members of structs that hadn't been properly initialized yet.  My previous experiences for making this kind of mistake in code would lead to more consistent crashing.  I'm fortunate that it was a fairly easy mistake to spot in code.  Based on what you said, I'm guessing that the pointer to the array (as opposed to the pointer to the first member of the array) I was checking in the if statement was being set to NULL at boot most of the time, otherwise, it should crash when it hit that block of code.

 

 

Link to comment
Share on other sites

  • 1 month later...
On 10/28/2022 at 7:05 PM, Stephen said:

Nice!  I will give this a try on my JagGD this weekend.  Will be a nice test for my PVM.

As usual, this took me longer than I had hoped.  I finally got to try this today.  Awesome set of tests in that tool.  I found a few typos on the help screens:
1 - "Backlit Test" (and reference to backlit in the help screen.  I believe this should be "Backlight"

2 - Help screen for "Checkerboard".  The words "auto-toggle each" are repeated - the sentence reads "You can toggle the pattern with button 'Up', or turn on auto-toggle each auto-toggle each frame with the 'A' button."

 

No crashes for me running on a Jag GD.

  • Like 1
Link to comment
Share on other sites

32 minutes ago, Stephen said:

As usual, this took me longer than I had hoped.  I finally got to try this today.  Awesome set of tests in that tool.  I found a few typos on the help screens:
1 - "Backlit Test" (and reference to backlit in the help screen.  I believe this should be "Backlight"

2 - Help screen for "Checkerboard".  The words "auto-toggle each" are repeated - the sentence reads "You can toggle the pattern with button 'Up', or turn on auto-toggle each auto-toggle each frame with the 'A' button."

 

No crashes for me running on a Jag GD.

Thanks for taking and a look and for giving some feedback on the typos, I'll make a note of these for the next release.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...