Jump to content


Platinum Member
  • Content Count

  • Joined

  • Last visited

Community Reputation

29 Excellent

1 Follower

About greatstone

  • Rank
  • Birthday 02/26/1975

Profile Information

  • Location


  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Ok, we are nearly 2 years after the last message Months are running at an incredible speed! I found some time to add 38 new games (again with contributions from T. Busse), 170 new clones, rework java and C# sources to be more closer to each other, slightly update the engine (check xml documentation for byte-trunc instruction), and greatly improved an internal function to try to automatically found the encoding algorithm of a specific hiscore file. So, yes, the project is still alive! Games: R2D Tank, Radar Scope, Guardian, Prehistoric Isle in 1930, Prehistoric Isle 2, Wild Western, The Three Stooges In Brides Is Brides, Black Widow, Gravitar, Space Duel, Eggs, Eliminator, Exed Exes, Loco-Motion, Pac & Pal, Start Trek, Tac/Scan, Warlords, Zektor, Snap Jack, Son Son, Demolition Derby, Espial, Kozmik Kroozr, Omega Race, Rampage, Satan's Hollow, Solar Fox, Spy Hunter, Time Pilot '84, Two Tigers, Wacko, Fire Truck, The Ninja Warriors, Gradius III, Lode Runner, Rainbow Island, Viewpoint, Youjyudn. all games from mame 0.1 to 0.28 are supported clones aligned to mame 0.212 hiscore.dat Everything is here: http://greatstone.free.fr/hi2txt/index.html
  2. "hi2txt" utility is still alive: here is v1.9 to close 2017 What's new? Some contributions from T. Busse (11 games): Thanks a lot!! 47 new games supported: Star Force, Rescue, Mysterious Stones - Dr. John's Adventure, Hunchback, Splat!, Space Zap, Sinistar, Reactor, Jr. Pac-Man, Bubbles, Blaster, Stargate, Diamond Run, Super Pac-Man, Invader's Revenge, Krull, Arabian, Seicross, Pepper II, Space Panic, Mouse Trap, Mad Planets, Venture, Fantasy, Vanguard, Lost Tomb, Jump Bug, Moon Quasar, Moon Base Zeta, Space Invaders Deluxe, Galaxy Wars, Gorf, Raiden DX, Forgotten Worlds, Galaga 3, The Empire Strikes Back, The Pit, Mirax, Mega Zone, Blasteroids, NATO Defense, Gaplus, Dawin 4078, Vs. Battle City, Halley's Comet, Horizon, ... all games from mame 0.1 to 0.24 are supported clones aligned to mame 0.192 hiscore.dat Everything is here: http://greatstone.fr...txt/hi2txt.html Feedbacks are welcome as well as game support requests or help Cheers and happy Christmas! GreatStone
  3. Writing into .hi or nvram files is totally another story than reading them, because some games also store a checksum along with the scores to prevent easy hack. It means that such checksum algorithm, specific for each game, has to be discovered by hand and also coded into the program. Very very time consuming activity! I can now easily understand how to extract data for a game hi file between 5mn to 1hour. But finding 1 checksum algorithm would takes days. That's why I am not writing scores right now. It can be done without much difficulty for games that are not using checksum, for sure, but it is half the answer. We still need to add some robust synchronization: * read scores from hi files * send new scores into a common database and a users circle (a web service as a google app? + google+ circle and accounts?) * get scores from a common database and a users circle * write scores back into hi files Another way is to forget to write back into .hi files and have a "common" hiscores CSV files (compiling high scores of the circle) available for a front-end to display it when browsing for games. And why not adding achievements into this web service too?
  4. @iNTiGOD Ah, and by the way: "Would like to update the hi score tutorial on the hyperspin website linking to your files if that's ok ?" Sure, updating an hyperspin tutorial will ease installation: that's a good idea!
  5. @Tapatalk: "Maybe is there a way to take random names from hyperspin and make our names show up in the high score" Random names of games? users? "show up in the high score"? Can you give more details about what you have in mind, with an example? @griffin518: thanks! @iNTiGOD: HiToText and hi2txt can read the last hiscore.dat without issue. The added value of such program is not in reading hiscore.dat (few lines of code). Have in mind that hiscore.dat is defining mame memory location where the highscore can be found when a game is loaded. So, "hi" files are "just" a bunch of mame memory bytes, and each game has a specific way to store hiscores in memory. Consequently, for each game you want a friendly "text" display, we have to analyze the content of the "hi" file, understand the meaning of each bit, and the way data are encrypted (endianness, base 10, byte-swap, ordering, pointers, string compression, etc.). After the analysis, we have to describe the decoding algorithm to produce the text representation. For the sake of maintenance and get help from other people, describing the decoding algorithm in XML is a must: it is "easy" for somebody able to read inside the matrix and understand XML to write its own XML description to support a new game hiscore or modify an existing one. What I propose with the new hi2txt utility is detailed here: http://greatstone.free.fr/hi2txt/doc/index.html 1. My proposal is a rework of the XML format of HiToTxt to describe "hi" file and how to play/output extracted data, so that it is flexible enough to describe ALL operations in XML, without hard-coding a game-specific algorithm inside the code of the tool => power users can help to add a new game to display its highscores, without changing the code itself and recompiling the tool. This XML format and related code to handle it is one of my main contribution (XML format description: http://greatstone.free.fr/hi2txt/doc/xml.html). 2. I also split the XML per game, for easier game addition. 3. As hiscore.dat have memory location modifications over the time, hi2txt automatically detects which hiscore.dat you are using and what is the best algorithm to apply (all described/modifiable in XML). 4. Also, it is supporting very high scores, using biginteger, to display for example the gigantic scores from last Cave shoot'em-up 5. Finally, you understand that a big contribution is to "add" game in hi2txt: it means write an XML description of its "hi" file. This is what I do in each release, and I think that now, hi2txt is supporting 700 more games than HiToTxt (games supported in details: http://greatstone.free.fr/hi2txt/stats.html). Hope you understand/like the achieved work And also why I am requesting help to support new games Regards, GreatStone
  6. v1.6 released! What's new? 31 new games supported Golden Axe, Ghouls'n Ghosts, Wyvern F0, Strider, Xevious, Xevious 3D/G, Vasara, Vasara 2, Shark Attack, Shinobi, Aero Fighters / Sonic Wings, Aero Fighters 2 / Sonic Wings 2, Aero Fighters 3 / Sonic Wings 3, Aero Fighters Special / Sonic Wings Limited, Turbo Force, Karate Blazers, Lethal Crash Race, F-1 Grand Prix, F-1 Grand Prix Part II, Pipe Dream, Tao Taido, Hatris, Power Spikes, Power Spikes II, Welltris, King of Fighters '94, King of Fighters '95, King of Fighters '96, King of Fighters '97, King of Fighters '98, King of Fighters '99 hi2txt general improvements imp: add -xml parameter allowing to display data in XML, for easier front-end integration imp: output table now accepts 'display' attribute fix: divide operation is now using a scale factor to avoid "non-terminating decimal expansion" error imp: operations can now use a unique field value to work on all values of a table column (ex: kof97) imp: nvram file is now supported as argument of hi2txt fix: display table columns and values even if all columns are using "format" or "src" attributes to build their values Reminder for HyperSpin -> installation guide: 1. unzip the downloaded archive, then copy hi2txt.exe and hi2txt.zip in the same folder than HyperSpin.exe 2. rename hi2txt.exe into HiToText.exe. That's all! 3. last RocketLauncher release seems to support hi2txt Everything is here: http://greatstone.fr...txt/hi2txt.html Feedback is welcome as well as game support request or help Cheers! GreatStone
  7. @potts Before trying hi2txt (or HiToText), be sure to use a mame release saving hi files, with its hiscore.dat companion. Then, follow my 2 steps instruction to see them on HyperSpin screen. @griffin, @gigapig Glad to have evidence that it is working for someone else than me Finally!
  8. @griffin In the v1.5, I just put hi2txt.exe and hi2txt.zip containing all xml files. The installation guide for HyperSpin is the following: 1. copy hi2txt.exe and hi2txt.zip in the same folder than HyperSpin.exe 2. rename hi2txt.exe into HiToText.exe So, you don't have to unzip all XML individually, just to copyt 2 files inside HyperSpin root and rename one !)
  9. v1.5 released! What's new? 23 new games supported Dragon Spirit, Armored Warrior, After Burner, After Burner II, Dungeons & Dragons: Shadow over Mystara Dungeons & Dragons: Tower of Doom, Operation Wolf, Operation Thunderbolt, Nebulas Ray, Final Star Force, Fire Battle, MX5000, Dyger, Change Air Blade, Chopper, Legion, Twin Hawk, Cyvern, A.B. Cop, Ace Attack, Dragon World II, Zero Team, Side Arms, Crypt Killer hi2txt general improvements decoding speed significantly improved xml files now bundled as one zip for easier installation now compatible with HyperSpin -> installation guide: 1.copy hi2txt.exe and hi2txt.zip in the same folder than HyperSpin.exe 2.rename hi2txt.exe into HiToText.exe As usual, everything (including full documentation), is here: http://greatstone.fr...txt/hi2txt.html Feedback is welcome as well as game support request Have a good day! GreatStone
  10. Finally! After one week of trials, writing multiple stub programs to dump every inputs and outputs, I manage to understand how to make it works with HyperSpin BUT: I still cannot understand why it is not working in the old way. The trick is the way the final data are displayed on the standard output stream: /* working with HyperSpin */ Console.WriteLine("RANK|SCORE|NAME|RANK DISPLAY"+Environment.NewLine+"1|31234|CAP|7"); /* NOT working with HyperSpin */ Console.WriteLine("RANK|SCORE|NAME|RANK DISPLAY"); Console.WriteLine("1|31234|CAP|7"); Can someone with enough experience in C#, HyperSpin or data reading can explain me why the second solution is not working? Why it is required by HyperSpin to output the data in one call to Console.WriteLine?? At the end of the day, the 2 methods are displaying exactly the same thing. Can it be related to the way HyperSpin is consuming the data from HiToText? By the way, you can expect a new release soon, compatible with HyperSpin and adding support for 20+ new games. Regards, G.
  11. I am still searching what can be the difference between the 2 utilities for HyperSpin. So, I tried to use "procmon" from SysInternals to follow Hyperspin activity: PID: 13712, Command line: "E:\Program Files (x86)\Hyperspin\HiToText.exe" -l PID: 21604, Command line: "E:\Program Files (x86)\Hyperspin\HiToText.exe" -r "T:\data\mame\v0.159\prog\hi/1941.hi" I slightly fixed "-l" parameter usage so that it can work without having an access to hiscore.dat, but it is still not enough. When I am calling myself the 2 utilities for the same, even for the new fix, the results are identical: so, I am still stuck and do not understand why one is working and the other not... I will now have a look at rocket launcher stuff
  12. After following the tutorial to configure "HiToText", I am able to get hiscores in HyperSpin. Now, by just renaming my own hi2txt.exe into HiToText.exe, I don't see anything. Does anybody knows how HyperSpin is calling HiToText to get the hiscores? Is there a way to activate more traces inside the HyperSpin log and see the command-line used to call HiToText? Any help will be appreciated Regards, G.
  13. So, anybody can provide me an exact file structure of the different parts? Where are the games? Where is mame? Where is hiscore.dat? Where is hitotext.exe? Is it something like this? mame/dats/hiscore.dat mame/hi/*.hi mame/hitotext.exe mame/mame64.exe By chance anybody knowns how the utility is called by hyperspin? used working directory, command-line? @gigapig: can you give me the message during the crash if any? Regards, G.
  14. Hello ninja, I have slighlty modified the hi2txt exectuable to be used directly inside mame directory. At least now, it is working fine with my own installation of mame, Before publishing a new version, I would like to know how the old "hitotext" utility is launched by HyperSpin: what is the command-line used and from which working directory?
  15. Myself? The 2 versions are strictly aligned in term of features. I will say that it is easier to use the C# version on a Windows machine. On any other operating system, the Java version is the one to be used. It all depends on your own taste I am interested to see if it can be supported inside Hyperspin to show the hiscores when browsing games.
  • Create New...