Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Phantasy Star on Everdrive glitches?

Reply to topic Goto page Previous  1, 2, 3  Next
Author Message
  • Joined: 22 Feb 2016
  • Posts: 37
Reply with quote
Post Posted: Thu Feb 18, 2021 2:54 pm
Someone recently made an open source adapter with 3d print files and a PCB design you can have made. It is literally just a pin to pin converter.

https://github.com/ms2gg/doc/wiki/Assembly-Instructions

That said, I've read some have had passive components. I recall reading about a resistor in certain models, and maybe another difference that makes "codemaster" games work on some but not others.

Edit: well naturally most of the info is already here, around the bottom on the pinouts page.

https://www.smspower.org/maxim/Documents/Pinouts

Although I'm still keeping an eye out for exact info on some of the other adapters
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Feb 19, 2021 11:09 am
Maxim wrote
They are all just physical adaptors. Some of the more exotic pins may not be the same on all.


So it puzzles me completely how can this affect the VDP timing.
It might be a power drain? If so, would replacing the (or have an additional) power source fix it?

In any case I would be really interested to find out exactly why it does work in some cases and it doesn't in others, that would help us into creating better hardware.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Feb 2016
  • Posts: 37
Reply with quote
Post Posted: Fri Feb 19, 2021 1:29 pm
Well I finally bought a master gear adapter so I can use a real cartridge, although it seems like this is the most documented of adapters.

From pictures it looks like the nuby brand one has no screws. Can it be taken apart to investigate?

I did find the details about the resistor I mentioned earlier - sounds like a couple adapters have a pull up resistor built into them on the gg pin while the sega brands don't. From what I've read it makes the sega adapters not work with a majesco game gear. Sega consoles had it built in so their adapters didn't need it.

Maybe somehow there's a double pull up resistor is effecting the system in some way?

Edit: looked into it a little more, electrically and pinwise. Two resistors would reduce overall resistance. Looks like sega put a 4.7k resistor between 5v and the gg pin. I'd be curious if anyone with a multimeter and the nuby converter could check the resistance between 5v and the gg pins. Once we know that I can solder the same in parallel to my systems 4.7 resistor and see if it fixes things. For that matter I wonder if early everdrive gg units also had an extra/different resistor value here.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Dec 17, 2021 3:20 pm
Since we recently started discussing this topic again, I made an improvement to the VDP timing test ROM and it would be nice if the guys experiencing problems with Phantasy Star on some of their Game Gears could give it a test.

So this time the program tries to write to VRAM during active phase, first at 28 cycles per write, then at 27, then at 26, always verifying then if the contents of VRAM were the expected ones. The written data is a simple series of ever alternating $AA and $55 and the target VRAM area is zeroed during the previous vBlank phase to ensure there's no leftover content there.

On an SMS they all should always succeed.

In case any one of the test fail, no further tests will run. Instead, the VRAM contents will be dumped on screen to check what happened, so we will be able to see what's going on - do we get a skipped byte, a missing write or one byte gets written twice?

Please report back if some test fail, with full details (pictures would be great!)

Pressing 1 will re-run the test. It works in SMS mode.
VDP_Timing_Test2.sms.zip (3.55 KB)
VDP timing test 2

  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1197
Reply with quote
Post Posted: Fri Dec 17, 2021 3:54 pm
It's been a long time but I did take apart my Nuby back in the day and at least part of it is definitely glued together, it was a destructive process to disassemble it. I can't recall if it had a resistor.

Quote
Edit: looked into it a little more, electrically and pinwise. Two resistors would reduce overall resistance. Looks like sega put a 4.7k resistor between 5v and the gg pin. I'd be curious if anyone with a multimeter and the nuby converter could check the resistance between 5v and the gg pins.


Don't worry about dropping the resistance, the GG mode pin just wants to see a low voltage (<0.8V) or a high voltage (>2.0V). Any resistance of say 1K to 10K would be sufficient. If you add a second 4.7K resistor in parallel it's still around 2.3K and that's fine, it won't damage the system, confuse the GG mode logic, or drain the battery.
  View user's profile Send private message Visit poster's website
  • Joined: 04 Oct 2019
  • Posts: 74
  • Location: Brazil
