Jump to content
Welcome Guest!

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Fyrecrypts

HiToText (Hi score support)

Recommended Posts

To get the latest hiscore.dat and HiToText, please visit the HiToText sourceforge page, the link is in my signature.

With the recent inclusion of hi score support in Hyperspin, thought it might be a good idea to explain a little of the hi score project, how to incorporate it into Hyperspin, and how to update to the new versions that occur almost weekly now.

The hi score project was started a few months ago with the idea that it would be nice to be able to view hi scores for games outside of MAME. I wanted to be able to see my friends' scores and even share scores so that if my brother 100s of miles away beat me 1942 score, I would see it in 1942 when I play. That project came to be known as HiScanner, and a spin off of this was HiToText.

HiToText is a front end friendly command line application that allows reading and writing of hi score files (and now nv files as well) in an easy to parse string format.

Note: HiToText is written in C#, and therefore the .NET framework is required. If you do not already have the .NET framework installed, you can get it here: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en

First, right now to see any hi scores in Hyperspin, your version of MAME must have hi score support. If you're not sure if your version of MAME has hi score support, it doesn't, and I would highly recommend you read this thread at the BYOAC forum that does a great job explaining how to compile MAME with hi score support. This version will even remove MAME nag screens, which feels so much nicer in cabinets.

http://forum.arcadecontrols.com/index.php?topic=64298.0

Second, now that you have your hi score enabled MAME up and running, you'll want to play some games that are supported by the hi score project (list of supported games are below). Most hi scores can only be read by the .hi files that MAME will generate in the hi folder in your mame.exe directory. These files will only be created after a game has been run, so just because you have 1942, unless you've played it and MAME generates a .hi file, you will not see any scores in Hyperspin.

Note, if you do not see any .hi files in the hi folder this probably means you are using Hyperlaunch with MAME. You must remove this line from the MAME portion of HyperLaunch: "Hotkey, %exitEmulatorKey%, CloseProcess" This will allow MAME to exit correctly, and create/modify the .hi files that HiToText uses.

Third, download the HiToText.exe application (download at Sourceforge) and place it in the same directory that HyperSpin.exe is located.

Fourth, open up the settings.ini file in the settings directory in your HyperSpin folder, under the HiScore section, set Active = true. There is currently a bug in HyperHQ that makes enabling the Hi Score support confusing, but when the bug is fixed in the Main Settings tab, select the tools sub-tab, and enable hi score support there. You can also adjust where to show the hi scores, and how long to wait before showing the next hi score.

Congratulations! Now Hyperspin will show all of the hi scores for supported games!

New versions of HiToText occur pretty frequently to include newly supported games and their clones, I have been updating a thread on BYOAC, but I will also update this thread with new versions of HiToText, and an updated list about supported games, and the games that are on their way to becoming supported.

The thread on BYOAC is in my signature, and will help explain a lot more about the hi score project. If you'd like to help get a game supported that is not on my list, please look at the links in my signature for instructions on how you can help, even if you have no coding experience you can still help!

HiToText is completely open source, which you can get using SVN, there are instructions on the Sourceforge link in my signature. In addition, as I've gone through certain games, I've discovered a few errors in the hiscore.dat file that have been fixed. So please, use the hiscore datastic linked on BYOAC to ensure that HiToText works correctly for all supported games on your machine.

A Google spreadsheet is listed here that shows information about what games are deciphered, what games people are working on, and what games we need help with to decipher.

http://spreadsheets.google.com/pub?key=r1aOWGSATauwVHbhlucsGWQ&output=html

If you'd like to have access to edit this spreadsheet, as you'd like to do work without someone duplicating it, or have information about a particularly difficult game to decipher, please post here or e-mail me and I will give you access to modify the spreadsheet.

Edited by Fyrecrypts

Share this post


Link to post
Share on other sites

Ok, I have been trying to get this to work for the past couple hours with no luck... I have done a new compile of MAME .128u5 and have added the hi_128u5.diff patch. I have played both galagamf (Galaga Midway Fast Shoot) and galaga (Galaga Namco Rev B). I checked the hi folder and I have corresponding .hi files. My settings.ini has Active = true and HiToText.exe is in my HyperSpin folder with my HyperSpin.exe.

According to everything I have read here and on BYOAC; I should be seeing the high scores for these games in HyperSpin...

Any idea what I may have missed that is keeping this from working?

Also, no Crystal Castles? The woman and I always have high score battles on this game and it would be nice to see the score before going into the game.

Share this post


Link to post
Share on other sites

Only two things I can think of, somehow the interval setting under the high scores is set ridiculously high, or you may be on the wrong theme for the scores you have saved.

