MEMORY MODULE 64KBF

The 64KBF includes Basic-F EPROMs and 64KB of RAM. The module allows software to configure memory according to 8 different variants (modes). Selecting the mode is done using the "OUT &30,num" command, or you can also set the basic mode manually (by pressing the button). When M5 is turned on, mode 0 is automatically set, ie the standard ROM/RAM layout on SORD M5 with Basic-F and 36 KB RAM.
PCB
Click to enlarge

 

PCB
Click to enlarge

TABLE OF MODES ************** Second Prototype (2B) =================== MODE READ WRITE ---------------------------------------------------------------------- 00 8 kB MON + 20 kB BF + 36 kB RAM 64 kB RAM 01 64 kB RAM 64 kB RAM 02 8 kB MON + 56 kB RAM 64 kB RAM 03 64 kB RAM 28 kB DIS + 36 kB RAM 04 64 kB RAM 16 kB DIS + 48 kB RAM 05 16 kB DIS + 48 kB RAM 16 kB DIS + 48 kB RAM 06 32 kB RAM + 32 kB DIS 32 kB RAM + 32 kB DIS 07 64 kB DIS 64 kB DIS ---------------------------------------------------------------------- LZR's Version (2C) =================== (* change versus 2B) MODE READ WRITE ---------------------------------------------------------------------- 00 * 8 kB MON + 20 kB BF + 36 kB RAM 28 kB DIS + 36 kB RAM 01 64 kB RAM 64 kB RAM 02 8 kB MON + 56 kB RAM 64 kB RAM 03 64 kB RAM 28 kB DIS + 36 kB RAM 04 64 kB RAM 16 kB DIS + 48 kB RAM 05 * 8 kB MON + 20 kB BF + 36 kB RAM 64 kB RAM 06 * 8 kB MON + 20 kB DIS + 36 kB RAM 64 kB RAM 07 64 kB DIS 64 kB DIS ---------------------------------------------------------------------- As can be seen from the table, read and write functions are separated. For some modes, in certain areas of memory, write to RAM is disabled (DIS), creating a pseudo-ROM that will not overwrite when the system collapses. If both RAM and ROM readout is disabled, there is a hole in the memory that a user can fill their own memory (such as EPROM or cartdidge) in a splitter. Version 2B is also designed to work with systems other than SORD M5 MONITOR ROM, version 2C is aimed at safer software operation. 1. DECODER ---------- It is a circuit IO 8, IO 5/4, 5/5, 5/6 a IO 6. Output signals from the decoder: @RAMRQ - Provides a RAM of 4464 @ ROM0 - Equips memory EPROM MON (MONITOR ROM) @ ROM1 - replaces the @ ROM1 and @ ROM2 signal from the computer; equips IO 10 @EXM - signal matching the @EXM signal from a computer; recalls IO 9 Note: @ signifies the negation of the signal. The decoder (PROM 74S287) works according to the enclosed function table. Extract memory is in the appendix. Inputs A12, A13, A14, A15 specify the memory area in the 4K rack inputs D0, D1, D2 determine one of eight fixed memory modes, ie specific configuration of 64 KB of memory. The RD entry determines whether it is read or written. Shape 5/4 shapes the MRD signal from the computer. The decoder IO 8 (74S287) is equipped with a direct @MRQ signal and the same signal delayed over 5/5 and 5/6. The delayed signal is here to avoid it to gambling and direct signal to make the decoder at the end of the cycle fast he closed. The lead, marked @MROMDS, executed in 5/5 allows hardware blocking module. By grounding this conductor, we exclude all of the computer's memory except 4K RAM of RAM from &7000 to &7FFF that are inside the computer and which can not be blocked. By blocking the memory, refresh will not be interrupted. This conductor is connected to a terminal that was originally intended to disconnect the built-in ROM Basic-I. Therefore, if you have Basic-I on your computer, disconnect this driver. The D0, D1, D2 inputs for the decoder provide the IO 6 latch connected to the data bus. The Latch is connected as an output port &30 (M5 ports are port addresses &30 to &37 are used as input for the keyboard and joystick as output however, port &30 is not used). The state at the latche output (ie mode set) is indicated by three LEDs. The C1 capacitor lifts the latch when the computer is turned on and sets mode 0. The MODE 0 button also clears the latch. 2. MEMORY 64 KB RAM ------------------ It consists of ICs IO 3, IO 4, IO 1, IO 2 multiplexers and controllers circuits IO 7 and IO 5/1, 5/2, 5/3. The control circuit IO 7 is PROM 74S287. IO 7 Function: Generates @RAS and @CAS signals for RAM. Generates a SEL signal to switch the multiplexer. Provides refresh memory. Removes a latch with OUT &30 ... &3F. The opening of the IO7 output occurs when @MRQ (through D2 diode) arrives, or when @IOWR signals arrive (via diode D1). Inputs A4 to A7 and @IOWR to IO 7 you need to decode OUT &30. The @RAMRQ input provides access to memory, the @RFSH input ensures automatic refresh memory (generates RAS and CAS in reverse order - this cycle circuits 4464 know). The delay lines IO 5/1, 5/2 and 5/3 provide signals @RAS, @CAS and SEL correct timing. 3. MODIFY SORD M5 FOR 64KBF MODULE ------------------------------------------ Since the decoder in the module produces the @ ROM0 signal itself, this signal is required created by the GA015 logical array located inside the computer to suppress it. To be a computer capable of functioning with other (original) modules, the signal needs to be weakened by insertion resistance of about 330 to 390 ohms (see appendix below). ATTENTION Connecting a 64KBF to an unmodified computer can cause damage of logical field GA015! 4. CONSTRUCTION PROCESS ----------------------- First, we'll make a computer modification. It is necessary to remove the shielding plates, cut the copper path and solder the resistor according to the schematic diagram. Then test if the computer work as usual. Insert all resistors, capacitors, transistor T1 and IC 1, IC 2, IC 3 and IC 4 circuits into PCB and solder. Plug the KBF module and turn on the computer. If the relay clicks, everything is all right. Insert D1, D2, IC7 and IC5. If the relay clicks again, everything is OK. Insert IC 6 and IC 8. Turn on the computer. If we did not make any mistake and relay still click, we now have 8 KB of MONITOR and 36 KB of RAM. Function we can verify by loading program in the machine code from the tape recorder. From original Basic-F module, carefully remove the 2732 and 27128 PROM circuits and mount them into the 64KBF module. When turning on the computer, a standard message must appear "Basic-F Ready" with a blinking cursor. Now you just have to set up LEDs, make buttons and test all modes. 5. LIST OF COMPONENTS --------------------- IO1 74LS157 (257,258) R8 560 IO2 74LS157 R9 560 IO3 4464 R19 560 IO4 4464 R11 560 IO5 74LS14 R12 560 IO6 74LS174 R13 560 IO7 74S287 - 64KBF-1 R14 560 IO8 74S287 - 64KBF-2 R15 560 IO9 2732 - EPROM Basic-F R16 560 IO10 27128 - EPROM Basic-F D1,D2 KA261 or similar diode R1 560 D3,D4,D5 LED R2 560 R3 560 C1 2M2 tantal R4 3k3 C2 2M2 tantal R5 5k6 C3 M1 ceramic R6 560 C4 47M tantal R7 560 T1 KC237,238,239 ... any Si type in a small case 6. COMPUTER MODIFICAION SCHEME ------------------------------ Before modificattion: +-----+ +-------+ +--+ BUS connector | | | | | | | | | 2764 | | | |GA015| |monitor| | | | | pin 15 pin 20 | ROM | | | | +-----------------*---------------+ | | | | | | | | | | +-----+ | +-------+ | | | | | | pin A22 | | `-------------------------------+ | @ROM0 | | +--+ After modification: +-----+ +-------+ +--+ BUS connector | | | | | | | | | 2764 | | | |GA015| |monitor| | | | | pin 15 +-----+ pin 20 | ROM | | | | +--------| R |--*---------------+ | | | | | +-----+ | | | | | +-----+ | +-------+ | | | | | | pin A22 | | `-------------------------------+ | R ... resistor 330 to 390 ohm @ROM0 | | +--+ 7. NOTES FOR "PROM 2C" VERSION ------------------------------ Why do we developed version 2C? ------------------------------- The 64kBF module represents a qualitatively new software tool, Collecting in one cartridge the excellent properties of the Basic-F interpreter while expanding memory by 36 (and more) KB RAM, roughly comparable configuration as a BASIC-F and EM-5 module in a splitter. By adding 28 KB RAM, the computer becomes more versatile, with far wider possibilities. So the user is available in one module what you did earlier in two - that is, the standard "BF's" and "twenty-two" - and has the option to use the module as already existing the EM-64 module, that is 64 KB RAM, but with a qualitatively new approach to the choice work mode - not manual, but software mode switching. This convenience has obvious benefits, but it has one disadvantage - the ability to adjust the mode the job manually (by pressing the button) is limited to MODE 0. This means that the user is only able to access the basic mode manually. This seemingly trivial thing (if I'm in the basic mode, I can easily switch the OUT command the way they need it) brings with it a small version of PROM 2B, but this is a major complication. Basic-F, among other things, in its initialization checks if it is in the ROM and writes it to the first one and last byte itself (&2000 &6FFF) test byte, and after checking does not assign these two bytes to the original value. Because in Mode 0 is read from ROM, it loads basic everything what it has, but since it is enabled in RAM, it will overwrite it there are two bytes in it, and if we have some data in that memory, it means their loss. If one is about any user system that we are accidentally (by pressing the MODE 0 key) return to Mode 0, there is no problem forward detect the contents of both bytes in advance and then restore them to POKE. This applies to if we have RAMs such as Basic-G, MSX, FALC, and so on. But if we do The lower 28 KB RAM is used as a RAM disk (or the like, for storing accidental date), we have its content degraded. It goes without saying. Software and hardware. However, software troubleshooting does not always have to be done while hardware solution lies only in the otherwise designed modes - ie. otherwise burned PROM. In the LZR version, the basic mode is a ban on writing to the lower 28 KB RAM, which is problem solved (at the same time mode 0 is totally identical with BF and EM-5). In place of mode 5 is the original mode 0, so the advantage of this mode, the ability to record straight lower 28 KB RAM is retained. Then mode 6 has been changed. Now it allows you to join one more cartridge into a splitter. Any incompatibility with the 2B prison is solved By agreement - the subroutines will be used consistently for modulation, for mode 0, "XOR A" but "LD A,0" to these routines could possibly be easy changed. Why do we recommend version 2C? --------------------------- --- The historical origin of version 2B is linked to the intention of their creators to realize floppy disk system on computer m.5, therefore seemingly nonsensical modes 6 and 7, below use EPROM user services (Mode 5). Because we assume that it is common the mortal who builds this module on his knees is plenty rich with the first three, or, if more experienced, with the first five modes, we also recommend ours version 2C, which will soon become rich application software. However, if such a user belongs to experienced programmers and requires version 2B, nothing will prevent him from modifying this software. And if one finds one, who will be sympathetic for both versions, let PROM 2 fit into the slot with the option its easy confusion. 8. MEMORY DUMP -------------- IO7 - 64KBF-1 Customer Circuit - the same for the second prototype as the LZR version Listing PROM 74S287 A4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A8A7A6A5+-------------------------------+ 0 0 0 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 0 0 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 0 1 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 0 1 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 1 0 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 1 0 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 1 1 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 0 1 1 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 0 0 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 0 0 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 0 1 0 |F 5 F 5 F 1 F 1 F 9 E F F 1 E F| 1 0 1 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 1 0 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 1 0 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 1 1 0 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| 1 1 1 1 |F 5 F 5 F 1 F 1 F 9 F F F 1 F F| +-------------------------------+ IO8 - Custom Circuit 64KBF - 2B - the second prototype Listing PROM 74S287 A4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A8A7A6A5+-------------------------------+ 0 0 0 0 |E D E B E E E E F E E E E E E E| 0 0 0 1 |E D E E E E E E E E E E F F F F| 0 0 1 0 |E E E E E E E E E F F E E E E E| 0 0 1 1 |F E F E E E E E F F F F F F F F| 0 1 0 0 |E D E B E E E E F E E E E E E E| 0 1 0 1 |E D E E E E E E E E E E F F F F| 0 1 1 0 |E E E E E E E E F F E E E E E E| 0 1 1 1 |F E F E E E E E F F F F F F F F| 1 0 0 0 |E B E 7 E E E E F E E E E E E E| 1 0 0 1 |E E E E E E E E E E E E F F F F| 1 0 1 0 |E E E E E E E E F F E E E E E E| 1 0 1 1 |F E F E E E E E F F F F F F F F| 1 1 0 0 |E B E E E E E E F E E E E E E E| 1 1 0 1 |E E E E E E E E E E E E F F F F| 1 1 1 0 |E E E E E E E E F F E E E E E E| 1 1 1 1 |F E E E E E E E F F F F F F F F| +-------------------------------+ IO8 - Custom Circuit 64KBF - 2C - LZR version Listing PROM 74S287 A4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A8A7A6A5+-------------------------------+ 0 0 0 0 |F D F B E E E E F E E E E E E E| 0 0 0 1 |E D E E E E E E E D E F E E E E| 0 0 1 0 |E E E E E E E E E D E B E E E E| 0 0 1 1 |F E F E E E E E F F F F F F F F| 0 1 0 0 |F D F B E E E E F E E E E E E E| 0 1 0 1 |E D E E E E E E E D E F E E E E| 0 1 1 0 |E E E E E E E E E D E B E E E E| 0 1 1 1 |F E F E E E E E F F F F F F F F| 1 0 0 0 |F B F 7 E E E E F E E E E E E E| 1 0 0 1 |E E E E E E E E E F E F E E E E| 1 0 1 0 |E E E E E E E E E B E 7 E E E E| 1 0 1 1 |F E F E E E E E F F F F F F F F| 1 1 0 0 |F B E E E E E E F E E E E E E E| 1 1 0 1 |E E E E E E E E E F E E E E E E| 1 1 1 0 |E E E E E E E E E B E E E E E E| 1 1 1 1 |F E E E E E E E F F F F F F F F| +-------------------------------+ ILLUSTRATIVE TABLE OF MEMORY MODES ********************************** Version with PROM 2B ==================== +------------+ |////////////| READ ONLY +------------+ |\\\\\\\\\\\\| ONLY FOR WRITE +------------+ |XXXXXXXXXXXX| FOR READ AND WRITE +------------+ | | READ AND WRITE DISABLED +------------+ 0 0 0 1 1 2 2 2 3 3 4 4 4 5 5 6 6 kB 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 +-------+-------------------+ ROM |MONITOR| BASIC-F | +-------+-------+-------+---+---+-------+-------+-------+-------+ RAM | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ CARTRIDGE | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////|///////////////////| +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 0 |\\\\\\\|\\\\\\\|\\\\\\\|\\\|XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 1 |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////| | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 2 |\\\\\\\|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 3 |///////|///////|///////|///|XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 4 |///////|///////|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 5 | | |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ |XXXXXXX|XXXXXXX| +-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 6 |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 7 | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +---------------------------------------------------------------+ Version LZR (2C) ================ +------------+ |////////////| READ ONLY +------------+ |\\\\\\\\\\\\| ONLY FOR WRITE +------------+ |XXXXXXXXXXXX| FOR READ AND WRITE +------------+ | | READ AND WRITE DISABLED +------------+ 0 0 0 1 1 2 2 2 3 3 4 4 4 5 5 6 6 kB 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 +-------+-------------------+ ROM |MONITOR| BASIC-F | +-------+-------+-------+---+---+-------+-------+-------+-------+ RAM | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ CARTRIDGE | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////|///////////////////| +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 0 | | | | |XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 1 |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////| | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 2 |\\\\\\\|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 3 |///////|///////|///////|///|XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 4 |///////|///////|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////|///////////////////| +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 5 |\\\\\\\|\\\\\\\|\\\\\\\|\\\|XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------------------+ |///////| | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 6 |\\\\\\\|\\\\\\\|\\\\\\\|\\\|XXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +-------+-------+-------+---+---+-------+-------+-------+-------+ |///////|///////|///| +-------+-------+---+ +-------+-------------------+ | | | +-------+-------+-------+---+---+-------+-------+-------+-------+ MOD 7 | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +---------------------------------------------------------------+ Thanks: ======= Module 64 KBF was constructed by team Hernady & Dítě (perhaps I did not get it) and I would like to thank HEDi-SOFT for this work. And also for that, that they were willing to produce a special version of 2C. ============= written by LZR Soft, date of last edit: not known =============