Reply with quote
Post Posted: Fri Dec 17, 2021 11:51 pm
Forge wrote
Yes, that's what I remember seeing - small colored blocks out of place across the screen.
It was the Brazilian cartridge on the adaptor, translated by TecToy - so early 90s.


I had this adaptor from Tectoy, back in the 90s. It had a warning in the box (or the manual, I don´t remember exactly, but it was there) saying it was not guaranteed to function with 4MB cartridges. And that was what happened. Back in the days, I tested it with R-Type, Afterburner and Phantasy Star. All showed those glitches.

It is odd because a long time after that, I saw people in the internet saying they never heard about this, and their adaptor worked fine with any cartridges.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Wed Dec 22, 2021 2:23 pm
sverx wrote
Since we recently started discussing this topic again, I made an improvement to the VDP timing test ROM and it would be nice if the guys experiencing problems with Phantasy Star on some of their Game Gears could give it a test.

So this time the program tries to write to VRAM during active phase, first at 28 cycles per write, then at 27, then at 26, always verifying then if the contents of VRAM were the expected ones. The written data is a simple series of ever alternating $AA and $55 and the target VRAM area is zeroed during the previous vBlank phase to ensure there's no leftover content there.

On an SMS they all should always succeed.

In case any one of the test fail, no further tests will run. Instead, the VRAM contents will be dumped on screen to check what happened, so we will be able to see what's going on - do we get a skipped byte, a missing write or one byte gets written twice?

Please report back if some test fail, with full details (pictures would be great!)

Pressing 1 will re-run the test. It works in SMS mode.


anyone? :|

@bsittler, I'm especially looking at your oldest Game Gear, the one that was exhibiting the most differences depending on the cartridge used for the tests...
  View user's profile Send private message Visit poster's website
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Sat Jan 01, 2022 1:40 pm
ok so I missed this post altogether and Sverx pointed me to his new test program.

Results are it fails on both my VA0 (Twin ASIC) and passes on both my VA1 & VA5 units, so seems limited to the Twin ASIC model.

  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 4:16 am
Hi! Somehow I missed all the updates on this thread. I'll attempt to burn the updated test program to a cartridge and try it
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 6:55 am
VDP_Timing_Test2.sms results:

... or should I say, "old hardware is flaky and may be failing in mysterious ways".

On early JP model B0051252, battery-powered using Kentli rechargeable AA cells with internal voltage conversion circuitry

Pre-"X" EverDrive GG (three different ones): all tests pass in 10/10 runs

EverDrive GG X7: first run 26 fails; subsequent 9 runs 28 always fails

Another EverDrive GG X7: all pass on first run, on second run 26 fails, on remaining 8 runs 28 fails

"FLASH GEAR GG" pirate EverDrive GG clone: all tests pass in 10/10 runs

Mortoff games reflashable SMS cartridge...

... in Master Gear Converter (some runs) or MS2GG converter: first run 26 fails; subsequent 9 runs 28 always fails

... in Master Gear Converter (other runs) or in Beeshu Gear Master or Nuby converter: all tests pass in 10/10 runs

