(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
06-01-24 07:15 PM
Acmlm's Board - I3 Archive - - Posts by Guy Perfect
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
User Post
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-02-06 01:47 AM, in Legal Ramifications of ROM Hacking Link
I myself make a point to refrain from obtaining ROMs from the internet. What I use in my hacking is what I legally own. I'm sure there is a good number of people who do the same, even though the majority of ROM Hackers are likely to be pirates.

Every generation of Nintendo system up to GameCube, for example, has had publically-available backup utilities. It only takes a little money to create a legitimate ROM.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-03-06 05:54 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
VL-Tone, I have an idea that may work better for text editing. The only problem is that I don't know if Director will allow you to do it.

What I've done with the F-Zero X editor is created an interface in which a graphics-enabled control is placed on the window and my own coding causes it to behave like a normal Text Box. The only difference is that instead of displaying characters from a system font file, it displays them from a 256×256-pixel font image.

In order to input characters that are not available on the keyboard, a box of "Special Characters" is provided. Simply clicking on one of those will put that character into the custom text box that last had focus. Some characters cannot go into the wrong fields, though. The Greek letters can only go in the Name box, so clicking those from a Description box won't do anything.

Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-04-06 07:04 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
I figure it's more for the sake of customizability. When dealing with ROM editors, it's always a good idea to provide every option possible, even if it's nonsensical.

For example: In the F-Zero X editor, I'm allowing Traps to be placed on segments of Cylinder track. The Traps will appear inside the Cylinder, never to be seen, but the option is there anyway.

All for the sake of the possibility that someone, somewhere, wants to have that level of control.



Though I do agree: Why not have [End] and [the] be automatically calculated from generic input?
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-05-06 01:11 AM, in Wi-Fi Connection and Linux Link
Take a quick gander over yonder:


You like what you see? Yeah, I thought so.

This is something that Nintendo wasn't counting on being done for a while. Namely being for the fact that Microsoft Windows won't let you do it. Linux, Mac OS X, *BSD, etc... Those will all let you do it. But Windows? Pfft.

In case you're wondering, I bet this is also the reason the Nintendo Wi-Fi USB Adapter doesn't work on anything but Windows.



See, what's going on in that picture is that I set up a rudimentary terminal for spoofing a Nintendo Wi-Fi Connection server. This program will one day become a network passthrough for reverse-engineering, but I won't be working on it until after the F-Zero X editor is completed.

What I've done is set up a frightening monstrosity of network configuration here under my desk and got my Nintendo DS running Metroid Prime Hunters to connect to my computer instead of Nintendo's WFC server. That way, the online mode of these games can be hacked and custom servers can be created.

And I owe it all to Linux. The F-Zero X editor is the only thing keeping me from using Linux exlcusively. Once it's done, I'll be living the high life in Debian's glory. But for now, most of my programming expertise lies in Windows, which is why that screenshot up there is of a Windows application.



Linux is world-renouned for its reliability and performance as a server, but it hasn't gotten much acclaim for its ability to be an insanely powerful network router. Most anything you can think up can be done through a Linux router, including NAT and filtering, which Windows avids can only dream of doing with their systems.

I took a spare wireless router that I had laying around (a B router; the current router I'm using is G) and plugged it into one of my Linux boxes. This provided a wireless access point for the Nintendo DS to connect to, and the other side is something that I control as opposed to the internet.

Configuring Linux out the wazoo (much of it was experimental and learning), I eventually stumbled on some actual documentation of the iptables utility and set up some routing through that.

I told it to forward all traffic coming in from one network interface (the one connected to the wireless router) and redirect it all to the IP address of my main computer (which is connected via a second network adapter in the Linux box). The end result is a makeshift system that makes a Nintendo DS go to a computer of my choosing instead of Nintendo's server on the internet.

Indeed, that screenshot up there shows the first piece of data sent from the Nintendo DS when you connect to WFC. Interestingly enough, it's an HTTP request that immediately closes the connection. I see little reason for this, but I'm sure to find out when I get into the project at a later date.



The possibilities seem endless at this point. That said, I won't be sharing all the ideas I have because they are far too numerous to count.

Since I won't be working on this project for a month or so, I'd like to know what you guys think of it. Is this a senseless endeavor? Do you see any great uses for it? Any questions or comments?
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-05-06 05:24 PM, in Wi-Fi Connection and Linux Link
Ad-Hoc mode is structurally different from Infrastructure and cannot be used to create an access point. Even using Windows as an access point, however, it won't let you redirect the IP traffic to anywhere but its intended destination.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-05-06 10:18 PM, in Wi-Fi Connection and Linux Link
For ethical reasons, I won't release any information that can be used to compromise the enjoyability of an online service. Making a custom WFC server means you can spoof your online stats. Using a network passthrough means you can send fake commands to recover energy, obtain items, etc.

Once Nintendo drops Wi-Fi Connection for a game, though, I will release all information I know at that time.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-06-06 03:51 AM, in Wi-Fi Connection and Linux Link
My primary concern with releasing source code for programs that interact with public online services is that the companies involved will choose to take legal action against the project and those involved with it. I will not forget what has happened with Blizzard v. BnetD.

My secondary concern is that my work will be used for dishonorable purposes. Law doesn't matter so much. If it's illegal, even good people can do it; often for legitimate purposes. But if people intend to use something to cheat against fellow players, that is not acceptible. I don't want to become known as the guy who let cheaters run rampant on Nintendo Wi-Fi Connection.



On the other hand, my "no release" rule only applies to games on the market. Servers merge, popularity drops... There's a number of different things that happen with online games over time.

Eventually, servers only exist because a few people still use the game. While I suspect Nintendo Wi-Fi Connection will remain active for all past games throughout its entire lifetime, there will be a time when today's games--Mario Kart DS or Metroid Prime Hunters, for example--will become more or less a thing of the past.

Once a game becomes forgotten as such (does anyone really play Phantasy Star Online anymore?), I will release information that I have on it. If no one plays it, then cheating in it will not be as much of an offense. Just wait a year or two and whatever I find today will be publically available.



As far as generic server stuff is concerned, I most certainly will release information on that. Just not game-specific stuff. Nintendo Wi-Fi Connection is free and there is no need to activate any services or register games in any fashion. It breaks no laws as such, so there is no danger of offending the first party--not even financially. If WFC is free, then reverse-engineering it will not harm Nintendo's income.

This combined with the fact that only the most enterprising people with tons of spare computer equipment and expertise with Linux will be able to utilize the custom-server idea make me comfortable sharing what I find out.



I have no intentions of restricting people to just looking at the things that I do. That's just as disrespectful as cheating. The only thing I restrict 100% is source code to ROM editors, and that's just because I release documentation in place of it. (And before anyone tries: my source code policy is a different topic for a different thread. Do not comment on it in this thread)

I appologize if my actions appear to be selfish, but I assure you that I'm only posting this here because I want to share my knowledge with the world.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-06-06 09:16 PM, in Wi-Fi Connection and Linux Link
Thank you for your link, firemaker. While I do not intend to obtain any information from the source you listed, it did lead me on a string of leads that ended with a VERY promising statement.

According to Darkian.com, the Nintendo DS uses IEEE 802.11b for all wireless communications. That means that using some low-level Linux programming, I should be able to create my own tunneling scheme with ease.

My hopes have never been higher than this. I hope to create a series of server products (the source codes for which will certainly be released) that will enable any Nintendo DS multiplayer game to be played online. The concept also enables Download Play servers to be created--computers which themselves can transmit download play data to the DS.

It also opens a door for homebrew. With a Download Play transmitter, custom code can be created and uploaded to the DS unit without hacking any hardware whatsoever.



Needless to say... I appreciate your reference, firemaker.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-06-06 11:06 PM, in Wi-Fi Connection and Linux Link
An added bonus is that custom servers have the ability to output data anywher they want. Imagine a live leaderboard for Metroid Prime Hunters that you can look up on a web site. Imagine automatic tournament engines with opponenet selection... The list goes on.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-07-06 03:23 PM, in Wi-Fi Connection and Linux Link
Download Play loads a small ROM image into RAM and executes the code from there. It is impossible to upload an entire commercial ROM to the DS in this manner. The programming of such ROM images makes calls to the cartridge slots, which may very well be empty when the Download Play feature is used.

This project cannot support piracy. It can only provide a Download Play service for multiplayer games that does not require anyone to actually own the game.



EDIT:
Someguy, this project requires that your computer has a wireless adapter of some sort. It also requires Linux since the network architecture differs from Windows. I don't think the Wi-Fi USB connector can transmit non-IP data, so that probably won't be a usable device for this project... if it even works under Linux, which it probably doesn't.

Three things will be needed for what I'm doing:
1) An x86 computer running Linux (since FreeBASIC only compiles for x86)
2) A wireless network card that works under Linux
3) A wireless access point, router or Master mode on an additional network card

