[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Translation of Cracking Lesson 19, was Re: Toy Shop for Apple II available and a long story
We did not slow down the drives to "fit" 18 sectors per track, rather, it was perfectly-efficient use of space and only one splice point, the beginning of the track. We calibrated the drives used for duplication daily to spec.
Any more questions? :-)
-Roland G.
On Tuesday, January 17, 2012 12:35:19 PM UTC-8, D Finnigan wrote:
> Vladimir Ivanov wrote:
>
> > On Thu, 12 Jan 2012, Antoine Vignau wrote:
>
> >
>
> >> A long time ago, in France...
>
> >> It was a dark and stormy night ((c) Schulz),
>
> >> It was about 18-sec protections,
>
> >> It was in 1988...
>
> >>
>
> >> @ http://boutillon.free.fr/Underground/Cours/Cours_GDF/Gdf19/Gdf19.html
>
> >
>
> >
>
> > Oh, and I should check Trinity some day ..
>
> >
>
> >> ps. I hope you read French ;-)
>
> >
>
> > Unfortunately, no.
>
> >
>
> > Salut, Deckard!
>
> >
>
>
>
> I did translate some of this document, but work is slow since (took me about
>
> 2 hours to do just this part). Machine translations are unsatisfactory due
>
> to slang (including one rather vulgar word!) and computer jargon used in the
>
> document.
>
>
>
> However, if there is indeed interest in a complete English translation, I
>
> could see about completing it. Here is what I have so far:
>
>
>
>
>
> Cracking Lesson 19
>
>
>
> [ Traduction Anglais par DF ]
>
>
>
> Update for 19 August 2011.
>
>
>
> At the beginning of their writings, the Godfather lessons changed numbering.
>
> Apart from the author himself, it is somewhat probable for someone having
>
> the last version of each of these lessons. After a recent message from LoGo
>
> (& Christo), I find myself again with 2 lessons numbered "20" with differing
>
> content.
>
>
>
> I therefore decided to rename the one that I had (lesson 20: 18 sectors) to
>
> be lesson 19 in order to align it with the latest list of lessons in my
>
> possesion. Lesson 20 will therefore be about the protection of Datasoft
>
> 1988, a lesson which will be online on 20 August 2011. In addition to the
>
> text references here, I had to change the contents of the .dsk where a "19"
>
> appeared in stead of "20", including the screens. Otherwise, the old lesson
>
> 20 will not boot. I changed the boot 1 to allow it. Note that even though
>
> the menu suggests so, there is no file "INFORMATIONS COURS" on this disk.
>
> Probably to save disk space. The option will not work if you choose it from
>
> the menu.
>
>
>
> [ some screenshots of the program ]
>
>
>
>
>
> Disk : Gdf19.dsk
>
> "-" files are DELETED files | "*" files are LOCKED files
>
> ----------------------------------------------------------------------
>
> B A$1F00 (007936) L$12FF (004863) 022 COPIEUR N6
>
> B A$3000 (012288) L$0537 (001335) 007 EPYX_FURY
>
> B A$0901 (002305) L$19E7 (006631) 027 EPYX_FURY.S
>
> B A$3000 (012288) L$06F3 (001779) 008 GOGSMITH
>
> *A A$0000 (000000) L$0208 (000520) 004 GOGSMITH.PRG
>
> B A$0901 (002305) L$2BD3 (011219) 045 GOGSMITH.S
>
> A A$0000 (000000) L$0CCD (003277) 014 LECTEUR.PRG
>
> B A$0300 (000768) L$0051 (000081) 002 LECTURE PISTE AIRHEART
>
> *A A$0000 (000000) L$00C5 (000197) 002 LECTURE WING.BAS.PRG
>
> B A$40E8 (016616) L$0018 (000024) 002 MODULE_IOB
>
> B A$4000 (016384) L$0400 (001024) 006 PAGE_TXT
>
> B A$4E00 (019968) L$04B0 (001200) 006 RWTS AIRHEART
>
> B A$4000 (016384) L$0800 (002048) 010 RWTS16
>
> B A$4000 (016384) L$04F0 (001264) 006 RWTS18
>
> A A$0000 (000000) L$029E (000670) 004 HELLO
>
> T A$0000 (000000) L$8900 (035072) 137 T.COURS 19 REVISION 1.00
>
> B A$0901 (002305) L$3730 (014128) 057 GOGSMITH 1.20.S
>
> B A$3000 (012288) L$0762 (001890) 009 GOGSMITH 1.20
>
> A A$0000 (000000) L$020D (000525) 004 GOGSMITH 1.20.PRG
>
> T A$0000 (000000) L$0800 (002048) 008 T.LES PROGRAMMES DE CE DISK
>
> T A$0000 (000000) L$0400 (001024) 004 T.INTRODUCTION
>
> A A$0000 (000000) L$001D (000029) 000 COPYN6.PRG
>
> B A$0901 (002305) L$059D (001437) 007 CHRCH_NIB.S
>
> B A$1000 (004096) L$0053 (000083) 002 CHRCH_NIB
>
> B A$1000 (004096) L$0051 (000081) 002 CHRCH_NIB2
>
> A A$0000 (000000) L$01DB (000475) 003 CHRCH_NIB.PRG
>
> B A$0901 (002305) L$03DD (000989) 005 CHRCH_NIB2.S
>
>
>
> This catalog contains 27 files. 0 were DELETED.
>
> ----------------------------------------------------------------------
>
>
>
>
>
> Introduction
>
>
>
> Lesson 19 : Br0derbund Protections / 18 sectors per track
>
>
>
> 18 sectors per track? But you say it doesn't matter, my dear sir!
>
> Everyone knows that there are always 16 sectors per track, and not more!
>
> Why not 43 teeth per mouth or 15 years for the presidential term?
>
> My goodness! Perhaps it is possible, no?
>
>
>
> With information about the Apple, one can do everything .. modify everything
>
> ..
>
> hack everything.. The only thing is to know how!
>
> Well then, let's see how!
>
>
>
> ======================= Amicably, G.
>
>
>
> Lesson 19, revision 1.00.
>
>
>
> ========================================================================
>
> Lesson 19 : Br0derbund Protections / 18 sectors per track Godfather
>
> ========================================================================
>
>
>
> Revision 1.00 Update : 07 May 1988
>
>
>
> This lesson wouldn't have been as brilliant without the invaluable help of
>
> people like Mister DD, The Gog's, Numéro 6, and surely, the author of all
>
> this mess: Roland Gustafsson!, from the Br0derbund companty. Thank you!
>
>
>
> ========================================================================
>
>
>
> 1. Introduction
>
> 2. The magnetic data marks on the disk
>
> 3. Data storage on the diskette (nibbles)
>
> 4. The rwts18 routine, reading, writing, formatting, recalibrating, etc...
>
> 5. Copy Program
>
> 6. Supplementary Problems: track numbers on the bad tracks, verify
>
> 7. Adapt the copier to the new, diverse Br0derbund programs
>
> 8. History and diagnostics of all the latest Br0derbund programs
>
> 9. 18 sectors per track. Who says better?
>
>
>
> ========================================================================
>
> 1. INTRODUCTION TO 18 SECTORS PER TRACK and the problem it gives us
>
> ========================================================================
>
>
>
> On today's menu, the current protection of the finest Apple software, you
>
> will recognize them if I talk about Karateka, Captain Goodnight, Wings of
>
> Fury, to name just a few.. Br0derbund. In starting this lesson, you will
>
> perhaps be asked who is the dedicated guy: Roland Gustafsson. He's the dick
>
> Gustaffson, also a lead editor of the American magazine, NIBBLE. He is the
>
> "official" protector for Br0derbund. And therefore, the author of the
>
> protection that we are studying here: 18 sectors per track.
>
>
>
> >>>>>>>>>>>>>>>>>>>>
>
> Deckard's notes from 07 May 2007: first of all, in the entire GDF text, the
>
> name mentioned is Steven Gustavson instead of Roland Gustafsson. I have
>
> corrected it. One must know that Steven has a connection with Roland! It's
>
> about one of the easter eggs utilized in the program PRINTSHOP COMPANION. If
>
> you boot side 1 of the program and type STEVEN following with a press of
>
> ESC, the screen will display in reverse!! Useless, but funny. Furthermore,
>
> Roland never wrote for Nibble magazine. Actually, I found many articles
>
> written by him in A+ magazine. He was interested in programming sound on the
>
> Apple IIGS.
>
> <<<<<<<<<<<<<<<<<<<<
>
>
>
> Picture a disk containing 18 sectors per track with a total of $23 tracks,
>
> normally numbered from $00 to $22.. That means as many tracks as on a disk
>
> formatted for DOS 3.3, but each containing 2 more data sectors, making two
>
> more $FF bytes. ($1FF bytes more per track!).
>
> The cracking of a protection "format", as you well know, always happens with
>
> a format conversion step. The original disk has a non-standard format, we
>
> want to convert the first one to a standard format, meaning 16 sectors per
>
> track!.. Only here, a big problem is presented! Look, to try to explain it
>
> to you, here are the "capacities" of these two formats:
>
>
>
> 16 sectors per track with 35 tracks having $FF bytes per sector.....143360
>
> bytes
>
> 18 sectors per track with 35 tracks having $FF bytes per sector.....161280
>
> octets
>
>
>
> Do you understand the problem? Not yet? Well then, I shall continue...
>
>
>
> 16 sectors per track with 35 tracks : 560 data sectors per side!
>
> 18 sectors per track with 35 tracks : 630 data sectors per side!
>
>
>
> That means, considering that you find the 18 sector reading routine in any
>
> original Br0derbund program, and you are also able to prepare the format
>
> conversion, the question remains:
>
>
>
> You have 70 sectors "too many" which are not indispensable.. Where are you
>
> going to put them, because they must go somewhere on a "deptrotected" disk -
>
> that's the goal of this game - a disk with 16 sectors per track.. And
>
> remembering that these 16 sectors per track are - in theory - already
>
> occupied with the program's data. Am I clear enough?
>
>
>
> Pierrette has a jug of milk that can hold only a liter, and she must bring
>
> back to the village - under pain of galactic cataclysm - 1.5 liters of milk.
>
> Do you have a solution to this problem?
>
>
>
> I am going to try, with this lesson and potentially a future lesson number
>
> 19.2, to explain to you and to clarify the two solutions which appear to us,
>
> after - believe the best - intense thoughts of the entire planet!
>
>
>
> ===============================================================================
>
> 2. The magnetic data marks on the disk
>
> ===============================================================================
>
>
>
> First thing sirs, you are going to open your mind.. be open to anything that
>
> could be said here.. to any novelty.. Expand your field of possibilities,
>
> concentrate, breathe in., breathe out.. and understand!
>
>
>
> For the following explanation, and I say that for the perfectionsts, I will
>
> say ahead of time, I must alter the facts for a better comprehension. For
>
> example, I am going to imply that the disk read head moves around the
>
> tracks, but really it is the diskette that turns under the disk read head.
>
> You may accept that the effect is identical depending on the point of
>
> reference, and you may also equally grant that I have the right to allow a
>
> few "lies" which will follow, for your benefit.. Well, if you discover some
>
> anamolies - because you already know too much - you don't have to accuse me
>
> here, I excuse myself here in advance. Off we go..
>
>
>
> I ask you to imagine the track of a disk. A track we will compare, to
>
> simplify things, to a bicycle track, such as the track at Bercy. A circular
>
> track, on which one dispatches a little man (the runner) having a certain
>
> speed. This bicyclist who will complete a loop of the track in a certain
>
> time is compared with the read head of your drive which will make the loop
>
> of a data track in a certain time. The problem presented to use is that of
>
> formatting. If the reading of a track can be done sector by sector in any
>
> time (one can read a track a few sectors at a time, and if one's drive is
>
> too quick or the reading routine is too slow, one must come back a second
>
> time, see a third time to get the rest).
>
>
>
> The formatting is a "cut" of a track in sectors according to a given format.
>
> For the formatting, the problem is different. One cuts the disk, and the
>
> third sector, for example, no matter which format, 19, 18, 16, 13 sectors or
>
> otherwise, must be placed immediately after the second (physical sectors),
>
> and immediately after the first.. Everything must be cut after sector 0,
>
> which marks the "start of the cut", and just up to the last sector, in a
>
> single pass! In a single loop of the disk surface.
>
>
>
> One will assume that our bicyclist leaves from the starting line (which is
>
> also quite close to the finish line - the end of the track), with a set of
>
> 18 flags, because there are 18 sectors per track. He is going to leave a
>
> flag every 22.22 meters around a track of 400 meters in circumference. For
>
> example. It takes a certain time to cease a flag and its pole, and again a
>
> certain time to place it to mark the start of one of the cuts of the track,
>
> of one of the divisions which he must make there. From one of the sectors of
>
> the track it will go. The problem, I restate, is that he must place all of
>
> the flags in a single loop.. and if, on these 18 flags, he only ends up
>
> placing 17, for example, the formatting of this track must start again. The
>
> desired number must be placed from the start, according to the format.
>
>
>
> You understand well further that the bicyclist moves slowly around the
>
> track, so he will have time to place these flags, and therefore be able to
>
> plant a large number of them. In 1979, DOS 3.2 contained only 13 sectors per
>
> track for speed. The drive proposed by Apple at the start wasn't reliable
>
> enough, also the formatting was done more slowly, and our bicyclist could
>
> not have the time to put barely just 13 flags. Understand that "flag" means
>
> field address, the separation point between two sectors on the track, and
>
> understand that between two flags, data are written (the tread of a tire
>
> rests on the track.. if you wish (!?)). We are going to see much later the
>
> head of these flags and the mark of the tire tread on each 18 sector track,
>
> when I talk about the 18 sector format.
>
>
>
> Now, we went only to 16, and BR0DERBUND, with some slow drives, has
>
> formatted a disk with 18 sectors. If our drives are of a good speed not too
>
> fast (you can test their speed with a program called Copy II+ 5.x, or EDD
>
> v4.2), you can then copy the Br0derbund programs without too many problems.
>
> Although sometimes there are a few boot modifications (generally on track
>
> $0) to get a working copy. Whatever the speed of your disk drive head, 18
>
> sector programs boot just as well no matter which drive, but don't copy at
>
> all from the nibble copier. (in theory, the copier must work everywhere,
>
> functioning at a "normal" maximum speed.)
>
>
>
> Apple hasn't yet made - and won't make - DOS 3.4 with 18 sectors per track
>
> for this reason: all the drives, they can read 18 sectors, but they can't
>
> all format 18 sectors.
>
>
>
> ===============================================================================
>
> 3. Data storage on an 18 sector diskette
>
> ===============================================================================
>
>
>
> In general, several tracks (track $00, or even tracks $00 and $01) are in
>
> the DOS 3.3 format, 16 sectors per track. All of this is normal, and these
>
> are the tracks which contain the famous rwts18. But leave me rather to tell
>
> you about the 18 sector format in quesetion.
>
>
>
> In fact, we talk of 18 sectors per track because each track has the
>
> equivalent data of 18 DOS 3.3 sectors of $FF bytes, making $17FF bytes, but
>
> on the disk, the data are regrouped into macro sectors. It doesn't add up,
>
> therefore, 18 sectors of $FF bytes, mais 6 sectors of (3 * $FF) bytes, these
>
> amount to the same incredible count of $17FF bytes per track, versus $15FF
>
> per track which we are offered in in the 3.3 format.
>
>
>
> The first macro-sector corresponds to sectors 00,06,12.
>
> The second macro-sector corresponds to sectors 01,07,13.
>
> The third macro-sector corresponds to sectors 02,08,14.
>
> The fourth macro-sector corresponds to sectors 03,09,15.
>
> The fifth macro-sector corresponds to sectors 04,10,16.
>
> The sixth macro-sector corresponds to sectors 05,11,17...making 18
>
> secteors!!
>
>
>
> Each macro-sector is constituted in the following manner: (to make a
>
> comparison with the 3.3 format, refer to lesson 6)
>
>
>
> _____________________________________________________________________________
>
> !
>
> !
>
> ! ( 18 SECTOR FORMAT )
>
> !
>
> !
>
> !
>
> ! - A field address : Prologue D5 9D
>
> !
>
> !
>
> !
>
> ! Track NN ! CONVERT WITH THE HELP OF A
>
> !
>
> ! Sector NN ! CONVERSION TABLE
>
> !
>
> ! Checksum NN
>
> !
>
> ! Epilogue AA
>
> !
>
> !
>
> !
>
> ! - Two self-sync nibbles FF FF
>
> !
>
> !
>
> !
>
> ! - A data field : Prologue A4 ! variable, according to program,
>
> WATCH!!
>
> ! (I will refer to the prologue as "the header which can vary"!)
>
> !
>
> !
>
> !
>
> ! Data $400 NIBBLES (4 Nibbles --> 3 Bytes)
>
> !
>
> ! Checksum NN
>
> !
>
> ! Epilogue D4
>
> !
>
> !_____________________________________________________________________________!
>
>
>
> The nibbles are converted into bytes on the fly while being read, with the
>
> help of a conversion table. This is contrary to DOS 3.3, where the
>
> conversion (post-nibblization) happens in a buffer after the nibbles are
>
> read.
>
>
>
> On the other hand, some Br0derbund software, such as was the case for
>
> Airheart, the track $1C doesn't exist. The track was identical to track $1B
>
> and was numbered as track $1B in the field address. But it's a "plus" which
>
> isn't really important in regard to the "18 sectors" protection, and it
>
> hasn't been employed in any of the recent Br0derbund programs. Therefore, no
>
> panic! We will talk about it in the 'Cracking' lesson, but here is a bit
>
> below..
>
>
>
> [ Traduction Anglais par DF ]
>
>
>
> --
>
> ]DF$
>
> Mac GUI Vault - A source for retro Apple II and
>
> Macintosh computing.
>
> http://macgui.com/vault/