Lundi 11/09/2006.


Quand l'Apple II était encore utilisé par beaucoup de monde dans l'hexagone et lorsqu'il y avait en conséquence encore des centrales d'achat/distribution, j'avais déja dans mes cartons un bon tas de copies de disquettes en tous genres.
Depuis la fin des nouveautés commerciales, ma collection s'est tout de même agrandie grâce aux dons logiciels qui m'ont été fait.

Le dernier en date (et non des moindres -encore merci Christophe !) remonte au 5 octobre 2004, jour où l'ancien pirate informatique portant le pseudo The White Man (du groupe HackerForce) m'a amené non seulement son hardware mais aussi toute la collection de disquettes de sa centrale Hackerchest.

Aujourd'hui je dois bien avoir dans les 2500 disquettes 5.25" double faces pour apple II.

Quelques clichés du don:

Don TWM
Don TWM
Don TWM


Liste Appleworks qui était distribuée aux membres à l'époque:
 
Floppy
ProDOS
Download Hackerlist : Appleworks ADB files (gzipped)

Contenu de l'héritage du Hackerforce sous forme de pages html:

Bref, j'ai une tonne de softs pour Apple II...

Quand j'ai acheté un PC (aux environs de 1995), je me suis penché sur les solutions de transfert de disquettes de l'apple II vers ma nouvelle machine pour utiliser les émulateurs disponibles.
Au début, je ne disposais que d'une carte super série (SSC), aussi c'était le logiciel ADT que j'employais pour faire ces échanges.
Mais je trouvais cette solution extrêmement lente, les informations transitant via le cable série entre les 2 machines.
L'auteur du programme, Paul Guertin, avait pensé initialement repomper la routine de lecture rapide de Locksmith Fast Copy mais abandonna l'idée bien qu'il eut désassemblé ce copieur (cf message trouvé dans les newsgroups ci-dessous).

From :    Paul Guertin   
Date :    Mon 3 juil 2006 03:16   

I disassembled the Locksmith Fast Disk Copier <...>
It denibblizes the data using a different bit order that allows
it to convert disk nibbles to 8-bit bytes on the fly, making it
possible to read a track in one pass.
It even validates the checksum byte.


I wanted to use a similar routine in ADT, but decided against it
for the following reasons:

1) I was in a hurry to archive a few hundred floppy disks, and
using RWTS was the quickest way to have a functional ADT;

2) ADT was going to be used on old, marginally-readable disks,
and I was under the impression (maybe mistaken) that RWTS would
be better at reading such disks than a routine that ran closer
to the timing tolerance of the drive;

3) Due to the different nibblization scheme, the run-length
encoding compression ADT uses to speed up the transfer would
not be as effective.


Paul Guertin.


ADT est un moyen simple de mise en oeuvre des transferts mais ce n'est pas exploitable sans avoir un temps libre monstrueux et une patience à toute épreuve... ce qui n'est pas mon cas ;-)

Je me suis donc ensuite penché sur les autres solutions nécessisant un investissement hardware.
Je me suis délesté de quelques dizaines de dollars US en acquérant une carte SCSI pour mon apple II (achat apple2.marketplace) et je m'étais aussi payé une carte scsi Adaptec classique pour mon PC.
Ceci me permet de faire plus aisément des échanges entre les 2 machines en utilisant des unités amovibles.
Je me suis constitué depuis un bon stock de cartes de marque Apple (la classique "rev. C" et la "High Speed SCSI") ou d'autres (CMS, Sequential Systems avec ses différents modèles de RamFast).

Côté apple II, il y a tout ce qu'il faut pour gérer le SCSI avec des lecteurs comme les Syquest, Iomega Zip, ... ou des petits disques durs. Il est possible de créer des disques images .dsk directement sur ces unités avec des outils comme DSK2FILE ou encore ASIMOV.

Côté PC, le salut est venu du logiciel CiderPress de l'américain Andy McFadden.
Ce programme est en effet capable d'ouvrir des unités logiques comme une cartouche Zip ou Syquest (ou tout disque dur SCSI connecté) et de lire directement des données sauvegardées au format apple II.

