A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 3987|回复: 9

你不知道的奇葩乌龙事:某PS1游戏光盘自带游戏源代码,可编译...

[复制链接]

圣骑士

中国异度联盟盟主

精华
0
帖子
3430
威望
0 点
积分
3787 点
种子
92 点
注册时间
2005-10-4
最后登录
2025-1-2
 楼主| 发表于 2014-12-11 15:24  ·  四川 | 显示全部楼层 |阅读模式
On Beatmania Best Hits (a Japanese game), there is a file named DUMMY. Copy
it to your hard drive and name it as an LZH file. Inside this LZH is the
source code to Beatmania 5th Mix (a different Japanese game).

If you compile the source, the game WILL run with the 5th Mix CD in the
drive, but getting it to compile and run is a pain. The makefile has all
sorts of hardcoded directories. Since 5th Mix is an "append" disk, it
relies on data passed to it from 2nd Mix. So it takes a few tricks to get
it to run, too. The source is not the final version of 5th Mix, but it's
close.

-- Barubary


MAKEFILE
    #---------------------- Makefile for BeatMania
    #      ( ref. Makefile for MetalGearSolid )

    MAKEFLAGS = --no-print-directory

    #---------------------- Rules and defines

    export IMAGEDIR = ../cdrom.img

    STAGELIST = $(addsuffix .bin, $(basename $(STAGE)))

    MAINDIR = Main

    TRGPSX   = bm.cpe
    OBJPSX   = $(MAINDIR)/bm.obj
    MAPPSX   = bm.map
    SYMPSX  =
    #SYMPSX  = bm.sym

    PS_LIB_PATH = c:\psx\lib
    BM_LIBS_SYSTEM = libfs libmc libbm libsrn
    BM_LIBS_GAME   =
    BM_LIBS_USER   = tan
    BM_LIBS_DBGSTR  = dbgstr
    BM_LIBS_DBGSTR_CD  = dbgstr_m

    BM_LIBS = $(BM_LIBS_SYSTEM) $(BM_LIBS_GAME) $(BM_LIBS_USER) $(BM_LIBS_DBGSTR)

    OPTIONS = -c -O2 -Wall -kanji -Wno-format -comments-c++ -Wa,0 -G 0
    DEFINES = -DDEBUG -DDEBUG_MODE -DPSX -DNTSC -DLOCAL_SETUP -DAUTO_PLAY_ON
    INCPATH1 = include libfs libmc libsio libbm libsrn dbgstr

    CONFIGBM = bm.lnk
    CONFIGCD = cd.lnk
    CONFIGTMP = lnktmp.tmp

    CONFIGFILES   = $(CONFIGHD) $(CONFIGCD) $(CONFIGDB)

    OPTFILE = options
    PATCHX   = patchj.bat

    CCPSX   = ccpsx
    LINKPSX = psylink
    LINKOPT = /o$$80010000 /c /n512 /llib /m /l$(LIBRARY_PATH)
    GAWK = gawk

    LFGPSX0 = -o $(TRGPSX),$(SYMPSX),$(MAPPSX)
    LFGPSX1   = -Xo$$80010000 -Llib -Xn512 -nostdlib
    LFGPSX2 = $(addprefix -l, $(BM_LIBS_SYSTEM))
    LFGPSX3   = $(addprefix -l, $(BM_LIBS_GAME))
    LFGPSX4   = $(addprefix -l, $(BM_LIBS_USER))
    LFGPSX5   = -lsound
    LFGPSXHD = -lmts -lsio $(addprefix -l, $(BM_LIBS_DBGSTR))
    ## •’Ê
    LFGPSXCD = -lmtscd  -lsio $(addprefix -l, $(BM_LIBS_DBGSTR))
    ## ƒ}ƒXƒ^[
    #LFGPSXCD = -lmtsmcd  -lnolibsio $(addprefix -l, $(BM_LIBS_DBGSTR_M))
    LFGPSXSYS1 = -llibcd -llibsnd -llibc2 -llibgpu -llibgte -llibspu -llibpress
    LFGPSXSYS2 = -llibmcrd -llibpad -llibetc -llibsn -llibcard -llibapi

    #---------------------- Suffixes

    .SUFFIXES: .obj .c .s

    #---------------------- How to make

    all : psx

    FORCE :

    $(BM_LIBS) : FORCE
       @command.com /C echo Compile $@
       @cd $@
       @make psx
       @cd ..

    link : FORCE
       @command /C echo Link
       ${LINKPSX} /q $(LINKOPT) @${CONFIGBM},$(TRGPSX),$(SYMPSX),$(MAPPSX)

    psx : $(OPTFILE) $(OBJPSX) $(CONFIGBM) $(BM_LIBS) link

    linkcd: FORCE
       ${LINKPSX} /q $(LINKOPT) @${CONFIGCD},$(TRGPSX),$(SYMPSX),$(MAPPSX)
       cpe2x $(TRGPSX)
    cd : $(OPTFILE) $(OBJPSX) $(CONFIGCD) $(BM_LIBS) linkcd

    $(CONFIGBM) : Makefile
       echo ${LFGPSX0} > $(CONFIGTMP)
       echo ${OBJPSX} >> $(CONFIGTMP)
       echo ${LFGPSX1} >> $(CONFIGTMP)
       echo ${LFGPSX2} >> $(CONFIGTMP)
    #   echo ${LFGPSX3} >> $(CONFIGTMP)
       echo ${LFGPSX4} >> $(CONFIGTMP)
       echo ${LFGPSX5} >> $(CONFIGTMP)
       echo ${LFGPSXHD} >> $(CONFIGTMP)
       echo ${LFGPSXSYS1} >> $(CONFIGTMP)
       echo ${LFGPSXSYS2} >> $(CONFIGTMP)
       echo ${PS_LIB_PATH}\noheap.obj >> $(CONFIGTMP)
       $(GAWK) -f awk/mklnk.awk $(CONFIGTMP) > $@
       rm $(CONFIGTMP)

    $(CONFIGCD) : Makefile
       echo ${LFGPSX0} > $(CONFIGTMP)
       echo ${OBJPSX} >> $(CONFIGTMP)
       echo ${LFGPSX1} >> $(CONFIGTMP)
       echo ${LFGPSX2} >> $(CONFIGTMP)
    #   echo ${LFGPSX3} >> $(CONFIGTMP)
       echo ${LFGPSX4} >> $(CONFIGTMP)
       echo ${LFGPSX5} >> $(CONFIGTMP)
       echo ${LFGPSXCD} >> $(CONFIGTMP)
       echo ${LFGPSXSYS1} >> $(CONFIGTMP)
       echo ${LFGPSXSYS2} >> $(CONFIGTMP)
       echo ${PS_LIB_PATH}\noheap.obj >> $(CONFIGTMP)
       $(GAWK) -f awk/mklnk.awk $(CONFIGTMP) > $@
       rm $(CONFIGTMP)

    $(OPTFILE) : Makefile
       echo $(OPTIONS) > $(OPTFILE)
       echo $(DEFINES) >> $(OPTFILE)
       echo $(addprefix -I../,$(INCPATH1)) >> $(OPTFILE)
    #   echo $(addprefix -I../,$(INCPATH2)) >> $(OPTFILE)

    map:
       ${CCPSX} @${CONFIGHD} -Xm

    #---------------------- Dependencies

    $(MAINDIR)/bm.obj: $(MAINDIR)/bm.c
       @cd Main
       ${CCPSX} @../$(OPTFILE) $(<F)
       @cd ..

    #---------------------- Operations

    config: ${CONFIG} $(OPTFILE)

    clean:
       -rm */*.obj
       -rm dbgstr/*.o
       -rm */*/*.obj
       -rm e.txt
       -rm */e.txt
       -rm ${TRGPSX} $(MAPPSX) $(CONFIG) $(OPTFILE) $(CONFIGFILES) psx.exe

    go:
       resetps 1
       delay
       ${PATCHX}
       delay
       run ${TRGPSX}


