Latest changelog 6 / SEP / 09->Initial release
7 / SEP / 09->Improved some code in fmt_smd.c
->Updated framework.h
->Started working on SuperMD Tool
->Fixed ident issues in ips_patcher.c and directory_iterator.c caused by CODEBLOCKS.Sorry about this
8 / SEP / 09->Some changes in ips_patcher.c
->Improved html_gen.c
->SMDTool now supports patching
->SMDTool can now try all loaders if the proper one fail. (for roms that have wrong extension)
->Improved util.c -> skipWhitespace
9 / SEP / 09->Improved rom.c
->In rom.c , loadRom() now returns success of failure instead the pointer
->Updated rom.h
->Finished SMDTool commandline parsing(PATCHADDR W-I-P)
->An important fix in checksum_patcher.c
10 / SEP / 09->SMDTool can now patch custom address
->Finished almost all functions and now SMDTool works
->Added smart versioning in SMDTool
->Added usage screen
11 / SEP / 09->Improved all code in SMDTool
->Added CRC check in SMDTool(global radius)
->Added 2 new functions for parsing support in util.c
12 / SEP / 09->ips_patcher.c now supports both "rom.ext.ips" and "rom.ips" patch files!
->SMDTool is almost complete.TODO XXX test all functions XXX
13 / SEP / 09->Updated port.h with new functions
->Improved directory_iterator.c
->Looked over all source files for possible optimizations. All checks passed.
->SMDTool can now take another argument "PATCH_DIRECTORY" to forward all rom patches to a custom directory
->SMDTool passed all tests. Now it must be compiled in windows too
->fmt_smd.c - chunk buffer is no longer dynamic
->rom_Writter.c - its possible to dump the header to a file
->Updated rom_Writter.h
16 - 23 / SEP / 09->Improved IPS patcher : Added new mode to detect the end of buffer.
->Fixed a bug in rom.c that sometimes it adds a garbage character the end of the filename [ reported by Chilly Willy - Thanks! ]
->Fixed another bug related with memory length in rom.c
->Fixed a small bug in util.c "getFileType()" and now it supports files with no extensions. [ reported by Chilly Willy - Thanks! ]
->Improved HTML generator : Supports also tables but its disabled at the moment. The default mode is also improved and generates a clean text block.
->Added multiple modes in port.h and more options
->Fixed a small bug in directory iterator that it could cause a memory leak if not used right.
->Basic Gamegenie interface : Supports decoding of streams for now but not hex addresses.
->Added a nice logger which reports the line and the source file when printing text.
The logger is de-activated by default.
->Replaced all debug prints with dumpConsole() define and now we can disable logging
->Updated rom writter
->A small change in fmt_smd.c
24 / SEP / 09->Added support for 32X roms
->Updated rom.c
->Updated util.c
->Updated framework.h
27 / SEP / 09 [release edition]->SMDTool updated to 1.0.0.9
->Framework updated to 2.0.0.2
->Updated port.h
->Updated framework.c and the header to add getFrameworkVersionString() function.
->Some updates in game_genie.c
->Some updates in htmlgen regarding pointer access safety
->A small change in logger.c
->Confirmed 32x rom support
->SMDTool now uses the buildin logger
->Added multiPrint methods in SMDtool
->Fixed SMDTool's copyright hack "bug" at line #753 where i had the month with 2 characters instead 3[ reported by Chilly Willy - Thanks! ].
->Added a special section for contributors in the framework -> contributors.txt
->Updated rom_writter to allow dumping of 32x roms
27-28-29 / SEP / 09This update is focused on last possible optimizations regarding memory copies and allocations. Plus a faster way to detect
if a rom is supported.
This update increases the speed by 40-55% for batch rom conversions and 100% less allocations , and about 3-7% for a single rom.
->Added setBitFieldRange() in bit_field.c and .h To reset fields without recreating them
->Improved bit field handling in rom.c for batch rom conversions/info.Now when resetting a rom , fields just reset to the default state.
->Improved isSupportedRom() and now it does a memory range check before validating information to avoid crash on bad/unknown binary files.
->Improved rom.c and now first it checks if the rom is supported , and then it updates information. isSupportedRom() is also updated
to support this.
->[minor]A small update in smdtool . Updated loadRomEx()
29-30 / SEP / 09->Added global framework exit func hook
->Added stack_patch.c . We will need this for Sega cd roms
--->supports Any image size , like 200 - 300mb...There is no limit
->Updated stack_patch.c and added sorting
->Updated stack_patch.c and added stack iterator
->stack_patch sorting now is done only once after calling iterator stack.
->Sega CD ISO 96## and Binary/mp3 support improved.
->Sega CD mode now allocates only a few bytes in memory.
30SEP - 1 / OCT / 09->Stack patch now sorts only the used slots
->Stack patch is now 100% complete
->Added proper SEGA CD image stream handle in rom.c and h
->Rom writter can now dump SegaCD isos synchronized with the sorted stack patch list.This is very fast , no loops are involved.
I have tried it all patches on an Sega CD image and they work as one would expect on Gens emulator. --I don't have sega cd to test it,
but it should be okay.
->IPS Patcher can now write stack patches for SCD images
->Found a little issue in htmlgen with extractFilename when there's no directory -- fixed -- and i have to wrap strrchr sometime...
->Added support for MARS 32x header
1 / OCT / 09->All patches now fully support Sega CD images
->Added support for SCD headers that need byte padding
2 / OCT / 09->Dir iterator now allows custom file extension filter callback.
->Framework updated to version 2.0.0.7[2/10/09]
3 / OCT / 09->Added SMD write support!! That is , now the framework can generate SMD dumps too!
3 - 4 / OCT / 09->Added a faster hexademical to integer function
->Now if you pass custom directory argument to SMDTool , it will not append "_PATCHED.extension".
->Added my own version of strrchr which is fastest and it will end all extra handling...
->Added MAKESMD option for SuperMd tool's -MODE switch
->Optimized getFileType()
->Added RLE IPS patch support
7 / OCT / 09->Added C externs for C++ compatibility
->Started working on the GUI version of the tool
7 - 8 / OCT / 09 [release edition][/color]
->Added raw_patchfile.h and raw_patchfile.c to import raw patch files (supports also SEGA CD using stack patch)
->Added applyGameGenieCode (supports also SEGA CD using stack patch)
15 / DEC / 09 [ release edition ]->Implemented ChillyWilly's SRAM 68K CPU opcode patching(Also supports Sega CD image using stack patch).
->Version codename changed to : v2.8.8.8
->A quick change in contributors.txt