- 51
- Posts
- 10
- Years
- Seen Dec 20, 2022
Plus if everything needs to be compiled, that cuts off a certain amount of freedom for the user I would say. Scripts on the other hand could easily be tweaked to individual needs and improved by many.
It wouldn't be as convenient. Right now, I can create wrappers for any C function or a pointer to an arbitrary struct or whatever. I can control the emulator's current state by embedding Python. The alternative you speak of is a compiled module, which wouldn't make much sense given multiple instances of the emulator, and exposing memory blocks would be much more difficult.
Yes, but if the extension portion of the code is modularized, then you could write libraries for other languages such as Lua and even Java if properly wrapped, allowing choice of language at the slight cost of full control over the application. However, if you expose enough parts of the program, the disadvantage isn't as evident and you gain a lot of possibilities. A project very similar to this one by knizz was made which used Lua. The difference however was that it exposed the methods into the Lua manually, but enough was exposed that you could do a lot of powerful things. Obviously this is still your project but it was just a thought I had.
As a GBA hacker, an emulator is one of our fundamental tools. Although the options we have are stable, there is no all-in-one solution. You have to resort to an SDL port of VBA to debug ASM, for example. However, there is no reason to think that an emulator can't be extended like any other tool.
No one uses NO$GBA apparently XD
Also, you talk about the SDL version of VBA like it's a bad thing.
At the same time, NO$GBA is literally two add-ons from being perfect(GBA IR Adapter and GBA WiFi Adapter) and runs flawlessly on just about any windows emulator that supports OpenGL.
Martin Korth deserves a lot of credit for having put 12 years of work into NO$
Also, I'll argue that it isn't necessarily a good idea to combine a script editor with an active debugger. The scripts should be edited cold, and assembly should be debugged actively. A big reason for this is that scripts don't adhere to exactly the same rules as machine code and have to be interpreted by the game for use. You'll have to either compromise debugging power or compromise safety to do it.
Yes, he does. I just wish he'd open source that work, and have a paid license for corporate work. You can have multiple debuggers you know. I have a limited debugger for scripts, which steps per command, and a more in-depth debugger for ASM. I don't see the problem in doing that. I'm well aware that scripts and machine code aren't equivalent - but neither is any other higher level language, and they all have debuggers. Debugging is just another abstraction...