CoCoZilla Page NoCan3 Page NoCan2 Page Bottom Connector Page MPI Clone Page IDEZilla Page Pocket IDE Page 512K Schematic, BIG 828 x 1114. MFM HardDrive Page 4MHZ Page PLCC 6309 Page
Make a NitrOS-9 Boot Disk. NoCan3 Information Page Address Selection Page Pocket IDE Photos 4MHz PCB Page
Frequently Asked Questions NoCan3 Circuit Board Page NoCan2 PCB Page IDE PCB Page
I2C Page NoCan3 Jumpers Page NoCan2 Jumpers Page IDE CHS Driver Page
Update Your 26-3024 MPI for CoCo-3 Use Auto-Refresh No Excuses List IDE LBA Driver Page
HiDensity Modifications HiDensity Mod Text FIle
NoCan3 with I2C Bus Bart GIF Page Get the 26-3024 UpGrade GAL MPI 26-3124 UpGrade Page Back to the Thumbnail Page

64 Mega-Bytes of CPU Memory Storage.
16MB Pix. Shows the first modification, 16MB.
64MB Pix. Shows the second modification, 64MB.


I am looking for quads of these type of simms, just like these pictures above.
8 chips making 16MB on a single-sided 72-pin simm.
Or, 32MB using 16 of these chips on one 72-pin simm.
EDO or FastPage types, both work.


Remember this is only a theory, and may not even work, but then it may, and that's why it is being pursued.


Here is another version of the NoCan series, a 32MB/64MB interface.  That's right, 32 or 64 Mega-Bytes. Let's see, that is around 8 to 16 of the 4MB 30-pin type simms.  Kinda overkill if you ask me <really big grin here>.  So far there is only 16MB installed, to test this theory.  Four each 4MB simms giving two banks of 8MB.
 

64MB was chosen only because the currently used CPLD ran out of pins.  A larger CPLD version could do up to 512MB, this would use all 8 bits of the block $FF8x.



Oct 17, 2001 - 64MB board, is now working.  Am considering using 32MB simms, two each for the total.   There's now two setups, one 64MB and one 32MB.


Oct 3, 2001 - Working on a second setup, a 64MB board, which is a modified/converted (read "butchered up") 2MB NoCan2 board.


Sept 20, 2001 - 72-pin simms are now used. Made a 32MB plug-in.  After fixing "several" wiring errors, it booted RSDOS.

The simm type is 4MB x 32 bits, 8 chips per simm.  These have the same DRAM chips that are on the 30-pin simms, ie 4mb x 4 bits, I think these are called 16MB simms. This way 64mb will fit in four each 72 pin simm slots.  This must be done in pairs as the 72-pin simm -WR strobe is common to the whole simm.  Two simms are needed for a coco-3, -WE0 and -WE1.  Each pair would then give 32MB.



Sept 17, 2001 - It seems to work and passes a machine code memory test.
A rommed "MTEST" has been implemented, and takes about 7 minutes to run and test most of all 16MB.  It has been placed in the disk 1.1 rom at $D8D0, since $D8D0 to $DEFF is unused.
At test end, test locations were examined and reported $08, $4000.  This means that all memory locations have been tested from $01 through $07 in the sram, using memory from $4000 to $6000.


Sept 5, 2001 - Booted NitrOS-9  to make sure that the 2MB stuff stillworks, it does.  Reports 1944 free, this is normal for my setup.


The 2MB interface still exists and can be used as before, no changes there.  The register at $FF9B has only two bits there, for video.  The bits at $FFA0-$FFAF, D6 and D7 still go to the original SRAM and out to memory as before.

Here's what goes on. A block of SRAM (16 addresses by 8 bits) from $FF80 to $FF8F is write only.  It is read back by the system as $FFA0 to $FFAF.  So, for each $FFAx memory block, there's a corresponding $FF8x location to update.

For instance, let's say that you want to use another block of the 32/64MB at $FFA2.  You do the appropriate 2MB setup, like before, then do the $FF82 setup additionally.  Order of writing to $FF8x or $FFAx is not important or required.

