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