Beatmania APPEND 5thMIX - 1999.11.25 Psy-Q Source Code

我正好有这张光盘,把DUMMY文件拷出来共享给大家研究
h t t p://pan.baidu.com/s/1dDfCjwl
password: fllq

精华
0
帖子
1691
威望
0 点
积分
1736 点
种子
5 点
注册时间
2014-9-28
最后登录
2016-10-3
发表于 2014-12-11 17:44  ·  福建 | 显示全部楼层
..........技术贴?  感觉不错

精华
0
帖子
835
威望
0 点
积分
972 点
种子
7 点
注册时间
2013-5-25
最后登录
2024-6-15
发表于 2014-12-11 17:46  ·  辽宁 | 显示全部楼层
这是个技术活,一般玩友搞不懂。

精华
0
帖子
37581
威望
0 点
积分
43639 点
种子
1713 点
注册时间
2010-9-9
最后登录
2025-1-11
发表于 2014-12-11 19:02  ·  湖北 | 显示全部楼层
是啊这个我只懂玩游戏~

精华
0
帖子
390
威望
0 点
积分
396 点
种子
17 点
注册时间
2013-1-21
最后登录
2025-1-12
发表于 2014-12-12 10:31  ·  天津 | 显示全部楼层
估计是程序员为了省事才这么干的。其实SE应该学学,SE原来不是经常丢源代码。

精华
0
帖子
5533
威望
0 点
积分
6462 点
种子
299 点
注册时间
2008-1-27
最后登录
2025-1-14
发表于 2014-12-12 12:27  ·  陕西 来自手机 | 显示全部楼层
Makefile里的绝对路径。

精华
0
帖子
89
威望
0 点
积分
89 点
种子
12 点
注册时间
2006-7-4
最后登录
2024-12-18
发表于 2014-12-12 16:07  ·  江苏 来自手机 | 显示全部楼层
我文化低,楼主你别忽悠我

精华
0
帖子
1059
威望
0 点
积分
1880 点
种子
218 点
注册时间
2004-8-13
最后登录
2025-1-11
发表于 2014-12-13 22:30  ·  湖北 | 显示全部楼层
求下载
~~~~~~~~~

精华
0
帖子
696
威望
0 点
积分
719 点
种子
8 点
注册时间
2010-8-19
最后登录
2024-10-26
发表于 2014-12-14 09:01  ·  广东 | 显示全部楼层
PS1都多少年了,技术应该过时了吧..公布出来也没什么

精华
0
帖子
696
威望
0 点
积分
719 点
种子
8 点
注册时间
2010-8-19
最后登录
2024-10-26
发表于 2014-12-14 09:09  ·  广东 | 显示全部楼层
现在刚开始学JAVA...先收藏了..等会看了再看...这个游戏是用什么语言写的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2025-1-15 07:39 , Processed in 0.204056 second(s), 19 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部