Internal ram upgrade to 640k

Nagging hardware related question? Post here!
User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Internal ram upgrade to 640k

Postby gertk » Sat Aug 24, 2013 5:36 pm

This is what I have come up with so far:

An internal upgrade occupying the vacant ROM socket after moving both ROMs into one (and including the TKII). The ram chip is an 512k x 8 low power SRAM and the glue logic is done with a GAL 20V8
The GAL chip is mounted on a piece of Veroboard which is soldered to the 4 extra pins of the SRAM which then is put into the ROM socket with its remaining 28 pins to keep the low profile.

Good news: it works.. well almost perfect. The signal generated for the DSMCL line is very 'touchy'. You can not connect the oscilloscope's probe to it without the QL crashing. I used the /DS line as strobe for the various output signals but mayby /AS is better as it is more constant/longer. /DTACK is also generated from /DS combined with some address logic. No need for delays here as the SRAM is 55ns

The GAL also generates the inverted ;) select signal for the EPROM which is OK now.

The pictures show the initial trials, I will try to find some of the signals closer to the GAL chip so the long cables can be shortened.

small_2013-08-24 08.08.57.jpg
512k SRAM with accompanying GAL chip


small_2013-08-24 00.27.41.jpg
Using FREE_MEM to show amount of free RAM


User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Re: Internal ram upgrade to 640k

Postby gertk » Sat Aug 24, 2013 9:14 pm

Much better now:

Updated the GAL logic so /AS and /DS are both used and corrected the polarity of DSMCL output :o Both /DTACK and DSMCL are programmed to be Tri-State (floating) when not active. Created one pin to reflect the validity of the memory range and used that to enable the output of /DTACK and DSMCL signals from the GAL

Now PRINT FREE_MEM results in 600064 bytes after reset. Is this the correct value for a QL with 640k (JS ROM and TKII Ver. 2.20 in TV mode) :?:


User avatar
vanpeebles
Commissario Pebbli
Posts: 2589
Joined: Sat Nov 20, 2010 7:13 pm
Location: North East UK

Re: Internal ram upgrade to 640k

Postby vanpeebles » Sat Aug 24, 2013 9:37 pm

It would be interesting to see if you get a speed boost from that ram. Impressive work too! :ugeek:


User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Re: Internal ram upgrade to 640k

Postby gertk » Sun Aug 25, 2013 9:43 am

vanpeebles wrote:It would be interesting to see if you get a speed boost from that ram. Impressive work too! :ugeek:


Thanks :)

As far as I can tell from the circuit, the rom socket's data and address lines are connected directly to the 68008 so it should run at full speed. DTACK is directly generated from AS, DS and the right combination of A19 and A18 delayed only by the GAL (2 x 20 ns).

I will post the GAL logic equations here.

Gert


User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Re: Internal ram upgrade to 640k

Postby gertk » Sun Aug 25, 2013 6:55 pm

The GAL logic equations:

Code: Select all

%ID
   QL512K

%TYP
   GAL20V8

%PINS
   ' 1   2   3   4   5    6    7            8     9    10    11
   NC NC NC NC NC /AS ROMOEH /DS /WR A18 A19
   /OE NC /RAMCE /RAMOE /RAMWE /ROMCE VALID NC DSMCL /DTACK NC
   ' 13  14  15         16         17          18         19      20  21       22        23

%LOGIC
  ' VALID is active in the memory range $40000-$BFFFF
  VALID =     !A19 *  A18 * DS * AS
        + A19 * !A18 * DS * AS;
          
  ' ROMCE is inverted ROMOEH
  ROMCE = ROMOEH ;
  ROMCE.OE = OE ;
           
  ' RAMCE is active on memory range $40000-$BFFFF
  RAMCE = VALID ;
  RAMCE.OE = OE ;
       
  ' RAMOE is active on read
  RAMOE = !WR ;
  RAMOE.OE = OE ;
 
  ' RAMWE is active on write
  RAMWE = WR ;
  RAMWE.OE = OE ;
 
  ' DTACK is active on RAM memory range and DS plus AS
  DTACK = OE ;
  DTACK.OE = VALID ;
     
  ' DSMCL disables the internal decoder of QL on our memory range
  DSMCL = OE ;   
  DSMCL.OE = VALID ;
   
%END


Note: the level on which the inputs and outputs are active is defined in the PINS
section. So /ROMCE means it is active low. DTACK and DSMCL signal levels are fixed, only the Tri-State output enable is activated.


QLObi
ROM Dongle
Posts: 41
Joined: Wed Mar 20, 2013 9:15 pm
Location: Germany Köln

Re: Internal ram upgrade to 640k

Postby QLObi » Mon Aug 26, 2013 8:26 am

Hi gertk,
good work !!!
What type is the SRAM?
Can you publish the compiled equations as jedec? I don't have a GAL compiler, but i am able to burn jedec's into GAL's.

QlOBI


User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Re: Internal ram upgrade to 640k

Postby gertk » Mon Aug 26, 2013 9:05 pm

The SRAM is the: AS6C4008-55PCN RS part # 744-4561
GAL type is 20V8 but it will fit into a 16V8

Have to check if I can extract the Jedec file from my compiler (MGP on Atari TT)
Last edited by gertk on Tue Aug 27, 2013 7:40 pm, edited 1 time in total.


User avatar
gertk
Hardware Hero
Posts: 41
Joined: Mon Aug 19, 2013 10:00 pm

Re: Internal ram upgrade to 640k

Postby gertk » Tue Aug 27, 2013 7:36 pm

This is the JEDEC file I exported from MGP

Code: Select all


Datei: QL512K
Erzeugt mit MGP 16/20 V2.0.*

L0000
1111111111111111110111111111111111111111
1111111111111111111111111111111111111110
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111110111111111111111111111
1111111111111111111111111111111111111110
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111111111
1111111111111111101111111011111101111011
1111111111111111101111111011111110110111
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111111110
1111111111111111111101111111111111111111
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111111110
1111111111111111111111111111101111111111
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111111110
1111111111111111111111111111011111111111
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111111110
1111111111111111110111111111111111111111
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000*
L2560
01110000*
L2568
0101000101001100001101010011000100110010010010110000000011111111*
L2632
11111111*
L2640
1111111111111111111111111111111111111111111111111111111111111111*
L2704
1*
L2705
1*
C5447*



QLObi
ROM Dongle
Posts: 41
Joined: Wed Mar 20, 2013 9:15 pm
Location: Germany Köln

Re: Internal ram upgrade to 640k

Postby QLObi » Wed Aug 28, 2013 12:46 pm

Danke !


User avatar
belg4rion67
Trump Card
Posts: 189
Joined: Sun Feb 20, 2011 6:15 pm
Location: Milan - Italy

Re: Internal ram upgrade to 640k

Postby belg4rion67 » Wed Aug 28, 2013 9:25 pm

Hi guy, very impressive work! Could you prepare an electrical drawing about your brilliant expansion kit so we can replicate it ? (if is it possible obviously!!) I promise to print your copyright on pcb :)
T&hanks in advance
Paolo


Only original hardware! :)

Who is online

Users browsing this forum: No registered users and 16 guests