Skip to content

Commit 9198b54

Browse files
committed
Add memory write support
1 parent d9b141c commit 9198b54

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

debug_tools.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def nonZeroTagIterator(self):
191191
yield x,y,val
192192

193193

194-
nx = NoexsClient(('192.168.0.121', 7331))
194+
nx = NoexsClient(('10.0.128.113', 7331))
195195
nx.attach(find_ACNH(nx))
196196
print(nx.get_status())
197197

@@ -227,6 +227,7 @@ def u32(re_p): return nx.peek32(re_to_nx(re_p))
227227
def u16(re_p): return nx.peek16(re_to_nx(re_p))
228228
def u8(re_p): return nx.peek8(re_to_nx(re_p))
229229
def read(re_p, size): return nx.read(re_to_nx(re_p), size)
230+
def write(re_p, data): return nx.write(re_to_nx(re_p), data)
230231

231232

232233
def readRectHU(re_p):
@@ -251,6 +252,6 @@ def diff(a,b):
251252
for x,y,tag in layers[0].tags.nonZeroTagIterator:
252253
print(f'{x},{y} {tag:8x}')
253254

254-
field = FieldSystem.get().defaultField
255-
main = field.itemLayers
256-
nx.resume()
255+
# field = FieldSystem.get().defaultField
256+
# main = field.itemLayers
257+
# nx.resume()

pynoexs.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,36 @@ def read(self, addr, size):
9797
self._recv_result() #ignored
9898
return result
9999

100+
def write(self, addr, data):
101+
self.sock.sendall(struct.pack('<BQI', int(Command.WRITE), addr, len(data)))
102+
self._assert_result_ok(throwaway=True)
103+
104+
self.sock.sendall(data)
105+
self._assert_result_ok()
106+
100107
def resume(self):
101108
self.sock.sendall(struct.pack('<B', int(Command.CONTINUE)))
102109
self._assert_result_ok()
110+
103111
def pause(self):
104112
self.sock.sendall(struct.pack('<B', int(Command.PAUSE)))
105113
self._assert_result_ok()
114+
106115
def attach(self, pid):
107116
self.sock.sendall(struct.pack('<BQ', int(Command.ATTACH), pid))
108117
self._assert_result_ok()
118+
109119
def detach(self):
110120
self.sock.sendall(struct.pack('<B', int(Command.DETACH)))
111121
self._assert_result_ok()
112122

123+
def set_breakpoint(self, id, addr, flags):
124+
self.sock.sendall(struct.pack('<BIQQ', int(Command.SET_BREAKPOINT), id, addr, flags))
125+
self._assert_result_ok()
126+
127+
def set_watchpoint(self, id, addr, flags):
128+
raise NotImplementedError
129+
113130
def get_pids(self):
114131
self.sock.sendall(struct.pack('<B', int(Command.GET_PIDS)))
115132
count = struct.unpack('<I', self._recvall(4))[0]

0 commit comments

Comments
 (0)