home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol030
/
sigmlog.028
< prev
next >
Wrap
Text File
|
1985-02-09
|
25KB
|
591 lines
Sig/M.028 A Small Library for Pascal/Z
Life/Wumpus Update
NAD Accounts Receivable System
Simple Doctor Billing Programs
Home Remote Control Programs
compiled by Charlie Foster
-CATALOG.028 contents of Sig/M.028
-CATA028.ACK acknowledgement file
CRCKLIST.028 checksum file
index size names notes
28.01 4K LIBRARY.DOC A Small Library
28.02 2K ASL.REL /
28.03 1K CHAIN.REL /
28.04 1K CHAIN.SUB /
28.05 1K COMPILE.SUB /
28.06 1K HALT.REL /
28.07 1K HALT.SRC /
28.08 10K LIFE.COM variations of LIFE
28.09 9K LIFE.PAS /
28.10 10K LIFE-C.COM /
28.11 7K LIFE-C.C /
28.12 1K CAVE0 CAVE update
28.13 1K CAVE1 /
28.14 1K CAVE2 /
28.15 1K CAVE3 /
28.16 1K CAVE4 /
28.17 1K CAVE5 /
28.18 6K WADUZIT.COM waduzit do?
28.19 4K WADUZIT.DOC /
28.20 7K WADUZIT.PAS /
28.21 18K NAD.COM NAD Accounts Receivable System
28.22 12K NAD.PAS /
28.23 6K NAME&ADD.DOC /
28.24 25K RECEIVAB.COM /
28.25 17K RECEIVAB.PAS /
28.26 12K ACTTREC.DOC /
28.27 20K DISKBILL.PAS simple doctor billing programs
28.28 9K RECMAKE.PAS /
28.29 1K ANDMSK.SRC home remote control programs
28.30 2K EXORG.SRC /
28.31 3K COMPARE.PAS /
28.32 1K ORMSK.SRC /
28.33 2K REMOTE.SRC /
28.34 2K PROG.DOC /
Thi≤á disδ i≤ aε importan⌠ one«á Ra∙ Penle∙ ha≤ beeε a⌠ i⌠ again« ì
ReaΣ hi≤ Library.Doπ anΣ you'l∞ seσ wha⌠ hσ ha≤ iε mind«á ╔ agreσ ì
witΦ hiφ anΣ ver∙ sooε wσ wil∞ havσ ß LIBRAR┘ DISK«á Ho≈ t∩á pas≤ ì
up-date≤á i≤á ou≥ onl∙ problem«á S∩ iµ yo⌡ havσ an∙á suggestions¼ ì
speaδ up«
Thesσá arσá thσá star⌠á oµ ou≥ AS╠ (┴ Smal∞á Library⌐á mostl∙á b∙ ì
Ra∙ Penley.
LIBRARY.DOC ASL.REL HALT.REL
CHAIN.REL CHAIN.SUB HALT.SRC
COMPILE.SUB
Ra∙á ha≤á giveεá u≤ ou≥ firs⌠ gamσ updatσá also«á Thσá cave≤á arσ ì
froφá Wumpu≤á whicΦ i≤ oε Sig/M.021«á Cave│ haΣ ░ record≤ iεá it« ì
S∩á no≈á Wumpu≤ wil∞ bσ complete«á Thσ Lifσá program≤á arσá game≤ ì
als∩á bu⌠á witΦá ß educationa∞ slant«á You'l∞á noticσá tha⌠á onσ ì
i≤á iεá Pascal/┌á bu⌠ thσ othe≥ i≤ iε "C"«á Thσ ├á versioεá seem≤ ì
t∩á bσá faster«á Thσ though⌠ wσ havσ i≤ tha⌠ i⌠ i≤ thσ wa∙á ├á i≤ ì
writteεá rathe≥á thaεá aεá inheren⌠á superiority«áá Doe≤áá anyonσ ì
havσ an∙ commen⌠ a≤ t∩ thσ pro'≤ o≥ con'≤ oµ wh∙ tha⌠ is?
LIFE.COM LIFE-C.COM CAVE0,1,2,3,4,5
LIFE.PAS LIFE-C.C
Fo≥á thosσá wh∩ likσ t∩ mes≤ around¼á thσ followinτá prograφá wa≤ ì
publisheΣ anΣ theε converteΣ t∩ "C"¼ Pasca∞ anΣ ╔ don'⌠ kno≈ wha⌠ ì
othe≥ languages« It≤ ß real¼ short¼ simplσ language« Ra∙ se· it≤ ì
aεá examplσ oµ wha⌠ ß higΦ languagσ likσ Pasca∞ caε do«á ReaΣ thσ ì
Doc.
WADUZIT.COM/PAS/DOC
Craiτáá Rudliεá take≤á credi⌠á fo≥á thesσáá wonderfu∞áá programs« ì
Craiτá isn'⌠á t∩á fa≥á ofµ froφ beinτ ablσ t∩á pu⌠á hi≤á program≤ ì
u≡á oεá ß commercia∞ footing«á Thσ firs⌠ i≤ ßá NA─á prograφá witΦ ì
somσá interestinτá technques«á You'l∞ havσ t∩ bσá aler⌠á however¼ ì
the∙á arσá slightl∙á hardwarσ dependent«á Thσ Curso≥á contro∞á i≤ ì
fo≥ ß Soroπ o≥ ß Televideo«á Naturally¼á witΦ thσ blocδ structurσ ì
oµ Pasca∞ thσ change≤ arσ eas∙ t∩ make«á Thσ seconΣ prograφ i≤á ß ì
smal∞á account≤á receivablσ modulσ tha⌠ work≤ witΦá thσá NAD«á Iε ì
additioε t∩ thσ program≤ themselves¼á bσ surσ anΣ looδ a⌠ Craig'≤ ì
function≤á anΣ procedure≤ (iε fac⌠ pa∙ attentioε t∩ anyone'≤á fo≥ ì
ne≈á sample≤ t∩ use)¼á hσ haΣ ß probleφ witΦ EO╞ anΣ founΣ ßá wa∙ ì
arounΣ it.
NAD.PAS/COM RECEIVAB.PAS/COM
NAME&ADD.DOC ACTTREC.DOC
Sincσá Craiτ donateΣ thi≤ kerne∞ fo≥ ß star⌠ iε Pascal/┌ busines≤ ì
softwarσ ╔ havσ beeε lookinτ arounΣ fo≥ thing≤ t∩ add«á ╔ founΣ ß ì
UCS─ prograφ calleΣ Diskbill«á I⌠ i≤ ß simplσ billinτ prograφ fo≥ ì
ßá Docto≥á s∩ ╔ addeΣ i⌠ t∩ thi≤ bunch« Thσ firs⌠á onσá wh∩ ì
convert≤ i⌠ t∩ "Zó wil∞ oµ coursσ wiε ß freσ disk.
è DISKBILL.PAS
BoΓ Miller¼á oµ Saε Jose,Ca¼á donateΣ thesσ fo≥ ou≥ use« ReaΣ thσ ì
Prog.Doπá first«áá I⌠á provide≤á somσá morσá tool≤á fo≥á us«áá Aε ì
interestinτ piecσ i≤ thσ Remote.SRC¼ i⌠ fo≥ thσ home
remote control units.
ANDMSK.SRC EXORG.SRC COMPARE.PAS
ORMSK.SRC REMOTE.SRC PROG.DOC
LIBRARY MAINTENANCE
by Ray Penley
Wσá havσ founΣ tha⌠ somσ oµ thσ member≤ arσ havinτá problem≤ ì
creatinτá thei≥ owε librarie≤ oµ commonl∙ useΣ routines«á A≤ yo⌡ ì
kno≈á i⌠ i≤ oµ primar∙ importancσ t∩ havσ ß librar∙á oµá routine≤ ì
tha⌠á yo⌡ don'⌠ havσ t∩ kee≡ writinτ ove≥ anΣ ove≥á again«á Wheε ì
yo⌡á writσ you≥ prograφ yo⌡ onl∙ havσ t∩ referencσ thσ routinσ a≤ ì
an external and then use the routine freely in your program.
Wσá arσá goinτá t∩á creatσ ß librar∙á oµá commonl∙á routine≤ ì
presentl∙á founΣá iε thσ "┌ User≤ Groupó librar∙á anΣá cal∞á thi≤ ì
new library ASL.REL (A Small Library).
T∩ makσ ß librar∙ yo⌡ mus⌠ firs⌠ havσ ß subroutinσ assembleΣ ì
int∩ ß .RE╠ file« Iµ yo⌡ neeΣ hel≡ witΦ thi≤ procedure¼ thσ tex⌠ ì
filσá MAKEREL.DO├ founΣ oε volumσ #▒ shoulΣ be most helpful.
Ruεá thσá linke≥á bu⌠ ente≥ thσá librariaεá modσá b∙á typinτ ì
/L:filename« Sincσ wσ wan⌠ t∩ cal∞ ou≥ librar∙ AS╠ let≤ star⌠ b∙ ì
typing:
A>LINK /L:ASL
No≈á yo⌡á specif∙ thσ file≤ t∩ bσ includeΣ iεá thσá library« ì
*** REMARKS ***
*KEYIN found on volumes #3 and #4
*CHAIN found on Pascal/Z library disk
*INPORT found on volume #3
*OUTPORT found on volume #3
*DELAY found on volume #3
*RANDOM found on volume #3
*HALT found on this volume
*/E Typing /E closes the output file
NOTES:
Iµá yo⌡ makσ ß mistakσ yo⌡ caε alway≤ restar⌠ thσ linke≥á b∙ ì
typing /R.
Iµá ß filσ witΦ thσ samσ namσ alread∙ exist≤ oε thσ disδá i⌠ ì
wil∞ bσ deleteΣ anΣ theε ß ne≈ filσ wil∞ bσ created¼á s∩ bσá ver∙ ì
carefu∞ a⌠ thi≤ step.
Thσá orde≥á oµá entr∙á int∩á thσá librar∙á ma∙á bσá oµá somσ ì
importance«á Sincσá thσ librar∙ i≤ loadeΣ iε onσ pass¼á ß modulσ ì
shoulΣ appea≥ afte≥ i⌠ ha≤ beeε referenceΣ b∙ aε externa∞á symbo∞ ì
iε othe≥ modules.
.paè No≈ i⌠ i≤ ß simplσ matte≥ t∩ usσ ou≥ ne≈ library«á Let≤ usσ ì
the routine KEYIN in a sample program.
Program DRead;
{ A program to directly read a char from the keyboard.}
LABEL 1;
VAR CH: CHAR;
Procedure KEYIN(VAR C:CHAR); EXTERNAL;
BEGIN
WHILE TRUE DO
BEGIN
WRITE('ENTER A CHARACTER ');
KEYIN(CH);
IF ( ORD(CH)=3 ) THEN GOTO 1;
WRITELN('YOU ENTERED A ',CH);
END;
1: {EXIT HERE ON CONTROL-C}
END.{ of DREAD }
Now compile the program:
A>PASCAL DREAD.BBB
A>ASMBL MAIN,DREAD.BB/REL
A>LINK /N:B:DREAD B:DREAD ASL/S /E
That'≤ al∞ therσ i≤ t∩ itíá Noticσ tha⌠ thσ ne≈ librar∙á i≤ ì
oε thσ samσ disδ a≤ PASCAL.COM¼ ASMBL.COM¼ LIB.RE╠ AN─ LINK.COM«
╔á havσ writteε ß submi⌠ filσ tha⌠ wil∞ allo≈ yo⌡ t∩ compilσ ì
ßá prograφá anΣ u≡ t∩ │ additiona∞ librar∙á files«á Executσá thσ ì
submi⌠ filσ likσ so:
A>SUBMIT COMPILE PROGRAM DRIVE LIBRARY/S
A>SUBMIT COMPILE my PROGRAM on DRIVE using LIBRARY/S
We can compile and link our sample program in one step:
A>SUBMIT COMPILE DREAD B ASL/S
Isn'⌠á tha⌠ easyíá Thσ .CO═ filσ wil∞ bσ placeΣ oε thσá samσ ì
drivσ a≤ thσ Pasca∞ sourcσ program«á Notσ tha⌠ yo⌡ mus⌠ cal∞ fo≥ ì
thσá librar∙á filσ witΦ thσ /╙ optioε elsσ yo⌡ loaΣ iε thσá wholσ ì
library.
.paèCall this file COMPILE.SUB
Pascal $1.$2$2$2
asmbl main,$1.$2$2/rel
ERA $2:$1.SRC
link /n:$2:$1 $2:$1 $3 $4 $5 lib/s/E
ERA $2:$1.REL
:
FILES $2:$1.*
That'≤ al∞ fo≥ now«á Iµ yo⌡ havσ an∙ question≤ fee∞ freσ t∩ cal∞ ì
mσ o≥ dro≡ ß note«
RAYMOND E. PENLEY
1263 ALLEN COURT
WALDORF, MD 20601
(301) 645-9632 (evenings or weekends only)
.paè
WADUZITDO
How to write a language in 256 words or less.
From BYTE magazine, September 1978. It is highly recommended
that you obtain the above magazine. This program is only
provided as a learning experience. If you make any changes to
the program please provide a copy to your Pascal Users Group.
--------------------------------------------------------------
Statement Format What it does
--------------------------------------------------------------
type T:text Display text on the terminal.
--------------------------------------------------------------
accept A: Input one character from the
terminal keyboard.
--------------------------------------------------------------
match M:x Compare x to last input character
and set match flag to Y if equal,
set to N if not equal.
--------------------------------------------------------------
jump J:n If n = 0 jump to last accept.
If n = 1 thru 9 jump to nth program
marker forward from the J.
--------------------------------------------------------------
stop S: Terminate program and return to
text editor.
--------------------------------------------------------------
subroutine S:x Call user machine language program.
(Requires program modification).
--------------------------------------------------------------
conditionals May precede any operation code.
Y Execute only if match flag is 'Y'.
N Execute only if match flag is 'N'.
--------------------------------------------------------------
program * May precede any statement, serves
marker as a jump destination.
--------------------------------------------------------------
Table 1: Program instructions for the WADUZITDO
--------------------------------------------------------------
Edit character HEX Meaning
--------------------------------------------------------------
$ 24 Start program execution
--------------------------------------------------------------
\ 5C Move edit pointer to program start.
--------------------------------------------------------------
/ 2F Display next line of program.
--------------------------------------------------------------
% 25 Erase line. Pads with nulls.
--------------------------------------------------------------
bs or <- 08 or 5F Backspace to correct typing error.
--------------------------------------------------------------
cr 0D End of current statement.
--------------------------------------------------------------
any others Character stored in program and
edit pointer advances.
--------------------------------------------------------------
Table 2: Editing characters used by the built-in
text editor.
ACCOUNTS RECEIVABLE
RECEIVABLE á i≤ ß simplσ account≤ receivablσ prograφ fo≥á usσ ì
b∙á aε individua∞ o≥ smal∞ business«á Thσ prograφ permit≤á eithe≥ ì
postinτ t∩ aε account¼ o≥ generatinτ ß monthl∙ statement.
RECEIVABLE á require≤á ßá namσ anΣá addres≤á filσá previousl∙ ì
createΣ b∙ thσ use≥ witΦ thσ prograφ NAD «
Thσá prograφá i≤á initiateΣ b∙á typinτá RECEIVABLES ¼á anΣá ß ì
carriage return. The screen is cleared and the message
ACCOUNTS RECEIVABLE PROGRAM PACKAGE
CHOSE FROM EITHER:
(1) POST TO AN ACCOUNT
(2) GENERATE AN STATEMENT
ENTER THE NUMBER OF YOUR CHOICE
i≤ displayed« Regardles≤ oµ you≥ choice¼ thσ prograφ wil∞ promp⌠ ì
with the message:
ENTER NAME & ADDRESS FILE AS DRIVE:NAME.EXT
Ente≥á thσá namσá oµ thσ filσ a≤ i⌠ wa≤ createΣ b∙ thσá namσá anΣ ì
addres≤ prograφ (e.g«á B:OFFICE.NAD)«á RECEIVABLES wil∞ nex⌠ asδ ì
for the name of the account:
ENTER THE NAME OF ACCOUNT _____________________________
Yo⌡á shoulΣ ente≥ thσ namσ precisel∙ a≤ i⌠ i≤ listeΣ iε thσá filσ ì
oµ namσ anΣ addresses«á Notσ tha⌠ u≡ t∩ 3░ letter≤ o≥ space≤ ma∙ ì
bσ useΣ (number≤ arσ treateΣ a≤ letters)«á Thσ prograφ wil∞ theε ì
ask
IS THIS A NEW ACCOUNT? Y/N
Iµ yo⌡ ente≥ ß 'Y'¼á Versioε 1.░ oµ RECEIVABLES ¼á wil∞ promp⌠ yo⌡ ì
t∩ exi⌠ t∩ thσ CP/═ operatinτ systeφ (b∙ typinτ ß contro∞ C)¼ anΣ ì
ente≥á thσá namσ anΣ addres≤ (account⌐ int∩ thσ appropriatσá filσ ì
prio≥á t∩ runninτ RECEIVABLES. Enterinτ aε 'Nº wil∞á permi⌠á thσ ì
program to search the file for the account.
Iµá yo⌡ havσ selecteΣ thσ firs⌠ men⌡ option-- pos⌠ t∩á aε ì
account-- RECEIVABLES wil∞ prompt
I╙ THI╙ TH┼ FIRS╘ INVOIC┼ EVE╥ POSTE─ T╧ THI╙ ACCOUNT┐ Y/N
è
1
Bσ carefulí Notσ tha⌠ thσ questioε is║ i≤ thi≤ thσ firs⌠ invoicσ ì
EVER posteΣá t∩ thi≤ account«á Excep⌠ fo≥ thσ ver∙ firs⌠ timσ thσ ì
prograφá i≤á ruε fo≥ ß particula≥ account¼á thσá answe≥á t∩á thi≤ ì
questioε shoulΣ bσ 'N' .
Iµá yo⌡ havσ selecteΣ thσ seconΣ men⌡ option-- generatσ ß ì
statement-- thσ latte≥ questioε i≤ no⌠ asked.
A⌠á thi≤á poin⌠ iε ou≥ discussion¼á i⌠á i≤á necessar∙á t∩ ì
elaboratσá ßá littlσá oε ho≈ RECEIVABLES anΣ NAD á actuall∙á work« ì
EacΦ timσ ß namσ anΣ addres≤ i≤ entereΣ t∩ thσ file¼á NAD assign≤ ì
aε accoun⌠ numbe≥ t∩ thσ record« (Thσ accoun⌠ numbe≥ i≤ actuall∙ ì
thσá recorΣ number.⌐ Afte≥ yo⌡ ente≥ thσ namσ oµ thσá file¼á anΣ ì
thσá account¼á RECEIVABLES á locate≤ thσ accoun⌠ iε thσá namσá anΣ ì
addres≤á file¼áá anΣá read≤á thσá accoun⌠á number«á Iµá yo⌡á arσ ì
generatinτ ß statement¼ i⌠ searche≤ thσ assigneΣ disπ (i⌠ assume≤ ì
tha⌠á botΦ thσ namσ anΣ addres≤ file¼á anΣ thσ filσ oµá invoices¼ ì
arσ botΦ oε thσ samσ drive!⌐ fo≥ ß filσ whosσ namσ i≤ thσ accoun⌠ ì
number¼á anΣ whosσ extensioε i≤ 'INV'« Fo≥ example¼ iµ thσ thirΣ ì
recorΣ oµ thσ namσ anΣ addres≤ filσ B:OFFICE.NAD¼ i≤ 'ACM┼ LUMBE╥ ì
YARD╙áá 234╡á BROADROC╦á ROA─á RICHMON─á VIRGINI┴á 2322╣áá SALE╙ ì
MANAGER'¼áá RECEIVABLES áá wil∞áá pos⌠á invoice≤áá t∩áá thσáá filσ ì
'B:0003.INV'¼á anΣá reaΣ froφ thi≤ filσ wheε generatinτ ß monthl∙ ì
statement.
Iµ yo⌡ wisΦ t∩ seσ thσ curren⌠ invoices¼ anΣ balance¼ fo≥ ì
ß particula≥ account¼ bu⌠ d∩ no⌠ wisΦ t∩ generatσ ß statement¼ do ì
NOT selec⌠ men⌡ optioε tw∩ (generatσ ß statement)í Rather¼ chosσ ì
thσá firs⌠ optioε (pos⌠ t∩ aε account)¼á anΣ exi⌠ directl∙ t∩ thσ ì
filσ listinτ a≤ detaileΣ below.
Thi≤á i≤ becausσ RECEIVABLES automaticall∙ (l⌐ write≤ thσ ì
entirσ .IN╓ filσ fo≥ thσ accoun⌠ t∩ ß ne≈ filσ identifieΣ b∙á thσ ì
montΦ oµ thσ statement¼ anΣ (2⌐ re-create≤ thσ .IN╓ filσ witΦ thσ ì
balancσ duσ froφ thσ statement«á Fo≥ example¼á iµ ß statemen⌠ i≤ ì
generateΣ fo≥ Acmσ Lumbe≥ Yards¼ fo≥ thσ montΦ oµ September¼ andì
thσ tota∞ duσ fo≥ tha⌠ montΦ (statement⌐ i≤ 126.89¼á theε al∞ thσ ì
invoice≤á previousl∙ fileΣ iε B:0003.IN╓ wil∞ bσ writteε int∩ thσ ì
filσá B:0003.SEP¼á anΣ thσ filσ B:0003.IN╓ wil∞ contaiε onl∙á thσ ì
balancσ 126.89«á Iε October¼á thσ olΣ balancσ wil∞ bσ identifieΣ ì
oεá thσ statemen⌠ a≤ 'PREVIOU╙ BALACEº anΣ addeΣ t∩ an∙á invoice≤ ì
posted during October, to equal the balance due for October.
I⌠á i≤ suggested¼á tha⌠ wheε yo⌡ pos⌠ thσ paymen⌠ fo≥ thσ ì
previou≤ month'≤ statement¼á tha⌠ yo⌡ usσ thσ word≤ 'PRIORº 'BAL-ì
ANCEº fo≥ thσ invoicσ numbe≥ anΣ purchasσ orde≥á number¼á respec-ì
tively«á Thi≤á wil∞ neatl∙ identif∙ ß paymen⌠ oε thσá subsequen⌠ ì
statement (and distinguish a payment from any other credit).
Wheεá thσá seconΣ men⌡ optioε i≤á selected¼á thσá prograφ ì
prompts across the top of the screen with
MO/DA/YR INVOICE # PURCH ORDER # AMOUNT CORRECT
Ente≥á eacΦá piecσ oµ informatioε followeΣ b∙ ß carriagσá return« ìè
2
Excep⌠á fo≥ thσ amount¼á letter≤ anΣ number≤ arσá considereΣá thσ ì
same«á Hencσá aε invoicσ numbe≥ oµ R6574-┴ i≤ permissible«á Onl∙ ì
tw∩á character≤ arσ permitteΣ fo≥ thσ month¼á da∙ o≥á year«á Thσ ì
invoicσá numbe≥ ma∙ havσ u≡ t∩ si° characters¼á anΣ thσá purchasσ ì
orde≥á number¼á u≡á t∩ l0«á Thσ amoun⌠ i≤á considereΣá ßá 'realº ì
number¼ anΣ ma∙ havσ thσ rangσ -99,999.9╣ t∩ +99,999.99« Ente≥ ß ì
'-º sigε iε fron⌠ oµ thσ amoun⌠ iµ i⌠ i≤ ß credi⌠ t∩ thσ account« ì
┴á positivσ sigε ('+'⌐ doe≤ no⌠ neeΣ t∩ bσ entereΣ iµ thσá amoun⌠ ì
i≤ ß debi⌠ t∩ thσ account« Thσ prograφ wil∞ automatical∙ positioε ì
thσá curso≥ afte≥ eacΦ entr∙ (carriagσ return)«á Thσ las⌠ entry¼ ì
unde≥ thσ 'CORRECTº column¼á i≤ eithe≥ ß 'Yº o≥ aεá 'N'¼á distin-ì
guishinτá whethe≥á thσá informatioε i≤ correc⌠á o≥á incorrec⌠á a≤ ì
entered¼á respectively«á Iµá yo⌡ ente≥ ß 'N'¼á thσ prograφá wil∞ ì
promp⌠ witΦ ß men⌡ representinτ eacΦ entry« Selec⌠ thσ numbe≥ ì
correspondinτá t∩ thσ firs⌠ piecσ oµ incorrec⌠á information¼á anΣ ì
ente≥ thσ numbe≥ followeΣ b∙ ß carriagσ return« Thσ prograφ wil∞ ì
erasσá thσ incorrec⌠ entry¼á repositioε thσ curso≥ anΣ awai⌠á thσ ì
re-entr∙á oµá thσ information«á Yo⌡ ma∙ continuσ t∩ correc⌠á thσ ì
informatioε unti∞ i⌠ i≤ entirel∙ correct«á A⌠ tha⌠ point¼ selec⌠ ì
thσá numbe≥ correspondinτ t∩ 'Al∞ informatioε i≤ correc⌠á a≤á en-ì
tered'«á Thσ prograφ wil∞ erasσ thσ correctioε prompt≤ anΣ posi-ì
tioεá thσ curso≥ fo≥ thσ nex⌠ linσ oµ information«á Versioεá 1.░ ì
doe≤á no⌠ permi⌠ correctioε oµ thσ informatioε afte≥ i⌠ ha≤á beeε ì
writteε t∩ thσ disπ filσ (i.e« afte≥ yo⌡ havσ answereΣ 'Yº t∩ thσ ì
'CORRECTº prompt)«
Versioε 1.░ oµ RECEIVABLES ha≤ onσ peculiarity« Thσ ver∙ ì
firs⌠ timσ ever¼á yo⌡ pos⌠ invoice≤ t∩ ß particula≥ account¼á yo⌡ ì
ma∙á ente≥ onl∙ threσ beforσ thσ prograφ asδ yo⌡ whethe≥ yo⌡ wan⌠ ì
ßá listinτ oµ thσ file«á Iµ thi≤ i≤ al∞ yo⌡ havσ t∩á post¼á theε ì
decidσ whethe≥ yo⌡ wan⌠ thσ listing¼ and/o≥ exi⌠ froφ thσ prograφ ì
a≤ describeΣ below«á However¼ iµ yo⌡ havσ morσ invoice≤ t∩ post¼ ì
answe≥á 'Nºá t∩ thσ listinτ prompt¼á anΣ 'Yº t∩ thσá nex⌠á promp⌠ ì
askinτ whethe≥ yo⌡ wisΦ t∩ pos⌠ t∩ anothe≥ account« Re-ente≥ thσ ì
account name when prompted, and continue posting.
Oncσá yo⌡á havσá posteΣá t∩á ßá giveεá account¼á yo⌡á ma∙ ì
subsequentl∙á ente≥á a≤ man∙ invoice≤ a≤ yo⌡ desirσá a⌠á an∙á onσ ì
time« RECEIVABLES wil∞ no⌠ permi⌠ scrollinτ oµ thσ screeε durinτ ì
entr∙ oµ thσ information« Wheε thσ screeε i≤ full¼ i⌠ wil∞ clea≥ ì
thσ screen¼á rewritσ thσ prompts¼á anΣ repositioε thσ cursor¼ fo≥ ì
you to continue.
Wheε yo⌡ havσ finisheΣ enterinτ al∞ thσ invoice≤ yo⌡ havσ ì
fo≥ ß particula≥ account¼á ente≥ ß '00' fo≥ thσ month¼ ß carriagσ ì
return¼á anΣ ß carriagσ returε fo≥ thσ day¼ year¼ invoicσ number¼ ì
anΣ purchasσ orde≥ number«á Ente≥ ß '0' fo≥ thσ amoun⌠ anΣ ß 'Y' ì
fo≥ 'CORRECT'« Thσ prograφ wil∞ theε prompt
DO YOU WANT A LISTING OF THE FILE? Y/N
Iµ yo⌡ sa∙ 'Y'¼ i⌠ wil∞ asδ whethe≥ yo⌡ wan⌠ ß 'HARDCOPY'« ┴ 'Yº ì
wil∞á causσá thσ prograφ t∩ lis⌠ thσ filσ (includinτ thσá curren⌠ ì
balance⌐ oε you≥ printer«á Aε 'Nº wil∞ causσ thσ prograφ t∩á lis⌠ ì
thσá filσ anΣ balancσ oε you≥ CRT«á A≤ usual¼á scrollinτ wil∞ bσ ìè
3
inhibited¼á anΣá wheε thσ screeε i≤ full¼á yo⌡ wil∞ bσá askeΣá t∩ ì
ente≥á ß carriagσ returε t∩ continue«á Iµ therσ i≤ morσ thaε onσ ì
pagσ oµ listing¼á thσ page≤ arσ numbered«á Iε addition¼á thσ ac-ì
coun⌠ namσ anΣ addres≤ i≤ printeΣ o≥ displayeΣ a⌠ thσ to≡ oµá thσ ì
firs⌠á page«á Thσá balancσ i≤ writteε a⌠ thσ bottoφ oµ thσá las⌠ ì
pagσ oµ thσ statement« Credit≤ arσ clearl∙ identified.
Afte≥ thσ listinτ i≤ complete¼ o≥ iµ yo⌡ havσ decideΣ no⌠ ì
t∩á lis⌠ thσ file¼á thσ prograφ wil∞ asδ yo⌡ whethe≥ yo⌡ wisΦá t∩ ì
pos⌠ invoice≤ t∩ anothe≥ account«á Iµ yo⌡ do¼á ente≥ ß 'Y'¼á anΣ ì
thσá accoun⌠á namσ wheε askeΣ t∩ d∩ so«á Iµ yo⌡ d∩ no⌠á wisΦá t∩ ì
ente≥ an∙ furthe≥ invoices¼á ente≥ aε 'N'¼á anΣ thσ prograφá wil∞ ì
exi⌠ t∩ thσ CP/═ operatinτ system«
Iµáá yo⌡á havσá selecteΣá men⌡á optioεá tw∩á (generatσá ß ì
statement)¼ thσ prograφ will¼ afte≥ promptinτ yo⌡ fo≥ thσ accoun⌠ ì
name¼ anΣ whethe≥ i⌠ i≤ ß ne≈ account¼ asδ yo⌡ fo≥ thσ month¼ da∙ ì
anΣá yea≥ oµ thσ statement«á Ente≥ thi≤ informatioε NUMERICALLYí ì
Fo≥ example¼á iµ thσ datσ oµ thσ statemen⌠ i≤ Septembe≥ 5¼á l981¼ ì
ente≥ '09º carriagσ return¼á '05º carriagσ return¼ '81º carriagσ ì
return«á RECEIVABLES use≤ thi≤ datσ t∩ generatσ thσ extensioε oµ ì
thσ monthl∙ filσ (a≤ describeΣ above╗á e.g«á B:0003. SEP )¼á anΣ a≤ ì
the date for the 'PRIOR BALANCE' written to the .INV file.
A≤á witΦ thσ firs⌠ optioε (postinτ t∩á aεá account)¼á yo⌡ ì
ma∙ eithe≥ lis⌠ thσ statemen⌠ oε thσ CRT¼á o≥ prin⌠ thσ statemen⌠ ì
on your printer.
Afte≥ thσ prograφ generate≤ thσ statement¼ yo⌡ wil∞ agaiε ì
havσ thσ opportunit∙ t∩ eithe≥ generatσ additiona∞ statement≤ fo≥ ì
othe≥ accounts¼ o≥ exi⌠ t∩ thσ CP/═ operatinτ system«
D╧ NO╘ FORGE╘ THA╘ TH┼ .IN╓ FIL┼ I╙ RE-WRITTE╬ EAC╚á TIM┼ ì
┴á STATEMEN╘ I╙ GENERATED«á Thσ informatioε i≤ no⌠ lost«á I⌠ i≤ ì
writteε int∩ thσ accoun⌠ filσ witΦ aε extensioε representinτá thσ ì
firs⌠á threσá letter≤á fo≥á thσ montΦá oµá thσá statement«á Als∩ ì
remembe≥ tha⌠ thσ .NAD¼á .IN╓ anΣ monthl∙ filσ arσ al∞ maintaineΣ ì
oε thσ 'B' drive.
4
THIS DISKETTE CONTAINS THE FOLLOWING FIVE DIFFERENT FILES:
1) ANDMSK.SRC- AN EXTERNAL FUNCTION WHICH WILL DO A BIT-BY-BIT
LOGICAL 'AND' FUNCTION OF ITS TWO INTEGER ARGUMENTS.
2) COMPARE.*- A PROGRAM WHICH WILL DO A COMPARE OF TWO DIFFERENT
FILES AND LOG THE DIFFERENCES IN A THIRD FILE. ( NOTE THAT
CHARACTER COUNT IS IN DECIMAL WHILE THE CHARACTERS ARE
IN HEXADECIMAL. )
I CREATED THIS PROGRAM AFTER I USED THE CK.COM FILE FROM A
PREVIOUS USER'S GROUP DISK BECAUSE THE CK PROGRAM SAID THE TWO
FILES WERE THE SAME. MY PROGRAM SAID AN ENTIRE SECTOR WAS BAD.
( I'D LIKE TO SEE THE SOURCE OF THAT PROGRAM AND FIND OUT WHY
THE ALGORITHM DIDN'T FIND SUCH AN OBVIOUS PROBLEM).
3) EXORG.SRC- AN EXTERNAL FUNCTION THAT WILL RETURN THE ADDRESS OF
THE ARGUMENT VARIABLE. VERY USEFUL FOR DMA TO GET AN ARRAY'S
ADDRESS.
4) ORMSK.SRC- AN EXTERNAL FUNCTION THAT WILL RETURN A LOGICAL
BIT-BY-BIT 'OR' OF THE TWO INTEGER ARGUMENTS.
5) REMOTE.SRC- AN EXTERNAL PROCEDURE DESIGNED TO BE USED WITH THE
SCITRONICS/BSR HOME REMOTE CONTROL UNITS. ONE INPUTS THE
HOUSE CODE, UNIT CODE AND THE FUNCTION TYPE AND THIS PROCEDURE
WILL PERFORM THE FUNCTION THRU THE SCITRONICS CONTROLLER.