My other 2-ASIC Game Gear (the one with a screen mod that has been reshelled so I don't know the serial number) always fails these tests.

Other Game Gears I have seem to always be fine. I believe they are all 1-ASIC models.

As a point of reference, Analogue Pocket always passes. I think it's actually running an SMS core rather than a GG one anyhow in this case though. This is with firmware 1.0 (still need to install latest 1.0a update)
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 7:51 am
Some more flash carts in the same device:

Krikzz Master Everdrive/EverDrive SMS with microSD card inserted via BaseQi iSDA 350A shortening microSD to SD adapter...

... in Beeshu Gear Master (first attempt) or Master Gear Converter (first attempt): first 5 runs pass, 6th fails on 26, last 4 fail on 28

... in MS2GG converter (two attempts), Beeshu Gear Master (second attempt) or Master Gear Converter (second attempt): first run passes, second fails on 26, remaining 8 fail on 28

... in Nuby converter (two attempts): first two runs pass, 3rd fails at 26, last 7 fail at 28

Krikzz Master EverDrive X7 (two different ones, 1 is "smoke" shell and 2 is "black" shell)...

... in Beeshu Gear Master (two attempts * two cartridges): all tests pass on 10/10 runs

... in Master Gear Converter (cartridge 1, first attempt and cartridge 2, second attempt): first run fails on 26, all subsequent runs fail on 28

... in Master Gear Converter (cartridge 1, second attempt): first 3 runs pass, 4th fails on 26, all subsequent runs fail on 28

... in Master Gear Converter (cartridge 2, first attempt): first 6 runs pass, 7th fails on 26, all subsequent runs fail on 28

... in MS2GG converter (cartridge 1, both attempts and cartridge 2, second attempt): first run succeeds, second run fails on 26, remaining 8 runs fail on 28

... in MS2GG converter (cartridge 2, first attempt): first run fails on 26, remaining 9 runs fail on 28

... in Nuby converter (both cartridges, both attempts): all tests pass on 10/10 runs

Pirate "KY" EverDrive SMS/Master EverDrive clone (microSD based)...

... in Beeshu Gear Master (both attempts), MS2GG converter (both attempts), or Nuby converter (first attempt): first run fails on 26, remaining 9 runs fail on 28

... in Master Gear Converter (both attempts): first 3 runs succeed, 4th fails on 26, remaining 6 runs fail on 28

... in Nuby coverter (second attempt): first run passes, second run fails on 26, remaining 8 runs fail on 28
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Jan 02, 2022 12:03 pm
Thanks you @thatawesomeguy and @bsittler for the tests!

Now I'm again quite puzzled by the results and unfortunately I suspect there's some bug hidden in my code anyway, given your sort of consistent fails after one fail happens. Also I realized I might need a different pattern to be able to clearly tell what's going on, so I'll improve the code and I'll post a better version as soon as I can.

Said that, the most striking thing to me is surely that it seems that failure can only happen when two conditions are present:

  • 'old' Game Gear (we'll investigate what this 'old' exactly means)
  • 'specific' cartridges

... which means that there are Game Gears that won't show this problem whatever the cartridge is and some cartridge that won't show this problem whatever the Game Gear is. This sort of scares me but I'll keep on investigating.

*** EDIT ***

Apologies, I just found the bug in the code. So after the first failure, you won't get anything else than failures when you press 1 and run the test again.
So if you don't get any failure, that's fine, that test result is confirmed. If you instead get failures, please consider only the first one reported as a real failure.
I won't release a fixed version immediately, as I want to change the pattern first to perform a slightly better check.
Sorry again. :(
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Jan 02, 2022 2:48 pm
Here's the updated ROM, now hopefully bug free (but... does this thing really exist anyway? ;) )

This updated test now writes to VRAM a repeating sequence of 4 different bytes ($AA, $55, $12, $ED) instead of just the first two, so that it would help me understand what's exactly going on when a failure occurs.
I don't really expect much different outcomes (well, apart from the effect of the bug) but I do hope to get some nice pictures of what the glitch look like.
Thanks for the help!
VDPTimingTest2.1.sms.zip (3.57 KB)
VDP timing test v2.1

  View user's profile Send private message Visit poster's website
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 6:16 pm
Last edited by bsittler on Sun Jan 02, 2022 8:33 pm; edited 6 times in total
Bugfix confirmed, failures are no longer "sticky"

More testing soon, but v2.1 seems happier. On screen-modded unknown-serial 2 ASIC Game Gear using Mortoff games / retrocircuits flash cart via Nuby converter, some runs succeed and others fail on 26 like this: (see attachment)

(cut off screen edges are normal, i adjusted the screen mod's scaling but that doesn't change the fact the GG SMS mode has a narrower visible screen than a real SMS, only displaying 240 SMS pixels instead of 256 like a real SMS or Mega Drive/Genesis would in these modes)

replaced photo with hopefully smaller cropped and zoomed visible screen area

Also loaded it on one of the EverDrive GG X7's and in that same screen-modded Game Gear it passes on about half the runs and fails on 26 for the remainder (out of around 30 runs). With a second ED GG X7 it passed on 10 out of 20 runs and failed on 26 for the rest

Also loaded it on one of the EverDrive GG's (pre-X) in that same screen-modded Game Gear and out of 30 runs it passes on 18 and fails on 12. On another EverDrive GG it passed on 7 runs and failed on 13. On a third EverDrive GG it passed on 14 runs and failed on 6 runs.

Pirate "Flash Gear GG" EverDrive clone cart failed on 7 runs out of 20.

Master EverDrive/EverDrive SMS (pre-X) in Nuby converter passed on 14 runs and failed on 6 runs out of 20.

All observed failures were in the 26 cycle test.
IMG_20220102_101338_818~2.jpg (2.05 MB)
Mortoff games SMS flash cart via Nuby converter in screen-modded 2-ASIC GG
IMG_20220102_101338_818~2.jpg
Screenshot_20220102-111701~2.png (1.84 MB)
EverDrive GG X7 in screen-modded 2-ASIC GG
Screenshot_20220102-111701~2.png
Screenshot_20220102-112559~2.png (1.93 MB)
Old EverDrive GG in screen-modded 2-ASIC GG
Screenshot_20220102-112559~2.png
Screenshot_20220102-121734~2.png (2.13 MB)
Pirate "Flash Gear GG" EverDrive clone (sorry I forgot to adjust scaling mode so there are artifacts)
Screenshot_20220102-121734~2.png
Screenshot_20220102-123214~2.png (1.89 MB)
Master EverDrive/EDSMS in Nuby converter
Screenshot_20220102-123214~2.png

  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 7:38 pm
With Mortoff games/retrocircuits SMS cartridge inserted via Nuby converter in the unmodded old JP 2-ASIC GG (serial B0051252) I got passing results on 49 runs and one failure on 26. Unfortunately I failed to capture the one failing run with my camera

With EverDrive GG X7 in the same GG it failed on 26 in 8 out of 20 runs. With another EverDrive GG X7 it passed on 8 out of 20 runs and failed at 26 for the other 12 runs

With old pre-"X" EverDrive GG in the same GG it passed on 50 runs out of 50. Same behavior with a different EverDrive GG too, passed on 50/50 runs. Also same behavioor on a third EverDrive GG, passed on 50/50 runs.

Pirate "Flash Gear GG" EverDrive clone cart passed in 50/50 runs.
Screenshot_20220102-114250~2.png (1.3 MB)
EverDrive GG X7 in old JP 2-ASIC GG B0051252
Screenshot_20220102-114250~2.png

  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sun Jan 02, 2022 8:41 pm
Apologies, I have reached 100 MB upload quota for smspower forums and can't upload any more. I did try to reduce photo sizes but my phone's editing software is not good at reducing size of photos in bytes
  View user's profile Send private message
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Mon Jan 03, 2022 10:05 am
Pretty much the same result, intermittent either all pass or it always fails on 26 cycles.
IMG20220103202042.jpg (142.8 KB)
IMG20220103202042.jpg
IMG20220103202054.jpg (149.58 KB)
IMG20220103202054.jpg
IMG20220103202103.jpg (150.16 KB)
IMG20220103202103.jpg
IMG20220103202109.jpg (150.1 KB)
IMG20220103202109.jpg
IMG20220103202118.jpg (150.62 KB)
IMG20220103202118.jpg
IMG20220103202129.jpg (152.04 KB)
IMG20220103202129.jpg
IMG20220103202134.jpg (151.26 KB)
IMG20220103202134.jpg
IMG20220103202138.jpg (151.64 KB)
IMG20220103202138.jpg
IMG20220103202143.jpg (154.05 KB)
IMG20220103202143.jpg
IMG20220103202148.jpg (153.87 KB)
IMG20220103202148.jpg
IMG20220103202156.jpg (152.82 KB)
IMG20220103202156.jpg
IMG20220103202202.jpg (153.08 KB)
IMG20220103202202.jpg
IMG20220103202208.jpg (151.89 KB)
IMG20220103202208.jpg

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Jan 03, 2022 5:38 pm
Thank you both again for all the info! :)

So I'm trying to wrap all this in simple plain English, let's see if I can do it (please check if I get something wrong).


  • 27 cycles/write seems to be always safe, no matter the Game Gear model/age or the cartridge device used
  • 26 cycles/write is safe only on certain Game Gear models AND ONLY while using some cartridge devices


I'm still very confused about how can the cartridge affect this.

About the glitch itself, it seems that whėn it happens we get a 'successive' byte value written at the 'previous' address, though the destination index gets anyway incremented correctly so if you're writing A and B you'll get only B written at the first location and the second location write will be skipped. Not sure if this is exactly what would happen on an SMS when writing at 25 cycles/write for instance, but I suspect it might be the case.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Mon Jan 03, 2022 5:56 pm
Your summary looks accurate to me. My best guesses at this point about how cartridge/adapter choice influences it is it is (a) a current or voltage drop effect (different flash cartridges drawing different amounts of power affecting what is available for the VDP), or (b) a capacitance, crosstalk, or other interference effect (capacitive coupling or active components in cartridges or adapters introducing noise into signals that unfortunately influence VDP behavior at critical points in the VDP processing cycle)

Just guesses though

Opening up an adapter and/or console and introducing some filtering capacitors and/or shielding might help to narrow it down. Adding buffering circuitry might help even more, though it would need to be done carefully to avoid breaking TV tuner functionality I think
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Mon Jan 03, 2022 6:37 pm
Another test to run: try introducing a game genie and see whether failure rate is impacted
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Jan 03, 2022 6:47 pm
bsittler wrote
Another test to run: try introducing a game genie and see whether failure rate is impacted


don't they work by injecting code when vblank happen? this test performs writes during vdraw...
  View user's profile Send private message Visit poster's website
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Mon Jan 03, 2022 8:28 pm
sverx wrote
bsittler wrote
Another test to run: try introducing a game genie and see whether failure rate is impacted


don't they work by injecting code when vblank happen? this test performs writes during vdraw...


I believe they only do that when "activated". When not activated they should just add a bit of power draw and circuit trace length/capacitance, maybe a bit of electrical interference too.
  View user's profile Send private message
  • Joined: 14 Oct 2008
  • Posts: 508
Reply with quote
Post Posted: Mon Jan 03, 2022 11:08 pm
sverx wrote
bsittler wrote
Another test to run: try introducing a game genie and see whether failure rate is impacted


don't they work by injecting code when vblank happen? this test performs writes during vdraw...


I believe that's what PAR does (it swaps to run its code to update the inputted RAM cheats).

As I understand, what Game Genie is something like it watches the Address bits of the bus and when it detects a match to the (encoded) addresses, swaps in the encoded Data.
I'm not sure if it injects code (I would suspect not, I'd assume some sort of logic level operation) but since they effectively ROM patches, it couldn't be vblank.

I would be interested to know if GG introduces a detectable delay in code.
My one relevant experience with a GG is that I had a SNES one with Roadrunner's Death Valley Rally and the game (and I've read potentially other Sunsoft games) had a clear anti-cheat protection that would crash the game every time it was started with the device attached. Though some have had the GG would leave behind a detectable RAM pattern when used, explaining why a game could crash itself even when no codes were used.
  View user's profile Send private message
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Thu Jan 06, 2022 8:00 am
Ive dug out a couple of 2 asic game gears and found the same results as others where the 26 cycle test fails at random. All other tests pass.

