Image BBS Programmers Reference.pdf
(
357 KB
)
Pobierz
This is a manual for programming Image BBS v1.2(A) applications on the Commodore 64. It
was retyped based on the only surviving printed copy I had. I was missing a few pages; plus,
my Okimate 20 chewed up a few lines here and there. I'll do the best I can to extrapolate
any missing information and add comments, which will go in [square brackets]. Overall, I'm
hoping it should be pretty accurate ‐ all typos should be squashed, and none added.
I'm not sure where to get the original copy...
For now, I can be reached on the Internet at
sym_rsherwood@yahoo.com
.
I admit, I got a little lazy on the last part of the BASIC listing. It appears the original writers
did too. Any additional fact‐finding would have to be done on the original distribution files,
as my BBS as it stands now is heavily modified.
Programmer’s Reference
Page 1
Preface
Chapter I:
4.
4.
4.
5.
5.
6.
6.
6.
6.
General Information
The Function Keys
The Drive Designators
Time and Date Format
Carrier Loss
Access Levels
Plus Files (+.*)
ML Modules (++ *)
Mini Plus Files
Chapter II:
7 .
BASIC Subroutines
Chapter III: Machine Language Subroutines
16.
22.
23.
23.
23.
24.
25.
Jump Table (& commands)
Memory Map
Using Modules
RS232 Routines
Swapper
The Light Bar
The System Editor
Chapter IV:
26.
26.
27.
28.
29.
30.
30.
31.
31.
Disk File Formats
The User File (u.config)
The System Data File (e.data)
Statistics (e.stats)
Boot Files (bd.data)
U/D Directories
Sub‐Board Directories
Sub‐Board/Library Data
E‐Mail
Chapter V:
32.
32.
33.
35.
36.
38.
Variable Usage
Temporary Storage Variables
Reserved String Variables
Reserved Integer Variables
Reserved Floating Point Variables
Arrays
Programmer’s Reference
Page 2
Preface
This manual assumes the [user has a good working knowledge of] the BASIC programming language. If you find that you
have trouble with areas on BASIC, it is recommended that you refer to a good programming book, such as the Commodore
64 Programmer's Reference Guide, published by Howard W. Sams & Company.
The main purpose of this manual is to familiarize the reader with areas of Image that may be accessed in order for the
reader to write modifications or modules to enhance their systems.
The scope of this book is intended to include: BASIC subroutines, reserved system variables, important areas of memory in
use, disk file handling, execution and use of "mini plus‐files" and data formats of various disk files.
This manual was made with every intent to provide a readable, accurate, and exciting way to program Image like never
before. Enjoy the manual.
New Image Software
Welcome to the world of programming IMAGE BBS! This manual is designed to allow both the novice and advanced
programmer the ability to program IMAGE BBS modules. We will cover five major areas of IMAGE BBS: general information,
the BASIC program, machine language routines, disk file formats, and variable usage charts. Also included you will find a
special question and answer section of the most often asked questions and the answers to those questions. [Note: I never
saw that section.]
IMAGE BBS will support virtually all hardware available for the C64, including the Lt. Kernal (c) hard drives and the CMD HD
series hard drives. Also, the SwiftLink (c) RS‐232 cartridge by Dr. Evil. [Note: SwiftLinks have been replaced by Turbo232
cartridges, sold by Maurice Randall of Click Here Software. His order site is located at http://www.cmdrkey.com.]
IMAGE BBS is a modular type program consisting of both BASIC and machine language modules. A main BASIC module
("im") and a main machine language module ("ml 1.2") both reside in main memory at all times. Also used are BASIC
modules (+.*) and machine language (++*) modules.
The purpose of this manual is to provide you with necessary subroutines and variable considerations to make your own
modules or modify the existing system to suit your needs.
I would like to thank all of those who worked hard in taking NEW IMAGE SOFTWARE to where it stands today.
‐
‐
‐
‐
‐
‐
DON GLADDEN (C Tuna) for the original BASIC program.
RAY KELM (The Professor) the ML whiz‐kid, for the ML.
FRED DART (The Chief) for hours upon hours of work and always being available for support. [R.I.P.]
JOHN MOORE (Little John) for continuous sleepless nights spent to better the software and its subsystems. Also for
the much awaited 128 version.
BOB LEARY (Dr. Bob) for countless hours of work wracking my brains trying to get this manual done.
NISSA for providing undue support to all those sysops in their time of need.
Programmer’s Reference
Page 3
Chapter I: General Information
There are several things which are often used and would fit the description of general information. The items covered in
this chapter are used in almost every module you can find.
The Function Keys
IMAGE BBS uses function keys to represent specific ASCII characters which:
allows typing special characters in quote mode rather than using CHR$() codes, and
avoids the pitfall of truncating lines, or the necessity of using custom I/O routines to read SEQuential data files.
F5: Quotation mark
(")
F6: RETURN [CHR$(13)]
F7: Asterisk
(*)
F8: Up‐arrow
(^)
F1: Comma (,)
F2: Question mark (?)
F3: Colon (:)
F4: Equal sign (=)
The Drive Designators:
IMAGE BBS uses six drive [designators to] identify the system drive in which to find a specific file. The active drive is set by
setting the variable DR to a value of 1 through 6 as I will describe below:
1: System drive. This drive should contain all of your s.* files. When writing your own modules, all files which are usually
read but NOT changed often (like intro screens) should carry the s. prefix and be stored on this device.
2: E‐mail drive. This drive contains all mail (m.*), forced mail (fm.*), and network (nm.*) files.
3: Etcetera drive. This is one of the most active drives on your system. It contains all files which change often, and should be
used to store data which needs to change frequently. [Note: these files have an e.* prefix.]
4: Directory drive. This drive holds all the sub‐directories (d.* files) used by the system.
5: Plus‐file drive. This drive holds all IMAGE BBS program modules.
6: User drive. This drive is used to store the user records and alphabetical user list.
Programmer’s Reference
Page 4
Time and Date Format
IMAGE BBS uses an 11‐digit string to represent the current time and date. This information is stored in D1$.
1 90 11 03 80 45 IMAGE BBS will translate this into the string
^ ^ ^ ^ ^ ^ "Sun, Nov 3 1990 12:45 PM"
| | | | | |
| | | | | +‐‐‐‐ Minutes 00‐59
| | | | |
| | | | +‐‐‐‐‐‐‐ Hour 00‐11: AM
| | | | 80‐91: PM (subtract 80 to get correct hour)
| | | |
| | | +‐‐‐‐‐‐‐‐‐‐ Date 01‐31
| | |
| | +‐‐‐‐‐‐‐‐‐‐‐‐‐ Month 01‐12
| |
| +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Year 00‐99 (plus hard‐coded century base)
|
+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Day 1‐7 (1=Sunday, 7=Saturday)
[Note: Spaces and diagram added for clarity. Also, one thing the manual doesn't mention is putting CHR$(4), CTRL‐D, in
an & statement followed by a properly formatted 11‐digit string will display a readable time/date stamp. To wit,
&"[CTRL‐D]19011038045"
will echo the same string as at the top of this explanation.]
Carrier Loss
All prompts for user input must be protected against a lost carrier! This is simple, and easily forgotten. If the carrier is lost,
the system will automatically drop the user's time to zero. Time remaining is stored in the integer variable TR%. The
simplest way to protect your system is to check the value of TR%: if it is less than one either GOTO line 1811, or RETURN if it
is a subroutine.
Access Levels
IMAGE BBS uses the following table to determine which access groups (0‐9) have access to seperate areas of the system.
Group
0
1
2
3
4
Value
1
2
4
8
16
Group
5
6
7
8
9
Value
32
64
128
256
512
To figure out which access levels would have access to certain areas, you must add the values of the access groups you wish
included together. For example, if you wanted all groups allowed access to the function, you would need an access code of
Programmer’s Reference
Page 5
Plik z chomika:
Amiga7878
Inne pliki z tego folderu:
cgfiles2.d64
(170 KB)
image4vice.zip
(8180 KB)
BBS7.D64
(170 KB)
BBS1.D64
(170 KB)
BBS2.D64
(170 KB)
Inne foldery tego chomika:
bbsgoodies4
bbsgoodies6
bbsgoodies7
Image v1.2a -Pinacolada
image2kbeta1
Zgłoś jeśli
naruszono regulamin