News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - dACE

Pages: 1 ... 11 12 13 14 15 [16] 17 18
301
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: March 12, 2015, 06:36:45 pm »
Stored column-wise...that was unexpected.

As before - thanks a billion bailli!  :woot!:

I'll probably make some sort of 'map designer' as a .NET application, so I can toy around with some different designs.

Maybe it is time for a proper project-page with some screens of the progress made? Anybody interested in this?

/dACE

302
Personal Projects / Re: Shadowgate Classic [NES]
« on: March 12, 2015, 05:18:47 pm »
Just wanted to show my support to a fellow hacker and sweed - hang in there contra, the modified screens looks considerably better than the original ones.

Ha det gött!

/dACE

303
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: March 12, 2015, 01:26:27 pm »
Need some help...again....*sigh*...

Almost done with the script-editor and I have already remade some sprites for the adaptation:

- Link's sprites are done (but not set in stone)
- All items have been converted into familiar replacements
- Item equipment screen have been altered (to better highlight the new items)
- The HUD is modified
- Half of the enemy sprites are done (but not set in stone)

But when I started looking into adapting the map-screen - I hit another brick wall  :banghead:

Here is the map-screen:



It consists of 31 x 29 = 899 tiles.
When they are loaded into memory - they look like this in Visual-Boy's debugger:



This would mean that the tiles loaded into memory are arranged like this:



But - how is this information stored in the rom??

My first, and so far, only guess is that they are stored similar to the script, from the top-left corner:

5 bits to denote how many times a tile is painted (31 being the highest number = an entire row) +
6 bits to denote the tile to paint (3F being the highest number > 2A)

I have made some searches based of variants on the above assumption, for example - by adding a bit-flag to denote a series of tiles, but I have had no success.

I simply can't figure out how the information for the world map is stored in the rom-file.

Bailli (or someone else) - can you rescue this project one more time?

/dACE

304
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 08, 2015, 02:11:34 pm »
He he... I know a language or two yes...

I would say 139 strings sound right. I counted through a script-dump made from the NES version and reached a lower number (but the author had grouped some together as a conversation I think).

I am currently extrapolating from the first English sentence (The one found in my very first post actually).
I have located 30 or so and hopefully I will be able to find them all this way.

Thanks again bailli - for the help in decoding the bits properly (that was my main problem).

/dACE

305
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 08, 2015, 11:31:10 am »
Making progress...

bailli - Am I correct in my assumption that the sentences in each language are located in a single place within the rom-file, much like the look-up table was?

Can you help me with determine the ROM offsets to the first scentence, for each language?

EDIT:

OK - I read your post more carefully now.

So there are 139 pointers to sentences for each language that make up the script then?

So I would need 139 Rom-offsets for each language then - can they be easily determined?

/dACE

306
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 08, 2015, 08:21:05 am »
Actually...no...I don't really know how to run Python scripts.

So - are the dialogs encoded the same way as the look-up table then - with n bits for the sentence length and 6 bits per tile-index? If so - how are the pointers to the look-up table encoded?

EDIT:

So I was checking your Python-script and from what I can gather you have it all pretty much figured out already?

I haven't calculated/debugged my rom-offsets for parsing the look-up tables - I found them by trial and error:

Code: [Select]
private const long ENG_TABLE_POS = 0xC3BC;
private const long FRE_TABLE_POS = 0xC85C;
private const long GER_TABLE_POS = 0xCD66;
private const long ITA_TABLE_POS = 0xD266;
private const long ESP_TABLE_POS = 0x3367D;

private const int ENG_TABLE_LEN = 1184;
private const int FRE_TABLE_LEN = 1290;
private const int GER_TABLE_LEN = 1280;
private const int ITA_TABLE_LEN = 1281;
private const int ESP_TABLE_LEN = 1249;


So I have a couple of questions to get me started with adding sentence editing into my editor:

- What are the offsets to the first scentence, for each language?
- How do I know when to look-up a word and when to parse a word - when parsing a sentence?
- When parsing non look-up word in a sentence, does the first 5bits still determine the length and then every tile-index is 6bits?


/dACE

307
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 08, 2015, 06:57:30 am »
So today I finished up my look-up table editor - it turned out pretty nice!



(If you still doubt my skills, Seihen - I can upload the actual executable so you can verify it  ;D)

It is not perfect and there are bound to be some issues BUT you should be able to edit each and every of the 5 sets (one for each language) of the 256 predefined words!

