56K DRAM Card for Apple-1 wanted / needed / any interest ?

18 posts / 0 new
Last post
Offline
Last seen: 17 hours 26 min ago
Joined: Apr 1 2020 - 16:46
Posts: 983
56K DRAM Card for Apple-1 wanted / needed / any interest ?

Hi fans -

I've been in search of a way to increase the RAM of the Apple-1 to a useful amout I need for testing more complex software (currently under development) on it. Emulators like POM can't help as my work involves some extra peripherals not being emulated.

 

It's not easy to add robust RAM to the Apple-1 due to the quirkyness of its bus timing. Woz did not use the PHI1, PHI2 signals offered by the 6502 but chose to make "fake" PHI1, PHI2 signals with TTL logic. This may have been the stumbling stone which back in the mid 1970s made Chuck Peddle furious, leading to Mr. Peddle claiming that Woz had no idea about proper microcomputer design (or along these lines). But this is another story. Fact is, MOS Technology and all epigones who produced 6502's put out elaborate "Application Information" pamphlets which showed how it's supposed to be done the "right" way: using PHI2 from the 6502 to gate / time all peripheral and memory accesses. Woz ignored that advice. But IMHO he did know what he was doing as he did chose 480ns for the DRAM /CAS timing oneshot in the Apple-1 and you get this number only when taking the additional timing uncertainties caused by ignoring the "real" PHI1 and PHI2 into account. Was Woz a fool going against the 6502 manufacturer's recommendations ? Hmmm. I leave that judgement to you, dear reader.  But keep in mind, if you really work the numbers, you will find that the 6502 bus timing concept is fundamentally flawed and the issue gets worse with faster memories. It probably worked OK in the 1970s with the slower memories of the time being, but in the early 1980s the RAMs had gotten so fast that both Apple and Atari started to use custom ICs for the DRAM timing, based on the fast and accurate master clock in the machine. For Apple, it was the "MMU" seen in the Apple IIe and for Atari, it was the "Freddie" chip seen in their Atari XE lineup, which includes their XEGS video game console.

 

When I designed the DRAM card, I adopted these concepts, and derive all the DRAM timing from the precise 14.31818 MHz master clock. All PHI1, PHI2 signals are utterly ignored ("all" meaning both the "real" ones offered by the 6502 and the "fake" ones Woz made with TTL gates, as all of them are useless to generate robust memory access timing). I was able to cram the state machines comprising the DRAM controller into a 16R8 PAL (which was available in Y1978). For the development, I use GAL16V8 as the fuse link PALs are rare and very expensive, and can't be reprogrammed. This is how the "lab rat" looks:

 

 

It runs very robustly and without DRAM errors, for more than 48h now (it came alive this Saturday). So sorry, no more thorough and longer tests available yet. It seems that the only remaining issue to be solved is which signal conditioning circuit needs to be used to clean up the clock, which looks like that:

 

 

This rotten clock won't yield a robust system. Knowing about the problem with signal integrity on the Apple-1 bus, I put a "signal conditioner" plug-in on the card so I can change the circuit which cleans up the clock. The jury is still out if I can do it with passive circuits, or one IC, or two ICs.

 

If I could do it with one IC, such as a 74xx14 Schmitt Trigger, I could use an SMD and "hide" it below the PAL/GAL. Which would mean that a PCB for the DRAM expansion could be as small as the ACI. And it would plug into the edge connector, to keep the sole "slot" on the Apple-1 useful for a mass storage peripheral (the ACI or my planned Floppy Disk Controller card). This DRAM card would be small enough to fit into most enclosures made by individual builders. Hopefully so. The existence of tightly fitting custom enclosures for the Apple-1 is a big headache for anyone wanting to make expansion cards. Which, of course, must fit in ! And hindsight is 20:20 ;-)

 

No PCB layout has been made yet. I'd like to see your comments on this work. Would you want to have such a card ? Cost wise it would be below $50 (completely assembled and tested) if I could avoid a multilayer PCB. This, however, would need to route two signal traces between IC pins. No issue for modern PCB manufacturing, but maybe it would look wrong, who knows.

 

