Cartridges

Matthew Jones explains what they are and reviews a system for making them

 

Issue 24

Nov/Dec 86

Next Article >>

<< Prev Article

 

 

WHAT ARE CARTRIDGES?

The Atari ST computer is equipped with one of the best ranges of I/O connectors of any personal computer, including parallel, serial, MIDI and DMA ports. Independent companies have brought out software and hardware to enable you to make the best of each of these connectors with the exception of the cartridge port.

Eight-bit Atari owners will already be familiar with cartridges, a method of using programs on ROM (Read Only Memory) rather than loading them into RAM from disk or cassette. The 128K cartridge port on the ST is, however, both bigger and more flexible than the 8-bit machines 16k cartridge and can contain more than one program. On the 8-bit Atari, each cartridge would dominate the computer so that, when you had a Star-Raiders cartridge in, for instance, you could not also load a word processor from disk. On the ST, whilst the cartridge can take complete control in a similar manner, it may also be used in a manner similar to a disk drive (i.e. the program is only run when you choose to do so), or as a method for loading accessories.

So that's what a cartridge is used for, but what exactly is a cartridge? Well, it is quite simply a printed circuit board (PCB) with two or four ROM or EPROM chips, suitably programmed, with a case around it. An EPROM is an Erasable Programmable Read Only Memory, and it provides a re-usable ROM. ROMs are cheaper than EPROMs, but when you are developing a program you do not want to keep throwing away a chip costing five pounds every time you want to make a small change.

On one side of the cartridge is a connector which makes contact with a matching connector in the slot on the left side of your ST, and which connects the ROMs directly into the memory space of the 68000 processor. When the ST is booted (turned on) the operating system (O.S.) looks at this area of memory and tries to find a cartridge, taking appropriate action it one is found. Plugging in a cartridge and booting up will cause a new icon to appear on the desktop, very similar in operation to the disk icons, but with the identifier 'C'. Opening this shows you what programs you have on the cartridge. To run a program, just open it in the usual way. Note though that, unlike opening a file from disk, opening the cartridge program does not load it into RAM, it is run straight from the ROM and therefore it is exceedingly fast to 'load' and most of your RAM is available for data. Computer Concepts Fast ST BASIC is run by this method (I understand Computer Concepts used the Nexus EPROM development system). The program can be any of the usual types, i.e.. APP, TOS or TTP. If the program is an accessory, it can be run by selecting its name in the DESK menu (BackPack, a multi-purpose utility, also from Computer Concepts, uses this method).

Cartridges are obviously very fast to load and easy to use, so why are there so few about? The reason is partly that it is difficult to write a program to go into a cartridge, and partly that there has been no ST cartridge development system. Nexus has now removed the latter problem, and the rest of this article will review their development system.

NEXUS EPROM DEVELOPMENT SYSTEM

The Nexus EPROM Development System (hereafter called NEDS) is designed to provide a method of testing, simulating and programming EPROMs. Very cheap EPROM programmers that plug into the side of computers are available, so the question that must be asked is what can this system do that a cheaper system cannot? The answer lies in the test and simulate part of the description.

TESTING AND EMULATING

The NEDS has 64Kbytes of RAM on its 7 inch by 10 inch uncased PCB, as well as two Zero Insertion Force EPROM sockets, two 28 way simulation header sockets and the required logic chips. The RAM is used to hold the program and/or data that you want to be programmed onto the EPROMs (programming of 128K cartridges has to be done in two stages). The clever part of the NEDS is that this RAM can be made to simulate a ROM, either on the host system (the one into which the NED S is plugged) or, via the 28 way headers, in an external system. By either of these methods, it is possible to test your program in (simulated) EPROM without going to the trouble and expense of 'blowing' an EPROM, and then having to erase it if it did not work. The contents of the NEDS RAM will survive a reset and, for longer term development, can survive without power for up to two weeks.

IN USE

To use the NEDS, you must first plug it into the cartridge port, and then turn the computer on. You then load EPROG.PRG from disk, and you are presented with a GEM dialog which contains a list of all the different EPROM types and programming modes available. NEDS will program three different types of EPROM (2764, 27128 & 27256) in one of two ways, and they can be in 8-bit (for processors like the 6502) or 16 bit wide modes (for the ST). After making this initial selection, a window is opened in which a memory dump of either the EPROMs or the simulation RAM can be obtained, and five icons appear on the left hand side. These icons represent the EPROMs in the ZIF sockets; the simulation RAM (depicted as an icon of the four-legged woolly variety of RAM); a floppy disk; a screen; and an AUX (serial) port. These are used by dragging one on top of another. For instance, to program your EPROMs you would drag the disk over the RAM, select a file (which can be of INTEL hex, MOTOROLA hex, Hex space or binary type, a demo binary file is included on the disk) and then when the file is loaded, drag the RAM over the EPROM to make the permanent copy. The EPROMs can then be put in a cartridge board (which Nexus can supply). To see the contents of the EPROM, you drag the EPROM icon over the screen icon. The memory can be scrolled for viewing using the windows scroller bar.

As well as the icons, NEDS has a full complement of drop down menus. These allow you to: change the EPROM type; check the EPROM is blank, or programmed correctly; locate a byte (or word) in RAM or EPROM; perform a checksum of EPROM or RAM; fill or clear RAM; move RAM block; edit RAM; display the memory either as bytes, word or longwords; and set the simulation mode. Most of the functions allow you to specify a range to operate within, and all use a 'thermometer' to indicate progress.

In general you are able to do everything that you are likely to want to do to program EPROMs and simulate them. The RAM editor is very simple, and is only adequate for changing a few bytes, not extensive changes, there is no disassembler or assembler provided.

The major software deficiency at the moment is an automatic mechanism for converting your compiled language code into a form suitable for use in an EPROM. A special header is needed in the EPROM for the O.S. to recognise it and be able to use it, as well as initialisation code. Unless you are familiar with 68000 machine code, and with the initialisation method of your compiler, you may have trouble writing code for this part of the process. Nexus ask that any such software you write for the public domain be sent to them for inclusion in their package. I hope that people do this, in order to encourage less experienced users to use the system. Nexus are also considering releasing (at extra cost) compiled libraries of their simulation RAM read/write routines used in the programmer, to be used by the very advanced programmer who wishes to write his own utilities to work with the Nexus board.

THE MANUAL

The manual is supplied on disk as a file. The single sheet of instructions that comes in the package instructs you to select one of three programs depending on whether you want to have a copy on your parallel or serial printer, or on the screen. The manual assumes that you are familiar with EPROMs and EPROM programming. It gives no information about what is required from a cartridge to make the O.S recognise it, only a book reference is given (I also recommend Atari's 'Hitchhikers guide to the BIOS'). I hope that Nexus provide a section with full detail about this in future, as there is only a limited amount of information available on this subject, and it would encourage sales if you knew that you would get more detail with the system. The manual does however cover operation of the NEDS hardware and software quite adequately.

CONCLUSION

The Nexus EPROM Development System is a very capable EPROM programmer and simulator. I would certainly recommend it as such. The word development in its title is a bit misleading as it is not complete, lacking the software to make a cartridge header version from a standard linked version. A few utilities, or a new startup source for a compiler to provide this function are needed. The system is not for the beginner, but is very reasonably priced when considered for use by a software developer.

The Nexus EPROM Development System costs 201.25, socketed ST cartridge boards cost 14.75 and 28 way DIL plug EPROM simulation leads cost 11.50 (all prices include P&P and VAT)

top