Автор: Chris Pile
Год: 1988
Издатели: Your Sinclair
Языки:
Английский
Формат:
TAP лента
Требования:
ZX Spectrum 48K
Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing
Скриншоты:
Год: 1988
Издатели: Your Sinclair
Языки:
Формат:
Требования:
Ссылки:
Скриншоты:
CIRCLES
by Chris Pile
from Your Sinclair #33 (September 1988)
[files CIRCLES.*]
Of all the shapes in the universe, of all the forms in the cosmos, do
you know which is the hardest to draw on the humble old Speccy? No, not
a rhombicosidodecahedron, nor a double helix, but a ... circle! It's so
complex that even the venerated Speccy ROM takes ages to draw one. But
here comes Chris Pile with a circle routine that is 20 times faster than
Basic.
Techno Bilge
For all you bilgo mathematicians out there, here's how it works:
(x^2+y^2)-r^2 for a 45 degree axis in seven points of x-y horizontal
symmetry. Understand? I thought you might.
Method
Despite the complexity of the actual code, it is contrastingly simple to
use. Type in or load the hex loader, and then enter the 320 bytes of
code into address 63000. After you've done that, save it to tape with
SAVE "name" CODE 63000,320.
Circulating
Halo, halo, halo. What's all this then? Just a dab of light humour there
to stir a groan from your chests. Right, now you have the code in
memory, type RANDOMIZE USR 63267. This sub-routine initialises the root
and plot tables which, in English, means it builds up the data for the
circle. You only need to do this once - every time you load the program!
[The routine at 63267 requires a sequence of 8 bytes holding the values]
[of each set bit at $FF00 (65280). This data was omitted from the ]
[magazine listing, so the routine didn't work as printed. The extra ]
[line 15 in the Basic listing corrects this. Thanks to "Woody" for ]
[explaining the required correction. JimG]
To draw a circle use the following variables:
POKE 63002, x co-ord of centre
POKE 63004, y co-ord of centre
POKE 63006, radius
Then once you've done that, it's a case of typing RANDOMIZE USR 63000 to
see your circle on screen. The program is totally crash proof (cross my
fingers), and will not explode in a splurge of flashing squares should
your circle stray off the edge of the screen.
To see how really zippo and fast it is, type in the short demo program.
Get circulating!
by Chris Pile
from Your Sinclair #33 (September 1988)
[files CIRCLES.*]
Of all the shapes in the universe, of all the forms in the cosmos, do
you know which is the hardest to draw on the humble old Speccy? No, not
a rhombicosidodecahedron, nor a double helix, but a ... circle! It's so
complex that even the venerated Speccy ROM takes ages to draw one. But
here comes Chris Pile with a circle routine that is 20 times faster than
Basic.
Techno Bilge
For all you bilgo mathematicians out there, here's how it works:
(x^2+y^2)-r^2 for a 45 degree axis in seven points of x-y horizontal
symmetry. Understand? I thought you might.
Method
Despite the complexity of the actual code, it is contrastingly simple to
use. Type in or load the hex loader, and then enter the 320 bytes of
code into address 63000. After you've done that, save it to tape with
SAVE "name" CODE 63000,320.
Circulating
Halo, halo, halo. What's all this then? Just a dab of light humour there
to stir a groan from your chests. Right, now you have the code in
memory, type RANDOMIZE USR 63267. This sub-routine initialises the root
and plot tables which, in English, means it builds up the data for the
circle. You only need to do this once - every time you load the program!
[The routine at 63267 requires a sequence of 8 bytes holding the values]
[of each set bit at $FF00 (65280). This data was omitted from the ]
[magazine listing, so the routine didn't work as printed. The extra ]
[line 15 in the Basic listing corrects this. Thanks to "Woody" for ]
[explaining the required correction. JimG]
To draw a circle use the following variables:
POKE 63002, x co-ord of centre
POKE 63004, y co-ord of centre
POKE 63006, radius
Then once you've done that, it's a case of typing RANDOMIZE USR 63000 to
see your circle on screen. The program is totally crash proof (cross my
fingers), and will not explode in a splurge of flashing squares should
your circle stray off the edge of the screen.
To see how really zippo and fast it is, type in the short demo program.
Get circulating!