This was run from a flash based mycard, which was in a card catcher, then a mkIII to sms adapter, then a gear master. I didn't try it on my ever drive as i couldn't find a sd card reader.

Just as a thought.. is this test running from the cart, or being copied to memory and running from there?

If its running off the cart, would copying it to memory first and running from there be helpful to see if that changes the randomness caused by various cart/adapter combinations?
20220106_202451.jpg (499.28 KB)
20220106_202451.jpg

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Jan 06, 2022 12:48 pm
wasup wrote
This was run from a flash based mycard, which was in a card catcher, then a mkIII to sms adapter, then a gear master.


I badly want to see a picture of that! :D

wasup wrote
Just as a thought.. is this test running from the cart, or being copied to memory and running from there?
If its running off the cart, would copying it to memory first and running from there be helpful to see if that changes the randomness caused by various cart/adapter combinations?


well, I didn't think about that. Do you suspect that if the code runs from RAM and there's no cartridge ROM access we might get 100% success rate? (Because the copy already is RAM to VRAM, but sure the code runs from ROM...)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Fri Jan 07, 2022 4:57 am
sverx wrote
I badly want to see a picture of that! :D


Here you go.

If you want a really silly collection of adapters... Here is game gear with a gear master then an export to mkIII adapter, then a mkIII to export adapter, then an export to GG adapter, then another gear master with an ever drive in it.

