Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news


  

Author Topic: HiToText (Version 2010.11.4).  (Read 65157 times)

0 Members and 1 Guest are viewing this topic.

TheShanMan

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1904
    • My Arcade (updated 1/30/13)
Re: .hi file conversion.
« Reply #40 on: September 03, 2008, 06:43:20 pm »
joust didn't seem to have one either-it does have an nvram file though, so I suspect defender and stargate, probably robotron will be similar.

Defender does indeed have nvram (the batteries are a big source of problems for defender boards!), so I'm sure the others do as well.
My Collection: Mame cab, 34 dedicated cabs, pin, skeeball, coin op air hockey table, and token machine (VAPS, pics at Arcade Crusade, updated 1/30/13 with Sprint 2, Centipede, and Bubbles)
Sketchup video of my gameroom
Add Ambience to your mame cab setup

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #41 on: September 03, 2008, 10:10:44 pm »
mspacman.hi

my hi score = 40920

shows up as:
byte 04=00
byte 05=02
byte 06=09
byte 07=00
byte 08=04

the entire file (11 bytes) is:
20 09 04 00 00 02 09 00 04 40 48

so it's possible that the score is also in bytes 0-2
------------
Looks like pacman.hi has the exact same layout.

Think we can assume that all clones are also using the same layout?  We may have just nailed about 12 more games if puckman=pacman=pacman(hearts)=hangly man...


   
« Last Edit: September 03, 2008, 10:31:27 pm by NOP »

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #42 on: September 03, 2008, 10:29:47 pm »
mrdo.hi

bytes 0-2 = score #1, so a score of 16300 appears as: 01 63 00 (not sure about higher scores)
bytes 3-5 are initials, same alphabet as 1942.  29h=space character
byte 6 = scene #
byte 7,8 = time, so 1'34" appears as: 01 34
byte 9 = ?

repeat for all 10 scores.


NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #43 on: September 03, 2008, 10:44:06 pm »
mappy.hi

bytes 0-3 = score, score of 19870 = 00, 19, 87, 00
bytes 4 = round #
bytes 5-7 = initials.
repeat for next highest

5 scores total are stored.

alphabet starts at 41h = 'A' --> 5A = 'Z'


Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #44 on: September 05, 2008, 11:20:36 am »
Here's Donkey Kong, it works, but I have a feeling we're missing something.

While working on Ms. Pac-man, I noticed that the game uses 0x40 for it's blanks for scores less than 5 digits. in bytes 4-8. Bytes 0-2 is also the score in a different format. I have no idea what byte 3, and the last two bytes are used for.

Edit: Removing attachments, dkong.cs can be found in the attachment on the first post.
« Last Edit: September 06, 2008, 08:23:06 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #45 on: September 05, 2008, 01:24:58 pm »
Byte 3 may very well be the 6th digit in a score for mspacman.
since my score of 40920 was:
20 09 04 00 00 02 09 00 04 40 48

It makes sense that byte 3 would be the uppermost digits.

I was thinking that since there seems to be a lot of games that use the same alphabet as 1942, it might be pretty easy to write a simple scanner to go through *.hi and see if it can print out strings using any values in the 0ah-24h range.   If the program spit out readable messages, then we've not only got another game that uses the same sequence, but also a starting point on the locations of all the initials storage locations.

I could likely write something if what I'm describing only makes sense to me. ;)



Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #46 on: September 05, 2008, 01:55:46 pm »
Couldn't figure out byte 3, but byte 9 is definitely the 6th digit for the score, I've attached the changes.

Edit: Just to clarify, I'm starting my count with byte 0, so byte 3 is actually the 4th byte in the file, just as it's displayed in WinHex.

And I like the idea, it should be really useful, I'm going to try and get mrdo and mappy done today, so if you want to work on it go ahead. =)


Edit 2: Removing attachments, pacman.cs can be found in the attachment on the first post.
« Last Edit: September 06, 2008, 08:22:40 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #47 on: September 05, 2008, 02:15:24 pm »
Finalized Galaga.


Edit: Removing attachments, galaga.cs can be found in the attachment on the first post.
« Last Edit: September 06, 2008, 08:22:18 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #48 on: September 06, 2008, 11:09:58 am »
Finalized Mr. Do