Technical summary: Apple-1 DRAM card based on two 64kx4 DRAMs. Robust crystal oscillator based timing. No adjustments. PAL/GAL can be configured to map the underlying DRAM into any combination of 4k banks (as far as product terms available allow). For the "lab rat" I have chosen to have additional 48 kBytes of RAM from $1000 to $BFFF. This is about as much as you can get. $Cxxx is already occupied by the ACI (and later, the Floppy Disk controller card). In this configuration, $0000-$0FFF and $E000-$EFFF is provided by the two 4k RAM banks on the motherboard. So the Apple-1 in this configuration has 56 kBytes of DRAM. However, for those maverick builders whose DRAM does not want to work, the DRAM card could also be configured to provide all memory by itself. You would just disable the wonky on-board DRAM by jumpering the "W" and "X" signals in the memory decoder patch board to "H". In any case you need to add a single wire on the backside of the Apple-1 motherboard to route the 14 MHz master clock to the 44-pin bus (via the usually uncommitted "S" chip select line in the 74154 patch field).

 

I think such a DRAM card with a small form factor might be useful enough to attract enough buyers to make layout and manufacturing of a small PCB production run economically viable. For myself, I only need one or two such cards and I won't layout a PCB for that quantity.

 

Comments invited !

 

- Uncle Bernie

Offline
Last seen: 17 hours 26 min ago
Joined: Apr 1 2020 - 16:46
Posts: 983
Addendum: some corrections to the useable amount of RAM

In post #1, the 56 kBytes number is wrong and when I spotted the mistake I could not edit the post anymore. The card has 64 kBytes but you can use no more than 56 kBytes of it, and only if you use the 4k slot reserved for the ACI, too. If you don't use the slot reserved for the ACI as DRAM area, you can have only 52 kBytes of  DRAM in total in the machine.  This is the configuration I mentioned where 44 kBytes come from the DRAM card and 2 x 4kBytes from the on-motherboard DRAMs. Any other DRAM configuration - even with 'holes' in the memory map is possible by modifying the PAL/GAL, as long as the limits given above are not exceeded. Sorry for the mistake. But the more computers we have, the less we need the skill to add numbers.

- Uncle Bernie

 

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
Would it be possible to use

Would it be possible to use an ACI or other card with this memory card?  If it fits in the slot connector then how would you connect the ACI?  Or would you make a memory card that plugged into the edge card instead?

 

Also, with this card using up essentially the entire address space, would it be possible to leave the 8K of RAM on the motherboard unpopulated?  Since getting/keeping the motherboard memory working is probably more difficult than your card and the motherboard chips are probably more expensive and harder to get, it could be an advantage.

 

My apologies if I'm asking stupid questions or I missed something in your posts that should have answered these questions.

 

 

 

Macintosh_nik's picture
Offline
Last seen: 6 hours 33 min ago
Joined: Jan 8 2021 - 05:18
Posts: 456
Hi Uncle Bernie!

More memory, more possibilities...   

In general, any additional expansion card is interesting. Especially since there aren't many cards for the Apple-1 that only use components from the mid to late 70's, so very interesting!

You write that the board will need to run two signal tracks between the IC pins. That's not a problem, the ACI card has those places, so don't let that bother you.

I can't pay $50 for a ready made card, but I can help make a gerber file.

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
I re-read the original post

I re-read the original post and noticed I had missed the answer to one of my questions...  the one about making it connect to the edge connector instead of going into the slot...  I think that would probably be a good idea.

 

Offline
Last seen: 17 hours 26 min ago
Joined: Apr 1 2020 - 16:46
Posts: 983
This DRAM card can replace all DRAM on the motherboard

In post #3, softwarejanitor wrote:

 

"Also, with this card using up essentially the entire address space, would it be possible to leave the 8K of RAM on the motherboard unpopulated?  Since getting/keeping the motherboard memory working is probably more difficult than your card and the motherboard chips are probably more expensive and harder to get, it could be an advantage. "

 

