DotNIB


Dernière mise à jour:  Mercreci 20/02/2008. Cliquez ICI pour voir l'état d'avancement du projet.

1) Introduction

16 aout, jour J du lancement de mon nouveau projet DOTNIB.

Il y a eu 4 déclencheurs à l’origine de ce projet :
Je détaille chacun de ces points dans les paragraphes qui suivent.

2) Les limitations de FASTDSK

Après avoir créé un bon nombre de .DSK à partir de mes disquettes avec l’outil FASTDSK, plusieurs constats s’imposent :

Même si au final, il n’y a pas des tonnes de disquettes à problème, c’est tout de même gênant d’en laisser de côté.
 

3) Les points faibles des outils de création de .NIB

Au lieu d’utiliser le format .DSK, il est toujours possible de créer des images en .NIB qui contiennent aussi les champs adresse des disquettes originales.

Je connais 2 programmes permettant de créer des .NIB :
Mais aucun de ces 2 programmes ne me donnent satisfaction.

Bien que NIB2FILE tourne sous ProDOS, soit dans le domaine public et est téléchargeable avec son source assembleur, il a un potentiel évolutif faible par rapport à SST.

SST est un logiciel sous DOS (tout au moins le lancement car ensuite le DOS est écrasé par des routines).
Comme il est basé sur la routine de lecture de piste d'EDD 4 (Essential Data Duplicator 4 de la société américaine - aujourd’hui disparue - Utilico Microware), il inclut toutes les routines de ce copieur y compris celles prévues pour traiter des 1/2 pistes, les 1/4 de pistes, la synchro des pistes, ...

Ses gros défauts sont :
En théorie SST est bien plus puissant que NIB2FILE mais souffre d'inconvénients rendant son utilisation pénible.

Note du 10/10/2007:  Gerard Putter, auteur de l'émulateur Virtual ][ pour mac a fait une version modifiée d'ADT nommée A2V2 permettant le transfert de datas et la création de .nib sur mac.
Il a par ailleurs créé un nouveau format contenant les 1/2 pistes: .v2d

4) L’enchère de Bob Colbert, l’auteur de SST.

On pouvait toujours espérer que SST évolue car son auteur avait fait quelques apparitions sur le forum comp.sys.apple2.
Mais il est survenu récemment un évènement qui me laisse penser qu'il ne faut pas y compter.
En effet, Saltine a vendu son manuel d'utilisation du logiciel EDD.
Son annonce est parue sur comp.sys.apple2.marketplace il y a quelques mois et le manuel a été vendu sur ebay avec un lot d'autres documentations.
J'ai tenté de lui acheter ses docs mais il avait verrouillé la vente aux USA et n'a pas souhaité changer cette restriction (à son tord d'ailleurs car le prix n'a pas décollé - pourtant certaines de ces docs sont rares).

Saltine
Saltine

Nous avons échangé quelques mails quand je lui ai dit que je voulais travailler sur SST et que je cherchais le code source de son programme par la même occasion ainsi que le source d'EDD qu'il avait acheté à l'époque.
Nous avions convenu qu'il essaierait de m'envoyer ce qu'il pourrait (un PDF du manuel et le source de SST - le source d'EDD sur disquette étant perdu: il avait prêté sa disquette originale à un gars que ça intéressait mais ce dernier ne lui a jamais renvoyé. Je cite: "I'd love to see you continue the work. I'll try scanning it today. I do not have the source that I bought from the company any more. I sent it to someone years ago who was going to copy it and send it back, but he never did :( I'll try scanning the book today").

C'était en avril/mai 2007 mais depuis que ce soit à cause de La Poste ou parce que Bob n'a pas trouvé le temps, je n'ai rien reçu.
J'en ai conclu que je devrais me débrouiller seul...

5) Les discussions sans suite dans le forum comp.sys.apple2 sur un nouveau format de disk image

Régulièrement, on voit s'étaler sur le forum comp.sys.apple2 des messages sur le souhait de voir apparaître un nouveau format de disk image qui soit plus complet que le .NIB.
A chaque fois il est souligné qu'il manque telle ou telle caractéristique dans le .NIB, qu'il faudrait aussi tel ou tel truc en plus pour faire en sorte que l'on puisse exécuter des programmes originaux même plombés, mais ces discussions ne débouchent sur rien.

Je constate néanmoins que les discussions concluent souvent qu’il faudrait partir de SST pour faire évoluer le format .NIB mais personne ne s’y colle et pour cause: le source est introuvable sur internet.

