DOOM Black Bookã®ãªãªãŒã¹åŸãç§ã¯äŒæã§æ¥æ¬ã«è¡ããŸãããããã§ãæ±äº¬ã®ç§èåå°åºã®å°æ±HEYã²ãŒãã³ã°ã«ãŒã ã§å®éã®ã¢ãŒã±ãŒããã·ã³ã§æ鳩ããã¬ã€ããŸããã ãã®çµéšã¯ãåã³ææ°ã®ã»ã¬ãããªã²ãŒã ã³ã³ãœãŒã«ã§ããããªãŒã ãã£ã¹ããžã®èå³ãèãããŸããã
ãããã¯ãŒã¯äžã§ã¯ãåé¡ã®èª¿æ»ããã»ã¹ãå€§å¹ ã«ä¿é²ããå€ãã®ããã¥ã¡ã³ããèŠã€ããããšãã§ããŸãã 誰ã§ãããã«ææ°æ å ±ãå ¥æã§ãã2ã€ã®åªãããªãœãŒã¹ããããŸããGPUã¬ãžã¹ã¿ã«è³ããŸã§ãã¹ãŠã説æããçŽ æŽãããMarcus Comstedt Webãµã€ããšãJockel ã®ãªãœãŒã¹ãSega Dreamcastçšã®ã²ãŒã ããŒãããäœæããŸããã ã ã
è»ãç 究ããŠãããšããããã«ãŒãã²ãŒã ã®ã³ããŒã®ä¿è·ãçŽ æ©ãç ŽããSEGAã®ææ°ã®ããŒããŠã§ã¢ã®åžæãå°ç¡ãã«ãããšããé©ãã¹ã話ãçºèŠããŸããã
第äžã¬ãã«ã®ä¿è·ïŒGD-ROM
çŽé¢ã§ã¯ãSEGA Dreamcastã®ã³ããŒé²æ¢æ©èœã¯éåžžã«åŒ·åã«èŠããŸããã ã²ãŒã ã¯GD-ROMãšåŒã°ããç¹å¥ãªåªäœã§æäŸãããŸããã GDã¯ããã®ã¬ãã€ããã£ã¹ã¯ãïŒãã®ã¬ãã€ããã£ã¹ã¯ãïŒã®ç¥ã§ããã€ãŸããèšé²å¯åºŠã®å¢å ã«ãããæ倧ããªã¥ãŒã ã1 GBã«ãªããŸãããããã¯ãåŸæ¥ã®CD-ROMïŒ700 MBïŒã®æ©èœãã¯ããã«äžåããŸããã
GD-ROMã®ç©çç寞æ³ã¯CD-ROMãšåãã§ãããããã¯ãã¬ãã«ã§ã¯èçŒã§åºå¥ã§ãã2ã€ã®é åã§æ§æãããŠããŸããã
æåã®ïŒæãïŒãŸãŒã³ã¯ãæ倧35 MBãå«ãCD-ROMäºæã®äœå¯åºŠé åã§ãã ãã£ã¹ã¯ã®å 容ã¯CDãã¬ãŒã€ãŒã§ã¯ãªããSEGA Dreamcaståãã§ããããšããŠãŒã¶ãŒã«æãåºãããé³å£°ãªãŒãã£ãªãã©ãã¯ãå«ãŸããŠããŸãã[1] ã ãŸããéçºè ã¯ãèäœæš©æ å ±ãªã©ã®ããã¹ããã¡ã€ã«ãšãã²ãŒã ã®ã¢ãŒããªã©ã®ããã¢ãŒã·ã§ã³è³æãå«ããã©ãã¯ãããã«è¿œå ããŸããã
é«å¯åºŠãšãªã¢ïŒã©ã€ãïŒã¯æ倧984 MBãŸã§ä¿åãã[2] ãã²ãŒã ã®ãã¹ãŠã®ã³ã³ãã³ããããã«é 眮ãããŸããã
ããã«ãŒãã²ãŒã ããã£ã¹ã¯ããåãåºããŠãé åžã®ããã«å床æžã蟌ãããšã¯äžå¯èœã«æããŸããã
GD-ROMããã®èµ·åïŒIP.BINããã³1ST_READ.BIN
æµ·è³ãã²ãŒã ãã³ããŒããæ¹æ³ã説æããåã«ãããŒãã·ãŒã±ã³ã¹ãç解ããå¿ èŠããããŸãã Dreamcastã«ã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããããŸããã§ããã Windows CEã䜿çšããŠãããšããäžè¬çãªèª€è§£ããããŸãããå®éãMicrosoft OSã¯ãDreamcastéçºè ãDirectXãDirectInputãããã³DirectSoundã䜿çšããŠæ¥ç¶ã§ããè¿œå ã®éçã©ã€ãã©ãªã«ãããŸãã[3] ã äžéšã®ã²ãŒã ã§ã¯WinCEã䜿çšãããŠããŸãã[4]ããã»ãšãã©ïŒããšãã°æ鳩ïŒã§ã¯äœ¿çšãããŠããŸããã éçºè ã䜿çšãããã®ã«é¢ä¿ãªããOSãšDreamcastãå®å šã«æ¥ç¶ãããã²ãŒã ã¯åžžã«åãæ¹æ³ã§éå§ãããŸããã
æ°ããã¢ã¯ãã£ãåãããDreamcastã§ã®å ¬åŒã²ãŒã ã®éåžžã®äœ¿çšããã³èµ·åäžã«ãBOOTROMãèµ·åãããããŒãã¹ãã©ãããGD-ROMããRAMã«ããŒããããŸããã ãã®å°ããªããã°ã©ã ã¯ãæåŸã®GD-ROMãã©ãã¯ã«ãããã³ãã¥ããã£ã«ãIP.BINããšããŠç¥ãããSEGAã©ã€ã»ã³ã¹ç»é¢ã衚瀺ããããŒããŠã§ã¢ã¬ãžã¹ã¿ã®ã»ããã¢ãããCPUã¹ã¿ãã¯ã®äœæãããã³VBRã®åæåã®ããã«2ã€ã®ããŒãã¬ãã«ãå®è¡ããŸãã[5] ã
ããã«éèŠãªããšã«ãIP.BINã«ã¯ã²ãŒã ã®å®è¡å¯èœãã¡ã€ã«ã®ååãå«ãŸããŠããŸããã ãã®ååã¯GD-ROMãã¡ã€ã«ã·ã¹ãã ã§æ€çŽ¢ããã0x8C010000ã§RAMã«ããŒããããåŸãããã«ããã°ã©ã ã転éãããŸããã éåžžãå®è¡å¯èœãã¡ã€ã«ã¯ã1ST_READ.BINããšåŒã°ããŠããŸããã
CPUãã¢ãã¬ã¹0x8C010000ã«å°éããåŸãã²ãŒã ã¯æ¬æ¥ã©ããã«éå§ãããŸããã
第2ã¬ãã«ã®ä¿è·ïŒæå·ã¹ã¯ã©ã³ãã©ãŒ
ãããã³ã°ã®çè«çå¯èœæ§ã¯ãGD-ROMããã§ã¯ãªãCD-ROMããèµ·åããDreamcastã®è¡šé¢äžã¯åãã«è¶³ããªãèœåã®ããã«çããŸããã åœåããMIL-CDããšåŒã°ãããã®æ©èœã¯ãé³æ¥œCDã«ãã«ãã¡ãã£ã¢æ©èœãè¿œå ããããã«èæ¡ãããŸãããã7ã€ã®ã«ã©ãªã±ã¢ããªã±ãŒã·ã§ã³ãé€ããå®éã«ã¯äœ¿çšãããŸããã§ããã
SEGAã®ãšã³ãžãã¢ã¯ãMIL-CDã®ããŒããæ»æãã¯ãã«ãšããŠäœ¿çšã§ããããšãç解ããŠãããããä¿è·ãè¿œå ããŸããã ã³ã³ãœãŒã«ãCD-ROMãèªèãããšãBOOTROMã¯éåžžã®æ¹æ³ã§IP.BINãããŒãããŸããããäžèŠã©ã³ãã ã«1ST_READ.BINãæå·åããŸããã å®è¡å¯èœãªå®è¡å¯èœãã¡ã€ã«ãã«ãªã¹ããã·ã¥ã«å€ãããã³ã³ãœãŒã«ãããªãŒãºããŸããã
ãã®èŠ³ç¹ãããã³ã³ãœãŒã«ã¯ç¢ºå®ã«ä¿è·ãããŠããããã«èŠããŸããã Dreamcastã¯ãæµ·è³çã®ã²ãŒã ã®ã³ããŒãèªèããããŠã³ããŒãããã»ã¹äžã«å®è¡å¯èœãã¡ã€ã«ãç Žå£ããæµ·è³ãåãå¯èœæ§ããããŸãã
ç§ã®é·ãå£ãåºãïŒ
ç Žæãããã¡ã€ã«ã®åé¡ã¯ã1999幎ã®çµããã«Katana SDKïŒããªãŒã ãã£ã¹ãã®å ¬åŒSega SDKïŒãããã«ãŒããŒã ããŠãŒããã¢ãã«ãã£ãŠçãŸãããšãã«è§£æ±ºãããŸãã[6] ã ã¹ã¯ã©ã³ãã©ãŒã¯ããäžæçãã«ããã»ãã¥ãªãã£ãååã®å®è£ ã«ãããªãããšãå€æããŸããã SDKã«ã¯ãªããŒã¹ã¹ã¯ã©ã³ãã©ãŒãå«ãŸããŠããŸããããªããŒã¹ã¹ã¯ã©ã³ãã©ãŒã¯ãæ£ããå®è¡å¯èœãã¡ã€ã«ãããªããŒã¹ããã·ã¥ãã«å€æããCD-ROMããã®èµ·åæã«Dreamcastã³ã³ãœãŒã«ãããŒãããã³ã¹ã¯ã©ã³ãã«ããåŸã«åã³å®è¡å¯èœãã¡ã€ã«ã«ãªããŸããã
GD-ROMã§ã²ãŒã ãååŸãã
çãŸããSDKã¯ãå¿ èŠãªãã¹ãŠã®æµ·è³çã§ããã ãã·ã³ã§ã³ãŒããå®è¡ã§ããæ©èœã®ãããã§ãDreamcastã¯ã²ãŒã ã³ã³ãœãŒã«ãšããŠã§ã¯ãªããGD-ROMãã©ã€ããšããŠäœ¿çšã§ããããã«ãªããŸããã SDK [7]ã®ããšã³ã³ãŒãã±ãŒãã«ãã«ãããã³ã³ãœãŒã«ãPCã«æ¥ç¶ããç©ççãªæ¥ç¶ã確ç«ã§ããŸããã ã³ã³ãœãŒã«ãGDãã©ãã¯ã®å 容ããã³ãããããã«ãç¹å¥ãªå®è¡å¯èœãã¡ã€ã«ãäœæãããŸããã ãã®åŸãåã¹ã¯ã©ã³ãã«ãããŠCD-ROMã«æžã蟌ãŸããã³ã³ãœãŒã«ã®ã·ãªã¢ã«ããŒããä»ããŠãã¹ãŠã®1 GBã®ããŒã¿ãåºåãããŸããã ãšã©ãŒãçºçããããããã»ã¹ã§ãæ倧18æéããããŸãã[8] [9] ã çµæã¯ãç¹å¥ã«äœæãããã.gdiã圢åŒã§ä¿åãããŸããã
ikaruga.gdi 153ãã€ã track01.bin 13 982 640ãã€ã track02.raw 2,088,576ãã€ã track03.bin 1185760800ãã€ã
èå³æ·±ãäºå® ïŒäžèšã®ããã«ãããŒã¿ã®åèšéã¯1 GBã§ã¯ãªãã1.2 GBã§ããããšãããããŸãã ããã¯ã2352ãã€ãã®GD-ROMã»ã¯ã¿ãŒããåæã«12ãã€ããããããŒã«4ãã€ãããã€ããŒãã«2048ãã€ãããšã©ãŒæ€åºã³ãŒã/ãšã©ãŒä¿®æ£ã³ãŒãã«288ãã€ãã䜿çšããRed Book圢åŒã«åŸãããã§ã[10 ] ã
$ç«ikaruga.gdi 3 1 0 4 2352 track01.bin 0 2 5945 0 2352 track02.raw 0 3 45000 4 2352 track03.bin 0
1000ã¡ã¬ãã€ãã®GD-ROMã700ã¡ã¬ãã€ãã®CD-ROMã«åããæ¹æ³
700ã¡ã¬ãã€ãã®CD-ROMã«ã²ãŒã ãåããããã«ãã²ãŒã ãªãœãŒã¹ãäœãçŽãããŸããã GD-ROMã§äœ¿çšãããŠããISO-9660ãã¡ã€ã«ã·ã¹ãã ã«ããããããªãšé³æ¥œã®é¢æ£åãç°¡åã«å€æŽããããå®å šã«åé€ãããã§ããŸããã ãã ããã»ãšãã©ã®ã²ãŒã ã§ã¯ã1 GBå šäœãå æããŠããªãããããã®ãããªè€éãªããã»ã¹ã¯å¿ èŠãããŸããã ããšãã°ãTreasureã®Ikarugaã¯150 MBãã䜿çšããããã®ã³ã³ãã³ãã®ã»ãšãã©ã¯ãŒãã§åããããŠããŸããã ãã®ãããªå Žåãå¡ãã€ã¶ãããŒã¿ãç·šéããã ãã§ååã§ãã
å®éãISO-9660ã¯éåžžã«ããç¥ããã圢åŒã§ããããã.gdiã¢ãŒã«ã€ãã®å 容ã調ã¹ãããã«åçŽãªPythonã¹ã¯ãªããïŒããšãã°gditools.py ïŒã§ããæžãããŠããŸãã
ããã±ãŒãžã³ã°ãšé åž
ããã»ã¹ã®æåŸã®2ã€ã®ã¹ãããã¯ã1J_READ.BINãéã¹ã¯ã©ã³ãã«ãããã¹ãŠã®æ å ±ã.cdiã¢ãŒã«ã€ãã«ããã¯ããŠã DiscJugglerãã€ã¡ãŒãžãCD-Rã«æžã蟌ãããšãã§ããããã«ããããšã§ããã åŸãããçµæã¯ãä¿®æ£ããããå¿ èŠãšãããããã©ããªãŒã ãã£ã¹ãã§åé¡ãªãæ©èœããŸããã
ã»ã¬ã®åå¿ãšçµæ
SEGAã¯ãMIL-CDãå®å šã«ç¡å¹ã«ããDCã³ã³ãœãŒã«ã®2çªç®ã®ããŒãžã§ã³ãããã«ãªãªãŒã¹ããŸããããæ害ã¯ãã§ã«çºçããŠããŸãã å£æ» çãªåçã®æžå°ãšç«¶åããPS2ã®ãªãªãŒã¹ã®åŸãéçºè ã¯DreamcastãæŸæ£ããSEGAã¯ãœãããŠã§ã¢ã®éçºã«å°å¿µããŠæ©åšã®éçºãäžæ¢ããŸããã
åç §è³æ
[1]åºå žïŒ SEGA GD Workshop
[2]ãœãŒã¹ïŒ segaretro.orgïŒGD-ROM
[3]åºå žïŒ ãã€ã¯ããœããã¯Windows CE Toolkit for Dreamcastãçºè¡š
[4]åºå žïŒ Windows CEãå©çšããDreamcastã²ãŒã
[5]ãœãŒã¹ïŒ IP.BINããã³1ST_READ.BIN
[6]åºå žïŒ Sega Dreamcastã²ãŒã ããŒãããæ§ç¯ããŸããã
[7]åºå žïŒ PCã·ãªã¢ã«ã¢ããã¿ãŒ
[8]åºå žïŒ Dreamcastã®ã»ãã¥ãªãã£ã«é¢ããããæ£ç¢ºã§è©³çŽ°ãªèª¬æ
[9]åºå žïŒ DCã®ãããŒããã³ãã³ãã¯ã¿ã䜿çšããŠãããé«éãªæ¹æ³ãæåŸã«èšèšãããŸãã
[10]åºå žïŒ Dreamcastã®ç¥è©±ïŒGD-ROMã¹ãã¬ãŒãžå®¹é