Jump to content
IGNORED

#FujiNet - ATX Protection Edge Cases, Information needed


tschak909

Recommended Posts

Hello, everyone.

 

First, I must take a moment to bow my head to @Curt Vendel, for his tireless work in the Atari 8-bit community as a relentless historian, archivist, and archaeologist. He was a close friend, and he will be dearly missed.

 

...

 

I am starting a thread to get information for @jamm and his excellent work on making the ATX copy protection work as best as it can.

 

Format for this thread is one title per post, so we can keep replies straight.

 

RESCUE ON FRACTALUS v4.x (Epyx) release for US:

This loader is _very_ finicky and relies on specific FDC behavior that I don't think we're emulating. In order for this to work in Altirra, the 810 or 1050 disk emulation must be turned on, otherwise the LOAD ERROR screen results. We've managed to implement track and sector timing (with head settling delays), CRC errors and weak sectors. Can someone shed some light on what this protection is wanting? @ijor @DjayBee?

 

-Thom

  • Like 2
Link to comment
Share on other sites

58 minutes ago, tschak909 said:

RESCUE ON FRACTALUS v4.x (Epyx) release for US:

This loader is _very_ finicky and relies on specific FDC behavior that I don't think we're emulating. In order for this to work in Altirra, the 810 or 1050 disk emulation must be turned on, otherwise the LOAD ERROR screen results. We've managed to implement track and sector timing (with head settling delays), CRC errors and weak sectors. Can someone shed some light on what this protection is wanting? @ijor @DjayBee?

RoF requires precise error retry timing because of a nasty bug in its custom SIO loader expecting a NAK for a CRC error:

 

image.thumb.png.cf6d49e0c897f9f9b315594ecfbe29eb.png

 

It tries to retry the read command while the drive is returning the sector data for an Error, which causes the loader to get a bogus command response that is not an ACK, which is then turned into an SIO NAK error. If the timing is not correct or this is run on a drive that can interrupt a data frame send for a new command, the SIO loader returns a device error (Y=$90) and the check fails.

 

55 minutes ago, tschak909 said:

Dimension X (and other mid 1980s Synapse titles with the STUMCLOCK FICKLOB BISON protection

 

This one is WEIRD. I can get it to load, 1 out of every 5 tries. When it fails, it stops after loading track 2 sector 1, and the title stops color pulsating.

Not sure about this one, but it's not a very timing sensitive title as it boots in Altirra on full SIO acceleration. The only thing that seems to be happening between this sector and the next is a ROM scan of $C000-CFFF for Omnimon, by looking for the author's name (Young).

 

BTW, might be a good idea to include the CRC32 or another checksum of the disk image you're referring to, so others can be sure of looking at the same.

 

  • Like 1
Link to comment
Share on other sites

5 minutes ago, phaeron said:

It tries to retry the read command while the drive is returning the sector data for an Error, which causes the loader to get a bogus command response that is not an ACK, which is then turned into an SIO NAK error. If the timing is not correct or this is run on a drive that can interrupt a data frame send for a new command, the SIO loader returns a device error (Y=$90) and the check fails.

That's incredible information - thanks!  I don't know that we'll be able to deal with that in FujiNet, but at least that explains what's happening.

 

Link to comment
Share on other sites

On 8/31/2020 at 9:36 PM, phaeron said:

RoF requires precise error retry timing because of a nasty bug in its custom SIO loader expecting a NAK for a CRC error:

 

image.thumb.png.cf6d49e0c897f9f9b315594ecfbe29eb.png

 

It tries to retry the read command while the drive is returning the sector data for an Error, which causes the loader to get a bogus command response that is not an ACK, which is then turned into an SIO NAK error. If the timing is not correct or this is run on a drive that can interrupt a data frame send for a new command, the SIO loader returns a device error (Y=$90) and the check fails.

 

Not sure about this one, but it's not a very timing sensitive title as it boots in Altirra on full SIO acceleration. The only thing that seems to be happening between this sector and the next is a ROM scan of $C000-CFFF for Omnimon, by looking for the author's name (Young).

 

BTW, might be a good idea to include the CRC32 or another checksum of the disk image you're referring to, so others can be sure of looking at the same.

 

It may be good to replace 'Young' w/ '[OLD]' (or anything that fits) in the OmniMon ROM and have a go at this game.

:)

 

Link to comment
Share on other sites

#FujiNet #Atari8bit with @omf's latest commit fixing sector length for missing/partial sectors, all of the tests on DJayBee's ATX test suite now pass! This brings compatibility to 99%, leaving only protection bugs. Let this really sink in, an #Atari8bit can now load perfectly preserved copy protected software, OVER THE INTERNET.

 

  • Like 7
Link to comment
Share on other sites

Can anyone with an original Flight Simulator II disk verify if Demo mode is supposed to have graphic corruption?

 

My CRC32 and md5sum is:

2e9d54ac

ce1230fc6d827bc2ce9bac7366cd1105

 

There are odd command frame checksums that also occasionally happen, but I am chalking this up to a custom SIO loader doing funky things...

 

 

