Jump to content
Sign in to follow this  
ijor

H.W.A. Happy Wins Again

Recommended Posts

HWA stands for Happy Wins Again. It's a feature of later versions of the Happy 810 software. I never had a Happy 810, only 1050 ones, but some strange copies we found recently lead to me research the issue. I couldn't find any documentation about HWA. Apparently it is supported by Happy versions 5.2 & 5.3 only. If anybody has any doc specific to these releases, or anything that covers HWA, please contribute.

 

Note that HWA has no relation with the Happy Autospeed mod that can automatically slowdown the drive RPM to write tracks with more than 19 sectors. HWA is a special copy mode to deal with weak sectors, or sectors with weak bits. The Happy hardware can't create weak sectors. So technically, the Happy can't copy disks with weak sectors. HWA tries to produces a working copy by creating a track layout that has similar characteristics to one with a weak sector. It formats a track with multiple duplicate copies of that sector.

 

To verify the presence of the weak sector, the protection reads the same sector multiple times and verifies that the content of the sector change, at least partially. This is the characteristic of a weak sector. But if there are multiple duplicate instances of the same sector number, each one with different content, then the behavior might be the same. So HWA attempts to fool the protection, and in some cases it seems it works.

 

This method won't always work, of course. To create many multiple duplicates some of the other sectors on the track must be removed. If they are needed by the software, then this would fail. Also the protection might handle the timing in a such a way so that always the same physical sector is read. This also would make this method to fail.

 

On one hand HWA, it is a useful feature and a clever solution. On the other hand it is cheating because the disk isn't really copied. A working copy might be created, and only in the best case. I guess, this is probably one of the reason that the HWA mode was abandoned on later Happy versions.

Share this post


Link to post
Share on other sites

Interesting! Where did you find a reference to the name of the feature being "HWA" / "Happy Wins Again"?

 

I wonder what some of the earliest weakbits/nfa protected titles were that could have initially inspired the feature.

 

We could also probably more accurately describe the behaviour by creating some disks with specific weakbits/nfa protections and compare with a resulting copy.

 

It would also seem to suggest the necessity of the autospeed mod was increased for HWA to create 2-3 extra sectors before having to omit any from the original. Also suggests why Autospeed disappeared along with HWA, since they complemented each other...

Share this post


Link to post
Share on other sites
35 minutes ago, Nezgar said:

Interesting! Where did you find a reference to the name of the feature being "HWA" / "Happy Wins Again"?

HWA is an option on the Happy Backup "Special Recovery" menu. It is disabled by default.

 

35 minutes ago, Nezgar said:

I wonder what some of the earliest weakbits/nfa protected titles were that could have initially inspired the feature.

We found about this with a copy of Synfile+ 1. The copy seems to work fine. This was one of the earliest Atari titles with weak bits.

 

35 minutes ago, Nezgar said:

It would also seem to suggest the necessity of the autospeed mod was increased for HWA to create 2-3 extra sectors before having to omit any from the original. Also suggests why Autospeed disappeared along with HWA, since they complemented each other..

 

No. HWA doesn't create any extra sectors. Only sectors that are already present are replaced. HWA doesn't enable slow speed either.

Edited by ijor
  • Like 1

Share this post


Link to post
Share on other sites
10 hours ago, Sugarland said:

Sounds like the fuzzy bit used on the 16 bit machines' 3.5" disks. Dungeon Master...

 

Yes. Weak bits, fuzzy bits, and other terms, refer to the same concept. Dungeon Master for the ST indeed does have a weak sector. Although it is more sophisticated, both at the software and at the hardware level. But weak bits protection was not very popular at 16-bit systems. It was replaced with even more advanced protections. The more popular was probably data recorded with variable frequency (speed).

  • Like 1

Share this post


Link to post
Share on other sites
11 hours ago, ijor said:

Apparently it is supported by Happy versions 5.2 & 5.3 only.

 

Btw, I forgot completely that the Happy 6.6 Special Recovery menu does include the HWA option. But according to some Happy notes it doesn't perform "anything usual". Seems it was just a leftover from version 5 code.

Share this post


Link to post
Share on other sites

Hi,

 

   I'm guessing this would be ok for 1 or 2 weak sectors on a track, but if you had 10 weak sectors e.g. sectors 20-29 were weak, you couldn't make a backup with a Happy in HWA mode. Also, I think you could detect a HWA copy by reading the previous sector, then the weak sector, so you are always reading the same HWA weak sector as you would be reading according to the sector layout (interleave?) of the track. Does HWA put weak sectors on opposite sides of the track? It would be interesting to know how HWA lays out the sectors.

 

  As a Happy can't make genuine weak sectors, did the Happy duplication software move on to encoding how each sector should behave, and upload this to the drive when the backed up disk is run on a Happy Drive (the end of copies that could run on any drive?). Not sure if this is how PDB definitions worked?

