掌機 - Neo Geo X v370 - 備份Flash資料



目前國外高手又有一新進展,那就是將NeoGeo X掌機的內部Flash Memory(v370以上版本)或2GB MicroSD(v370以下版本)備份成一個映像檔案,這樣做的好處就是將來開發程式若有問題時,還可以將原廠程式重新寫回去,所以在開發新的測試程式前,記得先將Flash Memory製作備份,而這個工具就是原廠釋出的燒錄工具,該工具可以燒錄Bootloader、Kernel、rootfs,算是一個相當棒的工具,目前只能在Linux系統下進行操作

步驟如下:
1. https://drive.google.com/file/d/0BzVU0vOuWe-saHVNYWl2REU0ME0/edit?usp=sharing (燒錄工具程式碼)
2. https://drive.google.com/file/d/0BzVU0vOuWe-sWGdhOERMNGIyaTg/edit?usp=sharing (Patch檔案)
3. 在編譯工具程式前,需要先安裝需要的安裝包

$ sudo apt-get install libusb-dev libconfuse-dev

4. 解壓縮並且編譯燒錄工具程式碼

$ cp ingenic-boot-master.zip /tmp
$ cp ingenic-boot-master.diff /tmp
$ unzip ingenic-boot-master.zip
$ patch -p0 < ingenic-boot-master.diff
$ cd ingenic-boot-master
$ make

5. NeoGeo X掌機關機
6. 按住Start按鈕並且透過MicroUSB連接到電腦
7. 執行如下命令(偵測CPU類型)

$ sudo ./ingenic-boot --probe
    probe only
    CPU data: JZ4770V1

8. 執行如下命令(備份Flash Memory資料)

$ sudo ./ingenic-boot --dump=sd.img@3862528
    probe 1th
    CPU data: JZ4770V1

    addr set 0x80002000
    addr=0x80002000

    download fw_ddr2.bin
    download len=6600

    start1@0x80002000
    choice=1, addr=0x80002000

    probe 2th
    CPU data: JZ4770V1

    addr set 0x80002000
    addr=0x80002000

    download usb_boot.bin
    download len=123944

    flush cache

    start2@0x80002000
    choice=2, addr=0x80002000

    probe 3th
    CPU data: Boot4770

    Configuring XBurst CPU succeeded.

    #SD init
    dumping sd card to sd.img
    wrote 1977614336 bytes 100.0%
    done

經由上面操作步驟就可以將內部Flash Memory備份成映像檔案,但是該映像檔案是Flash Memory專用的,如果將此映像檔案燒到v370版本以下的NeoGeo X掌機,可能會無法開機,因為v370版本以下的NeoGeo X掌機是使用MicroSD取代Flash Memory,但是,使用者可以將v370版本以下的映像檔案燒到v370版本以上的SD0