move remaining stuff from testcode/lib/ one level up to testcode/
This commit is contained in:
58
testcode/pce/Makefile
Normal file
58
testcode/pce/Makefile
Normal file
@@ -0,0 +1,58 @@
|
||||
|
||||
# Just the usual way to find out if we're
|
||||
# using cmd.exe to execute make rules.
|
||||
ifneq ($(shell echo),)
|
||||
CMD_EXE = 1
|
||||
endif
|
||||
|
||||
ifdef CMD_EXE
|
||||
NULLDEV = nul:
|
||||
DEL = -del /f
|
||||
RMDIR = rmdir /s /q
|
||||
else
|
||||
NULLDEV = /dev/null
|
||||
DEL = $(RM)
|
||||
RMDIR = $(RM) -r
|
||||
endif
|
||||
|
||||
ifdef CC65_HOME
|
||||
AS = $(CC65_HOME)/bin/ca65
|
||||
CC = $(CC65_HOME)/bin/cc65
|
||||
CL = $(CC65_HOME)/bin/cl65
|
||||
LD = $(CC65_HOME)/bin/ld65
|
||||
else
|
||||
AS := $(if $(wildcard ../../../bin/ca65*),../../../bin/ca65,ca65)
|
||||
CC := $(if $(wildcard ../../../bin/cc65*),../../../bin/cc65,cc65)
|
||||
CL := $(if $(wildcard ../../../bin/cl65*),../../../bin/cl65,cl65)
|
||||
LD := $(if $(wildcard ../../../bin/ld65*),../../../bin/ld65,ld65)
|
||||
endif
|
||||
|
||||
.PHONY: all clean test
|
||||
|
||||
# Size of cartridge to generate.
|
||||
# Possible values:
|
||||
# 8K = 0x2000
|
||||
# 16K = 0x4000
|
||||
# 32K = 0x8000
|
||||
CARTSIZE := 0x2000
|
||||
|
||||
ifeq (${CARTSIZE},0x8000)
|
||||
COUNT := 3
|
||||
else
|
||||
COUNT := 1
|
||||
endif
|
||||
|
||||
all: conio.pce
|
||||
|
||||
%.pce: %.bin
|
||||
dd if=$< bs=8K skip=${COUNT} > $@
|
||||
dd if=$< bs=8K count=${COUNT} >> $@
|
||||
|
||||
%.bin: %.c ../../../lib/pce.lib
|
||||
../../../bin/cl65 -t pce $< -Wl -D__CARTSIZE__=${CARTSIZE} -m $*.map -o $@
|
||||
|
||||
clean:
|
||||
$(RM) conio.o conio.???
|
||||
|
||||
test: conio.pce
|
||||
mednafen -force_module pce $<
|
||||
161
testcode/pce/conio.c
Normal file
161
testcode/pce/conio.c
Normal file
@@ -0,0 +1,161 @@
|
||||
#include <pce.h>
|
||||
#include <conio.h>
|
||||
#include <time.h>
|
||||
#include <joystick.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static int datavar = 10;
|
||||
|
||||
static char hex[16] = { "0123456789abcdef" };
|
||||
static char charbuf[0x20];
|
||||
static char colbuf[0x20];
|
||||
|
||||
void main(void)
|
||||
{
|
||||
int stackvar = 42;
|
||||
int i, j;
|
||||
clock_t clk;
|
||||
char* p;
|
||||
unsigned char xsize, ysize, n, nn;
|
||||
|
||||
joy_install(&joy_static_stddrv);
|
||||
|
||||
clrscr();
|
||||
screensize(&xsize, &ysize);
|
||||
|
||||
cputs("hello world");
|
||||
gotoxy(0,0);
|
||||
cpeeks(charbuf, 11);
|
||||
gotoxy(12,0);
|
||||
cputs(charbuf);
|
||||
|
||||
cputsxy(0, 2, "colors:" );
|
||||
for (i = 0; i < 16; ++i) {
|
||||
textcolor(i);
|
||||
cputc(hex[i]);
|
||||
}
|
||||
for (i = 0; i < 16; ++i) {
|
||||
gotoxy(7 + i, 2);
|
||||
charbuf[i] = cpeekc();
|
||||
colbuf[i] = cpeekcolor();
|
||||
}
|
||||
gotoxy(25, 2);
|
||||
for (i = 0; i < 16; ++i) {
|
||||
textcolor(colbuf[i]);
|
||||
cputc(charbuf[i]);
|
||||
}
|
||||
|
||||
textcolor(1);
|
||||
|
||||
gotoxy(0,4);
|
||||
cprintf("datavar: %02x\n\r", datavar);
|
||||
cprintf("stackvar: %02x\n\r", stackvar);
|
||||
|
||||
j = joy_count();
|
||||
gotoxy(0,9);
|
||||
cprintf("Found %d Joysticks.", j);
|
||||
|
||||
for (i = 0; i < 4; ++i) {
|
||||
gotoxy(0, 16 + i);
|
||||
p = malloc(16);
|
||||
memcpy(p, "0123456789abcdef", 16);
|
||||
cprintf("alloc'ed at: %04p - %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c", p,
|
||||
p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],
|
||||
p[8],p[9],p[10],p[11],p[12],p[13],p[14],p[15]
|
||||
);
|
||||
}
|
||||
memcpy(p, main, i = 0); /* test that a zero length doesn't copy 64K */
|
||||
|
||||
gotoxy(0,ysize - 1);
|
||||
for (i = 0; i < xsize; ++i) {
|
||||
cputc('0' + i % 10);
|
||||
}
|
||||
|
||||
gotoxy(0,ysize - 2 - ((256 + xsize) / xsize));
|
||||
for (i = 0; i < xsize; ++i) {
|
||||
cputc('0' + i % 10);
|
||||
}
|
||||
for (i = 0; i < (xsize * 5); ++i) {
|
||||
cputc('#');
|
||||
}
|
||||
gotoxy(0,ysize - 1 - ((256 + xsize) / xsize));
|
||||
for (i = 0; i < 256; ++i) {
|
||||
if ((i != '\n') && (i != '\r')) {
|
||||
cputc(i);
|
||||
}
|
||||
}
|
||||
|
||||
i = get_tv();
|
||||
gotoxy(30,0);
|
||||
cputs("TV Mode: ");
|
||||
switch(i) {
|
||||
case TV_NTSC:
|
||||
cputs("NTSC");
|
||||
break;
|
||||
case TV_PAL:
|
||||
cputs("PAL");
|
||||
break;
|
||||
case TV_OTHER:
|
||||
cputs("OTHER");
|
||||
break;
|
||||
}
|
||||
cprintf(" %dx%d", xsize, ysize);
|
||||
|
||||
for(;;) {
|
||||
gotoxy(13,4);
|
||||
cprintf("%02x", datavar);
|
||||
gotoxy(13,5);
|
||||
cprintf("%02x", stackvar);
|
||||
++datavar; ++stackvar;
|
||||
|
||||
gotoxy(0,7);
|
||||
clk = clock();
|
||||
cprintf("clock: %08lx", clk);
|
||||
|
||||
for (i = 0; i < 4; ++i) {
|
||||
gotoxy(0, 11 + i);
|
||||
j = joy_read (i);
|
||||
cprintf ("pad %d: %02x %-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s",
|
||||
i, j,
|
||||
JOY_UP(j)? " up " : " ---- ",
|
||||
JOY_DOWN(j)? " down " : " ---- ",
|
||||
JOY_LEFT(j)? " left " : " ---- ",
|
||||
JOY_RIGHT(j)? "right " : " ---- ",
|
||||
JOY_BTN_I(j)? "btn I " : " ---- ",
|
||||
JOY_BTN_II(j)? "btn II" : " ---- ",
|
||||
JOY_SELECT(j)? "select" : " ---- ",
|
||||
JOY_RUN(j)? " run " : " ---- ");
|
||||
}
|
||||
|
||||
gotoxy(xsize - 10, 3);
|
||||
nn = (n >> 5) & 1;
|
||||
revers(nn);
|
||||
cputc(nn ? 'R' : ' ');
|
||||
cputs(" revers");
|
||||
revers(0);
|
||||
|
||||
for (i = 0; i < 9; ++i) {
|
||||
gotoxy(xsize - 10 + i, 3);
|
||||
charbuf[i] = cpeekc();
|
||||
colbuf[i] = cpeekrevers();
|
||||
}
|
||||
gotoxy(xsize - 10, 4);
|
||||
for (i = 0; i < 9; ++i) {
|
||||
revers(colbuf[i]);
|
||||
cputc(charbuf[i]);
|
||||
}
|
||||
|
||||
if ((n & 0x1f) == 0x00) {
|
||||
nn = p[15];
|
||||
((char*)memmove(p + 1, p, 15))[-1] = nn;
|
||||
gotoxy(22, 19);
|
||||
cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
|
||||
p[0],p[1],p[ 2],p[ 3],p[ 4],p[ 5],p[ 6],p[ 7],
|
||||
p[8],p[9],p[10],p[11],p[12],p[13],p[14],p[15]);
|
||||
}
|
||||
|
||||
waitvsync();
|
||||
++n;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user