diff --git a/snes/fatfstest/Makefile b/snes/fatfstest/Makefile index 336d7c9..691f63d 100644 --- a/snes/fatfstest/Makefile +++ b/snes/fatfstest/Makefile @@ -7,7 +7,7 @@ ifeq ($(PLATFORM),Linux) # Linux Wine SDK=/home/david/.wine/drive_c/65xx_FreeSDK WINE=wine - EMU=zsnes + EMU=../../tools/bsnes/bsnes EMU_DEBUG=/home/david/Devel/arch/snes/tools/zsnes_linux_debug151/src/zsnesd -d else # Mac Wine @@ -25,11 +25,7 @@ LD=$(WINE) $(SDK)/bin/WDCLN.exe INC=$(SDK)/include LIBS=$(SDK)/lib/cc -<<<<<<< HEAD:snes/fatfstest/Makefile -OBJS=StartupSnes.obj pad.obj main.obj PPU.obj debug.obj ressource.obj -======= OBJS=StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj diskio.obj ff.obj ->>>>>>> d69d2bf39842c032ea4660a10556e78b14b6d71c:snes/fatfstest/Makefile APP=fatfs.smc GFX=debugfont diff --git a/snes/fatfstest/debug.c b/snes/fatfstest/debug.c index 96de0e0..87e2a7b 100644 --- a/snes/fatfstest/debug.c +++ b/snes/fatfstest/debug.c @@ -1,10 +1,15 @@ #include +#include +#include + #include "data.h" #include "pad.h" #include "PPU.h" #include "ressource.h" + word debugMap[0x400]; +char debug_buffer[255]; void debug_init(void) { @@ -14,23 +19,7 @@ void debug_init(void) { } } -char hex_chars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; - -void int2hex(unsigned long number, char *buf,word size) -{ - unsigned long n; - unsigned char i; - //unsigned char x; - for (i = 0; i < size; i++) { - n = number >> 4; - //x = (number - (n << 4)); - buf[size-i-1] = hex_chars[(number - (n << 4))]; - number = n; - } - -} - -void print_screen(char *buffer,word y){ +void _print_screen(word y, char *buffer){ char i; char l; l = strlen(buffer); @@ -43,11 +32,28 @@ void print_screen(char *buffer,word y){ } } -void print_console(char *buffer){ +void _print_console(char *buffer){ while(*buffer) *(byte*) 0x3000=*buffer++; } +void printfc(char *fmt,...){ + va_list ap; + va_start(ap,fmt); + vsprintf(debug_buffer,fmt,ap); + va_end(ap); + _print_console(debug_buffer); +} + +void printfs(word y,char *fmt,...){ + va_list ap; + va_start(ap,fmt); + vsprintf(debug_buffer,fmt,ap); + va_end(ap); + _print_screen(y,debug_buffer); +} + + void debug_enable(void){ VRAMLoad((word) debugFont_pic, 0x5000, 2048); CGRAMLoad((word) debugFont_pal, (byte) 0x00, (word) 16); @@ -55,4 +61,24 @@ void debug_enable(void){ setTileMapLocation(0x4000, (byte) 0x00, (byte) 0); setCharacterLocation(0x5000, (byte) 0); *(byte*) 0x2100 = 0x0f; // enable background -} \ No newline at end of file +} + +int unlink(const char *name){ + printfc("unlink called"); +} + +int close(int fd){ + printfc("close called"); +} + +int isatty(int fd){ + printfc("isatty called"); +} + +int write(int fd,void * buffer, size_t len){ + printfc("write called"); +} + +long lseek(int fd,long offset, int whence){ + printfc("lseek called"); +} diff --git a/snes/fatfstest/debug.h b/snes/fatfstest/debug.h index 9c786db..b3fa25b 100644 --- a/snes/fatfstest/debug.h +++ b/snes/fatfstest/debug.h @@ -1,5 +1,5 @@ void debug_init(void); void debug_enable(void); -void int2hex(unsigned long i, char *buf,word size); -void print_screen(char* line,word y); -void print_console(char* line); +void printfs(word y,char* fmt,...); +void printfc(char* fmt,...); + diff --git a/snes/fatfstest/diskio.c b/snes/fatfstest/diskio.c index e0e189f..7552033 100644 --- a/snes/fatfstest/diskio.c +++ b/snes/fatfstest/diskio.c @@ -88,7 +88,7 @@ DRESULT disk_read ( *(byte*) MMIO_SECTOR01 = (sector >> 24) & 0xff; *(byte*) MMIO_SECTOR02 = (sector >> 16) & 0xff; *(byte*) MMIO_SECTOR03 = (sector >> 8) & 0xff; - *(byte*) MMIO_SECTOR04 = (sector >> 8) & 0xff; + *(byte*) MMIO_SECTOR04 = (sector) & 0xff; *(byte*) MMIO_COUNT = count; diff --git a/snes/fatfstest/main.c b/snes/fatfstest/main.c index 0d66614..ed35390 100644 --- a/snes/fatfstest/main.c +++ b/snes/fatfstest/main.c @@ -38,10 +38,11 @@ void main(void) { *(byte*) 0x2100 = 0x0f; // enable background debug_enable(); - print_screen("FATFS TEST",0); - print_console("Debugging console test\n"); - print_console("test me\n"); - + printfs(0,"FATFS TEST %i",10); + printfc("Test me\n"); + printfc("Test me %i\n",10); + + while(1){ while(!pad1.start) { waitForVBlank();