Updated joystick test program

This commit is contained in:
Curtis F Kaylor 2018-11-07 00:12:05 -05:00
parent 11fbab1281
commit 35ea24cefb
2 changed files with 115 additions and 4 deletions

View File

@ -22,10 +22,6 @@ main:
setpos(1,r);
putchr('J'); prhex(i); putchr(':');
}
for (i=0; i<4; i++) {
setpos(25,i);
prbyte($D0); prbyte(i);
}
while() {
for(i=0; i<#JYSTKS; i++) {
j = joystk(i);

115
test/structs.c02 Normal file
View File

@ -0,0 +1,115 @@
/**********************************************
* STRINGS - Demonstrate string.h02 functions *
**********************************************/
//Specify System Header using -H option
#include <stddef.h02>
#include <stdlib.h02>
#include <stdio.h02>
#include <stdiox.h02>
#include <memory.h02>
#include <string.h02>
char d, i;
char aa,xx,yy;
//Define Structure
struct record {
char name[8];
char index;
data[128];
};
//Declare Structure Variable
struct record srcrec;
struct record dstrec;
//Struct Containing Structs
struct point { char xpos; char ypos; };
struct point pnt;
struct rect {struct point toplft; struct point btmrgt; };
struct rect box;
struct frame {struct rect outer; struct rect inner; };
struct frame fram;
main:
//Set Structure Members
strdst(&srcrec.name); strcpy("RECNAME");
srcrec.index = 1;
for (i = 0; i<=@srcrec.data; i++)
srcrec.data[i] = i;
//Clear Destination Record
memclr(@dstrec,&dstrec);
prtdst();
//Copy Source Record into Destination Record
memdst(&dstrec);
memcpy(@srcrec, &srcrec);
prtdst();
//Clear Box
memclr(@box, &box); //Clear Box Members
prtbox(); //Print Box Members
//Set Box Members
box.toplft.xpos=1; box.toplft.ypos=2;
box.btmrgt.xpos=8; box.btmrgt.ypos=9;
prtbox();
newlin();
//Clear Frame
memclr(@fram, &fram); //Clear Frame Members
prtfrm(); //Print Frame Members
//Set Frame Members
fram.outer.toplft.xpos=10; fram.outer.toplft.ypos=11;
fram.outer.btmrgt.xpos=98; fram.outer.btmrgt.ypos=99;
fram.inner.toplft.xpos=22; fram.inner.toplft.ypos=23;
fram.inner.btmrgt.xpos=86; fram.inner.btmrgt.ypos=87;
prtfrm();
newlin();
goto exit;
//Print Destination Record
void prtdst() {
puts("REC.NAME="); putln(&dstrec.name);
puts("REC.INDEX="); putdec(dstrec.index); newlin();
puts("REC.DATA={");
for (i = 0; i<@dstrec.data; i++) {
if (i) putc(',');
putdec(dstrec.data[i]);
}
putln("}");
newlin();
}
//Print Frame
void prtfrm() {
puts("outer."); cpybox(&fram.outer); prtbox();
puts("inner."); cpybox(&fram.inner); prtbox();
newlin();
}
void cpybox() {
savrxy(); setdst(&box);
resrxy(); memcpy(@box);
}
//Print Box
void prtbox() {
puts("toplft."); prtpnt(&box.toplft);
puts("btmrgt."); prtpnt(&box.btmrgt);
newlin();
}
//Print Point
void prtpnt() {
savrxy(); setdst(&pnt);
resrxy(); memcpy(@pnt);
printf(pnt.xpos,"xpos=%d,");
printf(pnt.ypos,"ypos=%d ");
}