summaryrefslogtreecommitdiff
path: root/bcc/misc/test/sierpin.t
diff options
context:
space:
mode:
Diffstat (limited to 'bcc/misc/test/sierpin.t')
-rw-r--r--bcc/misc/test/sierpin.t123
1 files changed, 0 insertions, 123 deletions
diff --git a/bcc/misc/test/sierpin.t b/bcc/misc/test/sierpin.t
deleted file mode 100644
index 79016f7..0000000
--- a/bcc/misc/test/sierpin.t
+++ /dev/null
@@ -1,123 +0,0 @@
-/* sierpin.t */
-
-#define PPIFBUF 0xf010 /* address of ptr to IFBUF */
-#define PSET 2 /* use this plot option */
-
-struct IFBUF
-{
- char ERR;
- char COMMAND;
- char COLOR;
- char PLOTOPTION;
- int LINESTYLE;
- int X1;
- int Y1;
- int X2;
- int Y2;
- char BFFLAG;
-};
-
-#define H0 512 /* square size */
-#define XOFFS 80 /* offset to centre square */
-#define XNUM 15 /* scale 512 * 15/16 = 480 */
-#define XDENOM 16
-#define YNUM 25 /* scale 512 * 25/64 = 200 */
-#define YDENOM 64 /* to give max height, dot ratio 480/200 = 2.4 */
-
-struct IFBUF *pifbuf;
-int h, x, y;
-
-main()
-{
- struct IFBUF **ppifbuf; /* required since no casts */
- int i, x0, y0;
- char color;
-
- pifbuf = *(ppifbuf = PPIFBUF); /* pifbuf = *(struct IFBUF **)PPIFBUF; */
- pifbuf->PLOTOPTION = PSET;
- pifbuf->LINESTYLE = /* normal */
- pifbuf->COMMAND = /* ?? */
- pifbuf->BFFLAG = 0; /* not a box */
- color = i = 0;
- x0 = 2 * (h = H0/4);
- y0 = 3 * (H0/4);
- while ( h > 1 )
- {
- ++i;
- if ( ++color > 7 )
- color = 1;
- pifbuf->COLOR = color;
- x = x0 -= h;
- y = y0 += h /= 2;
- glocate();
- a( i ); x += h; y -= h; plot();
- b( i ); x -= h; y -= h; plot();
- c( i ); x -= h; y += h; plot();
- d( i ); x += h; y += h; plot();
- }
-}
-
-a( i )
-int i;
-{
- if ( --i >= 0 )
- {
- a( i ); x += h; y -=h; plot();
- b( i ); x += 2*h; plot();
- d( i ); x += h; y += h; plot();
- a( i );
- }
-}
-
-b( i )
-int i;
-{
- if ( --i >= 0 )
- {
- b( i ); x -= h; y -=h; plot();
- c( i ); y -= 2*h; plot();
- a( i ); x += h; y -= h; plot();
- b( i );
- }
-}
-
-c( i )
-int i;
-{
- if ( --i >= 0 )
- {
- c( i ); x -= h; y +=h; plot();
- d( i ); x -= 2*h; plot();
- b( i ); x -= h; y -= h; plot();
- c( i );
- }
-}
-
-d( i )
-int i;
-{
- if ( --i >= 0 )
- {
- d( i ); x += h; y +=h; plot();
- a( i ); y += 2*h; plot();
- c( i ); x -= h; y += h; plot();
- d( i );
- }
-}
-
-glocate()
-{
- pifbuf->X2 = x - x * (XDENOM - XNUM) / XDENOM + XOFFS;
- pifbuf->Y2 = (y * YNUM) / YDENOM;
-}
-
-plot()
-{
- pifbuf->X1 = pifbuf->X2;
- pifbuf->Y1 = pifbuf->Y2;
- glocate();
-#asm
- SWI2
- FDB $4201 call LINEMA
-#endasm
-}