Posts for N-Bee


Experienced Forum User
Joined: 8/3/2020
Posts: 4
Thank you for the clarification feos. I wasn't aware that the mame debugger allowed you to change those values! I always did so via lua. It looks like the domain I would like to access is : "Motorola MC6800 ':maincpu' cpu space memory" Not all values are editable in this space, but the ones that I am interested are editable. This is not returned in the domain list within MAMEHawk. The values themselves are of course accessible via subdomains but they are chunked within ranges. To put it simply, all of my scripts refer to a 0 offset which starts at the beginning of the main cpu space domain. If it is possible and simple to get at this fuller range of addresses that would be wonderful. I have already created a few wrapper functions for changing domains, writing / reading to the appropriate addresses etc. If this is not possible, I will just refactor, it is however a large code base and I am willing to wait if it is a simple matter!
Experienced Forum User
Joined: 8/3/2020
Posts: 4
I'm having trouble understanding what you mean by this. Here are my interpretations of your sentiment: 1) "MAME 0.222 has a memory viewer which has a feature that describeswhether an address can be edited" I'm not aware of such a feature if that's what you mean (and could not find documentation)! Apologies for my ignorance. I'm leaning toward this not being what you meant. 2) "Check if the memory address is a valid address in the memory space" a) MAME 0.222 contains this address in its memory map. (In the domain Motorola MC68000 ':maincpu' program space memory" b) BizHawks hex editor shows the System Bus as read only. c) BizHawk's memory editor shows the address range as being within the System Bus domain. d) It is a valid address in the space. In particular the domain that concerns most of the read/write operations I do are within the domain "m68000 : ram : 0xFF0000-0xFFFFFF" A Test: print("Memory Test") print("=============") usedDomain = memory.usememorydomain("m68000 : System Bus") print("Used Domain?", usedDomain) print("Using Mem: ", memory.getcurrentmemorydomain()) print("Size", memory.getcurrentmemorydomainsize()) print("Writing") memory.writebyte(0xFF0001, 0x00) Yields: Used Domain? True Using Mem: m68000 : System Bus Size 16777217 Writing Error: the domain m68000 : System Bus is not writable e) Setting the domain "m68000 : ram : 0xFF0000-0xFFFFFF" and writing to the same address with an offset for the domains start functions correctly. I hope I have given my thought process enough exposition, and that you can point out my misunderstanding or a solution. Appreciate your time and help! Happy to gather more information as needed.
Experienced Forum User
Joined: 8/3/2020
Posts: 4
Hello Feos, Is there a plan to make the M68k System Bus writable? It would help me to port Mame/FBA scripts much more easily! If it is far off, I can make a wrapper methods for the memory function to parse the address to be read/written to the correct domain. Thanks for your work!
Experienced Forum User
Joined: 8/3/2020
Posts: 4
Hello Captain Forehead, I am guessing you are using FBA-RR v 007 and are likely on Windows 10? There are a few options I think! 1) Use 005 if you don't need breakpoints (not sure if thats the only feature 007 adds, apologies if there is something else) 2) Right click fba's exe and make sure you use compatibility mode and disable full screen optimization. For me this seems to work consistently. Trying to see if this fixes the issue for others. 3) I have had success with deleting the config folder and having no roms in the folder then running the exe. You have to do this many times before you don't get the meditation error but eventually it works for me. After it works once, it seems to work going forward. I hope one of these suggestions helps! Personally I'm going to start moving my scripts over to MAMEHawk, but I help out on a few other projects using FBA-RR that I don't have the time to move over.