Index du Forum

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Olympic Decathlon (Microsoft, 1981)

Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Site Admin

Inscrit le: 15 Juin 2007
Messages: 3055
Localisation: Le Chesnay, France

MessagePosté le: Mer 11 Juil 2007, 23:49    Sujet du message: Olympic Decathlon (Microsoft, 1981) Répondre en citant

Compete for the Gold Medal. I enjoy that game, it has many interesting features such as a smooth scroll on the intro page and the protection was interesting too... This is my second crack of that game, the first one had been done in 1991.

disk protection (D5 AA B5, DE AA EB, D5 AA AD, DE AA EB)
ten sectors per track only!
...not even a DOS 3.2 disk structure...

(T=Track, S=Sector)
T0/S0 is loaded at $0800..$08FF
The code loads the other sectors from T0 at $8900.$91FF (first part of the introduction)
- loads other parts of the game at $0F00 and $8000 and $9200
- read routine is located at $9000..$91FF (nice read routines)
Then code goes to $8000 (the second part of the introduction)
Then code goes to $9900

Each event is loaded at $2000, $4000 or $6000 depending on the needs for hires pictures

The read routine located at $9000 requires the following information on ZPage:
$0B : slot * 16
$0C : the target phase (track number * 2)
$0D : sector
$0E : current phase (track * 2)
$03 : number of 256-byte page to load into memory
$07..$08 : address to load data

I boot a DOS 3.3 diskette (the objective is to get a standard RWTS) then I rely on the original read routines to copy a disk, therefore:
- on drive 1, I put the original game,
- on drive 2, my blank DOS 3.3 volume 254 diskette
- 4600<C600.C6FFM,
- 46FB:A9 59 8D 27 08 A9 FF 8D 28 08 4C 01 08
- 4600G
- you have the read routine in $9000, re-use it Wink
- what I have done in a short program in $0300 to read one track from drive 1 and copy the data read in $4000 to the same track on drive 2.

As I do not master the low-level disk read routines, I have put a standard RWTS on track 0 and I have copied the original track 0 data to sector F of track 0 to track 8 Wink A smart person would have rewritten the read routine...
For those who are curious, the original read routine is on T7/SE, my modified read routine is on T7/SF.

You now have to rewrite the read routine at $9000. Please note that you need to keep the different wait routines in $91xx as they are used during the game.
Please refer to track 7, sector F to display the new read routine that uses the RWTS to load sectors into memory. Please note that the RTS opcode in $902C must remain as it is called during the event loading phases.

- That was an interesting crack to do Wink
- If you press * at the beginning of the introduction page, you are led to a disk backup routine. That is nice!
- It seems that pressing SWT (Timothy W. Smith) sometime during the introduction page goes to the monitor Wink
- Sector editing is an interesting task to do as source code parts remain...


15/AUG/2007: 4600<4600.46FFM has been corrected.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

Powered by phpBB © 2001, 2005 phpBB Group
Traduction par :