Based on your post I'm not so sure about that one, but if you set your settings so that the clones take the parent themes, and you opt to hide information in parenthesis, it could be pretty easy to mistake a clone for the version you saved your score for.

As for Crystal Castles, I'll throw it higher up on the todo list, if I know someone wants to see the scores, I'm much more likely to get to it earlier. My method for decoding games is mostly just going to MAWS, and working my way down the hall of fame, and maybe taking a few games from the same hardware, since the scores tend to be stored in the same way.

Share this post


Link to post
Share on other sites
Only two things I can think of, somehow the interval setting under the high scores is set ridiculously high, or you may be on the wrong theme for the scores you have saved.

Based on your post I'm not so sure about that one, but if you set your settings so that the clones take the parent themes, and you opt to hide information in parenthesis, it could be pretty easy to mistake a clone for the version you saved your score for.

As for Crystal Castles, I'll throw it higher up on the todo list, if I know someone wants to see the scores, I'm much more likely to get to it earlier. My method for decoding games is mostly just going to MAWS, and working my way down the hall of fame, and maybe taking a few games from the same hardware, since the scores tend to be stored in the same way.

Interval setting is at the default of 1, so it shouldn't be too high. I do have clones on, but I keep the data in parenthesis for this exact reason. I have certain versions of games that I like to play so I know that I am using the same versions where my hi files were created from.

Share this post


Link to post
Share on other sites
Interval setting is at the default of 1, so it shouldn't be too high. I do have clones on, but I keep the data in parenthesis for this exact reason. I have certain versions of games that I like to play so I know that I am using the same versions where my hi files were created from.
Having the same issue as Dazz

I'm using mame .128u5

Hmm, I wonder if HiToText is actually working on your machine. Can you go to a command line, and run HiToText from there like: "HiToText -r <pathtohifolder>/galaga.hi" and see if it actually shows the scores?

Share this post


Link to post
Share on other sites

I figured it out and it is now working correctly... Evidently HiToText has a .net framework requirement. I just did a fresh install on my OS drive and did not have .net installed yet. You might want to add to the thread that .net is required as I did not see that requirement anywhere.

Share this post


Link to post
Share on other sites
I figured it out and it is now working correctly... Evidently HiToText has a .net framework requirement. I just did a fresh install on my OS drive and did not have .net installed yet. You might want to add to the thread that .net is required as I did not see that requirement anywhere.

Oh, yes, that would be a requirement. It's written in C#. My mistake there, I'll throw that up in the main post as well. Glad you got it all figured out.

Share this post


Link to post
Share on other sites

New version out this morning, added about 6 new games (Defender, J.J. Squawkers, Crystal Castles, Gunsmoke, Elevator Action, and Jungle Hunt/King) give or take some clones. Defender, a big one! I'm currently only using the nvram file for scores, since "all-time" greatest seems more important than "today's" greatest. I have deciphered the .hi file which is today's greatest as well, however I'm not sure how I want to handle 2 different sources for one game yet...

I also discovered that despite some games using the same format in the hiscore.dat file, the bytes actually can represent something different. Ali Baba and 40 Thieves is the only example I've found so far, and it will be an easy fix. It is currently lumped in with pacman/mspacman, but will need to be in its own file.

Share this post


Link to post
Share on other sites

Is it possible to set a delay for the scores showing up? In other words, can the hi scores start appearing after 5 secs rather than right away. It would be nice to allow the theme animations to play without the scores appearing over top and then have them start.

Share this post


Link to post
Share on other sites

Yea Bill, the settings.ini is changing. I can change the y position and it changes in Hyperspin, but the delay doesn't seem to effect anything. I even tried 60 and it just comes up right away. Don't know if its doing this for everyone. Let me know if you need more info from me (mame version, comp, etc.)

Share this post


Link to post
Share on other sites

New version out, added: Tempest, Special Criminal Investigation, Up N' Down, Mr. Do's Wild Ride, and moved Ali Baba and the 40 Thieves to its own game. I decided it wasn't worth making and uploading a compiled version so I just stuck a copy of the HiToText.exe from the bin/debug folder into the main directory. Now there's only the one zip.

A note about Tempest, I had to modify the hiscore.dat file to fix what previously existed for tempest. The person who originally put it in there the way it was didn't realize that although the nvram does contain the first 3 scores, changing the nvram does not actually change the scores, and in fact just screws up tempest. It overwrites the nvram based on the memory in CPU #0 anyway, so I just extended and patched up the tempest portion. So, basically, old tempest.hi files are completely incompatible. Luckily you have a tool to put them right back in! Just screenshot the scores, delete the old .hi file, run Tempest with the new hiscore.dat (in main post, if you open it up in notepad it should be version 0.3), and use HiToText to write in all your scores (e.g. HiToText -w tempest.hi NLA 234500).

