Mortgage calculator.
Interest rates are down. Hurry, hurry.
get that mortgage re-financed NOW. This
prog. helps you to see what a mortgage
will cost you, or what effect changes
to your payments etc. will have on your
total outlay. It assumes a no frills,
Standard Repayment mortgage, in which
the fixed rate interest on the balance
of the Principal is charged calendar
monthly at 1/12th of the annual
interest rate. If you go back to your
old 11+ school notes on geometric
progressions (Editor: for those who are
a little younger, try your GCSE Maths
notes) you will see that all you have
to do is to work out the value of the
loan at compound interest over 'n'
years and equate it to the value of a
sinking fund accumulation over the same
period. Then a bit of algebra and
you've sussed it!
Actually we use the formula to get the
monthly payments but, hail to the
computer, we then go through it
tediously month by month, rounding the
pennies up and down to produce a
Summmary or a Detailed Listing. This
way it's never more than a few pence
out from the Mortgage Company, provided
they are charging to the same criteria.
If they're not it'll cost you more, so
put the boot in..but check for any
re-negotiation charges first.
Output: The Summary and Detailed
Listing can be cycled repeatedly (so
you can change your monthly premiums),
the original mortgage Principal and
annual interest rate being retained.
You can ask for the Closing Balance at
a specified date (make a note of it),
select New Mortgage at the prompt and
run it again with a new Principal
after, say, paying off a lump sum etc.
etc. The Cost Factor is simply the
ratio of your total outlay to the
original Mortgage Principal
Note: Try this. RUN the prog from
scratch without changing the monthly
premiums at the prompt. Select Repeat
at the next prompt but now type in a
'new' monthly premium with exactly the
same value as the first run. You will
now see a difference in the final
month's due payment and/or the final
date. Why? Well if you haven't input
the monthly premiums yourself (two
decimal places implicit) on the first
run, then the prog. uses its own calc
and works it out to umpteen places to
correspond exactly with the mortgage
period, then uses this value throughout
the detail calcs but only shows you two
decimals. Geometric progressions are
sensitive to the accuracy used
particularly over longer time periods
and you can expect some (small)
difference from the mortgagee's fingers
and toes figures.
The column 'Mar' shows you what the
Mortgage Co. (ie the mortgagee) gets
out of it, in case you fancy the job
yourself. They re-invest your monthly
payments as they get them, assumed at
the same monthly compound interest rate
they charge you, and it grows and grows
into the Mortgagee's accrued return,
Mar. That's why they sometimes add a
penalty charge if you make a late
payment because they lose a whole
month's interest on it! However they do
have to pay interest on the money they
borrowed to lend to you - tough. So
they don't really end up with all that
dosh. You work it out.
by Steven Flintham
Joker is a simple program which
displays jokes at random from a
disk-based data file. The first version
was written in October 1991 as my first
multitasking Archimedes program. I
recently rewrote the Archimedes version
and decided to convert it to the 8-bit
BBC series at the same time. The joke
files on BBC version 1.00 and
Archimedes version 2.00 are identical -
BBC version 1.10 has a few extra jokes
added.
When run, a "title" screen will appear
and there will be a relatively short
delay while the computer scans through
the joke file. You will then be
prompted to press SPACE to continue, at
which point a joke will be displayed.
Pressing SPACE after that either
displays the rest of the joke (if it
doesn't all fit on the screen at once)
or displays the next joke. The jokes in
the file are marked as used after being
displayed to prevent repetition, so the
disk must be left in the drive and must
not be write protected during use.
Pressing ESCAPE at almost any time will
close the joke file and quit the
program.
When all the jokes have been seen,
there will be a short delay while they
are all marked as unused again and they
will begin to repeat - this is,
obviously, unavoidable. Repetition
between resets is, however, avoided.
Modifying the joke file
If you don't like the jokes currently
used by the program or you want to add
more, you can edit the file "Jokes".
Each joke begins on a new line with |$
or |^ (I recommend you use the former,
because although BBC version 1.10
ignores these characters, this provides
maximum compatibility with other
versions) and then takes the form of
straight text with RETURNs ONLY where a
new line is required. Joker
automatically prevents words being
split at line ends.
The end of the joke is indicated by the
|^ or |$ of the next joke, or by a ^ on
its own line if there are no more
jokes.
Examining the existing file should make
the format clear if this is
incomprehensible!
After modifying the joke file, you
should *Delete JokeInd and then run
Joker. This will recreate the JokeInd
file - this can take some time, but
only has to be done when the joke file
has been changed.
Copyright and distribution
The program code for Joker 1.10 is
freeware, and may be copied freely
provided no profit is made in the
process and that all the files remain
unchanged. However, it remains (C)
Steven Flintham 1993. The joke file is,
of course, exempt from this copyright.
Nevertheless, the program code may not
be distributed with a changed joke file
(to prevent confusion between versions
and to avoid me being held responsible
for people taking offense at jokes
added by someone else!) If you want,
you can distribute changed joke files
separately, as long as they are
accompanied by a documentation file
stating that you are the "author" of
these files.
Credits
I would like to thank Chris Richardson
for his suggestions about version 1.00,
which have been implemented in version
1.10. Thanks to the use of a separate
index file, it no longer takes a week
or two to load.
Disclaimer
Joker is not guaranteed suitable for
any particular purpose and the author
cannot be held responsible for any
damage caused to software or hardware
through the use of this application,
nor for any damage caused as a result
of software or hardware damage. If you
discover any problems, feel free to
write to me at the address below, but
it cannot be guaranteed that any
problems will be corrected.
Contacting me
If you have any jokes you would like me
to consider adding to the joke file in
later versions, please send them to me.
A letter will do - no need for a disk,
but if you do want to send one for some
reason, please note that I can only
handle the following formats:
40 track single sided DFS or
40 track single sided ADFS ('S')
for 5.25 inch
80 track double sided ADFS ('L')
for 3.5 inch
Please send an SAE if you want your
disk back.
My address for problems and jokes is:
Steven Flintham
6 Laythorpe Avenue
Skegness
Lincolnshire
PE25 3BX
Publicity
If you're a keen BBC user, why not join
8-bit Software, a disk-based magazine &
user group. For more information, write
to:
8-bit Software
1 Oakwood Drive
Heaton
Bolton
BL1 5EE
enclosing an SAE. Alternatively, send a
blank disk in any of the following
formats, either 3.5" or 5.25":
80 track double sided DFS
80 track double sided ADFS ('L')
along with a 50p coin for a copy of the
latest edition.
Any 8BS members reading this can
contact me via 8BS, user ID 15A.
Banners allows messages to be printed
horizontally or vertically down sheets
of continuous listing paper. These
banners can then be hung horizontally
with the sprocket holes running left to
right if not removed or vertically with
the sprocket holes running top to
bottom. Any characters can be
incorporated in a banner, the program
reads the BBC's character set when run
and uses this for each character. When
a banner is printed, a vertical and
horizontal multiplier can be set, these
allow each character to be increased in
size up to a factor of ten. The best
size for the characters will depend on
what the banner is to be used for, but
I usually set the vertical multiplier
slightly larger than the horizontal to
prevent the characters looking "fat".
For simplicity the program is menu
driven. There are only 6 options
(including quit) displayed. It is
possible to enter operating system
commands from the menu. The options
available are:
Save and Load - these allow the current
settings to be saved to disk for future
use. If you are using a tape system you
will have to remove the section in save
which looks for any file which may have
the same name as the one you have
specified.
Change Settings - the settings which
this allows access to are at the heart
of the program. The horizontal and
vertical multipliers have already been
described. The left, top and bottom
gaps allow space to be left on the left
of each character (thus allowing
characters to be in the centre of a
sheet), and blank lines to be left
above or below each letter, these allow
for each letter to be printed on
separate sheets of paper. Normally,
when printing, each letter is made of
Xs, but this can be changed, some
characters are more suitable for use
than others, e.g. * can be used
effectively as can O but - is less
effective. Likewise a blank (space) is
usually used for the background but
this can be changed. Finally line
spacing can be set. This allows the
space between each line of characters
making up a letter to be varied. The
line spacing is descibed as a fraction
of an inch, n/216th of an inch. This is
normally set to 36, the default setting
on most printers. By increasing this
value, letters become more spaced out
and by reducing it they become more
compact. This may necessitate some
changes in the lines at the top and
bottom of each letter.
Message - this allows three messages to
be specified. The main message, which
will be printed out in large letters, a
pre message, which is printed before
the main message, and a post message
which is printed at the end of the main
message.
Print - this allows the message (plus
pre and post messages) to be printed
out. The option can be selected and
used without the printer being switched
on so some idea of the end result will
appear.
When entering data, if return is
pressed without anything being entered,
then the current setting will be left
the same. By altering settings between
printing letters of the same word
various effects can be gained, e.g.
letters which get smaller (or larger)
as read.
As it stands Banners is set to use an
Epson-standed dot matrix printer, but
it is in no way restricted to this. The
program should run equally well (if not
better) on a daisy wheel. The program
only uses two special control codes,
the code for Escape (which is normally
standard anyway), and the code for
n/216 line feed. These are both set by
the procedure epson#codes. Once these
values are changed, the program should
run unchanged on any printer.