ArduinoAm29F010

Change of README.txt

28:deaef57647e7
README.txt
     1.1 --- a/README.txt	Sun Aug 09 01:10:40 2015 +0200
     1.2 +++ b/README.txt	Sun Aug 09 19:08:15 2015 +0200
     1.3 @@ -42,8 +42,13 @@
     1.4  
     1.5  Issuing read commands permits the testing of addresses in the device:
     1.6  
     1.7 -R0000 (reads from the first location, 0x0000, residing in sector 0)
     1.8 -R7fff (reads from the final location, 0x7fff, residing in sector 3)
     1.9 +        location    sector
    1.10 +R0000   0x0000      0       (the first location in the device)
    1.11 +R00000  0x0000      0       (all 17 address bits indicated)
    1.12 +R7fff   0x7fff      1       (the final location in sector 1)
    1.13 +R07fff  0x7fff      1       (all 17 address bits indicated)
    1.14 +R10000  0x10000     4       (the first location in sector 4)
    1.15 +R1ffff  0x1ffff     7       (the final location in the device)
    1.16  
    1.17  Uploading and Testing Images
    1.18  ----------------------------
    1.19 @@ -78,11 +83,12 @@
    1.20  -----------------
    1.21  
    1.22  Each sector is 16 kilobytes long, which corresponds to a 14-bit address range
    1.23 -(0x0000 to 0x3FFF). The Arduino interface described below supports 16-bit
    1.24 -addressing (A0...A15), permitting access to four sectors (at 0x0000, 0x4000,
    1.25 -0x8000 and 0xC000), leaving A16 grounded and thus not accessing the upper four
    1.26 -sectors in the device. However, A16 could be connected to VCC to access the
    1.27 -upper four sectors.
    1.28 +(0x0000 to 0x3FFF). The Arduino interface described below supports 17-bit
    1.29 +addressing (A0...A16), permitting access to eight sectors (at 0x0000, 0x4000,
    1.30 +0x8000, 0xC000, 0x10000, 0x14000, 0x18000 and 0x1C000). The simple mapping from
    1.31 +a ROM cartridge to the device leaves A16 grounded and thus unable to access the
    1.32 +upper four sectors in the device. However, A16 could be connected to VCC to
    1.33 +access the upper four sectors.
    1.34  
    1.35  Device Compatibility
    1.36  ====================
    1.37 @@ -209,18 +215,18 @@
    1.38  Arduino Interfacing
    1.39  ===================
    1.40  
    1.41 -Arduino can employ at most 14 digital pins, whereas the Am29F010B requires 17
    1.42 -address pins, 8 data pins, plus 3 control pins to be utilised.
    1.43 +Arduino can employ at most 14 digital pins (plus 5 switchable analogue pins),
    1.44 +whereas the Am29F010B requires 17 address pins, 8 data pins, plus 3 control
    1.45 +pins to be utilised.
    1.46  
    1.47  One solution is to map the 3 control pins directly to the Arduino, then to
    1.48 -channel address and data via 8 common pins to latches, and then employ the
    1.49 -remaining pins to control the latches.
    1.50 +channel address and data via 8 common pins to latches, and then employ two
    1.51 +remaining pins to control the latches. When neither latch is selected, the
    1.52 +data pins will be used to read or write data from the flash memory.
    1.53  
    1.54 -Two pins can be used to select the latches, and when neither latch is
    1.55 -selected, the data pins will be used to read or write data from the flash
    1.56 -memory.
    1.57 -
    1.58 -As a result, only 13 pins are needed on the Arduino.
    1.59 +In this scheme, A16 must be directly controlled by an additional pin, separate
    1.60 +from the latch-based mechanism. As a result, only 14 pins are needed on the
    1.61 +Arduino.
    1.62  
    1.63  74HC273 Pinout
    1.64  --------------
    1.65 @@ -267,7 +273,7 @@
    1.66                          Q5          A13
    1.67                          Q6          A14
    1.68                          Q7          A15
    1.69 -GND                                 A16 (not used)
    1.70 +A2                                  A16
    1.71  5V          MR#         MR#
    1.72  5V          VCC         VCC         VCC
    1.73  GND         GND         GND         VSS
    1.74 @@ -279,6 +285,7 @@
    1.75  74HC273 #1 D[7...0] = A[7...0]
    1.76  74HC273 #1 CP = 0; 74HC273 #2 CP = 1
    1.77  74HC273 #2 D[7...0] = A[15...8]
    1.78 +Am29F010 A16 = A[16]
    1.79  
    1.80  Write Data
    1.81  ----------