Uncle Bernie answers:

 

Yes, this is part of the spec for this DRAM card. Complete replacement of all DRAM on the motherboard. You can avoid the 16 x MK4027 and the 2 x 8T97, all of which get harder and harder to find and the prices are rising. From the numbers I have, the total cost for these ICs already is in the ballpark of the projected costs for the 56 kByte DRAM card, all parts included.

 

The "lab rat" seen in the photo of post #1 plugs into the sole slot of the Apple-1, but if I make a PCB, this will have a 44-pin connector and will plug into the edge connector of the Apple-1, leaving the slot free for the ACI or any other card. If I don't make a PCB due to lack of interest from the Apple-1 crowd, I will just solder two 44 pin connectors together back to back, and plug that contraption into the edge connector, and the wire wrapped DRAM lab rat into that contraption. Ugly and unwieldy, but I probably can do the work I need to do with such a mechanically wonky solution.

 

Having a PCB would be  nice, though. But I can't do this just for two people on the planet.

 

- Uncle Bernie

 

 

 

 

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
UncleBernie wrote:In post #3,
UncleBernie wrote:

In post #3, softwarejanitor wrote:

 

"Also, with this card using up essentially the entire address space, would it be possible to leave the 8K of RAM on the motherboard unpopulated?  Since getting/keeping the motherboard memory working is probably more difficult than your card and the motherboard chips are probably more expensive and harder to get, it could be an

 

I know it would be a bit more work...  but a combination EPROM/RAM card would be even more awesome...  with 4K for Woz's BASIC and the rest mapped for RAM.  Having the BASIC in ROM seems like a huge win as far as time savings.

 

But anyway it sounds like a great idea in general.  And there are a few people who might be capable and willing to help lay out a PCB if they were provided with enough technical information to do so.  I wish I was that far along.  I'm working on learning how to lay out PCBs and generate Gerbers for production using KiCAD, but it is going slowly so far.

 

 

 

Offline
Last seen: 1 week 3 days ago
Joined: Jul 14 2012 - 07:54
Posts: 109
Hi Bernie, I am interested in

Hi Bernie, I am interested in having a few of such memory cards and can help with the PCB gerber. Claudio's MicroSD card offers a total 36KB RAM (4K dedicated to Basic), and this card will offer even more memory 56KB RAM.

I think if it is designed to be compatible with ACI and include re-programmable ROM(s) to store some images and monitor, it will be more useful.

Just a question, I assume this card will make the voltage regulators even hotter? If so, should be ideally used with modification of power supply to DC?

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
NewtonMike wrote:Hi Bernie, I
NewtonMike wrote:

Hi Bernie, I am interested in having a few of such memory cards and can help with the PCB gerber. Claudio's MicroSD card offers a total 36KB RAM (4K dedicated to Basic), and this card will offer even more memory 56KB RAM.

I think if it is designed to be compatible with ACI and include re-programmable ROM(s) to store some images and monitor, it will be more useful.

Just a q

 

I'm not sure this would make the regulators hotter...  Look at the number of components...  If you omit the 16 old style DRAM chips from the mobo and the 8T97s...  That's a significant reduction in chips.  Things may actually run a lot cooler.

 

Uncle Bernie can probably give a much more accurate and detailed answer of course.

 

Offline
Last seen: 5 hours 6 min ago
Joined: May 4 2021 - 06:35
Posts: 169
Of course any interface

Of course any interface/expansion is welcome, especially if designed by UncleBernie! :-)

 

In my opinion though, changes in mapping should be possible without having to change/replace the PAL/GAL.

 

I don't think any binary or BASIC program needs more than $7FFF (32kB) RAM. The rest of the address space is, as already mentioned, divided among ACI/PIA/BASIC/WOZMON and (let's call it improperly "ROM space") used for the operation of the expansion cards themselves. 

Examples:

- Juke-Box has a configurable and elastic mapping that allocates 16 or 32kB of RAM by subtracting it from the ROM part (full mapping is in the documentation)

