Hello User, We expect you are already getting lots of fun and use out of your Sinclair ZX81 computer. We think this will grow with the addition of the MEMOPAK 16K as you will now be dealing with much bigger programs and arrays. You're now in a position to compete with some of the much more expensive home, office and workshop computers on the market. This version of the MEMOPAK 16K is fully compatible with either the Sinclair 16K or another MEMOPAK 16K; or a MEMOPAK 32K; or you can work with it just by itself. And later on, if you expand even further, you can part-exchange your MEMOPAK 16K for the full MEMOPAK 64K. See the back of this booklet for more details. We also hope you like the elegant design. Now let's try to answer some of your queries. How do I set up the MEMOPAK 16K? Make sure your power supply is not connected to the ZX81 when you attach the pack. We recommend that the ZX81 + MEMOPAK configuration should go in this order, according to what add-ons you have: ZX81 + [Commercial Printer l/F] + [HRG] + MasterMemopak16K or 32K + [Sinclair Printer] + [Slave Memopak or Sinclair 16K]. We supply a Velcro tab which you can cut up and use to get maximum stability on the connections. What about the switch settings? There are two possible modes for using the MEMOPAK 16K: MASTER and SLAVE. The mode you require depends on which of the possible memory configurations you are using. The configurations and modes are as follows: a) MEMOPAK 16K alone (MASTER) b) MEMOPAK 16K (MASTER) + MEMOPAK 16K (SLAVE) c) MEMOPAK 16K (MASTER) + SINCLAIR 16K(SLAVE) d) MEMOPAK 32K (MASTER) + MEMOPAK 16K (SLAVE) Now, if your MEMOPAK 16K is being used as a MASTER (alone or with a SLAVE pack attached somewhere behind) then switches 2 and 3 should be ON and switches 1 and 4 should be OFF. This is how the pack should reach you. On the other hand, if your MEMOPAK 16K is sitting behind a MEMOPAK 32K or another 16K then it should be switched into SLAVE mode (1 and 4 ON and 2 and 3 OFF). Remember ON is UP. Now you can join up the power supply to your ZX81. What should I do to use the new, larger memory area? On powering up, a small K will appear in the bottom left-hand corner of the screen. This means your system is ready to go. If you only have 16K of RAM you do not need to set a higher RAMTOP. If you have a total of 32K RAM then to make the most of it you'll need to key in: POKE 16389,192 to raise the RAMTOP. For the 48K RAM, you should key in: POKE 16388,255 POKE 16389,255 After that, you must do a NEW statement to activate the new memory limits. For a quick check that the memory is now at your finger-tips you can now try the following: For 16K RAM key in DIM A(3000). For 32K, key in DIM A(6000>. For 48K, key in DIM A(9000>. You should get 0/0 appearing at the bottom of the screen if your large array has been accepted by the system . To check your RAMTOP, type in: PRINT PEEK 16389 you will get back the current RAMTOP. If this does not correspond with what you POKED into 16389, then something is wrong. If you did not set RAMTOP, however, then it should still be set at the default of 128. What is where? As programs are entered into the system the elements are sifted into the instruction file and the array file. The instruction file, the display file (holding screen data) and the array file lie next to each other in that order at the bottom end of memory. Gradually, as the instruction file increases, the other files are pushed up through memory. Remember,the original 1 K of RAM in the ZX81 (located at 16K+) has been disabled and all its functions take place in the MEMOPAK. This pushing goes on until either the array file reaches the top of the memory or until the display file begins to straddle the 32K mark (by going above 32767). Naturally, this last situation won't occur if you've only got 16K of RAM . Does this mean if I've got 32K or more of RAM, I still can't have more than 15K or so of instructions? No. Many people think you are restricted but there is a neat trick where you can force your display file to leap the 32K mark in one bound by putting in a large, dummy instruction. The important thing is to make sure that the dispiay file never straddles the 32K mark. Here is how: a) On input check from time to time the value in the VARS system variable, as this lies just above the end of the displayfile: PRINT PEEK 16401 * 256 + PEEK 16400 b) When the values of VARS approaches 32767, enter a huge line into the program, like: LET ZERO = 0 + 0 + 0 + 0 etc. with about 100 repetitions of [+0]. This will push the display file entirely above 32768. c) Check the system variable D-FILE to make sure the display file now begins above 32768: PRINT PEEK 16397 * 256 + PEEK 16396 if it is, then you can carry on programming. How can I use the Memopak 16K if I've got a white ZX80? In principle this works, but MEMOTECH cannot guarantee it happening in any particular case. The casing and/or boards may have to be altered or separated, and the pack will probably stick out to one side! In addition the following hardware modifications need to be carried out: a) Break the connecting track between IC6-Pin7 and IC2-Pin20. b) Put a 680 ohm resistor between the IC6-Pin7(74LS157N) and IC2-Pin20 (ROM ). c) Connect IC2-Pin20 to the edge connector plug 23B (ROM C.S.). This is the finger furthest away from the keyway slot and on the underside of the board. We regret we cannot offer this service ourselves and we cannot accept responsibility for malfunction as a result of this modification. Have you any tips for running a full ZX81 system? Yes. These are the hints buzzing around the users. They may or may not help in your situation. You may need to make sure that LOADing takes place with cassette recorder volume set at maximum. If possible make sure that your cassette recorder and ZX81 are plugged into different mains sockets. Maybe you shouldn't have the LOAD (EAR) and SAVE (MIKE) connectors plugged in at the same time. LOADing is more likely to be successful if you quote the filename, rather than null ("") Always clean your connectors. Don't use the first 20 seconds of a cassette tape as that's where a lot of LOAD bugs live. Can I run programs written for the ZX81 alone with the MEMOPAK 16K? Yes, they should run straight away, but things are a little tricky if you want to enlarge your arrays to use the larger memory and you have been SAVEing your data. Basically, you have to re-enter all data after you have re-dimensioned, to be sure that the right data is going to be accessed. What you can do is: a) LOAD the original program. b) Edit in a special routine which will list and label the contents of all variables on the printer. c) Run this routine. You now have a hard copy of your data. d} Re-set your dimensions. Also enter a routine to allow you to reinput all your old values plus any new ones. e) Run your program and enter the values. It's probably quickest to start afresh ! You may also encounter problems if you have been using machine code routines with the ZX81 alone.