Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2011-09-19 09:49:16

zhengwei
Member
Registered: 2011-08-18
Post 49/140

Bit Number problem

Did anybody complete the list about Bit Number????
I read coolboyman's list .....A400 = Route 30 (1) A500 = Route 30 (2)
Why can't I find the A500???

Last edited by zhengwei (2011-09-19 09:54:25)

Offline

#2 2011-09-19 10:07:23

Miksy91
Member
Registered: 2010-10-16
Post 534/2,311

Re: Bit Number problem

zhengwei wrote:

Did anybody complete the list about Bit Number????
I read coolboyman's list .....A400 = Route 30 (1) A500 = Route 30 (2)
Why can't I find the A500???

Congrats.

You just managed to correct one of the several writing error of that document yourself :)

Last edited by Miksy91 (2011-09-19 10:07:49)

Offline

#3 2011-09-19 12:27:01

zhengwei
Member
Registered: 2011-08-18
Post 50/140

Re: Bit Number problem

Miksy91 wrote:
zhengwei wrote:

Did anybody complete the list about Bit Number????
I read coolboyman's list .....A400 = Route 30 (1) A500 = Route 30 (2)
Why can't I find the A500???

Congrats.

You just managed to correct one of the several writing error of that document yourself :)

I found that there are many writing error of document.....Did anybody have correct document???
I tested that A500 don't exsit....Is that right?

Offline

#4 2011-09-19 12:41:43

zhengwei
Member
Registered: 2011-08-18
Post 51/140

Re: Bit Number problem

Miksy91 wrote:
zhengwei wrote:

Did anybody complete the list about Bit Number????
I read coolboyman's list .....A400 = Route 30 (1) A500 = Route 30 (2)
Why can't I find the A500???

Congrats.

You just managed to correct one of the several writing error of that document yourself :)


I want to test if all items are obtained....(all HM/TM except that can buy...all NPC give item..all item balls..all hidden item)

Offline

#5 2011-09-19 13:09:51

Miksy91
Member
Registered: 2010-10-16
Post 535/2,311

Re: Bit Number problem

zhengwei wrote:
Miksy91 wrote:
zhengwei wrote:

Did anybody complete the list about Bit Number????
I read coolboyman's list .....A400 = Route 30 (1) A500 = Route 30 (2)
Why can't I find the A500???

Congrats.

You just managed to correct one of the several writing error of that document yourself :)

I found that there are many writing error of document.....Did anybody have correct document???
I tested that A500 don't exsit....Is that right?

It does exist, it's the flag bit of one of the hidden items in route 30....

Offline

#6 2011-09-19 13:22:06

zhengwei
Member
Registered: 2011-08-18
Post 52/140

Re: Bit Number problem

Miksy91 wrote:
zhengwei wrote:
Miksy91 wrote:

Congrats.

You just managed to correct one of the several writing error of that document yourself :)

I found that there are many writing error of document.....Did anybody have correct document???
I tested that A500 don't exsit....Is that right?

It does exist, it's the flag bit of one of the hidden items in route 30....

I found only one hidden item in route 30.....That's A400.....where is A500?

Offline

#7 2011-09-19 15:11:05

Miksy91
Member
Registered: 2010-10-16
Post 536/2,311

Re: Bit Number problem

A map editor might help with the problem you're having.

Last edited by Miksy91 (2011-09-19 15:11:30)

Offline

#8 2011-09-19 15:21:16

zhengwei
Member
Registered: 2011-08-18
Post 53/140

Re: Bit Number problem

Miksy91 wrote:

A map editor might help with the problem you're having.

I used johtomap....there are five Signpost in the map......four ones are post,and only one is hidden item...I also saw the event structure..it's right....Could you tell me where is the A500 hidden item???I'm so sad...

Offline

#9 2011-09-19 19:17:54

Miksy91
Member
Registered: 2010-10-16
Post 538/2,311

Re: Bit Number problem

Too bad...
Sometimes you've gottafigure out something yourself.

Offline

#10 2011-09-19 19:39:28

Tauwasser
Member
Registered: 2010-10-16
Post 196/448

Re: Bit Number problem

I did test what bit numbers were taken by map events at one point to determine that there are about 0x800 bits to use. However, there is a huge gap in the list, because many of the earlier ones are just decoration items etc.

cYa,

Tauwasser

Offline

#11 2011-09-20 07:11:49

zhengwei
Member
Registered: 2011-08-18
Post 54/140

Re: Bit Number problem

Miksy91 wrote:

Too bad...
Sometimes you've gottafigure out something yourself.


I'm so sorry for that...I will say it more detail.......Event structure:Number * [Signpost data]
it's in ROM at address 0x129954 ...You can see that has 5 signpost data......signpost data structure:
Signposts:
[Y position][X position][Function][Script pointer (2byte)]
■ Function:

00 = Sign can be read from all directions     

     Script pointer to script

07 = If bit of BitTable1 is set then item is given

     Script pointer to [Bit-Nr. (2byte)][Item no.]

