RAM-CART 128/256K ----------------- Possibility: ------------ - two modules 128K each compatibile with orginal RAM-CART, - two modules 128K each without possibility to block writing to register $D500 - one module 256K with possibility to changing halfs of memory by hardware or software (there aren't also possible to write to $D500) Description ----------- Module has inside two ramcards 128K, but thank to use switches and different use of bit D2 there are possible to transform it to version 256K. Working of bit D2 ----------------- In version 128K when set acces to RAM-CART isn't possible. The only way to again acces is switch off and on computer. Who use it ? I don't know, but this is still here for compatibility with oryginal RAM-CART. If you want to unlock ramcart there is added button which clear register $D500. Switch in state write --------------------- After turn on the computer register $D500 is automatically clear, and pressing the reset in module nothing change. When in register is any value, pressing reset in module will, of course, clear it (write zero). Data in this register: D2 - block this register D0,D1 - select memory area where will be put ram-cart memory (D0=1 $8000-$9FFF; D1=1 $A000-$BFFF) D3-D5 - selecting the bank of memory We can use SW.COM to switch module to read mode without turn off the computer. In this mode reset in module force "cold reset" of computer (after pressing reset in computer with option). Switch in state read -------------------- After turn on the computer register $D500 is automatically clear, but bit D0 is negate. The line RD5 is active and module is included under $A000-$BFFF and the procedure of its initialization is running. This is typical working of cartridge. After running some program np. DOS.BAT which was in modul, register $D500 is "somehow" set. Usually this is $01, which unplug its memory from computer ($8000-$BFFF).There is possible to reinicjalizing its again without turn off and turn on the Atari again. You should only press reset in module and then press reset in computer and modul starts again. Modul has two ramcarts 128K and working of each of them is identically. Switching between one ramcart to secend is possible in any time (but don't use it when the transmission works). Working of bit D2 in 256K version --------------------------------- In order to get one more bit to switch additional bank of memory in 256K version, I resigned of D2 bit function (blocking register). Now it's use to chosing additional bank of memory, similar like bits D3-D5. In spite of that this is bit D2 it is treaten like the higest bit of the four D2-D5. This cause characteristic "interlace" in numeration of banks. This isn't disadvantage, but you should remember about it (when for example you write in 256K mode and you switch to 128 K mode it's possible to have two fully efficient modules). Side effect of this switch in 256K mode is that you can "reverse" halfs of memory. Secend side effect is possibility having two ramcart 128K, without possiblity to block the register ($D500 - bit D2). The button reset was describted above and is the same in 256K mode. This same but in another way ---------------------------- switches working -------- ------- Z/1/128 write to module 1 version 128K D2=1 block write to register $D500 Z/2/128 write to module 2 version 128K D2=1 block write to register $D500 O/1/128 read from module 1 version 128K D2=1 block write to register $D500 O/2/128 write to module 2 version 128K D2=1 block write to register $D500 Z/1/256 write to module; version 256K D2=x chosing additional banks D2=x chosing module 1 or 2, 128K each Block of writing to register $D500 non exist Z/2/256 write to module in 256K version (halfs of memory are exchanged) D2=x chosing additional banks D2=x chosing module 1 or 2, 128K each Block of writing to register $D500 non exist O/1/256 read from module in 256K version D2=x chosing additional banks D2=x chosing module 1 or 2, 128K each O/2/256 read from module in 256K version (halfs of memory are exchanged) D2=x chosing additional banks D2=x chosing module 1 or 2, 128K each Note to diagrams RC*.GR8 ------------------------- Diagram RC128.GR8 concerns module build with use one memory 128K. Not represented pins of memory should be connected with adequate contacts entering to cartridge slots in computer. Diagram RC128256.GR8 is complex version of module. There are only show changes which should be done on diagram RC128.GR8 to get 256K version of ramcart. There are added one more memory 128K and switch to changing version 256K/128K. Meaning of memory pins SRAM 628128 ---------------------------------- 1-NC 2-A16 3-A14 4-A12 5-A7 6-A6 7-A5 8-A4 9-A3 10-A2 11-A1 12-A0 13-D0 14-D1 15-D2 16-GND 17-D3 18-D4 19-D5 20-D6 21-D7 22-CS1 23-A10 24-OE 25-A11 26-A9 27-A8 28-A13 29-WE 30-CS2 31-A15 32-Vcc ___ __ __ CS1=CS1 OE=OE WE=WE Some words for hardware man --------------------------- To pin 1 74174 is join system for reseting. Resistor - 4k7 Condenser - 10mF Button - non stable To pin 9 74174 (input clock) is connect output of gate NOR. One of its input, which is control in two ways, causes block clock input (for 128K version) or is connected with GND throught switch P1, which , in version 256K, makes this input always active. [I don't understand above paragraph, so this translation probably hasn't sense.] For version 256K I add two diodes LED, connected throught resistors 470Ohm with output of gates buffors. This causes signalling when is access to region $8000-9FFF and $A000-BFFF of memory. Attention! Diodes signalling state of of lines RD4 and RD5 not state of output flip-flop 74174 ($D500). Resistor added to cathodes of diodes which pass pawer supply for memory SRAM has value 470k and is use to "stand by" their contents. Switch P realize write or read from memory of module. Switch P1 realize selection of module version 128K or 256K. Switch P2 realize selection of one of module 128K (when P1 is in 128K position), or changing halfs of memory for 256K version (P1 in 256K mode). On the diagram location of the switches is: P - write P1 - module work in 2x128K version mode P2 - there is selected one of 128K module Once again reminder! Diagram RC128256.GR8 shows only changes which should be done with using of diagram RC128.GR8. Some words for programmers -------------------------- bit D0 - switch on module in region $A000-$BFFF When module work in read mode: D0=0 module on D0=1 module off When module work in write mode: D0=0 module off D0=1 module on bit D1 - switch on module in area $8000-9FFF bit D2 - for version 128K: D2=0 writing to register $D500 is allowed D2=1 register $D500 is blocked for version 256K: D2=x - selecting additional banks of memory, or selecting module 1 or 2. bit D3-D5 - selecting bank