- microSD card allocates 32kB of RAM, its ROM space starts at $8000 and is 16kB wide, it also reserves space for the CIA ($A000).

- CFFA1 maps 32kB of RAM, plus 16kB of ROM from $9000, but also uses a portion of RAM at $8000 for its own management program, plus other partitions clearly described in the manual.

 

Juke-Box and microSD use the same type of SRAM (the classic 62256) and I can say that they work well and without errors, without having to reconfigure or add anything on the motherboard.

By means of jumpers it is also possible to modify the configuration to match the original Apple-1 configuration (8kB contiguous up to $1FFF, no BASIC, no ACI mapping) and allow the boards to be used without adding or modifying anything on the motherboard.

(These features are much appreciated by owners of original Apple-1, by the way).

 

Both can also operate in "RAM SUBSTITUTION" mode and take over the onboard RAM.

I could be wrong but I think the excellent CFFA1 is the only one that cannot replace the onboard RAM, besides needing a couple of extra connections in the 74154 area of the Apple-1.

 

In conclusion, and in my humble opinion, mapping all available address space as "RAM" can make mapping other devices you will eventually implement (the disk controller comes to mind) difficult and inconvenient... a little more flexibility in mapping would be highly desirable.

"Plan now so you won't regret it later" is my motto when doing these things.... :-)

 

Regards,

Claudio - P-LAB

 

 

 

 

macnoyd's picture
Offline
Last seen: 4 hours 44 min ago
Joined: Oct 15 2012 - 08:59
Posts: 854
UncleBernie, if you're gauging interest ...

UncleBernie, if you're gauging interest, then count me in.

Not sure of your count requirement, but I think there are several here that would be quite interested in this one.  Especially if it advances the possibility of adding a Disk Drive to the mix, which I think turns out to be the next step beyond additional memory.

Offline
Last seen: 3 months 1 day ago
Joined: Sep 4 2009 - 21:04
Posts: 127
On board memory can be selectively disabled with the VMA line.

 

https://www.youtube.com/watch?v=mPXJ1EYHrhw

 

Offline
Last seen: 17 hours 26 min ago
Joined: Apr 1 2020 - 16:46
Posts: 983
Some additional info / thoughts about this DRAM card project

Your comments on this thread are much appreciated, thanks to all commenters above !

 

Here is my response to the issues raised:

 

The GAL16V8 I'm using in the lab rat is tightly packed and there are no input pins left over. So there is no way to make the memory map configurable as long as a GAL16V8 is used. I could provide two GALs, one configured for adding memory in the range $1000 to $BFFF (for a total of 48 kByte lower RAM and 52 kBytes in the machine), and another GAL for "taking over" to provide all the possible RAM in the machine (48 kByte lower RAM, same as before, plus the 4k at $E000 to $EFFF for the Apple BASIC). Anyone who wants some other configuration would need to reprogram the GAL (equations will be made available) or, if lacking the software to make a new JEDEC file, or lacking a GAL programmer, ask me to make a custom version. I don't think I would be overwhelmed by this . . . all I need is takers for, say, 30 PCBs in total, from which I would keep maybe a dozen for myself.

This is about the lowest number of PCBs for a JLCPCB prototype run where the setup costs including shipping begin to make sense. Only then the PCB will be cheap (below $5). After that production run is gone, it would be gone, no more DRAM upgrades with this card. It would be a one-off production run. If it goes well, I'd make arrangements so the Apple-1 crowd could get more naked PCBs and the GALs. But these won't be hand-soldered by "Uncle Bernie" anymore.

 

I intend to fully assemble and test all these DRAM cards myself, to make sure they work on all of my different Apple-1. This is important for me - if any such fully tested card would fail later I'd know some weakness still is in the design and that I did not fully fix the Apple-1, which is my mission objective.

 