so five ones are:
2B 09 00 92 55
1D 0D 00 95 55
05 0F 00 98 55
15 03 00 9B 55
09 0E 07 A2 55
you can see that last one is hidden item because that third byte is 0x07
and I also saw the Bit number is A400....Where is A500?

Last edited by zhengwei (2011-09-20 07:12:52)

Offline

#12 2011-09-20 07:14:18

zhengwei
Member
Registered: 2011-08-18
Post 55/140

Re: Bit Number problem

Tauwasser wrote:

I did test what bit numbers were taken by map events at one point to determine that there are about 0x800 bits to use. However, there is a huge gap in the list, because many of the earlier ones are just decoration items etc.

cYa,

Tauwasser

Do you have whole list about item????

Last edited by zhengwei (2011-09-20 07:21:53)

Offline

#13 2011-09-20 12:11:07

Miksy91
Member
Registered: 2010-10-16
Post 539/2,311

Re: Bit Number problem

I believe there is a hidden item with flag bit A500 is in Route 31 then.

Offline

#14 2011-09-20 12:30:11

zhengwei
Member
Registered: 2011-08-18
Post 56/140

Re: Bit Number problem

Miksy91 wrote:

I believe there is a hidden item with flag bit A500 is in Route 31 then.

Unfortnately...There is no hidden item in Route 31.....
I think the A500 is unused....

Offline

#15 2011-09-20 22:46:25

Tauwasser
Member
Registered: 2010-10-16
Post 197/448

Re: Bit Number problem

If you really want to know, just write a tool that checks for you:

for all MapBanks

    for all Maps in MapBank

        for all signposts in Map

            if (signpost.function == 07)

                if (ROM[signpost.data] == 00A5)

                    println("Found it!");

                end

            end

        end

    end

end
  • This means, basically go down each map bank pointer in the main pointer table. Those point to lists of primary Map headers.

  • For each primary Map header, find its secondary map header. In each secondary Map header, find the event pointer.

  • Explore the data at the event pointer: Skip the first two bytes.

  • Read number of warps. Skip (number of warps) * 0x05 bytes.

  • Read number of triggers. Skip (number of triggers) * 0x08 bytes.

  • Read number of singposts. For each signpost, read 5 bytes.

  • Check if the function byte is 0x07. If so, use its data pointer to find the bit flag. If the flag matches, you found the corresponding map.

cYa,

Tauwasser

Offline

#16 2011-09-21 02:35:04

zhengwei
Member
Registered: 2011-08-18
Post 57/140

Re: Bit Number problem

Tauwasser wrote:

If you really want to know, just write a tool that checks for you:

for all MapBanks

    for all Maps in MapBank

        for all signposts in Map

            if (signpost.function == 07)

                if (ROM[signpost.data] == 00A5)

                    println("Found it!");

                end

            end

        end

    end

end
  • This means, basically go down each map bank pointer in the main pointer table. Those point to lists of primary Map headers.

  • For each primary Map header, find its secondary map header. In each secondary Map header, find the event pointer.

  • Explore the data at the event pointer: Skip the first two bytes.

  • Read number of warps. Skip (number of warps) * 0x05 bytes.

  • Read number of triggers. Skip (number of triggers) * 0x08 bytes.

  • Read number of singposts. For each signpost, read 5 bytes.

  • Check if the function byte is 0x07. If so, use its data pointer to find the bit flag. If the flag matches, you found the corresponding map.

cYa,

Tauwasser

Thanks a lot...Your code is like JAVA......I will test it with C language codes...but could you tell me where is main pointer table???or somthing about structures?

Last edited by zhengwei (2011-09-21 06:52:53)

Offline

#17 2011-09-21 14:31:10

zhengwei
Member
Registered: 2011-08-18
Post 58/140

Re: Bit Number problem

Miksy91 wrote:

I believe there is a hidden item with flag bit A500 is in Route 31 then.

haha....Successfully....I found A500 with C language.....code is wirtten by myself.....A500 is in Route 32

Offline

#18 2011-09-21 14:32:10

zhengwei
Member
Registered: 2011-08-18
Post 59/140

Re: Bit Number problem

Tauwasser wrote:

If you really want to know, just write a tool that checks for you:

for all MapBanks

    for all Maps in MapBank

        for all signposts in Map

            if (signpost.function == 07)

                if (ROM[signpost.data] == 00A5)

                    println("Found it!");

                end

            end

        end

    end

end
  • This means, basically go down each map bank pointer in the main pointer table. Those point to lists of primary Map headers.

  • For each primary Map header, find its secondary map header. In each secondary Map header, find the event pointer.

  • Explore the data at the event pointer: Skip the first two bytes.

  • Read number of warps. Skip (number of warps) * 0x05 bytes.

  • Read number of triggers. Skip (number of triggers) * 0x08 bytes.

  • Read number of singposts. For each signpost, read 5 bytes.

  • Check if the function byte is 0x07. If so, use its data pointer to find the bit flag. If the flag matches, you found the corresponding map.

cYa,

Tauwasser


I has found the A500 with C language......

Last edited by zhengwei (2011-09-22 02:30:35)

Offline

Board footer

Powered by FluxBB