Il suffit donc en théorie de créer des .dsk et de les stocker dans un volume ProDOS sur une unité SCSI puis de les récupérer sur PC avec une lecture directe.

Seulement voila, le temps passant, le SCSI n'est plus vraiment à la mode sur les PC de monsieur tout le monde et on trouve surtout des ports USB 2 maintenant.
Mais le talent d'un autre américain (Richard Dreyer) a permis de se passer de SCSI.
En créant sa carte CFFA, il est à présent possible d'employer une carte compactflash comme disque dur sur apple II et de l'utiliser comme support d'échange avec le PC via un lecteur de cartes connecté sur un port USB. (Note: Il est possible de faire la même chose avec la carte controleur IDE MicroDrive de ///SHH Systeme et son adaptateur pour carte CF).
CiderPress a aussi évolué et sait tirer profit de la CFFA. Il gère le port USB et supporte les cartes compactflash de la même façon qu'une unité SCSI.

A noter que d'autres solutions sont toujours en cours d'étude.
Dernièrement un autre utilisateur (Alex Freed) a proposé de commencer la production d'une solution à base de cartes MultiMedia (MMC) ou SD card. Son prototype hard étant prêt, il travaillait actuellement à la finition de la partie software.

Tout va donc pour le mieux côté hardware et c'est du tout bon pour la partie soft PC.

Mais je trouve néanmoins que l'on pourrait faire mieux côté soft Apple II.
DSK2FILE et ASIMOV sont encore bien trop lents pour créer 5000 .dsk!!
En effet, ils travaillent par piste: chaque piste est lue via ProDOS et est ensuite écrite sur l'unité cible. Ces va-et-vient sont pesant quand on enchaine les diskettes les unes après les autres.

Si j'étais riche, je m'adresserai au site commercial www.retrofloppy.com qui moyennant finance convertit les disquettes de ceux qui le veulent. Mais c'est vraiment hyper cher et à part des sociétés, je ne vois pas qui voudrait mettre du pognon là dedans.
Saluons néanmoins cette initiative de l'américain David Schmidt qui n'est autre que l'auteur d'ADTPro, l'outil Apple Disk Transfer pour ProDOS (sauf si c'est un homonyme, ce dont je doute).



Ca fait des années que je traine pour me faire un outil similaire à DSK2FILE mais beaucoup plus rapide sur mon IIe.
Mais là je suis bien décidé, d'autant que mes disquettes se dégradent avec le temps.
Décidé au point que je me suis inscrit au "Programming Gr*s-C0n-test 2006" de **** **********.
Il s'agit d'une compétition où des particuliers proposent leur programme et un jury vote pour celui qu'il préfère.
Voir l'annonce en cliquant: ici. Note du 02/08/2007: supprimé - je ne vous encourage pas à visiter ce site.
J'ai jusqu'au 31/12 pour écrire ce programme (projet enregistré sous le nom FASTDSK chez **** *******).

Redneck Bill


C'est peu compte tenu de mon emploi du temps et surtout du fait que je vais changer de boulot avant la fin de l'année mais bon j'ai du temps libre en journée actuellement... Il n'empêche que d'ici décembre je mettrai moins souvent à jour ce site puisque je passerai plus de temps à faire de la programmation pour ce projet.

Pour résumer:

Mon idée est de faire un lecteur rapide de disquettes (un fast load quoi), qui va charger en une seule passe le contenu d'une disquette 5.25" 16 secteurs dans ma RamWorks III sur mon IIe. Puis de sauvegarder un .dsk sur une unité ProDOS.
Enfin en fait j'aurai 2 versions: une version nécessitant 256k pour faire le job en une passe et une version 128k qui le fera en 2 pour rester en phase avec les contraintes matérielles du concours.

La logique qui découle de ça se trouve sur mon site:



Les premières copies d'écran de mon travail en cours pour les versions 256k et 128k:

Ecran FASTDSK
Ecran FASTDSK

Cette page sera mise à jour à fur et à mesure de mon avancement dans le projet.