You can see this as yet another experiment of mine to fathom the quirkyness of the Apple-1 and its memory subsystem in particular. I think it's worth doing but I need takers who would want to pay for such a DRAM card and its postage, and to do some beta testing. Same story as with the "improved ACI" cards. I just need some real world testers as my own tests could be biased and sure will be incomplete. Oh, and all of my Apple-1 have my "reliability mods". Which should not affect the DRAM expansion card in any way, but who knows what happens when everything on the motherboard is still ringing and bouncing around like mad.

 

There is one option I could do, and this is to liberate the /RESET pin on the GAL to allow for two memory map selections. This might increase the risk of spurious writes to DRAM when RESET is pressed - the only way to interrupt a running program on the standard Apple-1. Any more options would need a 20V8 with more inputs. And I don't have enough of those. From the 16V8 I have a huge quantity. So I try to do all the programmable logic work I do with 16V8.

 

As for the alternative daughter cards mentioned by various people above (like p-lab), I of course know they do exist. But look at them. They are too large to fit in most handcrafted wooden enclosures made by Apple-1 builders. Actually, this space problem is what triggered my idea to make a very small DRAM card, but still using period correct looking ICs (despite GALs and 256 kbit DRAMs came 10 years later than the Apple-1, but I think it's a fair cheat) that would - hopefully - fit just between the Apple-1 motherboard edge connector and the back wall of those enclosures. Here is a mockup of the general idea:

 

 

And this is how it looks from the side:

 

It may look a bit weird but as far as I can see the trick with putting the ICs on the other side (in the mockup, the WW socket with an IC as a placeholder) would extend the depth of the Apple-1 motherboard not too much and unless the gap to the back wall of the enclosure is not too tight, it would fit ! (Of course the actual PCB would not be higher than the ACI card. I think it could be as small as the ACI, and leaving space for the audio plugs).

 

All too many people have already built a nice enclosure for their Apple-1, some of which really are marvelous, and now I'm scratching my head how to still fit in expansion cards like more RAM and the floppy disk controller. As they say, hindsight is 20:20. Another proverb is "painting oneself into a corner".

 

But what has been done has been done. Those enclosures have been built. So I need to design expansion cards which can be used with all but the tightest enclosures.

 

Oh, and please don't propose kludges like cutting an ugly slot into the back wall of the enclosure to attach some sort of expansion box to the edge connector. I saw many such mechanically unsound contraptions with 1970s and 1980s era microcomputers, and all suck bigly: the terrible TRS-80 model 1 expansion box, Atari 1064 DRAM expansion box, Sinclair ZX-81 16 kByte memory expansion, etc., etc., all of them wonky and ugly and much hated by their owners. The Sinclair one probably was the worst, as the typing on the ZX-81 made its contact springs move, causing unpredictable memory loss, and it never worked reliably.

 

I do not want to have any such non-solution on any Apple-1 I furnish expansion cards for. It would only cause trouble, frustration, and loss of RQLT. I don't want the 'Woz experience' he had with the Apple-1 back in the day. As the story goes, the occurences of phone calls from Apple-1 users seeking help got so bad that they decided to 'buy them back'. This, of course, it part of the myth and why the originals now fetch six figures at auction, if not even a million and more.

 

Now you know what I'm up to.

 

Comments invited !

 

macnoyd's picture
Offline
Last seen: 4 hours 44 min ago
Joined: Oct 15 2012 - 08:59
Posts: 854
I like your idea of keeping the board small...

I like your idea of keeping the board small enough to fit inside Apple 1 enclosures.  Totally on-board with that.  Also with keeping the "retro look" of the board itself.

Given the mechanical layout of the board and connector, you don't have to worry about plugging the board in backwards, so all bases are covered regarding components to both sides of the board.

Doing a little math ... you say your build quantity wound be 30, and you want to keep "a dozen or so" for yourself, bringing the sell yield down to 18 or less.

That said, I'd like to get 2 from you, so you need about 15 folks interested.  Less, in the event some buy more than one, which is quite likely.

I understand your desire to pre-build all these boards, but in my case, it wouldn't be necessary if you're willing to actually let me build it.  You've seen my work in past posts here and it would save you unnecessary build time while letting me enjoy the build process.  Something to think about if you're willing. (I have all required equipment)

But given these would likely be a first run limited production board, folks who buy would need to know the risks.  For me personally, it's worth the risk simply to advance the project.  Others will likely feel this way as well.

Just thinking out loud...

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
It was not uncommon back in

It was not uncommon back in the day to see the Timex/Sinclair ZX-81 memory expansion held on by things like duct tape or other such jerry-rigged solutions.

 

 

Offline
Last seen: 5 months 1 week ago
Joined: Mar 1 2019 - 04:38
Posts: 115
Did anyone ever 'use the new

Did anyone ever 'use the new 16k chips' when they came available as suggested in the Apple advert to upgrade to 32k on board ?

 

I assume it would have been the 4116's, what would the modification be ?

 

Would need a bit of modification. A6 would need to be routed to pin 13 and then W connected to ANDed CS0 to CS3 and X to ANDed CS4 to CS7 and use RAS/CAS to 'select' the chips ?

Offline
Last seen: 4 days 14 hours ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
Gary C wrote:Did anyone ever
Gary C wrote:

Did anyone ever 'use the new 16k chips' when they came available as suggested in the Apple advert to upgrade to 32k on board ?

 

I assume it would have been the 4116's, what would the modification be ?

 

Would need a bit of modification. A6 would need to be routed to pin 13 and then W connected to ANDed CS0 to CS3 and X to ANDed CS4 to CS7 and use RAS/CAS to 's

 

Mods to use 4116 have been mentioned here a few times but I don't recall anyone ever having a really successful pattern to follow.  I suspect if it was available that there would be at least a few that would be using it.

 

Offline
Last seen: 17 hours 26 min ago
Joined: Apr 1 2020 - 16:46
Posts: 983
About the pitfalls of on-board Apple-1 DRAM expansions

In post #17, softwarejanitor wrote:

 

"Mods to use 4116 have been mentioned here a few times but I don't recall anyone ever having a really successful pattern to follow."

 

Uncle Bernie comments / warns:

 

Several schematics for mods to the Apple-1 for 16kx1 DRAMs float around, I tried them all, and all did almost work. Even with my 'reliability mods' present the test programs showed occasional memory errors. Another drawback of these known mods is that they add additional ICs in the 'prototype row' of the Apple-1, which does not look nice. The 'mess of wires' on the solder side of the PCB even looks worse, but is normally out of sight.

 

So I tried to develop my own 16k RAM chip mod which only adds one IC, a 74LS00 at the normally empty location C-1. Here are photos:

 

 

This 'lab rat' obviously has been plundered for rare ICs, as obvious from the missing PROMs and the character generator. The DRAMs in the upper bank (X7...X0) are 16k x 1 types. I tried many different ones and the only ones which gave me more than a few minutes of memory test PROM runs without any memory error (good !) were National Semiconductors MM5290N-4 of 1982 which I stole from an Atari 16 kByte module from an Atari 800. All the others had a much higher error rate and some (like the NEC uPD416) never worked. Despite all being "industry standard conforming".

 

Careful calculations for the timing had been done before I made this mod and everything was found to be in proper order.

 

So what is the problem ?

 

A photo of the component side gives you a clue:

 

 

(Sorry for the poor focus, but I had not enough time to fix that). Two features of my mod are obvious despite of the blurred picture:

 

a) much less wires needed than any other previously known mod

