Comments (9)
lua's memory_writebyte should not work through the cheat API. That's stupid. I don't even want to trace through all that crap. It should go straight to the <0x10000 check and BWrite.
It seems all our packed-in scripts use it for accessing memory only so they wouldn't even notice we made the change.
@vadosnaprimer can you confirm you agree that this logic in fceux predates any sense of best practices and needs to be revised to work as memorydomain systembus would rather than this weird broken mess?
We would need to update the docs too
from fceux.
I don't remember anything about memory writing other than it's implemented in a super complicated manner. I can't have an opinion without diving into it again, for which I just don't have time right now :(
from fceux.
Mainly I meant, if it works any way other than as systembus, do you think it's a good idea to change it or are you willing to say "meh, whatever it did before, who cares.. it should work like systembus"
from fceux.
The problem is I haven't seriously used either approach so in addition to no opinion I also have no experience here. Having an option would be the best but we don't include memory domain as an argument to lua mem access IIRC.
from fceux.
OK, let's change the memory
functions to work like systembus (that is go through BWrite and ARead directly) and then add legacymemory
functions which work the same as the current memory
functions; and update the docs. @Andypro1 if you can do that, then I'll work with you on merging it.
from fceux.
Sure. Does this look like it will work?
The memory read functions did not use the cheat engine, so only the write function needed a legacy implementation.
I have tested memory_writebyte() and memory.legacywritebyte() in the lua console and they both seem to behave as expected.
If this looks okay to you, I can submit it as a pull request.
from fceux.
looks okay to me
from fceux.
Pull request #67 sent.
from fceux.
Pull request merged.
from fceux.
Related Issues (20)
- SD Gundam Gaiden 2 EEPROM issues
- [Feature request] Retroachievements support
- Feature Requests + Bug Report
- Cancel button does nothing
- Enabling line break causes emulator crash. HOT 1
- Game Genie encoder/decoder not working properly. HOT 2
- Compiled Linux executable download link HOT 1
- FCEUX 2.7.0 crashes when you try to Record AVI Movie (64 bit version was tested) HOT 4
- Corrupted screen in 3D Block HOT 2
- Win64 download file trojan report HOT 1
- [glitch] Bases Loaded 3's ending graphics are glitched. HOT 4
- Snapshot shows up as blue color
- Cheats not importing
- Pac-Man Battle Royale HOT 3
- Akumajou Special - Boku Dracula-kun IRQ Emulate BUG. HOT 1
- fceux not launch - Qt Warning: Unrecognized OpenGL version
- build error - Package 'minizip', required by 'virtual:world', not found HOT 2
- [Qt] SDL video driver instant black issue
- [Qt] Couldn't save Normal Speed hotkey config
- Attribution HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fceux.