Dear Reader,

We were thrilled by the warm reception of our last issue of the SA SHAREWARE Magazine. Hopefully, this issue will meet with the same approval.

As multi-media is becoming more affordable, many South Africans are investigating CD-ROM. Ted Tang provides some answers to commonly asked questions. Also included is a slightly more academic article on virus technology, covering some angles which other popular virus articles haven't touched on. A slightly more relaxing article on Basic-Zen takes a pot-shot at all those high-powered Pascal, C, Lisp, Ada etc. programmers. And there is plenty of new shareware - this time we have provided slightly more detailed descriptions but this has unfortunately reduced the amount of space available for other articles; we will try to strike a more balanced note next time 'round.

Enjoy your reading!

Jean-Paul Van Belle.

 

 

From the Editor's Desk 1

Common Questions about CD-ROM

Ted Tang 2

Computer Viruses - Current Status, Future Trends and Possible Advantages

Jean-Paul Van Belle 6

BASIC-ZEN

John Richard De Palma 16

Quotable Quotes 21

New Shareware Reviews 22

 

by Ted Tang

AUDIO CD PLAYER TO CD-ROM DRIVE

No, you cannot convert your CD audio player into a CD-ROM drive.

But, Bill Hemmings of 1:300/11 claims: I should get a nickle for all the times the question has been asked "can I use a cheap ordinary cd-rom drive for computer data". And a dollar for all the wrong answers. Because, it turns out, it not only can be done, but it's cheap. I'm not going to go into the details here, because my opinion is that it's not worth the trouble. But for those on a REALLY short shoestring, check out the July/ August issue of 'Midnight Engineering'. Everything you need to read the digital data stream is there. You'll need a device driver, however, to interface to DOS. You can order the magazine from 303-225-1410 if you can't find it on the newstand. Tell 'em I sent ya. Maybe they'll give me a free issue. Or something. Bigfoot's RBBS - Tucson,AZ - HST - (8:902/1) or (1:300/11.0)

[I read the article. It sounds like it would take a lot of technical expertise to get the computer to control the CD player. The experiment was for playing around with digital music, not reading CD-ROM discs.]

Doors/BBS Usage

Most CD-ROM databases, including encyclopedias, do not permit you to install on a BBS for public access.

Errors

Experiencing disc read errors? Try cleaning the lens with a CD lens cleaner available at any audio store and clean the disc. Disc access slow? Try increasing MSCDEX buffers.

Microsoft CD-ROM Extension

Non-removable TSR that configures your CD-ROM drive to behave like a network drive/device. Supposedly, you can get the latest version on Compu$erve. Otherwise, it is available from your dealer but not Microsoft. With DOS 5.0, you must use SETVER. Here's a brief summary of command line options-

MSCDEX [/E/K/S/V] [/D:<driver> ... ] [/L:<letter>] [/M:<buffers>]

option:

/E Use expanded memory for cache

/K Include support for Kanji character set

/S Network server support

/V View setup on installation

/L:[C-Z] DOS drive letter to use

/M:[4-xx] Cache size, 16=32K

/D:[name] Device driver name

