mirror of https://github.com/n64decomp/mk64.git
Add files via upload (#196)
This commit is contained in:
parent
e4a176d8f5
commit
e5bd09039f
|
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env python3
|
||||
import os, sys
|
||||
|
||||
# ./gfx.py input_file_no_extension startHex
|
||||
if (sys.argv[1] == "-h" or sys.argv[1] == ""):
|
||||
print("How to use: ")
|
||||
print("Create copy of .bin named: filename_copy.bin")
|
||||
print("./gfx.py input_file_no_extension startHex iterations symbol_name")
|
||||
print("iterations are in 0x10")
|
||||
sys.exit(0)
|
||||
|
||||
# make sure to copy the .bin file and name it: filename_copy.bin
|
||||
|
||||
# copy of bin to prevent read/write conflicts between gfxdis and python
|
||||
# Did it this way without testing. Just assumed there would be conflicts
|
||||
|
||||
# startHex no 0x
|
||||
|
||||
debug = False
|
||||
|
||||
execStr = "./gfxdis.f3dex -f "+sys.argv[1]+".bin -a "
|
||||
|
||||
start = int(sys.argv[2], 16)
|
||||
|
||||
r = open(sys.argv[1]+"_copy.bin", "rb")
|
||||
r.seek(start)
|
||||
|
||||
bRunIt = True
|
||||
|
||||
it = int(sys.argv[3]) * 2 # iterations. *2 for 16 bytes per line
|
||||
i = 0
|
||||
calls = 0
|
||||
|
||||
offset = int(0)
|
||||
|
||||
for i in range(it):
|
||||
if bRunIt:
|
||||
if (len(sys.argv) > 4): # if symbol_name arg exists
|
||||
print("Gfx "+sys.argv[4]+str(hex(offset+start).split('x')[-1].upper())+"[] = ")
|
||||
|
||||
os.system(execStr+hex(offset+start))
|
||||
if debug:
|
||||
print((execStr+hex(offset+start)))
|
||||
bRunIt = False
|
||||
calls += 1
|
||||
|
||||
r.seek(start+offset)
|
||||
data = r.read(4).hex().upper()
|
||||
if data == "B8000000":
|
||||
bRunIt = True
|
||||
if debug:
|
||||
print("Running next: "+hex(offset+start))
|
||||
|
||||
if str(data) == "00000000":
|
||||
print("Found no DL command");
|
||||
break;
|
||||
|
||||
offset += 8
|
||||
|
||||
print("Program exited at: "+hex(offset+start))
|
||||
print("Ran gfxdis "+str(calls)+ " times.")
|
||||
r.close()
|
||||
Loading…
Reference in New Issue