Share this post


Link to post
Share on other sites
53 minutes ago, E474 said:

I'm guessing this would be ok for 1 or 2 weak sectors on a track, but if you had 10 weak sectors e.g. sectors 20-29 were weak, you couldn't make a backup with a Happy in HWA mode. Also, I think you could detect a HWA copy by reading the previous sector, ...

That's correct. As I said already at the initial post, this HWA method could fail, and I'm sure it does fail, in many cases.

Quote

Does HWA put weak sectors on opposite sides of the track? It would be interesting to know how HWA lays out the sectors

I don't think it has a very smart strategy. It doesn't create new sectors, it only replaces existing ones. For the case of Synfile+ it simply replaces ALL sectors on that track.

 

Quote

As a Happy can't make genuine weak sectors, did the Happy duplication software move on to encoding how each sector should behave, and upload this to the drive when the backed up disk is run on a Happy Drive (the end of copies that could run on any drive?). Not sure if this is how PDB definitions worked?

There are different types of PDB, not all involve weak sectors. But yes, for those titles with weak sectors, the PDB includes additional custom code to program the Happy drive to simulate the weak sector at run time.

Edited by ijor

Share this post


Link to post
Share on other sites

Hi,
 

    I meant that if, for example, sector 16 was weak, then the HWA would put the first sector 16 on one side of the track, and the other sector 16 (with different data) would be on the other side of the track (so at 12 o'clock and 6 o'clock). If you are repeatedly reading sector 16, then this would give a different sector 16 on each read (assuming you are reading 2 sectors per revolution, which I think is the default). If you were always reading sector 15, then sector 16, you would always get the same sector 16 due to the way the sectors are laid out, and this would also be a simple way to defeat HWA duplication.

 

Otherwise I think I have misunderstood what is going on with the HWA sector layout, though it is quite late here.

Share this post


Link to post
Share on other sites
15 minutes ago, E474 said:

I meant that if, for example, sector 16 was weak, then the HWA would put the first sector 16 on one side of the track, and the other sector 16 (with different data) would be on the other side of the track (so at 12 o'clock and 6 o'clock).

Well, for the case of Synapse, all sectors on the track are replaced with a different copy of the "weak" sector. So you have them distributed all along the track. The weak sector on this title is sector 16. The copy made with HWA has 17 duplicates, each with different data, for sector 16, and nothing else. They are 17 and not 18, just because that's the layout of the original track and HWA doesn't create any extra sectors.

 

Obviously this happen to work in this case because the software doesn't attempt to read any other sector on that track. Otherwise would fail.

 

If you are familiar with Archiver you can check both layouts under emulation. Use Altirra with The Chip "full" drive emulation and mount the respective ATX images.

Edited by ijor

Share this post


Link to post
Share on other sites
1 hour ago, ijor said:

If you are familiar with Archiver you can check both layouts under emulation. Use Altirra with The Chip "full" drive emulation and mount the respective ATX images.

Here you are ...

 

Original:

Synfile-Original-Track3-Archiver.thumb.jpg.dd65ebe2e500b26382d528e1770cd680.jpg

 

Copy made with HWA mode:

Synfile-HwaCopy-Track3-Archiver.thumb.jpg.5e8b2b321e8f7961c999d40edaf8668c.jpg

 

Edit:

The Archiver shows 19 sectors on the copy. But this is just because it is being confused by all sectors having the same sector number and then it fails to detect where the track ends. The actual track has 17 sectors, same as the original.

 

Edited by ijor
  • Like 2

Share this post


Link to post
Share on other sites

We just did some tests with three titles to confirm if HWA actually works as we expected.

 

General observations:

  • Without active HWA mode, weak sectors consistently turn into “plain” CRC errors and all other sectors on the track are copied as usual.
  • HWA always writes only 17 sectors to tracks with a weak sector instead of 18 on the source.
  • It seems that Happy 810 can copy 21 sectors at most.
    When it tried to write the first track with 34 sectors on SynFile+ it errored and the backup was aborted.

SynFile+ with HWA
17 copies of the to-be-weak sector 16 on track 3
only 34 stable bytes instead of 38 in original dump

 

Dimension X with HWA
14 copies of the to-be-weak sector 16 on track 20
sectors 11-13 on track 20 are needed by the game and were preserved in the copy
only 25 stable bytes instead of 26 in original dump

 

Ankh with HWA (our cross-check title which is not known to the HWA code)

The weak sector is copied as a standard bad CRC sector.

This result confirms that HWA can only copy titles which it knows.

  • Like 1

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...