From 73238ccdd54706b696513eba4d47666e348920e6 Mon Sep 17 00:00:00 2001 From: Adrian Siekierka Date: Fri, 13 Dec 2024 21:35:16 +0100 Subject: [PATCH] wswan: Add read-only debug view access to I/O port space --- mednafen/src/wswan/memory.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mednafen/src/wswan/memory.cpp b/mednafen/src/wswan/memory.cpp index 48436ba..eb17c9e 100644 --- a/mednafen/src/wswan/memory.cpp +++ b/mednafen/src/wswan/memory.cpp @@ -548,6 +548,16 @@ static void GetAddressSpaceBytes(const char *name, uint32 Address, uint32 Length Buffer++; } } + else if(!strcmp(name, "ports")) + { + while(Length--) + { + Address &= 0xFF; + *Buffer = IsWW ? WSwan_readport_WW(Address) : WSwan_readport(Address); + Address++; + Buffer++; + } + } else if(!strcmp(name, "cs") || !strcmp(name, "ds") || !strcmp(name, "ss") || !strcmp(name, "es")) { uint32 segment; @@ -864,6 +874,8 @@ void WSwan_MemoryInit(bool lang, bool IsWSC, uint32 ssize, bool IsWW_arg) ASpace_Add(GetAddressSpaceBytes, PutAddressSpaceBytes, "ds", "Data Segment", 16); ASpace_Add(GetAddressSpaceBytes, PutAddressSpaceBytes, "es", "Extra Segment", 16); + ASpace_Add(GetAddressSpaceBytes, PutAddressSpaceBytes, "ports", "I/O Ports", 8); + ASpace_Add(GetAddressSpaceBytes, PutAddressSpaceBytes, "ieeprom", "Internal EEPROM", 11); if(sram_size)