PocketNES update, assisted by AI

  • Thread starter Thread starter Krem Quay
  • Start date Start date
  • Views Views 1,312
  • Replies Replies 20
  • Likes Likes 3
I'm sorry to tell you that you're going to get a lot of hate for using AI; people aren't ready to see it as a tool yet.
 
  • Like
Reactions: Kwyjor
I'm sorry to tell you that you're going to get a lot of hate for using AI; people aren't ready to see it as a tool yet.
Don't worry, if he's tested enough, and is actually learning off it, It's a great tool and people aren't going to bash them for that (source: no one ever told me anything about me admitting to have used AI in my Quake 3 projects + some of my upcoming projects, with the permission of the authors, have absolutely no problem in me using AI to link some stuff).

Besides, whoever is gonna hate them for using AI wasn't going to use the feature to begin with. I know plenty of people who are knowledgeable about what they're doing that use AI and have no problems admitting it.

Good job OP. I hope this will push you enough to work on something else as well.

I'll give you some suggestions, though.
- Always test on real hardware, no matter how accurate the emulators are
- Use Opus for the code structure, then use Sonnet to write code. Then go back to Opus and do a code review + cleanup + trim comments (Sonnet REALLY likes making long comments). In case, make a double check and use Codex too for the code review/cleanup.
- Use the Hardened Code module. When you get good enough with prompting and feel more comfortable in doing manual changes, swap to Caveman.
 
Last edited by Mayo1990,
  • Like
Reactions: Krem Quay
This isn't meant as a dig or jab; I just want to understand to what extent you used AI for this. I use AI as a tool for things like grammar checking, source verification, etc., for my work, so I understand how it can be used as a tool. I just want to make sure you didn't use it to write the code, and if you did, you made sure it kept within the proper licenses and stuff.
 
i forked the github repo. It was mostly just on the mapper files, which needed to then be added to cart.s.
 
You don't need to tell people that you're using it.
If you were using lots of caffeine or methamphetamine to program faster, it doesn't matter :)

If AI did all of the work for you, and you're taking the credit, that's something else... still impressive though, and the product can still be good.
But if you are simply using AI to help, no problem at all.
 
  • Like
Reactions: Jayro and Krem Quay
This isn't meant as a dig or jab; I just want to understand to what extent you used AI for this. I use AI as a tool for things like grammar checking, source verification, etc., for my work, so I understand how it can be used as a tool. I just want to make sure you didn't use it to write the code, and if you did, you made sure it kept within the proper licenses and stuff.
Projects like this fall on GPL most of the time, so he's allowed to use AI and redistribute (not sell, though) them. There's no license on the OG website, and the "reuploaded" Source is basically on the same boat there. No license. But I highly think It's GPL. May need to wait for more confirmations.


i forked the github repo
Since you're new at this, I highly advice you to learn a tiny bit of Git. Especially how .gitignore works.

You don't need to tell people that you're using it.
If you were using lots of caffeine or methamphetamine to program faster, it doesn't matter :)

If AI did all of the work for you, and you're taking the credit, that's something else... still impressive though, and the product can still be good.
But if you are simply using AI to help, no problem at all.
People will bash AI for writing code yet pretend that people didn't steal/copy codes off StackOverflow before AI became an accessible tool lmao
 
You don't need to tell people that you're using it.
If you were using lots of caffeine or methamphetamine to program faster, it doesn't matter :)

If AI did all of the work for you, and you're taking the credit, that's something else... still impressive though, and the product can still be good.
But if you are simply using AI to help, no problem at all.
Okay so I decided to add to the reame.md to make the attribution more robust since i absolutely don't want to take credit or clout for adding mappers. what'd have been dishonest if i were to say it's my own work, but at least here, people know that I used AI to help, and this is my first time ever using AI to update emulators.
Post automatically merged:

Projects like this fall on GPL most of the time, so he's allowed to use AI and redistribute (not sell, though) them. There's no license on the OG website, and the "reuploaded" Source is basically on the same boat there. No license. But I highly think It's GPL. May need to wait for more confirmations.