Has no video access, cpu memory only.  This is the one that is currently used, and being tested.
Anytime a $FFAx register is selected, the corresponding $FF8x location must be used, ie. (x) nibbles must match.
for any access to $FFA0, use $FF80
for any access to $FFA1, use $FF81
for any access to $FFA2, use $FF82
for any access to $FFA3, use $FF83
for any access to $FFA4, use $FF84
for any access to $FFA5, use $FF85
for any access to $FFA6, use $FF86
for any access to $FFA7, use $FF87
for any access to $FFA8, use $FF88
for any access to $FFA9, use $FF89
for any access to $FFAA, use $FF8A
for any access to $FFAB, use $FF8B
for any access to $FFAC, use $FF8C
for any access to $FFAD, use $FF8D
for any access to $FFAE, use $FF8E
for any access to $FFAF, use $FF8F
 
Here is a table of the 16 SRAM locations
that are sync'd with the block at $FFAX.

21AA-AAAA are the 2meg, 1meg, All-original bits.
xxxP-PPCC are the new extended addressing bits.

Address Bits Address Bits
$FF80 xxxP-PPCC $FFA0 21AA-AAAA
$FF81 xxxP-PPCC $FFA1 21AA-AAAA
$FF82 xxxP-PPCC $FFA2 21AA-AAAA
$FF83 xxxP-PPCC $FFA3 21AA-AAAA
$FF84 xxxP-PPCC $FFA4 21AA-AAAA
$FF85 xxxP-PPCC $FFA5 21AA-AAAA
$FF86 xxxP-PPCC $FFA6 21AA-AAAA
$FF87 xxxP-PPCC $FFA7 21AA-AAAA
$FF88 xxxP-PPCC $FFA8 21AA-AAAA
$FF89 xxxP-PPCC $FFA9 21AA-AAAA
$FF8A xxxP-PPCC $FFAA 21AA-AAAA
$FF8B xxxP-PPCC $FFAB 21AA-AAAA
$FF8C xxxP-PPCC $FFAC 21AA-AAAA
$FF8D xxxP-PPCC $FFAD 21AA-AAAA
$FF8E xxxP-PPCC $FFAE 21AA-AAAA
$FF8F xxxP-PPCC $FFAF 21AA-AAAA

Each SRAM location has 5 bits for use.
Bits 0 and 1 are cpu bits within an 8MB block.
    These are used to run address leg A10 on the DRAMS.
Bits 2, 3 and 4 are bank select bits.
    These are used to run an internal 74138 from original -CAS
    to -CAS0...-CAS7.  If only 32MB is wanted, this eliminates
    bit 4 and the third sram.
Bits 5, 6 and 7 are not yet used. (128/256/512MB??? <g>)
    Am testing a mode which may put two video bits at Bits 6 & 7,
    to compliment the two Bits 0 & 1.
 
64MB:
Using an internal 74138:

                   !---------!
  -CAS ---------- o! G     0 !o---- -CAS0  8MB, page 1.
                   !       1 !o---- -CAS1  8MB, page 2.
  SRAM.2 ----------! A     2 !o---- -CAS2  8MB. page 3.
  SRAM.3 ----------! B     3 !o---- -CAS3  8MB, page 4.
  SRAM.4 ----------! C     4 !o---- -CAS4  8MB, page 5.
                   !       5 !o---- -CAS5  8MB, page 6.
                   !       6 !o---- -CAS6  8MB, page 7.
                   !       7 !o---- -CAS7  8MB, page 8.
                   !---------!
========================================================
32MB:

                   !---------!
  -CAS ---------- o! G     0 !o---- -CAS0  8MB, page 1.
                   !       1 !o---- -CAS1  8MB, page 2.
  SRAM.2 ----------! A     2 !o---- -CAS2  8MB. page 3.
  SRAM.3 ----------! B     3 !o---- -CAS3  8MB, page 4.
  GND -------------! C     4 !o---- x
                   !       5 !o---- x
                   !       6 !o---- x
                   !       7 !o---- x
                   !---------!
 

========================================================

Internal MUX A10 generation:

             !---!
  SRAM.0 ----!   !
             !   !---------- A10 on every SIMM.
  SRAM.1 ----!   !
             !---!
               !
  RAS/CAS -----/
  SWITCH ADDRESS LEGS, MUX.



