home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / sys / atari / st / tech / 6582 < prev    next >
Encoding:
Internet Message Format  |  1993-01-11  |  3.9 KB

  1. Path: sparky!uunet!pipex!bnr.co.uk!uknet!edcastle!hwcs!neil
  2. From: neil@cs.hw.ac.uk (Neil Forsyth)
  3. Newsgroups: comp.sys.atari.st.tech
  4. Subject: Falcon Video Hardware Bug
  5. Message-ID: <1993Jan11.150508.21531@cs.hw.ac.uk>
  6. Date: 11 Jan 93 15:05:08 GMT
  7. Sender: news@cs.hw.ac.uk (News Administrator)
  8. Organization: Dept of Computing & Electrical Engineering, Heriot-Watt University, Scotland
  9. Lines: 67
  10.  
  11.  
  12. Last year, during a discussion about screen handling, I wanted to point out
  13. a major difference between the Falcon and ST video hardware but at that time
  14. the Falcon was unreleased and the NDA was binding. However a friend of mine
  15. (Hi Kevin! :-) received his production Falcon recently and it has the same
  16. problem that my pre-production unit has.
  17.  
  18. Now for the explanation ...
  19.  
  20. The video hardware in the ST, STE, MegaSTE and TT will not implement a change
  21. of video address (@ $FFFF8201,3 and D on the STE) until the vertical blank
  22. occurs but before it generates the interrupt. This means that if you were
  23. writing a game that used screen double buffering and say each game turn took a
  24. maximum of three frames, you MUST set the new screen address during the third
  25. frame, NOT afterwards during a vertical blank routine. This we already knew.
  26.  
  27. However the new video hardware on the Falcon will implement a new screen
  28. address at any time that it is not accessing video RAM. This is usually in the
  29. margins at the top and bottom of the screen. This means that programs should
  30. change the address during a vertical blank routine to avoid writing to a
  31. screen that the video hardware is currently displaying. This usually means
  32. ripples and shudders in the images since you see both old and new data at
  33. some points of the screen.
  34.  
  35. Please take this into account when writing any new graphics programs so that
  36. we can eliminate this problem and maintain compatibility across the entire
  37. range of Atari computers. This was the only incompatibility I found between
  38. the Falcon and Game Workbench.
  39.  
  40. To identify a Falcon look in the Cookie Jar for the machine cookie (_MCH).
  41. The Cookie Jar pointer is at $5A0 an it points to a list of longwords
  42. (cookie, value) the details of which I won't go into at the moment.
  43.  
  44. Possible values for _MCH are:-
  45.  
  46.     $0000xxxx - ST, STF, STFM
  47.     $0001xxxx - STE (Note: In a Mega STE, xxxx will be non-zero)
  48.     $0002xxxx - TT
  49.     $0003xxxx - Falcon
  50.  
  51. As an alternative you could look at the video cookie (_VDO) which is $0003xxxx
  52. on the Falcon.
  53.  
  54. How to view the phenomenon for yourself:-
  55. I first noticed the problem when I ran a program that allowed me to have lots
  56. of bouncing sprites on the screen. As the workload moved the screen change
  57. to the point where the video RAM was already been scanned I noticed a shudder
  58. in the sprite movement. Due to the varying workload in drawing a
  59. non-preshifted image as it moves across the screen sometimes the change
  60. happened before screen scanning started and sometimes afterwards.
  61. Smooth movement only happens when the change of screen address is consistantly
  62. before or after the margin.
  63.  
  64. Not long after I received my pre-production Falcon, I informed Atari UK of the
  65. problem but received no feedback which is a pity because unlike other
  66. incompatibilities with the ST which are not Atari's fault this one certainly
  67. is. As far as I know, no developers have been informed of this.
  68.  
  69. +----------------------------------------------------------------------------+
  70. ! DISCLAIMER:Unless otherwise stated, the above comments are entirely my own !
  71. ! Neil Forsyth                                                               !
  72. ! Department of Computing and Electrical Engineering                         !
  73. ! Heriot-Watt University                                                     !
  74. ! Edinburgh, Scotland                                                        !
  75. ! United Kingdom            Email: neil@uk.ac.hw.cs, ..!ukc!cs.hw.ac.uk!neil !
  76. ! "'Have you got any?' he asked, expecting the answer no" - Monty Python     !
  77. +----------------------------------------------------------------------------+
  78.