sverx wrote
well, I didn't think about that. Do you suspect that if the code runs from RAM and there's no cartridge ROM access we might get 100% success rate? (Because the copy already is RAM to VRAM, but sure the code runs from ROM...)


I was just thinking if the code ran entirely from memory then the cartridge shouldn't really be "doing" anything which may help with weird power requirements or errors related to any access from it assuming adapter/cart combinations are at fault. I guess it depends how the particular cart actually functions. Granted it would still be attached to the bus, but i kind of feel that if it were adding extra noise or capacitance etc. to the bus that youd have signs of other problems as well, not just the VDP write issue we are seeing.
20220107_173130.jpg (119.47 KB)
20220107_173130.jpg
20220107_173932.jpg (75.25 KB)
20220107_173932.jpg
20220107_173148.jpg (99.87 KB)
20220107_173148.jpg

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Jan 07, 2022 3:07 pm
Thanks for the pictures! :)

wasup wrote
I was just thinking if the code ran entirely from memory then the cartridge shouldn't really be "doing" anything which may help with weird power requirements or errors related to any access from it assuming adapter/cart combinations are at fault.


sure we can try this! Will do a 'run from RAM' version ASAP.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Jan 07, 2022 6:12 pm
So here's version 2.2

Now the tests are run from RAM (the code that writes to VRAM it's copied in RAM and run from there with Z80 interrupts disabled, thus there should be no ROM access at all at that time).

Let me know if you got any clear difference

edit: this is also using the GG safe timings to display the text on screen so there shouldn't ever be any more skipped letter.
VDPTimingTest2.2.sms.zip (3.59 KB)
VDP timing test v2.2

  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Fri Jan 07, 2022 9:06 pm
Thanks..

Just tested this on one of my 2 asic units and it still fails on 26 cycles in the same way. So i guess that hasn't changed anything.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sat Jan 08, 2022 11:59 am
yeah I didn't really expect any difference but it was worth a try
  View user's profile Send private message Visit poster's website
  • Joined: 22 Feb 2016
  • Posts: 37
Reply with quote
Post Posted: Sat Jan 29, 2022 5:10 am
Missed this post! I just grabbed my twin asic and ran these tests.

I used my everdrive x7 pro, and a modified "mono poly" cart I turned into an EPROM based flash cart inside a master gear adapter. I didn't burn an EPROM of the 2.2 version, just the 2.1, as both had about the same number of pass/fails off the everdrive, but I could if you thought it would be beneficial.

you can see the SMS cart in the master gear pics, my 1 or 2 fingers denote 2.1 or 2.2 respectively.

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Jan 31, 2022 12:15 pm
thanks for the tests, more confirmation is always nice :)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Nov 11, 2022 1:26 pm
Back on this topic - I have now attached an improved test ROM that performs the VRAM write test 100 times for each timing (28,27,26 cycles/write) and reports the number of failures for each.