b) peculiar added grey ceramic capacitors at the Dout line of each DRAM

 

The latter is a foul trick to mitigate the problem with that mod which I had not considered in my timing calculations, as it never had been a problem in any other 6502 system I was working on. The problem is the read data hold time, or the lack thereof. Unlike the 1st and 2nd generation DRAMs (4k x 1), the 3rd generation (16k x 1) has no 'data hold' feature anymore. On the 4k x 1 DRAMs (MK4096 and MK4027) the Dout is held long until after the /CAS gets deasserted. The Apple-1 has a peculiar CPU cycle timing as Woz does not use the PHI1 and PHI2 signals offered by the 6502, but makes ''fake' ones with a few TTLs, and so it needs juuust a few 10's of ns more (50ns would be the absolute max to expect assuming worst case timing) of read data hold time on the DRAM outputs. The present lab rat circuit does not provide the data hold time by delaying /CAS deassertion, as adding this would have taken more of my precious RQLT than just putting in the 33 pF capacitors which extend the data hold time a little bit. I think that if the 8T97 bus drivers would be replaced with a 74HCTxxx equivalent  having no input current, then this could even work OK, until the PCB gets dirty, but in general, building dynamic logic based on stored charges on the PCB board level is considered very bad engineering - despite the National Semiconductors IMP-16 microprocessor chip set of ~1973 used that technique. 

 