Edit: Removing attachments, mrdo.cs can be found in the attachment on the first post.
« Last Edit: September 06, 2008, 08:22:01 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #49 on: September 06, 2008, 12:07:03 pm »
Mappy will be... unique, it stores 5 scores like you said NOP, the first three bytes are the scores and it multiplies that by 10, so 00 20 00 is 20,000. The next two are the stage reached. 02 63 is stage 263. And the last three are initials.

The weirdest part is with the top score, it's stored in the last 11 bytes where the hundred-thousand digit is byte 9 of these 11, ten-thousand is byte 11, thousand is byte 10, hundred is byte 6, tens is byte 5, and ones is byte 4. As far as I can tell the other bytes are just filler bytes.

So 00 00 00 05 06 07 00 00 09 08 07 would be: 978,765. However, as far as I can tell, there is no way to get anything other than multiples of 10 as a score anyway. So the ones byte is kinda useless.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #50 on: September 06, 2008, 07:40:26 pm »
Finalized Mappy.

Edit: Found a quick bug that needed to be fixed.
« Last Edit: September 06, 2008, 08:21:18 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2931
  • 0x2b|~0x2b?
Re: .hi file conversion.
« Reply #51 on: September 06, 2008, 07:53:37 pm »
I was just thinking Fyrecrypts rather than posting a new class each time you add a new game maybe you could just edit your first post with the latest program and all the game classes included? I'd like to keep up with project and have a local copy of everything so I can help out if I can.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #52 on: September 06, 2008, 08:01:05 pm »
Yeah, that makes the most sense, I'll do that now actually. =)
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2931
  • 0x2b|~0x2b?
Re: .hi file conversion.
« Reply #53 on: September 06, 2008, 08:05:19 pm »
Yeah, that makes the most sense, I'll do that now actually. =)

Sweet. I just deleted all my attachments from this thread. If I do help out with a class I'll upload it then remove it once you've got it :cheers:

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #54 on: September 06, 2008, 10:33:33 pm »
From now on, I will also only be updating the original post with new games that are deciphered. Please use the list in that post to determine what game you'd like to decipher to avoid duplicating work.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #55 on: September 15, 2008, 02:29:04 pm »
Added a new version for HiToText, and HiScanner, made a lot of internal changes to HiScanner, and made it easier to add new games, so I'll probably stop updating the core code aside from some logging and exception handling.

I'll probably just start adding games' .cs files when I get them done, and the rest should be pretty easy. Maybe I'll make .exe files every week or so with new stuff.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2931
  • 0x2b|~0x2b?
Re: .hi file conversion.
« Reply #56 on: September 16, 2008, 10:17:23 pm »
Great work Fyrecrypts & NOP  :cheers:

How hard are some of the games to decypher are some very difficult?

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #57 on: September 16, 2008, 10:55:17 pm »
Not usually really, it's just a little time consuming to turn into a .cs file, or games that have a ton of valid characters for names.

DoDon Pachi is really weird... the last digit of the high scores are separated from the rest of the values, there are extra blank characters between used alpha characters which are always multiples of 4 (i.e. 'A' is 0x84, 'B' is 0x88), but didn't take more than an hour for me to completely decipher (coming soon). I've actually been spending more time trying to figure out how to add games to the hiscore.dat. In particular Klax and Mr. Driller. Both would be great games to have high scores for. =)
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #58 on: September 17, 2008, 09:29:51 am »
sorry I've slipped behind in my conversions.  I'll be back on the trolley soon.
I scanned all of my existing .hi files for my own high scores (18h,19h,20h == NOP) but didn't come up with any new ones. So either there aren't many more that have that commonly used alphabet, or my gameplaying sucks!  I believe it to be the latter.



Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #59 on: September 17, 2008, 09:40:44 am »
Hahahaha, no your gameplaying is fine =). I'm sure pretty much every game is different. Of the 12 game files we have done, only 2 pairs actually share the same basic a-z letters. No games share the additional punctuation or symbols allowable in names yet.

What I should do is allow other games that use the same memory mapping in the hiscore.dat file to be included in the same way that pacman and mspacman are done. I just don't want to go through all the extra clones, like mrlo and yankeedo for mrdo, and ensure that although they use the same memory range, it's not encoded differently, like bytes being reversed or something like that.

I imagine we could add around 40-50 more games, although they'd just be clones.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #60 on: September 22, 2008, 09:24:25 pm »
here's zaxxon, I think:

Alphabet starts with A=11h
Appears that a space character is 10h

offset 0-1 ? - (mine are 90,83)
offset 2 = rank? (01)
offset 3 = ?  (10h) -
offset 4,5,6,7,8,9 = score (009700 is 00,00,09,07,00,00)
offset A - (10h)
offset B,C,D = Initials
offset E = 3F (some kind of end character)
offset F = 00 (could be part of the score)
offset 10-12 = score again 009700 is now encoded as 00,97h,00
offset 13, 14 = ? (mine are 50h,83h)

Repeat for ranks 2-6






NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #61 on: September 22, 2008, 09:37:48 pm »
Galaxian appears to be high score only, and it's just the bytes themselves. 

A score of 1250 shows up as 50,12,00 in the file.

and that's it!

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #62 on: September 22, 2008, 09:51:30 pm »
donkey kong (dkong.hi)

Looks like each player's data is 22h bytes each:

bytes 0-4 = Looks like some pattern, for me it's 94,77,01,23,24
bytes 5,6 = 10h,10h
bytes 7-0c = score #1
bytes 0d, 0e = 10h,10h
bytes 0f-11 = initials #1
bytes 12-1a (9 bytes) are all 10h
bytes 1b = 3Fh
bytes 1c,1d = 00
bytes 1e-21 (for me) were 93,02,f4,76

Then it starts for #2:
bytes 22-26 = some patterny thing again - 96, 77, 02, 1e, 14
bytes 27,28 = 10h,10h
bytes 29-2e = score #2
bytes 2f-30 = 10h,10h
bytes 31-33 = initials #2
bytes 34-3c (9 bytes) = 10h
byte 3d = 3fh
bytes 3e, 3f = 00
bytes 40-43 (for me) were 76, 02, f6, 76

#3's patterny thing is: 98, 77, 03, 22, 14

I think it's obvious that the 3rd byte there is the rank.


initials are stored like this:
11h= A
12h= B
13h= C
14h= D
15h= E
16h= F
17h= G
18h= H
19h= I
1ah= J
1bh= K
1Ch= L
1dh=M
1eh=N
1fh=O
20h=P
21h=Q
22h=R
23h=S
24h=T
25h=U
26h=V
27h=W
28h=X
29h=Y
2ah=Z

Scores were stored in BCD format, not byte swapped.
So score #1 was 029300 and stored in bytes 7-0c as: 00,02,09,03,00,00

Crazy Kong is using the same data, except:
bytes 0-4 = Looks like some pattern, for me it's 94,93,01,23,24
bytes 5,6 = FDh,FDh
bytes 12-1a (9 bytes) are all FDh
bytes 1e-21 (for me) were 89,03,f4,76

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #63 on: September 22, 2008, 10:17:16 pm »
Major havoc:
Starts out with 10 sets of initials, for a total of 1dh bytes.

Alphabet starts with A=0Bh, B=0Ch, C=0Dh etc.
Space character is 0Ah
 
Then 10 scores, 4 bytes each.
A score of 94532 is represented as:
Offset 1eh = 32h
Offset 1fh =  45h
Offset 20h =  09
Offset 21h =  00

The interesting thing is that the very last byte in the file is 80h.  that should be the MSB of the 10th score, but 80005240 is a damn high score, so I assume that bit 7 is used as an "end of file" flag.



Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #64 on: September 25, 2008, 10:58:41 am »
Very cool, thanks NOP. I have Galaxian and Zaxxon done, I might need to do some manipulating to see if the 3 and F bytes are also a part of the score, I'm at work now and can't do the check. Strange thing about Zaxxon, 0x60 is also a space character used if you end the initials before using all 3. For example, ".- " was "2B 2C 60". Crazy old games.

I'll probably finish Crazy Kong and Major Havoc, and then I'll recompile both HiScanner, and HiToText.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #65 on: September 26, 2008, 01:21:36 pm »
Uploaded new versions, now we have something like 18 games or so figured out. I've also done some more work on the "kong" games: dkong, dkongjr, and ckong. I figured out the score is also stored in a short reverse byte form, so I've added that.