The editor does not currently write directly to the ROM - you have to use a Hex-editor and copy-paste the generated table manually.
The limitation is that you can not expand the table and I have assumed that you can 'pad' a shorter table with '00' entries.

...

The ONE problem left for me to solve is to address the words NOT in the look-up table (for instance, the word ARCADIA).

I'll dig around today and see what I can find - as always - any help is greatly appriciated...
(bailli has already secured his spot in the credits ;))


/dACE

308
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 07, 2015, 05:04:49 pm »
Thanks a lot bailli.

That is about how far I got myself with my .NET executable. I can read the look-up table in English (but I have prepared the executable for the other languages as well).

What's disappointing is that not all 'localization' words are in the look-up table. For instance, the word ARCADIA must be 'assembled' tile by tile.

I was hoping the look-up table editor I am building would solve the whole matter of altering the script...

/dACE

309
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 06, 2015, 02:45:22 pm »
Thanks bailli!

With your info and Excel! I have finally located the look-up table for the English translation.

Tomorrow I will try to build a .Net executable that lets me extract, modify and reinsert a modified look-up table.

/dACE

310
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 04, 2015, 01:44:52 pm »
Good point bailli. I skipped the 'odd' hex increments since they added some extra 'character' (to the left of the word, if i'm not mistaken) - could that be the 'separator'?

I will investigate this further tomorrow - I'll post if I succeed (with anything...:-)

EDIT:

Yepp - the values in between the words in the look-up table (listed above) are the word with a trailing space.
This is probably the delimiter char for the look-up table.

/dACE

311
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: February 03, 2015, 11:40:57 am »
UPDATE:

So I tried some more switching around of the hex-values of the first dialog - and stumbled upon this:

The two words below are fully interchangable in the first dialog!

02 00   THE
02 34   TEMPLE

Here is the untouched original hex-sequence for the first dialog:

Code: [Select]
79 40 0E 72 C8 08 0C F0 01 04 16 15 20 02 00 02 34 B0 80 70 00 89 84 04 14 50 20 05 48 2C F3 00 A6 29 5A
Here it is - with the above two words swapped:

Code: [Select]
79 40 0E 72 C8 08 0C F0 01 04 16 15 20 02 34 02 00 B0 80 70 00 89 84 04 14 50 20 05 48 2C F3 00 A6 29 5A
And here is the resulting screen-shot:



I don't know if this is a step foward or not...just though I should share...

EDIT:

So - it seems I stumbled upon the look-up table!

By using the interchangable known hex-pairs for THE and TEMPLE - I extrapolated (through guessing :-) and verifyed the following table (so far...):

02 00   THE
02 02   YOU
02 04   THIS
02 06   THERE
02 08   HADES
02 0A   THAT
02 0C   HAVE
02 0E   PLEASE
02 10   TARTARUS
02 12   ARGOLIS
02 14   SALAMANDER
02 16   YOU'VE
02 18   POWER
02 1A   I'LL
02 1C   AND
02 1E   FROM
02 20   COME
02 22   PELOPONNESUS
02 24   SOMETHING
02 26   FOR
02 28   CRETE
02 2A   STAFF
02 2C   HERE
02 2E   OLIVES
02 30   HAS
02 32   LACONIA
02 34   TEMPLE
02 36   I'VE
02 38   GIVE
02 3A   HEARD
02 3C   PROMETHEUS
02 3E   SHIELD
02 40   YOU'LL
02 42   HELP
02 44   SOMEWHERE
02 46   WELCOME
02 48   DON'T
02 4A   USE
02 4C   SALAMANDERS
02 4E   CAN
02 50   WITH
02 52   WILL
02 54   SWORD
02 56   HEPHAESTOS
02 58   HESPERIDES
02 5A   FOREST
02 5C   YOUR
02 5E   CRYSTAL
02 60   PROTECT
02 62   WITHOUT
02 64   WAS
02 66   APHRODITE
02 68   ARE
02 6A   SEA
02 6C   TAKEN
02 6E   NYMPH
02 70   KNOW
02 72   POSEIDON
02 74   NECTAR
02 76   I'M
02 78   TAKE
02 7A   LOVE
02 7C   POWERS
02 7E   ENTRANCE
02 80   FIRE
02 82   MONSTERS
02 84   PHTHIA
02 86   APHRODITE'S
02 88   CAREFUL
02 8A   THROUGH
02 8C   MONSTER
02 8E   BENEATH
02 90   PHRYGIA
02 92   ELEUSIS
02 94   HOWEVER
02 96   GODDESS
02 98   ZEUS
02 9A   BEING
02 9C   IT'S
02 9E   WELL
02 A0   MOON
02 A2   GONE
02 A4   AFTER
02 A6   BEEN
02 A8   COULD
02 AA   CAVE
02 AC   MYSTERIOUS
02 AE   AGAIN
02 B0   GARDEN
02 B2   LITTLE
02 B4   INVISIBLE
02 B6   GRAEAE
02 B8   GRATITUDE
02 BA   THORNS
02 BC   ACCEPT
02 BE   BEFORE
02 C0   DIRECTION
02 C2   FENNEL
02 C4   SEE
02 C6   RETURN
02 C8   IMPORTANT
02 CA   SPIRIT
02 CC   FRAGMENT
02 CE   INTO
02 D0   SUMMONED
02 D2   SOME
02 D4   WHAT
02 D6   EXCHANGE
02 D8   WANT
02 DA   SERVANTS
02 DC   STRENGTH
02 DE   MAKE
02 E0   LEFT
02 E2   AMBROSIA
02 E4   LIKE
02 E6   RETURNED
02 E8   BRACELET
02 EA   DOLPHINS
02 EC   ENTERING
02 EE   FLASK
02 F0   THOSE
02 F2   CROSS
02 F4   WITCH
02 F6   WAY
02 F8   HOW
02 FA   FOUND
02 FC   CAN'T
02 FE   WHO

03 00   SKINS
...
03 FE   HOLDS

What's left to research is the words encoded between 03 00 AND 03 FE.

When I have those - I'll try to find where the look-up table is defined. Maybe it would be enough to exchange certain words - to a Zelda equivalent to make an acceptable script-transition....who knows...

EDIT:

Where the h*ll is the look-up table specified?

Maybe it is encoded/compressed somehow?

One technique of compression is apparently to string bytes together and use only a couple of bits to identify each tile. If this is true, then I should be able to find the below sequence of words encoded somewhere in the rom:

THE YOU THIS THERE

Anyone that feels like helping with finding this string?

/dACE

312
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: January 29, 2015, 11:56:29 am »
What I have tried so far - well lets see:

- I was able to locate the entire first dialog within the rom-file
- I have (of course) tried to replace single and sequenced hex-characters to get a predetermied result - but failed
- I have considered that the rom might contain a look-up table for entire words (FIRST, YOU, ZEUS etc)
- I have considered that the script might be compressed/encoded in some way (maybe in conjuction with a look-up table)

Below is an example of what I have tried..... and failed at.

Here is the screen-shot of the first dialog (only the sprite of the character have been altered in the rom):



Here is the untouched original hex-sequence for the first dialog:
Code: [Select]
79 40 0E 72 C8 08 0C F0 01 04 16 15 20 02 00 02 34 B0 80 70 00 89 84 04 14 50 20 05 48 2C F3 00 A6 29 5A
Then, I try to modify the hex-sequence - by making the word FIRST appear twice (at the cost of loosing the word YOU).

Code: [Select]
79 40 0E 72 0E 72 0C F0 01 04 16 15 20 02 00 02 34 B0 80 70 00 89 84 04 14 50 20 05 48 2C F3 00 A6 29 5A
The modified scentence should now start with '[Name], FIRST FIRST MUST GO..', since the hex chars 'C8 08' have been replaced with '0E 72'. Instead - I get the following result:



So now I have doubled the word FIRST, but also replaced space with the number 3.
I have also lost 'MUST GO' - I can't make any sense out of that...

The thing is, I newer hacked 'complex-text' in a game before - only tile-replacing according to a table-file.
I simply don't know how to proceed and the debugger of VisualBoy has always been a mystery to me.

If I knew the compression/look-up table, I'm pretty confident I could wip together a .NET application to properly compress
scentences and insert them into the rom (as long as the new hex-array was no longer than the old one (and shorter ones could be padded with spaces)). The real hard work would of course be to pin-point each and every hex-address of all the different scentenses in all the different languages - but it could be done...

/dACE

313
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: January 29, 2015, 04:22:12 am »
If you want to join in - thats great!

But the main issue right now is that I don't understand how to decifer the way the script is arranged in the rom.

Any insight in this matter would be appriciated - are we dealing with some kind of compression? What are common compression methods for text in regular gameboy games?

As soon as I know how to properly alter the script, I would then build a application for viewing all dialogs and replacing them. This would make localization to the other languages this rom supports a trivial matter.

/dACE

314
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: January 28, 2015, 11:09:21 am »
NecroPost!

Is there really nobody that can offer ANY help to understand how the script of 'Battle of Olympus' can be altered?

I'm seriously loosing faith in this 'forum'....

/dACE

315
Only a complete douche would post like this:

'look at what I have made - that you can't have..'

/d-ACE

316
Since the Metroid plus hack from Snarfblam already incorporates map (and automap) - your simplest approach must be to hack in what you are missing into that hack.

Since the rom is enlarged - you should have plenty of space. Good Luck!

/dACE

317
There are 'speed-up' patches for the two colored versions of castlevania adventure, I think the hacker Drakon made the one for Belmonts revenge.

He also made a 'Makro-hack' - that automatically selects the castlevania game from the collection menu. The downside of that hack is that it doesn't boot castlevania directly - you have to watch all menu selections being done for you.

His hack might be a good start to look for clues - it should be somewhere on this site...

Edit:

Here it is: http://www.romhacking.net/forum/index.php?topic=17446.0

And here is the speedhack for castlevania adventures: http://www.romhacking.net/hacks/190/


/dACE

318
Personal Projects / Re: Currently unnamed Link's Awakening hack
« on: September 23, 2014, 06:04:52 pm »
Why not call it 'Zelda - Inception' - a dream within another dream...

It would be like Link experiencing a dream while still on Koholint...

/dACE

319
ROM Hacking Discussion / Re: Lets make Zelda2 for GB!
« on: September 05, 2014, 05:09:45 pm »
Although I managed to rearrange tiles when i hacked kid icarus:retold on the NES - I would say what you require is quite cumbersome. If this project is takes off - my idea was that I would do all the 'ridiculous' size adaptions and insertions - but you would of course have final say regarding any 'compromises' made.

I'm not a gfx-wiz BUT I can deliver hacks like the above mentioned kid icarus one - where all enemies are custom or adaptions of GB enemies.

Anyway - there is no project at all unless someone can at least provide help with understanding the way that the script and dialogs can be altered.

/d-ace

320
ROM Hacking Discussion / Lets make Zelda2 for GB!
« on: September 05, 2014, 11:17:38 am »
Hi,

I know that it is pretty pointless to try to recruit people for a joint-venture hack...
BUT who knows - maybe someone out there have share the very same dream as I:

To bring a Zelda2 type game to the GameBoy system!

Now, the easiest way of achieving this would of course be to modify a already existing game for GB - that plays almost exactly like Zelda2 anyway - namely Battle of Olympus.

The minimum requirement for such a hack would be to:

- Alter the gfx of all the characters and bosses to that of the Zelda(2) universe
- Alter the script so it suits a Zelda story-line

The first part I think I can manage all by myself - take a look at the below 'Proof of Concept' image:



The above is a screen-shot of a modified rom running in VirtualBoy (not a montage made in MS Paint :-)
And yes - I have borrowed/stolen (but meant to ask) the design for link from Thanatos-Zero http://www.romhacking.net/forum/index.php/topic,12330.60.html

The second part, adapting the script - turned out to be a real bi*ch though.

It seems as if the developers have used some kind of 'look-up' table for both single letters, groups of letters and entire words (probably those used a lot throughout the game).

The first dialog takes place in the very first house directly when walking right from the start.
This dialog is located at address:2 C727

The hex-values and the equivalent in characters/words are:

79,
40[space]
0E 72FIRST
C8 08YOU
0C F0MUST
01G
04O
16[return]
15T
20O[space]
02 00THE[space]
02 34TEMPLE
B0O
80F
70[space]
00A
89R
84C
04AD
14I
50A
20[space]
05T
48O
2C F3MEET
00[space]
A6 29ZEUS
5A.

As you can see above - the same character-tile can be represented by different hex-values!

Take for instance the letter 'T' tile:
- the first time it is referenced in the dialog, the hex-value is 15
- the second time  it is referenced in the dialog, the hex-value is 05

In short - this project would require a experienced rom-hacker/rom-translator for guidance of how to tweak the script to fit a Zelda story-line.

If anybody feel up to the task - comment in this thread and maybe we can make this hack a reality (maybe we can convince Thanatos-Zero to join in too).

/dACE


Pages: 1 ... 11 12 13 14 15 [16] 17 18