Note du 10/10/2007: ça y est, CE SOURCE EST DISPONIBLE ICI. Un grand merci à Paul Guertin (Canadien francophone), auteur d'ADT, pour m'avoir aiguillé dans la bonne direction et à Ed Eastman (USA) qui m'a envoyé les .dsk de SST correspondant aux originaux de Saltine.
A noter toutefois que ce source prévu pour l'assembleur LISA est très dépouillé au niveau des commentaires aussi pour l'aspect documentation, il reste beaucoup de travail à réaliser.


Bien entendu les créateurs ou les personnes assurant la maintenance des émulateurs ne s'amusent pas à supporter un format s'il n'y a pas d'outils capables de produire de tels fichiers sur l'Apple II.
Il faut que le point de départ soit un outil sur l'Apple II. A partir de là, les responsables d’émulateurs suivront en adaptant leurs programmes.

6) DOTNIB

Mon projet DOTNIB serait une première étape dans la création d'un format plus complet.

Mais avant même de commencer à programmer DOTNIB, il faut satisfaire quelques prérequis:
Voici la liste des caractéristiques souhaitées de DOTNIB:
J'ai de quoi m'occuper un bon moment ;-)

7) Histoire d'Utilico Microware

Informations trouvées sur le net ici et recopiées sur cette page.

L'inventeur de la carte EDD PLUS (hardware) est Charles J. Rosenberg. Il raconte l'histoire de sa carte et l'association avec Utilico Microware.
Le responsable du manuel EDD et du software s'appelle Donald A. Schnapp (Don).



DOK, Hewlett, NY, March 1985 - September 1996

Entrepreneur
The Rest of The Story

This project started during my senior year of high school. First some background. At the time, the Apple 2 series of computers was very popular. Pirates and software vendors were in an escalating war of copy protection schemes, disk copying programs and cracking schemes. Many of these schemes took advantage of the flexibility of the floppy disk controller card hardware. To make the Apple 2 floppy system cheap, a lot of the decoding of the bit stream from sectors was done in software. What this meant is that it was possible to come up with a disk format which was incompatible with the standard Apple 2 DOS floppy disk format. This made it impossible to copy disks using the standard DOS copy software.

So a bunch of people wrote copy programs which were more generic than the standard DOS copy and could copy these disks, for example Locksmith, Copy II Plus, and EDD. They treated the disk as a series of bytes and didn't rely on as much of the underlying structure. How did they get away with selling these programs? These programs were sold as a means of a genuine user making archival copies of their software. Of course, these programs themselves were pirated and used to distribute and copy pirated software.

Of course once certain protection schemes were defeated, a new protection scheme was invented. The one which I decided to attack was one which took advantage of how the disk hardware worked. One of the main tasks of the floppy disk controller card was chopping the bit stream from the disk drive up into bytes. The way this was done was that every byte had to start with a one bit, the hardware threw away all leading zero bits. By writing a particular sequence of bits to the disk, you could always guarantee that the controller would sync up. Well, certain protection schemes were written which would write out extra zero bits when writing bytes to disk. This software would then time how long it took the disk controller to decode a byte and detect the presence of these bits. The problem for copy programs was that the hardware removed those bits before they could see them. A protected disk knew where the "magic" bytes were and therefore could check those bytes multiple times and average the time to read them over multiple tries. Copy programs could try to do the same thing, but they didn't have the luxury of knowing where these bits were.

My idea was to implement an auxiliary disk drive controller. This controller would intercept the data stream before it reached the drive controller and pass the raw bitstream onto the computer. So I implemented hardware to do exactly this. The card ended up being a simple set of 8 TTL chips with a pass through connector. The floppy disk drive would plug into this card and a secondary cable would run over to the regular controller card.

Once I had a functioning prototype I tried to convince the makers of the current copy programs to modify their software to be able to read data from my card. After a couple of months, I was able to convince Don Schnapp, the author of EDD (Essential Data Duplicator) to offer a special version of his software packaged with my card. I had the cards manufactured, and shipped them to Don, and he modified his software and dealt with all of the customer issues. He also continued to sell the version of his program without the card.

All, in all the card was reasonably successful and provided me with some income during my years at college. Because the Apple 2 market is pretty much dead now (it mostly only lives on in emulation) and therefore there were no more sales, Don and I decided to stop selling the system.


8) Avancement du projet

16/08/2007 : Date début projet.
10/10/2007 : La documentation (manuel EDD 4.2 ) est disponible ici en version draft (photos).
28/10/2007 : La documentation finalisée du manuel d'EDD 4.2 convertie en texte grâce à l'aide de Jonno Downes, Shaun Olson et Jerry Penner est achevée. Cliquez ici pour y accéder.
20/02/2008 : longue période de rétro-ingénieurie destinée à produire le source complet de SST pour Merlin 8. Cliquez ici pour accéder à : SST Technical Reference Page.

à suivre...