On 2012-08-01 16:49, Gerrit Heitsch wrote: >> >> Well, first, the extra bank would have to be mirrored at $c000-$ffff >> (otherwise, writes to $fffc...$ffff end up at $3ffc...$3fff instead of >> $7ffc...$7fff which causes problems on a supposedly 32k-spec machine). > > Unless you kill _CAS for everything that is not $0000-3FFF. Then there > would be no RAM underneath the ROM and no mirroring. Then you use A15 > low / A14 high to enable the module. Not sure if that would cause a > problem, never tried it. The problem is the original design relying on ram to be present in the whole 64k address space. (That is, 4 mirrors of 16k, 2 mirrors of 32k and obviously 1 single page of 64k on 16k / 32k / 64k machines respectively). The Kernal's memory size calculator routine (which is called as a step of the reset sequence) actually works by checking whether a sequence of bytes, written to somewhere above $ff40, gets mirrored above $7f40 and $3f40 (resulting in 28661 or 12277 bytes free for Basic, respectively - or 60671 if there was no match). Also, ram needs to be mapped to $fffc...$ffff in any case (else, there'd be no way to set the IRQ and Reset vectors with ROM mapped off, which kills backwards compatibility; defining custom IRQ and Reset is frequently done by games capable of running even on the stock 16k machine). > Yes, but the thing is, only one of the two has a 74LS73 on board, the > other one seems to achieve the same result with a 74LS00 (4 x NAND) and > a 74LS133 (on 13 input NAND) plus some diodes. Hmmm, that's interesting indeed. Possibly a different trick? ...Would definitely worth investigating. > The datasheet for the MB81416 says that CAS has a minimum pulse width of > 75ns (for the 150ns part) and since CAS also controls the output > drivers, a short enough glitch might not cause any problems. Still a > very dirty hack. Yes. >> First, we seem to have an exception here (the C116 board I used for the >> tests uses HM48416AP-12 ie. Hitachi drams, datecode 8432). > > Hm, OK... another theory shot to hell... Not all 16Kx4 DRAMs were > compatible with the refresh supplied by TED, the Hitachi obviously were. Haven't known about problems concerning 16k*4 rams vs. TED memory refresh. > I see no other way than to have the drivers fight it out with what's on > the board. Unless the installation manual had you remove a signal from > the internal RAM (like _CAS or _OE, assuming the RAM interprets the open > input as HIGH) prior to installation. I remember the first 64KB > expansion from Kingsoft, that one went into the TED socket (which made > it easy to intercept _CAS and disable the original RAM) and back then it > was considered impossible to do a 64 KB expansion on the expansion port > without removing the internal RAM. I seem to remember problems that you're talking about (having to modify the machine in order to get an external memory expansion module to work and such). Never seen that in practice, though. Most (all) machines I've seen so far were either stock 16k machines, or internally expanded machines (using either 64k*4 bit rams or a bank of 4164s on a daughterboard). There has been a memory expansion module test article in a very early issue of Commodore Újság (literally, Commodore Magazine), the official mag of the Hungarian Commodore Association of the '80s. http://pcvilag.muskatli.hu/irodalom/ceu/86/ceu863/ceu863.html , page 7. In short, they tested five memory expansions, three externals (including the make that I have) and two internals. They don't mention the suggested remedy of incompatibility problems, ie. cutting some traces on the mainboard. (They do list, however, the overall current consumption of the stock machine, the internally expanded machines, and stock machine + external modules, which might possibly be interesting; it's 762mA, 778mA, 878mA, 904mA, and 958mA, respectively (...although, we don't know anything about the internals of these expansion modules)). Interestingly, the very next article (from page 10) is about a "64 Kbyte kit", that is, a DIY daughterboard with a bank of 64k*1 bit drams, and instructions of how to install it in a C16. I've just set up some triggers so that I'd know whenever one of the "simple" memory expansion modules pops up at some auction sites. We'd just need to know that detail someday... at least, I'm eager to know that. Levente Message was sent through the cbm-hackers mailing listReceived on 2012-08-01 21:00:06
Archive generated by hypermail 2.2.0.