[I don't know how multiple CD-ROM drivers would be defined]

Definitions

* CD-ROM

Means "Compact Disc Read-Only Media". It is exactly the same thing as the audio CD except for just music, it also contains data. Introduced in 1984.

* CD-I - Interactive

A Sony-Philips developed consumer oriented CD based video and audio system combining hardware and software. A home consumer version of CD-ROM, with music, pictures, and partial-screen motion video that plugs into a TV set and stereo. CD-I gives a variety of high quality digital pictures, including still photographs, graphics, and animation; and it delivers four grades of sound from AM quality for narration to CD digital audio style high-fidelity for music. However, moving video is currently only possible on 40% of the screen. CD-I is designed to deliver interactive entertainment (anything from encyclopedias to games). CD-I offers ease of use by having a microprocessor built into the CD-I player, which hooks up to a TV set and stereo system and plays audio and video CDs as well as CD-I specific applications (no microcomputer is required). The user interacts with the program using a pointing device such as a joystick or mouse.(1)

* CD-ROM XA - Extended Architecture

A CD that is a hybrid of CD-ROM and CD-I proposed by Philips, Sony, and Microsoft. This technology requires a microcomputer and gives CD-ROM users the ability to access some of CD-I's audio and video features, and CD-I users the ability to play some (but not all) CD-ROM XA discs.(1)

* CD-ROM WO - Write Once

Aka "Frankfurt Group Proposal" Proposed successor to the ISO 9660:1988 standard to support CD-WO hardware and X/Open or IEEE POSIX file systems. Contact Sun Microsystems.

Sony has marketed a re-writable CD-ROM system for in-house publishing. Cost $20,000

* CDTV

Available from Commodore.

* Magneto-optical

Magnetic media utilizing optical tracking. Not CD-ROM compatible.

* WORM

Means "Write Once Read Many". Not CD-ROM compatible.

DRIVES

Access Time: rated time it takes for the CD-ROM drive to seek to the requested position on the disc, usually 300-1500ms. See stroke for max access time spec.

Audio: most CD-ROM drives have stereo audio capability and simply require software to play a CD-Audio disc; such drives will usually have a headphone jack, volume control, and/or line out jacks; some have such jacks directly on the interface card.

Buffer/Cache: The CD-ROM drive hardware cache is the internal buffer size. It ranges from 0-64K. For software cache, see Microsoft Extension.

Caddy: provide extra protection to CD-ROM disc at additional cost. Some people complain they rattle. Not all drives use a caddy (top or drawer loading).

compatibility- Sony/Toshiba/Amdek/Chinon/Apple type Access type Philips type

rumored best price: EduCorp $5.50/10

Data transfer rate: 150-171 Kb/sec depending on interface.

Device driver: hardware specific software that handles low-level calls to CD-ROM hardware.

Error correction technique: CIRC, EDC/ECC

Interface: CD-ROM drives are either proprietary serial or SCSI.

Jukebox: Pioneer DRM-600/610 CD-ROM Changer (6-cd jukebox unit) only one known in existance.

Stroke: measurement of arm movement from inner to outter track, in CD-ROM drive case, the laser. See access time.

DISCS

Capacity: 540-720 megs per side (CD-ROM discs are rarely double sided) depending on format.

Coating: polycarbonate material (plastic)

Disc or disk: Use "disc" to refer to optical media and "disk" for magnetic media.

Format: foreign file access, HFS- compatible on Mac. High Sierra Group (HSG)- HS allows 4 path tables per byte ordering vs 2 ISO 9660 allows. ISO 9660 date formats have an additional field for offset from UTC. Pseudo compatible with ISO 9660. Docs supposedly available on Compu$erve. ISO9660- international standards organization, ANSI standard recording format for CD-ROM discs. Single case 31(8+3) character file names; limited 8 subdirectory depth. Compatible on PCs, Mac, & Sun. Kodak- photo/image storage red book- CD audio specs (44.1 Mhz) yellow book- ???

Life: 25+ years

Medium: information is pressed on alluminum as pits or lands.

Century Disc. Gold medium in between very hard tempered glass using mineral based protective coating. Designed to last 100-3000 years.

Books, Magazines, Conferences & Groups

"alt.cd-rom" Internet Usenet conference

"Brady Guide to CD-ROM" by Laura Buddine & Elizabeth Young

"CD-Rom Collection Builder's Toolkit" Softcover 190 Pages. $29.95 from Online Inc.

"CD-ROM End User Magazine" (defunct?), Helgerson Associates, Inc, free

"CD-ROM Extensions Information Packet" Microsoft

"CD-ROMs in Print 1991: The Book Version" Comprehensive international coverage of over 1,400 CD-ROMs. Up to 25 items of information on each CD-ROM in the Optical Product Directory. A NEW Macintosh Title Index. Annually in November. ISBN 0-88736-587-6 $49.50

"CD-ROMs in Print 1991: The CD-ROM Version" Provides detailed information on the 1630 Cd-ROMs currently available. Each record in this database has up to 26 items of information. $175.00 CD-ROM ISBN 0-88736-732-1

"CD-ROM Librarian Magazine" includes monthly update to "CD-ROMs in Print".

"CD-ROM Local Area Networks: A User's Guide," edited by Norman Desmarais. Just published by Meckler Ltd. It's 175 pages and costs 21 pounds... no U.S. price listed, but Meckler has an office in Westport, Conn. ISBN is 0-88736-700-3

"CD-ROM Professional Magazine" Pemberton Press, Inc, Adam Pemberton, president/publisher, rate: $86/year (bimonthly)

"CD-ROMS: Breakthrough in Information Storage" by Frederick Holtz Tab Books, 1988, TK7882.C56H65

"CD-ROM USERS GROUP" They have special offers to members. Membership is FREE. They recently had a 7-PAC of CD-ROM discs for $69. Numerous PC titles to choose from.

"CDROM" Fidonet Echomail conference; Bob Hall, moderator

"DISC Magazine" (defunct?), Helgerson Associates, Inc

"Ebsco CD-ROM Handbook" Ebsco Subscription Services

"Information processing - Volume and file structure of CD-ROM for information interchange" from ANSI, ECMA, or GED

"MS-DOS Extensions" Microsoft Press

"MS-DOS CD-ROM Extensions Programmer's Reference Manual" Laser Magnetic Storage Intl. Specify document number 75117166C. $11

"Nautilaus" monthly CD-ROM publication designed to provide a multi-disciplinary forum to present and discuss multimedia applications. Linda Davies, Ph.D., contributing editor for the Macintosh version, and Sharon Summers Ph.D for the Windows 3.0 version

"optiC-Digest Magazine" rates 3 months 4 months base $39.95 $49.95 int'l +$45.00 +$60.00 CN+$15.00 +$20.00

"Special Interest Group on CD-ROM Applications & Technology" (SIGCAT) User group sponsored by the U.S. Geological Survey which is devoted to the investigation of CD-ROM technology. Free membership.

"USGS Library/SIGCAT CD-ROM Compendium" U.S. Geological Survey Open-File Report 91-40. Great listing of lots of government CD-ROM's

 

 

by Jean-Paul Van Belle

Abstract

This article attempts to take a longer term perspective on the computer virus technology. Firstly, viruses are defined, described and classified. Popular anti-virus protection mechanisms are listed. The current impact of viruses is briefly assessed and an attempt is made to isolate and project some expected trends in virus technology. Finally, a number of potential advantages of viruses are discussed.

1. Introduction

The computer virus and its technology represent a relatively new phenomenon, although its origins can be traced back to the late fifties. The emergence of the virus technology may be attributed to a combination of factors, including the wide availability of computer resources, the increased level of connectivity, the advent of decentralized computing with a certain relaxation of security measures, the development of a hacker community, and perhaps a general decline in moral principles. All of these factors have resulted in what may be called a democratization of computer technology. This has in its turn established the necessary "critical mass" for the virus technology to develop.

The media have publicized a large number of virus attacks, not necessarily in the most accurate or factual manner. But the very fast evolution of the technology has even confused many professionals. This resulted in a lot of "hype", popular myths and misconceptions about computer viruses. An interesting study claims that "[s]tories about computer viruses may be as full of myth as they are of truth" and careful investigation of these stories led to the conclusion that "tales about the destruction wrought by Trojan horse programs were, in fact, a new form of urban legend".

Although a number of computer specialists are still of the opinion that the virus problem has been over-estimated, surveys indicate that the incidence of virus infections within academic and commercial computing environments has grown exponentially to very high levels over the past three years.

Most of the virus literature has focused on the security aspects of viruses. This has led to a relatively reactive viewpoint which is mostly concerned with the negative aspects of viruses. In this article, an attempt will be made to extrapolate a number of future trends in the virus technology which might enable a more pro-active attitude. A separate section will deal specifically with the advantages of viruses.

2. Definitions and Concepts

Definitions of viruses abound. As one extreme, the very fuzzy, broad concept used by most mass-media could be adopted. At the other end of the continuum the following definition has been proposed by Kauranen & Mkinen "a computer virus is a description of a TM whose simulation by the [universal] TM causes another description of a viral TM to appear to the tape of the [universal] TM" with the TM [Tring Machine] being a 7-tuple M = {Q, Σ, Γ, δ, q0, B, F} where each of the tuples is specifically defined as a (set of) state(s), tape symbol(s) or a function.

For the purposes of this article a more operational definition will be adequate: "a computer virus is a set of instructions which, when executed, spreads itself to other, previously unaffected, programs or files". The key property of the virus is thus its "infection" feature: it attaches itself to another piece of code which serves as its carrier or host. A virus does not necessarily need to contain destructive code, nor does it need to make exact copies of itself. Some viruses also infect previously infected files. Various plural forms of "virus" can be found in the literature: viruses, viri and virii. The most common plural appears to be "viruses" and is the form that has been adopted in this article.

Often, the term "virus" is used inappropriately to describe other types of malicious or destructive, replicating code. They are typically known by colourful names such as rabbit, bacterium, time or logic bomb. The following two types in particular are commonly confused with viruses. A Trojan Horse is any program designed to do things that the user of the program did not intend it to do. A Worm is a program that spreads copies of itself through network-attached computers. Neither program requires a host. The widely publicized American "Internet Virus" was in fact not a virus but a worm.

3. Virus Technology.

3.1 General Theory of Operation.

Viruses have two distinct operational features: a replication function and a (usually destructive) action triggered by a certain event.

The objective of the replication function is to infect as many files or systems as possible. Each time the virus code is run it attempts to locate uninfected files on the host system or any other on-line system. Sophisticated viruses employ several techniques to make this process as efficient and invisible as possible: temporary modification of file attributes, intelligent device access, keeping the reported file size as before, not modifying file date or time stamps and maintaining the Cyclic Redundancy Checksum. To keep track of their activities, virus-marker bytes are usually placed in infected files.

The ultimate aim of this covert reproduction process is usually a specific action. The trigger for the action could be an internal count of the number of infections, but is usually a specific time or date.

3.2 Virus Trigger and Action Examples.

[omitted due to space considerations]

3.3 Types of Viruses.

Since viruses attach themselves to executable code, they can be classified according to the type of their host program.

Boot infectors locate themselves in the system boot track, which is used by the operating system to initiate system operation. They often move the original code to another area on the disk. Their major weakness lies in the fact that they cannot make use of any of the operating system functions; as a result they tend to be fairly simple. Their major strength is that they are always resident, ensuring a high level of infectiousness. The Bouncing Ball and the Stoned virus are two well-known examples.

System infectors attach themselves to a operating system module, such as the command interpreter, system I/O routines or system device drivers. They are just as infectious as boot infectors but can make full use of all operating system routines, enabling very sophisticated actions.

Finally, generic application infectors infect some or all application programs or their code overlay files. They execute only when the infected application is loaded and can be further sub-divided into two categories: direct and indirect action file viruses. A direct action file virus (such as the Vienna virus) attempts self-replication immediately upon its first execution. The indirect type (e.g. Israeli) works in two distinct steps: first it copies itself into memory and hooks itself into one (or more) of the system interrupts; only at a later stage, when the redirected interrupts are called, does the actual replication or action code get executed.

From the above discussion it must be clear that viruses cannot be executed from data files. There are however a number of potential exceptions. Firstly, operating system (or program) bugs may cause data to be loaded into the code area and thus be executed by accident. Precisely such a bug in the Unix mail system was apparently exploited by the US Internet worm. Secondly, it is conceivable that certain program source code editors are modified in such a way that they add some virus code to the stored program source which will execute only when the source code is compiled. Admittedly, it would be more practical and efficient to let the compilers be the infection mechanism.

3.4 Typical ways in which viruses spread.

Viruses can enter a computer system through any of the input devices. By far the most common vehicle for viruses are removable magnetic storage media. These could be programme disks "borrowed" from a friend, colleague or computer club; data diskettes (boot sector viruses only); demonstration diskettes included with computer magazines, etc. Software piracy, academic software libraries and technicians' diagnostics disks appear to be the major culprits. Even cases of infected shrink-wrapped software have been reported where a virus was present on the developer's system and infected the master disk; or the software was infected by a first user, returned and re-wrapped by the retailer.

Another common way of spreading viruses is through communications links. The most spectacular and easiest method is trough computer networks although they have also been downloaded from bulletin board systems and public access information services.

Ultimately, no system is safe since virus code can be entered manually through the keyboard by a user or might conceivable be found on read-only devices such as CD-ROM disks or EPROM chips.

4. Anti-Virus Protection Methods.

4.1 Anti-virus Packages.

A flourishing anti-virus software industry has sprung into being with the advent of the virus threat. Three main functions are provided by these packages: virus "diagnosis" or identification; protection by trying to detect virus intrusion ("vaccination") or check files/disks for alterations; and "antidotes" to remove virus code. It is important to realize that no package can offer 100% security, and the cost of a package is not necessarily a good measure of a package's functionality.

[...]

4.2 Procedures.

Because anti-virus packages are generally of a reactive nature and involve considerable system overhead, organizations are well advised to implement adequate virus control procedures as well. Appropriate anti-virus procedures have become essential in all larger organizations during the last few months. Space limitations prevent full discussion of possible procedures in this article but some general pointers will be mentioned.

Ideally, the potential impact of virus damage to the organization should first be assessed. The risk and cost appraisal could then serve as a basis for cost-effective preventative management policies.

Preventative procedures are a combination of general data and program exchange regulations; user education; appropriate hardware choices, some centralized controls; security measures; and sound data management principles such as regular system backups, appropriate user rights and program source control. The exact procedures will depend on various factors such as the risk profile, size and culture of the organization. More detailed guidelines for these procedures can be found in White & Chess and many more guidelines can be expected to appear shortly in the literature although they currently concentrate on individual users and LANs.

However, it is virtually impossible to prevent virus attacks entirely and it is therefore imperative for concerned management to set up virus eradication procedures - preferably before the event. In practice, the procedures will depend on the virus type, the extent of its infection and the type of damage incurred. Procedures for both academic and commercial environments are suggested by A. Solomon.

5. Current Impact of Viruses.

The most observable impact is the direct damage done by viruses in the form of lost data, computer and operator time and other resources. The quantification of the estimated losses could form the subject of an elaborate study in its own right but is likely to contain a wide margin of error. At the current virus infection growth rates the estimate is in any case likely to be outdated before it is calculated.

A second area of quantifiable impact is the cost of implementing anti-virus measures. This goes beyond the mere financial costs of software and hardware packages as operator and management productivity are affected and computer processing overhead introduced.

There are also a number of non-quantifiable consequences of the virus threat, mainly in the form of changed attitudes. Some vendors blame the slowdown in growth rate of PC sales on the virus threat although this is probably exaggerated. What cannot be denied is that many user errors, hardware problems or software bugs are now blamed on viruses, often resulting in a significant waste of time and effort before the real problem is diagnosed.

A very important but more long term negative impact is the reduced level of networking and interaction which results from system users who are more hesitant in accessing online bulletin boards and databases or system managers who increase the level of security unduly. This is specifically expressed in the policy statement issued by Internet after the worm attack: "The Internet is a [...] facility whose utility is largely a consequence of its wide availability and accessibility. [...] Security [to make the Internet more resistant to disruption] may be extremely expensive and may be counterproductive if it inhibits the free flow of information which makes the Internet so valuable."

6. Trends in Virus Technology

A number of trends have already become apparent in the four years that viruses have become widespread, which may serve as pointers to future evolution.

Many viruses anticipate anti-virus software and employ a number of stealth techniques to make their detection more difficult. Most viruses now already intercept system error messages while they are trying to infect other files. Many are also careful to retain (or reset) the original file attributes such as date and time stamps, read-only attributes or file size (even if the actual size is larger than the system record!). Some viruses already employ self-encryption schemes whereby the code is dynamically changed as it is executed, others use a number of different signatures. Larger viruses have been reported that contain a lot of redundant "armour" code, apparently in an effort to confuse anti-virus experts. Finally, it is only a matter of time before viruses check file CRCs and add some "padding characters" of the appropriate values in order to retain the original checksums.

Apart from making the detection more difficult, nastier memory-resident viruses even exploit anti-virus packages and use them as a vehicle to spread themselves during the scanning process to all the software that is being virus-checked! Indeed, this fact constitutes a major danger of using virus-checking software. Both the Dark Avenger and Plastique have been spread in this way.

As more and more viruses are created, the amount of publicly available information increases, which enables prospective virus writers to employ more sophisticated routines which exploit operating system software bugs and current anti-virus software weaknesses. Examples are MS-DOS viruses which make direct use of ROM BIOS routines. Because of this, some virus researchers were moving to restrict the access to facts about computer viruses. This is unlikely to become successful as proven by the many varieties of viruses that are around. The publication of a number of virus codes have made the process even easier, although even unpublished viruses can be disassembled and improved with relative ease. And even relatively unsophisticated computer users will soon be able to construct their own custom-made viruses with user-definable messages and menu-selectable actions using black market "do-it-yourself virus building kits".

Viruses also start targeting specific software applications, such as the Dbase or Lotus virus. This is accompanied by a greater subtlety in the damaging actions. Instead of erasing file allocation tables or deleting entire files, only pairs of digits are being swopped or small parts of the disks are being modified over a relatively large time span.

The first virus writers were hackers who wanted to show off their programming capabilities. More and more writers seem to have political objectives in mind. This is already illustrated in a number of viruses (e.g. the Marijuana, Peace and Israeli viruses). As the media attention continues, it motivates certain other individuals bent on (anonymous?) publicity, similar to the psychology behind many serial murders. But the most important source of future highly sophisticated and professionally developed viruses may be the cut-throat, not-so-ethic commercial software industry itself. Consider the following scenario painted by Dvorak.

"Imagine some Microsoft code that went out looking for programs compiled by non-Microsoft compilers. Borland and others insist on inserting a message in the compiled code to let everyone know what product did the compilation. So the virus looks for the Borland name and then swaps a few bits around. What if someone working for Borland did it? An industrial spy somehow hired at Microsoft by accident? Can you imagine the kinds of intrigue we may have in the next few years? Lawyers: on your mark, get set..." and "The next logical step in the marketing of software is to keep people from using the competitor's product at all costs. Viruses are likely to be discussed as a genuine strategy in ten years ahead when the going gets tough."

Viruses will spread to many different operating systems. Although currently only MS/PC-DOS, Apple, Unix and Xenix viruses have been reported, they are likely to spread to other operating environments as well. Already a virus is reported to be written with Novell Netware in mind. Viruses are also likely to become a problem in mainframe environments. It is expected that OS/2 and Windows viruses are much more difficult to create but will also much more difficult to fight.

All the above factors make it clear that the growth in the number of different viruses is exponential as evidenced by recent statistics:

"[In May 1991] the European virus research community revised its estimate of how many know viruses there would be by the end of 1991. Predictions have moved from 1000 to 2000, as against last year in December when a mere 142 viruses had been identified."

It is clear that if this growth rate continues, the traditional virus identification and detection packages will no longer be feasible since it will be impossible to scan entire systems for all known viruses.

7. Advantages of viruses.

The purpose of the following discussion must be seen in context. It is clear that costs associated with viruses have far outweighed any short term benefits. However, very little attention is given to the small benefits they do have, so this discussion should provide some counter balance. Also, in most revolutions short term costs exceed the immediate benefits; the final cost-benefit analysis can often only be assessed from a long term historical perspective. In time, the virus threat may prove to be just one of the growing pains or necessary childhood diseases of a maturing micro-computer industry.

7.1 The Anti-virus Industry.

The virus threat has proved to be a boon for computer security products. Although many dubious security products were released initially, a shake-out can be expected and has in fact already occurred to a certain extent. But the fact remains that many companies confirm that their sales rose dramatically when they started selling virus protection software.

A huge market has thus been created in the form of software packages, hardware add-ons, conferences, publications etc. It is probably too early to decide whether this market is really a "zero-sum" game or if there is real value being added.

7.2 Security Awareness.

The virus scare has at least made both managers and users aware of the dangers involved with relatively free data and program exchange between computer systems. An analogy can be drawn with the early hacking activities whereby large corporate mainframe systems were penetrated by youngsters and outsiders. The shocking display of vulnerability of major financial and other information systems was thus brought to light and in many instances proper steps were taken to assure an adequate level of security.

In a similar vein, the security threat posed by virus attacks has prompted many prominent institutions to analyze and review their security systems. A local study undertaken by J.P. van den Berg reveals that the larger South African organisations see virus attacks as the number two priority security issue.

It is important to note that the level of information systems security awareness has risen significantly not only with MIS executives but, maybe more importantly, among corporate chief financial officers and chief executive officers.

7.3 Development of More Secure Operating Systems and Architectures.

Virus have exposed one of the major weaknesses of small system operating systems and open architectures in general: their general lack of security. The lack of password protection or file history of micro-computers make the task of viruses so much easier. More importantly, should it be so easy to modify the operating system? The author used a bit editor to rename the "copy" command within the command processor and thus substituted it with the renamed external "vcopy" program (that checks for viruses in addition to copying). While this procedure addresses a real need it is debatable whether such tampering should be allowed.

More and more programs are coming onto the market with built-in checking procedures which detect and report tampering with source code or file attributes. Whilst this process has been inspired almost entirely by the virus, it may be argued that this a generally positive development which protects the intellectual property rights of software developers. It is expected that future programming language compilers will implement file integrity checking subroutines which may be incorporated almost automatically in user-developed programs.

In the longer run, more thought will be put into the development of operating systems and hardware architectures. Already a number of systems have appeared on the market, such as "The Immune System" announced by American Computer Security Industries which features a system protection kernel, user authorization procedures and protected software directories.

7.4 Computational Aspects of Computer Viruses.

By far the most exciting potential advantage of viruses stems from a theoretical study of their computational aspects. Cohen, which has pioneered theoretical virus research, has shown formally that:

"any number that can by `computed' by a Tring Machine can be `evolved' by a virus, and that therefore, viruses are at least as powerful as Tring machines as a means for computation."

Few people have recognized that fact that viruses are one of the first successful (...) demonstrations of the potential of decentralized computing within a micro-computer environment. The mind boggles at the potential applications for this type of technology. A few examples will be mentioned but cannot be fully worked out due to space limitations.

"The [Simple Viral Protocols] called `viruses' are destructive, but it should be very interesting to use such processes for automatic maintenance of software. As an example : Suppose several packages use an inefficient version of a procedure or routine, in large organizations, it should be easier to update such a package by such an approach rather than to recompile and link all these packages, especially in case of large distribution." (emphasis by Guinier)

Another potential application is mentioned by Cohen:

"As an example, a compression virus could be written to find uninfected executables, compress them upon the user's permission, and prepend itself to them. Upon execution, the infected program decompresses itself and executes normally. [...] Studies indicate that such a virus could save over 50% of the space taken up by executable files in an average system."

Many more examples come to the author's mind easily. Maybe the ideal application would be an anti-virus file integrity checking routine that would attach itself to any executable file which has no built-in checking feature. Might a sufficiently powerful but flexible routine not mean the end to the virus saga?

Another potential application might be a network utilities that spreads and balances application workloads across different workstations: "viruses" in idle workstations send messages (or message-viruses?) and take some of the workload over from busy workstations. From this perspective, it seems that many unexplored links and potentialities may exist between virus technology, decentralized processing techniques and object-orientation.

Other uses could be a virus that spreads "auto-backup" routines to software that needs backing up, mail and message systems, task scheduling processes and the automatic addition of hardware device drivers to programs when system configurations change.

A proposed name for this type of routines was suggested by Thimbleby: Liveware. The idea is to let liveware spread like a virus, but let it carry information on behalf of one or more users that want to share their work.

7.5 Other Advantages.

Software piracy may be reduced because of the virus threat. It has certainly prompted a number of companies to make the use of illegal software cause for dismissal. As the relative cost of legal software in Third World countries seems to have made piracy more widespread, many of these countries appear to have suffered more extensively from viruses.

Some researchers contend that a community of hackers, often highly intelligent computer programmers, is essential for a dynamic and evolving computer industry. "The hacker is both a national treasure and a national headache and [we need] to learn to live with them." In this light, viruses may be viewed as a detrimental, but necessary by-product of this essential sub-culture.

If nothing else, viruses have also created a new area for scientific research and media controversy. Many more studies can be expected along the lines of Harrington's "Why people copy software and create computer viruses: individual characteristics or situational factors?"

Thimbleby mentions a number of other potential advantages in . He expresses the hope that viruses will promote a greater degree of professionalism amongst software distributors, especially with respect to accepting responsibility for program bugs. Further virus research may also throw new light on work in genetics and sociology.

8. Conclusion.

It is clear that, given the current trends in virus technology, existing anti-virus measures may not be able to cope with the next generation of viruses. On the other hand, it is felt that the virus technology may have a number of positive spin-offs, especially with respect to their computational capabilities. Further exploration of this potential is warranted.

9. References.

[omitted due to space considerations]

 

 

by John Richard De Palma

Red haired Sandra is the manager of the local Egghead Software store. Gazing at her collection of software I said, "Hi Sandra, Uh... can you show me what books and software you have on learning to program in BASIC?"

"No, no...NOOOO... John, you want this!" Sandra said, as she thrust an orange 10 pound box of manuals and disks into my arms and gave me a beaming smile.

She went on, "I studied Pascal and "C" in college for TWO years, no one, and I mean no one studies BASIC anymore, it's a dead programming language." She laughed, "Just as dead as learning Latin."

"Well, Uh," I shifted my feet for better support and put down Borland's version of Turbo Pascal, "I studied Latin for two years, and it's not all that dead," . "You see, Latin teaches you to know intuitively many English prefixes, suffixes and many of the Romance language verbs and nouns...." my voice trailed off, even to me that sounded like an apology for spending two years learning about BIG Julie and wars fought with catapults and giant slingshots.

"Oh, don't be SILLY," Sandra said, "Here, if you don't like that, buy this, its C ++ with OOP."

"I'm not even going to ask what "OOP" is, I said, just sell me something in BASIC," I sighed.

"What KIND of basic programming do you want?" Sandra asked briskly, swivelling around to check on her employees and motioning to Brian to stop playing with the joystick and get back to work.

"Well, hell, I DON'T KNOW, I just want to learn how to make my own programs like Paul Somerson does. If BASIC is good enough for him, it's good enough for me," my voice rising a half-octave. I started looking around for the IBM utilities section in the hopes of finding some box with basic BASIC information on it.

There was no question that I knew NOTHING about programming. I was awkward and out of my depth. I knew nothing about programming except that it had to be better than using batch files to do things with MS-DOS. I was going to tell Sandra about batch files. Tell her about all the batch file programs that I had looked at that promised much and delivered little. I wanted to tell her about batch techniques that did not allow input into them except as parameters on the command line or by using the dopey "FOR" command or the klutzy "IF ERRORLEVEL" command. I wanted to tell her I wanted to make colorful screens with selections that could be input by cursor control. I wanted to be able to change directories, do file sorts... I wanted to understand how the computer worked and then tell it what to do. Hell and again hell, I wanted to control the computer software.

Who's Paul Somerson?" Sandra queried. "Some computer propeller head in Santa Monica?"

"Gad, Sandy, give me a break! Paul Somerson is the editor of my favorite PC bible, "DOS Power Tools," he programs in BASIC. Look...look, you have his book on your bookshelf right here. Wait... waaait, I'll find the section and read it to you. Come back here, Oh let Brian wait on that guy, this will only take a minute."

I picked up the book, found the page and read from my hero Paul[1],

"One of the nicest things about BASIC is that if you suddenly find yourself with a problem BASIC can tackle, you can load it, stumble your way through a program and emerge with a solution a few minutes later. So maybe your program wasn't the most elegant display of programming virtuosity; who cares as long as it worked?"

Sandra went on, "Well shoot yourself...I mean suit yourself, heh, heh, a little joke there. BASIC is dumb and slow. Learn "C" or Pascal, I did when I went to UCLA. No one teaches that dumb stuff." Sandra was very convincing and convinced.

Backed into a corner and now defending both Latin, a dead language and BASIC a dead programming language I asked, "Well, if that's true, let me ask you a couple of questions. Do you use a computer...? You do. Do you use a computer to do applications, spreadsheets and mathematics...? You do. Do you use ANY of the Pascal and "C" you learned to help you to doing things with these programs. You don't..? Why?"

Sandra went on to tell me how hard it was to keep up these great skills she learned in college and that she really didn't have the time to program, or the interest. She freely admitted that though she studied programming for two years, she never used it outside of class. She glanced at the clock, at the three people questioning Brian all at the same time and gave me a book called "Learn BASIC Now." She said as she walked away, "BASIC, is too dumb, it's a wimpy language. You're wasting your time, you'll be sorry. It's really not even a HIGH language."

Apparently I bought a peasant computer language of limited capacity for limited minds. If I wanted to be part of the intelligentsia, I should program in "C". At least in "C" if not in C ++ with OOP or in Pascal. So I went home, loaded the software and wrote my first BASIC program with Microsoft's Quick Basic 4.5 Interpreter. The program was one line of text which printed to the screen. Big deal, I want power and I get a batch file look alike.

If I couldn't learn BASIC how could I learn these more elitist and complicated computer languages? I needed some verification and clarification. I began asking my friends about computer programming.

Harry said, "Gosh John, I learned FORTRAN and COBOL when I was 17, wrote flocks of programs in them, nope don't know BASIC, it's too dumb and slow. What's that...do I ever USE FORTRAN and COBOL? No, not in years. What good was learning it then? What the !

%*!, kind of question is that!"

Harry is always a little sensitive if you imply that he might be bragging. Harry is a card carrying elitist, he wouldn't be caught dead using such a peasant computer language as BASIC.

Ray is different. Ray owns his own manufacturing company and has three Phd.s', a law degree, and went to medical school for three years. "Of course I can program in BASIC, John, don't be silly, that's child's play. But don't get too technical, it's been several years now, Hee Hee..., Ray chuckled.

"Well Ray, that's great, I'm having a dickens of a time, I didn't realize that there was BASIC, BASICA, GWBASIC, PDB, and QUICK BASIC. What do all of these names mean and which BASIC should I learn?" I asked naively.

Ray sputtered a fine spray just as he was tasting the wine. He ordered another bottle of Petite Sirah; and we were able to finish dinner with that question hanging like still smoke in the air.

So it went on, if they did program "in the higher languages" of C, C +, Pascal they couldn't tell what and how they did the programming.

"Well John why do you REALLY want to learn to program for, comm' on, tell me....comm' on...tell the truth," Marvin asked. Marvin programs in "C" and does programs in artificial intelligence and makes jokes about "the artificial intelligentsia."

In desperation, I asked Marvin to write me a program that could be an all purpose tool, sort of a Swiss Army knife that would put up menus, take direct input from the keyboard, let you pick your colors, be user friendly, be modifiable, you know like software should be. Marvin said that I didn't really know what I wanted or, I wanted too much. Besides nobody programs in BASIC.

So I went home and dragged out QUICK BASIC again and tried halfheartedly to learn something that no one knew about from books written by REAL "propeller heads." I read and reread the texts trying to UNDERSTAND what the writer was driving at. Unfortunately BASIC is mainly written by programmers who can write code but who can't write to communicate with humans.

It was a sort of Zen, reading and not understanding. It was a sort of chant. Reading again and again such stuff as: "DATE$ Statement sets the current date," and "DATE$ Function returns a string containing the current date," and "FUNCTION Statement Declares the name, parameters, and the code that form the body of a FUNCTION procedure.[2]" Well that is as clear as Zen, and like Zen you have to have a FEEL for the terms. As any Zen master will tell you once you have the answer to the question, you DON'T have the answer.

QUICK BASIC is Zen, a doing without knowing. But I followed the instructions ---cook book style--- and a program could be made to do something. The sound of one hand clapping makes sense now. Trying to understand what is the meaning of the phrase, "What is the sound of one hand clapping?" is no more difficult than trying to understand books written by programmers.

I would have given up too, except I was given a QUICK BASIC program that did something that I needed to have done. Pete programs in QUICK BASIC. Pete is probably the only person I know that REALLY programs anything for himself and he uses QUICK BASIC. We have a mutual interest and problem with some data collection and analysis. Pete had an answer to the problem and he had a real program that would give an answer all written in QUICK BASIC.

"Now Pete, I WON'T steal this program. Also, I won't sell this program and make a million dollars on it (Well... at least not without giving you HALF). Yes, I promise, yes that's right, cross my heart and hope to die. And I won't give it to the Iraqis! Now will you please...please....PLEASE give me a copy to take home?"

After whining and pleading that I would not sell his first born program into slavery or copyright it, he gave me a copy. That is another Zen portion of programming, you have to earn the knowledge yourself, no one can do it for you. Only with programmers it's worse than Zen, they won't give you a copy of what they know! I watched him pull up the file, run it through his compiler and give me code that would run by its self. It was like watching someone start a fire by using an ancient ritual, by using a bow and a stick. It was the dawn of civilization, the passing of knowledge, the starting of fire by friction. I was given a real stand-alone executable program written by a real person, Wow! After more whining he capitulated completely and gave me the SECOND file, the QUICK BASIC code file.

I put the diskette in my shirt pocket, it was too important to place it anywhere's else. That night I ran it inside of my QUICK BASIC compiler. Gadsooks! it worked! The damn thing calculated and printed the results out lightening fast and it was information that I could really use.

Zen, part two, you can't learn something you have no use for. That's what Sandra, Harry, Ray and all the others were talking about. They wrote programs in class on problems that they were given, not on problems they wanted solutions for themselves. That's why learning programming is like Zen, it is meaningless unless you have some use for the knowledge (which is both very much like and UNLIKE Zen).

Good ole Paul Somerson was right. First, you need a project that you really...really want to do. Then use the books to look up the procedures to do the project with. Just learning all 190 QUICK BASIC commands won't cut it. You have to use it ...or lose it!

I went back to Egghead Software; Sandra and Brian had moved on. Scott and Lance programmed in Pascal. I asked them if there was anything new in QUICK BASIC that was fun. Lance gave me Microsoft's GAMESHOP. It came with the same book that I already had, but the software contained 6 games which could be run inside of QUICK BASIC, the code could be examined. With much head scratching and replaying you could actually figure out how the programmers did what they did. Again, like Zen you must persevere, be tested, try and fail, try and fail, knowledge doesn't come easily. But everyone likes to play games, so it wasn't all Zen.

That was a month ago, and though it is still slow going, I am making progress. Pete and GAMESHOP gave me hope. I have uploaded two programs to CompuServe as shareware. The first program has attracted two dozen downloads in two weeks. Not great, but a start and this is also Zen; you work and study long for small (or no) rewards. I guess some modem users downloaded the program because it was simple, colorful, and played a song. Nothing grand, just a program called BIRTHDAY.ZIP that puts up colored boxes on the screen, accepts user input, and plays "Happy Birthday" if the computer clock reads the same day and month as the ones you type in. If it's not your birthday, it flashes different colors and plays "Happy Unbirthday."

Some one laughed when I played the program for them and jokingly asked to see it display the EXACT age of anyone whose birthday was not the day it was run. He also wanted something that would distinguish if the person inputting the data was young or old (over or under 21).

That was beyond my ability, but then I found, if you looked hard enough, someone had already done some of these things in QUICK BASIC or BASICA. I found a Julian (named after Big Julie no less) calendar function which does just that, and added it to the program. After struggling to add that formula, it was easy to figure out a "LOOP" that would change a phrase depending on what the person's age was. Though the latter was simple math, it had been years since I had been forced to do any thinking about mathematics. Zen and math have a lot in common, but that is another story.

With a program that calculated the person's exact age, every young woman that played the program exclaimed "<Gasp>, that's wrong I am NOT 29.078345 years old!" if that was her exact age. I now warn women over 30 that this might be a traumatic event as the computer will calculate their exact age, but they sail blithely ahead, not believing that it will happen. All in all, a lot of fun and some insight into human nature.

The second program, FOR-LISA.ZIP uses random number formulas to generate screen colors, changes the screen to 40 characters wide, and displays more ASCII graphics. This one plays a Beethoven sonata and takes advantage of some great 1982 music programming in BASICA that I found on a BBS. Again, I generated simple mathematical formulas to do the work of many lines of code. Another secret of programming which could only be uncovered by doing. Zen is doing and not doing.

So, nothing sensational, but now my batch files are getting a once over with this new knowledge. Now I realize that the macros in Microsoft Word, WordPerfect, and the script in ProComm Plus are written in BASIC. Now these macro formulas make sense! There has been a mystic clarification of macros, again like Zen what you learn affects other areas of knowledge.

I am thinking of ordering from Crescent Software[3] a QUICK BASIC package that allows you to program mice, windows, accounting, and databases. Now I have hope, and that also is Zen. Yeah, nothing sensational unless you thought that BASICA was another name for Zen and that "Real Men only program in C."

References:

(1) Somerson, Paul, PC Magazine Power Tools 2nd Edition, Bantam Books, 1990 June;1157.

(2) Microsoft, Programming in QuickBASIC Version 4.5, 1988;270-1.

(3) Crescent Software, Inc; 32 Seventy Acres, West Redding, Connecticut 06896; VOICE: 203-846-2500.

 

 

EVER NOTICE THAT PILOTS WHO FLY SKYDIVERS LIKE TO BE PAID IN ADVANCE? - Kelvin Throop, Analog Magazine

THAT SHOULD BE CONSIDERED LONG WHICH CAN BE DECIDED BUT ONCE. - Publius Syrus

TYPICAL ENGINEERING: MEASURE IT WITH A MICROMETER, MARK IT WITH CHALK, AND CUT IT WITH AN AXE. - Eric Unruh

THE OBVIOUS IS THAT WHICH IS NEVER SEEN UNTIL SOMEONE EXPRESSES IT SIMPLY. - Kahlil Gibran

THE BRAIN IS TO THINK. THE MOUTH IS TO TALK. IN THAT ORDER. - Robert Half

WHERE THE TELESCOPE ENDS, THE MICROSCOPE BEGINS. WHICH OF THE TWO HAS A GRANDER VIEW? - Victor Hugo

IT IS ADMIRABLE TO GO DOWN FIGHTING. IT IS BETTER TO COME OUT ON TOP. - Daniel Gerson

THE DIFFERENCE BETWEEN GENIUS AND STUPIDITY IS THAT GENIUS HAS ITS LIMITS. - anon

DON'T EXPECT TO BUILD UP THE WEAK BY PULLING DOWN THE STRONG. - Calvin Coolidge

NEVER ATTRIBUTE TO MALICE THAT WHICH IS ADEQUATELY EXPLAINED BY STUPIDITY. - Meyer's Law

WITHOUT ECONOMY NONE CAN BE RICH, AND WITH IT FEW CAN BE POOR. - Johnson

THERE IS NO SUCH THING AS A "FUNCTIONAL ILLITERATE." - Kelvin Throop

IT IS IMPOSSIBLE TO TRAVEL FASTER THAN THE SPEED OF LIGHT, AND CERTAINLY NOT DESIRABLE, AS ONE'S HAT KEEPS BLOWING OFF. - Woody Allen

RUST NEVER SLEEPS. - anon

CHARACTER CONSISTS OF WHAT YOU DO ON THE THIRD AND FOURTH TRIES. - James Michener

PATIENCE AND TIME DO MORE THAN STRENGTH OR PASSION. - Jean De La Fontaine

NEVER EAT MORE THAN YOU CAN LIFT. - Miss Piggy

IN TIMES LIKE THESE, IT IS HELPFUL TO REMEMBER THAT THERE HAVE ALWAYS BEEN TIMES LIKE THESE. - Paul Harvey

A MAN WHO HAS TAKEN YOUR TIME RECOGNIZES NO DEBT; YET IT IS THE ONE HE CAN NEVER REPAY. - Seneca

IF FATE SENDS YOU A LEMON, USE IT TO MAKE LEMONADE. - Lawrence Block

FORTUNE DOES NOT CHANGE MEN, IT UNMASKS THEM. - Mme Necker

A MAN WHO TRIMS HIMSELF TO SUIT EVERYBODY WILL SOON WHITTLE HIMSELF AWAY. - Charles Schwab

THE GREATEST MISTAKE YOU CAN MAKE IN THIS LIFE IS TO BE CONTINUALLY FEARING YOU WILL MAKE ONE. - Elbert Hubbard

THERE IS NOTHING MORE FATAL TO CHARACTER THAN HALF-FINISHED TASKS. - David LLoyd George

TOO MUCH CARE CAN BE AS BAD AS DOWNRIGHT NEGLIGENCE. - anon

 

 

Any of the programmes below may be ordered from the Joint Software Exchange, 73 Highway, 7975 Fish Hoek. CLub members pay R 10 per volume (floppy disk); non-members charges are R 14; add R 3 for 3" media. These fees cover media, admin, advertising, operating expenses, overheads and library maintenance costs. In addition, a fixed order fee of R 5 is charged per order. For every 8 disks paid, 2 additional disks can be ordered free of charge.

3600 to 3603 Comprehensive ANTI-VIRUS kit. Includes the latest versions (currently v.100) of the entire McAfee anti-virus tools including SCAN, VirusSHIELD, NETSCAN and CLEAN to guard against thousands of virii.

3605 Personalized Adventure Game Sample. You are about to go on one of the most intriguing, challenging and amusing adventures you can take... yet you never have to leave your computer! Put on your thinking cap, let your imagination open your mind, and have the adventure of a lifetime!

3606 PIRADA: three great animated GAMES. Blackjack, 5 Card Draw Poker and Keno. In a style you have never seen before! EGA/VGA+Mouse required.

3607 VirtualDungeon II: ANTKILL v1.1. Climb into a gigantic Anthill and find your way to the Brood Queen and her children to save your town. It is best described as a 3-D (objects represented in true perspective with volume!) simulation of reality, in this case a Fantasy. EGA/VGA & AT required.

3608 ANIMAL QUEST: Fun Game for any age. First you select what animal you like to become and then you try to cross your habitat collecting as many Energy Tokens as possible by capturing your prey while avoiding your Predators and outsmarting your Competitors. ANIMAL QUEST is a never ending adventure in the fascinating world of Nature, each game is unique and unpredictable, but it is also a realistic simulation of Food Chain Ecology. The rules of the game are based on factual Prey and Predator relationships. Requires EGA/VGA.

3609 DENARIUS AVARICIUS SEXTUS: A Roman Graphical Adventure Game. Back in good old A.D. 79, there lived a patrician Roman named Avaricius (Avvy to his friends.) He lived in a pleasant seaside resort you may have heard of, called Pompeii, and he was unaware that in a few hours' time he would be buried alive. Well, maybe. Perhaps, with the guidance of his guardian angel from the twentieth century (that's where you come in) he might escape both Arkata and the volcano. The date is... 24th August, A.D. 79.

