2012年4月4日水曜日

バルチック艦隊を追え

ということで追ってみる


オールBASICなので、そのままRAMPACに保存。
あとは、RUN"KIYA"で起動

起動したら、まず戦艦の配置

敵艦を発見して、

戦闘中

撃沈


敵艦がウラジオストックに入港する前に、できるだけ多く撃沈させる

シミュレーションゲームは退屈かもしれんが、一応動画

こういったゲームの場合、エミュレータのCPU倍速モードは便利

2012年4月2日月曜日

ドアドア

エニックスつながりで次はドアドア
詳しくはWikipediaにまかせるとして、パソピア7版を紹介。

パッケージはこんなかんじ

いつも通り、テープイメージからRAMPACに保存。
BASICの「BLOAD#-1,"..."」 3箇所を「BLOAD"..."」に変更して、SAVE"5:DOOR"で保存。
バイナリは、以下のように保存
CLEAR ,&H8FFF
BLOAD #-1,"DOOR1"
BSAVE "5:DOOR1", &H9000, &H4000
BLOAD #-1,"DOOR2"
BSAVE "5:DOOR2", &H9000, &H2A00
BLOAD #-1,"DOOR3"
BSAVE "5:DOOR3", &HC000, &H0020
これで一度リセットした後、RUN "DOOR"で起動できる

オープニング

キー操作

点数
まとめて押し込めた方が高いけど難いのよ

動画。

中村光一さん、若い

2012年4月1日日曜日

アルフォス改

アルフォスはいろいろ改造ネタが掲載されてて、
・ニーモニック号の数:C80Ah番地に台数をセット
・地上砲火なし:E587h~E589h番地に0をセット
・空中攻撃なし:E590h~E592h番地に0をセット
・音なし:E596h~E598h番地に0をセット(バキュラみたいののコツコツ音は鳴るが)
・やられてもニーモニック号の台数が減らない:E607h番地に0をセット
・ウェイトなし:D12Dh番地にC9をセット
・ウェイト調整:D12Bh番地にウェイト数をセット
・ジョイスティック(方向のみでボタンは非サポート)というのもあった
→解析者が1ボタンのジョイスティックしかもっていなかったらしい

ニーモニック号を増やすとこんなかんじ

いちいちPOKEするのは面倒なので、ロードしたBASICコードに以下を追加して保存しとくと、ゲームが始まる前にセットできるようになる。(セットしたくなければ、Returnキーのみでスキップできる)
275 GOSUB 360
350 END
360 INPUT"Mnemonic? (1-255)",B:IF (B>0) AND (B<256) THEN POKE &HC80A,B-1
370 INPUT"Ground Attack? (Y/N)",C$:IF C$="N" OR C$="n" THEN POKE &HE587,0:POKE &HE588,0:POKE &HE589,0
380 INPUT"Interceptor? (Y/N)",C$:IF C$="N" OR C$="n" THEN POKE &HE590,0:POKE &HE591,0:POKE &HE592,0
390 INPUT"Sound? (Y/N)",C$:IF C$="N" OR C$="n" THEN POKE &HE596,0:POKE &HE597,0:POKE &HE598,0
400 INPUT"Endress? (Y/N)",C$:IF C$="Y" OR C$="y" THEN POKE &HE607,0
410 INPUT"High Speed? (Y/N)",C$:IF C$="Y" OR C$="y" THEN POKE &HD12D,&HC9
420 INPUT"Joystick? (Y/N)",C$:IF C$="Y" OR C$="y" THEN FOR I=&HF100 TO &HF12F:READ C$:POKE I,VAL("&H"+C$):NEXT:POKE &HD294,&HC3:POKE &HD295,0:POKE &HD296,&HF1
430 RETURN
440 DATA E5,0E,01,3E,8B,D3,1B,D3,18,DB,19,CB,09,30,02,DB
450 DATA 1A,2F,E6,0F,21,1E,F1,85,6F,7E,E1,C3,A6,D2,55,54
460 DATA 51,FF,45,44,41,FF,15,14,11,FF,FF,FF,FF,FF,FF,FF
ウェイトなしだとこんなかんじ

速い。。。

2012年3月31日土曜日

アルフォスのキャラクター

マップを作ったときにキャプチャーしたので、せっかくなんでキャラクター紹介

ニーモニック号
地球防衛軍有人戦闘機。
2機の量子砲を装備しヘリウム爆弾を搭載している。エアロ・ダナミクサーにより、最大マッハ10で前後左右に速かな移動可能。

ファルコン
アルフォス軍有人戦闘機。
奇怪な編隊を組みながらの攻撃は、獲物に群がるハイエナのようだ。体当り覚悟のファイトは地球防衛軍の脅威。

ボスネザー
アルフォス軍有人爆撃機。
空対空電磁ビーム砲を装備し、これを発射した後反転しながら飛んで行くいやな奴。

スピナー
アルフォス軍無人戦闘機。
ファルコン同様、編隊を組み期待を回転しながら量子砲を避け体当りしてくるのでてこずる相手である。

トライアングルフリーク
無人攻撃機。
ファイティングベースのレーザー誘導により、旋回しながら体当りしてくる。動きが早いので要注意。

ジュデアス
空中爆雷。
アルフォスの周りに幾重にも張り巡らされ、攻撃能力はないが、わずかなショックでも爆発する。量子砲もきかないこの包囲をかいくぐるテクニックがアルフォス攻撃の必要条件だ!

 ゲモラス