But this was the point where I had enough of frustration with that attempt and so I tossed this 'lab rat' into a dark corner.

 

A few months later I designed and wire wrapped the DRAM card which is the topic of this thread, and guess what, I do not even look at the bogus PHI1 and PHI2. Instead, I generate all the DRAM timing with state machines running off the 14 MHz clock, so a very fine granularity of the timing is possible. Woz does much the same thing in the Apple II. And of course, in read cycles, the /CAS is extended well into the beginning of the next CPU cycle to ensure adequate read data hold time under all conditions. And this DRAM card works ! It now has been running my (modified for 52k) diagnostics PROM 24/7 for a week, witn no DRAM errors.

 

BTW, some of the previously known mods neglect the fact that 16k x 1 DRAMs need a 7 bit refresh cycle (128 Rows in the memory matrix) while the Apple-1 only provides a 6 bit refresh cycle (64 Rows in the memory matrix). Some modify the circuit such that an additional refresh bit is added. Those who don't add the extra refresh bit will never ever work. Only for a while, depending on which program is running (each read or write cycle in the machine MAY refresh the occasional DRAM row). My new DRAM card ignores the refresh address from the Apple-1 and uses /CAS before /RAS refresh which relies on the internal refresh counter offered by later generations of DRAMs. This happens in all cycles where the Apple-1 generates /RF and it is just enough to keep those 256 kBit DRAMs happy.

 

And all this is done with a single GAL16V8 which also could be a bipolar PAL16R8 which was available in the year 1978 (less 'cheating'). The fact that Apple (the corporation) also used a bipolar PAL16R8 to generate the DRAM timing signals in the Apple IIc is just a coincidence. I did not copy their design ;-)

 

This GAL/PAL DRAM timing sequencer actually came out of a development trying to bring robust DRAM timing to the Apple-1 motherboard. A SMD GAL16V8 would sit on the solder side, between the pin rows of the 74154 address decoder, and then you could have up to 32 kByte RAM in the machine with no add-on card, and all the memory trouble Apple-1 builders have been fighting with since the cloning started would just go away once and for all. I floated the idea of such an 'invisible' 32 kByte mod to the IP owners of 'best authentic looks' Apple-1 motherboard layouts but we concluded that their marketability would be questionable, despite of the advantages. You see, the 'open source' Gerbers are a very tough competitor with hard to beat prices. And most of the Apple-1 builders are cheapskates (me included ;-) and don't want to pay higher prices for 'commercial' Apple-1  motherboards. But my standpoint on all these more professional mods which came out of my own work should have a better support than just the random hobbyist screwing around with open source stuff he/she grabs from the web. It has been my experience that 'open source' stuff, although desirable for some, more often than not gets tampered with in incompetent ways, leading to disappointment and frustration of users, who paid for the compromized parts, and this then backfires on the original creator ("What an idiot"). I don't want that. And I had the problem already with some of my works which I released into the public domain and made them 'open source'. Once it's out there, people start to tamper with the grand designs and more often than not ruin them. And this ruins the reputation of the original creator. Hope you can see the problem with 'open source'. It's not a panacea. 

 

Comments invited !

 

- Uncle Bernie

 

Log in or register to post comments