Main > Software Forum
HiToText (Version 2010.11.4).
dna disturber:
--- Quote ---(hyperspt,hpolym84)
Uses nvram only
Things to extract:
Top 3 worldrecord of each event (7 events in total)
Top3 worldrecord initials of each event (7 events in total)
*4th place worldrecord of each event (7 events in total) * not displayed in the game
*4th place worldrecord initials of each event (7 events in total) * not displayed in the game
Top 3 scores total-score
Top 3 initials total-score
Top 20 scores total-score "todays best" (Top 3 is not included in this list)
Top 20 initials total-score "todays best" (Top 3 is not included in this list)
The top 3 is shown in attractmode, the 1-10 scores of the top 20 are also shown in attractmode as the
"todays best 10". Numbers 11-20 are only visible when you can set your initials in that range.
The Bytes:
00-04 Triple jump - worldrecord 1st ***every byte is 1 digit for example 00 01 06 07 09 = 16m79
05-07 Initials Triple jump - worldrecord 1st
08-12 Triple jump - worldrecord 2nd ***every byte is 1 digit for example 00 01 06 07 09 = 16m79
13-15 Initials Triple jump - worldrecord 2nd
16-20 Triple jump - worldrecord 3rd ***every byte is 1 digit for example 00 01 06 07 09 = 16m79
21-23 Initials Triple jump - worldrecord 3rd
24-28 * Triple jump worldrecord 4th ***every byte is 1 digit for example 00 01 06 07 09 = 16m79
29-31 * Initials Triple jump - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 24-31 contain all 00 )
32-36 Skeet shooting - worldrecord 1st ***every byte is 1 digit for example 00 08 02 00 00 = 8200
37-39 Initials Skeet shooting - worldrecord 1st
40-44 Skeet shooting - worldrecord 2nd ***every byte is 1 digit for example 00 08 02 00 00 = 8200
45-47 Initials Skeet shooting - worldrecord 2nd
48-52 Skeet shooting - worldrecord 3rd ***every byte is 1 digit for example 00 08 02 00 00 = 8200
53-55 Initials Skeet shooting - worldrecord 3rd
56-60 * Skeet shooting - worldrecord 4th ***every byte is 1 digit for example 00 08 02 00 00 = 8200
61-63 * Initials Skeet shooting - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 56-63 contain all 00 )
64-68 Pole vault - worldrecord 1st ***every byte is 1 digit for example 00 00 05 08 05 = 5m85
69-71 Initials Pole vault - worldrecord 1st
72-76 Pole vault - worldrecord 2nd ***every byte is 1 digit for example 00 00 05 08 05 = 5m85
77-79 Initials Pole vault - worldrecord 2nd
80-84 Pole vault - worldrecord 3rd ***every byte is 1 digit for example 00 00 05 08 05 = 5m85
85-87 Initials Pole vault - worldrecord 3rd
88-92 * Pole vault - worldrecord 4th ***every byte is 1 digit for example 00 00 05 08 05 = 5m85
93-95 * Initials Pole vault - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 88-95 contain all 00 )
96-100 Free Style - worldrecord 1st ***every byte is 1 digit for example 00 05 04 00 01 = 54 ' ' 01
101-103 Initials Free Style - worldrecord 1st
104-108 Free Style - worldrecord 2nd ***every byte is 1 digit for example 00 05 04 00 01 = 54 ' ' 01
109-111 Initials Free Style - worldrecord 2nd
112-116 Free Style - worldrecord 3rd ***every byte is 1 digit for example 00 05 04 00 01 = 54 ' ' 01
117-119 Initials Free Style - worldrecord 3rd
120-124 * Free Style - worldrecord 4th ***every byte is 1 digit for example 00 05 04 00 01 = 54 ' ' 01
125-127 * Initials Free Style - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 120-127 contain all 00 )
128-132 Weight lifting - worldrecord 1st ***every byte is 1 digit for example 00 03 06 00 00 = 360kg0
133-135 Initials Weight lifting - worldrecord 1st
136-140 Weight lifting - worldrecord 2nd ***every byte is 1 digit for example 00 03 06 00 00 = 360kg0
141-143 Initials Weight lifting - worldrecord 2nd
144-148 Weight lifting - worldrecord 3rd ***every byte is 1 digit for example 00 03 06 00 00 = 360kg0
149-151 Initials Weight lifting - worldrecord 3rd
152-156 * Weight lifting - worldrecord 4th ***every byte is 1 digit for example 00 03 06 00 00 = 360kg0
157-159 * Initials Weight lifting - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 152-159 contain all 00 )
160-164 Archery - worldrecord 1st ***every byte is 1 digit for example 00 03 03 06 00 = 3360
165-167 Initials Archery - worldrecord 1st
168-172 Archery - worldrecord 2nd ***every byte is 1 digit for example 00 03 03 06 00 = 3360
173-175 Initials Archery - worldrecord 2nd
176-178 Archery - worldrecord 3rd ***every byte is 1 digit for example 00 03 03 06 00 = 3360
179-183 Initials Archery - worldrecord 3rd
184-188 * Archery - worldrecord 4th ***every byte is 1 digit for example 00 03 03 06 00 = 3360
189-191 * Initials Archery - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 184-191 contain all 00 )
192-196 Long Horse - worldrecord 1st ***every byte is 1 digit for example 00 00 09 05 00 = 9.50
197-199 Initials Long Horse - worldrecord 1st
200-204 Long Horse - worldrecord 2nd ***every byte is 1 digit for example 00 00 09 05 00 = 9.50
205-207 Initials Long Horse - worldrecord 2nd
208-212 Long Horse - worldrecord 3rd ***every byte is 1 digit for example 00 00 09 05 00 = 9.50
213-215 Initials Long Horse - worldrecord 3rd
216-220 * Long Horse - worldrecord 4th ***every byte is 1 digit for example 00 00 09 05 00 = 9.50
221-223 * Initials Long Horse - worldrecord 4th
* These are not shown in game (if a new record is set (1st,2nd or 3rd) the 3rd becomes the 4th, if no new record
is set then bytes 216-223 contain all 00 )
224-229 padding ?
230-232 total-score number 1 (add a 0 at the back for the real total-score)
233-235 initials number 1
236-238 total-score number 2 (add a 0 at the back for the real total-score)
239-241 initials number 2
242-244 total-score number 3 (add a 0 at the back for the real total-score)
245-247 initials number 3
248-250 total-score "todays best" number 1 (add a 0 at the back for the real total-score)
251-253 initials total-score "todays best" number 1
...
...
362-364 total-score "todays best" number 20 (add a 0 at the back for the real total-score)
365-367 initials total-score "todays best" number 20
The characters :
10h = (space)
11h = A
12h = B
...
2Ah = Z
2Bh = . (period)
There are more scores stored (21-200) but they are reset when you start up the game.
So you can only see them in the one session when you play (unless you have savestate on but we don't want that with a hi patched mame)
So we can't use these scores for this project (and furthermore would you like to see a top 200 ?)
*** My 2 cents on the values from the worldrecords:
Use 54sec01 instead of the 54 ' ' 01 on Free Style for the display of the records
Use 360kg instead of the 360kg0 on Weigth lifting for the display of records (it always ends above 1kg)
The worldrecords are also shown this way in attractmode.
--- End quote ---
Dna Disturber :dizzy: :cheers:
Fyrecrypts:
--- Code: ---;*******steelwkr
steelwkr:
0:200a:06:00:00
--- End code ---
HiToText support coming soon. =)
Enjoy all!
wwwombat:
--- Quote from: Fyrecrypts on June 19, 2009, 10:04:07 am ---Track and Field is nvram only, so the hiscore.dat file has no effect on the scores. Man I hope the nv file format hasn't changed. Track and field was a pain.
--- End quote ---
Okay please be aware that I am on a compiled version of Mame 0132 using the appropriate diff file so that I have the high score support enabled.
I have the very latest (downloaded today) version of HiToText.exe plus the hiscore.dat from the first post in this thread.
So that I know it's working, I can read the format and the hiscores for both dkong and galaga quite happily using the strings HiToText -f c:\mame\hi\dkong and HiToText -r c:\mame\hi\dkong etc.
I can read the format for Track & Field i.e.
HiToText -f c:\mame\hi\trackfld gives
RANK|SCORE|NAME
I can read the alternate format for Track & Field i.e.
HiToText -fa c:\mame\hi\trackfld gives
100M WORLD RECORD|RANK|TIME|NAME
LONG JUMP WORLD RECORD|RANK|DISTANCE|NAME
JAVELIN WORLD RECORD|RANK|DISTANCE|NAME
100M HURDLES WORLD RECORD|RANK|TIME|NAME
HAMMER TOSS WORLD RECORD|RANK|DISTANCE|NAME
HIGH JUMP WORLD RECORD|RANK|HEIGHT|NAME
However when I try a read of the record i.e.
HiToText -r c:\mame\hi\trackfld
I get
Error: System.FormatException: Input string was not in correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo ino) at HiToText.HiConvert.ByteArrayHexToInt(Byte[] byteArray) at HiGames.trackfld.HiToString() at HiToText.Program.Main(String[] args)
I'm told the hiscore.dat doesn't come into play in this case (as it's nvram only) and I've lost count of the number of times I've exited mame, deleted the trackfld.nv ram and set new records only to achieve the same error including using the DIP switch settings inside the game to erase the world records.
Whatever records I do set inside Track & Field always display and are kept inside the game fine between mame invocations.... I just can't get HiToText to read/display them.
So.... taking a hint from Firecrypts post, has mame132 changed this nvram? Anyone on that level of mame that can try this for me.... anyone else got anything else I can try?
Wob:
OK, so had a mate visiting from out of town, we gave the arcade machine a lashing and rediscovered some old games. Here is the first.
Exerion (exerion, exerionb, exeriont)
First off we just need to add the clones to the hiscore.dat file as it only has the original listed. Tested working with both clones.
modified hiscore.dat entry
--- Quote ---;********exerion.c
exerion:
exerionb:
exeriont:
0:6600:c8:00:00
0:6700:28:00:00
--- End quote ---
Now the decoding.
--- Quote ---This game has 100 high scores, but it only records names for the top 5.
Notes:
Maximum Score = 999,900
Name Characters = 3 (Even though there are spaces for 8 char in memory, you are only able to enter 3 char in game, if you modify the memory it will show all 8, but this leads to some corruption on the screen proceeding the high score table)
Also of note, no mater how bad your score it will always put you into 100th place, even if the previous 100th score is higher that yours.
- Bytes 000-001 (02 13): 1st Score, In this case 21,300 (Trailing 00's are added to all scores in game)
- Bytes 002-003 (01 59): 2nd Score, In this case 15,900
...
- Bytes 198-199 (00 09): 100th Score, In this case 900
- Bytes 200-207 (40 5F 5B 00 00 00 00 00): 1st Name, In this case " :."
- Bytes 208-215 (41 42 5A 00 00 00 00 00): 2nd Name, In this case "ABZ"
...
- Bytes 232-239 (41 41 41 00 00 00 00 00): 5th Name, In this case "AAA"
ASCII for the Characters, except the special characters
The characters
00: (Space) This is used when END is used before all 3 spaces are filled
40: (Space)
41: A
42: B
...
5A: Z
5F: : (colon)
5B: . (period)
--- End quote ---
Screenshot
Cheers,
Wob
Fyrecrypts:
--- Quote from: wwwombat on June 22, 2009, 08:16:51 am ---
--- Quote from: Fyrecrypts on June 19, 2009, 10:04:07 am ---Track and Field is nvram only, so the hiscore.dat file has no effect on the scores. Man I hope the nv file format hasn't changed. Track and field was a pain.
--- End quote ---
Okay please be aware that I am on a compiled version of Mame 0132 using the appropriate diff file so that I have the high score support enabled.
I have the very latest (downloaded today) version of HiToText.exe plus the hiscore.dat from the first post in this thread.
So that I know it's working, I can read the format and the hiscores for both dkong and galaga quite happily using the strings HiToText -f c:\mame\hi\dkong and HiToText -r c:\mame\hi\dkong etc.
I can read the format for Track & Field i.e.
HiToText -f c:\mame\hi\trackfld gives
RANK|SCORE|NAME
I can read the alternate format for Track & Field i.e.
HiToText -fa c:\mame\hi\trackfld gives
100M WORLD RECORD|RANK|TIME|NAME
LONG JUMP WORLD RECORD|RANK|DISTANCE|NAME
JAVELIN WORLD RECORD|RANK|DISTANCE|NAME
100M HURDLES WORLD RECORD|RANK|TIME|NAME
HAMMER TOSS WORLD RECORD|RANK|DISTANCE|NAME
HIGH JUMP WORLD RECORD|RANK|HEIGHT|NAME
However when I try a read of the record i.e.
HiToText -r c:\mame\hi\trackfld
I get
Error: System.FormatException: Input string was not in correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo ino) at HiToText.HiConvert.ByteArrayHexToInt(Byte[] byteArray) at HiGames.trackfld.HiToString() at HiToText.Program.Main(String[] args)
I'm told the hiscore.dat doesn't come into play in this case (as it's nvram only) and I've lost count of the number of times I've exited mame, deleted the trackfld.nv ram and set new records only to achieve the same error including using the DIP switch settings inside the game to erase the world records.
Whatever records I do set inside Track & Field always display and are kept inside the game fine between mame invocations.... I just can't get HiToText to read/display them.
So.... taking a hint from Firecrypts post, has mame132 changed this nvram? Anyone on that level of mame that can try this for me.... anyone else got anything else I can try?
--- End quote ---
I'd say it sounds like the nvram file has changed. I better take a look at it. Thanks for the heads up, I'll try to get a fix in shortly.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version