無人戦車。
サテライト・ベースのレーザー誘導によりコントロールされる。動きは鈍いが寸断なく発射される陽子砲はなかなか強力であなどりは禁物。

オクトパスベース
攻撃要塞。
地上からの攻撃の主役。要塞中央の中心より発射されるサイクロイド爆弾は赤い炎をあげなから執拗においかけてくる。

ゼクスベース
レーダー要塞。
敵探知を目的とする要塞。攻撃能力は弱い。爆破すると敵の攻撃が一瞬たじろぐ。

スキャークロベース
爆薬要塞。
地下に隠れているためめったに発見できない。

サテライトベース
アルフォス陸軍主要基地。
高射砲を多数装備し、サイクロイド砲を複数発射できる。こいつを破壊することにより、敵の攻撃は弱まる。

ファイティングベース
アルフォス空母基地。
サイクロイド砲を持つが本来は攻撃機の格納基地のため、攻撃はサテライト・ベースより劣る。

以上、代表的な登場キャラクターです。

が、このゲームはさらに、どんなキャラクターが?!・・・・・・
そして、アルフォスとは一体何物?!・・・・・・


とのこと。。。
その他あったキャラクターは、

バキュラみたいなくるくるまわるやつ
破壊不可。

まるいやつ
後半のステージで、けっこうでてくる。

ペケ 
出てきたのを見たことない。ボツキャラ?

スキャークロベース(ゼビウスのソルのようなもの?)も、どこに出現するのかさっぱり。。
キャラクターは、きっとこれだと思う。

2012年3月28日水曜日

アルフォスマップ

せっかくなんで(?)、アルフォスのマップをつくってみる
手で打ち込むのは厳しいので、Excel VBAで。
Private Sub CommandButton1_Click()
    Dim sheet As Worksheet
    Dim inputFn As Long
    Dim buffer() As Byte
    Dim file As String
    Dim row As Long
    Dim column As Integer
    Dim value As String
    Dim count As Long
    Dim index As Long

    Set sheet = ThisWorkbook.Worksheets("Map")

    file = ThisWorkbook.Path & "\alpmap.bin"
    inputFn = FreeFile
    Open file For Binary As #inputFn
        ReDim buffer(LOF(inputFn))
        Get #inputFn, , buffer
    Close #inputFn
    
    count = UBound(buffer)
    For row = 1 To (count / 12) + 2
        For column = 1 To 12
            index = count - (((row - 1) * 12) + column)
            If (index > 0) Then
                value = Right("0" & Hex(buffer(index)), 2)
                sheet.Cells(row, column).value = value
                file = ThisWorkbook.Path & "\" & value & ".png"
                sheet.Cells(row, column).Select
                If (Dir(file) <> "") Then
                    sheet.Pictures.Insert (file)
                End If
            End If
        Next column
    Next row
End Sub
For~Nextとか、なつかしすぎる

alpmapをバイナリ化して、「alpmap.bin」としてExcelと同じフォルダに保存
各バイトデータに対応した画像データ(32x32pix)を、「00.png」のようにHex形式のファイル名で同じフォルダに用意しとく
Excelのセルフォーマットをちょっと変更して、上記VBAを実行するとマップが完成

ステージ1

ステージ2

ステージ3

ステージ4

ステージ5

ステージ6

ステージ7

ステージ8

ステージ8の白抜けのところがアルフォスね。
赤枠は、他の背景とバイトデータが違う所。なんだろ?ボム落としても何も出てこないし。。

2012年3月24日土曜日

アルフォス

アルフォスのコメントをもらいましたので紹介

パソピア7版のパッケージ

パッケージの裏には、森田さんの顔写真と紹介文。当時在籍中の大学名まで出てる。
Wikiにもでてるが、、、

同梱のマニュアル。もうホチキスがさびさび。30年。。


いつも通り、テープイメージからRAMPACに保存。32KBに収まらないため、2つに分けて保存
BASICの「BLOAD#-1,"..."」を「BLOAD"..."」に変更
ファイル名の前にスロット1の場合「5:」、スロット2の場合「6:」をセットしておく
バイナリファイルは、以下のアドレスとサイズなので、BSAVEでスロット1か2に保存しておく
"alpdat", &H0000, &H6800
"alpmap", &H9000, &H2A00
"alpobj", &HC800, &H2200
あとは、RUN "ALPHOS"で実行できるようになる。

クレジット画面。
森田さんの技術はすばらしい。。将棋もすごいけど。

キー操作

ゲーム画面。ここにもナムコ

動画だとモアレとか残像がでてるが動画圧縮の問題。エミュは綺麗な画面がでてる

2012年3月23日金曜日

パソピア7でつくってみた

20年ほど前につくったあれをエミュで動かしてみた
ちゃんと動いた。

BASICとマシン語だが、キャラクタ表示はBIOSコールだったので、それほど速くないし、ちらつく。
テキストベタ塗りなので、純正のCRTだと色が滲んで見にくかった。


アセンブラは、ペーパーウェアPASOPIAに掲載されていたPTA-7を使用
当時、とても重宝した。ハンドアセンブルに比べたら雲泥の差。特にジャンプ系が。

動画

作った当時は98全盛期で、そんな中パソピア使ってるのは自分ひとりじゃないかと思っていた。
今も同じ気持ち