The code that performs the write operation gets copied to RAM and runs from there, and the source data for the copy operation is in RAM too, so the cartridge ROM isn't used at all during the copy operation.

If it's possible, we should have this tested on VA0s and not-VA0s GameGears using every combination of cartridges/adapters available.

The goal is to be able to tell once and for all if this could be used as a reliable test to identify VA0s (Twin ASICs) regardless of the hardware attached to the GameGear we're testing.

Let me know if something isn't clear.

Thanks everyone for any help you can provide!
VDPTimingTest3.0.sms.zip (5.3 KB)
VDP timing test 3.0 (w/ sources)

  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Sat Nov 12, 2022 4:47 am
My findings are..

2 ASIC (no bios)

Original Everdrive GG

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - 9 out of 10 runs between 2 and 7 errors of 100. Once 0/100 errors.

Original Master Everdrive via Gear Master

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - 9 out of 10 runs 0/100 errors. Once 100/100 errors.

1 ASIC (with bios)

Original Everdrive GG

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - Always 0/100 errors

Original Master Everdrive via Gear Master

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - Always 0/100 errors
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sat Nov 12, 2022 5:44 pm
Thanks for your tests! I suspect this is an error on your part:

wasup wrote
Once 100/100 errors.


and you meant 1/100 instead.

