81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
#include "data.h"
|
|
#include "pad.h"
|
|
#include "PPU.h"
|
|
#include "ressource.h"
|
|
#include "crc.h"
|
|
|
|
word debugMap[0x400];
|
|
|
|
void initDebugMap(void) {
|
|
word i;
|
|
for(i=0; i<0x400; i++) {
|
|
debugMap[i] = 0x00;
|
|
}
|
|
}
|
|
|
|
|
|
void int2hex(word i, char *buf)
|
|
{
|
|
word a;
|
|
for (a = 0; a < 4; ++a) {
|
|
buf[a] = (i >> (4 * (2 * 2 - 1 - a))) & 0xf;
|
|
if (buf[a] < 10)
|
|
buf[a] += '0';
|
|
else
|
|
buf[a] += 'A' - 10;
|
|
}
|
|
buf[a] = 0;
|
|
}
|
|
|
|
void debug(void) {
|
|
word i,j;
|
|
word crc01;
|
|
word crc02;
|
|
padStatus pad1;
|
|
char line_header[32] = "BANK CRC ADDR 123456789ABCDEF";
|
|
char line[32] = " ";
|
|
char test_buffer[] = "da";
|
|
void *pointer;
|
|
|
|
VRAMLoad((word) debugFont_pic, 0x5000, 2048);
|
|
CGRAMLoad((word) debugFont_pal, (byte) 0x00, (word) 16);
|
|
VRAMLoad((word) debugMap, 0x4000, 0x0800);
|
|
setTileMapLocation(0x4000, (byte) 0x00, (byte) 0);
|
|
setCharacterLocation(0x5000, (byte) 0);
|
|
*(byte*) 0x2100 = 0x0f; // enable background
|
|
|
|
j=0;
|
|
waitForVBlank();
|
|
for(i=0; i<32; i++) {
|
|
waitForVBlank();
|
|
VRAMByteWrite((byte) (line_header[i]-32), (word) (0x4000+i+(j*0x20)));
|
|
}
|
|
|
|
while(1){
|
|
pointer = (void*)0x8000;
|
|
crc02 = crc_update(test_buffer,2);
|
|
//crc01 = crc_update(pointer,255);
|
|
for(j=0; j<8; j++) {
|
|
crc01 = crc_update(pointer,0x8000);
|
|
int2hex(j,&line[0]);
|
|
int2hex(crc01,&line[5]);
|
|
int2hex((word)pointer,&line[10]);
|
|
waitForVBlank();
|
|
for(i=0; i<32; i++) {
|
|
waitForVBlank();
|
|
VRAMByteWrite((byte) (line[i]-32), (word) (0x4000+i+((j+1)*0x20)));
|
|
}
|
|
//pointer+=0x010000;
|
|
}
|
|
while(!pad1.start) {
|
|
waitForVBlank();
|
|
pad1 = readPad((byte) 0);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
#pragma section CODE=BANK3,offset $3:0000
|
|
char far dummy[128];
|
|
|