3610 BOLO ADVENTURES I v1.2. A mind boggling strategy game where the objective is to get Mr. Bolo out of 40 rooms of puzzles. Each room is filled with obstacles such as monsters, lasers, electric grills and more. Unlike arcade games, Bolo Adventures isn't a contest of how fast you can acquire carpal tunnel syndrome by hammering on your keyboard, it's a test of your resourcefulness. Requires EGA/VGA.

3611 BOLO ADVENTURES II v1.2. The Bolo Adventures Series continues with this exciting sequel. Mr. Bolo carries on his adventures through 40 more floors of mind bending logic puzzles. New features and options have been added that will continue to challenge all Bolo enthusiasts. Requires EGA/VGA.

3612 Connex - Addictive CGA/VGA game with great graphics & sound. From the labs of the crazed shareware game designer Sean Puckett comes this insanely addicting game! Separate Monochrome, CGA and EGA/VGA graphics and special effects combine with an all-new state-of-the-art sound system to bring you this mind-stopping bestseller! Drop tiles onto a playgrid to make connected loops - the longer the better! But don't think, because the clock is ticking! Brain-pounding stress beat and awesome sound effects add to the fun! Top 10, Help/Hints, Demo, Mouse/KBD.

3613 Danny's First Program 1.0: Computer fun for toddlers age 1 and up. Even babies can "play" it. 26 delightful graphic images & songs, one for each letter of the alphabet, and a keyboard piano, too! Dazzling geometric figures. No instructions needed at all! Just by playing, your child learns basic computer keyboard & interaction skills. Requires EGA/VGA.

