def main_dumpROM():
global ROMbuffer
global USBbuffer
ROMfileName=asksaveasfilename(defaultextension=".GB",filetypes=(("GB ROM File","*.GB"),("GBC ROM File","*.GBC"),("GBA ROM File","*.GBA"),("All Files","*.*")))
if ROMfileName:
ROMfile=open(ROMfileName,'wb')
for bankNumber in range(0,(int(ROMsize/BankSize))):
print ('Dumping ROM:',int(bankNumber*BankSize),' of ',ROMsize)
if bankNumber == 0:
ROMaddress=0 #get bank 0 from address 0, not setbank(0) and get from high bank...
else:
ROMaddress=BankSize
main_ROMBankSwitch(bankNumber) #switch to new bank.
for packetNumber in range(0,(int(BankSize/64))):
AddHi=ROMaddress>>8
AddLo=ROMaddress&0xFF
dev.write(0x01,[0x10,0x00,0x00,AddHi,AddLo])
ROMbuffer= dev.read(0x81,64)
ROMfile.write(ROMbuffer)
ROMaddress += 64
ROMfile.close()
print ('Done!')
评论列表
文章目录