A few questions/issues:
1. What is the purpose of the "skip" parameter? There is no description on the wiki page.
2. Can circles, lines, etc. be somehow drawn XORed?
(I don't need that urgently, I would just like to know if this is already possible)
3. Circle() crashes on the Bandai RX-78 target. Here is a test program to reproduce this.
Code: Select all
/* Circle() Test by RobertK, 2018-12-26
Compile command for the following targets:
=== ZX81 (64?48) === (ok)
zcc +zx81 -startup=2 -o circletest_ZX81 -create-app circletest.c
=== ZX81 WRX (256?192) === (ok)
zcc +zx81 -subtype=wrx -clib=wrxansi -startup=4 -o circletest_ZX81_wrx -create-app circletest.c
=== Casio PV-2000 === (ok)
zcc +pv2000 -create-app -o circletest_pv2000 circletest.c
=== Bandai RX-78 ===
zcc +rx78 -create-app -o circletest_rx78 circletest.c
*/
#include <stdio.h> // required for printf()
#include <graphics.h> // contains plot() and point() functions
void myCls()
{
#if defined(__OSBORNE1__) || defined(__KAYPRO84__) || defined(__ATTACHE__)
printf("\032");
#else
printf("%c",12);
// printf("\x0c"); // the "\x0c" (0x0c character) resets the cursor position to the top left corner
#endif
}
void main()
{
int xMax,yMax;
// determine the screen dimensions for this system
// coordinates go from 0 to this max value
xMax=getmaxx();
yMax=getmaxy();
myCls(); // clear the screen
printf("\n\n\n\n\n*** circle test ***\n(%d x %d)\n\n",xMax+1,yMax+1);
printf("press any key to plot and unplot\n\n");
fgetc_cons(); // wait for keypress
msleep(250); // wait a quarter of a second
#if defined(__ABC80__) || defined(__EG2000__) || defined(__SORCERER__) || defined(__VZ200__) || defined(__VG5000__) || defined(__P2000__) || defined(__MULTI8__) || defined(__SC3000__) || defined(__MSX__) || defined (__MTX__) || defined(__KAYPRO84__) || defined(__PACMAN__) // || defined(__CPC__)
clg(); // activate graphics mode
#endif
plot(1,1);
plot(3,3);
plot(40,4);
plot(5,5);
unplot(5,5);
plot(7,7);
printf("press any key to draw circle\n\n");
fgetc_cons(); // wait for keypress
msleep(250); // wait a quarter of a second
circle(20,20,7,1);
printf("\npress any key to clear screen\n");
fgetc_cons(); // wait for keypress
msleep(250); // wait a quarter of a second
myCls(); // clear the screen
}