Jump to content
CharlesMouse

Coleco ADAM RAM Expansion options - Advice please

Recommended Posts

To test the 1MB memory expander that you built and designed from scratch. Use File Manager that comes with the Virtual ADAM microSD Floppy Emulator. File Manager works with memory expanders up to 2MB in size and the onscreen main menu well inform you if the entire 1MB of memory is recognized. If the main menu does not show 1MB in File Manager then there is something wrong with the memory expander or the jumper cable between slot 2 and 3 is not connected. Try reading and writing a 1.44MB disk image that uses the entire 1.44MB of space. If you successfully make a backup copy of of the 1.44MB disk image then the 1MB memory expander is working correctly as a copy buffer. However one other test that needs to be ran is to load a dedicated program that accesses the 64K memory expander like Walter’s Software EOS 9 boot program for Project Name by Line. That program well not run at all if there is anything wrong with the 64K portion of any memory expander. I have seen 64K, 256K, 512K, and 1MB memory expanders that work perfectly as a copy buffer, however when it comes time to use a program like Project Name by Line that was loaded from Walters EOS 9 boot program the program crashes and does not run since the memory expander is not working correctly as an actual memory expander and only working as a copy buffer. Walter Software did also have some programs that used the entire 1MB or larger memory expander as instant ram disk.

Edited by HDTV1080P

Share this post


Link to post
Share on other sites

Hello all, yet another progress update:

 

So having given a replacement 4048 the correct power my ADAM boots without complaint. In theory that's 1Mb of RAM, but how to test it?

Since you piggyback an extra 64K of Expansion RAM directly on the ADAM Logic Board, I am thinking that there may be conflicts with any Memory Expander that you install in Slot #3. I seem to recall that up to 128K of Expansion RAM does not need the additional Memory Addressor option provided by a Slot #2 card.

 

Unless you found a work around to the Memory Addressing issue, any size Expansion RAM card that you install in Slot #3 will only be recognized as a 64K M.E, so that is all you will be able to test. There are Expansion RAM test utilities available on the ADAM Archive: www.adamarchive.org

 

You could also load ADAMCalc (printer buffer) and CP/M (ramdisk drive M), but that will pickup your piggybacked expansion RAM.

 

If you have the Memory Addressing issue resolved, then yes, a program like File Manager v3.0 can be used to see if things are working properly as HDTV1080 stated.

 

Eric Pearson wrote an Expansion RAM test utility...

RAMTEST v2.0 (2018) (Eric Pearson).dsk

Share this post


Link to post
Share on other sites

One thing to consider for the final design, I was just reminded of watching one of the EEVBLOG videos. You should tie unused inputs on the 7404 either high or low, whatever is convenient for the pin. If you leave it floating, it probably won't cause any functional problems, but may draw extra power, since it could leave the output totems in a semi-conductive state. By giving the inputs a definite level, you ensure that one of the output transistors will be off so that you don't create a parasitic load between VCC and GND.

Share this post


Link to post
Share on other sites

@NIAD & ChildOfCv:

Once again my thanks, I appreciate it.

 

Hmm,

I kind-of hoped I could leave the piggy-back mod in place as it's hopefully just a duplicate now, unless I do get conflicts. But if detecting more than 64k is an issue I'm not going to be able to verify my ram board with it in place. Thanks for the .dsk image and advice.

 

Hmm,

Parasitic loads? I'm well used to that as there's two cats, two rabbits, two chinchillas, and a leopard gecko in the house. Not to mention the constant chirping from crickets that have escaped the gecko... Let my menagerie serve as a warning to all those with daughters - any answer other than a consistent "absolutely not" will be interpreted as a "yes" followed by wife and daughter making yet another trip to the pet shop...

...I've been threatening for a while to lock all the pets in one room together until only one is left standing, maybe wife and daughter too - my money would be on our tom cat which would be fine by me.

 

er, back on topic - I tend to be a bit slap-dash with my designs and at this moment I can't remember if I did anything with the spare pins, I'll check. As it happens for once I did at least go for a good smattering of decoupling caps given the ADAM's flaky reputation.

I quite enjoy EEVBLOG although a lot of the more in-depth stuff is over my head.

Edited by CharlesMouse

Share this post


Link to post
Share on other sites

News:

 

Having taken the plunge and deactivated my piggy-back RAM, tested it's really gone, and plugged in my RAM card + flying IORQ lead, it's hard to know if I should be pleased or frustrated:

 

