[comp.sys.apple] Assorted Bits and Pieces

MKrieg@UMASS.BITNET.UUCP (02/25/87)

 /\/\ark <riegsman -=*=-- 561 Hampshire College -=*=- Amherst, MA -=*=- 01002
 
I've been tempted several times in the last few days to  respond  to  "things"
that  have  been  posted here, but have so far refrained.  But, ...
 
RE: Disk conversion...
 
     The  original disk ][ controller ( the one that runs your old-style 5
     1/4" drive(s)) has almost no smarts of its own.   You  can  literally
     intercept the data coming from the disk on a bit-by-bit basis.  While
     this makes it seem like you might be able to  do  anything  you  want
     with  an  Apple  and  a 5 1/4" drive, 1) the processor is not -quite-
     fast enough to use the data as it comes in...the best you can  do  is
     buffer  it for later and 2) the disk controller, because of it's lack
     of brains, can "get lost" on any given disk track if the data is  not
     formatted  to  prevent  it.  Specifically, no more than two bits in a
     row may be zero.  (Under the 13 sector controller [remember them!] no
     more  than  one  (!)  bit  could  be  zero in a row.) The disk driver
     program  changes  data  from  a  happy  8-useful-bits-per-byte  to  a
     somewhatskewed 6-useful-bits-per-byte format before it writes it out,
     and de-converts when it reads it back in.
 
     You cann write your own  disk  driver,  but  be  very  careful  about
     timing. (this is how every single program ever released for the Apple
     up until about three years ago had its own  disk  format...hence  the
     need  for  "bit-copiers")  If you try this, one final word of advice:
     PUT THE HEAD BACK INTO THE READ MODE BEFORE  TURNING  OFF  THE  DRIVE
     MOTOR!!!   Geoffrey  Engelstein  and  I  (ever  hear of a game called
     "Starblaster" from Piccadilly Software?...we wrote it.)  spend  about
     45 straight hours trying to find that one.
 
RE: Relative Clock Speeds
 
     THe 6502 is a "pipelined" processor; each part of it can do something
     at once.  The memory acces part can be fetching  the  next  piece  of
     data  *while*  the  Arithmetic  Logic  Unit  is  performing  an "add"
     operation.
 
     A 1Mhz 6502 is -generally- (no flames,  PLEASE!)  about  as  fast  as
     3-4Mhz  Z-80,  because  the Z-80 can only to one thing at a time, ie,
     fetch an instruction, fetch a data value,  add,  deposit  the  value,
     etc..
 
     We  (Apple  folks) are blessed (!??) with the hand-coded magic of one
     Mr. Steve Wozniak.  This man seems  to  have  some  kind  of  obscure
     mutation  that  allows  him  to write faster, smaller, more efficient
     code than anyone else.  So beyond pure processor /speed/ we have  the
     work of a brilliant man lurking in each machine.
 
RE: High-res character Generators...
 
     Well, it seems that this kind of thing is in high demand.  The //gs
     has a *really* *nice* on in ROM, but that's quite a large investment
     to make for a piece of utility software.
 
     If  anyone  is  interested,  I  would be willing to post a reasonably
     robust and complete HRCG (Shareware...$5) to  the  net,  DOES  ANYONE
     WANT  THIS?  (write to me, so if no one else does, I can send it just
     to you.) I could also post a couple of fonts I've got, again, only if
     people want this.
 
I've been working with Apples (doing assembly language development work) since
about '79, so if anyone has any weird assy lang questions, I'd be happy to try
and help.
 
                              ,-Mark-Kriegsman--(see-diagram-2)---------------.
Claimer:                                                                     
1) you can only act once.      BITNET:   mkrieg@umass                        
2) einmal ist keinmal.         CSNET:    mkrieg%hamp@CS.UMass.EDU            
'. nothing /really/ matters.  INTERNET: mkrieg%umass.bitnet@wiscvm.wisc.edu 
                               UUCP:     ...seismo!UMASS.BITNET!mkrieg       
But don't let that stop you,   USMail: Hampshire College, Amherst, MA  01002 
happiness is subjective.       Phone:  (413) 549-5113 <odd hours, but try!>  
                              `-----------------------------------------------'