home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sys / ibm / pc / hardware / 23995 < prev    next >
Encoding:
Internet Message Format  |  1992-09-11  |  3.3 KB

  1. Xref: sparky comp.sys.ibm.pc.hardware:23995 comp.os.msdos.programmer:9271 comp.sys.ibm.pc.misc:12515 comp.sys.ibm.pc.programmer:408
  2. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!spool.mu.edu!olivea!hal.com!halaus!bobp
  3. From: bobp@hal.com (Bob Pendelton)
  4. Newsgroups: comp.sys.ibm.pc.hardware,comp.os.msdos.programmer,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer
  5. Subject: Re: Why does HIMEM.SYS not work with some keyboard chips?
  6. Message-ID: <1992Sep11.144225.5329@hal.com>
  7. Date: 11 Sep 92 14:42:25 GMT
  8. References: <1992Sep10.164145.14393@rei.com>
  9. Organization: HaL Computer Systems, Inc.
  10. Lines: 63
  11.  
  12. From article <1992Sep10.164145.14393@rei.com>, by fox@rei.com (Fuzzy Fox):
  13. > leonard@qiclab.scn.rain.com (Leonard Erickson) writes:
  14. >>Apparently so major applications programs *depended* on the wraparound.
  15. > Can anyone give me a logical, sensible reason why any software would
  16. > require that the start of memory (0000) be referenceable from the last
  17. > segment in memory (FFFF)?  It seems to me that if you want to look at
  18. > the start of memory, you start by loading segment 0000, not FFFF!  Who
  19. > would program in such a bizarre manner?
  20.  
  21. Sure, I can give you lots of them.
  22.  
  23. 1) It's a bug. This is a very likely cause of the problem. Some poor
  24. fool did it accidentally, and since it always worked the problem
  25. wasn't found.
  26.  
  27. I've seen this sort of thing a number of times. I recall a 10 year old
  28. COBOL program (it would be about 30 years old now and almost certainly
  29. still in use) that finally failed because of a fence post error. A
  30. test that should have been for < was coded for <= and an array bound
  31. was exceeded.
  32.  
  33. Such is life.
  34.  
  35. 2) RAM CRAM. Do you remember whole engineering groups passing 4K RAM
  36. chips around? Handling them like they were holy icons? Talking in
  37. hushed tones about the possibility of having a machine with 64K RAM?
  38.  
  39. Do you remember the first time you saw a 64K RAM array on a PC board
  40. and realised that the CPU, glue, and IO chips took up more space on
  41. the PC board than the RAM did?
  42.  
  43. If you don't, or were born after these events first took place, you
  44. have no concept of how important saving 1 byte of memory was. I've
  45. spent days researching the instruction set and puruesing code to save
  46. 5 bytes of instructions.
  47.  
  48. The original PC had a HUGE amount of memory. And could be expand to 10
  49. times the memory of any other microcomputer that I knew about at the
  50. time.
  51.  
  52. It still didn't have that much memory. And any clever hack that could
  53. save the cost of one load of one segment register meant more
  54. functionality in your program for a given memory size. The smaller you
  55. program the more people who will buy it. Major applications HAD to fit
  56. into less than 8K bytes so that the other 8+K could be used for data
  57. storage. A BIG floppy in those days stored 160K bytes.
  58.  
  59. 3) Clever Programmer. Some programmers are overly clever jerks who
  60. will use any "neat trick" just because it is a neat trick. The concept
  61. of the "Software Engineer" has come a long way from the original
  62. concept of the programmer.
  63.  
  64. These may not be "logical, sensible" reasons, but they are real
  65. reasons. 
  66.  
  67.             Bob P.
  68. -- 
  69. Bob Pendleton             | As an engineer I hate to hear:
  70. bobp@hal.com              |   1) You've earned an "I told you so."
  71. Speaking only for myself. |   2) Our customers don't do that.
  72.                    <<< Odin, after the well of Mimir. >>>
  73.