Add bounded logical Z80 disassembly to shared MCP
This commit is contained in:
@@ -224,7 +224,8 @@ class SessionController:
|
||||
self._emit('control', {'owner': None})
|
||||
return {'released': owner}
|
||||
if self.running and method in ('where', 'registers', 'read_memory',
|
||||
'read_program_memory', 'read_variable',
|
||||
'read_program_memory', 'disassemble_logical',
|
||||
'read_variable',
|
||||
'break_line', 'break_function'):
|
||||
raise SessionError('Операция требует остановленного CPU; сначала Pause')
|
||||
if method == 'status':
|
||||
@@ -328,6 +329,16 @@ class SessionController:
|
||||
result = self.session.bridge.request('program_memory',
|
||||
address=address, length=length)
|
||||
return {**result, 'bank_pages': mapping.bank_pages}
|
||||
if method == 'disassemble_logical':
|
||||
address = int(arguments['address'])
|
||||
length = int(arguments['length'])
|
||||
if address < 0 or address > 0xffff or length < 1 or length > 256 or \
|
||||
address + length > 0x10000:
|
||||
raise SessionError('Дизассемблирование: адрес 0..0xffff, длина 1..256')
|
||||
mapping = self.session.refresh()
|
||||
result = self.session.bridge.request('disassemble_logical',
|
||||
address=address, length=length)
|
||||
return {**result, 'bank_pages': mapping.bank_pages}
|
||||
if method == 'variables':
|
||||
return self.session.model.variables
|
||||
if method == 'read_variable':
|
||||
|
||||
Reference in New Issue
Block a user