From: John Tsiombikas Date: Sat, 4 Aug 2018 15:52:45 +0000 (+0300) Subject: serial debugging fail X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=retrocrawl;a=commitdiff_plain;h=3f381738bd1f53bace45c8bf9ffc6d772ff90aab serial debugging fail --- diff --git a/src/amiga/libc/stdlib.c b/src/amiga/libc/stdlib.c index 6496c8d..9b8dcc4 100644 --- a/src/amiga/libc/stdlib.c +++ b/src/amiga/libc/stdlib.c @@ -77,9 +77,9 @@ void itoa(int val, char *buf, int base) } while(val) { - int digit = val % 10; + int digit = val % base; *ptr++ = digit < 10 ? (digit + '0') : (digit - 10 + 'a'); - val /= 10; + val /= base; } if(neg) { diff --git a/src/amiga/main.c b/src/amiga/main.c index bd66f1c..46c777a 100644 --- a/src/amiga/main.c +++ b/src/amiga/main.c @@ -14,7 +14,7 @@ int main(void) REG_INTENA = SETBITS(INTEN_VERTB | INTEN_MASTER); REG_DMACON = CLRBITS(DMA_ALL); - ser_init(9600); + ser_init(38400); ser_print("retrocrawl amiga starting up...\n"); init_gfx(); diff --git a/src/game.c b/src/game.c index 87edac7..8afa769 100644 --- a/src/game.c +++ b/src/game.c @@ -14,9 +14,11 @@ void draw_tile(int tid, int x, int y, int light); static uint16_t *sprdata[NUM_HWSPRITES]; +static uint16_t *sprdata2[NUM_HWSPRITES]; /* hardcoded test sprite */ static struct sprite test_sprite; +static struct sprite test_sprite2; int game_init(void) { @@ -37,12 +39,12 @@ int game_init(void) REG_COLOR_PTR[i + 16] = sprpal[i]; } - sprdata[0] = spr0a; - sprdata[1] = spr0b; - sprdata[2] = spr1a; - sprdata[3] = spr1b; - sprdata[4] = spr2a; - sprdata[5] = spr2b; + sprdata[0] = sprdata2[0] = spr0a; + sprdata[1] = sprdata2[1] = spr0b; + sprdata[2] = sprdata2[2] = spr1a; + sprdata[3] = sprdata2[3] = spr1b; + sprdata[4] = sprdata2[4] = spr2a; + sprdata[5] = sprdata2[5] = spr2b; test_sprite.width = test_sprite.height = 48; test_sprite.origx = 24; @@ -53,6 +55,11 @@ int game_init(void) test_sprite.hwspr[i] = i < 6 ? sprdata[i] : 0; } + test_sprite2 = test_sprite; + for(i=0; i<8; i++) { + test_sprite2.hwspr[i] = i < 6 ? sprdata2[i] : 0; + } + return 0; } @@ -75,7 +82,8 @@ void game_draw(void) } begin_sprites(); - draw_sprite(&test_sprite, 160, 100); + draw_sprite(&test_sprite, 160, 80); + draw_sprite(&test_sprite2, 160, 160); end_sprites(); } diff --git a/src/sprite.c b/src/sprite.c index 7b68892..528ce68 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -1,3 +1,4 @@ +#include #include #include "sprite.h" #include "hwregs.h" @@ -41,6 +42,7 @@ void end_sprites(void) reg += 4; } +#if 0 /* sort sprites by increasing start position */ for(i=0; ihwslices) continue; - if(reuse) { - add_copper(COPPER_VWAIT(sy)); - } +// if(reuse) { + printf("copper wait: %d\n", (int)s->y - 1); + add_copper(COPPER_VWAIT(s->y - 1)); +// } for(j=0; jhwslices; j++) { int idx = chan[j] * 2;