🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari
Article #1771

256K 800XL Lives (Part III)

#1771
From: Bob Burch
Date: Tue, 17 Dec 1985 03:10
154 lines
7654 bytes
This article has been passed down from CompuServe.  It is a modification of
the original circuit appearing in "The Quarter-Meg Atari" by Claus Buchholz
in BYTE of 9/85.
=============================================================================

	      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

==============================================================
End of Article.  Thanks, Claus.
Technical Details
Message-ID: <481@imsvax.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!elsie!imsvax!bob

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site imsvax.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!elsie!imsvax!bob
From: bob@imsvax.UUCP (Bob Burch)
Newsgroups: net.micro.atari
Subject: 256K 800XL Lives (Part III)
Message-ID: <481@imsvax.UUCP>
Date: Mon, 16-Dec-85 22:10:41 EST
Article-I.D.: imsvax.481
Posted: Mon Dec 16 22:10:41 1985
Date-Received: Thu, 19-Dec-85 04:25:52 EST
Organization: IMS Inc, Rockville MD
Lines: 154