Main > Software Forum

HiToText (Version 2010.11.4).

<< < (43/117) > >>

Fyrecrypts:
That looks good to me, I'll try and get an update done soon, and add that game.

Thanks for the help. =)

Wob:
Glad to be able to contribute in someway.  Here is attempt number two, this needed a little more deciphering.

For Wonder Boy (wboy)


--- Code: ---We have 21 high scores in the file (only 20 are shown on the high score board) and the last one (#21) seems to be missing the Ranking bytes

- Bytes 00-01 (20 11): Ranking, In this Case #1
- Bytes 02-07 (20 20 33 30 30 30): Is the highest score (#1). In this case, 30000 points (The trailing 0 is added to the end of all scores in game)
- Bytes 08-10 (42 55 43): Is the Initials of the highest score (3 characters) (In this case BUC)
- Bytes 11-15 (20 20 20 20 20): These are extra characters for the name, but in game you can only enter 3 Characters, I guess you can just add this to the name, but it should always be blank for legit names entered in game (5 characters)

- Bytes 16-17 (20 12): Ranking #2
- Bytes 18-23 (32 38 30 30): Is the next score. 28000 points
- Bytes 24-26 (4D 49 43): Is the next name In this case MIC
- Bytes 27-31 (20 20 20 20 20): Extra name characters

and so on until

- Bytes 304-305 (12 10): Ranking #20
- Bytes 306-311 (20 20 20 33 34 30): Is the lowest tabled score (#20). 3400 points
- Bytes 312-314 (7E 7F 20): Name = Male Heart Blank (See Characters)
- Bytes 315-319 (20 20 20 20 20): Extra name characters

This line is blank (all 00) in a fresh hi file, once a score is added #20 is pushed down to this line.
- Bytes 320-321 (00 00): No Ranking on this entry
- Bytes 322-327 (20 20 20 33 33 30): Is the lowest recorded score (#21). 3300 points
- Bytes 328-330 (20 20 20): Name = Blank Blank Blank
- Bytes 331-335 (20 20 20 20 20): Extra name characters

and finally

- Bytes 336-348 (01 08 01 08 13 08 10 08 10 08 10 08 10): This is in High Score shown during the Game (Top Centre) it is deciphered as follows.

Ignore the 08 Values, For the other bytes I think the first bit sets if it is used 0 = Off, 1 = On, and the second is the value. No trailing 0 is added here so examples would be;
(01 08 01 08 13 08 10 08 10 08 10 08 10) = 30000
(01 08 14 08 13 08 12 08 15 08 18 08 10) = 432580
(11 08 12 08 13 08 14 08 15 08 16 08 17) = 1234567 (Note: This score should never appear normally as the last digit should always be a 0, but it will accept it)

I have tested by modify values in the file and loading the game.  If the high score and the #1 table score go out of sync, then funny things happen :)

The maximum score shown in game is 9999990 = (39 39 39 39 39 39)

This one appears to store both the Score and Name in ASCII Code, accept for the special characters they have. So;
Number;
30: 0
31: 1
32: 2
33: 3
34: 4
35: 5
36: 6
37: 7
38: 8
39: 9

The characters
41: A
42: B
43: C
44: D
45: E
46: F
47: G
48: H
49: I
4A: J
4B: K
4C: L
4D: M
4E: N
4F: O
50: P
51: Q
52: R
53: S
54: T
55: U
56: V
57: W
58: X
59: Y
5A: Z

Special Characters (See the attached scoreboard #14 #20 In Order)
5C: (Ring)
5E: (Lips)
7D: (Female)
7E: (Male)
7F: (Heart)
20:  (blank)
--- End code ---

Cheers,
Wob

Just Realised I forgot to list the Ranking Codes;


--- Code: ---Ranking Codes
(20 11): #1
(20 12): #2
...
(20 19): #9
(11 10): #10
(11 11): #11
...
(11 19): #19
(12 10): #20

So each byte is read as a digit;
10: 0
11: 1
12: 2
...
19: 9
and
20: (blank)
--- End code ---

Wob:
Ok, here is my next one.

Double Dragon (ddragon)


--- Code: ---It has 5 high scores in the Table

- Bytes 00-02 (02 74 90): Is the first score (#1). In this case, 27490 points.
- Bytes 03-05 (3B 3C 3A): Is the Initials of the highest score (3 characters) (In this case . Z)

- Bytes 06-08 (02 00 00): Is the second score (#2). 20000 points
- Bytes 09-11 (30 32 2D): Is the next name In this case PRM

- Bytes 12-14 (02 00 00): Is the third score (#3). 20000 points
- Bytes 15-17 (30 32 2D): Is the next name In this case LDS

- Bytes 18-20 (02 00 00): Is the forth score (#4). 20000 points
- Bytes 21-23 (30 32 2D): Is the next name In this case JJM

- Bytes 24-26 (02 00 00): Is the fifth score (#5). 20000 points
- Bytes 27-29 (30 32 2D): Is the next name In this case TJL

- Bytes 30-32 (02 74 90): Is the in game Hiscore (Top Centre), in this case 27490 points.

Maximum score shown in game is 999999 so upto (99 99 99) is accepted input for scores.

Not as lucky with the Characters on with game as they were not standard ASCII, but it only had two non alpha characters.

The characters
21: A
22: B
23: C
24: D
25: E
26: F
27: G
28: H
29: I
2A: J
2B: K
2C: L
2D: M
2E: N
2F: O
30: P
31: Q
32: R
33: S
34: T
35: U
36: V
37: W
38: X
39: Y
3A: Z
3B: . (period)
3C:   (blank)
--- End code ---

Cheers,
Wob

Edit: Just attached screen shots

Wob:
Ok, next one is

Circus Charlie (circusc)


--- Code: ---We have 7 high scores in the Table

- Bytes 00-02 (02 10 00): Is the 1st score (#1). In this case, 21000 points.
- Bytes 03-05 (41 42 5A): Is the Initials of the highest score (3 characters) In this case "ABZ"
- Byte  06    (03)      : Is the number of levels played (level doesn't need to be completed to be counted.

- Bytes 07-09 (01 98 30): Is the 2nd score (#2). 19830 points
- Bytes 10-12 (30 32 2D): Is the next name In this case "CBR"
- Byte  13    (02)      : Is the number of levels played

...

- Bytes 42-44 (00 91 40): Is the 7th score (#7). 9140 points
- Bytes 45-47 (57 40 5B): Is the next name In this case "W ."
- Byte  48    (01)      : Is the number of levels played

The Last section is related to ingame High Score
- Byte  49    (FE)      : This is a mistery Byte. It starts out as (FE) in a fresh .hi file, changes to (OO) when a hiscore is set. Altering it seems to have no effect.
- Bytes 50-52 (02 10 00): This is the in game Hiscore can be read like the score table, (21000 points). Altering this value has no effect to the score shown in game.
- Bytes 53-58 (00 00 00 01 02 10): This is the in game Hiscore in reverse. Altering this will change the value shown in game regardless of if it matches the previous 3 Bytes. Each Byte is equal to 1 digit.

The Values for this are;
00: 0
01: 1
02: 2
..
09: 9
10: (blank) This is used to wipe out the leading digit if it's not needed.

So examples are;
(00 00 00 01 02 10) =  21000
(00 03 08 09 01 10) =  19830
(01 02 03 04 05 06) = 654321 (not a valid score as it should always end in 0, but the system will accept it)

The maximum score shown in the score tables game is 999990 = (99 99 90)

For the Names this one uses standard ASCII Codes accept for the special characters (blank and period).

The characters
41: A
42: B
43: C
44: D
45: E
46: F
47: G
48: H
49: I
4A: J
4B: K
4C: L
4D: M
4E: N
4F: O
50: P
51: Q
52: R
53: S
54: T
55: U
56: V
57: W
58: X
59: Y
5A: Z
40:   (blank)
5B: . (period)

--- End code ---

Wob:
OK, my next one is for Bank Panic (bankp)

This one was a bit of a pain as a bug in the game means the high score table is only shown when you are entering your name into.  That any times stored in hex are a real pain.


--- Code: ---We have 10 high scores in the table.

The score value is stored using a straight conversion, with each byte (00-09) equal to one digit in the score.

- Bytes 00-06 (09 09 09 09 09 09 09): Is the 1st score (#1). In this case, 9,999,999 points (Maximum score)
- Bytes 07-09 (43 42 53): Is the Initials of the highest score (3 characters) In this case "CBS"
- Bytes 10-11 (5F EA): This is the Time, it is number of seconds stored in reverse in HEX, in this case EA 5F = 59999secs = 999min 59secs (Maximum value)
- Bytes 12-13 (09 09): This is the Level, in this case 99 (Maximum value)
- Bytes 14-15 (00 00): These just seem to be padding, nothing I can do in game will alter these values, and changes mad to the file have no effect on the score board

- Bytes 16-22 (00 00 02 06 09 00 00): Is the 2nd score (#2). In this case, 26,900 points
- Bytes 23-25 (43 42 53): Is the Initials of the 2nd score (3 characters) In this case "CBS"
- Bytes 26-27 (9A 00): This is the Time, in this case 00 9A = 154secs = 2min 34secs
- Bytes 28-29 (00 09): This is the Level, in this case 9
- Bytes 30-31 (00 00): More Padding

...

- Bytes 144-150 (00 00 00 04 03 00 00): Is the last score (#10). In this case, 4,300 points
- Bytes 151-153 (41 41 41): Is the Initials of the last score (3 characters) In this case "AAA"
- Bytes 154-155 (51 00): This is the Time, in this case 00 51 = 81secs = 1min 21secs
- Bytes 156-157 (00 03): This is the Level, in this case 03
- Bytes 158-159 (00 00): More Padding

And finnaly the in game High Score
- Bytes 160-166: (09 09 09 09 09 09 09): In This case 9,999,999 points (Maximum Score)

For the Names this one uses standard ASCII Codes except for the period

The characters
41: A
42: B
43: C
44: D
45: E
46: F
47: G
48: H
49: I
4A: J
4B: K
4C: L
4D: M
4E: N
4F: O
50: P
51: Q
52: R
53: S
54: T
55: U
56: V
57: W
58: X
59: Y
5A: Z
3D: . (period)

--- End code ---

Oh, and just a note, this game starts with a Blank Table (all 00's). It doesn't do the usual thing of having generic manufacture names in there.

Cheers,
Wob

P.S. Before anyone asks, no I am not that good at the game, the maximum values were manually entered :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version