Steve Nickolas
2023-12-20 09:43:25 UTC
I've been thinking about trying to do something rather complicated, but
then I stepped back and was like, well, a problem is much more easily
surmountable if I break it down into smaller pieces. So I figured - for a
project I want to do - what would be the best place to start?
The ultimate idea was to try to reimplement Logo - but the part I think
that will give me the best feeling of achievement, and the one most useful
outside of the Logo context, is the Terrapin. So I figured...perhaps the
next step would be to implement the Terrapin as an & library for BASIC:
commands like &FD, &BK, <, &RT, &HOME, &ROT= (equivalent to SETHEADING
in Terrapin Logo), &HT, &ST, &PU, &PD, &PE, &X= (SETX), &Y= (SETY), &GOTO
(SETXY), &HGR (to clear the hi-res screen but also redraw the Terrapin);
and a USR() to implement something like Terrapin Logo's TOWARDS. (These
are, afaict, the full suite of graphics commands which is supported by
Terrapin Logo 1.0)
This would prove to be about a pain in the neck, although availing myself
of FPBASIC functionality to implement this would certainly be useful. For
example, the HPOSN and HGLIN functions would mean that actually drawing
lines can be left to FPBASIC (although the actual calculations of the
Terrapin's target position would need to be done in ASM, as well as
implementing the wrapping when the Terrapin goes off the edge of the
screen), and the same code that implements XDRAW could also be used to
draw and undraw the Terrapin.
After that comes the bit of trying to figure out what-all *is* Logo, since
even the manuals I've seen don't even scratch the surface of what it can
do outside of graphics.
-uso.
then I stepped back and was like, well, a problem is much more easily
surmountable if I break it down into smaller pieces. So I figured - for a
project I want to do - what would be the best place to start?
The ultimate idea was to try to reimplement Logo - but the part I think
that will give me the best feeling of achievement, and the one most useful
outside of the Logo context, is the Terrapin. So I figured...perhaps the
next step would be to implement the Terrapin as an & library for BASIC:
commands like &FD, &BK, <, &RT, &HOME, &ROT= (equivalent to SETHEADING
in Terrapin Logo), &HT, &ST, &PU, &PD, &PE, &X= (SETX), &Y= (SETY), &GOTO
(SETXY), &HGR (to clear the hi-res screen but also redraw the Terrapin);
and a USR() to implement something like Terrapin Logo's TOWARDS. (These
are, afaict, the full suite of graphics commands which is supported by
Terrapin Logo 1.0)
This would prove to be about a pain in the neck, although availing myself
of FPBASIC functionality to implement this would certainly be useful. For
example, the HPOSN and HGLIN functions would mean that actually drawing
lines can be left to FPBASIC (although the actual calculations of the
Terrapin's target position would need to be done in ASM, as well as
implementing the wrapping when the Terrapin goes off the edge of the
screen), and the same code that implements XDRAW could also be used to
draw and undraw the Terrapin.
After that comes the bit of trying to figure out what-all *is* Logo, since
even the manuals I've seen don't even scratch the surface of what it can
do outside of graphics.
-uso.