3614 VirtualDungeon I: BOB'S DRAGON HUNT. Battle Dragons of various types and attempt to kill as many as possible to save your town. Amazing three-dimensional animation & graphics - virtual reality?

3616 & 3117 FIRST EXPEDITION & TRINITY CONTROLLERS adventures. First Expedition is a seagoing adventure that is intended to combine navigation by night stars with a traditional graphics adventure. It is NOT a text adventure but a first-person ocean going adventure in a fantasy world with sea beasts, storms, islands, mazes and the challenge of finding and exploring new islands as part of solving the puzzle you are faced with. Quest for the Trinity Controllers is an alternate adventure using the same program. (CGA or higher)

3618 GREEN environmental strategy game. GREEN you help Planters to prevent the pavers from turning farms into parking lots. Pavers include mall developers, real estate agents, clear-cut loggers and other exploiters. You have the ability to plant hedges, add walls, and to destroy pavement. GREEN is a strategy game, similar in concept to Populous and SimCity. Cascoly's unique 3-D perspective graphics show fantastic detail: Characters move behind walls or through water. As you scroll from side to side, the perspective changes. You're not limited to 2 directions for scrolling -- you can scroll in EIGHT directions. There are several maps, of varying difficulty.

3619 IQ CHALLENGE v1.0: Game of knowledge. 1-4 players test their skill in five categories. Earn high points, print achievement certificates. Age 10-adult.

