Hello Everyone!
Let me introduce myself. My name is Kevin and I'm the owner of a small retro gaming store. I've been playing games for as long as I can remember. My Atari 2600 joystick doubled as my teething chewy (I still have that paddle to this day). My absolute favorite gaming consoles are the NES and SNES.
I've messed around with different game engines in the past. UT, Unity, Game Maker, RPG Maker, and others. I have a simple understanding of C++, C#, and Ruby. I wrote simple games on my Commodore 64 when I was a kid. And cheater programs on my TI83 in high school.
Over the last few months I've been slowly going down the rabbit hole that is NES game development. Resources were few and far between, I found a few ok sites in my searches. Stumbled on NESmaker and The New 8-Bit Heroes. But I was too late for their kickstarter. In the mean time, while I'm waiting for that to be released I figured I'd learn as much as I could about how the NES works. And that's when I found this site! I've been lurking for the past few hours. Finally decided I'll like it here.
I'll be reading up on the stickies and doing searches for any questions I'm sure have been answered hundreds of times over. Of course I wouldn't mind being pointed to some great posts for a total newbie like myself.
Anyway, I guess I've gone on long enough. I look forward to absorbing as much knowledge as I can.
Hi RetroKevin, welcome to this great NES info resource! I remember making a TI82 program for my Algebra 2, I think, teacher in High School. We were able to use the program on some of our tests.
Three users who have extremely helped me here are Kasumi, tokumaru, and tepples. Loopy created asm6, the assembler that tokumaru, and others, recommended me use. Shiru created FamiTone and FamiTone2, the free audio engines that have worked really well for me. (edit: Many others have helped me greatly too!!)
That's just 5 of the users; there are many many geniuses here. Make sure to absorb from the
nesdev wiki too.
Welcome to NESDEV!
RPG Maker, Game Maker, C++ and Ruby eh? You seem to have similar programming experience as I had when I started learning 6502 assembly and more, so I say go for it. I learned from the Nerdy Nights series of tutorials, this forum and Nesdev wiki. You will be able to learn pretty much everything about the NES hardware you need to know as a programmer here if you put in effort. Good luck!
I am also planning to learn about NES game development in preparation for the release of NESmaker.
Hello there!
My name is Pawel, I live in Poland. I am also new member of this forum. I have been playing games since i am aware of myself. My passion started with atari. I was developer in some private servers of Lineage 2 before. Few different servers. Now I am more in to nes game development and this source seems really nice and friendly. Nice to meet you all.
Regards.
Espozo wrote:
^ Is this a spambot?
Yes.
koitsu wrote:
Espozo wrote:
^ Is this a spambot?
Yes.
no?
Well the link you posted is a bunch of ads and nothing NES related.
But, the content of your post seems like something an actual NES developer would say...so...welcome? I guess?
Quote:
Well the link you posted is a bunch of ads and nothing NES related.
Well, it's in the tag, but I don't know if this really makes it any better.
"Women" was also a red flag for NESDev, lol.
I thought I discussed this aspect of forum spam some time ago (read: years).
These are not bots. These are HUMAN BEINGS who are paid to do exactly what you see here -- make accounts on forums and "pretend" to act like a normal participant. There are entire companies in Pakistan, India, and many other countries who are hired to do this (it's often roundabout/indirect, e.g. Company X wants to get their brand out, so they ask a reputable marketing company to help, who then relies on several third-parties, who then rely on OTHER third-parties that use companies like I just described. In many cases, Company X doesn't even know it's going on -- and some, when they find out, go "what the ?!?!? NO NO NO! That's going to tick people off and make our brand look bad!", to which the reputable marketing company says "Oh, well, we aren't responsible for what third-parties of our third-parties do". Isn't marketing great?)
Remember: signing up on the forum requires a few questions that bots/etc. can't tend to answer, but a human who can read English and Google a little bit can certainly find the answers. It would do tepples et al well to rotate the questions out with a whole new set (not just adding new ones -- literally replacing them all), because by now some companies have certainly seen all the questions + have a "database" of answers.
So do not let replies in threads fool you. If it looks like spam, or a sort of "probe/phish", then it probably is.
I don't discuss publicly how I dealt with this situation (when I helped run the forum and site). It was a manual process and it worked fairly well. You don't discuss publicly tactics when you know those who would subvert them would read and understand the details. :)
Quote:
These are not bots. These are HUMAN BEINGS who are paid to do exactly what you see here -- make accounts on forums and "pretend" to act like a normal participant.
Bizzare... I'd have thought using actual people would be highly unprofitable.
Post could have fooled me at first, too. But having a link (and email address?!) in the signature line is a gigantic red flag. The email address used for registering was already in a spam database, but was just short of the threshold of being automatically blocked from registering here. False positives can happen, just doesn't seem very likely..
Well, if womentake actually is an NES developer, I don't personally care if they advertise whatever unrelated site. Just not as a new user, with no post history.
Also, welcome to RetroKevin and cdigi, who are witnessing this thread being taken over, haha.
RetroKevin wrote:
Over the last few months I've been slowly going down the rabbit hole that is NES game development. Resources were few and far between
Maybe it's not fair to only look at this relatively to other systems, but the NES is amazingly well documented in this day and age, and I can't think of any other "retro" videogame platform that is even close to being as as thoroughly defined as the NES, when looking through online resources. The C64 and Amiga might, but I think that's as far as you can go.
I worked on reverse engineering a PCE game the other day, and holy crap - just figuring out how the games communiate with the graphics chip was a wild goose chase between five different websites, each with fractured pieces of information that would occasionally contradict eachother. And that's actually one of the platforms that should be relatively well known.
Yeah there are some parts not fully documented in English yet (like the FDS) but in general the NES is very well reverse engineered and documented for a homebrew community.
Regarding PC-Engine, the official English development manual can be found on the internet. It should clear up those contradicting sources, including the confusion of SAT and SATB terminology. According to official documents SAT is basically the PC Engine's OAM (although it is in VRAM) and SATB is a second internal "OAM" of the VDC that must be DMA:d to from SAT (VRAM-SATB DMA) to actually display the sprites. But every homebrew document out there got the terms SAT and SATB backwards (including the debugger in Mednafen).
Is the debugger in Mednafen even usable? All I could do was display some hex data, I had no idea how to interact with it.
Had to use MESS with the built in MAME debugger, which wasn't exactly helpful, since it's designed around the multi machine idea, without the advantages you'd have with given knowledge of the console's architecture - Also, it's pretty much a textbook example of a hostile and annnoying UI, that makes even simple actions a complex mess.
It's usable, but only barely. It has a basic hex viewer, disassembler, pattern table viewer, breakpoints etcetera. There's no GUI though so you have to remember all the
shortcut keys.
Welcome to the state-of-the-art in Linux-native NES debugging.
Hey! Mesen's super nice :p
Oh yeah! I feel like an idiot for not giving Mesen's debugger a try earlier.
It basically does everything I've ever wanted and more. Super friendly interface that makes everything easy, good overview of every register, automatically breaking up code into useful blocks, allows editing of ROM data directly via the current address window, and even editing entire code blocks using assembly opcodes.
Big, BIG proprs to Sour! This is what every emulator's debugger should be like. If there had been a PCE emulator with the same bells and whistles, my work would have been a billion times easier.
Yeah there are so many things Mesen does right, but it's not a PC Engine emulator
*confused*.
Mednafen is very unintuitive to use at all (unlike MAME) but AFAIK it's the only accurate PC Engine emulator there is so far, so we have to use it if we hope to make any PC Engine homebrew. Magic Engine and Ootake are really mostly only good for playing retail games with.
An Everdrive, CD-R discs and a Duo-R/RX is the best for real hardware testing though.
Pokun wrote:
Yeah there are so many things Mesen does right, but it's not a PC Engine emulator :?: *confused*.
He's essentially saying he wished there was an emulator for PC Engine that had Mesen's debugging capabilities/features.
Rahsennor wrote:
Welcome to the state-of-the-art in Linux-native NES debugging.
lidnariq wrote:
Hey! Mesen's super nice :p
Nothing about TurboGrafx at all. Sadly.
lidnariq wrote:
Hey! Mesen's super nice :p
It is indeed, but Mono ∉ Linux-native.
Eh, Mesen is a mixture of native code and CLR code, and the CLR code is mostly there for the GUI and filesystem stuff. I'm going to have a hard time buying an argument that it's meaningfully worse than GTK3.
So am I.
Mono, Wine, GTK, Qt, Tk, Motif, GNUstep, XForms, FLTK, SDL, Xaw, all are ultimately toolkits that run over X. This means a Mono application is no less "native" on an X11/Linux distribution than, say, a Qt application is on an X11/Linux distribution whose desktop environment uses GTK.
Each to their own. I don't consider CLR/JVM/insert-bloated-virtual-platform-with-far-too-many-dependencies-here to be "native" to any given OS, unless it's a part of the OS itself. It's "meaningfully worse" than GTK3 because I already have that and use it for other things, while Mono is a ton of extra downloads/updates/bugs/configuration headaches/security holes/disk space with no other purpose.
Don't get me wrong, Mesen is awesome. I'm just fed up with every other app I want to use dragging 400 MB of crap along with it.
Besides the size, I do not like Microsoft patented technology. Even with a promise not to assert the patents, supporting Mono is a proxy to supporting Microsoft.
That's a bit of a predicament whenever Microsoft produces extremely good software, which has happened a lot. I can see why you wouldn't want to support them, but then again I can't see them as worse than pretty much any other large corporation I'd be supporting by buying almost any product nowadays.
Sumez wrote:
Big, BIG proprs to Sour!
Thanks! Feel free to let me know if you have any comments about the debugging tools, too.
Rahsennor wrote:
I'm just fed up with every other app I want to use dragging 400 MB of crap along with it.
This is essentially a tradeoff between development speed/simplicity and disk space. Any software could be written to use little to no dependencies, but it will probably take an order of magnitude more time to get the same end result. Mesen's GUI was originally written w/ the Win32 API directly, but getting even the simplest of things working was prohibitively time consuming. Obviously, QT and other solutions would have been better than Win32's API, but as I am not familiar with any of them, it would still have been a lot more time consuming on my end.
Sour wrote:
This is essentially a tradeoff between development speed/simplicity and disk space.
I hear you, and for the record I'm not blaming you. You're doing it for free and the result is top-notch.
I should probably save my whining until I've written my own GUI toolkit.