Re: How to solder Message #11 Posted by Holger Veit on 6 Dec 2004, 8:30 a.m., in response to message #10 by Diego DiazCareful, as others already pointed out, there is a difference between ROMs and memory modules, and there are also special ROM modules. First of all: the lines B3 and B4 are hardwired chip select lines; a module can thus find out in which slot it is located. This is important for the old 41C memory modules, because their slot assignment determines which RAM address range they occupy. The 41C wants to see contiguous memory, so if you have single modules, you have to put them into contiguous port slots (you can't put the first one in port 1 and the second one in port 4 - the latter won't be visible to the CPU. With Quad memories and CVs and CXs, this is nowadays barely known. With X-Memory, the same effect happens: you mustn't put two XMEM modules 'vertically' in the slots, as they only use one of these B3/B4 lines; so then they would be addressed at the same time. If you want to create a double-X-Memory module, you have to wire them in a way as if they were located in the correct slots. You can combine without problems a memory module with an xmemory, a memory module with ANY ROM, and an xmemory module with ANY ROM. There are two kinds of ROMs, ones which are internally hardwired, and occupy a fixed address range, and those that adapt to the port they are plugged into.Fixed ROMs are for instance: Printer (any kind), HP-IL, Time, Diagnostics, and surprisingly: the card reader (which has a fixed address of 0xe000-0xefff, the low range of port 4).Each port can physically address 8K, but this can be extended by bank switching. So, for example, if you'd like to add a ROM to the card reader case, it would have to be a ROM module that is either fixed, thus out of the way, or would have to be addressed to 0xf000-0xffff. Unfortunately, there are IIRC no natural 4K modules that use a high port range, because HP didn't expect people to assemble multiple 4K ROMs in a single case. This means, you can only combine a fixed module (e.g. Time) in the card reader, or you have to use an artificial ROM, like the NovRAM which you can wire to any address. The diagnostics ROM is a special case, it is fixed to 0x4000 and will take over control of the whole calculator when plugged in (there is a check in base ROMs whether there is a ROM at 0x4000, and if so it is jumped to). If you have an 8K (or more, via bank-switching) module: you can combine those only with fixed ROMs, like Time or HP-IL, or with memory/X-memory, because these use different methods of addressing (memory modules don't write to the ISA line, they just monitor it). Some useful recommendations: make a 'double X-Memory' in slot 2/3, and combine it with a Time/Xfunctions in slot 1.Should be the base for each collection... Or combine XIO/ILDEV with HPIL, or Printer with some 4/8K-module. |