the Legend Of Zelda
le ranmi be la zeldas
la bancus have been working on translating The Legend of Zelda to Lojban. This page holds a copy of my notes while working on it.
See clinoi be la'e lu le ranmi be la zeldas li'u for a translation of the instruction manual.
General notes on the encoding. VRAM loading is done by a few routines, the main one is described below.
The routine is given an address and does the following:
1. If the byte at the address has the high-bit set, we're done. Return.
2. Otherwise, read two bytes from that address, this is the address (big-endian) in VRAM that the data should be written to.
3. Read the next byte. If high bit (bit 7) is set, set the Inc32 bit of $2000. If bit 6 is set, perform RLE. (Explained below.) The remaining six bits are the length.
4. If performing RLE, read the next byte, write it length times, then go to 1.
5. Otherwise, read the next byte.
6. Write this byte.
7. Decrement length.
8. If length is not zero, go to 5.
9. Go to 1.
RLE: Stands for Run-Length Encoding. With RLE, you'll have pairs of bytes. The first gives you a run-length, the second is the data itself. When uncompressing, you simply repeat the data byte run-length times.
I do my romhacking with hexpose. It's pretty simple, but it does the job. I also used a disassembler at some point to figure out some of the above, but I ended up just gleaning it from various sources and how the data itself works.
Title screen starts at $1A879
Due to the nature of the loading routine, I can translate such that things take up less space, but I can't make them take more. That is, unless I can find where the reference addresses are stored. Hopefully, this won't cause too many issues.
Cave text $405C-$45B1:
Cave text is distinct from the usual routines, in that it has no way to set the VRAM address, rather there seems to be a separate sub-routine that pulls data from the table of cave text. It also assigns functions to the two high bits, which would be impossible out side of text.
Cave text starts at a certain point, and has three lines. Text starts on the first line. Line termination is achieved by setting high-bits on the last character in the line.:
- Bit 7 (AND $80) moves to the second line.
- Bit 6 (AND $40) moves to the third line.
- Bits 6 and 7 (AND $C0), set together, terminate the text.
$405C 43 Bytes - IT'S DANGEROUS TO GO ALONE! TAKE THIS. - .o'i do po'o klama .i ko cpacu ti - $4087 42 Bytes - MASTER USING IT AND YOU CAN HAVE THIS. - do crebi'o semu'i le nu mi dunda ti do - $40B1 25 Bytes - TAKE ANY ROAD YOU WANT. - .e'a ko litru le seldji - $40C9 42 Bytes - SECRET IS IN THE TREE AT THE DEAD-END. - mipri ne'i le tricu poi zvati le fanmo - $40F3 34 Bytes - LET'S PLAY MONEY MAKING GAME. - .e'u mi'o kelci le nu jdini cpacu - $4115 41 Bytes - PAY ME FOR THE DOOR REPAIR CHARGE. - ko pleji fi mi le nu cikre le vorme - $413D 36 Bytes - SHOW THIS TO THE OLD WOMAN. - ko jarco tu'a ti le tolci'o ninmu - $4162 39 Bytes - MEET THE OLD MAN AT THE GRAVE. - ko penmi le tolci'o nanmu le mrostu - $4189 30 Bytes - BUY MEDICINE BEFORE YOU GO. - .o'i ko te vecnu lo ve mikce - $41A7 23 Bytes - PAY ME AND I'LL TALK. - mi tavla gi'o terle'i - $41BE 34 Bytes - THIS AIN'T ENOUGH TO TALK. - ti na banzu lenu mi tavla - $41E2 38 Bytes - GO UP,UP, THE MOUNTAIN AHEAD. - ko mo'iga'u litru lo cmana - $4208 54 Bytes - GO NORTH,WEST,SOUTH, WEST TO THE FOREST OF MAZE. - ko mo'ibe'a mo'ivu'a mo'ine'u mo'ivu'a litru le ricfoi - $423C - BOY, YOU'RE RICH! - .ue do ricfu - $4151 - BUY SOMETHIN' WILL YA! - .e'o vecnu fi ko - $4268 - BOY, THIS IS REAL EXPENSIVE! - .ue ti mutce kargu - $428D - TAKE ANY ONE YOU WANT. - .e'a ko cuxna - $42A4 - IT'S A SECRET TO EVERYBODY. - se mipri fi ro prenu - $42C8 - GRUMBLE, GRUMBLE... - .oiro'oru'ebe'u - $42DD - EASTMOST PENNINSULA IS THE SECRET. - le traji bo stuna xabyplu cu mipri - $4305 - DODONGO DISLIKES SMOKE. - la .dodan. ka'e spoja - $431D 64 Bytes - DID YOU GET THE SWORD FROM THE OLD MAN ON TOP OF THE WATERFALL? - xu do terdu'a lo cladakyxa'i le tolci'o nanmu ga'u lo jacfa'u - $435D 35 Bytes - WALK INTO THE WATERFALL. - ko cadzu mo'ine'i lo jacfa'u - $4380 - SECRET POWER IS SAID TO BE IN THE ARROW. - lo ga'ardanti cu selmipri vlipa - $43AC - DIGDOGGER HATES CERTAIN KIND OF SOUND. - la .digdagr. xebni lo steci sance - $43D6 42 Bytes - I BET YOU'D LIKE TO HAVE MORE BOMBS. - ru'a do djica co ka'e ponse za'u lo jbama - $4400 - IF YOU GO IN THE DIRECTION OF THE ARROW. - ko klama mo'ire'o lo ga'ardanti - $442C - LEAVE YOUR LIFE OR MONEY. - ko dunda lo se kanro ja jdini - $444F - THERE ARE SECRETS WHERE FAIRIES DON'T LIVE. - mipri vi le na se xabju be lo crida - $447D 34 Bytes - AIM AT THE EYE OF GOHMA. - ko celgunta le kanla be la .gomat. - $44A0 - SOUTH OF ARROW MARK HIDES A SECRET. - ne'u le ga'ardanti barna cu mipri - $44C8 - THERE'S A SECRET IN THE TIP OF THE NOSE. - ne'i le jipno be le nazbi cu mipri - $44F3 - SPECTACLE ROCK IS AN ENTRANCE TO DEATH. - la .le'otcirok. ve nerkla lo nu morsi - $451E - 10TH ENEMY HAS THE BOMB. - le 10moi cu jbama ponse - $4536 45 Bytes - ONES WHO DOES NOT HAVE TRIFORCE CAN'T GO IN. - da poi na ponse lo cibmakfa na ka'e nerkla - $4563 - PATRA HAS THE MAP. - la .patr. cartu ponse - $4578 - GO TO THE NEXT ROOM. - ko ranji klama - $458E 36 Bytes - EYES OF SKULL HAS A SECRET. - lo kanla be le sedbo'u cu jai mipri -
All of Treasures $91AB-$94BC:
These actually are in the ROM out of order from when they appear on screen.
These also seem to have their own sub-routine for display. This one starts with a byte indicating how far over to start the line. Lines are terminated with $FF. Some times you get two lines for descriptions, sometimes only one. The positioning of the lines seems to be decided somewhere that I haven't found.
Main menu is around 9D58
"ZELDA" appears at 9EFB for some reason
A969: 38 Bytes - THANKS LINK,YOU'RE ? THE HERO OF HYRULE* - ki'e .link. do vudvri <64> fi la .xairul.
AB17 has some more endgame stuff, which does not use the 8/7 bit method
-
FINALLY,PEACE RETURNS TO HYRULE.THIS ENDS THE STORY.
-
.uo di'a pacna vi la .xairul. .i ba'o ranmi
-
Credits at AC6F
AD45: ANOTHER QUEST WILL START(AB)FROM HERE PRESS THE START BUTTON YOU ARE GREAT YOU HVE AN AMAZING WISDOM AND POWER END OF "THE LEGEND OF ZELDA"
More main menu at 1A15C
1A2CB has death menu stuff
1A329 looks to have the pause menu stuff
Visible story screen runs from 1A454 to 1A827
THE LEGEND OF ZELDA MANY YEARS AGO PRINCE DARKNESS GANNON STOLE ONE OF THE TRIFORCE WITH POWER PRINCESS ZELDA HAD ONE OF THE TRIFORCE WITH WISDOM SHE DIVIDED IT INTO 8 UNITS TO HIDE IT FROM GANNON BEFORE SHE WAS CAPTURED GO FIND THE 8 UNITS LINK TO SAVE HER -----------------------| ranmi be la .zeldas. le palci po'u la .ganyn. puki zerle'a le cibmakfa peloka tsali .i le nobli po'u la .zeldas. ponse le cibmakfa peloka prije .i zy fendi fi bi spisa tezu'e le nu mipri fi gy kei pu le nu zy se kavbu doi .link. ko cpacu le bi spisa tezu'e lenu nurgau zy
2109 " CMENE "
2112 " NI KANRO "
22A7 "CFARI TADJI"
22E7 "VIMCU TADJI"
REGISTER YOUR NAME CUXNA LE DO CMENE ELIMINATION MODE VIMCU TADJI -LIFE- NI KANRO USE B BUTTON FOR THIS KO PILNO BY