--copytoflash.lua

System.memclean()

System.setHigh()

tpsexit = Timer.new()
tpsexit:stop()

cfw0 = System.cfwVersion()
mac = Adhoc.getMac()

cfw = string.sub(cfw0,1,1)


while true do

screen:clear()
screen.flip()
screen:clear()
screen.flip()
screen:clear()

screen:fontPrint(sanssherif,20,20,"Checking ...",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,20,"Checking ...",blanc)
screen.flip()

--vérif
if System.powerGetBatteryLifePercent() < 15 then
   tpsexit:start()
   break
end

--start


file = io.open("ms0:/DUMPF1/copy/About this dump.txt" ,"r")
verif1 = file:read()
verif2 = file:read()
verif3 = file:read()
verif4 = file:read()
cfwcheck0 = file:read("*n")
verif6 = file:read()
verif7 = file:read()
maccheck = file:read()

file:close()

cfwcheck = string.sub(cfwcheck0,1,1) 

if cfw ~= cfwcheck then
System.message("Be carefull, this dump has been perfomed with another Firmware!\n\n(with "..cfwcheck..".XX)\n\nDo you want continue?",1)
end

if System.buttonPressed(0) == 2 then

file = io.open("ms0:/PSP/GAME/F1Dumper & Manager/script/backname.txt" ,"r")
backname = file:read()
file:close()

System.currentDirectory("ms0:/DUMPF1")

System.rename("copy" ,backname)

dofile("ms0:/PSP/GAME/F1Dumper & Manager/script/mainmenu.lua")
end

if System.buttonPressed(0) == 3 then
file = io.open("ms0:/PSP/GAME/F1Dumper & Manager/script/backname.txt" ,"r")
backname = file:read()
file:close()

System.currentDirectory("ms0:/DUMPF1")

System.rename("copy" ,backname)

dofile("ms0:/PSP/GAME/F1Dumper & Manager/script/mainmenu.lua")
end


if cfw == cfwcheck then

Check = System.doesDirExist("ms0:/DUMPF1/copy")

if Check == 0 then

System.message("Be carefull there is a problem!\n\nThe homebrew going to restart.\n\nPlease retry the operation.",0)

dofile("ms0:/PSP/GAME/F1Dumper & Manager/script.lua")

end
-- vérif dossier

----------------------------------------------------------------------------Run Copy----------------------------------------------------------------------------

if Check == 1 then

screen:fontPrint(sanssherif,20,35,"Unassigning flash1:/",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,35,"Unassigning flash1:/",blanc)
screen.flip()


System.unassign("flash1:")
System.assign("flash1:","lflash0:0,1","flashfat1:")

screen:fontPrint(sanssherif,20,50,"Reassigning flash1:/",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,50,"Reassigning flash1:/",blanc)
screen.flip()

System.sleep(500)

screen:fontPrint(sanssherif,20,65,"Formatting flash1:/",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,65,"Formatting flash1:/",blanc)
screen.flip()

--supp du flash1

check = System.doesDirExist("flash1:/dic") 
if check == 1 then

System.currentDirectory("flash1:/dic") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/dic")
end


check = System.doesDirExist("flash1:/gps") 
if check == 1 then 

System.currentDirectory("flash1:/gps") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/gps")
end


check = System.doesDirExist("flash1:/net/http") 
if check == 1 then

System.currentDirectory("flash1:/net/http") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/net/http")
end


check = System.doesDirExist("flash1:/net") 
if check == 1 then

System.currentDirectory("flash1:/net") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/net")
end


check = System.doesDirExist("flash1:/registry") 
if check == 1 then

System.currentDirectory("flash1:/registry") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/registry")
end


check = System.doesDirExist("flash1:/updater") 
if check == 1 then

System.currentDirectory("flash1:/updater") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/updater")
end


check = System.doesDirExist("flash1:/vsh/theme") 
if check == 1 then

System.currentDirectory("flash1:/vsh/theme") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/vsh/theme")
end


check = System.doesDirExist("flash1:/vsh") 
if check == 1 then

System.currentDirectory("flash1:/vsh") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.removeFile(fichiers[z].name)
end
end
System.removeDirectory("flash1:/vsh")
end


