AppleWin (1.23.0.0)
Chose promise depuis longtemps, je vous propose (enfin) un petit récapitulatif des différentes bidouilles pour AppleWin parues sur ce site, en profitant de la sortie de la dernière version pour mettre à jour un peu tout ça et préciser les modifications à effectuer dans l'exe. Je vous invite toutefois pour plus de détails à vous reporter aux premiers articles qui expliquaient pas à pas la marche à suivre et détaillaient les outils à utiliser.

 

 

  • Modification Caractères Accentués :
    1. objectif : obtenir l'affichage des caractères accentués français (comme sur IIe).
    2. principe : on remplace une ressource BITMAP d'Applewin.exe par un bmp perso contenant les accents. On passe alors des caractères US aux accentués FR par CTRL+F9.
    3. outil : éditeur de ressources (Resource Hacker, XN Resource Editor, etc.).
    4. ressource à remplacer : Bitmap/CHARSET8C/1033
    5. bitmap modifié : 8C.BMP.
    6. articles en rapport : Des caractères accentués avec AppleWin ? Oui, c’est possible ! et Bidouille(s) AppleWin (encore et toujours)…

 

  • Modification Sauvegarde des paramètres (Double Session *) :
    1. objectif  : permettre à une seconde session d'AppleWin d'avoir son propre espace pour sauvegarder ses paramètres.
    2. principe : on modifie la clef utilisée dans la base de registre pour qu'AppleWin sauvegarde ses infos à un autre endroit que celui par défaut.
    3. outil : éditeur Hexadécimal (Hex Workshop, Ultra Edit, HxD Hex Editor, etc.).
    4. chaîne (texte) à rechercher : Software\AppleWin\CurrentVersion\%s
    5. à remplacer par : Software\AppleW1n\CurrentVersion\%s
    6. article en rapport : AppleWin : comment avoir deux sessions (totalement) indépendantes.

 

  • Modification Hot Key pour la capture d'écran (Double Session *) :
    1. objectif : éviter le chevauchement d'une même Hot Key entre les deux sessions.
    2. principe : on remplace la Hot Key par défaut (Imp. Ecran) pour la seconde session par une Hot Key différente (Home par exemple).
    3. outil : éditeur Hexadécimal.
    4. rechercher (hexa) : 6A246A (3 occurrences) et 6A2455 (1 occurrence).
    5. remplacer le 24 (Imp. Ecran) par 2C (Home) pour les 4 occurrences.
    6. note : API utilisée pour la localisation RegisterHotkey.
    7. article en rapport : AppleWin : comment avoir deux sessions (totalement) indépendantes.

 

  • Modification Partage du fichier image (Double Session *) :
    1. objectif : permettre de lancer une seconde session d'AppleWin avec le même fichier image, ce qui est impossible à la base.
    2. principe : on modifie les modalités d'ouverture du fichier image pour forcer le mode share.
    3. outil : éditeur Hexadécimal.
    4. rechercher (hexa) : 6A016800000080 (1 occurrence).
    5. remplacer le 01 par 03
    6. note : API utilisée pour la localisation : CreateFileA.
    7. article en rapport : Bidouille(s) AppleWin (encore et toujours)…

 

  • Modification Rom Custom :
    1. objectif : utilisation d'une ROM spéciale en lieu et place de celle par défaut. Exemple : rom cracking, boot custom, etc.
    2. principe : on remplace une ressource ROM d'Applewin.exe par un fichier binaire contenant la rom modifiée.
    3. outil : éditeur de ressources.
    4. ressource à remplacer : ROM/129/1033 (pour un IIe Enhanced)
    5. page en rapport : Rom Custom 

 

(*) : les modifications "Double Session" ne sont à effectuer que sur un des deux exe AppleWin.

 

À ceux qui pourraient s'étonner que je privilégie la modification de l'exe final alors que le code source d'AppleWin est disponible, je réponds ceci :  les patchs ne concernent que quelques octets et s'avèrent beaucoup plus simples et rapides à appliquer que l'installation d'un environnement de développement, puis la modification du code et enfin la compilation d'un nouvel exe.

 

Tableau récapitulatif des offsets par version d'AppleWin :

Sauvegarde
Paramètres
Hotkey
Capture d'Écran
Partage
Fichier Image
AppleWin 1.20.0.010DB3Ch222Eh : 2C -> 24
2240h : 2C -> 24
29B3h : 2C -> 24
29BEh : 2C -> 24
76560Ch : 01 -> 03
AppleWin 1.23.0.0110CD0h27FEh : 2C -> 24
2810h : 2C -> 24
30E2h : 2C -> 24
30F3h : 2C -> 24
749ACh : 01 -> 03

note : la version 1.20.0.0 est la première version sur laquelle j'ai travaillé. Avec la sortie de la 1.23.0.0, il n'y a aucun intérêt à utiliser une version précédente. J'ai toutefois intégré la 1.20.0.0 au tableau pour démontrer que d'une version à l'autre, le principe reste le même. Cela devrait perdurer - au moins - jusqu'à la sortie d'une évolution majeure d'AppleWin. Je compléterai ce tableau au fur et à mesure des nouvelles sorties.