home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / sys / amiga / programm / 17921 < prev    next >
Encoding:
Internet Message Format  |  1992-12-29  |  5.3 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!cs.utexas.edu!sun-barr!news2me.EBay.Sun.COM!exodus.Eng.Sun.COM!pepper.Eng.Sun.COM!cmcmanis
  2. From: cmcmanis@pepper.Eng.Sun.COM (Chuck McManis)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Going to the metal
  5. Date: 29 Dec 1992 20:34:17 GMT
  6. Organization: Sun
  7. Lines: 86
  8. Message-ID: <lk1di9INNrsa@exodus.Eng.Sun.COM>
  9. References: <BznyFH.J3s@unx.sas.com> <monster.05uo@mbear.apana.org.au> <C01BK6.ApK@unx.sas.com>
  10. NNTP-Posting-Host: pepper
  11.  
  12. Hmm, you step away from the Amiga for a couple of years and the _same_ 
  13. arguments are still going on. Amazing!
  14.  
  15. I've rather enjoyed the "Senseless weenies who write to the hardware"
  16. versus the "Enlightened brethren who use the OS" debate. Not a lot of
  17. new information has flown back and forth but its nice to know the two
  18. camps still think the other is the moral equivalent of pond scum. The
  19. really interesting thing is that rarely does the _real_ reason ever
  20. come up as to why someone writes programs to got direct to the iron
  21. or they don't. Laziness.
  22.  
  23. You see I've got a *lot* of Amiga games (all paid for) and have talked
  24. to *alot* of developers for those games in both Europe and the US. Some
  25. of them use the hardware and some use the O/S, some are more playable
  26. than others. For every developer that uses the hardware, I've had the
  27. "Why didn't you use the O/S?" discussion. And while their arguments
  28. always start out "I needed every ounce of performance I could wring
  29. out of the machine ...", or "I could fit 8 times the code into the
  30. game ..." they always end up with "and besides, its easier to do it
  31. that way." 
  32.  
  33. This is the most powerful motive. Take the most trivial example, finding
  34. out where an 8 axis joystick is pointed. Do we open the "gameport.device"
  35. at the begining of the game and look for messages on the input stream
  36. to tell us where the stick is? Or do we just "mov d1,#port" ?
  37. From the developers perspective the "life" of a game is about 6 months,
  38. that's about how long they generate revenue before they are "old" and
  39. no one buys them anymore. No one ever bothers to "upgrade" games because
  40. generally the users aren't like me and they just stop playing them after
  41. a while. This means that the developer who uses the O/S is investing
  42. effort that for the most part will only be appreciated by a very small
  43. percentage of their customers. The _only_ time it is a serious issue
  44. is during an O/S transistion like the 1.3 -> 2.0 transistion or now
  45. the 2.0 -> 3.0 transistion. And that is because _all_ of their customers
  46. are potentially upgrading and if they don't work on the "new" O/S then
  47. they are going to get serious negative feedback. Consequently, from 
  48. the developer perspective (and from an economic perspective) using 
  49. the O/S is a non-issue.
  50.  
  51. That aside, there are of course "hidden" costs and revenue opportunities
  52. from being O/S friendly. In particular, the "learning curve" for the
  53. Amiga can be quite high. Thus when a developer becomes "trained" on what
  54. the current hardware looks like, they have to pay this cost again when
  55. they get new hardware. Further, when a company "hires" a new programmer
  56. they pay the cost again to bring that person up to speed. Of course the
  57. whole *purpose* of an operating system is to provide an unchanging 
  58. "architecture" appearance to the developer while the company innovates
  59. underneath on the hardware. Thus using the operating system insulates
  60. the developer from having to pay these learning costs again and again.
  61.  
  62. The problem, presented in these terms, is much more simply stated:
  63.   "The O/S model embodied in the Amiga is too complex and thus
  64.    unsuitable for the development of short lifetime, real time
  65.    applications."
  66.  
  67. One solution to this problem might be to provide an Operating system
  68. model that is tuned to game writers. Clearly such an O/S would have
  69. the appearance of writing directly to the hardware, however that
  70. hardware could be suitably masked behind the OS. A really good example
  71. of how one might accomplish this is the "virtual" 8086 mode of the
  72. '386 and '486. Here a hardware page fault mechanism is used to "catch"
  73. writes to the things that are hardware registers on the original
  74. PC, and do something "useful" with them based on the actual hardware
  75. of the system. Certainly something like that could be done on any
  76. Amiga with a MMU, but it could also be done using the existing messaging
  77. system. Imagine if you will a "spec" that says that address X contains
  78. the X position of the mouse, Y contains the Y position, and Z contains
  79. the state of the buttons. Further, J contains the bits associated with
  80. joysticks 1 and 2 in the upper and lower 4 bits and at address I
  81. is the bits for the display plane 0, I+n plane 1, etc. Now using this
  82. virtual machine is just as easy as using the actual hardware, except
  83. that now, the changes in the O/S are "invisible" to games that use
  84. them.
  85.  
  86. So Commodore could do this, or an enterprising developer could (I
  87. hear that something similar is done at Lucasfilm to minimize the
  88. cost of "porting" between platforms.) but as long as there are people
  89. writing code, some of them will write to the hardware and cause
  90. people like me to use a "Kickstart tower" to keep old copies of the
  91. ROMs around.
  92.  
  93.  
  94. --
  95. --Chuck McManis                Mr. NIS+                Sunsoft
  96. uucp: {anywhere}!sun!cmcmanis   BIX: <none>   Internet: cmcmanis@Eng.Sun.COM
  97. These opinions are my own and no one elses, but you knew that didn't you.
  98.