Full Image, JPEG image 768 x 512 pixels.
This is the setup for memory being tested.  The NoCan3 with it's 16MB simm plug-in.  The additional sram attached to the top edge.  Items to be seen are the coco-3 rom in a PLCC package.  This rom has been modified to clear out all locations of $FF8x on power-up, this is needed, just after $8C1B is a patch for this.  Also, on the disk plug-in is another PLCC rom, this one has the "MTEST" software.  The GIME is a non-A part.  Next willl be a plug-in with 2 each 72-pin simms giving 32MB, then later 4 each 72-pin simms giving 64MB.

Oh yes, that plug-in, it's an experimental hand-wired "stock" floppy controller.  It uses a WD2793 chip.  I was trying to do hi-density with that board.  The cable: a cut-off portion of an old IBM PC board, cut down to 40 pins, has square pins installed to match a shortened 40-pin (IDE) cable. Gives gold fingers for reliability.  I just looked for IBM-PC boards that had all holes for all fingers and cut accordingly.



Close Up, JPEG image 665 x 327 pixels.
This is a closer look at the modified NoCan3 board.  The angled 30-pin simm sockets were removed and square pin sockets were soldered in their place.  Kinda like the 512K memory board expansion sockets, the white ones.

Adapter for SIMMS only, GIF image 734 x 939 pixels.
Here is the "adapter" schematic.
This shows how the 2 each 72-pin simms were converted to a dual 30-pin simm footprint.
Mentally you need to connect all similar "net names" on the sheet, even if they aren't directly connected by "wires".

Memory Map, GIF image 1437 x 912 pixels.
Here is the memory map.  It is a really big GIF image 1437 x 912 pixels.  It shows how the memory is organized.
If you suspect or find any errors, holler back.

Using only the $FF8X bits allows a user to page through memory in 32 pages (64MB) of 2MB each page, or 16 pages (32MB) of 2MB each page. So, for a 32MB upgrade, users could have as many as 16 pages of 2MB available in a single $FFAX + $FF8X page.  For instance, this gives 8192 pages of $4000-$6000.
Address bits for reaching into any block of the 32/64MB uses the bits as follows: $FFAX + $FF8X.  For each $FFAX page the corresponding $FF8X page extends the addressing by 5 more bits.  So now there are 8 + 5 bits for each and every $FFAX + $FF8X page.
Back to Top.



Sorry for the pix quality and focus. In my haste to get them out, they are kinda fuzzy.
Full View, GIF image 984 x 498 pixels.
OK. Here's a pix of the whole 64MB. Click on the small pix to get larger ones.
It shows a NoCan3B modified to accept an simm adapter.
This simm adapter plugs into what used to be a dual-angled 30-pin simm socket, converted to dual-sipp style.
Unused pins (read "cut free") bring in the 7 more -CAS  signals.
The green header, at the bottom edge of the board having 2 wires, brings in HSYNC and VSYNC for the CBR refresh.
Bottom View of Adapter, GIF image 910 x 621 pixels.
Here's a shot of the bottom side of the "adapter". It has been cut out from an old unused PC motherboard. Hey, why not!
Some heavy +5 and GND wires along with a strip of hot glue holds the holey board and this piece of motherboard together.
Not quite in focus are the square pins in a dual row, mounted on the holey board, that plug into the sipp connectors on the NoCan board.
The two sram's, seen at the back on another piece of holey board, is the 16x8 sram at $FF8X.
The DAT sram for the original 2MB stuff is seen just to the left of the Lattice CPLD chip, dip16-74F189.
The SMD chip to the left of that 74F189, is a delay line for the mux, controlling the RAS/CAS address line switching.
SMD chips to the left of the CPU are address line buffers. What can't be seen is the SMD R/W buffer just to the right of the CPU.
Oh yes, all SMD chips are hand-soldered, too.
Close up top view of Adapter, GIF image 974 x 531 pixels.
Here's the top view of that "adapter". Not much to see. Just shows that it was indeed cut from a PC motherboard.


This page updated: 2006/03/02 (yyyy/mm/dd)

Back to Top. 1