3620 & 3621 JOKE TALK: the comedy show with real PC voice. JOKE TALK is a new comedy package with REAL HUMAN SPEECH THAT WORKS THRU YOUR PC SPEAKER. This package is loaded with jokes, gags, riddles, one liners, sound effects and much more. The CANDID CAMERA SHOW, The NAME THAT TUNE GAME, FAMOUS PEOPLE IMPERSONATIONS are also included in this new comedy package. You can even play back any of the jokes, songs and sound effects in this package with the PC-TALK command. You can use this package to create your own custom joke files.

3622 LADDER MAN v1.0: fun & mind-stimulating game. Ladder Man is a fun-filled, mind-bending game of logic, planning, and problem solving that will have you up all night as you try to master all 30 floors. Each room is filled with a maze of obstacles that you use to create your own escape. Position balls, avoid water hazards, and elude fires and other obstacles as you use your ladder to climb up and out of a room. Ladder Man is a pure strategy game, a puzzler's delight! Req. EGA/VGA.

3623 LOST-STONE MANSION: Interactive adventure.

3624 Moraff's Morejongg: HIRes Mahjongg type game. This is the best implementation yet of the 'Mahjongg/Shanghai' concept. Has full mouse and keyboard support, and has stunning Super-VGA 1024x768 graphics, as well as Hercules, CGA, EGA, and regular VGA. Contains several incredible tile sets, including the incredible Moraff's World monsters. For those with 256 colours, it has an animated rainbow tile set that can be used independently or as background for any other set of images. This may well be Moraff's best game yet, if you like relaxing but challenging games!

