patcher.nopout((0x080499e2 + 0x14)) patcher.nopout((0x08049ca8 + 0x10)) patcher.nopout((0x08049ca8 + 0x12)) patcher.nopout((0x0804a134 + 0x10)) patcher.nopout((0x0804a134 + 0x12)) patcher.nopout((0x0804abc0 + 0x10)) patcher.nopout((0x0804abc0 + 0x12)) # Color Code check # remove volume screen patcher.nopout((0x0801FED2)) patcher.nopout((0x0801FED2 + 0x2)) # freeing ~200k for code patches patcher.ffrange(0x0809aee8, 0x080cf754) # This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) # This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809af00 + 1) # This stub calls the target RESET vector, # if it's not FFFFFFFF. patcher.sethword(0x0809af00, 0x4840) patcher.sethword(0x0809af02, 0x2100) patcher.sethword(0x0809af04, 0x3901) patcher.sethword(0x0809af06, 0x4508) patcher.sethword(0x0809af08, 0xd100) patcher.sethword(0x0809af0a, 0x483c)
patcher.nopout((0x804b9fc + 0x2)) #Marks the version as "md380tools" patcher.setwstring(0x080d0b6c, "MD380Tools Ver.") #Fix some bad grammar patcher.setwstring(0x080f9a94, "No Fix") #Change the manufacturer string. *Never Worked...* # patcher.setstring(0x080f9588, # "Travis Goodspeed KK4VCZ"); #Change the device name. patcher.setstring(0x080d0eb4, "Patched MD-380/390G") # freeing ~200k for code patches patcher.ffrange(0x0809bda8, 0x80d0614) #This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) #This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809bf00 + 1) # app start @ 0x0809c000 patcher.sethword(0x0809bf00, 0x4840) patcher.sethword(0x0809bf02, 0x2100) patcher.sethword(0x0809bf04, 0x3901) patcher.sethword(0x0809bf06, 0x4508) patcher.sethword(0x0809bf08, 0xd100) patcher.sethword(0x0809bf0a, 0x483c) patcher.sethword(0x0809bf0c, 0x4700)
# patcher.nopout((0x08028F88 + 0x2)) # patcher.nopout((0x08028F88 + 0x4)) #patcher.nopout((0x08028F88 + 0x6)) # patcher.nopout((0x08028F88 + 0x8)) # patcher.nopout((0x08028F88 + 0xA)) #test site roaming #patcher.sethword(0x0801C774, 0x2001) #record #patcher.sethword(0x0801C7A8, 0x2001) #Morola/PC-Audio #patcher.sethword(0x0801C6FE, 0x2001) #patcher.sethword(0x0801C718, 0x11B0) #fix a typo.. # freeing ~200k for code patches patcher.ffrange(0x80986E8, 0x80CCF54) # This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) # This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x08098700 + 1) # This stub calls the target RESET vector, # if it's not FFFFFFFF. patcher.sethword(0x08098700, 0x4840) patcher.sethword(0x08098702, 0x2100) patcher.sethword(0x08098704, 0x3901) patcher.sethword(0x08098706, 0x4508) patcher.sethword(0x08098708, 0xd100) patcher.sethword(0x0809870a, 0x483c)
patcher.setwstring(0x080d0b6c, "MD380Tools Ver.") # Fix some bad grammar patcher.setwstring(0x080f9a94, "No Fix") # Change the manufacturer string. *Never Worked...* # patcher.setstring(0x080f9588, # "Travis Goodspeed KK4VCZ"); # Change the device name. patcher.setstring(0x080d0eb4, "Patched MD-380/390G") # freeing ~200k for code patches patcher.ffrange(0x0809bda8, 0x80d0614) # This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) # This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809bf00 + 1 ) # app start @ 0x0809c000 patcher.sethword(0x0809bf00, 0x4840) patcher.sethword(0x0809bf02, 0x2100) patcher.sethword(0x0809bf04, 0x3901)
patcher.sethword(0x0803ee88,0xe7d6); #Jump back to matched condition. patcher.export("prom-public.img"); # This should be changed to only show missed calls for private # calls directed at the user, and to decode others without # triggering a missed call. patcher.nopout(0x0803ef10,0xd11f); #Matches all private calls. patcher.export("prom-private.img"); #Everything after here is experimental. #Everything after here is experimental. #Everything after here is experimental. #This cuts out the Chinese font, freeing ~200k for code patches. patcher.ffrange(0x809c714,0x80d0f80); #This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000); #This makes the app its own sideload. Don't ship with it! #patcher.setword(0x0809D004, # patcher.getword(0x0800C020), # 0xFFFFFFFF); #This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809cf00+1 );
patcher.nopout((0x080499e2 + 0x14)) patcher.nopout((0x08049ca8 + 0x10)) patcher.nopout((0x08049ca8 + 0x12)) patcher.nopout((0x0804a134 + 0x10)) patcher.nopout((0x0804a134 + 0x12)) patcher.nopout((0x0804abc0 + 0x10)) patcher.nopout((0x0804abc0 + 0x12)) # Color Code check # remove volume screen patcher.nopout((0x0801FED2)) patcher.nopout((0x0801FED2 + 0x2)) # freeing ~200k for code patches patcher.ffrange(0x0809aee8, 0x080cf754) # This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) # This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809af00 + 1) # This stub calls the target RESET vector, # if it's not FFFFFFFF. patcher.sethword(0x0809af00, 0x4840) patcher.sethword(0x0809af02, 0x2100) patcher.sethword(0x0809af04, 0x3901)
#patcher.export("prom-colors.img"); # This should be changed to only show missed calls for private # calls directed at the user, and to decode others without # triggering a missed call. patcher.nopout(0x0803ef10, 0xd11f) #Matches all private calls. #patcher.export("prom-private.img"); #Everything after here is experimental. #Everything after here is experimental. #Everything after here is experimental. #This cuts out the Chinese font, freeing ~200k for code patches. patcher.ffrange(0x809c714, 0x80d0f80) #This mirrors the RESET vector to 0x080C020, for use in booting. patcher.setword(0x0800C020, patcher.getword(0x0800C004), 0x00000000) #This makes RESET point to our stub below. patcher.setword(0x0800C004, 0x0809cf00 + 1) #This stub calls the target RESET vector, #if it's not FFFFFFFF. patcher.sethword(0x0809cf00, 0x4840) patcher.sethword(0x0809cf02, 0x2100) patcher.sethword(0x0809cf04, 0x3901) patcher.sethword(0x0809cf06, 0x4508) patcher.sethword(0x0809cf08, 0xd100) patcher.sethword(0x0809cf0a, 0x483c)