|
Changes since 1.0b are marked like this. Changes since 1.2b are marked like this.
Summary of changes 1.2b to 1.3b
- New formats: LYNX, SMS, C64 (d64/t64 - same game in different formats not
detected)
- subdirectories still not read, nor is logging enabled
- SNES files renamed with Jan AxHell's "RomCenter 1.80" database are detected,
and the header is correctly skipped.
- Added a status update that tells you what file is being examined.
- WIN32 version is multi-threaded.
- Added a "Stop" feature which does not work correctly because of Thread Local
Storage. I need more research here.
READ THE LICENSE AGREEMENT AT THE BOTTOM OF THIS
DOCUMENT COMPLETELY. FAILURE TO ABIDE BY THE LICENSE WILL RESULT IN TERMINATION
OF ALL WEBULATOR PRODUCTS FOR THE EMULATOR COMMUNITY. THIS MAY NOT SOUND LIKE A
VERY BIG THREAT, BUT THERE ARE ONLY A HANDFUL OF PEOPLE OUT THERE DOING PROJECTS
TO IDENTIFY AND LIST ALL KNOWN DUMPS FOR A SYSTEM. EVERYONE ELSE IS BENEFITTING
FROM THEIR HARD WORK WITHOUT GIVING BACK AND tW WISHES TO GIVE BACK WITHOUT
BENEFITTING SINCE tW ONLY HAS ROM IMAGES OF THE 6 NINTENDO CARTS HE OWNS.(raise
your hands if you are now deaf!)
This program is a beta, please only use it on files you have backed up!!
Warnings Given:
- All file extensions are trusted. If you have a file with a .smd extension,
it will be converted to .bin in memory. As I learn more about file types, I will
begin to check this.
- All operations are done in-memory. For SNES files, the largest file I know
of is ~64 megabits, or ~8 MB. All I'm saying is be careful *g*
Q: What does it do?
A: I'm glad you asked. It reads your directory for the file type you specify,
and creates a list of files you have. It even searches ZIP
files. You can have a friend compare directories with you, and make sure
you each have the same files. It basically makes ROM collecting a breeze. Good for use in the "Unknown" directories of the Good series or
other renamers like NesToy or RomCenter (with a .dat file)
Q: Waaaait, that sounds awfully familiar, where have I heard that?
A: Duper will read a list and highlight the ones you need to send, and
cartlist will list the ones you need to send. NESTrade will move the ones you
send into the directory you specify (like, for example, "c:\program
files\Agent\Autopost\", tee hee). This means you don't need to search manually
through all of your files.
Q: So are you some kind of "romz" or "warez" dude?
A: Absolutely not. I have fond memories of growing up with the NES, and wish
to preserve it. My previous NES projects have been abandoned due to NesToy and
GOODNes. The problem facing Digitoxin and Cowering right now is making sure they
have information on every single NES dump out there. My hope is that by the time
they have their databases completed, Nintendo will see the stupidity of
protecting copyrights on their games when many other systems have had games
become "freeware", like Amiga (which has allowed Back to the Roots to be the
sole distributor of Amiga games), the single MAME game I forgot the name of, and
Color Dreams which (I am told) allowed their NES games to be distributed. Who is
going to buy a NES or a NES game when you have "Thief: the Dark Project" and
"Quake"? (these games are old, too HEH!)
I have added other formats, like Genesis and the *.bin option to help people
like Jan AxHell, Digitoxin, Cowering, and any other person involved in making
complete lists of games or dumps. Also, I have released this to help emulation
authors, who often must test their emulators on every dump known to exist in
order to ensure proper preservation of the games. The last category of people
includes people like Bigfoot (RomCenter) and Roman Scherzer (ClrMame) who
provide "collection verification" utilities; also GuruChoc and others who work
hard to preserve deteriorating and/or unavailable games.
I do NOT!!! support the attitude of "let me have all the games I can put up
on my crappy web site with links to the topsites and banner clicking and
hit-counters and 'sex teen nude pamela titties' keywords so I can prove to
people how popular I am". This is NOT!!! for the average-joe warez collector, so
read the license at the bottom here.
Q: Ummm.. nice long philosophy there.
A: Thanks. I mean it.
Q: So does it have any other advantages over CartList or Duper?
A: Of Course! Like Duper and Cartlist, NESTrade calculates a CRC32 for each
file (that's what's in the NESTrade.crc file you can send to other people). For
each NESTrade uses a different algorithm for determining the file's size, what
bytes to skip, etc. NESTrade skips ROM and JFIF (Jpeg) headers, so that any
header hacks are ignored. It also converts between multiple formats for the same
system.
NESTrade also ignores certain hackable information in the
game itself. Many times I have seen "dumped by" or other information in the
"international title" field within SNES and Genesis dumps instead of the actual
information. NESTrade skips the 512 byte Genesis header, so that two files
differeing only by this information will not be recognized as different games.
This will be an option you can turn on and off as soon as I figure an elegant
way to do the same for SNES without simply skipping the first whole page (16kb
or 32kb). Turning this option off would lower the number of files needed to
send, but it would not detect such hacks. Q: So, what file types does
it do?
A: Right now, it will compare:
- *.* files (every file in the directory)
- *.bin (good for atari 2600/5200/misc)
- *.a78 (Atari 7800)
- Commodore 64 .t64, .d64 - these are not converted before
examining.
- *.lnx (Atari Lynx)
- NES: *.nes (iNes format 16-byte header)
- *.sms (Sega
Master System)
- JPEG: *.jpg (needs a lot of testing, .gif might be added)
- Genesis: *.bin (binary dump) and *.smd (interleaved with a header).
- SNES: *.smc, *.swc, *.sfc, *.fig, *.008, *.058, *.078
It will also open zip files looking for files which match
the extension.
Note: for the Genesis images, NESTrade skips the 512 byte header
present both in the *.bin and *.smd files, which is actually the internal header
used by the Genesis/Megadrive. This avoids potential duplicates caused by header
hacking by those who add "dumped by" information. It reads the file and then
does an in-place conversion of SMD to BIN, which slows it down a
little.
Q: Umm, I don't mean to disrespect you but, is that all?
A: No offense taken. Additional formats will be added on request. Just don't
request any formats you don't know a lot about. Send along technical documents
on the file format, and I'll add them.
Do NOT!!! ask for Playstation, N64, DreamCast, or any game in production. I
will report you and any shoddy web site you have or are connected with as
quickly as possible to any relevant authority, giving you one warning only if my
coin comes up "tails".
Q: So, how do I use it?
A: Couldn't be simpler. Type in the directory to scan, select the file type
from the combo box, and hit "Make List". then send the "NESTrade.crc" file which
will be added to the directory, to your closest and most trusted friend to
compare it. (READ THE LICENSE AGREEMENT)
When your friend recieves the list (READ THE AGREEMENT
BELOW), and NESTrade (YOU BETTER PLAN ON READING THE AGREEMENT), s/he selects the directory to scan, also types in
the directory to move the files to (which should be empty, but doesn't have to
be), selects the file type, and hits "open list". The directory is scanned, and
needed files (ones not in the list) are moved. Post, e-mail, copy, burn, do
whatever to those files now.
If your friend selects "Copy files, don't move", s/he can delete them when
done. Otherwise, don't forget to move them back.
Q: My roms are zipped.
A: No problem; However, if NESTrade decides it needs a
file, it will copy the whole archive. Suggestions on what to do here are
welcome. Since the whole file is in memory, I could write just the file or (with
work) the zipped file only to the destination directory. NESTrade uses zlib
1.1.3. Thanks to Mark Adler and Jean-loup Gailly for zlib; L. Peter Deutsch for
the zlib and deflate specs, and Phil Katz for the deflate format. Also thanks to
the MAME team for the unzip.c source - it helped lots!
Q: Bugs?
A: Three known: (all in the Win32 frontend):
- To select a directory by pushing the button beside the directory text box,
you have to select a file in that directory. I could fix that, but if there is
no file, you'll just have to type in the name of the directory manually for now.
It's a small problem anyway.
- Sometimes, the directory-select or open-file-select boxes hang when you
press "okay". I have a small idea why, but I am not totally certain. The code is
heavily reused, so there may be a static variable causing problems. It needs to
be rewritten. Just start it up again and you should be working!
- The combo box doesn't drop down. Just click and scroll.
- The stop button doesn't work.
Q: What's next?
A: Saving options and directories in a .ini file, status updates while
running. Maybe automatic duplicate detection and deletion, that's one thing I
wish Duper had.
Q: I use Linux/Mac - is there a version?
A: Not yet - the core of NesTrade is probably about 97% portable, and I am
trying to fix the other 3%. If you know anything about *nix or Mac system
programming and want to do a port, you just need to write small routines like
"find the first file with a .nes extension", "move this file from this directory
to this directory", "copy this file here to here.", and "give this error
message." *nix users would have to change routines to read/write LSB first, i
think. e-mail me and I'll talk with you.
Q: I have a suggestion.
A: E-mail me and I'll do my best to add what you want.
I did have a huge and very detailed agreement, but I trust you guys to use
this responsibly. Don't put it up on a web page or post a link to it or anything
like that. I don't want 400 15 year old "warez pups" using my program to
complete their "7EET collection". Please DO share it with people (so you can
compare your files with theirs, of course). Only share it unmodified and in the
original archive. I will release it to the public soon enough. I think that most
of these people who would abuse this program are too stupid or too lazy to use
something like cartlist or duper, or wade through a "missing files" list.
thanks, tW
the balzano50 guy at the hotmail.com place |