Fixed broken example
This commit is contained in:
parent
82732f161e
commit
1beb714ce1
96
cli.c
96
cli.c
|
@ -1,96 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "uxn.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
error(char *msg, const char *err)
|
|
||||||
{
|
|
||||||
printf("Error %s: %s\n", msg, err);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Uint8
|
|
||||||
consoler(Device *d, Uint8 b)
|
|
||||||
{
|
|
||||||
(void)d;
|
|
||||||
(void)b;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Uint8
|
|
||||||
consolew(Device *d, Uint8 b)
|
|
||||||
{
|
|
||||||
(void)d;
|
|
||||||
if(b)
|
|
||||||
printf("%c", b);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
echos(St8 *s, Uint8 len, char *name)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
printf("\n%s\n", name);
|
|
||||||
for(i = 0; i < len; ++i) {
|
|
||||||
if(i % 16 == 0)
|
|
||||||
printf("\n");
|
|
||||||
printf("%02x%c", s->dat[i], s->ptr == i ? '<' : ' ');
|
|
||||||
}
|
|
||||||
printf("\n\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
echom(Memory *m, Uint16 len, char *name)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
printf("\n%s\n", name);
|
|
||||||
for(i = 0; i < len; ++i) {
|
|
||||||
if(i % 16 == 0)
|
|
||||||
printf("\n");
|
|
||||||
printf("%02x ", m->dat[i]);
|
|
||||||
}
|
|
||||||
printf("\n\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
echof(Uxn *c)
|
|
||||||
{
|
|
||||||
printf("\nEnded @ %d steps | hf: %x sf: %x sf: %x cf: %x\n",
|
|
||||||
c->counter,
|
|
||||||
getflag(&c->status, FLAG_HALT) != 0,
|
|
||||||
getflag(&c->status, FLAG_SHORT) != 0,
|
|
||||||
getflag(&c->status, FLAG_SIGN) != 0,
|
|
||||||
getflag(&c->status, FLAG_COND) != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
Uxn u;
|
|
||||||
if(argc < 2)
|
|
||||||
return error("Input", "Missing");
|
|
||||||
if(!bootuxn(&u))
|
|
||||||
return error("Boot", "Failed");
|
|
||||||
if(!loaduxn(&u, argv[1]))
|
|
||||||
return error("Load", "Failed");
|
|
||||||
portuxn(&u, "console", consoler, consolew);
|
|
||||||
evaluxn(&u, u.vreset);
|
|
||||||
evaluxn(&u, u.vframe);
|
|
||||||
|
|
||||||
echos(&u.wst, 0x40, "stack");
|
|
||||||
echom(&u.ram, 0x40, "ram");
|
|
||||||
|
|
||||||
echof(&u);
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -271,7 +271,7 @@ spritew(Device *d, Memory *m, Uint8 b)
|
||||||
if(!d->mem[6])
|
if(!d->mem[6])
|
||||||
drawchr(pixels, x, y, chr);
|
drawchr(pixels, x, y, chr);
|
||||||
else
|
else
|
||||||
drawicn(pixels, x, y, chr, d->mem[6], 0);
|
drawicn(pixels, x, y, chr, d->mem[6] & 0xf, (d->mem[6] >> 4) & 0xf);
|
||||||
if(d->mem[7])
|
if(d->mem[7])
|
||||||
REQDRAW = 1;
|
REQDRAW = 1;
|
||||||
d->ptr = 0;
|
d->ptr = 0;
|
||||||
|
|
|
@ -10,14 +10,13 @@
|
||||||
#03 =dev/r ( set dev/read to controller )
|
#03 =dev/r ( set dev/read to controller )
|
||||||
#02 =dev/w ( set dev/write to sprite )
|
#02 =dev/w ( set dev/write to sprite )
|
||||||
#0080 =x #0040 =y ( origin )
|
#0080 =x #0040 =y ( origin )
|
||||||
#01 ,cursor_icn ~x ~y ,putsprite JSR ( draw sprite )
|
#0101 ,cursor_icn ~x ~y ,putsprite JSR ( draw sprite )
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|0200 @SPRITESHEET
|
|0200 @SPRITESHEET
|
||||||
|
|
||||||
@cursor_icn .80c0 .e0f0 .f8e0 .1000 .0000 .0000 .0000 .0000
|
@cursor_icn [ 80c0 e0f0 f8e0 1000 ]
|
||||||
@star_icn .1054 .28c6 .2854 .1000 .0000 .0000 .0000 .0000
|
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|
@ -49,7 +48,7 @@ BRK
|
||||||
|
|
||||||
@end
|
@end
|
||||||
( redraw )
|
( redraw )
|
||||||
#01 ,cursor_icn ~x ~y ,putsprite JSR
|
#0101 ,cursor_icn ~x ~y ,putsprite JSR
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|
@ -57,7 +56,7 @@ BRK
|
||||||
IOW2 ( y short )
|
IOW2 ( y short )
|
||||||
IOW2 ( x short )
|
IOW2 ( x short )
|
||||||
IOW2 ( sprite address )
|
IOW2 ( sprite address )
|
||||||
IOW ( redraw byte )
|
IOW2 ( redraw byte )
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|d000 @ERROR BRK
|
|d000 @ERROR BRK
|
||||||
|
|
|
@ -12,9 +12,9 @@
|
||||||
( print to screen )
|
( print to screen )
|
||||||
#0008 =x #0030 =y #01 =color
|
#0008 =x #0030 =y #01 =color
|
||||||
,string ,displaygui JSR
|
,string ,displaygui JSR
|
||||||
#0010 =x #0038 =y #02 =color
|
#0010 =x #0038 =y #12 =color
|
||||||
,string ,displaygui JSR
|
,string ,displaygui JSR
|
||||||
#0018 =x #0040 =y #03 =color
|
#0018 =x #0040 =y #23 =color
|
||||||
,string ,displaygui JSR
|
,string ,displaygui JSR
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,32 +7,24 @@
|
||||||
#01 =dev/w ( set dev/write to screen )
|
#01 =dev/w ( set dev/write to screen )
|
||||||
#02 =dev/w ( set dev/write to sprite )
|
#02 =dev/w ( set dev/write to sprite )
|
||||||
|
|
||||||
#00 ,star_icn #0041 #0041 ,putsprite JSR
|
#0110 ,cursor_icn #0020 #0038 ,drawsprite JSR
|
||||||
#00 ,star_icn #0031 #0021 ,putsprite JSR
|
#0010 ,rounds_chr #0028 #0038 ,drawsprite JSR
|
||||||
#00 ,cursor_icn #0021 #0016 ,putsprite JSR
|
#3210 ,cursor_icn #0020 #0040 ,drawsprite JSR
|
||||||
#00 ,star_icn #0055 #0042 ,putsprite JSR
|
#0010 ,rounds_chr #0028 #0040 ,drawsprite JSR
|
||||||
#01 ,cursor_icn #0067 #0031 ,putsprite JSR
|
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@putsprite
|
@drawsprite
|
||||||
IOW2 ( y short )
|
IOW2 ( y short )
|
||||||
IOW2 ( x short )
|
IOW2 ( x short )
|
||||||
IOW2 ( sprite address )
|
IOW2 ( sprite address )
|
||||||
IOW ( redraw byte )
|
IOW2 ( redraw byte )
|
||||||
RTS
|
|
||||||
|
|
||||||
@putpixel
|
|
||||||
IOW2 ( y short )
|
|
||||||
IOW2 ( x short )
|
|
||||||
IOW ( color byte )
|
|
||||||
IOW ( redraw byte )
|
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|0200 @SPRITESHEET
|
|0200 @SPRITESHEET
|
||||||
|
|
||||||
@cursor_icn [ 80c0 e0f0 f8e0 1000 0000 0000 0000 0000 ]
|
@cursor_icn [ 80c0 e0f0 f8e0 1000 ]
|
||||||
@star_icn [ 1054 28c6 2854 1000 0000 0000 0000 0000 ]
|
@rounds_chr [ 3844 92aa 9244 3800 0038 7c7c 7c38 0000 ]
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue