()()()()()()()()›› A 130XE-COMPATIBLE 256K ›UPGRADE FOR THE ATARI 800XL› ›by Claus Buchholz›› I designed the 256K upgrade ›described in my article, "The Quarter-Meg› Atari" (BYTE, September, 1985), in ›December, 1984. Since this predated the› 130XE, there was no precedent for ›extended memory on the XLs. I felt ›free to implement a system of eight 32K›banks. The major reason was to keep the› add-on circuit as simple as possible.› The 130XE, introduced in early ›1985, set a different standard for› bank-select memory. It uses 16K ›banks and makes them separately ›available to both the CPU and the video›controller (ANTIC). The XE has 128K ›total memory. The 64K extended RAM is›split into four 16K banks.› A 256K 800XL has 192K extended ›RAM, which requires 12 16K banks. I›have designed a new upgrade for the›800XL that implements such a scheme.›Its similarity to the 130XE's scheme ›allows use of software for the XE on ›a 256K 800XL.› To select one of four banks, ›the XE uses two bits, #2 and #3, in the› memory control register (port B of ›the 6520 PIA, addressed at $D301 or ›54017 decimal). Zeroing bit #4 makes›the selected bank appear at addresses› $4000-$7FFF (16384 to 32767 ›decimal), as seen by the CPU. Zeroing ›bit #5 makes it appear there as seen by›ANTIC.› In my upgrade, bits #2, #3, #5 ›and #6 select one of the twelve banks.› Zeroing bit #4 makes the selected ›bank appear at $4000-$7FFF to both the›CPU and ANTIC. So, any program for the ›XE that uses the extended RAM for CPU› storage will work on an 800XL with ›this mod. Those programs won't use the› additional 128K, though. Programs ›that use the video banking feature of ›the XE might run on the modified XL,›but the screen display will be wrong.› The procedure for this upgrade ›is basically the same as in the›article, except for the following›points. If your ANTIC (U7) part number›is CO21697, use the circuit described›by the first connection list below. If›it is CO12296, include the circuit in›the second list. The circuit requires ›five connections to the PIA (U23). So, ›pins 12 through 16 must be bent up ›and connected to the circuit. The rest ›of the procedure is the same. Notice ›that this circuit has one more chip›than the article's circuit. This is the›price of compatibility.› With the 256K dynamic RAMs in ›your XL, be sure to wait at least ten› seconds after turning the computer ›off. Otherwise it may not coldstart› properly when you turn it back on.› My original RAMdisk software ›doesn't work with this new mod, so I ›have written a new version. It is used in the same way, except that it offers a choice of either two single-density ›RAMdisks or one double-density. If ›you wish a disk copy of the source and ›object code, send me a blank disk and› return mailer with full postage, and ›I will promptly send it back with the› software. Alternately, you may ›download the software from the ›Capitol Hill› Atari Owners' Society BBS at ›517-371-1106 or from the Castle ›Communications board at 517-371-4234.›The source file is called QMEGXLD.SRC for Quater-MEG XL Double.› Also available is a RAMdisk ›program that sets up one single-density› RAMdisk and leaves the XE-equivalent ›banks free for XE software. This is› quite useful with BASIC XE, DOS 2.5, ›or the new Synapse software. Its name› is QMEGXLS.SRC.› I ask one thing in return for ›this information: Please pass it ›around to all your interested friends.›Put it in your club's library or on›your favorite BBS. Encouraging software››support of 256K will result in many› interesting uses for it. Thank you ›and enjoy!›› DEFINITION OF MEMORY CONTROL ›REGISTER AT $D301 (54017 DECIMAL)›› XL MOD 130XE›› bit: 7 6 5 4 3 2 1 0 bit: 7 ›6 5 4 3 2 1 0› D a b E c d B R D V C ›x y B R›› D=0 enables diagnostic ROM D=0 ›enables diagnostic ROM› B=0 enables BASIC ROM B=0 enables ›BASIC ROM› R=1 enables OS ROM R=1 enables OS ›ROM› E=0 enables extended RAM V=0 ›enables extended RAM for video› abcd is 4-bit extended RAM bank # ›C=0 enables extended RAM for CPU› - ranges from 4 to 15 xy is ›2-bit extended RAM bank #› - banks 12 to 15 are ›equivalent - ranges from 0 to 3› to XE's banks 0 to 3›› ›PARTS LIST›› 8 41256 256K-bit dynamic RAM ›(200ns or less)› 1 74LS153 Dual 4-to-1 ›multiplexer (IC2)› 1 74LS139 Dual 2-to-4 decoder ›(IC3)› 1 - 33 ohm, 1/4 watt resistor›› ADDITIONAL ›PARTS FOR ANTIC #CO12296›› 1 74LS158 Quad inverting 2-to-1 ›multiplexer (IC4)› 1 74LS393 Dual 4-bit counter ›(IC5)›› LIST OF CONNECTIONS ›FOR THE UPGRADE CIRCUIT›› Instead of a drawing of the ›upgrade circuit, below is a list of› connections. Each entry in the list ›begins with the name of the signal› followed by all the IC pins that ›connect together and share the ›signal.› IC3-13 means pin 13 of IC3. The IC ›numbers appear in the parts list ›above.› IC1 is the 74LS158 chip from socket ›U27 on the XL motherboard. DIP is the› DIP header to be plugged into socket ›U27. U23-xx refers to the pins you ›bend› up on the PIA chip at U23 on the ›motherboard.›› Vcc : DIP-16, IC1-16, IC2-16, ›IC3-16, IC3-13› Vss : DIP-8, IC1-8, IC2-8, ›IC2-1, IC2-15, IC3-8› A7 : DIP-11, IC2-10, IC2-11› A15 : DIP-10, IC2-13, IC3-3› A6 : DIP-14, IC2-6, IC2-5› A14 : DIP-13, IC2-3, IC3-2› MUX : DIP-1, IC1-1, IC2-2› A4 : DIP-2, IC1-2› A12 : DIP-3, IC1-3› RA4 : IC1-4, DIP-4› A5 : DIP-5, IC1-5›› A13 : DIP-6, IC1-6› RA5 : IC1-7, DIP-7› -E : DIP-15, IC1-15› RA7 : IC2-9, DIP-9› RA6 : IC2-7, DIP-12› PB2 : U23-12, IC2-4› PB3 : U23-13, IC2-12› PB4 : U23-14, IC3-1› PB5 : U23-15, IC1-10› PB6 : U23-16, IC1-11› -Zd : IC1-9, IC3-14› -O1a : IC3-5, IC3-15, IC2-14› -O2b : IC3-10, One side of ›resistor› RA8 : Other side of resistor, ›Pin 1 of all RAMs›› If your U7 part number is ›CO12296, do not connect signal A7 ›above, and› make the following additional ›connections. The connection to U7 is ›to a› trace on the motherboard that runs ›from pin 8 of U7.›› Vcc : DIP-16, IC4-16, IC5-14, ›IC4-3› Vss : DIP-8, IC4-8, IC4-2, ›IC4-15, IC5-7, IC5-2, IC5-12› A7 : DIP-11, IC4-6› -REF : U7-8, IC4-1› REF : IC4-4, IC5-1› A7' : IC4-7, IC2-10, IC2-11› Q7 : IC5-8, IC4-5› Q3 : IC5-6, IC5-13››JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ›JJJJJJJJJJJJJJJ