Sinclair Library

Basicare Sonus

Hardware: Sound/Speech

Basicare Micro System · 1983 · Pound sterling 30.15

Not rated yetSign in to rate it

3 voice Sound synthesiser for the Basicare system.

Discussion

Nobody has started a thread about this yet.

Start a thread

In the magazines 1

Sinclair User #15Jun 1983 · p.36

Sinclair User

Stephen Adams

MAXIMUM EXPANSION WITH BASICARE Stephen Adams reviews a system which gives the ZX-81 limitless flexibility. The Basicare system consists of a set of modules all housed in the same long, flat, silver, shaped boxes. The boxes are stacked vertically on top of each other, connected by a 64-way white edge connector. The edge connectors act as the spine of the system and have additional control signals to those from the back of the ZX-81. The extra control signals are used to expand the memory size beyond the 64K limit of the computer and also give it its flexibility in design. The system can be expanded at any time by plugging-in another module on to the top of the stack and the range of modules allows you to have as much RAM as you need in small or large jumps and to attach any number of printers and ports to the system. The basic module is the Persona which has to be at the bottom of the stack and is the device through which the computer communicates with the RAM and other devices. The Persona contains refresh circuitry so that the dynamic RAM does not have to rely on the REFRESH address from the computer. As the REFRESH (R) register is used for a different purpose on the ZX-81 that is a good idea. It also means that if the computer is changed to a type which did not have a refresh signal for dynamic RAM - a Vic, for instance - dynamic memory could still be used. The reason for using dynamic memory is that it reduces the number and size of the chips dramatically when compared to static RAM. The Persona also buffers all the address and data lines so that no great strain is placed on the signals from the ZX-81. The Sinclair ROM and 1K internal RAM can be turned-off if required to insert your ROM - the internal RAM on the ZX-81 has to be turned-off when using any other RAM pack anyway but that facility is provided to give the user a choice. Two pins are provided to re-set the system without pulling-out the power plug. Basicare even supplied a switch mounted across those pins on the system I was using. On a larger system each page has to be set up using the reset switch on powering-up the system, so that can be very useful. The other thing about the re-set switch is that it effects only the page of RAM on which you are at the moment and so does not erase any of the program or data in other pages. The other two pins are for selecting DATA or Toolkit sections of memory using the Minimap or changing the use of a particular RAM pack. In that case a jumper wire must be used with a plug on each end to connect between the back of the Persona and the module concerned. Basicare can supply the jumpers if required. All the modules have one or two holes in the back either for connection to other equipment - in the case of the Pericon printer module - or choice-selection pins. The selection is made usually by inserting small blue pins on to the Molex pins to join them together. All the blue pins required are supplied by Basicare when you buy the module. It is a pity that some standardisation could not have gone into the positioning of the choice pins, as every module seems to have a different set-up and the pins on the Pericon module have even been moved to the right-hand side of the case. The RAM modules for 16K and 64K have to be allocated a bank number and a page number via the choice pins. Each bank is made up of four 16K pages. On the 16K RAM modules the RAM can be put into any page of any bank so long as there is not another module allocated there. On the 64K modules the RAM must all be in the same bank because they use single 64K chips. The system is set up for four banks when using the Minimap module and only one when it is omitted. If you want more than 32K of dynamic memory on the system you have to include the Minimap in your calculations. The memory map under the Basicare system is divided into 16K sections, with some sections divided into 4K and 8K sections due to the way the ZX-81 hardware was designed. The two biggest sections, called File A and File B on the normal ZX-81 system, would be covered by the l6K RAM pack as it appears twice in the memory map. That is because the File A area is used to store the program and data and the File B area used to display the screen created in File A. On the Basicare system those two areas are switched together, even though the two RAM areas may be split to make better use of the RAM. Some provision for a TV display must be made in Page 0 so that the user can see that the system is working. In other pages the File B area may be used as a data store, but not by Basic, or as an alternative TV display. Basicare suggests that alternating between two File Bs would be a good way of providing animation. Any dynamic RAM must be located into one or both of the File areas. Under a non-Minimap system that would limit the user to a maximum of 16K, as File B would have to be a reflection of File A to see any results. The bank and page number of each module and whether it appears in File A/B or both is on without crashing the system. Using only the Persona and RAM packs, 56K of RAM can be used as the system needs a Minimap module to control the extra RAM. The Persona plugs into the ZX-81 expansion port - the large hole at the back - and the only device you can use with the Basicare system is the Sinclair printer. That is because it is an I/O-mapped device which is excluded from the Basicare system, which operates only on memory-mapped devices. I/O ports could be used but the ports must provide a PCB edge on which to connect the Basicare system and they must not draw too much power. Power must be a consideration on such a system as the ZX-81 is supplied only with a 700ma power pack, unless you have bought a printer with a larger 1.2 amp power supply. Every module you use must be supplied with power from somewhere; at the moment that is from the ZX-81 power supply via the 9V output on the edge connector and the internal +5V regulator in the Persona. Provision is made at the back for power to be provided direct into the back of the Persona but a power pack is not yet available from Basicare as a standard item. Users therefore will have to limit their systems to what the Sinclair power pack can provide - a 16K RAM and Persona on the 700ma power pack - or build their own. The connections at the back are via standard Molex plugs - 0.1in. spacing - and the system can be driven from a +12V or a full +12V/-12V/+5V supply. A car battery, for instance, could be used as a standby or main supply for the system. The other set of Molex pins on the back Of the Persona module selects the different set-ups which can be required, determined by the pins on the back Of each RAM module. Switching between RAM pages - 16 in all, from banks of four pages - is done by one POKE to a memory location inside the Minimap. The Minimap is located in the SLOT area at Slot 0 or memory location 45440. By PEEKing at that location the page number for both the File A/B and the Data/Toolkit areas can be determined. That is the main area where machine code can be stored and EPROMs and user-deftnable graphics modules can be located. It is 8K long and is over-used at the moment on the ZX-SI for every thing from speech to graphics add-ons. None of them will work with the Basicare system, as no Sinclair PCB connection is provided on any of the available modules. Putting them on the computer PCB and then plugging-in the Basicare system at the back would knock out both systems. Basicare provides two modules which can go into that area. Both are based on 6116-type static RAM chips. RAM 08 can give up to 8K of RAM and the DROM provides up to 8K of battery-backed memory - a nickel-cadmium cell inside the module charged by the computer. The DROM module can have a USERFONT option fitted which gives user-definable graphics. The RAM 08 can also contain EPROMs up to the same 8K and the DROM can have 2K sections write-proteCted so that you cannot wipe out data or machine code accidentally. With the Minimap in place and a few jumpers the Toolkit section can have four different pages using the same POKE to switch pages as the dynamic RAM. The Toolkit and Data areas are switched together and the page numbers can be different from the dynamic RAMs. Using the Toolkit or Data areas to store variables is the only way to exchange them between programs in different pages. For example, to transfer number A from the current page to page 0 would require to use a program like this: 100 LET PAGE=PEEK 45440 110 LET FILEAPAGE=INT (PAGE/16) 120 LET TOOLKITPAGE = PAGE - INT (FILEAPAGE*16) 130 REM FIND TOOLKIT PAGE NUMBER AND CURRENT FILE A PAGE NUMBER 140 POKE RAM08,A 150 REM MUST BE 0 TO 255 160 LET FILEAPAGE=0*16 170 POKE 45440,FILEAPAGE + TOOLKITPAGE The program would find from the Minimap the current Toolkit and File A (program) page numbers. The Minimap number is always made up of File A "Page" number multiplied by 16 plus the Data/Toolkit page number. Then POKE the RAM - RAM08 - in the Toolkit area with A.Strings and decimal numbers would take more than one memory location to store them, so the user must devise a system to transfer them correctly. The new POKE to be made to the Minimap must then be calculated to keep the Toolkit page the same but to alter the File A page to 0. When the POKE has been done the program in the File A section of Page 0 will then be operating, so the number must be retrieved by a LET A=PEEK RAM08 somewhere in the program. Basicare has provided no hints in the documentation on how variables should be passed between pages and has left it to the user to devise a system which will lead to non-compatible software on the same system. Apart from some printer routines, the user is left to make up his software. Each system may be individual to the user but it would have been pleasant to see some software available. The Data area can also be used to transfer variables from one page to another but cannot be used for machine code. That is because of the way the ZX-81 hardware was designed. On a non-Minimap system that can be used as part of Basic memory by POKEing two of the system variables to alter RAM-TOP. On the Minimap system, however, the program must be stopped from using that area for Basic as it would destroy the program when any switching was done. The same method as used in the Toolkit area therefore must be used to transfer variables from page to page. Using that area - 8K long - for the transfer of variables leaves the Toolkit area free for the controlling routines in EPROM or RAM. The RAMOS module can be used only in that area and requires a jumper wire to change it from its normal Toolkit area place. The use of the path area is not mentioned in the documentation but I assume that it might be something similar to the BBC computer TUBE interface which allows you to have a common memory area between various computers. The SLOT area is where all the input-output devices are located, such as printers, disc drives and ports for controlling devices outside the computer. It is divided into seven SLOTs and each has its own set of addresses with the 4K area of memory. The device types-in each SLOT which can be divided into four device types and each device type has up to 32 addresses allocated to it. The Pericon and Minimap are the only devices available for that area. The Minimap uses SLOT 0 and the Pericon SLOT 7. The Pericon modules contain 8255-type, three-port chips, one of which is used to drive a parallel Centronics-type printer. The Pericon-C module can be used to drive any printer as the software program is stored in one of the File A pages. Storing different routines in different pages allows you to use them as one long program, since when you jump to a new page all the system variables are changed, too, so you continue where you ceased when you last used the page. When you set up a program you must go through all the pages to be used and RUN the program in them, so that when you return to a page you do not have only a LIST of the program. Menus in each page would help to give you the choice of jumping to another page or using the routine in the current page. The hardware is fairly simple to use; if there are any complications with a particular module Basicare provides a program of part Basic and part machine code which will help you. That is true only of the USERFONT and the Pericon printer modules. The details on the system are of a technical nature and very sparse on how the system works inside the modules. The details are split into sections to go with each module and although there is a brief description of the system at the beginning, it is not sufficient to help the first-time, non-professional user. Programs and routines to enable you to make an easier use of the system, which is complex, are nonexistent. It would have been better if Basicare had produced a manual which described the system in its entirety than to split the information into details on the individual modules. Some software routines should be made available on tape or in EPROMs to allow the user to control the system he is trying to use. Routines such as the automatic transfer of certain variables between pages using a specified module in the Data or Toolkit areas would help. The storage of printer routines, for instance, should not occupy RAM space in the main program - File A - area. I know that restricts the use of the system but it allows users to swap software or for Basicare to provide some standard programs on tape. The minimum usable system would therefore have to consist of a Persona Minimap - because there are cheaper ways on the ZX-81 to have more memory in a 64K memory map - at least two pages of RAM and a RAMOS module in which to store data and machine code routines. All of the software would have to be run in from tape, unless you invested in a DROM module or had someone program it into a ROM. That means that the program and data would first have to be loaded into the File A area and then transferred to the Toolkit area. In that case the high-speed cassette system or disc system Basicare says it is producing would be useful, as well as some machine code routines to transfer data from one area of memory to another. Dynamic memory of 52K and up to 64K of Toolkit/Data area memory can be provided on the system - not 1MB as the advertising suggests - and this will take some organising. Any commercial software bought for use on the ZX-81 will have to be limited to 16K, unless modifications are made to it to make use of the Basicare system way of doing things. The hardware works well and so long as the power can be supplied will allow the user to extend the RAM and ports to its maximum. The connection to the ZX-81 is good and the system should not suffer from white-outs. The user can extend the system as and when he wants but is restricted at the moment to Basicare modules; none of the Sinclair equipment apart from the printer will work. The software and documentation with the system needs to be expanded to make it easier to use. Its popularity will depend on whether Basicare can produce Personas for different computers and whether it and other manufacturers produce sufficient modules for it. The cost must be compared to the need to have extra memory, as its initial cost is reasonably high.

'Apart from printer routines, the user is left to make up his software'

'The user is restricted at the moment to Basicare modules'

Memory map of the ZX-81 using Basicare. 0K to 8K: ROM Area (Not Switched) 8K to 16K: Toolkit Area (Switch 1) 8K 16K to 32K: File A Area (Switch 2) 16K 32K to 48K: Data Area (Switch 1) 8K 48K to 52K: Path Area (Not Switched) 4K 52K to 56K: Slot Area (Not Switched) 4K 56K to 64K: File Area B (Switch 2) 16K The two switches shown are independent of each other and switch 2 can choose only the first four pages.

Reviews from people here

Sign in to write about this, or make an account. It takes a minute and lets you correct the catalogue too.

This entry100% complete

Everything ZXDB can hold about this is here.

Sign in to correct or add to this.

See what has changed about this entry

Share this entry

Hold the rights to this and want it taken down?