Still not completely sure how I want to handle games like Centipede, I might ask the FE guys what they think would be best for the input they want to put into HiToText, and the output they want back.

Share this post


Link to post
Share on other sites

New version out with lots of changes. First, a thank you to redhorse who contributed to one of the new games supported now: Slap Fight! He gave it to me before Christmas, but as I said in my previous post I've had some issues to work out. Smiley Other new games added are Space Invaders and some clones, 1943, Phoenix, Cadillacs and Dinosaurs, and Columns. Columns required a rewrite of what was in the hiscore.dat, so yet again for this version to work correctly you will need an updated hiscore.dat provided above in the hiscore.zip file attached to the BYOAC post. Again, this will mean deleting your current columns .hi file, so if you want to keep your Columns scores follow my instructions a few posts up when you had to do this for Tempest.

In addition to that, HiToText temporarily is only supporting looking for .hi or .nv files in your actual MAME directory, this shouldn't really affect anyone as most people only use HiToText for Hyperspin, but I'm saying it should you encounter an expected error experimenting with HiToText. The next version of HiToText I'll ensure this issue is fixed. The reason this happened though is so that Hyperspin could see hi scores from .nv files without having to change a thing, so you can now see Nightmare in the Dark, and Defender scores.

I've also put in a change that will allow me to easily show scores from games where the hi scores are split between .nv and .hi files. Games like Centipede, which I'm hoping will be in the next release.

And finally, I've reorganized all the games to use a similar format, instead of basing the order on the order of the hi score table, I'm giving almost all games the RANK field (which now starts at 1 for every game), and that will always be followed by the SCORE and NAME fields, then whatever other fields are stored in the order they are displayed on the hi scores screen for each game. The only games that did not get a RANK field were games where only one score is kept like Pacman, Space Invaders, Elevator Action, Super Dodgeball, etc... They will continue to only show the SCORE field.

With headkaze's suggestion, I've also compiled the binary (what most of you care about) as a release in visual studio. This means less debug code in the executable and more optimizations so it'll work faster. As the list of games climb, I'll probably have to do more optimizations to ensure a quick speed.

Anyway, I think I covered everything, enjoy!

Share this post


Link to post
Share on other sites

Great thanks, keep up the good work to you and your team, I dont have time to look at it at the moment, but have you tested your ranking change in HyperSpin, I do check for the 0 rank but I dont remember without looking at it how it would react without the 0 rank. Im sure I accounted for it but I could be wrong.

Share this post


Link to post
Share on other sites
Great thanks, keep up the good work to you and your team, I dont have time to look at it at the moment, but have you tested your ranking change in HyperSpin, I do check for the 0 rank but I dont remember without looking at it how it would react without the 0 rank. Im sure I accounted for it but I could be wrong.

Yes, it works in HS, I test all the applications HiToText is in before I upload a new version. It now also never has ranks of 0, and games always start with 1. =)

Share this post


Link to post
Share on other sites

Ok cool, ya I caught what you were saying about removing rank 0, but I thought there might have been a chance of it breaking hitotext support in HS if I didnt account for having ranks not start with 0, well thats good news, thanks , and good work.

Share this post


Link to post
Share on other sites

New version out, with new games including one that many of us have been wanting for a while: Mr. Driller! Thanks go to Cananas for discovering where the hiscore table was, and with that I added support for it in the hiscore.dat file, and in HiToText. Other games added: DJ Boy, Teenage Mutant Ninja Turtles - Turtles In Time, Dragon Blaze, Asteroids, Teenage Mutant Ninja Turtles, Pacmania, Do! Run Run, Commando (also thanks to Cananas for decoding that).

Between this release and the last release Leezer released a new hiscore.dat. He did not incorporate the running changes I've been making, but he probably didn't know I was. I've merged his changes with mine, and uploaded it in the main post. I had to modify Do! Run Run and Meteorites (a clone for Asteroids) to work correctly. In addition, I forgot to mention that 1943 in a previous release also required modification.

Enjoy!

Share this post


Link to post
Share on other sites

Thanks so much for your work on this dudes,HiToText combined with HyperSpin has made my cabinet's dreams come true,all at once.You talent & hard work is hugely appreciated,i'm getting better scores by the day,such an extra incentive.Brillo.Cheers to everyone involved.

Oh yeah...........

I don't wanna be too cheeky,but if i could request one game to be added to HiToText,it's gotta be Track & Field.Probably my all time most played game (it hurts to type this).

Again,massive thanks to everyone involved,it's never game over.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×