THIS INVENTION relates to an apparatus for and a method of vending software.
[0001] Computers for use at home and video game machines are becoming increasingly popular
and a large amount of commercial software is available for use with such machines.
At present, a person wishing to purchase a particular computer program must purchase
a cassette, disc or cartridge preprogrammed by the manufacturer. In order to cater
for the consumers needs, a retailer must stock a wide variety of different computer
programs, for example different video games, which necessarily means that the retailer
has to maintain a large stock of the cassettes, discs or cartridges on which the various
programs are stored. Maintaining such a large stock is inevitably expensive and moreover
such a large stock will occupy a not inconsiderable volume of the retailer's premises.
[0002] It is an object of the present invention to provide an apparatus for and a method
of vending software which overcomes or at least mitigates the problems described above.
[0003] According to one aspect of the present invention, there is provided apparatus for
vending software, comprising token operated actuating means, memory means storing
an item of software, means for receiving a memory module in which the item of software
is to be stored and control means for causing the item of software to be written into
a memory module inserted into the receiving means upon insertion of a token into the
token operated actuating means.
[0004] Preferably, means are provided for changing the item of software stored in the memory
means.
[0005] Conveniently, the changing means comprises a further connector means for receiving
a master module in which a desired item of software is stored and means for replacing
the item of software stored in the memory means with the item of software stored in
the master module.
[0006] According to a second aspect of the present invention, there is provided apparatus
for vending software, comprising token-operated actuating means, memory means storing
a plurality of different items of software, means for receiving a memory module in
which computer program an item of software is to be stored, selector means for allowing
a user to select a particular item of software stored in the memory means and control
means for causing a selected item of software to be written into a memory module inserted
in the receiving means upon insertion of a token into the token-operated actuating
means.
[0007] Generally, the memory means comprises a plurality of memory units each storing a
different item of software. Alternatively, the memory means may comprise the memory
means comprises a single memory unit wherein each item of software is stored. Normally,
the items of software stored in the memory means comprise a plurality of different
groups of items of software, each group being compatible with a particular playing
machine and a plurality of receiving means may be provided, each receiving means being
each arranged to receive a memory module compatible with a particular playing machine.
[0008] Conveniently, the apparatus includes means for determining the number of items of
software produced by a particular software manufacturer which have been chosen over
a particular period and means for thereby determining the royalty payable to the software
manufacturer. The determining means may comprise an electronic recording unit provided
in the apparatus for recording the number of items of software chosen from each software
manufacturer which may be provided in combination with a transportable reading unit
for reading the information stored in the recording unit so that the information may
be later input to a computer. Means may also be provided for marking each token inserted
into the machine with a code identifying the item of software chosen so that the number
of times a particular item of software is chosen over a given period can be recorded.
[0009] In a prefer-red arrangement, display means are provided for displaying an image or
sequence or images representing a selected item of software and interface means may
be provided for enabling a microcomputer to be connected to the apparatus so that
the selection of software items stored in the memory means can be altered. Printing
means may also be provided for printing out instructions for using the selected item
of software.
[0010] Preferably, means are provided for erasing any item of software stored in a memory
module inserted in the or the selected receiving means prior to writing the selected
item of software into the memory module and usually, means are provided for determining
whether a memory module inserted into the or the selected receiving means is faulty
and/or whether the memory module is compatible with the or the selected receiving
means and means are provided for indicating to a user of the apparatus that a memory
module is faulty and/or incompatible.
[0011] In a third aspect, the present invention provides a method of vending software, comprising
writing an item of software stored in memory means into a memory module upon insertion
of a token into token-operated actuating means.
[0012] In a fourth aspect, the present invention provides a method of vending software,
comprising selecting an item of software from a plurality of different items of software
stored in memory means in accordance with instructions input to selector means by
a user and writing the selected item of software into a memory module received in
memory module receiving means upon insertion of a token into token-operated actuating
means.
[0013] Preferably, an item of software is selected from one of a plurality of groups of
items of software upon instructions from the user, each group of items of software
being compatible with a particular playing machine and the number of items of software
produced by a particular software manufacturer chosen over a given period may be determined.
Each token inserted into the actuating means may be marked with a code identifying
the item of software chosen so that the number of times a particular item of software
is chosen over a given period can be determined.
[0014] The word 'token' as used herein includes a coin, bank note, plastics card or credit
card or any other similar means.
[0015] The phrase 'item of software' as used herein means digitally encoded information,
for example, data, graphics information or a computer program. Preferably, the or
each item of software is a computer program, for example a video game, a business
or an educational computer program. The item of software will be used with a playing
machine which in the case of a computer program will comprise a computer or video
games machine. Of course, if, for example, the item of software is a piece of music
is to be recorded on a cassette, then the playing machine will normally comprise a
cassette recorder.
[0016] The present invention also provides a memory module whenever programmed by the above
described apparatus or method.
[0017] In another aspect, the present invention provides a memory module for use with apparatus
in accordance with the first or second aspect, wherein a read/write connection for
a memory device in the module is provided by plating on a printed circuit board carrying
the memory device, by an optical coupling or by a Hall effect device.
[0018] In the preferred arrangement each item of software comprises a computer program which
may be a video game, an educational or business program or any other form of computer
program.
[0019] The present invention provides the advantage that it enables a retailer to have available
a large selection of items of software without having to keep large stocks of cartridges,
tapes or cassettes. Moreover, the memory modules may be reprogrammable so that a user
of the machine can replace the original selected item of software with a new one at
a lower cost than the cost of purchasing a new cartridge.
[0020] For a better understanding of the present invention, and to show how the same may
be put into effect, reference will now be made, by way of example, to the accompanying
drawings, in which:
FIGURE I is a schematic plan view of a front panel of a casing of apparatus embodying
the invention;
FIGURE 2 is a sectional view through the casing of the apparatus of Figure I;
FIGURE 3 is a simplified schematic block diagram illustrating the general features
of apparatus embodying the invention;
FIGURE 4 is a flow chart illustrating the operation of the apparatus of Figure 3;
FIGURE 5 is a further flow chart illustrating the operation of an electronic accounting
system for the apparatus.
FIGURE 6 is a simplified block diagram of a specific embodiment of apparatus in accordance
with the invention;
FIGURE 7 is a simplified block diagram of a cartridge interface circuit of the apparatus
shown in Figure 6;
FIGURE 8 is a simplified block diagram of a card reader/keyboard interface circuit
of the apparatus shown in Figure 6;
FIGURE 9 is a simplified block diagram of a lamp and printer interface circuit of
the apparatus shown in Figure 6;
FIGURE 10 is a simplified block diagram of a sound circuit of the apparatus of Figure
6;
FIGURE I is a circuit diagram of a cartridge or memory module for use in the apparatus
of Figure 6; and
FIGURE 12 is a front view of a casing of the apparatus of Figure 6.
[0021] Referring now to the drawings, Figures to 3 illustrates schematically apparatus embodying
the invention for vending software. The apparatus illustrated is specifically intended
for the vending of software in the form of a computer program, although, of course,
it could be used for vending other forms of software.
[0022] The apparatus allows a computer program stored in memory storage means of the apparatus
to be written into a memory module which will later be used to input the program into
a computer used at home or a video games machine. Preferably, the memory modules are
memory cartridges designed to be slotted into a socket provided in the computer or
video games machine although of course the memory modules could comprise floppy disc,
tape or other suitable memory storage means. As will be appreciated, the amount of
memory storage required for a program will vary from program to program. Accordingly,
memory modules having different memory sizes, for example 4K, 8K or 16K, may be provided.
[0023] As shown in Figure 3, the apparatus comprises a number of memory module or cartridge
ports I in which a blank memory module designed to be plugged into a socket provided
in a computer or video games machine may be received. Usually, the blank memory module
will incorporate a programmable read only memory which is preferably an electrically
erasable programmable read only memory (EEPROM) or alternatively, the memory module
may incorporate battery backed up random access memory. Each of the cartridge ports
I is designed to accept a particular memory module compatible with a chosen commercially
available home computer or video games machine. Thus, as shown in Figure I, a first
cartridge port la is designed to accept memory modules compatible with an Atari (Registered
Trademark) computer or video games machine, a second cartridge port Ib is designed
to accept memory modules compatible with a IntelIivision (Registered Trademark) video
games machine and a third cartridge port Ic is designed to accept memory modules compatible
with a third popular computer or video games machine. The choice of the third computer
or video games machine may of course be determined either by the manufacturer or by
the retailer.
[0024] As shown in Figure 1, display sections 2 are provided on a front panel 3 of a casing
4 of the apparatus. Each display section 2 gives details of a particular computer
program and preferably includes a drawing or photograph illustrating the operation
of the program, In the arrangement shown, up to 96 different games can be selected.
A number or code is inserted in each display section and a particular computer program
is selected by entering the associated number or code into a memory of a central processing
unit 5 (Figure 3) via a keyboard 6 as illustrated in Figure 1. The keyboard 6 shown
is, for convenience, a hexidecimal key pad. However, it would of course be possible
to use a key pad only having the digits 0 to 9.
[0025] The apparatus is activated by inserting a token into a token-operated actuating device
7 via a token receiving port 8. The token may comprise a coin, a bank note, a specially
designed card bearing, for example, a coded magnetic strip issued to the user by the
retailer in exchange for money or a special credit card issued by the manufacturers
of the apparatus or exceptionally the retailer.
[0026] The central processing unit 5 receives signals from the token-operated actuating
device 7 in order to determine when a token has been inserted into the port 8. The
CPU 5 also scans, via a scanning bus 9, the status of the cartridge ports I so as
to determine when a memory module has been inserted into a port and to identify the
particular port chosen.
[0027] As shown in Figure 3, the computer programs are stored in memory means 10. In one
arrangement each computer program is stored in a separate memory unit. It should be
understood that because of the incompatibility of different computers and video games
machines, it will normally be necessary to store a version of each program compatible
with each of the three computers or video games machines selected if the full range
of programs is to be provided for each computer or video games machine. Alternatively,
different selections of programs could be provided for each computer or video games
machine. Accordingly, it will normally be necessary to store three different versions
of each computer program. Preferably, each different version is stored in a separate
memory unit. Each memory unit may be, for example, a ROM cartridge plugged into a
receiving socket (not shown) in the apparatus, a tape or disc or other suitable memory
storage means, such a memory unit may of course be replaced as required by another
memory unit carrying a different program when the retailer considers that a change
in the selection available is desirable.
[0028] The memory units 10 may be divided into three groups, a first group containing programs
which are compatible with a first computer or video game machine, for example the
Atari Home Computer, a second group compatible with, for example, the Intellivision
Video Games Machine and a third group compatible with the third selected computer
or video games machine. Each memory unit in a particular group will normally be connected
to common data, enable and address buses. Of course, should the central processing
unit have sufficient address memory space then all the memory units may be connected
to single data, address and enable buses.
[0029] In an alternative arrangement, the memory units 10 may be replaced by a disk or other
single common storage system, in particular a floppy disc storage system. Preferably,
the floppy disc storage system has twin disc drives and most conveniently the discs
used are double-sided, double-density discs so that the selection of programs available
may be stored on the minimum number of discs.
[0030] The operation of the apparatus will now be described with particular reference to
the flow chart illustrated in Figure 4. Thus, initially, a customer purchases a blank
module compatible with a particular type of computer or video games machine with which
he wishes to use his selected program and, if necessary, a specially designed card,
which may be made of a plastics material or paper card for insertion into the token
port 8 from the retailer.
[0031] The central processing unit 5 will have caused an "insert cartridge" light 12 on
the front panel 3 of the apparatus casing 4 to light up once the last cartridge inserted
into a cartridge port I has been removed as indicated at 13 in the flow chart of Figure
4. The central processing unit then scans the cartridge ports I, as indicated at 14
in Figure 4, until it detects that a cartridge has been inserted into a particular
port I by the user. The central processing unit 5 then checks whether the RAM of the
inserted cartridge is faulty as indicated by step 15 in Figure 4. If the CPU 5 determines
that the RAM is faulty or that the cartridge inserted is the wrong type of cartridge
for that particular port, a "Faulty Cartridge" light 16 on the front panel 3 will
be caused to flash and a "Remove Cartridge" light 17 will be lit instructing the user
to remove the faulty cartridge, obtain a replacement from the retailer and begin the
above procedures again (step 15a in Figure 4). The CPU 5 also checks to determine
that the inserted memory module has the appropriate memory storage size for the selected
game and will cause the 'fauity cartridge' light to be lit if the memory storage size
in the module is too small or excessively large for the selected program and will
request the user to remove the cartridge. If however the central processing unit 5.
determines that the inserted memory module is not "faulty", then the CPU 5 will cause
an "Insert Token" light 18 on the front panel of the casing to flash. The CPU 5 waits
for a signal from the token-operated actuating device 7 to indicate that a token has
in fact been inserted into the token port 8 (steps 19 and 20 in Figure 4). Once the
CPU 5 determines that a token has been inserted, it causes a "Select Game" light 21
to flash and commences to scan the keyboard 6 to determine the program selected by
the user (steps 22 and 23 in Figure 4). If the CPU 5 determines that the user has
in fact entered his selection via the keyboard 6 (step 24 in Figure 4), then the programming
instructions of the CPU 5 will address the area of the single memory means memory
associated with the number input via the keyboard or will, as appropriate, cause the
memory unit 10 associated with the number input via the keyboard 6 to be enabled via
the bus I and will commence to load the program stored in the addressed memory area
or the selected memory unit into its internal memory. Once the selected program has
been loaded into the CPU's internal memory, then the program instructions of the CPU
5 will cause the selected program to be written into the memory module inserted in
the chosen cartridge port I via a read-write line 25. (Step 26 in Figure 4). When
the selected program has been loaded into the memory module, the CPU 5 determines
whether the program has been loaded correctly and if not reloads the program into
the memory module. Once the CPU 5 has determined that the selected program has been
correctly loaded into the memory module, a "Remove Cartridge" light 26 on the front
panel 3 (steps 27 and 28 in Figure 4) will be lit to instruct the user to remove the
programmed module. When the user has removed the correctly programmed memory module,
the "Insert Cartridge" light 12 will begin to flash again to indicate that the apparatus
is ready for the next user. However, if the CPU 5 determines that the selected program
has not loaded correctly on the second attempt, then the "Faulty Cartridge" light
will begin to flash and the "Remove Cartridge" light will be lit advising the user
to obtain a replacement memory module and commence the above procedures again.
[0032] Preferably, although not necessarily, the apparatus incorporates a printer 11 (Figure
3) which, when a selection is made and is written into the memory module inserted
in the selected port, will print information stored in an area of the memory means,
or a separate memory means, associated with the chosen selection detailing the instructions
and any other information necessary to enable the user to use the selected program.
The printer may also provide the user with a receipt.
[0033] The instruction lights 12, 16 to 18 and 21 may, of course, be replaced by a visual
display unit (VDU) in the form of a cathode ray tube (CRT), a liquid crystal display
device (LCD), a light emitting diode display (LED) or other similar display unit on
which messages can be displayed under the control of the CPU 5. Such a display could
provide the prompt messages "Remove Cartridge", "Select Game", "tnsert Token", "Insert
Cartridge" and "Faulty Cartridge" provided by the instruction lights as well as messages
such as "Selection Made - (Game Title)" when the CPU 5 determines that a selection
has been made and "Game Being Programmed" during recording. It will be appreciated
that the use of such a visual display unit enables the apparatus to display a larger
number of messages without substantially increasing the space required on the front
of the machine. Thus, for example, the message "Faulty Cartridge" at present indicated
by light 16 could be replaced, when using a VDU, by separate messages such as "Fautty
Memory" when the memory of the memory module is determined to be faulty or "Incompatible
Cartridge" when a cartridge is inserted in the wrong port or 'wrong memory size' when
the module inserted has insufficient or excessive memory space for the selected program.
Conveniently, when the display provides the message indicating the title of the game
selected and the machine with which the game is compatible when a selection is made,
it will request the user either to confirm that the correct game has been selected
by pressing a key or tabulation (not shown) marked 'yes' or to press a button or key
(not shown) marked 'no' if the user has made the wrong selection. If the wrong selection
has been made and the 'no' key or button pressed, the display will provide a message
requesting the user to enter the correct selection via the keyboard.
[0034] As has been mentioned above the memory modules need not necessarily comprise battery
backed-up RAM and could in fact comprise any conventional memory storage means used
with home computers and video games machines. In particular, a memory module may comprise
an electrically eraseable read only memory module, in which case it would be necessary
to incorporate EEPROM programming means within the apparatus shown in Figure 3.
[0035] Advantageously, as in the case described and in the case of most other memory storage
devices including electrically eraseable read only memory modules, the memory modules
may be reprogrammed with a new selection when the user no longer requires the first
selected program. Thus, where the memory modules comprise electrically erasable read
only memory means, the CPU 5 will, when it detects that an inserted cartridge already
has a program stored in its memory, cause an electrical erase signal to be sent to
the cartridge via the port I in which the cartridge is inserted to erase the original
program before attempting to load the new program into the cartridge memory.
[0036] If the memory module comprises erasable read only memory means, then a respective
erase unit incorporating a source of ultraviolet light will be associated with each
port so that, when the CPU 5 detects the existence of a program in the cartridge as
initially inserted, the ultraviolet light source will be actuated to erase the original
program before the new program is loaded into the memory. Of course, where the memory
module is a conventional tape cassette or a disc, for example a floppy disc, it will
not be necessary to erase any original program because the new program may be written
over the original program.
[0037] It should of course be appreciated that although the main commercial use for the
apparatus described will be in the vending of computer programs in the form of video
games, the apparatus may also be used to vend computer programs for educational, business
or other purposes.
[0038] As described above, the memory unit 10 comprises commercially available ROM cartridges
and, as shown in Figure 2, the memory units 10, and of course the corresponding display
sections 2, which will in this case each comprise the display material provided on
the ROM cartridge, may be replaced as required by removing the transparent front panel
3 by use of a key 30 or any other suitable release mechanism. Of course, although
separate memory units are shown for each particular version of each game, all versions
of all games could be stored in a single memory storage unit, for example a magnetic
disc or tape storage unit.
[0039] Figure 5 is a further flow chart illustrating the operation of an electronic accounting
system for the apparatus described above. As shown in Figure 5, the central processing
unit 5 determines when a customer selects a particular computer program, in the example
shown a video game, with which particular home computer or video game machine the
selected program is compatible. A tally of the number of copies made of each program
produced by a particular software supplier is recorded in an electronic tally unit
31 and, at predetermined intervals, a representative from the manufacturer will read
the data stored in the electronic tally unit 31 by means of an electronic tally reader
32. The data thus stored in the electronic tally reader may then be input to a computer
in the manufacturer's accounts department. The accounts computer will be programmed
so as to determine the number of games or other software produced by a particular
software manufacturer which have been sold thereby to determine the royalties payable
to each software manufacturer. The accounts program also allows an analysis of the
games marketed to be made to enable the manufacturer to determine which of the games
or other software are most popular. This information may also be passed to the manufacturer's
software development department so that they may determine the type of programs required
by the consumer. The accounts program also allows for automatic invoicing of the retailers
involved. As a safety check in case of failure of the electronic tally unit, where
the tokens are in the form of magnetized plastic cards provided by the retailer, then
apparatus may be provided in the token-operated actuating mechanism which, under the
control of the central processing unit 5, marks an inserted token with a code identifying
the particular computer program selected. The thus marked tokens will be retained
in the apparatus so that a manual accounting procedure may be carried out if necessary.
[0040] In a preferred arrangement, a further memory means (not shown) is provided to store
accounts details, such as the total number of sales over a given period. A socket
(not shown), in the form of a further cartridge port, may then be provided in the
apparatus so that, when a representative of the manufacturer, or owner of the apparatus
inserts a memory module into the further port, the CPU 5 will cause the information
stored in the further memory means to be written into the memory module. The thus
stored information may then be downloaded into the manufacturer's accounts computer
via an appropriate reading device. The further cartridge port may be supplemented
or replaced by a printer (which could be the same printer as the one used to supply
instructions to a purchaser of a game) so that a hard copy of the information stored
in the accounts memory means may be provided when the appropriate instructions are
input to the CPU 5 via, for example, the keyboard 6 or a separate input device. Conveniently,
the printer will be an impact printer so that carbon copies of the printout may be
made, one copy of the printout being retained by the retailer and the other copies
by the representative for accounts purposes.
[0041] In an alternative arrangement, a representative of the manufacturer may be provided
with a separate portable printer which may be plugged into an appropriate socket in
the apparatus: When the CPU 5 detects that such a printer has been connected to the
appropriate socket, the CPU 5 will cause the information stored in the further memory
means to be printed out. Such a portable printer may form part of a portable computer
system which could also perform basic accounts calculations on the information. received
from the further memory means so that the retailer can be immediately provided with
an invoice and, conveniently, details of the number of copies made of each selection
so that he can determine which selections are most popular.
[0042] A 'call for service' indicating light may also be provided on the apparatus to indicate
to the retailer when any coin or token receiving cash box in the apparatus is nearly
full so that he may request a representative of the manufacturer to call and empty
the box.
[0043] Of course, other arrangements for storing the computer programs within the apparatus
may be used. In particular, the memory means may comprise a single memory into which
a desired computer program is loaded by the retailer in response to a customers request.
In such a case, the retailer would insert a master cartridge carrying a copy of the
required program into an appropriate master cartridge port in the apparatus to allow
the CPU 5 to read the program stored in the master module and write it into a cartridge
inserted in a cartridge port I. In such arrangement, there would of course be no requirement
for the provision of a keyboard on the front of the apparatus.
[0044] Each blank memory module may have a message recorded on it indicating that the module
is a blank memory module for use with the apparatus- Such a message will be erased
from a module inserted in a port after a token is inserted into the token receiving
port and the CPU 5 has determined that the module is not 'faulty' and so will prevent
any user of the apparatus from obtaining two blank memory modules from the retailer,
using a single token to write a selected program into one memory module and then at
a later date returning the blank memory module claiming that the program has not been
correctly written into the memory and demanding a replacement free copy of the alleged
selected program. In such a case, when the CPU 5 detects that a module carrying the
message has been inserted it will display the message on the VDU or light an indicating
light to advise the retailer that the memory module has not previously been used.
[0045] Also, although as described above, the operation of the apparatus is controlled by
the software instructions of the CPU 5, the control apparatus could be hard wired.
[0046] Figures 6 to 10 illustrate a specific example of the apparatus described above in
general terms with reference to Figure 3 while Figure 1 I shows one form of a casing
or housing suitable for the apparatus of Figures 6 to 10 and Figure 12 is a circuit
diagram of a cartridge for use in the apparatus of Figures 6 to I0.
[0047] Referring now to Figures 6 to 11, the apparatus comprises a microprocessor 40, preferably
a 6809 type of microprocessor, which controls the overall operation of the apparatus.
It should be appreciated that, in the interests of simplicity and clarity, the usual
control signals provided by the microprocessor, including, for example, clock signals,
have been omitted from Figure 6. The microprocessor 40 has a t6-bit address bus 41
and an 8- bit data bus 42 which, via appropriate decoding, provides signals to the
memory of the apparatus and to various interface circuits. Thus, the 8-bit data bus
42 is connected to the external program memory of the microprocessor 40. The external
program memory is arranged to store the software for operating the microprocessor
and may also store accounting software for carrying out preliminary accounting tasks.
The program memory comprises, in the arrangement shown, three 8K (8 kilobyte) eraseable
programmable memories EPROMS 43 preferably of the type 2764 and one 4K (4 kilobyte)
eraseabte programmable memory 44 which is preferably of the type 2732. The address
signals for the 8K EPROMS 43 are provided by the address lines 0 to 12 of the address
bus 41 while the address signals for the 4K EPROM 44 are provided via the address
lines 0 to I of the address bus 41. Lines 13 to 15 of the 16 bit address bus 41 are
connected to a I of 8 decoder/demultiplexer 45 which is preferably of the type 74LS138.
The decoder 45 provides eight output signals YO to Y7, the output signals Y4 to Y6
providing respective inputs to the chip enable inputs CE and output enables OE of
the three 8K EPROMS 43. The decoder 45 also provides a signal on its output line Y7
to the output enable OE of the 4K EPROM 44, the chip enable signal CE for the 4K EPROM
44 being provided via the address line 12 of the address bus 41.
[0048] The apparatus is provided with random access memory to provide a buffer store for
a program being transferred from the main memory store of the apparatus which, in
the present case, comprises a 5 Megabyte hard disk system (not shown), to a cartridge
inserted into a cartridge port of the apparatus and battery backed-up random access
memory to provide storage for accounts data. As shown in Figure 6, the random access
memory of the apparatus comprises eight 2K CMOS RAM chips 45 each of which is preferably
of the type 6117. Four of the 2 K chips 45' are backed up by a 3.4 volt nickel cadmium
battery 46 to provide the accounts data storage. The other four RAM chips 45" provide
the buffer store for the program being transferred. The data bus 42 of the microprocessor
40 supplies the data signals to each of the RAM chips 45 while lines 0 to 10 of the
address bus 41 provide the appropriate address signals for the RAM chips 45. Lines
11, 12 and 13 of the address bus 41 are input to a 1 of 8 decoder/demultiplexer 47
which is preferably in the form of a 74LS 138 integrated circuit. The decoder 47 provides
8 outputs which provide the respective chip select signals for the RAM chips 45' and
both the output enable and chip select signals for the RAM chips 45". Reading of data
to and writing of data from the RAM is controlled by a read/write line 58 from the
microprocessor 40.
[0049] The address bus 41 and the data bus 42 are each also connected to a cartridge interface
circuit 48, a lamp and printer interface circuit 49, a sound circuit 50, a disc interface
51 for connecting the apparatus to the 5 Megabyte hard disc system, an RS232 interface
52 for connection to a portable computer, an LCD interface/driver circuit 53 and a
card reader/keyboard interface circuit 54. A further I of 8 decoder/demultiplexer
55, again preferably of the type 74LSI38, is connected to address lines 2, 3 and 4
of the address bus 41 and provides eight outputs each of which provides a respective
select signal to one of the interface circuits 48 to 54.
[0050] Each of the various interface circuits 48 to 54 will now be described in greater
detail with reference to Figures 7 to 10 and 12 of the drawings.
[0051] The cartridge interface circuit 48 provides an appropriate interface to the cartridge
ports 55a, 55b and 55c of the casing shown in Figure 12. Thus, the CARTSEL2 signal
from the decoder 55 is supplied to a 1 of 4 decoder/demultiplexer 56 which preferably
forms one decoder of a dual I of 4 decoder/demultiplexer chip of the type 74LS139.
The address line 0 of the address bus 41 is also supplied to the decoder 56. The decoder
56 supplies, on outputs Y2 and Y3 thereof, signals to respective inputs of 2-input
NOR gates 57 which are preferably provided by two gates of a quad 2-input NOR gate
chips 74LS02. The read/write line 58 from the microprocessor 40 is supplied to the
other input of each of the NOR gates 57 and the output of each of the NOR gates 57
is supplied to a respective one of two Octal 3- state transparent latches 59 which
are preferably of the type 74LS373. The latches 59 provide a 16-bit cartridge address
bus 60. The data bus 42 of the microprocessor 40 is also supplied to a peripheral
interface adaptor (PIA) 61 which is preferably of the type MC6821. A cartridge select
signal CARTSELI is also supplied to the PIA 61 from the decoder 55. Port A of the
PIA 61 provides a cartridge data bus 62 while bit 0 of port B of the PIA 61 provides
a cartridge read/write signal CWR and bits 1 to 3 of port B of the PIA 61 provide
respective select signals ATARISEL COLECOSEL and VICSELto associated 1 of 4 decoder/demultiplexers
63, each of which is preferably in the form of a type 74LS 139 chip. Each of the decoders
63 is also connected to address lines 15 and 14 of the cartridge address bus 60. Each
of the decoders 63 provides four chip select signals for the respective type of cartridge
as will be discussed hereinafter.
[0052] The cartridge address bus 60 and the cartridge data bus 62 are supplied to each of
the cartridge ports 55a to 55c together with the chip select signals from the appropriate
decoder 63 for that port. In the arrangement shown, the Ports 55a, 55b and 55c are
arranged to accept a cartridge for an "Atari" Home Computer, a "Coleco" cartridge
or a cartridge for a "VIC-20" home computer. It should, of course, be appreciated
that the apparatus could be adapted for use with any type of cartridge.
[0053] Figure I is a circuit diagram of the printed circuit board of a typical cartridge
for use with the apparatus. In particular, Figure 11 shows a typical cartridge for
use with an "Atari" Home Computer where it is necessary to provide a read/write connection
so that the cartridge can be used with the apparatus. The read/write connection is
preferably provided by plating part of the circuit board to provide a read/write line.
Alternatively, a Hall Effect device or an optical coupling could be used to provide
the read/write connection.
[0054] As shown in Figure 11, the memory of the cartridge is provided by two 2K CMOS RAM
chips 64a and 64b, each of which preferably comprises an MSM5128 CMOS RAM chip, backed
up by an LI/MNO
2 3.0 volt battery 65. It will, of course, be appreciated that the chips 64 merely
provide capacity for storage of a program of up to 4K in length. However, it is, of
course, possible to increase the memory capacity of the cartridge so that sufficient
memory space is provided for any length of program by, for example, incorporoting
further 2K CMOS RAM chips.
[0055] A + 5V power supply for the cartridge is provided via the respective cartridge port
55 from a power supply unit (not shown) of the apparatus. The power supply unit also
provides a + 12V and a - 12 V signal for the apparatus and is, as is usual, associated
with a cooling fan to ensure that the apparatus does not overheat.
[0056] Data is supplied to the RAM chips 64 via the 8-bit cartridge data bus 62 and is stored
at appropriate addresses in the RAM under the control of address signals provided
by lines 0 to 10 of the cartridge address bus 62. Line 11 of the cartridge address
bus 62 is connected to the coupled inputs of a first 2-input NAND gate 66 when a cartridge
is input to the port. The output of the first NAND gate 66 is supplied to the chip
select CS input of one of the RAM chips 64a and also to the coupled input of a further
2-input NAND gate 67. The output of the NAND gate 67 is supplied to the chip select
CS input of the other RAM chip 64b so ensuring that only one of the two RAM chips
64a and 64b is selected at a given time. One of the chip select signals from the appropriate
decoder 63 is input to the coupled inputs of a further 2-input NAND gate 68 and is
supplied to the output enable OE inputs of the RAM chips 64a and 64b. The signals
on address line I of the cartridge address bus 60 and the select signal from the appropriate
decoder 63 serve to "wake up" the battery backed-up RAM to enable data to be written
into the RAM when the cartridge is inserted into the appropriate cartridge port 55a.
The NAND gates 66, 67 and 68 preferably are provided by respective gates of a quad
2-input 74LS01 chip.
[0057] Each of the resistors RI used in the cartridge printed circuit board is of 4.7 K
in value while the capacitor CI is a 10 nf (nano farad) capacitor.
[0058] Figure 8 is a block diagram of the card reader/keyboard interface circuit 54. As
shown in Figure 8, the circuit 54 comprises a peripheral interface adapter (PIA) 69
which is preferably of the type MC6821. The PIA 69 receives a keyboard select signal
KBDSEL signal from the decoder 55 together with the 8-bit data bus 42 of the microprocessor
and bits 0 and 1 of the address bus 41. Bits 0 and I of Port A of the PIA 69 are supplied
to respective push-pull amplifiers 71, the outputs of which are connected to respective
terminals of a motor 70 so as to provide a digital control over the directions of
rotation of the motor, thereby determining whether a card or token inserted into a
token slot 72 of the apparatus is drawn into, or ejected from, the apparatus. Port
A of the PIA 69 also controls a read head 73 for reading magnetic data encoded on
a token and an erase head 74 for erasing the token before ejecting it from the apparatus.
The PIA 69 also receives signals from two optocouplers 75 which detect the beginning
and end of a token and so control actuation of the motor via the PIA 69. Each optocoupler
75 will normally comprise a light emitting diode and a phototransistor.
[0059] Port B of the PIA 69 is connected to a keyboard 76 (Figure 12) and cartridge type
selection switches 77a to 77c to detect which particular switch and keys have been
depressed by a user of the apparatus to provide the appropriate instructions to the
microprocessor 40 via the microprocessor data bus 42.
[0060] Figure 9 is a block diagram of the lamp and printer interface circuit. As shown in
Figure 9, the lamp select signal LAMPSEL from the decoder 55 is supplied to a peripheral
interface adaptor (PIA) 78 together with the 8-bit microprocessor data bus 42 and
bits 0 and I of the address bus 41. Bits 0 to 2 of port A of the PIA 78 are supplied
to a I of 8 decoder/demultiplexer 79 which is preferably of the type 74LS138. The
decoder 79 provides appropriate control signals to respective lamp drivers for each
of six fluorescent lamps 80a, 80b, 80c, 80d, 80e, and 80f provided in a recess 80'
on the front panel 80" of the apparatus (Figure 12). An instruction to the user of
the apparatus is provided on each fluorescent lamp when the lamp is actuated via the
respective lamp driver. Bits 5 and 6 of port A of the PIA 78 are supplied to a I of
4 decoder/demultiplexer 81 which preferably comprises a type 74LS139 integrated circuit.
The output of the decoder 81 together with bits 7 and 8 of port A of the PIA 78 is
supplied to a driver circuit, preferably in the form of a UCN2003A integrated circuit,
which supplies activating signals to socket lamps provided in, or adjacent, the switches
78a, 77b, and 77c to indicate which particular type of cartridge has been selected
and to an end lamp 83 to indicate when programming of a cartridge has been completed.
Port B of the PIA 78 is connected to an Octal 3-state buffer 84, preferably in the
form of a type 74LS244 integrated circuit, which provides a parallel printer port
for connection to an appropriate printer so that instructions to accompany a selected
piece of software, and accounts data, may be printed out as described above.
[0061] Figure 10 is a block diagram of the sound circuit 50 of the apparatus. As shown in
Figure 10, the sound circuit comprises a PIA 85 which receives bits 0 and 1 of the
address bus 41 of the microprocessor together with the data bus 42 and a sound select
SOUNDSEL signal from the decoder 55. Port A of the PIA 85 supplies data signals to
two 4-bit binary counters 86 which are preferably of the type 74LS161. The counters
86 also receive a 19200 Hz clock signal which is derived from the clock signal of
the microprocessor. The output of the second counter is divided by a D-flip flop 87
and then amplified and filtered by an appropriate circuit 88 for supply to a pair
of loudspeakers (not shown), the frequency of the sound produced by the speakers being
determined by the data inputs to the counters 86 from the PIA 85. The sound signal
may be used, for example, to alert a user to the fact that programming has been completed
or to alert the retailer to a malfunction on the apparatus. Bit 0 of port B of the
PIA 85 supplies an output enable signal OE to the RAM 45 to "wake up" the battery
backed-up RAM 45 to enable data to be written into the RAM.
[0062] The LCD interface/driver circuit which is not shown in detail is a conventional circuit
for supplying driving signals to an alpha-numeric LCD display 89 which provides additional
messages to the user of the machine. The RS232 interface 52 may be any suitable universal
asynchronous receiver/transmitter (UART) interface and any appropriate disk interface
51 may be used to connect the apparatus to the hard disk drive system.
[0063] The manner in which the apparatus shown in Figures 6 to 12 will now be described.
[0064] In order to use the apparatus, a person must first purchase an appropriate ticket
or token from the retailer. When the user approaches the machine, the fluorescent
light 80a will be lit requesting the user to "insert ticket". The ticket should then
be inserted into the slot 72. When the first optocoupler pair 75 detects the front
edge of the card, the motor 70 will be actuated by the microprocessor 40 via the PIA
69 and the push pull amplifier 71 to draw the token into the machine. The read head
73 will then read the magnetically encoded data on the token to ensure that the token
is valid. If the token is not valid, then the motor 70 will be activated to eject
the token.
[0065] Assuming that the card or token is valid, the microprocessor 40 will then activate
the appropriate lamp driver via the PIA 78 and the decoder 79 to switch off the fluorescent
lamp 80a and light the fluorescent lamp 80b to instruct the user to "select make of
cartridge". The user then depresses an appropriate one of the buttons 77a to 77b to
select, in the present case, an "Atari", "Coleco" or "Vic-20" type of cartridge. When
the microprocessor has determined, via signals input to port B of the PIA 69 from
the switches 77a to 77c that a cartridge has been inserted into a particular one of
the ports 55a to 55c, the fluorescent lamp 80c will be lit instructing the user to
"insert cartridge in slot indicated", the slot being indicated by the activation of
the LED or LCD lamp provided in the appropriate cartridge selection switch 77a, 77b
or 77c.
[0066] Once the microprocessor 40 detects that a cartridge has been inserted, the fluorescent
lamp 80d is activated to instruct the user to "select game number required on keyboard"
and the instructions input to the apparatus via the keyboard 76 are supplied to the
microprocessor via the PIA 69. The microprocessor 40 then retrieves the selected program
from the hard disk system (not shown) via the disk interface 51 and stores the same
in the RAM 45". The program is transferred in 256 byte sections to the RAM 45" and
the microprocessor 40 verifies that the program has been transferred correctly when
all the 256 byte sections have been stored in the RAM 45". The title of the piece
of software selected is then displayed on the alpha-numeric LCD display 89 and the
fluorescent lamp 80e illuminated to instruct the user to "check title. If OK press
CONTINUE, if not press CANCEL". If the user presses CANCEL, the lamp 80d will be actuated
so that he can correct his selection. If the user confirms that the correct program
has been selected by pressing CONTINUE, then the microprocessor will read the data
from the RAM 45" bit by bit into the inserted cartridge and will then verify that
the data representing the program has been correctly stored in the cartridge. Assuming
that the program has been correctly written into the cartridge, then the fluorescent
light 80f will be lit to instruct the user to "Remove cartridge when end light flashes"
and the end light or lamp 83 will be lit. The card or token inserted by the user may
then be erased by the erase head 74 and ejected from the slot 72 by reversing the
direction of rotation of the motor 70.
[0067] It should be appreciated that, in the arrangement described above, the apparatus
itself does not provide a display of the programs or software available. Rather, an
appropriate display is provided above the apparatus identifying each particular piece
of software by means, for example, of an image associated with an appropriate code
word which the user can then key into the apparatus via the keyboard 76.
[0068] The fluorescent lamp display 80a to 80f and the LCD display 89 may be replaced by
a visual display unit (VDU) which will provide both the instruction signals to the
user and also details of the type of software available. Thus, for example, the VDU
may display a menu to enable the user to select a particular type of software and,
moreover, may allow the user to inspect the item of software chosen before confirming
his choice by displaying a still image, or possibly a sequence of images, representing
the piece of software chosen. Such an arrangement is, of course, particularly desirable
where the items of software comprise video games. The sound circuit may also be modified
to allow the sounds produced during a video game to be simulated when the image or
sequence of images is displayed.
[0069] The VDU may be controlled by the microprocessor 40 or may have a separate microprocessor
control. Normally, the images,or sequences of images, to be displayed will be stored
in the RAM 45 although, of course, a separate store may be provided. The images or
sequences of images may be extracted from the stored programs or simulations of such
extracts.
[0070] As mentioned above, a printer may be connected to the parallel printer port provided
by the interface circuit 49 to enable, for example, instructions on how to use a piece
of software to the supplied to the user of the apparatus. The printer interface may
also be used for accounting purposes to provide the retailer with a hard copy of the
accounts relating to the apparatus in a similar manner to that discussed above in
relation to Figure 5 of the drawings. The RS232 interface 52 enables a portable computer,
such as an Epson HX20, to be connected to the apparatus. The portable computer may
be used to access and store accounts data for later output to a main frame computer
and may also be used to transfer a new selection of software items on to the hard
disk storage system.
[0071] The features disclosed in the foregoing description, in the following claims and/or
in the accompanying drawings may, both separately and in any combination thereof,
be material for realising the invention in diverse forms thereof.