o make crc an 8mb game

o add rand garbage in banks 3-8 and banks 9-16
This commit is contained in:
optixx 2009-04-26 16:22:41 +02:00
parent aa29d483eb
commit 096ad71b4e
5 changed files with 22 additions and 13 deletions

View File

@ -182,7 +182,7 @@ AVRDUDE_PROGRAMMER = stk500v2
# com1 = serial port. Use lpt1 to connect to parallel port. # com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = /dev/tty.PL2303-00002126 AVRDUDE_PORT = /dev/tty.PL2303-00001124
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex

View File

@ -58,8 +58,9 @@ extern FILE uart_stdout;
//#define FILENAME "vram2.smc" //ok //#define FILENAME "vram2.smc" //ok
//#define FILENAME "super02.smc" //#define FILENAME "super02.smc"
#define FILENAME "crc.smc" #define FILENAME "crc.smc"
//#define FILENAME "banks.smc"
#define ROMSIZE 2 #define ROMSIZE 4
#define DUMPNAME "dump256.smc" #define DUMPNAME "dump256.smc"
#define BUFFER_SIZE 512 #define BUFFER_SIZE 512
#define BLOCKS (ROMSIZE << 8) #define BLOCKS (ROMSIZE << 8)
@ -344,8 +345,8 @@ int main(void)
fat_read_file (fat_cluster,read_buffer,block_cnt); fat_read_file (fat_cluster,read_buffer,block_cnt);
if (block_cnt && block_cnt % 64 == 0){ if (block_cnt && block_cnt % 64 == 0){
bank_cnt++;
printf("Write Ram Bank: 0x%x Addr: 0x%lx Block: %x CRC: %x\n",bank_cnt,rom_addr,block_cnt,crc); printf("Write Ram Bank: 0x%x Addr: 0x%lx Block: %x CRC: %x\n",bank_cnt,rom_addr,block_cnt,crc);
bank_cnt++;
crc = 0; crc = 0;
} }
crc = do_crc_update(crc,read_buffer,512); crc = do_crc_update(crc,read_buffer,512);
@ -376,12 +377,13 @@ int main(void)
#if 1 #if 1
block_cnt = 0; block_cnt = 0;
crc = 0; crc = 0;
bank_cnt=0x00;
rom_addr = 0x000000; rom_addr = 0x000000;
for (block_cnt=0; block_cnt<BLOCKS; block_cnt++) { for (block_cnt=0; block_cnt<BLOCKS; block_cnt++) {
sram_read_buffer(rom_addr,read_buffer,512); sram_read_buffer(rom_addr,read_buffer,512);
if (block_cnt && block_cnt % 64 == 0){ if (block_cnt && block_cnt % 64 == 0){
bank_cnt++;
printf("Read Ram Bank: 0x%x Addr: 0x%lx Block: %x CRC: %x\n",bank_cnt,rom_addr,block_cnt,crc); printf("Read Ram Bank: 0x%x Addr: 0x%lx Block: %x CRC: %x\n",bank_cnt,rom_addr,block_cnt,crc);
bank_cnt++;
crc = 0; crc = 0;
} }
crc = do_crc_update(crc,read_buffer,512); crc = do_crc_update(crc,read_buffer,512);

View File

@ -43,11 +43,25 @@ debugger:
$(EMU_DEBUG) $(APP) $(EMU_DEBUG) $(APP)
upload: upload:
ucon64 $(APP) ucon64 -chk $(APP)
cp -rv $(APP) /Volumes/SNES cp -rv $(APP) /Volumes/SNES
sync sync
diskutil unmount /Volumes/SNES diskutil unmount /Volumes/SNES
rand:
dd if=/dev/urandom of=tmp.rand bs=32k count=6
dd if=$(APP) of=tmp.app bs=32k count=2
cat tmp.app tmp.rand > $(APP)
rm tmp.rand tmp.app
ucon64 -chk $(APP)
rand16:
dd if=/dev/urandom of=tmp.rand bs=32k count=14
dd if=$(APP) of=tmp.app bs=32k count=2
cat tmp.app tmp.rand > $(APP)
rm tmp.rand tmp.app
ucon64 -chk $(APP)
crc: crc:
python ../../scripts/crc_xmodem.py $(APP) python ../../scripts/crc_xmodem.py $(APP)

View File

@ -207,7 +207,7 @@ GAME_TITLE FCC /GAME TITLE !/
;012345678901234567890; ;012345678901234567890;
MAP_MODE BYTE $20 MAP_MODE BYTE $20
CARTRIDGE_SIZE BYTE $00 CARTRIDGE_SIZE BYTE $00
ROM_SIZE BYTE $08 ROM_SIZE BYTE $09
RAM_SIZE BYTE $00 RAM_SIZE BYTE $00
DESTINATION_CODE BYTE $00 DESTINATION_CODE BYTE $00
FIXED_VALUE1 BYTE $33 FIXED_VALUE1 BYTE $33

View File

@ -33,7 +33,6 @@ void main(void) {
char line_header[32] = "BANK CRC ADDR 123456789ABCDEF"; char line_header[32] = "BANK CRC ADDR 123456789ABCDEF";
char line[32] = " "; char line[32] = " ";
char test_buffer[] = "da"; char test_buffer[] = "da";
char far * pointer;
unsigned long addr; unsigned long addr;
initInternalRegisters(); initInternalRegisters();
@ -47,20 +46,14 @@ void main(void) {
writeln(line_header,0); writeln(line_header,0);
while(1){ while(1){
pointer = (void*)0x008000;
addr = 0x008000; addr = 0x008000;
crc02 = crc_update(test_buffer,2); crc02 = crc_update(test_buffer,2);
//crc01 = crc_update(pointer,255);
for(j=0; j<16; j++) { for(j=0; j<16; j++) {
//crc01 = crc_update(pointer,0x8000);
crc01 = crc_update_mem(addr,0x8000); crc01 = crc_update_mem(addr,0x8000);
int2hex((unsigned long)j,&line[0],4); int2hex((unsigned long)j,&line[0],4);
int2hex((unsigned long)crc01,&line[5],4); int2hex((unsigned long)crc01,&line[5],4);
int2hex((unsigned long)addr,&line[10],6); int2hex((unsigned long)addr,&line[10],6);
writeln(line,j+1); writeln(line,j+1);
pointer += 0x010000;
addr += 0x010000; addr += 0x010000;
} }
while(!pad1.start) { while(!pad1.start) {