|
* TinkerDifferent *
Retro Computing Community |
| Home | Forums | What's New | Search | Settings |
| Breaking the 36MB RAM limit on the LCIII |
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jun 8, 2022 - #41
|
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jul 6, 2022 - #42
@max1zzz forgot where I posted the new pic of the SIMMexpander with active components, but here are a couple from the iFrog collection. Still haven't found that dang project box. Found a this juicy bit of the docs in it though:
Four single or double sided 72pin SIMMs, I'll bet you're correct in your guess that the logic is decoding and generating additional RAS lines.
|
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jul 7, 2022 - #43
@max1zzz wondering about how much memory the Q605/475 might address using one of these puppies without jumpering Bank A to a better version? Got a guess? Can't get to anything to give it a whirl any time soon.
|
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 7, 2022 - #44
I might of missed the answer to this while going through all the replies, but yeah, can't we just hook up the two lines to the existing 72-pin simm socket? |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 7, 2022 - #45
If you guys want I could ask Chris at Memory Masters if he can make more 128MB 72-pin 5V FPM simms so you don't have to do all these crazy back flips to get a higher capacity 72-pin memory stick.
|
|
max1zzz Moderator -------- Joined: Sep 23, 2021 Posts: 269 Likes: 673 |
Jul 7, 2022 - #46
I think what I am going to end up doing is creating a custom 4 bank SIMM for the LCIII, unfortunately my fancy simm riser did not work (I'm guessing the wires are just too long and create timing issues) and although I like the idea of creating a more universal solution I think getting something that can actually fit in a pizzabox case without creating timing issues is going to be more or less impossible |
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jul 7, 2022 - #47
HRMMM? Doubtful that you'd have any timing issues at all cropping up? That's a unified 25MHz system bus, so only a ridiculous amount of latency from buffer or active components could be problematic? Traces could be a meter long on that clock I think. Maybe capacitance issues? Try isolating and then hardwiring VCC to your SIMM riser? I'll put a shiny nickel on power being the issue. ;)
SIMMexpander was produced and used thru the NuBus PPC era on buses up to 33.6MHz as I understand it? Copyright date on mine is 1995, which puts it smack into that freq. on the system bus and 110MHz on the proc/memory bus from 1994's 8100/110 release, no? |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 8, 2022 - #48
This might be a dumb question since my visualization of how 72-pin simm slots are wired is not very clear, but is there any way to modify the existing slot to make it so a 128MB simm would be recognized as 64MB? From what I understand 1 of the address lines is missing so that already cuts the potential capacity of a ram stick in half from 128MB to 64MB. What's preventing the existing socket from recognizing 64MB stick or half of a 128MB stick?
|
|
max1zzz Moderator -------- Joined: Sep 23, 2021 Posts: 269 Likes: 673 |
Jul 8, 2022 - #49
So I have enever been able to wrap my head around the maths, but my understanding i is that you need 11 address lines to fully address a 16MB bank (x2 banks on the simm for 32MB) and you need 12 to fully address 64MB (x2 banks on the simm for 64MB). I could be totally wrong though so if anyone with a better understanding of the maths wants to correct me please do!
|
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jul 8, 2022 - #50
Not maths I think? Seems a nomenclature kinda thing. You may be mixing computer numbers (binary) up with IRL decimals?
You need to have A11 implemented to address 64MB. That makes A0-A11, twelve address lines. Diagram is from the everlasting SIMMspender hack aimed at torquing Bank A of the IIsi into supporting a full 64MB as in Bank A of the MDU based IIci. The three bold lines are n.c. from MDU to Bank A on the logic board and so need bodge wiring. Dunno how this looks in schematics of your LCIII or my Q605/Q630 targets at present, but gut says it may be the same setup? IIsi schematic looks like Bank A may be wired up to support 8MB out of the box. A0-A10 = addressing for 2MB RAS0 + RAS2 = 4 Rows at 2MB each = 2MB x 4 Rows = 8MB edit: don't think that's the way Row Address Strobing works though. ISTR it being an EITHER/OR kinda thing? That would make 4MB supported in 2 Rows of traces to the buffered 1MB Vampire Video IIsi setup. While only 1MB is implemented, pads might support 4MB? That's incredibly simplistic and fails to account for the function of Column Address Strobes. Haven't gotten that far yet, guessed I don't need to? Maybe @trag can find time to error check my notions and explain the function of CAS0-3. My Neanderthaler brain sees them as Strobing which bits are needed from the word accessed and where to look on the X axis of the memory Rows Strobed on the Y axis of the XY grid of memory? I've ignored that, methinks of the RAS/Address as supply lines in a plumbing diagram, don't need to visualize the branch lines for my purposes? Gut tells me that there's confusion arising from the unfortunate use of the word Bank on SIMMs as opposed to memory Banks A and B on the machines I've looked into. In an MDU based system, CAS/RAS lines for Bank A and Bank B are discrete connections on that Memory Decoder Unit. I see the Banks of SIMMs on the Logic Boards as if they were two discrete fields on the farm that is the memory map in MDU Macs. Here's my view of the problem on the IIsi which is I think, what you're facing in the LCIII? Like I always try to explain, my brain doesn't grok schematic, boards are plumbing blueprints for electrons as above. I hope the diagram helps visual folks like myself? Sorry the color coding hasn't been fixed in this first revision, it's the only one I have available at present. RAS lines look like they may be wrong*** but may get the notion across? *** ISTR breaking the unified light blue RAS line in the diagram into the two RAS lines implemented in later revisions. I've got a crazy complicated plumbing blueprint for turning the four 30pin SIMMs of Bank B into a single 72pin SIMM available in PDF, but won't post it unless you really wanna see it @max1zzz that sucker makes me crosseyed! :rolleyes:
Liked by -SE40- |
|
trag Tinkerer -------- Joined: Oct 25, 2021 Posts: 303 Likes: 151 |
Jul 8, 2022 - #51
First of all, on a 72-pin SIMM, 32 bits/4bytes are addressed at a time. So each address provides 32bit or 4 bytes of storage capacity. Address lines are multiplexed which is a fancy way of saying they're used twice. The first part of the address is sent while the Row Address Strobe (RAS) is active and the second part of the address is sent on the same pins, but this time the Column Address Strobe (CAS) is active. 11 address lines gives 2 X 11 = 22 bits of address. 12 address lines gives 2 X 12 = 24 bits of address. Some diagrams, unfortunately, label them A1 - A12 instead of A0 - A11, so exercise caution when reading documentation. 24 bits of address gives 2^24 => 16M of unique addresses. Coming back to the special case of the 72-pin SIMM. 16M addresses, each of which addresses 4 bytes of storage gives 16M X 4bytes => 64 Megabytes of storage capacity. So each unique RAS line can address up to 64MB of storage, provided all 12 address lines are implemented. In theory, the CAS lines should just correspond to the RAS lines, but from what I've seen regarding how SIMMs are wired, they are used to allow byte masking. "Masking" is a fancy term for taking/delivering only part of a dataword. So if I have words that are 32 bits in length, and I only want bits 0 - 7, then I mask 8 - 31 so I don't read/write them. I'm not sure whether the Mac ever uses this ability to of the memory to do partial reads/writes of the SIMMs. In brief, if you have four RAS lines and four CAS lines, each RAS will go to all the chips in a single bank of memory. An example will be easier to understand, so let's assume we have four SIMM sockets and each socket has a single bank of RAM with it's own unique RAS line. So RAS 0 => Bank/SIMM 0 (remember, in this case it's 1 bank per SIMM so they're the same) RAS 1 => Bank/SIMM 1 RAS 2 => Bank/SIMM 2 RAS 3 => Bank/SIMM 3. and one could do the CAS lines similarly if all you ever wanted to do was read the entirety of the chosen Bank/SIMM. But what they do instead is: CAS0 => 1st Byte in BANK/SIMM 0 - 3 CAS1 => 2nd Byte in BANK/SIMM 0 - 3 CAS2 => 3rd Byte in BANK/SIMM 0 - 3 CAS3 => 4th Byte in BANK/SIMM 0 - 3 Now, to read all of Bank 1, a 32 bit wide, 72-pin SIMM, you would use RAS 1, and all four of CAS0 - 3. But if you only want the fourth byte on Bank/SIMM 2, then you would use RAS 2 and only CAS 3. ============================================ The word Bank does get used in multiple ways unfortunately. When I use it regarding 72 - pin SIMMs it always means a group of memory chips sharing a single RAS connection. There are 4 unique RAS pins on the 72-pin SIMM specification. So, in theory, there could be up to four banks on single 72-pin SIMM. On Macs, in most cases, there are one or two unique RAS lines to each SIMM and those RAS lines drive four or two of the RAS pins (respectively) on the SIMM socket. (Note: I haven't checked, but I'm pretty sure the Q605/LC/P475/476 has four unique RAS lines to its single SIMM socket because I was able to use a SIMM doubler to address two 128 MB SIMMs (64MB/Bank X 2 per SIMM => Four total 64 MB banks) in that machine.) For DDR[n] memory, indivdual memory chips have multiple "Banks" and additional control lines for selecting them, so the term BANK gets even more messy. Liked by alxlab |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 8, 2022 - #52
I found a great webpage that I think answers all the questions I had regarding the wiring of 30-pin and 72-pin simms in a clear way:
https://www.retrotechnology.com/herbs_stuff/mac_banked_mem.txt
Part of the confusion I had was the from my loose definition of bank which I saw sometimes used interchangeably to refer to a memory stick. On top of that the correct term for what most people refer to a memory bank is actually supposed to be called memory rank now. I think this had a pretty thorough explanation: https://www.digikey.ca/Site/Global/Layouts/DownloadPdf.ashx?pdfUrl=EE33DF78203D4692B71894E732852EA4 So for a 72-pin simm which is 32-bit, a rank would consist of a group of memory chips with the a total of 32 data lines. Ok so now with all that clarified and with my current understanding are the following statements correct? -Each memory rank is connected to a RAS line on the LC III memory controller. -The LC III has 5 RAS lines. -1 RAS line is connected to soldered memory rank on the logic board. -2 RAS lines are connected to the existing memory socket (2 ranks). -2 RAS lines are disconnected and could potentially be connected to another memory socket (2 ranks). -Since there's only 11 address lines it's likely only 2K ram is supported by the memory controller of the LC III unless the 12th address line is also there but disconnected. According to the developer doc for the LC III the memory map is defined for 36MB only. Seems to work for @max1zzz outside of that though. [Image: 1657311721041.png] The developer notes also shows A10 as not connected but that must be wrong or else you wouldn't be able to use 32MB simms. [Image: 1657311858313.png] I also found this interesting: "At system startup, the boot code determines the amount of RAM installed in all banks and then sets a RAM configuration register in Sonora." Wonder what kind of configurations the Sonora chip supports. Couldn't find any dev notes on it though.
Liked by trag |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 8, 2022 - #53
I think these two pages were pretty good to give some insight into how SIMMs are wired and work:
https://www.cs.umd.edu/users/meesh/...s/ramguide/system/Web.htm#What is main memory https://www.pjrc.com/tech/mp3/simm/datasheet.html |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 8, 2022 - #54
Hey wait a second @trag! Are you the the same trag as the trag mentioned on that site?
"The thread started in 2001. "trag" who is/was a "Guru Moderator", responded on date 12-08-2010, 12:15 PM, as follows." That would be quite to coincidence :D |
|
trag Tinkerer -------- Joined: Oct 25, 2021 Posts: 303 Likes: 151 |
Jul 8, 2022 - #55
Heh, I wrote that posting at MacGurus. I was a moderator there a long time ago. I actually still had moderator privileges on their forums until they took them down. There was so much excellent information in those forums.... Sigh. I'm glad that posting was preserved at least. You gotta love Herb. I also wrote a few tomes on the architecture of the X500 PCI Macs. That's probably gone forever. Liked by alxlab |
|
trag Tinkerer -------- Joined: Oct 25, 2021 Posts: 303 Likes: 151 |
Jul 8, 2022 - #56
Been using this handle since the 90s... |
|
alxlab Active Tinkerer -------- Joined: Sep 23, 2021 Posts: 293 Likes: 323 |
Jul 8, 2022 - #57
Well I'm glad it was preserved. It basically had all the information I was looking for with explanations unlike useless stuff like this from wikipedia:
It's like waaa..... how did you come up with 2 to the power of 27???? If you don't mind I think I'll make a copy of that memory information and post it on my website as another copy.
|
|
trag Tinkerer -------- Joined: Oct 25, 2021 Posts: 303 Likes: 151 |
Jul 8, 2022 - #58
It's more than okay with me. I'm glad to see it preserved. MacGurus might have a copyright depending on the terms of their forums, but I doubt they'll notice and they probably wouldn't mind anyway. |
|
Kai Robinson TinkerDifferent Board President 2023 Worthing, UK -------- Joined: Sep 2, 2021 Posts: 1,322 Likes: 1,313 |
Jul 8, 2022 - #59
Repost here by all means in the resources section, or in a thread that can be stickied :)
|
|
Trash80toG4 Active Tinkerer Bermuda Triangle, NC USA -------- Joined: Apr 1, 2022 Posts: 1,131 Likes: 329 |
Jul 9, 2022 - #60
One review question: I have a suspicion that we figured that addressing two 32MB 72pin SIMMs from a bank of four 30pin SIMMs was the way to go for converting something like the SE/30 or IIsi over to 72pin SIMMs? 64MB SIMMs was not the way to go? Do you remember offhand? So, so long ago, sigh! :oops: edit: curious about how that jibes with setup of extra SIMMs in LCIII and Q605, not off topic exactly. Seems like all one big can-o-worms to me. |
| << First | < Prev | Page 3 of 8 | Next > | Last >> |
| Home | Forums | What's New | Search | Bookmarks | RSS | Original | Settings |
| XenForo Retro Proxy by TinkerDifferent.com |