home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / apple2 / 27394 < prev    next >
Encoding:
Internet Message Format  |  1993-01-23  |  2.2 KB

  1. Path: sparky!uunet!paladin.american.edu!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!nntp-server.caltech.edu!toddpw
  2. From: toddpw@cco.caltech.edu (Todd P. Whitesel)
  3. Newsgroups: comp.sys.apple2
  4. Subject: Re: Super Hi Res Stuff
  5. Date: 23 Jan 1993 09:54:25 GMT
  6. Organization: California Institute of Technology, Pasadena
  7. Lines: 32
  8. Message-ID: <1jr4khINN1cl@gap.caltech.edu>
  9. References: <C173t9.Lt3@news2.cis.umn.edu>
  10. NNTP-Posting-Host: punisher.caltech.edu
  11.  
  12. adri0001@student.tc.umn.edu (Wouldn't you like to know) writes:
  13.  
  14. >This continued until someone told me that I needed to flip the SHR screen on
  15. >first...then clear it.  I am doing that now and it's working.  The only problem
  16. >is that you can see what was on the SHR screen before and that makes for a
  17. >rough transition.  Just a split-second before the SHR screen comes up, it's
  18.  
  19. When you turn on SHR via setting the hi bit of $C029, the correlation of
  20. memory addresses to physical RAM storage cells in banks $E0-E1 changes. This
  21. is why clearing first didn't work right, and clearing afterward did. This
  22. changed memory map is called the "linear" memory map because it must be used
  23. when storing pixels according to the linear memory layout of SHR.
  24.  
  25. What it _actually_ does is skew things so that the video hardware can read 16
  26. bits in one shot out of all four DRAMs and have the two bytes be adjacent to
  27. each other in linear memory rather than be main/auxiliary bytes at the same
  28. address. (This is done for bandwidth reasons -- ever wonder how SHR manages to
  29. read FOUR bytes every microsecond? Two 16 bit accesses using DRAM page mode.)
  30.  
  31. To get the SHR memory map without displaying SHR, set the next highest bit
  32. in $C029 (i.e. LDA #$40; TSB $C029). DO NOT use DHR with this bit set because
  33. the memory map change affects DHR as well, and Apple says DON'T DO IT in the
  34. tech manuals.
  35.  
  36. Setting the high bit of $C029 overrides the setting of the next highest bit,
  37. so feel free to leave the #$40 bit on while your program runs (especially if
  38. you need to switch in and out of SHR a lot!). Just make sure you clear it
  39. when you are all done using SHR mode. This may not be strictly required, but
  40. it is good programming practice to act as if it were.
  41.  
  42. Todd Whitesel
  43. toddpw @ cco.caltech.edu
  44.