If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:The Legend of Zelda: Link's Awakening (Game Boy)/Built from Source Code

From The Cutting Room Floor
Jump to navigation Jump to search

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).

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