3625 QUICK MAJIK ADVENTURE: UNEQUALLED VARIETY!. Features multicolor bit-mapped graphics 160 individual Spells! spell actions based on level! than 260 separate monsters! than 300 items! spells! Complete Spell MACRO system! Tame Monster System! variety of Caves and Mazes! EGA/VGA

3626 'NEVERLOCK' REMOVES COPY PROTECTION !. Civilization RailRoad Tycoon F-117A Sargon V Knights of Sky Earl Weaver II Monkey Island II Ishido BattleChess II LightSpeed Gunship 2000 plus 100's more

3627 PORK: Zork-like text adventure game.

3628 POKERDICE: Electronic Slot Machine.

3629 Sand Storm v2.0: Action arcade game. Fire up your mouse for non-stop action in this high-octane graphics arcade game. Intercept Scud missiles and jet attacks with your Patriots; then guide your Tomahawk missile through enemy AA fire on a search and destroy mission. This shareware version of the popular retail game includes 20 missions. Req VGA/SVGA, mouse.

3630 STELCON v1.21: The ULTIMATE space war/strategy game!. Supports ONLY high-quality 256 colour VGA graphics! Stelcon can be a simple 2 player war game to a 5 player campaign! Playing field can have up to 25 star systems, each with it own planets and resources! Manage new technologies and starships!

