Автор: Paul Wardle
Год: 1992
Издатели: Your Sinclair
Языки:
Английский
Формат:
TAP лента
Требования:
ZX Spectrum 48K,
ZX Spectrum 48K
Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing
Скриншоты:
Год: 1992
Издатели: Your Sinclair
Языки:
Формат:
Требования:
Ссылки:
Скриншоты:
PROGRAM PITSTOP
Your Sinclair, June 1992
CRAIG BROADBENT has recently discovered a peculiar penchant for
Macaroni Cheese; luckily this hasn't stopped him from typing in
those cheesy listings.
First of all I'd like to say how impressed I was by the amount of mail
I got this month - well done to all involved. And keep it up! This
month's lucky winner is Paul Wardle for his lovely print routines. As
for the rest of you, don't despair - there was so much good stuff sent
in that some of it may well see the glossy pages of YS in a future
issue. I actually picked out three programs for this month's pitstop
but there was absolutely no way they'd fit in. So you'd better tune in
next month hadn't you?
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
42 AND 64
by Paul Wardle
What's so special about 42 And 64 then? Well, as any fule kno, 42 is
the answer to Life, the Universe and Everything. 64 is a somewhat
inferior Speccy rival whose manufacturers were eventually forced to
start making 16-bit computers in order to make a living. More to the
point though, 42 And 64 are two lovely, smashing, great etc. print
routines that enable you to print text in 42 columns, 64 columns or
Tasword.
The machine code listing is the one that does all the work. For 42 it
takes a string, chops two columns out of each character and prints the
remainder whilst attempting to reconfigure the attributes as it does
so. (Although, obviously, it can't change the position of the
attribute grid.) Paul also refers me back to a similar routine in
YS.29 which was written by the then presenter of Pitstop - David
McCandless. Paul goes on to say that 42 is dead useful for tables and
stuff because it doesn't do proportional type and the caps are printed
the same width as lower case letters.
64 works in a slightly different way, it has a whole new 4-pixel wide
character set contained within the Hex. Also, both routines can be
printed on the bottom two lines without any of that funny #1 business.
How it works
It's so simple! All you have to do is type in LET Z$="a sentence" and
then RANDOMIZE USR 60000 for both routines. [The 42-char version on
PR_42_64.TAP starts at 63234, as I happened to have one already typed
up which had been altered to work from that address. JimG] If you're
really fussy you can put co-ordinates in as well, in the form:
LET Z$ = CHR$ 22 + [y co-ord] + [x co-ord] + "a sentence"
Alternatively, you could set up a function to do the donkey work of
fitting the co-ordinates in; just take a look at the demo listing for
more details.
For 42, the screen is 42 wide by 24 deep; and for 64 it's 64 across by
24 down. You can also insert a CHR$ 13 to do the same as an ENTER. And
remember, you don't affect the AT position by clearing the screen.
Techy bits
Paul has also sent in a run-down of the code bits. 42 is split into
four parts ...
63234 - 63326: Main handling routine, checks for control codes and
prints the string on the screen.
63327 - 63545: This routine forms the new 6-bit wide characters and
alters the colours to match the text. The y,x co-ordinates and eight
bytes of workspace are located at the end of this chunk.
63546 - 63641: The data showing which columns to chop out of each
character.
63642 - 63689: The completely redefined characters %, &, 0, T, Y and
(c). These just look daft with columns cut out.
64 is split into three similar parts:
60000 - 60092: Handling routine, same as the one for 42.
60093 - 60229: Printing routine accesses the new 4-bit wide character
set and alters the colours. Contains the y,x co-ordinates at the end.
60230 - 60613: The data containing the new character set. To save
memory, each byte contains two characters. Characters can be retrieved
using the formula Address = Base + 8 * (Code-32)/2. The remainder
following the division gives the position of the character within the
single byte, found by examining the carry flag.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
EGGS
Well, I can see the page number looming in front of me. It's time to
pack up my tools and lock up the Pitstop for another month. But what
an apple pie of a column we've had this month, eh? What's more, next
month's is going to be just as full. And how would you like to see
the same amount the month after that? You would? Good, just send in
those programs and I'll see what I can do. The name's CB and the address
is Program Pitstop, Your Sinclair, 30 Monmouth Street, Bath, Avon BA1 2BW.
Your Sinclair, June 1992
CRAIG BROADBENT has recently discovered a peculiar penchant for
Macaroni Cheese; luckily this hasn't stopped him from typing in
those cheesy listings.
First of all I'd like to say how impressed I was by the amount of mail
I got this month - well done to all involved. And keep it up! This
month's lucky winner is Paul Wardle for his lovely print routines. As
for the rest of you, don't despair - there was so much good stuff sent
in that some of it may well see the glossy pages of YS in a future
issue. I actually picked out three programs for this month's pitstop
but there was absolutely no way they'd fit in. So you'd better tune in
next month hadn't you?
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
42 AND 64
by Paul Wardle
What's so special about 42 And 64 then? Well, as any fule kno, 42 is
the answer to Life, the Universe and Everything. 64 is a somewhat
inferior Speccy rival whose manufacturers were eventually forced to
start making 16-bit computers in order to make a living. More to the
point though, 42 And 64 are two lovely, smashing, great etc. print
routines that enable you to print text in 42 columns, 64 columns or
Tasword.
The machine code listing is the one that does all the work. For 42 it
takes a string, chops two columns out of each character and prints the
remainder whilst attempting to reconfigure the attributes as it does
so. (Although, obviously, it can't change the position of the
attribute grid.) Paul also refers me back to a similar routine in
YS.29 which was written by the then presenter of Pitstop - David
McCandless. Paul goes on to say that 42 is dead useful for tables and
stuff because it doesn't do proportional type and the caps are printed
the same width as lower case letters.
64 works in a slightly different way, it has a whole new 4-pixel wide
character set contained within the Hex. Also, both routines can be
printed on the bottom two lines without any of that funny #1 business.
How it works
It's so simple! All you have to do is type in LET Z$="a sentence" and
then RANDOMIZE USR 60000 for both routines. [The 42-char version on
PR_42_64.TAP starts at 63234, as I happened to have one already typed
up which had been altered to work from that address. JimG] If you're
really fussy you can put co-ordinates in as well, in the form:
LET Z$ = CHR$ 22 + [y co-ord] + [x co-ord] + "a sentence"
Alternatively, you could set up a function to do the donkey work of
fitting the co-ordinates in; just take a look at the demo listing for
more details.
For 42, the screen is 42 wide by 24 deep; and for 64 it's 64 across by
24 down. You can also insert a CHR$ 13 to do the same as an ENTER. And
remember, you don't affect the AT position by clearing the screen.
Techy bits
Paul has also sent in a run-down of the code bits. 42 is split into
four parts ...
63234 - 63326: Main handling routine, checks for control codes and
prints the string on the screen.
63327 - 63545: This routine forms the new 6-bit wide characters and
alters the colours to match the text. The y,x co-ordinates and eight
bytes of workspace are located at the end of this chunk.
63546 - 63641: The data showing which columns to chop out of each
character.
63642 - 63689: The completely redefined characters %, &, 0, T, Y and
(c). These just look daft with columns cut out.
64 is split into three similar parts:
60000 - 60092: Handling routine, same as the one for 42.
60093 - 60229: Printing routine accesses the new 4-bit wide character
set and alters the colours. Contains the y,x co-ordinates at the end.
60230 - 60613: The data containing the new character set. To save
memory, each byte contains two characters. Characters can be retrieved
using the formula Address = Base + 8 * (Code-32)/2. The remainder
following the division gives the position of the character within the
single byte, found by examining the carry flag.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
EGGS
Well, I can see the page number looming in front of me. It's time to
pack up my tools and lock up the Pitstop for another month. But what
an apple pie of a column we've had this month, eh? What's more, next
month's is going to be just as full. And how would you like to see
the same amount the month after that? You would? Good, just send in
those programs and I'll see what I can do. The name's CB and the address
is Program Pitstop, Your Sinclair, 30 Monmouth Street, Bath, Avon BA1 2BW.