Since you're new at this, I highly advice you to learn a tiny bit of Git. Especially how .gitignore works.


People will bash AI for writing code yet pretend that people didn't steal/copy codes off StackOverflow before AI became an accessible tool lmao
I just have git add the new files individually. i always make sure never to add the roms or any compiled builds.
 
  • Like
Reactions: cearp
Okay so I decided to add to the reame.md to make the attribution more robust since i absolutely don't want to take credit or clout for adding mappers. what'd have been dishonest if i were to say it's my own work, but at least here, people know that I used AI to help, and this is my first time ever using AI to update emulators.
Post automatically merged:


I just have git add the new files individually. i always make sure never to add the roms or any compiled builds.
Just add the bare minimum that will output a working build. README.MD and LICENSE handle the rest. Comments will handle what specific lines of code do.
 
  • Like
Reactions: Krem Quay
Just add the bare minimum that will output a working build. README.MD and LICENSE handle the rest. Comments will handle what specific lines of code do.
"To compile pocketnes.gba:


sudo docker run --rm -v "$PWD":/src -w /src devkitpro/devkitarm make"

-readme
 
"To compile pocketnes.gba:


sudo docker run --rm -v "$PWD":/src -w /src devkitpro/devkitarm make"

-readme
I saw the README. You can make it a bit nicer using # (for big texts) and ## for smaller texts, in case. You may also use this to make it a bit nicer. https://readme.so/

You can make a release with the compiled file, as well. You aren't including copyrighted materials. Still, though. Since you used OPUS, I'd suggest to make it create a gitignore that will only include the required files that will output a working artifact. This will make the repo much cleaner.
 
Well, I'm just going to say that Gemini is pretty bad at coding. Gemini loves invent random crap and will rarely admit it's wrong.
At least with Claude, you can train it with custom data.

Even so, I wouldn't recommend relying on it too much, if you have a problem and don't know how to solve it. The AI will not be to useful.
 
If OP wants the full modern dev experience, set up github actions, add some automated tests, daily builds...
(I'm joking but honestly AI would probably just give you the yml you need)
 
Good on you, if someone is triggered over this that's their personal issue. As long as you credit how it was done right, you're in the clear. I mean how often is PocketNES even updated anymore? I'm genuinely asking as I thought it was kind of just left to rot years ago more or less.

I would love to know, how exactly did you pull this off, like what prompts, questions, and directions did you give to the AI so that it could add/append these new fixes and mappers to the old code? I'm asking this as a genuine learning experience and I'd be fine with a PM over that if you don't want to open that can of worms ticking others off and what not.
 
  • Like
Reactions: Krem Quay
@VmprHntrD : i used the web interfaces for claude.ai and aistudio.google.com. it asked me which mappers to add, so it generated those. i brought up issues to it if something wasn't working properly, so aimed to fix it. sometimes it's stuck in a loop, and from now on i'm going to try and rely on claude code rather than standard web interfaces for coding.

@Jayro : will do on next upload
 
@VmprHntrD : i used the web interfaces for claude.ai and aistudio.google.com. it asked me which mappers to add, so it generated those. i brought up issues to it if something wasn't working properly, so aimed to fix it. sometimes it's stuck in a loop, and from now on i'm going to try and rely on claude code rather than standard web interfaces for coding.

@Jayro : will do on next upload
Ok so you used a couple resources but one of them kind of looped and crashed out while the other had a good backbone for creating the requested additions you sourced online such as the various mapper files while asking for bug corrections pull from the pulls of the existing code.

I could see this as a decent tool if you have some long dead emulators for less popular systems people tend to skirt around to button up problems. Neo Geo Pocket Color for instance has had NeoPop out there like 20 years when it stalled out, and no one has bothered to fix its weird problems but pulls in the day were done flagging problems where perhaps Ai could clean that up.
 
Yeah, AI is scary in ways but I can't complain about it ending the era where you used to be at the mercy of someone else if you wanted to get things done.
 
  • Like
Reactions: cearp

Site & Scene News

Popular threads in this forum