3631 SDI2040: Invaders-like arcade game with a couple of twists. SDI2040 is as classic and simple as a computer game gets. The aliens (aka invaders, creatures, etc.) are BAD, BAD. They are invading our beloved planet and our only hope is to use the old, forgotten Strategic Defense Initiative hardware left over from a 20th Century republic known as the United States of America. Your job is to use the SDI cannon to destroy wave upon wave of these god-less creatures (A violent goal, yes, but simple.) The invaders have a few surprises for you, so be ready. VGA recommended; Soundblaster support.

3632 PC-Sherlock: mastermind logic game. PC-Sherlock is 'the ultimate' form of a game, popular throughout the world, by many names : "Bulls & Cows", "mastermind", "Biki-Karova ( USSR)", etc. It is a 'brain' game, involving logical reasoning and deduction. PC-Sherlock is unique in itself, presenting your PC as a tough-to-beat mastermind player who plays 'against' you, and challenges you to improve your logic.

3633 Simple Pleasures is a collection of six challenging and addictive. solitaire games in one easy-to-play, integrated program. All the games share a smooth, elegant, and consistent push-button interface and the same powerful, enjoyable features. Multi-player capability, five-level undo, "move alert" and "hint" options, sound & configuration options. Requires EGA/VGA & mouse.

3634 SpiralOne: draw spiral designs on your screen. The CGA version draws in black-on-white or white-on-black, while the EGA/VGA version lets you choose from 16 foreground and background colours. Also, spinning stars and triangles in 16 foreground and background colours.

3635 SQUAREZ: Addictive VGA strategy game. The object of Squarez is to form 3 x 3 squares out of groups of tiles. There is a time limit for each group of tiles, and if time runs out and a group of tiles is trapped in the holding area, the game is over. There are many special tiles that can help or hinder progress. Requires VGA or MCGA

3636 STARDUEL: space action game. This is a two player game in a space setting. You and your opponent are each piloting a warship, pitted in mortal combat with each other. The object of the game is to destroy the other players ship (really original, huh?). Each ship is armed with a finite amount of ammunition, fired from a weapon in the front of the ship, and with a finite amount of fuel, used to move the ship around.

3637 STELLAR EXPLORER:The Drosi Encounter. A mysterious alien vessel is trapped in a decaying orbit. Your mission to rescue the crippled spacecraft becomes a desperate race to discover their sinister secret -- STELLAR EXPLORER is an intelligent, highly interactive science-fiction role-playing experience combining action, mystery, and adventure with a rich, intriguing plot that will keep you spellbound for many hours. Talk to alien crew members, pickup and use various items and equipment, review clues, buy and sell items, and so much more ! An intuitive keyboard user interface, high-quality, full-colour graphics compatible with EGA/ VGA systems. Hard drive required.

3638 STREAK II: Stoner Strikes Back. The basic idea of the game is this: Shoot the slugs. It becomes more difficult the further you get, because the slugs get faster, leave droppings, and a static shield develops to block your fire.

3639 THREADS: blast the falling threads. Prevent destruction of your isolated city by blasting the alien threads that are falling to earth. Destroy the threads with your ground-based laser guns.

3640 TOMMY'S AIRSHARK: helicopter attack game. You are the pilot of the super helicopter Airshark flying over enemy territory. The enemy force consists of tanks with surface to air missiles (sams). You have a large supply of air to surface missiles, which you can fire two at a time. Mono/graphics.

3641 TOMMY'S SPACE DUNGEONS. This program is similar to the dungeons and dragons text adventures you see all the time, except that it has been hopped-up by aliens from outer space. Your goal is to locate and remove the fabled orb of tommy from the titanian dungeons. Anything else is utter miserable failure.

3642 TOMMY'S ENERGY FENCE. You are the pilot of an energy fence drive class ii ship. Your mission is to intercept the enemy ship, which uses a completely different kind of drive and can hop over energy fences.

3643 TOMMY'S PACKRAT. Tommy's packrat is similar to pac man/girl type games. Your packrat attempts to gobble up all the seeds in the maze, while the bad guys attempt to gobble your packrat up. After you eat a flashing seed, the bad guys change into inverted pansies which cannot gobble you up until they change back to regular bad guys. Transporter pads: running into a transporter pad will cause you to dematerialize and then rematerialize in a random maze cell.

3644 TOWERS: Tetris-like but more challenging. How high can you build? TOWERS is similar to Tetris, since you need to place blocks of varying size. That's where the similarity ends -- you need logic and planning, rather than quick reflexes in TOWERS. You build one level of the tower at a time, trying to fit the blocks in the tightest pattern. Each level becomes the base for the next level. TOWERS uses Cascoly's unique 3-D perspective graphics to show fantastic detail. As you scroll from side to side, the perspective changes.

3645 MORAFF'S WORLD v.3: MONSTERS..PLUNDER & PILLAGE!!. Moraff's World is the ultimate dungeon game. It contains 25 level deep dungeons with brick walls, wooden doors and monsters with fangs and claws. See monsters far off in the distance down the best 3D corridors ever seen in a computer game. Moraff's World rivals the CAD programs! Fight many different types of monsters, cast over 100 different spells, much more. This game puts commercial computer games to shame! Moraff's world contains built-in intelligent help that realizes when you are confused and makes suggestions appropriately. All commands are one-key, and can be accessed with the mouse as well! Just point to things on the screen and press a button! It's even easier than Windows. Hercules/CGA to S-VGA. DON'T MISS MORAFF'S WORLD, THE MOST ELABORATE HIGHRES GAME EVER, THAT "EVERYONE IS TALKING ABOUT" (SHAREWARE MAGAZINE).

3646 WORLD WAKER: VGA adventure game. with 20 worlds, 80 levels.

3647 ABC Fun Keys v4.30. Very popular kiddies educational & fun program. With improved animation in the Heaven & Mud game, graphic output for non-picture files in the Select game, and improved access to the game setup functions. You and a child will enjoy and receive great benefit from the use of this program.

3648 BALLOONS v3.9: kids create, blow up & break balloons, FUN!. This program draws a balloon and sounds a tone when any key is hit. The balloons are a random size, colour and are drawn at random locations on the screen. Each key is assigned a different tone (the user can play tunes by pressing the appropriate keys). CGA/EGA/VGA. Although this seems a simple program, kids (including our Anneke & Jonathan) go crazy about it!

3649 Computer Voice Tutor's World of the Alphabet, talking program. Shows and SAYS(!) the letters of the alphabet and some words. This program is designed for children of preschool age. The - RECITE - section is designed explicitly for small children who can not yet recognize the keyboard. RECITE will advance without any key input. If the child hits any key (space bar is suggested), the letter will be repeated three times. The FIND KEY section is for children who can recognize the keyboard. They must hit the proper key to proceed.

