when i use Hardware Registers to direct access NAND Flash
i just can Read NAND Flash ID
but can not output other Command DATA
Code: Select all
LockFlash(0);
*((int*)0xbd101008)=0x90; //Read ID CMD
*((int*)0xbd10100c)=0x00;
printf("0x%.8X\n", *((int*)0xbd101300));
printf("0x%.8X\n", *((int*)0xbd101300));
printf("0x%.8X\n", *((int*)0xbd101300));
printf("0x%.8X\n", *((int*)0xbd101300));
UnlockFlash();
but i can't understand R4000 Assembler
please help ^^
Code: Select all
//FW1.50 emc_sm.prx
...
// is this mean *((int*)0xbd104104)=0x90 ?
704: 24030090 addiu v1,zero,0x90 <- Read ID CMD ?
708: 3c01bd10 lui at,0xbd10
70c: ac231008 sw v1,4104(at)
// *((int*)0xbd104108)=??
710: 00003021 addu a2,zero,32
714: 3c01bd10 lui at,0xbd10
718: ac20100c sw zero,4108(at)
// ??
71c: 18a0000b blez zero,a1,11
// t0=*((int*)0xbd104864) ??
720: 24030001 addiu v1,zero,0x01
724: 3c08bd10 lui t0,0xbd10
728: 8d081300 lw t0,4864(t0)
72c: 00863821 addu a3,a2,32
730: 24c60001 addiu a2,a2,1
734: 00c5182a slt v1,a1,32
738: 10800002 beq zero,a0,2
73c: 310200ff andi v0,t0,255
740: a0e20000 sb v0,0(a3)
744: 1460fff7 bne zero,v1,-9
748: 24030001 addiu v1,zero,1
74c: 00001021 addu v0,zero,32
750: 3c01bd10 lui at,0xbd10
754: 03e00008 jr zero,zero,32
...