BTW I'm curious, do you have a Phantasy Star original cartridge you could test with the Gear Master? Or can you test the ROM and see if you get many glitches on that 2 ASIC? With so few errors on the test I'd say you should very very rarely see any glitch!
  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Sat Nov 12, 2022 8:38 pm
sverx wrote
Thanks for your tests! I suspect this is an error on your part:

wasup wrote
Once 100/100 errors.


and you meant 1/100 instead.

BTW I'm curious, do you have a Phantasy Star original cartridge you could test with the Gear Master? Or can you test the ROM and see if you get many glitches on that 2 ASIC? With so few errors on the test I'd say you should very very rarely see any glitch!


That wasnt an error.. it was 100/100. It only did it once on the first go and i couldnt replicate it so we can probably count that as a random error and exclude that result. Its interesting how its not showing errors in sms mode via the gear master. I have some other game gears around that i could also test but havnt labeled them, so not sure what they are.

Ill see if i can dig out a copy of phantasy star and test that as well.
  View user's profile Send private message
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Sun Nov 13, 2022 6:43 am
Phantasy star (via ever drive) seemed to not show any noticeable errors.

I found another 2 ASIC (no bios) game gear to test with.. this one is JP region.

Original Everdrive GG

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - 6 out of 10 runs between 1 and 7 errors of 100. Once 100/100 errors and the rest were 0/100 errors. The 100/100 wasn't the first run on this unit either, so possibly its real?

Original Master Everdrive via Gear Master

28 cycles - Always 0/100 errors
27 cycles - Always 0/100 errors
26 cycles - 5 out of 10 runs between 1 and 7 errors of 100. The rest were 0/100 errors.
20221113_191308.jpg (103.29 KB)
20221113_191308.jpg
20221113_191358.jpg (72.93 KB)
20221113_191358.jpg

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Nov 13, 2022 6:10 pm
wasup wrote
Phantasy star (via ever drive) seemed to not show any noticeable errors.