Donkey Kong Jr looks wrong in the hiscore.dat file, and I'm thinking of fixing it. For the first score it's missing the first 5 bytes that scores 2-5 have, and the 5th score is missing 7 bytes after the 5 unused bytes after the name, which includes the short score, so I'm tempted to fix it in the hiscore.dat file.
« Last Edit: September 26, 2008, 01:24:33 pm by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #66 on: September 26, 2008, 05:08:24 pm »
Quote
Donkey Kong Jr looks wrong in the hiscore.dat file, and I'm thinking of fixing it. For the first score it's missing the first 5 bytes that scores 2-5 have, and the 5th score is missing 7 bytes after the 5 unused bytes after the name, which includes the short score, so I'm tempted to fix it in the hiscore.dat file.

now that's interesting and something I'd never even considered, that the data we're handed from hiscore.dat might also be wrong.  ouch.  garbage in, garbage out.

Good job! 

I'll likely have a moment to decode a couple more this weekend.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #67 on: October 06, 2008, 09:38:45 pm »
Little update for anyone watching this thread (might just be you NOP.  ;) )

I've added a few more games: Raiden, Marble Madness, Wonder Boy 3. I discovered a few bugs here and there that I'm still in the process of fixing, I want to add catlist.ini support, and I would like to overhaul the UI a little bit more.

Not sure how long I'll be putting up the source as it just seems to be a waste of time, so I might just put up the executables, I'm not really sure.

BTW, Marble Madness name/score format is weird...
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2931
  • 0x2b|~0x2b?