Link to comment
Share on other sites

On 8/31/2020 at 6:36 PM, phaeron said:

RoF requires precise error retry timing because of a nasty bug in its custom SIO loader expecting a NAK for a CRC error:

 

image.thumb.png.cf6d49e0c897f9f9b315594ecfbe29eb.png

 

It tries to retry the read command while the drive is returning the sector data for an Error, which causes the loader to get a bogus command response that is not an ACK, which is then turned into an SIO NAK error. If the timing is not correct or this is run on a drive that can interrupt a data frame send for a new command, the SIO loader returns a device error (Y=$90) and the check fails.

 

By the way - the Altirra Performance Analyzer is amazing!  I'm embarrassed to admit that I had know that incredible feature was hiding in the menus...

 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
On 11/13/2020 at 3:46 PM, 8bitguy1 said:

I can't get the 1985 Syncalc ATX to load.  Of course that is a Synapse Title as mentioned in post #2.

I tested both the 1983 and 1985 versions from the January 2020 "8Bit Preserved Software" archive and didn't have a problem.  Please provide more details if you still can't get it working.

 

Link to comment
Share on other sites

57 minutes ago, tschak909 said:

@8bitguy1 The entire a8preservation archive is over at atari-apps.irata.online in Games/a8p. Just mount the SynCalc disk directly from there.

 

-Thom

That one worked.  Only difference is I updated the firmware just now, but I was running yesterday's build with the original issue.  Weird.

 

But anyway, thank you!

 

Link to comment
Share on other sites

Maybe this is as planned, but I thought I'd mention it anyway.  

 

If I load the a8 preservation archive image of SynCalc 1985 from my local TNSF or from atari-apps.irata.online it works just fine, however if I try to load use the image from the attached SD card it does not boot all the way... it hangs.  I guess depending on the source they are handled differently?  Note: I've tried this a dozen time with identical results.  No real purpose other than messing around to see how things work.

 

Link to comment
Share on other sites

1 hour ago, 8bitguy1 said:

Maybe this is as planned, but I thought I'd mention it anyway.  

 

If I load the a8 preservation archive image of SynCalc 1985 from my local TNSF or from atari-apps.irata.online it works just fine, however if I try to load use the image from the attached SD card it does not boot all the way... it hangs.  I guess depending on the source they are handled differently?  Note: I've tried this a dozen time with identical results.  No real purpose other than messing around to see how things work.

 

Can you upload the image you're testing with? I can do some analysis.

-Thom

  • Like 1
Link to comment
Share on other sites

Sure.

 

The longer file name is from the 8bit preserved zip file....

The shorter file name is from the Syncalc page at Atariwiki.org

 

The longer file name works from my local TNFS, so its not stopping me from using Syncalc for my household finances (yes I do that) and even if it was, I'd just go back to the S:Drive for that.  This is more of a curiosity at this point, so not urgent (to me anyway) and I know you have lots of stuff you're working on.

SynCalc (1985)(Synapse Software)(US)[a][!].atx SynCalc _ 1985.atx

 

 

ADDING: I use an XEGS with an U1MB installed and I use a Transkey II XEGS.  I doubt either of those things make a difference, but always include as much about your operating environment as you can.

Edited by 8bitguy1
Added details.
Link to comment
Share on other sites

6 hours ago, 8bitguy1 said:

If I load the a8 preservation archive image of SynCalc 1985 from my local TNSF or from atari-apps.irata.online it works just fine, however if I try to load use the image from the attached SD card it does not boot all the way... it hangs.

 

5 hours ago, jamm said:

There should be no difference. I'll test it out when I get a chance.

I also had this issue this past weekend with Flickerterm. It booted fine from TNFS, but locked up the Atari from SD card. I just flashed yesterdays build from fujinet.online and it's working now from SD card. Maybe something got broke and fixed yesterday. @8bitguy1 can you confirm that you are running "0.5.52c0a446 2020-11-15 18:26:23" from the FujiNet web interface?

Link to comment
Share on other sites

5 hours ago, 8bitguy1 said:

Sure.

 

The longer file name is from the 8bit preserved zip file....

The shorter file name is from the Syncalc page at Atariwiki.org

 

The longer file name works from my local TNFS, so its not stopping me from using Syncalc for my household finances (yes I do that) and even if it was, I'd just go back to the S:Drive for that.  This is more of a curiosity at this point, so not urgent (to me anyway) and I know you have lots of stuff you're working on.

SynCalc (1985)(Synapse Software)(US)[a][!].atx 129.61 kB · 1 download SynCalc _ 1985.atx 129.61 kB · 1 download

 

 

ADDING: I use an XEGS with an U1MB installed and I use a Transkey II XEGS.  I doubt either of those things make a difference, but always include as much about your operating environment as you can.

 

I was able to load both ATX images from either TNFS or SD without issue.  At this point, I think we'd need a complete debug log from your FujiNet to try and determine what's going on in your case.

 

FYI: I'm testing on an 800 with Incognito in XL mode with 64K RAM.

 

Edited by jamm
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...