home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / text_files / newmem&clock / new1meg.arc / mem.doc < prev    next >
Text File  |  1986-06-22  |  5KB  |  91 lines

  1. This document describes the operation and construction of a one megabyte
  2. memory board with optional battery backed up clock for the Amiga. You can
  3. also build a 512k memory by only populating one bank. I do not mention
  4. elsewhere that the software needs to be modified to match the new limits if
  5. you do this. 
  6.  
  7. The memory system consists of two banks of 256k words each. The banks are
  8. selected by the row address strobe (RAS) which is qualified by an address
  9. bit (A19) to select the bank. The upper and lower data strobes are used to
  10. generate seperate column address strobes (CAS) for the upper and lower
  11. bytes. Refresh is accomplished by activating the row address strobes for
  12. both banks while supplying a refresh address. Refresh cycles occur, if
  13. possible, when the memory is not being accessed (because some other resource
  14. is being addressed) or when necessary by holding off the processor to force
  15. time for the refresh cycle. All timing is derived from the 68000 clocks.
  16. This allows a fully synchronous design so that there are no glitches in
  17. timing possible. This also means that the processor must wait one clock
  18. cycle when it accesses this memory. The processor clock is simply too slow
  19. to go through the necessary states without the wait. If one eliminated the
  20. wait the system would be 20% faster. This would require a delay line or an
  21. asynchronous design. The cost of these alternatives is more than I was
  22. willing to pay. Also, the design would be harder to duplicate because of the
  23. more delicate timing.
  24.  
  25. The clock is a Motorola MC146818. It keeps track of the date and time
  26. including daylight savings and leapyear. A nicad battery is charged by the
  27. Amiga when it is powered up. This battery runs the clock when the Amiga is
  28. off. As long as the Amiga is on 1% of the time, the clock will remain
  29. accurate.
  30.  
  31. This memory board does not autoconfigure. This means that the Amiga doesn't
  32. know about it until it is told. A program called AddMem is distributed on
  33. the assembler or C disks. This program is needed to tell the Amiga that the
  34. memory exists. I have not written a clone of this program. I have written a
  35. memory test program to test the board. It is included in this release.
  36.  
  37. At this time, a number of programs, including Deluxe Paint, do not work
  38. properly with external memory. I hope that as more Amigas get added memory
  39. the suppliers of these programs will fix the problems. Mostly, graphics
  40. objects cannot reside in external memory. If a graphics object is a program
  41. constant, the program must be chip memory resident. There is no way to do
  42. this within a language.  When a program allocates memory, it must specially
  43. ask for chip memory if needed because the operating system will allocate
  44. from external memory if it can. If you want to use one of the programs that
  45. does not work with external memory, simply do not use the AddMem command.
  46. There is no need to remove the card. Amiga has released the ATOM program to
  47. developers which is used to tell the loader that some hunks must be loaded
  48. into chip memory. If you can get this program, it will fix the above
  49. problems.
  50.  
  51. The hardware clock isn't used by the Amiga during normal operation since it
  52. keeps its own internal clock. I have written a program to read the hardware
  53. clock and set the system clock (this is more trouble than I wanted). This
  54. program is also included in this release.
  55.  
  56. The easiest way to use these new resources is to modify your
  57. s/startup-sequence file to include:
  58.  
  59. AddMem 400000 500000
  60. Clock
  61.  
  62.  as added commands at the beginning. I also usually copy the entire system
  63. disk to ram: and reassign all the logicals to the copy in ram:. The system
  64. is very fast when running entirely out of ram.
  65.  
  66. I wirewrapped the memory since I expected to make changes. It took three
  67. tries before the control circuit worked well. There were a number of pins
  68. that were essentially undocumented and I had little choice but to try things
  69. until they worked. Because this design has no support from Amiga, I cannot
  70. guarantee that it works with your machine. On the other hand, I design
  71. memories (and other things) for a living. I know what I'm doing. The design
  72. is very forgiving of small timing changes (another reason to keep it slow)
  73. and I do not expect anyone to have problems. I have no intention of
  74. supplying a PC board. I don't mind if someone else takes on that project as
  75. long as it is non-commercial. (If you are interested in a commercial design
  76. let me know, I would do many things differently if it were a high quantity
  77. commercial product. This design is bent in the direction of ease of
  78. duplication with no special parts.)
  79.  
  80. There are four additional files I will mention here. The mechanical
  81. description is in mechanical.doc. This includes the connector and board info
  82. and the chip socket locations. Some comments on construction are also
  83. included. The parts list is in parts.lst. The parts given will work.
  84. Substitutions are possible, but at your own risk. The schematic is in
  85. mem.sch and clock.sch (this section can be built at a later time.) This is
  86. not the most beautiful method of drawing schematics, but it allows this
  87. project to be electronically documented so it can reach a lot of people
  88. without the 10th generation xerox problem. The schematic files look best
  89. if printed at eight lines per inch.
  90.  
  91.