I was expecting that, given the very very low rate of failure you had. But other people had very noticeable glitches (check the videos in this topic if you haven't already!)

wasup wrote
I found another 2 ASIC (no bios) game gear to test with.. this one is JP region
[...] Once 100/100 errors [...] so possibly its real?


This is very interesting. The only idea I have is that sometimes, somehow, the write operations get onto the wrong 'phase' and every transfer has a failure.

I can try to add some short (but variable) delay so that we hopefully get to a point where you never have 0 or 100 failures on a 2-ASIC model at 26 cycles/write, but always some number in between.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Nov 13, 2022 7:18 pm
OK, here's an improved test ROM.

Hopefully the variable delay before each single test will have some effect we will be able to observe. Hard to say, I'm actually coding without really knowing what to look for...
VDPTimingTest3.1.sms.zip (5.2 KB)
VDP timing test 3.1 (w/ sources)

  View user's profile Send private message Visit poster's website
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Thu Nov 17, 2022 2:23 pm
Intermittent between 0/100 or 1/100 for 26.

  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Nov 18, 2022 8:45 am
This is my last attempt (or at least I hope so...)

Asynchronous chimed in in private and made me realize that, since 26 cycles is an EVEN number, me might get very lucky [or unlucky] and always hit available VDP access 'slots' so I tried to code something that would test VRAM transfers at 26 cycles/write in two halves separated by an ODD number of cycles delay so that we should in theory not be able to get lucky on a Twin ASIC GameGear.

So if this works, I expect 100/100 write failures on 2 ASIC models and 0/100 failures on single ASIC ones, which would mean there's finally a way to tell what's what.

If not, I would start to suspect that there's some issues with VDP synchronization that affects Twin ASICs in different ways, and I wouldn't really know how to determine that with a test with 100% accuracy.

Well, let's see. Let me know.

Thanks!
VDPtimingtest4.sms.zip (4.88 KB)
VDP timing test 4.0 (w/ sources)

  View user's profile Send private message Visit poster's website
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Fri Nov 18, 2022 12:24 pm
100/100 failures in 40/40 runs on Twin ASIC

0/100 failures in 40/40 runs Single ASIC
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Nov 18, 2022 2:50 pm
thatawesomeguy wrote
100/100 failures in 40/40 runs on Twin ASIC
0/100 failures in 40/40 runs Single ASIC


that's wonderful! Thank you for your tests!

now if some other fellow SMS Power! members have a chance to confirm this on their GGs it would be the icing on the cake! :)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 435
  • Location: Auckland - NZ
Reply with quote
Post Posted: Sat Nov 19, 2022 6:24 am
Ive just tried this.. Same hardware as before, Everdrive GG and also Master Everdrive in Gear master.

Two different 2 ASIC units both always 100/100.

One single ASIC without bios always 0/100.

Seems you may have finally cracked this as a suitable test to determine between the two!
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Nov 21, 2022 9:34 am
wasup wrote
Two different 2 ASIC units both always 100/100.
One single ASIC without bios always 0/100.
Seems you may have finally cracked this as a suitable test to determine between the two!


That's what I hope! I'm pretty confident now about this, thanks to the tests you guys performed on your units.

Now I feel I want to go back and run the tests from ROM again (instead of having the code run from RAM) and double check that this won't affect the test results. So expect one more test ROM in a few days, likely.

Again, thank you so much!
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Nov 21, 2022 2:13 pm
OK so here's hopefully the last ever test ROM, hopefully we won't have any surprise from it and it will indeed confirm that the different cartridges don't play any relevant role in this VDP timing situation.

So please let me know if you still get 100/100 failures on 2ASIC GameGears and 0/100 on the 1ASIS models with this version 4.1

Thanks!
VDPtimingtest4.1.sms.zip (4.85 KB)
VDP timing test 4.1 (w/ sources)

  View user's profile Send private message Visit poster's website
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Tue Nov 22, 2022 9:41 am
Same result 0/100 on single, 100/100 on twin
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Wed Nov 23, 2022 8:12 am
thatawesomeguy wrote
Same result 0/100 on single, 100/100 on twin


Thanks mate, much appreciated.

Calling now the other kind fellow forum users who already helped me in this thread - please, let me have your final results too! <3
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Wed Nov 23, 2022 9:58 am
Can I know if my GG is 2 Asic or 1 Asic without opening it?
It's a 2110-50 model from 1993 according to the Serial (B31185108). It gives 100/100 errors
  View user's profile Send private message
  • Joined: 25 Jul 2007
  • Posts: 716
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Nov 23, 2022 1:40 pm
2110-50 is already a known Twin ASIC model, the 100/100 just confirms it.
  View user's profile Send private message
Reply to topic Goto page Previous  1, 2, 3  Next



Back to the top of this page

Back to SMS Power!