Proto:The Legend of Zelda: Link's Awakening (Game Boy)/Built from Source Code
This is a sub-page of Proto:The Legend of Zelda: Link's Awakening (Game Boy).
The source code which leaked in 2020 can be easily built into working ROMs using the ISDMG / ISAS32 assembler and the ISLINK / ISLK32 linkers, and running the appropriate .bat file (named GAL or CGAL usually). A ROM file in the .isx format is produced, usually named T.ISX for example.
The following is some general info about how the ROMs were built:
- Placed files into one single folder as needed. Ex: DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\German_* folders' files were merged into one.
- Used isxc.exe to convert from .isx to .gb. This program conveniently also corrects the checksums. rgbfix can also be used to correct checksums.
- Converted sound data from Intel .hex format to .bin using objcopy (File names: bgm_1 / bgm_1F / bgm_1G.bin, bgm_2.bin, se.bin).
Contents
Link's Awakening DX (CGB)
The following ROMs which match known retail dumps or leaked builds can be built from the folders listed here:
Matching Retail Dumps
Zelda no Densetsu - Yume o Miru Shima DX (Japan).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk3\DEMO_zelda\
Zelda no Densetsu - Yume o Miru Shima DX (Japan) (Rev 1).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\DEMO_zelda\
Legend of Zelda, The - Link's Awakening DX (USA, Europe).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk3\CGB_zeldaUSA\cgb_usa\
Legend of Zelda, The - Link's Awakening DX (USA, Europe) (Rev 1).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaUSA\cgb_usa\
Legend of Zelda, The - Link's Awakening DX (France).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaFRANCE\cgb_f\
Legend of Zelda, The - Link's Awakening DX (Germany).gbc:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaFRANCE\cgb_d\
Matching Leaked Builds
C_fra.isx (99-09-22):
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk1\ゼルダの伝説_JP3_US3_EU2\CGB_zeldaFRANCE\cgb_f\
C_usa.isx (98-12-24):
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk1\ゼルダの伝説_JP3_US3_EU2\CGB_zeldaUSA\cgb_usa\
c_e.isx (98-12-13):
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaEIKOKU\cgb_e\
C.isx (98-09-01):
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk3\TEST_zelda\
Link's Awakening (DMG)
Some additional steps were required to build these source folders:
- Referred to zchr.s files in the CGB source to make ZCHR.DMG, and added it accordingly to GAL.BAT for each folder, in order to build the DMG source. The ZCHR file lists the graphic and data assets to use, and which bank they are placed in the ROM.
- The version number for US_v2 was set like in the retail dump (0x14C), The debug byte was set to 0 for CGB_zeldaFRANCE\gb.
- Padding of 0x00 is present in the following built ROMs, rather than 0xFF as found in retail dumps.
After accounting for the padding and fixing checksums, the following ROMs which match known retail dumps or leaked builds can be built from the folders listed here:
Matching Retail Dumps
Legend of Zelda, The - Link's Awakening (Canada).gb:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\CanadianFrench_*\
Legend of Zelda, The - Link's Awakening (Germany).gb:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\German_*\
Zelda no Densetsu - Yume o Miru Shima (Japan).gb:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\SRD_DMG_Zelda_JP_v0\ (folders "1", "2", and "3")
Zelda no Densetsu - Yume o Miru Shima (Japan) (Rev 1).gb:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_JP_EN\JP_v1_*\
Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev 1).gb:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaUSA\gb\
Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev 2).gb:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_EN_v2_CFR_v1\US_v2_*\
Legend of Zelda, The - Link's Awakening (France).gb:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaFRANCE\gb\
Matching Leaked Builds
Leaked build RZ.ICE (98-04-28):
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk3\gbzelda\
Other Builds
The following eight folders contain source code which has been slightly modified compared to the previously listed folders and builds. The resulting built ROMs do not match any other known builds. Interestingly, within the DMG source, are folders named "v1", possibly indicating a planned Revision 1 release for some regions (Germany, France, and Canada). and the differences are very minor, but when compared to available retail source folders, the following changes were found:
CFR_v1
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_EN_v2_CFR_v1\CanadianFrench_v1_*\
when compared to:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\CanadianFrench_*\
ZE7.DMG - Around line 6806, 6809 a CALL and RET was added:
CALL PUK0010 ; 94.2.21 revised !! ; CALL CREPKEL RET
CGB_zeldaDOITU\gb
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaDOITU\gb\
when compared to:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\German_*\
ZCO.DMG - Line 9 was changed to:
ORG $27A8
DE_v1
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR_v1\German_*\
when compared to:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\German_*\
ZE7.DMG - Around line 6806, 6809 a CALL and RET was added:
CALL PUK0010 ; 94.2.21 revised !! ; CALL CREPKEL RET
FR_v0
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR\French_*\
when compared to:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaFRANCE\gb\
ZDB.DMG - line 1259 line was removed:
DB NXGO+DNJ,$00,$0B,$58,$40
ZMA.DMG - Line 43 was changed to:
DB $00
FR_v1
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_DE_FR_v1\French_*\
when compared to:
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk2\CGB_zeldaFRANCE\gb\
ZDB.DMG - Line 1259, this line was removed:
DB NXGO+DNJ,$00,$0B,$58,$40
ZMA.DMG - Line 43 was changed to:
DB $00
ZE7.DMG - Around line 6806, 6809 a CALL and RET was added:
CALL PUK0010 ; 94.2.21 revised !! ; CALL CREPKEL RET
JP_v0
DMG\XXX__ゼルダの伝説 夢を見る島\Source\DMG_Zelda_JP_EN\JP_v0_*\
when compared to:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\SRD_DMG_Zelda_JP_v0\
ZED.DMG - around line 1310 under DE0C1, a line got commented out
;;;;;; DB $11,HART1
GBZE
CGB\AZL__ゼルダの伝説 夢を見る島DX\Source\Disk3\GBZE\
when compared to:
DMG\XXX__ゼルダの伝説 夢を見る島\Source\SRD_DMG_Zelda_JP_v0\
The folder with the most changes, although most are minor. The bulk of the differences were that the EXTERNs at the beginning of the files were organized (GROUPed into BANKs) and moved up a few lines to line 1.
ZBS.DMG - Just the EXTERNs moved.
ZCO.DMG - The EXTERNs moved, and the ORG after LIB ZRAM on line 18 is now:
ORG $27AC
ZES.DMG - Just the EXTERNs moved.
ZMA.DMG - Just the EXTERNs moved.
ZS1.DMG - Just the EXTERNs moved.
ZGD.DMG - The following was added to beginning of file:
BANK1A GROUP $1A ; ORG $04000
ZPL.DMG - The EXTERNs moved. Additionally, some lines were changed around 1320:
;;; LD HL,DJFLAG LD HL,ITEMNOT LD A,(MSGEFG) OR (HL) ;; AND A JR NZ,GMP0000
is now:
;;; LD HL,DJFLAG LD A,(MSGEFG) LD HL,ITEMNOT OR (HL) LD HL,SCRLFG OR (HL) ;; AND A JR NZ,GMP0000