#
元旦准备买NDS,顺带关注了下PSP,其实是想,或许买PSP也不错~
PSP很像一个平台,提供了很多东西,譬如官方的PS模拟器~在上面编程也是个不错的想法。
国外的一个网站提供了很多信息,PS2Dev Network (http://www.ps2dev.org),有教程http://ps2dev.org/psp/Tutorials,现在由于不久前的地震,基本无法登陆那个网站。更多的信息在http://wiki.ps2dev.org/。
要想进行PSP编程,需要学习C或C++。在windows下,需要安装Cygwin http://www.cygwin.com/, 这其实是个模拟linux的环境。在Mac OS X或Linux下需要编译PSPSDK和PSP 工具。这些东西都可以在http://ps2dev.org/psp/Projects找到。
ScriptScribbler (http://www.scriptscribbler.com) 这个网站现在提供3篇教程,是由Brad Dwyer写的。他也可能会增加教程。第一篇(http://www.scriptscribbler.com/psp/tutorials/lesson01.htm) 教你在windows上搭建开发环境。第二篇(http://www.scriptscribbler.com/psp/tutorials/lesson02.htm)教你写一个简单的“HelloWorld”程序。第三篇(http://www.scriptscribbler.com/psp/tutorials/lesson03.htm)最有用了,也就是“PSP编程速成”。
如果你不想学C或C++,那你可以用LuaPlayer (http://www.luaplayer.org/),它也有教程http://www.luaplayer.org/tutorial/index.html教你编程。如果你想学这个,可以到http://forums.ps2dev.org/viewforum.php?f=21多逛逛。使用Lua,你可以在Windows上测试调试,不需要每次修改后都要放到PSP上运行看效果。关于Windows版的LuaPlayer 你可以到http://forums.ps2dev.org/viewtopic.php?p=22332#22332察看更多信息。
这里有一个例子。
--
starting positions
for
the character
x
=
200
y
=
100
--
A nice color
color
=
Color.new(
128
,
255
, 0)
--
this flag tells whether the program needs to draw
draw_character
=
true
--
loop forever
while
true do
if
draw_character then
--
print
a rogue at the x
/
y coordinates
screen:
print
(x, y,
"
@
"
, color)
screen.flip()
end
--
check whether the user pressed the pad,
and
move accordingly
pad
=
Controls.read()
draw_character
=
true
if
pad:left() then
x
=
x
-
3
elseif pad:right() then
x
=
x
+
3
elseif pad:up() then
y
=
y
-
3
elseif pad:down() then
y
=
y
+
3
else
draw_character
=
false
end
--
wait
for
the next vertical blank
screen.waitVblankStart()
end
你也可以使用HTML, CSS和JavaScript编写程序在PSP的浏览器上运行。关于这方面的信息,网上已经很多了,这里给一个例子。
<
html
>
<
head
><
title
>
Mandelbrot Set
</
title
></
head
>
<
body
style
="width: 480px; height: 272px;"
>
<
script
language
="JavaScript"
>
colors
=
new
Array(
"
black
"
,
"
aqua
"
,
"
blue
"
,
"
fuchsia
"
,
"
gray
"
,
"
green
"
,
"
lime
"
,
"
maroon
"
,
"
navy
"
,
"
olive
"
,
"
purple
"
,
"
red
"
,
"
silver
"
,
"
teal
"
,
"
white
"
,
"
yellow
"
);
function
plot()
{
height
=
20
;
width
=
150
;
max
=
17
;
//
maximum number of iterations.
document.write('
<
p style
=
"
font-size: 8px
"
>
');
//
imaginary axis from -1.25 to 1.25
for
(y
=
-
1.25
; y
<=
1.25
; y
+=
2.5
/
height)
{
//
real axis from -2.25 to .75
for
(x
=
-
2.25
; x
<=
.
75
; x
+=
3
/
width)
{
a1
=
x;
b1
=
y;
for
(cnt
=
1
; cnt
<=
max; cnt
++
)
{
//
If the square magnitude of the complex number exceeds
//
the limit, break out of the loop. Otherwise, calculate
//
and loop around again.
//
a
=
a1
*
a1;
b
=
b1
*
b1;
if
(a
+
b
>
4.0
)
{
break
;
}
else
{
b1
=
2
*
a1
*
b1
+
y;
//
imaginary component
a1
=
a
-
b
+
x;
//
real component
}
}
if
(cnt
>
max)
{
//
At this resolution, the point does not appear to be
//
outside the Mandelbrot set, so use color 0 (black).
cnt
=
0
;
}
style
=
'background
-
color: '
+
colors[ cnt
%
16
]
+
';';
document.write('
<
span style
=
"
' + style + '
"
>&
nbsp;
</
span
>
');
}
document.write('
<
br
/>
');
}
document.write('
</
p
>
');
}
plot();
</
script
>
</
body
>
</
html
>
你可以将其与Perl脚本语言结合,编写功能更为强大的程序。
(声明:以上大部分翻译自《PSP Hacks》的Hack 47. Develop for the PSP)
不知道PSP是否支持Python这种脚本语言~大学里看过Python的书~
Lua是linux下的一种编程语言,那另一中语言Ruby是否也可以呢?
日文对照:
http://www.blogjava.net/liwei/gallery/image/6486.html
http://www.blogjava.net/liwei/gallery/image/6487.html
078
“总之有着花都花不完的钱的一家。不知道是从哪里得来的钱。也不知道那些钱用到哪里去了。神名和美和也和我们上着同样的公立学校,也没看到他们大手大脚的花钱。总之一家完全都是谜”
“也就是在这个国家的黑暗中展现灵活手腕而繁荣的一族吗”
“不知是否有手腕,但繁荣是可以肯定的。表面上普通,但让人难以相信的一家”
“是装置吧”
天使说着像谜一般的话语。
“让话圆滑进行的构成要素之一。将本来一定会遇到的繁杂的障碍一跃而过的捷径,因此被配置的舞台装置吧”
“什么呀那”
对着皱着眉的建御,天使的微笑中混杂着貌似后悔的表情,
“请忘掉吧。刚才我失言了”
接着以懒散的姿态用手撸起蓬松的头发,
“也就是传奇式的家系。肯定在后面的黑暗中也干着很多事吧”
对于这个想象,他也完全同意。
079
“所以说我不想靠近他们。祭品一个就足够了吧”
“祭品,是指刚才的那位少年吗”
“嗯。杵筑也许还没有发现吧。他好像是乌衣姐妹的表兄妹或二代表兄妹,但就算那样我也能感受到破灭感”
建御瞥了眼看起来完全不像恶魔的黑衣少年,
“乌衣神名,是比他更像恶魔的少女”
*************************************************
经历长年的增建和改修,已变成复杂奇怪的建筑物的正是乌衣家的本宅。说是西日折中听起来有几分像真的,但也是不顾先代当家的想法,以自己的兴趣优先来改造的。变得更加恶化的另一个原因是以兴趣优先改造的土地存在于宅邸的周围,周边地域的土地权大部分都被乌衣家独占了。杵筑虽然完全不知道乌衣家发展至此的历史,但绝没有偶然泄漏出去的内容,对那些有八卦兴趣对这里的家人询问的人,不是常识性的体谅而是以不关心的心态告诉些无负责任的话。
日文对照:
http://www.blogjava.net/liwei/gallery/image/6472.html
http://www.blogjava.net/liwei/gallery/image/6473.html
076
杵筑将意识从天空拉回地上。这附近的路他闭上眼睛也会走。目的地就在眼前了。
乌衣家的宅邸就在杵筑家附近耸立着。
**************************************
开口的应该是天使或死神。
“刚才的那位好像被一位非常痴情的少女追求着呢”这是天使在说。
“乌衣美和。是乌衣姐妹中的妹妹”建御说。
“唔,从那名字里能感到奇妙的言灵。何方神圣”
死神像要睡着般的点着头,
“姐姐叫什么名字”
“神名”(译者注:原文カミナ。本想音译成卡美娜的,网上搜了下,发现翼神传说的男主角是这个姓,有汉字。于是……)
建御好像不太愿意的说着,
“应该是和我们进了同一所高中,但没看到她来过。说起来中学毕业式上是最后见的一次面。据说这半年一直待在家里一步都没出来过。老实说,放心了”
077
引起兴趣了吧,天使停住了要团扇的手。
“何方神圣,你忌讳的那位少女”
“就是乌衣家的长女。那边的幽灵,你也该听过吧”
《嗯》
事代那笼罩在阴暗中声音,
《很有名。不过都不是些好的传言》
真是记着些毫无意义的东西呀,建御这样想着,
“这里住的人听到乌衣家都会停止谈话的才是正常的。不知道的家伙都是伪装的高手。曾听杵筑将过一次,乌衣的家往前追溯历史的话飞鸟时代呀(译者注:飞鸟时代是日本的都城在奈良的飞鸟地区的时代,公元6世纪后半到7世纪)白凰时代呀(译者注:日本文化史,特别是美术史的区分时代之一。在飞鸟时代与太平时代中间。指公元7世纪后半到8世纪初)都好像能找到。虽然不知真假,但听着不像谣传的地方也有很复杂的缘由”
“乌衣,神忌无,巳轮吗”(译者注:好吧,我承认我错了~这里才是谷川流想给两姐妹起的名字。但,让我偷下懒,将错误进行到底吧)
死神喃喃自语的说着,头稍微倾斜着。看了眼蜷在房间角落里的事代,又转向建御,再望向杵筑走出去的门。
“原来如此”
什么原来如此,建御这样想着,但还是决定暂且不去关注死神的话。反正她也不会正面回答的。
日文对照:
http://www.blogjava.net/liwei/gallery/image/6470.html
http://www.blogjava.net/liwei/gallery/image/6471.html
074
感觉从谈话的内容来看好像是男性的思考方式。
“啊呀,关于天使的性别在圣职者中也有各种各样的说法呢。在这种极东之地说出解答不知是好是坏,我很犹豫。虽然我没有死神那样的杀必死(服务)精神,但我想比起长满肌肉又邋遢的大叔我这样更让人喜欢吧”
天使“啪啪”的摇着团扇。
“不管是男是女都可以吧。我中意适合这身衣服的姿态而显示成这样的。那也只是偶尔显示成女性形态。不管是男是女,性别本来就没有任何意义。我是热爱男女平等的天使”
“那身打扮有什么意义”
“没意义”天使声明,“偶然降临时看到女学生穿着这样的衣服,没仔细思考就采用了这样的打扮”
说得像是突然想起的杰出方案。
“难得一回,就称呼我为“浴衣爱露”吧(译者注:原文ユカタエル,这里采用意译与音译结合的译法。ユカタ是浴衣的意思;エル后文有解释,词尾,无意义)。总之无论什么单词后加上爱露就会成为简单的天使名。我很喜欢,浴衣爱露,很响亮的名字不是吗”
“要喊那种傻名字会要舌头才是真的”
075
“名字吗”
死神好像也有自己的想法了。
“无与伦比的好时机。我就用考虑我的名字来消磨时间吧”
说完死神闭口,天使也跟着闭口,恶魔操作的BAL-BADOS在跳跃后的僵直被APHARMD B看准,吃了一记连击,机体被打得爆裂四散,响起精彩的BGM。
*************************************
杵筑向上看着天空走路。
金星在西边天空中浮现。露西法会是哪边的明星呢,这是刚才恶魔的联想。黄昏的天空闪着紫色的光辉,不久太阳就会沉下。
建御会如预想不安的来回走动吧。是否注意到天使和恶魔在那的理由吗。以他的性格,会一点一点的接受所有的事吧。是建御的话,就算世界崩坏的感觉也能很好的进行对应吧。
“和我不同”
事代运气真好。他跑到了一个能正确将幽灵当作幽灵来认识的人的身边。
日与对照:
http://www.blogjava.net/liwei/gallery/image/6455.html
http://www.blogjava.net/liwei/gallery/image/6456.html
072
“要是事态变成那样,我们死神的悠闲干着的工作要增加了吧。理解了。对我而言也想省去麻烦的事。还是放弃设立著作权协会的事吧”
“贤明的判断。我们的神也会很愉快的不去过多探究你的决定而同意吧”
“值得感谢”
“真的从心里那么想吗?”
“不。和你说着不放在心上的事一样,我也只是这样做而已。因为,这种议论在心底怎样样都是可以的”
“同感,从心底哟”
建御已经非常想从这个房间飞奔出去,但他决定拿出全力参加他们的谈话。这个任务本来是非常想交给杵筑的。
“你们说的神,不止一位吗”
“当然啦。你以为只有人类知道的神才是神吗。在天界从最上等到最下等的有神的名字的存在密密麻麻。稍微邀请一下就会以数百万为单位的降临。尽是些有着多余空闲的家伙”
死神以讽刺的口吻弯着柳叶眉说,
“再说了人界也不是多么快乐的场所。漫不经心的以邀请为名来的神也就那个样了。神的总数比全人类的人口总数还要多。天使,你曾经有数过吗?”
073
“没有。上司有一位就足够了。”
刚才说的名字话题到哪去了?
怎样才能和这两位进行正经的交流呢,建御考虑着。
“对了。这里有一个,认真的,撒旦和密歇尔如何。比起复杂难以发音的名字,简洁容易理解的更好”
“死神,你刚才说名字很重要的,结果就这个名字吗”
“这种场合,对于你们重要的是能代表天使和恶魔的象征的名称吧。能够帮助理解各自属性的话什么名字都可以”
“既然什么都可以那自己取吧。最坏的情况我也不想让你这个一句话死神来当取名字的教父。不是吗?恶魔”
“怎样,都好”恶魔说。貌似好不容易击破了布拉德斯(译者注:某款游戏《电脑战机VIRTUALーON》中的中级BOSS,音译。原文ブラッドス)。现在太空舞台上和APHARMD B(译者注:一种人形机器人)交战。
“名字表明了身体与属性。可以说是人类开发出来便利且高级的工具。连我都能只看报纸上的电视预告栏里就知道2小时悬疑剧的犯人”
“那个没关系吧”
建御想给不知将转向何方的谈话打上终止符试着改变话题。
“那边的天使,你真的是女的吗?”