check = System.doesFileExist("flash1:/config.se") 
if check == 1 then 
System.removeFile("flash1:/config.se")
end


screen:fontPrint(sanssherif,20,80,"Create directories in flash1:/",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,80,"Create directories in flash1:/",blanc)
screen.flip()

--création des dossiers

System.createDirectory("flash1:/dic")
System.createDirectory("flash1:/gps")
System.createDirectory("flash1:/net")
System.createDirectory("flash1:/net/http")
System.createDirectory("flash1:/registry")
System.createDirectory("flash1:/updater")
System.createDirectory("flash1:/vsh")
System.createDirectory("flash1:/vsh/theme")

----------------------------------------Copying-----------------------------------------------

screen:fontPrint(sanssherif,20,95,"Copying files from ms0:/DUMPF1 to flash1:/",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,95,"Copying files from ms0:/DUMPF1 to flash1:/",blanc)
screen.flip()

--racine

check = System.doesFileExist("ms0:/DUMPF1/copy/config.se") 
if check == 1 then 
System.copyFile("ms0:/DUMPF1/copy/config.se", "flash1:/config.se", 0)
end

--dic
check = System.doesDirExist("ms0:/DUMPF1/copy/dic") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/dic") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/dic/" ..fichiers[z].name,0)
end
end
end

--gps
check = System.doesDirExist("ms0:/DUMPF1/copy/gps") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/gps") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/gps/" ..fichiers[z].name,0)
end
end
end

--net
check = System.doesDirExist("ms0:/DUMPF1/copy/net") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/net") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/DUMPF1/net/" ..fichiers[z].name,0)
end
end
end

--net/http
check = System.doesDirExist("ms0:/DUMPF1/copy/net/http") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/net/http") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/net/http/" ..fichiers[z].name,0)
end
end
end

--registry
check = System.doesDirExist("ms0:/DUMPF1/copy/registry") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/registry") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/registry/" ..fichiers[z].name,0)
end
end
end

--updater
check = System.doesDirExist("ms0:/DUMPF1/copy/updater") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/updater") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/updater/" ..fichiers[z].name,0)
end
end
end

--vsh
check = System.doesDirExist("ms0:/DUMPF1/copy/vsh") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/vsh") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/vsh/" ..fichiers[z].name,0)
end
end
end

--vsh/theme
check = System.doesDirExist("ms0:/DUMPF1/copy/vsh/theme") 
if check == 1 then 
System.currentDirectory("ms0:/DUMPF1/copy/vsh/theme") 
fichiers = System.listDirectory() 
nombre_fichiers = table.getn(fichiers) 

for z = 1, nombre_fichiers do -- Pour tout les fichiers
if fichiers[z].directory == false then
System.copyFile(fichiers[z].name,"flash1:/vsh/theme/" ..fichiers[z].name,0)
end
end
end



screen:fontPrint(sanssherif,20,110,"Rename dump",blanc)
screen.flip()
screen:fontPrint(sanssherif,20,110,"Rename dump",blanc)
screen.flip()

file = io.open("ms0:/PSP/GAME/F1Dumper & Manager/script/backname.txt" ,"r")
backname = file:read()
file:close()

System.currentDirectory("ms0:/DUMPF1")

System.rename("copy" ,backname)

screen:fontPrint(sanssherif,20,125,"Done !",blanc)
screen:fontPrint(sanssherif,20,155,"Exit in the XMB in 2 sec...",rouge)
screen.flip()
screen:fontPrint(sanssherif,20,125,"Done !",blanc)
screen:fontPrint(sanssherif,20,155,"Exit in the XMB in 2 sec...",rouge)
screen.flip()

System.sleep(2000)

System.Quit()


screen.flip()
screen.waitVblankStart()
end
end
end


while true do
screen:clear()
screen:fontPrint(sanssherif,20,15,"The battery has to be at least 15% charged!",blanc)

if tpsexit:time() > 2500 then
dofile("ms0:/PSP/GAME/F1Dumper & Manager/script/mainmenu.lua")
end


screen.flip()
screen.waitVblankStart()
end
