<td width="100%"><a href="viewtopic.php?p=1299#1299"><img src="templates/subSilver/images/icon_minipost.gif" width="12" height="9" alt="Message" title="Message" border="0" /></a><span class="postdetails">PostΘ le: Mar 04 Mai 2010, 20:52<span class="gen"> </span> Sujet du message: Storybook Weaver IIgs series (MECC, 1991)</span></td>
<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=1299"><img src="templates/subSilver/images/lang_french/icon_quote.gif" alt="RΘpondre en citant" title="RΘpondre en citant" border="0" /></a> </td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
<tr>
<td colspan="2"><span class="postbody">In a series of 3, MECC provided students with a great desktop interface program to create books from the title page to the last page. Inclusion of pictures and several other elements (e.g. borders) is possible.
<br />
<br />
Nevertheless, each program is protected and displays an alert message "Please insert your Storybook Weaver Program diskette in any drive." and loops until the original diskette is inserted!
<br />
<br />
On a desktop program, such a protection *always* deals with a bad block to read. If the bad block cannot be read then the diskette is a copy.
On-disk protection for "Make believe" and for "World of adventure". I cannot find my notes for the first in the series but IIRC, that's quite similar to the two others.
<span style="font-style: italic">World of adventure</span>
<br />
- Launch Block Warden
<br />
- Read block $3B8
<br />
- At offset $10C, change 90 (BCC) to 80 (BRA)
<br />
- Save the changes
<br />
<br />
<br />
<span style="font-weight: bold">How to locate the protection?</span>
<br />
Some clues were given above, let me summarize there:
<br />
- search for the string "Please insert your Storybook Weaver Program diskette in any drive." or
<br />
- search for the strings "Quit" or "OK" (but with generic strings that will not be easy to locate the right ones) or
<br />
- search for the _WaitCursor pattern as the curson icon is changed before the protection is called (true, that is visible)
<br />
- search for the READ_BLOCK pattern for P16: 22 00 00 E1 22 00
<br />
<br />
Once one of those or several of those is/are identified, the exact discovery of the entry point of the protection is easy to get:
<br />
- the READ_BLOCK is at $15D8
<br />
- the call to the previous routine is at $0FDB
<br />
- the previous one is called at $0F99
<br />
<br />
Gotcha...
<br />
<br />
<br />
The program code is the same in each program, making the removal quite easy once one is done. Launch your favorite S16 disassembler (mine is The Flaming Bird Disassembler), go to segment 6 (init) and jump to $0F94 and read below...
<br />
<br />
The next thread will display the original program protection. The programs can be found on the great Alex Lee's site "What is the Apple IIgs?"
<br />
<br />
Antoine
<br />
5/2010</span><span class="gensmall"><br /><br />DerniΦre Θdition par toinet le Mar 18 Mai 2010, 6:15; ΘditΘ 2 fois</span></td>
</tr>
</table></td>
</tr>
<tr>
<td class="row1" width="150" align="left" valign="middle"><span class="nav"><a href="#top" class="nav">Revenir en haut de page</a></span></td>
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
<td align="right" valign="top" nowrap="nowrap"><span class="gensmall">Toutes les heures sont au format GMT + 1 Heure</span><br /><span class="nav"></span>
</td>
</tr>
<tr>
<td align="left" colspan="3"><span class="nav">Page <b>1</b> sur <b>1</b></span></td>
<td nowrap="nowrap"><span class="gensmall">Sauter vers: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ forms['jumpbox'].submit() }"><option value="-1">SΘlectionner un forum</option><option value="-1"> </option><option value="-1">GENERALITES</option><option value="-1">----------------</option><option value="1">REGLES DE BASE DU FORUM</option><option value="2">PRESENTATION DES MEMBRES</option><option value="3">FAQ</option><option value="24">LES VENDEURS DE Q et assimilΘs...</option><option value="-1"> </option><option value="-1">La ligne des APPLE II</option><option value="-1">----------------</option><option value="4">APPLE II et II+</option><option value="5">APPLE IIe</option><option value="6">APPLE IIc et IIc Plus</option><option value="7">APPLE IIGS</option><option value="8">ITT2020</option><option value="9">BELL & HOWELL</option><option value="-1"> </option><option value="-1">ON AIME AUSSI...</option><option value="-1">----------------</option><option value="25">APPLE I</option><option value="10">APPLE /// et ///Plus</option><option value="11">LISA 1, 2, 2/5, 2/10 et ... XL</option><option value="-1"> </option><option value="-1">LOGICIELS</option><option value="-1">----------------</option><option value="12">PROBLEMES DIVERS</option><option value="13"selected="selected">PROTECTION MALEFIQUE</option><option value="23">EMULATION</option><option value="-1"> </option><option value="-1">LES CARTES ET PERIPHERIQUES</option><option value="-1">----------------</option><option value="14">CARTES COPROCESSEUR</option><option value="15">CARTES MEMOIRE</option><option value="16">CARTES POUR DISQUES</option><option value="17">AUTRES CARTES</option><option value="18">PERIPHERIQUES</option><option value="-1"> </option><option value="-1">EN VRAC ET DIVERS</option><option value="-1">----------------</option><option value="19">Recherches techniques (hard ou soft)</option><option value="20">ACHATS,VENTES ET/OU ECHANGES</option><option value="21">DIVERS...MAIS TOUJOURS EN RELATION AVEC APPLE!</option><option value="22">LES PETITS MAUDITS A EVITER</option></select><input type="hidden" name="sid" value="88dc291636b558c274916ca04b217a32" /> <input type="submit" value="Aller" class="liteoption" /></span></td>
</tr>
</table></form>
<span class="gensmall">Vous <b>ne pouvez pas</b> poster de nouveaux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> rΘpondre aux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> Θditer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> supprimer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> voter dans les sondages de ce forum<br /></span></td>