Bizarre 64

From Wikipedia, the free encyclopedia

Bizarre 64 was a bulletin board system written for the Commodore 64 by Bill Atchison circa 1985 in order to fill the need for a faster and more professional BBS system than was currently available at the time for the Commodore-64 computer system.

The problem faced with the Commodore-64 was that the disk drives were being run as serial devices transmitting data roughly at 1200 or 2400 bit/s which is about the same speed of the average modem at the time. Visitors to a typical Commodore-64 BBS would see the data stream visibly stagger and wait online for many seconds as the BBS switched from modem output to disk access for more data. Therefore, the challenge of the Bizarre-64 BBS was to eliminate all of the waiting and make the data transfer appear transparent to the visitor and look as smooth and fast as competitive products running on more expensive hardware.

How Bizarre-64 resolved this problem is that the disk drives and modem could actually transmit data simultaneously so by caching a partial index of the BBS in memory certain information could be flushed to the modem output buffer immediately while the computer was waiting on the disk to transfer the data. Since the disk drives had their own on-board computers commands could be sent to locate and transfer records asynchronously without the program needing to wait for events from the disk to complete. Bizarre-64 leveraged this capability by always sending requests in advance to the disk drive and then would output a stream of data to the modem while waiting on the next record from the disk drive. This technique made Bizarre-64 very responsive to the visitor so that actions such as NEXT or PREVIOUS message seemed to happen instantly upon pushing the letter.

Additionally, Bizarre-64 could support rapid login and membership search for up to 4,000 members via a hash index table stored in ghost RAM hidden behind an 8K ROM. This allowed logins and user name searches to be extremely fast in 1-2 seconds as using the hash table located the member name with a mathematical formula thus requiring only a couple of disk accesses to identify the exact member record. This was a massive improvement over other systems that searched linearly through a member database that could take almost a minute or more to locate a record.