3650 5 MINUTE DOS GUIDE -for beginners. The 5 Minute DOS Guide Teaches The Important DOS Commands to Beginning Computer Users. It is Fast, Easy to Use, and Easy to Print the highlighted commands.

3651 MATHS MADE EASY: teaches additions/subtraction/mul/div.

3652 John's Animated Computer Game. "John's Animated Computer Game" is an easy to use game for very young children to develop an acquaintance with the computer. 20 different animated sequences appear on the screen to enter- tain young ones at the touch of a key. This program was written so that my 2 year old could have a game that he could play by himself. It was written by an artist with over 15 years' experience in the field of classical animation. Requires EGA/VGA.

3654 LONG DIVISION math solving tutor & helper. Most students have difficulty with division because they don't know the multiplication tables. These programs teach the concept without punishing students who don't know the tables. If you use this approach, you may be very surprised how quickly many slow math students really pick up speed.

3655 PC Allowance: teaches kids banking and money management. PC Allowance works just like a bank's automatic teller machine. With it you can automate all the allowances in your household, ending many family arguments about money. Kids can use it as a basic money management tool to help keep track of where their money goes. Maybe best of all, the program will reward saving by compounding interest on money saved.

3656 Tutor Master: interactive DOS Tutorial. It teaches you the most commonly used DOS commands in 30 short lessons. It allows an unlimited number of users, remembering which lessons each person has taken. You can also scroll through the DOS Dictionary window, that documents all of the DOS commands including DOS 5.0 instructions and memory management.

3657 & 3658 Preschool Pack 1.0: Colourful graphics, songs & speech. These programs will be sure to capture the attention of your preschooler, who, through 5 entertaining activities, will learn about counting, number recognition, the alphabet, colours, matching, and classifying. Requires 640KB RAM, hard drive (approx. 1.5Meg), EGA or VGA, and mouse.

3659 Professor PC Laptop: Tutorial for laptop & notebook PC owners. A comprehensive tutorial system which provides laptop, notebook and portable computer owners (or those interested in buying a laptop or notebook) hundreds of powerful tips, tricks and reference articles. Tutorials include: travelling with laptops and notebooks, battery care and maintenance, software selection, DOS lessons, history of computers, hard drive secrets, laptop batch files, modem use, custom reading list, computer virus protection methods and more. An amazing collection of laptop and notebook computer reference material!

3660 READFAST! improve reading speed and efficiency. The file READFAST.DOC discusses some of the causes for poor reading skills and offers suggestions for making improvements. Then the READFAST program provides pacing clicks to help the user increase reading speed. The program measures reading time and calculates reading rate. READTACH.EXE flashes lines of an eye-span exercise or other text file on the screen, one line at a time, to force the reader to read faster. (Eye-span exercises are included on this disk.) READTACH provides the ability to choose the speed at which lines will be flashed on the screen, and to choose whether speed increases automatically as the file is displayed.

3661 Russian Tutoring program. Obviously, this is only a very beginner program. It teaches (hopefully) the alphabet, numbers, some verbs, some greetings, and some info about how to address someone by their name. EGA/VGA

3662 SPARKY'S MATH ADVENTURES. Educational activities for young children.

3663 SPELLBOUND: finally a spelling tutor that works.

3664 TUTOR v.45: Computer Knowledge's famous PC tutor. A minicourse in microcomputing covering the keyboard, history, computer terms, intro to DOS, subdirectories, batch file, and an introduction to programming. Material is presented in a series of screens and the user has the ability to move forward or backward through the tutorials, or jump to selected locations using a menu. Short quizzes test you on your knowledge but you may bypass these when reviewing.

3665 & 3666 WORD GALLERY v3.0: educational program for children aged 3 & up. WORD GALLERY is an educational program designed to help children associate the printed word with the object it describes. It provides a set of colourful word/object flashcards. These flashcards are used to play a variety of games. Children will enjoy watching the screen fill with colour as they use WORD GALLERY. Version 3.0 consists of five separate "GAMES". Individual games are "colour-coded" so children can easily select the one they want. EGA/VGA recommended (but CGA is OK).

3667 What's In That Box? VGA computer tutorial. A SHORT TUTORIAL ABOUT HOW YOUR COMPUTER WORKS using VGA graphical screens.

3668 WORD RESCUE: Arcade learning game. EGA req. Soundblaster support.

3669 Zpeller 2.00 Spelling & Vocabulary Teacher. Handles up to 19 students, student enters correct spelling & definitions for up to 32000 words. Performs 7 different types of tests, and tracks wrong answer for immediate retest. Also has test battery for problem words that are constantly missed.

3670 256PAINT v2: 256 Colour VGA Image Workshop. Previously 256DRAW, it is designed for use by anyone who has a desire to paint or edit images in 256 colour VGA mode. The images created with 256 Paint are simple bitmap images with no compression schemes involved. This product encompasses many diverse painting and graphics-related routines.

3671 Action Graphics V1.4: slick drawing & animated graphics. An amusement program that allows you to build things on your screen and animate them. The mouse is used to select from several graphic objects (circle, line, gear, etc.) or action icons which include Move, Resize, Burst, Rotate, Attach, and many others. Requires 10 MHz cpu, VGA and mouse.

3672 DFD: DataFlow Diagrams. System to develop & maintain DFDs.

3673 Children's Graphics Program V4.0. With this software you can use lines, circles, boxes, text, and macros to create pictures. You can also edit, save, paint and animate your drawings. Requires EGA, mouse and 640K RAM.

3674 CompuShow V8.46: All-purpose graphics file viewer. With greatly extended mouse support Dithering of all 2, 4, and 16 colour display modes for Best ever display quality on Hercules, CGA, and EGA adapters! "Full time rescaling" automatically displays all graphics to fit or fill the screen. Supports all popular graphics file formats. Support of XMS (Extended) memory as well as EMS (Expanded) memory.

3675 DAZZLE: Superb VGA demonstration. This famous program is used by all major PC vendors in demonstrations, shows etc. to show off their VGA capabilities. Get it for your PC as well. Fun to watch - also soothing, relaxing, meditating etc. Latest update.

3676 Dr. Motes' Colorbook V 2.0. An EGA colouring book with 32 colours and shades to choose from. You can store your pages for later use. Requires 256K RAM, EGA graphics, and a mouse.

3677 DESKTOP PAINT: 256 VGA version. Comprehensive & easy to use painting package. Supports EMS/XMS. Req. VGA & mouse.

3678 & 3679 EGA COLOURING BOOK v2.1 is a computer colouring book. ECG allows children to use over 500 colours and patterns to colour full screen pictures. Children, age 3 and up, will enjoy bringing the pictures to life with colour. ECB teaches eye-hand coordination and encourages artistic expression. ECB is very easy to use. We have been told by registered users that ECB is one of the few programs that their 3 year old children can actually use alone. A great program to use to introduce the computer to children. They will have so much fun, they won't even realize that they are learning basic computer skills.

3680 VGA-CAD Excellent drawing & drafting program. Easy-to-learn, well-documented, very popular.

3681 VPIC v4.8: Graphics file viewer & converter. VPIC is a file viewer/converter for EGA, VGA and most SuperVGA display adapters. It is configurable for your display card using a plain text configuration file. A comprehensive DOC file explains all the features of VPIC. VPIC will display ,and convert to, the following graphics file formats: BIF, BMP, GIF, LBM, MAC, PIC, PCX, CUT, SCx, TGA. Fast, easy menu system with mouse support. Handles up to 500 files using mouse or keyboard.

3682 ExpressGraph: easy-to-use business graphics program. Numbers can be analyzed much more easily and quickly when they are displayed in graphic form. ExpressGraph allows you to display numbers in a variety of graphic formats. Then you can choose the display you like best, and print your graph.

3683 ABC interactive, easy-to-learn programming language. ABC is an imperative language originally designed as a replacement for BASIC: interactive, very easy to learn, but structured, high-level, and easy to use. It is suitable for general everyday programming; an excellent teaching language, and because it is interactive, excellent for prototyping. ABC programs are typically very compact, around a quarter to a fifth the size of the equivalent Pascal or C program. However, this is not at the cost of readability, on the contrary in fact. ABC is also simple to learn due; if you already know Pascal or Basic you can learn the whole language in an hour or so.

3684 & 3685 At Ease With Computer Programming, v1.4. Non-technical but educationally advanced system to teach computer programming principles & concepts to aspiring, novice & expert programmers. PCM Magazine called it "the most detailed yet interesting approach to problem solving" they had ever seen. "Any beginning or advanced programmer could benefit from this system, whether to write structured code in BASIC, C, Pascal or a