TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Weak bits floppy disc protection: an alternate origins story on 8-bit

65 pointsby scarybeastalmost 5 years ago

5 comments

sowbugalmost 5 years ago
The Apple II&#x27;s disk controller could easily write &quot;flaky bits&quot; in software. By telling the controller to write three or more consecutive zero bits, you&#x27;d produce a sector that read back unpredictably. So your copy protection scheme would be to turn off sector checksums and then read your test sector a few times in a row. If the sector came back identical each time, then you were likely a copy rather than an original.<p>After reverse-engineering the verification code in a few different games, I wondered how the publishers produced those weird sectors. I called them &quot;weak bits,&quot; coincidentally, because my theory at the time was that they modded the disk head to write the bit weakly so that it couldn&#x27;t distinguish a one from a zero during readback. A friend at school had a copy of Don Worth&#x27;s <i>Beneath Apple DOS</i>, which absolutely blew my teenage mind. Until reading that book, I didn&#x27;t think that any single human could understand and clearly explain a complex system so thoroughly.
评论 #23666145 未加载
评论 #23666224 未加载
dunhamalmost 5 years ago
It&#x27;s much simpler than weak bits, but I remember one of the Ultima games for DOS had a track with a small sector embedded in the middle of a long sector. So from the point of view of the controller after decoding, there were more sectors than could be written onto a track.<p>All the copy protection did was decrypt itself, read the starting address of the executable from a sector on that track, and jump to it. My fix was to just stuff that address back into the executable header. (I had actually purchased the game, I was just tired of having to insert the floppy every time I ran it off of the hard drive.)
userbinatoralmost 5 years ago
This reminds me of &quot;weak sectors&quot; as used in the infamous SafeDisc and related CD protections, which exploit a <i>digital</i> aspect of the media (EFM encoding) to create an optical equivalent of a <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lace_card" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lace_card</a> :<p><a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090603002402&#x2F;http:&#x2F;&#x2F;sirdavidguy.coolfreepages.com&#x2F;SafeDisc_2_Technical_Info.html" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090603002402&#x2F;http:&#x2F;&#x2F;sirdavidgu...</a>
lanerobertlanealmost 5 years ago
I remember Dungeon Master on the Atari ST having fuzzy bits. There was also another game, I can&#x27;t remember which that instead of locking up or not loading on detecting that the fuzzy bits were not fuzzy (and hence it was a copy) changed the gameplay so that the end boss was unbeatable.
评论 #23668384 未加载
评论 #23667222 未加载
mrlonglongalmost 5 years ago
Fabulous explanation of how they did copy protection in the old days. I remember the 8271 well. I&#x27;m not sure why they used such an old chip with the BBC B, as it was quite expensive. The WD1770 was better and cheaper.
评论 #23666724 未加载
评论 #23665147 未加载