Master mode lets a wrieless card operate as a wireless access point. The ndiswrapper software for Linux allows unsupported wireless cards to operate under Linux, but it does not support Master mode. If Master cannot be used, then a wireless access point or wireless router can be used and plugged into a normal Ethernet adapter on the Linux machine.

If Master can be used, then the adapter is running as an access point and can't be used to transmit Ni-Fi information, so a second wireless card will be required.

One wireless card is required either way, since access points and routers are designed to work with IP. The wireless card will be devoted to Ni-Fi communications, which is what the DS uses when it's not using Nintendo Wi-Fi Connection. Again: I doubt the Nintendo Wi-Fi USB Connector is a usable candidate.


(edited by BGNG on 04-07-06 02:42 PM)
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-09-06 09:09 PM, in The Invalid Opcode Link
For any given video game system, how are invalid opcodes treated? Does the system hang? Is the instruction treated as NOP? I suspect this will be different for different systems, but I'd figure I'd throw the question out there for anyone who knows.

It would be good to know for an assembly/disassembly engine that can adapt to different system architectures. I figure that would be a useful tool for game development and hacking. I don't have plans to make one just yet, but I'd like to have the information for when such a time comes.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-10-06 04:53 PM, in The Invalid Opcode Link
It's certainly appreciated. Thanks for the references.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-11-06 04:51 PM, in Super Mario 64 Text Wrangler 1.0b Release! Link
You got it backwards, Raccoon Sam. This is a beta release, so suggestions are welcomed. Observe:

VL-Tone, it'd be helpful if you put in a feature that would automatically change rows for you depending on the width of the text.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-11-06 04:53 PM, in The Invalid Opcode Link
Ah, yes. I do remember reading that the DS has a specially defined vector for invalid opcodes.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-15-06 11:39 AM, in SMW Compression? Link
1) Lunar Compress is a Windows-only app, isn't it? That won't help people developing for the DS. (-:

2) There's a difference between compression and encoding. 3bpp is the encoding. LZ2 is the compression. One of them expresses the data in its simplest form (encoding), and the other exists to make the encoded bit stream smaller (compression)
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-15-06 06:36 PM, in SMW Compression? Link
Originally posted by HyperMackerel
Just curious, why isn't using Lunar Compress an option?

Well there you have it, then. A reason. (-:
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-17-06 12:07 PM, in Odd Moments with Visual BASIC 6 Link
Squash Monster, all BASIC compilers I can think of prior to .NET require each individual variable to have a data type specified. In .NET, I believe saying "Dim X, Y, Z As Double" will create three Duobles as opposed to two Variants (called Object in .NET) and one Double.

One of the most bizzare things I've done with VB is use some Windows API calls to implement, of all things, Standard I/O. How pitiful it is that a programming language doesn't support Standard I/O.

I've also had some freaky runarounds with alternatives to variable pointers, since VB doesn't support that either. The VarPtr() function and AddressOf operator can be used to RETURN a pointer, but only for use with DLL calls. Again, the solution came in the form of Windows API.

Needless to say, migrating to FreeBASIC was one of the most glorious things I've ever done... next to migrating to Linux. (-:
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-17-06 10:48 PM, in Odd Moments with Visual BASIC 6 Link
Yeah, Ctrl+Break will halt execution at the current line. WONDEFUL for debugging.

interdpth:
FreeBASIC is designed to be compatible with QBASIC 4.5, not Visual Basic. Code porting is as easy as copy/paste, but the language itself is a literal alternative to C. Programming with GUIs requires the inclusion of the proper development headers and knowledge of the API for the system you're using (comes with Microsoft Windows headers and GTK 2.0 (Linux) headers by default, but you can make your own).
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-19-06 01:34 PM, in Very very very early (cross-platform) SMB3 Level viewer Link
Certainly, if you're gonna support multiple OS's, then support Linux. It's rapidly growing in popularity and the tech-savvy atmosphere around the OS means that most people would have some knowledge of or use for the editor that you're making.
Guy Perfect









Since: 11-18-05

Last post: 6314 days
Last view: 6313 days
Posted on 04-19-06 09:26 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
When extending texture data, VL-Tone, you won't need to have space between chunks of data. The images will never change dimensions; I guarantee it. Once 32×32, always 32×32. You can squish all of the texture files reasonably close to each other and thusly have ample space between other kinds of resources.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Acmlm's Board - I3 Archive - - Posts by Guy Perfect


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.042 seconds; used 445.21 kB (max 574.47 kB)