Travail intéressant: la lecture du source de ProDOS.
Ici le début de la routine de gestion du DISK II de ProDOS 1.7 et un morceau de code lisant les markers du champ de données:

Ecran source ProDOS 1.7
Ecran source ProDOS 1.7



Floppy
ProDOS
Download ProDOS 1.7 source code part 1 (gzipped)
Floppy
ProDOS
Download ProDOS 1.7 source code part 2 (gzipped)

File: Source_Prodos_1_7_f1.dsk
Disk: ProDOS /SOURCES (140KB)
 Name                             Type Auxtyp Modified         Format   Length
------------------------------------------------------------------------------
 PRODOS.1.7.S                     TXT  $0000  30-Oct-88 00:00  ProDOS     3792
 RELOGEUR.1.7.S                   TXT  $0000  30-Oct-88 00:00  ProDOS     6418
 LOADER.1.7.S                     TXT  $0000  30-Oct-88 00:00  ProDOS     4991
 MYSTERY.1.7.S                    TXT  $0000  30-Oct-88 00:00  ProDOS      876
 CHKMACHID.1.7.S                  TXT  $0000  30-Oct-88 00:00  ProDOS      997
 TITRE.1.7.S                      TXT  $0000  30-Oct-88 00:00  ProDOS      798
 MOVER.1.7.S                      TXT  $0000  30-Oct-88 00:00  ProDOS     6611
 RWTBRAM.1.7.S                    TXT  $0000  18-Mar-91 08:18  ProDOS     6342
 CHKSLOT.1.7.S                    TXT  $0000  30-Oct-88 00:00  ProDOS     7972
 MACHID1.1.7.S                    TXT  $0000  30-Oct-88 00:00  ProDOS      819
 ZMACHID.1.7.S                    TXT  $0000  30-Oct-88 00:00  ProDOS      834
 RWTBII.1.7.S                     TXT  $0000  30-Oct-88 00:00  ProDOS    18388
 G.PAGE.1.7.S                     TXT  $0000  30-Oct-88 00:00  ProDOS     2387
 MLI1.S                           TXT  $0000  30-Oct-88 00:00  ProDOS    23460
 MLI2.S                           TXT  $0000  30-Oct-88 00:00  ProDOS    10343
 MLI3.S                           TXT  $0000  30-Oct-88 00:00  ProDOS    11917
 MLI4.S                           TXT  $0000  30-Oct-88 00:00  ProDOS    14289
 MLI.1.7.S                        TXT  $0000  30-Oct-88 00:00  ProDOS     1474
 START                            BAS  $0801  30-Oct-88 00:00  ProDOS       71
------------------------------------------------------------------------------

File: Source_Prodos_1_7_f2.dsk
Disk: ProDOS /SOURCES (140KB)
 Name                             Type Auxtyp Modified         Format   Length
------------------------------------------------------------------------------
 EXPLICATIONS                     AWP  $0000  28-Oct-88 00:00  ProDOS     9027
 FORMATEUR.S                      TXT  $0000  10-Apr-89 00:00  ProDOS    25647
 INSTALLE.S                       TXT  $0000  04-Jan-89 00:00  ProDOS    11338
 REBOOT.1.7.S                     TXT  $0000  30-Oct-88 00:00  ProDOS     5902
 INSTALLE.1.7.S                   TXT  $0000  27-Oct-88 00:00  ProDOS     5678
 BLOC0                            BIN  $0000  27-Oct-88 00:00  ProDOS      512
 FORMAT.1.7.S                     TXT  $0000  23-Dec-88 00:00  ProDOS    25080
 INSTALLE                         BIN  $2000  04-Jan-89 00:00  ProDOS     1653
 FORMATEUR.1.6                    BIN  $D400  10-Apr-89 00:00  ProDOS     1536
 FORMATEUR.1.5                    BIN  $D400  10-Apr-89 00:00  ProDOS     1536
 FORMATEUR.1.4                    BIN  $D400  10-Apr-89 00:00  ProDOS     1536
------------------------------------------------------------------------------