Re: .hi file conversion.
« Reply #68 on: October 06, 2008, 09:46:25 pm »
There are people watching this thread (in fact I was looking at it earlier today just didn't post) and there are people interested in using the source code so please keep posting it and keep the project going.

I might be able to get that webspace afterall, I was talking about it this morning. I'll PM you with more info when I get it.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #69 on: October 06, 2008, 09:51:10 pm »
Oh good, as long as it's useful.

I'll throw up the updates when I feel I'm at a reasonable bug-free point.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

tspeirs

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 127
  • I want to build my own arcade controls!
Re: .hi file conversion.
« Reply #70 on: October 07, 2008, 03:26:16 am »
Hi Firecrypts.

As HK says, I just bought another server, and am now able to give you the .net hosting, and help with whatever you need in regards to that. More than happy to do it.

I prefer to do things by email, so drop me a note that way.

Tom.

tspeirs

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 127
  • I want to build my own arcade controls!
Re: .hi file conversion.
« Reply #71 on: October 07, 2008, 03:34:42 am »
I also have a coding suggestion which I think will help ensure success going forward, meaning less work for you and updating the source code less, and that is not to code the decipering in c# classes, but code a binary processing api in the app and a basic scripting format for decipering each game. Say each game would have a .hid file, which would be a little script that the app uses to process the binary data. From what I can make out from the completed games this should be doable. Youd basically have an algorithim/script for each game in a .hid file. So the source code would only be updated when the algorithim/scripting support needed to be improved to support a particular game. Im a software architect, and thats what Id recommend from a top level perspective. Although I know talking is easier than doing.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #72 on: October 07, 2008, 12:51:57 pm »
I'm not against the idea, as I'm sure it would allow a larger number of people to contribute. The only problem is so few games so far haven't required some sort of weird totally different piece of code here or there to work correctly. Marble Madness uses 2 bytes to store 3 characters for the name, 1942 stores the scores in whatever order it feels like storing them and using a byte to determine where it shows up on the list of scores, some games like Donkey Kong Jr. aren't symmetrical when it comes to scores, and the list goes on. :(

It would be an ideal solution if we could come up with a format that could deal with these quirks, some sort of byte mapping solution maybe. For example take Marble Madness. It's a 50 byte file with the current hiscore.dat, and stores 10 scores. It could be listed in a .hid file as:

"0-2", "Score1", "Reverse,HexToInt"
"3-4", "Name1", "MarbleName"
"5-7", "Score2", "Reverse,HexToInt"
....
"2E-30", "Score10", "Reverse,HexToInt"
"31-32", "Name10", "MarbleName"

While this seems like overkill matching up every single byte, it's probably necessary. If this seems like something everyone thinks is a good idea, I'll see what I can do to start implementing this. However, I still think certain games would have to be completely custom (1942).
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #73 on: October 07, 2008, 01:17:27 pm »
you could also hybrid it.

Games that are simple, or identical (like all the pacman clones) could all have .hid files, others that are wonky have custom code for deciphering.  As long as it's all open source in the end, I really don't mind either way it goes, since we're not losing any data.  I'd think that anyone able to read/write a .hid file is likely also to have enough skill to read/write actual code.


Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #74 on: October 07, 2008, 01:24:55 pm »
I tend to think the same way NOP, but code can be intimidating to learn for those that don't I suppose, whereas a .hid file would be a csv file basically.

I dunno, I think it could be worth it, many of the old 80's Nintendo games or games based off Nintendo games(Donkey Kong, Donkey Kong Jr, Crazy Kong, Mario) are all very similiar, and probably could be done easily in a .hid file.

It'd be a lot of work converting the 23 files we have to use this system, but for the 1000's of games left to decode, it could ultimately save a lot of time.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

MustardTent

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 424
    • Blog
Re: .hi file conversion.
« Reply #75 on: October 07, 2008, 02:53:04 pm »
I did something like this a few years back with another member here.  If you're interested, here's a spreadsheet with some of our findings.

Good luck, there's lots of games to decode.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #76 on: October 08, 2008, 08:46:46 pm »
Thank you MustardTent that does help, I'll try and add these games as I find time.

On that same note, I'm not sure if I'm going to have the time to completely revamp to use a .hid file, but I still think it's a good idea to probably do. I'm in the middle of changing up the UI a little bit (nothing major, just adding some things I think should be added), and I've got some other games I'd like to add pretty soon as I am using this with many of my friends and they have some requests I want to get in for them. After that's done, I'll do what I can about converting everything to a .hid format, unless someone else gets there first I guess.
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2931
  • 0x2b|~0x2b?
Re: .hi file conversion.
« Reply #77 on: October 08, 2008, 10:50:52 pm »
Creating our own scripting language was sort of what we were talking about when we realised that a dat file would not be enough to describe how to encode and decode a hi file.

Playing with some of the code to decypher in the beginning I think it would be hard to write our own scripting language to do it. In fact I'm sure there will be games in the future that will be even harder to decypher. Having the full C# language at our disposal ensures we don't need to keep updating the scripting language which would require the binary to be updated and distributed every time which sort of cancels out the benefits it would bring.

It's possible to have the decyphering in C# scripts and compile them at runtime, but I don't actually see any great time saving benefits, as it only takes a moment to compile the whole program again, and upload to the forum.

Another option would be to move the decyphering into lua scripts, but again I don't see a huge benefit going that way, and let's face it two of us here are C# coders (me and Fyrecrypts), and one is VB.NET (tom) and the other is C++ (NOP).

I have some experience in implementing C# scripting so let me know if your serious about going that way. But to be honest I don't see any great benefits.

If anything I would prefer to go with dll's for each game, that way we could have both managed and unmanaged dll's that share a common API. I have experience creating a plugin system that supports both managed and unmanaged dll's so I'm happy to share code on how to do that. That being said compiling each one as a dll is more time consuming than the current method because each dll would have to be it's own project in VS - so I don't see any time saving benefit there either except that we could have more people writing the code to decypher, but lets face it, the coding is not the hard part, it's decyphering all the games. It's interesting to mention though, the more I played around with the code in the beginning I started thinking it would actually be easier to use C++ with structs and pointers than C#! (Hey no language is perfect I guess)

As long as the project stays open source so it doesn't dissappear with us stuck with the binaries; then I'm happy to stay with the C# classes. But I'm still open to suggestions though and what I wrote is just IMHO.

NOP

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 916
  • I stole my avatar.
    • winterMAME
Re: .hi file conversion.
« Reply #78 on: October 09, 2008, 10:12:04 am »
Quote
I am using this with many of my friends and they have some requests I want to get in for them.

post those requests and I'll chip in too.  I didn't see anything on the 1st post about what games we're hoping to support.

Fyrecrypts

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 237
  • .hi guy
Re: .hi file conversion.
« Reply #79 on: October 09, 2008, 10:35:42 am »
Sure, I'll update it right now actually. I've also put up a new HiScanner, and new HiToText with the most recent games deciphered.
« Last Edit: October 09, 2008, 10:51:02 am by Fyrecrypts »
Help us crack more .hi files here:
http://forum.arcadecontrols.com/index.php?topic=83614.0
Generate the newest hiscore.dat here:
http://www.hitotext.com/HiScoreDat/index.php
Sourceforge project page:
https://sourceforge.net/projects/hitotext

  
 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31