-ADAMCalc reports the extra 64k. Good but I don't think it ever reports more

 

So... no disaster but is 64k all I've got?

 

-Try File Manager 3 - 96k buffer... Hmm, I was hoping for more

 

-Try a CP/M RAM test, RAMTEST 2.0 - one block of expansion RAM detected

 

I guess no 1mb then. :-(

 

-As far as I can tell there are no other errors in my schematic

-The bank select logic looks good, unless I misinterpreted how the MIB2 GAL works that I based it on

-I have my IORQ line jumper in the right place, as opposed to MIB card mode

-I wondered if a lack of shielding / grounding on my IORQ lead might be an issue but the card works the same (seemingly 64k only) with or without it

-As I'm getting something at least one of my RAM ic's is functioning so I should have 256k, or at worst 128k, showing up...

 

...so that brings me back to thinking there's an error in my logic somewhere.

 

Any thoughts would be appreciated.

 

PS

Another thought is the 1mb RAM board design I cribbed from had a bunch of LS157s along with the ADAM's MUX line and B2/3 from the LS175 to drive a bunch of 30pin SIPPs. As I was intending to use 256k static RAMs I didn't see the point in retaining any of that so I ditched it. In the process of doing so have I disabled bank-switching?

MI_1MBRAM_Discrete Logic Version Schematic.pdf

post-35234-0-44107700-1556994167_thumb.png

Edited by CharlesMouse

Share this post


Link to post
Share on other sites

All the Coleco based software that recognizes Expansion RAM only supports 64K. So no matter what size Memory Expander you have installed, AdamCalc will only show the 64K icon during loading.

 

File Manager should show a much larger copy buffer.

 

I would guess this is due to no Memory Addressor via a Slot #2 card?

  • Like 1

Share this post


Link to post
Share on other sites

NIAD is correct the original Coleco ADAM software designed between 1983 to 1985 only uses up to 64K of a memory expander. The reason for this is Coleco’s orginial memory expander that sold for $99.99 in retail stores was only 64K. Coleco stopped making videogames and comptuer systems in January 1985 and perhaps if they would have stayed in the market they might have produced larger expanders.

 

All the 256k, 512k, 1MB, and 2MB memory expanders for the ADAM are third party memory expanders. File Manager has a small copy buffer even without a memory expander. If File Manager is showing a 96k copy buffer that means File Manager only sees a 64k size memory expander. You need to use a MIB3 card or other card that has a memory addressor that attaches a wire between slot number 2 and slot number 3 the memory expander for there to be a potential to use more than 64k. No one has every designed a 256k to 2MB memory expander that has a built in addressor in slot number 3 (and it might not be possible), 100% of the time 256k to 2MB memory expanders for the ADAM act as 64K memory expanders when no address card is plugged into slot number 2.

 

For example when I use the 1MB memory expander it acts as a 64K memory expander when the jumper wire to the slot number 2 is not connected. As soon as I connect the jumper wire between slot number 2 card and slot number 3 memory expander, File Manager copy buffer jumps from 96k to the full 1024k.

Edited by HDTV1080P

Share this post


Link to post
Share on other sites

Once again thanks for the advice, I do appreciate it.

 

I wonder if I can get away with using the same picture twice?

 

mistakesdemotivator_grande.jpeg?v=141677

 

It turns out there's nothing wrong with the basic plan, it's just I've been a doofus... again!

 

There are four banking lines B0-B3, I have forgotten to hook up B2 & B3. *sigh*

 

So, I disconnected A13 & A14 from each RAM chip, ran some kynar from those to the B2 & B3 pins on the LS175 and ran RAM test 2.0 and...

 

-16 banks of 64k (1024k) detected and all are working! Hurrah!

 

-ADAMCalc still shows 64k - good, I didn't want that to stop working

 

-A CP/M RAM test shows 4 banks of expansion RAM... is that right?

 

-PowerPAINT made me jump, again! Reports 256k... is that right?

 

-> I note these last two report the same thing so it's my hope that that's just the max supported RAM in CP/M on the ADAM and PowerPAINT

 

-File Manager 3.0 reports a buffer size of 342k... which seems like a bit of a funny number to me

 

 

So...

That's certainly progress: RAMTest 2.0 reports the whole 1024k and the other proggies report a good chunk more than 64k... I just don't know if I still have a problem or those are expected results for that software

 

Thoughts?

 

PS

The added bonus is that means I did understand how MIB did their decoding with a GAL and (with help) have successfully redone that in TTL... which means I have higher hopes for my 80 column card... so I plugged it in!

 

No magic smoke, no complaints - good! MIB's driver software didn't fall over - excellent!

 

I'm still waiting on some parts to finish it and I've no idea how to enable 80 column mode in CP/M or TDOS so that's news so far.

Share this post


Link to post
Share on other sites

Certain programs only use 256K or 512K of a memory expander since the programmer of the program designed it that way. If the RAMtest 2.0 reports the full 1024k then it sounds like the memory expander might be working correctly.

In File Manager there is a menu option to use all the memory banks or only certain memory banks. If you change that option to use the entire memory expander then File Manger should see the full 1024K.

Edited by HDTV1080P

Share this post


Link to post
Share on other sites

Certain programs only use 256K or 512K of a memory expander since the programmer of the program designed it that way. If the RAMtest 2.0 reports the full 1024k then it sounds like the memory expander might be working correctly.

In File Manager there is a menu option to use all the memory banks or only certain memory banks. If you change that option to use the entire memory expander then File Manger should see the full 1024K.

 

Thanks again, that's encouraging.

I'll go fiddle with File Manager a bit more... In the meantime I've updated my schematic to reflect the changes along with my PCB layout. See attached.

 

The question is do I send this fixed version of my board off to Seed so I can construct a prettier version? For the moment I'll live with my patched card - it seems to be working and kind-of matches the ADAM aesthetic.

 

 

For those following along at home feel free to make your own. I do have the odd spare PCB for the current version but that will need a few patch wires to be functional so sending off the gerbers to a fab house (I think Seeed is pretty fab but there are plenty out there) would be a better option.

 

Any further advice or suggestions do let me know. For info this design has a jumper setting so if you already have a left or middle slot card that supports the required patch-wire for large RAM cards mine will work with those, but it doesn't need one. Put the jumper in the other position and hook up the patch-wire to a convenient IORQ line and you're good to go:

-Pin 7 Slot J7

-Pin 12 Slot J6

-South end of R68 (to the left of the middle slot)

As it happens I've got an IDE card in the left-hand slot and there's a handy via with IORQ on it just above the GAL so I soldered a female turn-pin header to that and my patch-wire attaches with a male version.

post-35234-0-48588000-1557008184_thumb.png

Coleco_1Mb_RAM_v4_107x64.zip

Edited by CharlesMouse

Share this post


Link to post
Share on other sites

If a third party company every started making 2MB memory expanders for the ADAM computer for resale, I would be interested in buying one. Of course, it most likely would need to be FCC certified since all electronics in the USA now have FCC certification. Even full size and micro SDHC and SDXC cards have FCC certification and CE safety certification for Europe. Of course the ADAM computer was only offered in North America as a native NTSC computer system and was UL certified. However, UL is an optional certification for the United States and is not required.

Share this post


Link to post
Share on other sites

You should note that page-savvy programs are going to expect 64K per page. You can map it in halves, either the upper or lower 32K get mapped.

 

It is also important to note that there is no sure way for a system to know how much RAM it has. It will likely just set a page, then poke a value into memory and see if it reads the same value back, and if so, then yay there's memory on that page.

 

With those two items in mind, it will decide how much expansion memory you have as number of responding pages * 64K.

Share this post


Link to post
Share on other sites

O

So, I disconnected A13 & A14 from each RAM chip, ran some kynar from those to the B2 & B3 pins on the LS175 and ran RAM test 2.0 and...

 

-16 banks of 64k (1024k) detected and all are working! Hurrah!

 

-ADAMCalc still shows 64k - good, I didn't want that to stop working

 

-A CP/M RAM test shows 4 banks of expansion RAM... is that right?

 

-PowerPAINT made me jump, again! Reports 256k... is that right?

 

-> I note these last two report the same thing so it's my hope that that's just the max supported RAM in CP/M on the ADAM and PowerPAINT

 

-File Manager 3.0 reports a buffer size of 342k... which seems like a bit of a funny number to me

 

 

So...

That's certainly progress: RAMTest 2.0 reports the whole 1024k and the other proggies report a good chunk more than 64k... I just don't know if I still have a problem or those are expected results for that software

 

Thoughts?

Congrats on figuring things out and getting the full 1,024K of Expansion RAM recognized. I looked back and saw how you are handling the memory addressing, so sorry about bringing up a Slot #2 Interface Card solution.

 

- ADAMCalc... the Expansion RAM only functions as a print buffer, so the 64K icon displayed on bootup is the only means to know it was recognized and available.

 

- CP/M... hmm, it should only recognize 64K of Expansion RAM which will give you a Drive M: ramdrive of 55K even if you have a larger Memory Expander. Are you using T-DOS or perhaps have a patched version of CP/M that was put together by Orphanware/Ron Collins.

 

- PowerPAINT.... IIRC there was a bug in the detection of larger Memory Expanders and 256K was the most that would be reported and or accessible. Digital Express released a SmartBasic patch program to address the issue and I think it is listed in their newsletter (PDFs available on Joe Blenkle's website), but I think the most that it will report or can use is up to 512K of Expansion RAM. I tested in ADAMem with expansion RAM set to 1,024K and a 512K icon was displayed as well as the RamDrive size set to 394K with the rest of expansion RAM up to 512K used for the workspace. So to make a long story short, 512K of Expansion RAM is the most that is accessible with PowerPAINT. However, I need to test out the heavily patched version that was released by Rich Drushel to see if he addressed this issue.

 

- File Manager... that one is odd. FM settings allows for Ignoring, using 1 Bank or using All of Expansion RAM.

 

Did you let Eric's RAMtest program test all 65,535 bits of each of the 16 64K banks and if so, were there any issues reported?

Share this post


Link to post
Share on other sites

If a third party company every started making 2MB memory expanders for the ADAM computer for resale, I would be interested in buying one. Of course, it most likely would need to be FCC certified since all electronics in the USA now have FCC certification. Even full size and micro SDHC and SDXC cards have FCC certification and CE safety certification for Europe. Of course the ADAM computer was only offered in North America as a native NTSC computer system and was UL certified. However, UL is an optional certification for the United States and is not required.

Really? Why? To add more expense to what is a Homebrew project.

Share this post


Link to post
Share on other sites

Really? Why? To add more expense to what is a Homebrew project.

If someone was just making a memory expander for themselves then of course no FCC logo is needed. However in the 21st Century if this was going to be mass produced and offered to the big ADAM dealers like ADAM House, then FCC certification might be needed. I would need to look into the rules, but today even something as small as a microSD card has FCC for USA and CE for Europe.

 

The company that made the Col USB plug mentioned that there product could not even be sold in Europe unless it had CE safety certification. The Col USB plug also has FCC certification for USA.

 

I would be interested in purchasing a 1MB or 2MB memory expander. Non of the third party 80's Memory expanders every had any certifications. I think the original Coleco 64k memory expander might have been UL listed, I know the Coleco ADAM went threw some FCC testing and that is one of the reasons why later versions of the ADAM shipped with some special sleeves to reduce EMI/RFI interference to maintain its FCC status when additional items are connected.

Edited by HDTV1080P

Share this post


Link to post
Share on other sites

Hi chaps,

I'm certainly glad my RAM board is seemingly working, I really appreciate the help and interest - thank you!

 

On the subject of Eric's RAMTest program (thank you) I did let it run it's course and it reported everything as good, including my VRAM which is good to know. Dare I say a very nice bit of software - not only does it do the job but the results couldn't be more plain and I appreciate a bit of code that keeps you informed as to what it's doing.

 

The CP/M RAM test I used claims to be 2.2. It's one of the two attached, I'll need to see which one I put on my SD card.

 

 

On the subject of production and all that goes with it I hope I'm not about to cause disappointment, some encouragement:

-I went for 1mb as that was doable for my current skill level. But I believe the ADAM can support truly silly amounts of RAM so maybe some time I'll shoot for the maximum... because

-It's generally not my intention to make for sale the stuff I come up with. Partly because I'm in it for the fun of designing the parts but also because my projects often rely on the generosity of people with existing commercial interests - I don't want to get a reputation for repaying kindness with competition...

Having said that I'll occasionally sell spare boards or fully made-up devices on eBay to help fund my habit and I am happy do discuss individual requests for constructed boards, but I'm not keen to find myself with a kitchen-table production run on my hands.

-Unless (very rarely) stated otherwise I'm completely happy for others to whatever they want with my projects. That includes making and selling, although I'd appreciate being credited for the design.

-I try to post full details on everything I've done by way of a thank you and contribution - I do remember it took me a long time just to get round to using a soldering iron for anything more than repairs and even longer before I took the plunge with designing my own boards: Eagle is frankly a total SOB to learn, but I stuck with it because it's the de-facto standard. But here's the good news:

If you have a .zip file containing the Gerber files for a board you're interested in getting boards made is actually really easy and reasonably cheap. To go through the process I use with Seeed:

https://www.seeedstudio.com/fusion_pcb.html?utm_source=bing&utm_medium=cpc&utm_campaign=PCB%20Search%20-%20产品词&utm_term=fusion%20seeed&utm_content=Fusion%20PCB

 

-Upload the Gerber .zip file

-Fill in the board dimensions (my gerbers zips usually have that as part of the file name but Seeed will often fill that in for you or there's a useful proggie called Gerber Logix)

-Decide how may boards you want (I tend to go for 5-10 depending on how the numbers work as most of the cost usually comes down to shipping so why not have spares)

-Leave everything else on the defaults and place your order. About 7-14 days a nice little package will arrive.

 

There's plenty of fab houses out there, OSHPark is very popular, but I'd advise whichever one you go for google what other's have said:

-Some fab houses make some pretty cr*p boards

-A lot of fab houses aren't set up for hobbyists and are either a pain to deal with or are really expensive for small runs

 

 

Once again thank you all for your help and interest, I really appreciate it. Two down (Game pad and Memory board) two to go (AY sound board and 80 column board)... at least until I can think of something else to try.

RAMTest (198x) (AJM Software).dsk

RAMTest (CPM).dsk

Edited by CharlesMouse

Share this post


Link to post
Share on other sites

Nice work :)

I tend to do my own home made boards for my projects, even double-sided ones. It's quite a pain and the results are questionable at best, but for me it's all part of the tinkering experience!

I use a program called Circuit Wizard which is an all-in-one tool with electrical and PCB design as well as SPICE simulation. It was designed for the educational market, so it's limited, and the parts library is tiny and no longer being updated, although you can make your own minus simulation. On the up side it's super easy and intuitive to use.

Share this post


Link to post
Share on other sites

Thank you

 

I've done a bit of PCB fabrication myself. Lots of fun, but not always fantastic results and for some reason my wife doesn't like me putting ferric chloride in the cooking pans - no idea why! icon_biggrin.gif

For me, these days, it tends to get relegated to circuits more involved than I can get away with the old dead-bug technique but not so involved that I get a lot of failures - double-sided boards being a good example for me.

 

There are a good few very good design packages out there, nearly all nicer to use than Eagle. I hadn't heard of Circuit Wizard, I shall have to have a fiddle. I'm afraid Eagle got my vote for the worst of reasons - because it's ubiquitous.

Edited by CharlesMouse

Share this post


Link to post
Share on other sites

I once made my own small PCB, but I used the sponge method. Pour some FC on a sponge and then start wiping the board down. It does a surprisingly good job of wearing away the copper without too much spill, and you don't contaminate your remaining FC with copper or use up containers.

Share this post


Link to post
Share on other sites

I just checked and Circuit Wizard is no longer for sale to individuals, only institutions. There is a student version but it's crippled.

Not sure why that strategy makes any sense at all... At any rate one cannot beat free, so they probably would not get much business from hobbyists anyway.

Share this post


Link to post
Share on other sites

Doing it all with one chip vs 4 will save some space, for sure.

 

Now, with A15 still ignored, you'll still see that the upper and lower 32K of any page are actually the same memory. You'd have to have A15-A0 connected directly and use only B0-B2 for page inputs to get memory properly mapped. As is, you'll probably still see memory tests reporting that you added 1MB of memory when you only used a 512K chip.

 

Well, actually, because there's no shutoff for out of range pages, a truly naive memory counter will report 16MB of memory, because the same 512K will be mirrored as 1MB, 16 times. Fortunately, nobody even believes that size of memory is possible and even the most woke will still end its search at 2MB.

 

Otherwise, it does appear that it will work.

Share this post


Link to post
Share on other sites

Oh, knickers!

 

Yet another mistake, and the same mistake in what I thought was a working 1mb design. I'm not doing very well here am I?

 

Oh-well. I'm glad you spotted it, time to do some re-jigging.

Thank you yet again

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...