反対 « から 登場し ます。 魚が につく まえに 全部 上げて 下さい。 下まで 1 匹で いってし まう アウト てす 0

こは 突然 現われます。 このぬ しを 端まで いかせて まう とおしまい です。 湖底を 這うよう 動いて 行きます から、 針に かかった 魚を 口元へ さし 出して 下さい。 うま くさ 出す 「ごちそう さま」 表示と 共に 魚が だけ になり、 ボーナス 点が もらえます。 また、 泳いで いる たちは 4 社まで ひき 上げられます (もちろん 水面の 1 下の ライ ンが 限度です が) i •入力 方法

今回の プロ グラム 〖ま マシ ン語 発生 プロ グラム (リスト 1) ベイ シック (リスト 2> 分かれて ■います。一 むずかし そうです が、 よくやれば だいじょ うぶで す。

まず マシン 発生 プログラム (リスト 1> 入力して 下さ い〇 番号が 飛んで いる 部分 もあります が、 その リスト 通りに 入力し ます。 チェ ック した 後に、 RUNl^TURNlT^ft します。 入カ がなけれ^、1 ■シ バラク マチ サイ d 表示 1 嫩で 『オメ デト ドゥ ヤラ ミス ナイ ヨウ ダヨ。 J 表示され はずです。 もし 100 Oft 以降の DATA 文中で 数値の 間違 等が あると 『XX xx ギヨ ウニ マチ ガイ ガア マス。 j 表示が され^ 実行が とまります。 その 行を ェック して 下さい。

ミスな 入力して 実行す ると r オメ トウ。 ドウ ヤラ ミス ナイ ヨウ ダヨ。 j 表示が 出て 実行が 終了し、 DATA 文で 書かれた 1谜 数の 数値^ マシン 語と して メモ リに 書き込まれた ことになる わけです。 ここで、 この ログ ラムを テープに CSAVE して おきます。 名前は 仮り MAC として、 CSAVE*MAC y IRETU 租] てす

v 、て ベイ シック (リスト 2 > 入力 します s 、入 前に NEWIRETU マシン 発生 ログ ラムを しています。 プログラムが? えても' 1 実行して メモ リに 書き込まれた マシン 語部 分は 残ります。 むろん、 源を 切ったり、 リセ ボタンを 押してし まえ t 肖え

しまい ますから 注意し ましょう。

イシ ック 部分を 間違いな 入力す れ^、 あと 普通 実行で ます。 ベイ シッ 部分の 入力 または ロー ドは、 かならず マシン 語部 分の 実行、 NEWIRETURNI 行な: てからに i する こと わすれないで 下さい。

ゲームの 動作を したら、 こんどは マシン 語部、 イシ 部を プロ グラムと して テープに セーブす 作業に 移ります。

まず プロ グラムの 実行を | (コント _ル キーを 押しながら ストップ キ—を 押す) 中止し す。 この 時、 面は グラフィック モードの ままです から、 SCREEN 0 IRETURNI 入力し テキスト モードに 戻します。 入力した キャラクタは 文字と して 表示され せん 力*、 そのまま 入力して 下さい。

テキス トモ ドに 戻ったら、 カセット 令, ダに プをセ ット 、レコ 状態に して、 RUN 2900 [RgTUMl とします。 これて -1 本の テープに FISH というべ イシ プロ グラムと FISH/M という マシ ン語 プロ ブラムが 連続して CSAVE、 BSAVE されます。 次回からは CL OAD 'FISH* ベイ シック 部を ロード、 RUN |RETURN| 実行す ると テープから プロ グラムが マシ 語を 読み込

•実行 方法

最後の RUN 29001 RETURN IT •テ ープを 完成 させたら、

入力 (ii 終了です。 次回の 実行からは、 この テープを 使い ます。

CLOAD *FISH^ [RETDRmCr-^

UN IRETURNI 実行す < ドし はじめます から、 テ- リモ ート場 子の 付いた

ダの 場合は 再生 状態の まま とする のが よいでしょう。

あと 画面 表示に 従って、 キー ボー ド/ジョイス ティ ック 選択、 スピー ドの M など 済ませる と、 ゲーム

スタートです。

マシン 発生 プログラム

90 CLEAR 300,&HE7FF

100 RESTORE 1000 : L=1000

110 PRINT、/\W ラク マチ クタ サイ。

120 FOR I=&HB000 TO &HB5FF STEP 16 130 C=0

140 FOR J=0 TO 15 150 READ P$

160 P=VAL( ■&H'+P$)

170 C=C+P 180 POKE I+J,P 190 NEXT 200 READ P$

210 C$=RIGHT$( 0 +HEX$(C ),2)

220 IF P$< >C$ THEN PRINT L; •キ w3 ウこ If IT IT アリ マス。 _

230 L=L+10

240 NEXT

300 RESTORE 2000

310 L=2000

320 FOR I=&HB900 TO &HBEFF STEP 16 330 C=0

340 FOR J=0 TO 15 350 READ P$

360 P=VAL( ,&H"+P$)

370 C=C+P 380 POKE I+J,P 390 NEXT 400 READ P$

410 C$=RIGHT$(-0 "+HEX$(C ),2)

420 IF P$< >C$ THEN PRINT L; •キ w3 ゥこ 7 チカ'' イカ'' アリ マスノ 430 L=L+10 440 NEXT

500 PRINT ■オメ テ* ウ〇卜 "ウ t ラミス/ \ ナイ ヨウ 3〇"

990 END

8 F 9 D E E009D28A1D838EF0E78F2683A08EF7A4455 7ECD 73303 D320DD 4023 E2F -0 .. IE 01300203 E000B1F 1113D27E 80008958 A 89157 EF3A850A0A76A06CF9 C0CBD11 7100030 D 33310103 E 031123030032 1FEC 0A1708ED07EE7D 00910216 B422FE10EF8AC1FD0F B3D5B3FDB77F1D1 01023 DE 2031 EF02FE 3310 EC1E 53FA1E1FBDD4E06E8E11 9902 C82FE0F7B20EE020 2FEC 310 E4DD0F01B2B 000633330 EF2E01B3F 0031 D000DEE1DDD 614 FD0DEED873F622F042EE8FAE 32 C200CF70C11E00ED0DB7D200E030E003F3BE 2703 5D3EF0D2EE00E101ECDD00EE3E224EA4FD349D63 C35FE0D 333307080 F3DD00F30F030F31EC00CDE0 51D21E11827ED116FFFF4EFFA8ECAF0E6F6AF9C6 FFE 007001117 D02CEEEE0FE1 37333 E630ED3E03E 931E2D4E00ED07DF 433017300 FDF080FA6118DFC 72D73D37B3FDB7DE 00000402 1E1EB03E 30210 DE3 5D1D10DD711FDD92AAA2F 02183025 A 8822802 F0F DDED00DD600E3DC 03333 E 030303073 B0B3323E1E F005E41FDEE1D53A111045DE522AD 9427 C8800A0 E02D730ECF70C1B 343200 D3F 0303 CC0323BB 0131 02D0DD4050D23E 52008 E2DFFE6E0F14FD42FEB4A 0A31DD3000D 3036533173 CEEF1F1EB0EC30E34B3 BD16FBD28E118FD 801 FD1F347EF022F 65863 FDCB 5CF1E3D 327001 EC200ED0E0003E303E041D0EEFD D0FF 08000 D4E0420EE42E4AA 65232 D928FFA45D0 E0EE 02000 D 37 B0B0BB 003133 E 0003 C032EE30BC2

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

0123456789012345678901234567890123456789

4444444444555555555566666666667777777777

1111111111111111111111111111111111111111

2240 DATA 00 ,7C,66,66,7C,60 ,60 ,00 ,00 ,3C 2250 DATA 00 ,7C, 66,66 ,7C,6C,66,00 ,00 ,3C 2260 DATA 00 ,7E, 18, 18, 18, 18, 18,00 ,00 ,66 2270 DATA 00 ,66, 66, 66, 6 6,3 C, 18,00 ,00 ,63 2280 DATA 00,66, 66, 3C,3C, 66,66,00, 00, 66 2290 DATA FF,00,FF,00,FF,00,FF,00,10,38 2300 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2310 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2320 DATA 00 ,00 , 10 ,08,00 ,00 ,C0 ,20 ,01 ,02 2330 DATA 00 ,00 ,08, 10 /80 ,E1 ,7F,3F,00 ,00 2340 DATA 10,08,00,00,04,1C,F8,F0,FF,00 2350 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2360 DATA 10,39 ,7B,7F,DF,FF, FF,FF, 00,00 2370 DATA 7F,7F,7E,3E,7C,F8,F8,F0 ,FF,00 2380 DATA FF,00 ,FF,00 ,FF,00 ,FF,00 ,FF,00 2390 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2400 DATA 00, 72, 88, 00, 00, 00, 88, 70, 00,88 2410 DATA 00, 44, 08, 7C, 20, 40, 40, 30, 00, 60 2420 DATA 00 ,84,E4,84,88,0C,0A,93,FF,00 2430 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2440 DATA FF,00,FF,00,FF,00,FF,00,FF,00 2450 DATA FF,00 ,FF,00 ,FF,00 ,FF,00 ,FF,00 2460 DATA FF,00 ,FF,00 ,FF,00 ,FF,00 ,FF,00 2470 DATA FF,00 ,FF,00 ,FF,00 ,FF,00 ,FF,00 2480 DATA 00 ,00 ,00 ,00 ,00 ,00 ,00 ,00 ,08,08 2490 DATA 00,0F,0F,03,03,03,01,00,E0,F8 2500 DATA 01,03 ,07,8F,DF,FB,73,03,F0,F8 2510 DATA 03,03,03,03, IF, 3F,7F,FF,F8,F8 2520 DATA 03,87,DF,FF,FF,FF,DF,87,E0,FC 2530 DATA 08, 08, 08, 08, 08, 08, 08, 08, 87, CF 2540 DATA E0 ,FC,DE,D7,DF,DE,DC,D8, 18,7E 2550 DATA 00,00,00,00,00,00,00,00,00,00 2560 DATA 00 ,00 ,00 ,00 ,00 ,01 ,02,04,00 ,00 2570 DATA 00 ,FC,07,00 ,00 ,00 ,00 ,00 ,00 ,00 2580 DATA 04,06,02,03,03,02,02,02,02,02 2590 DATA 28,6C,DE,F6,FE,BB,C7,FF,FF,FF 2600 DATA 00, 00,00, FF,FF, IF, 07, 03, 00,00 2610 DATA FF,FD,FB,73,6B,3B,3B,FF,FF,B5 2620 DATA FF,DD,07,D7,B7,B7, A7,FF,FF,61 2630 DATA 00 ,00 ,00 ,07,0F, 1F,7F,FC,F8,F0

0800FCB8800DE0F 0314 E7CC0803B63ED 0300E8511ECCCAE48F9D7B 90306 E0B20 000015 900000 EC88F0C81F00C 000043 E 00005 C3000D67FF0F034B1 001066000 F 000004 900080 FC88B040BB 002010003 c 0000501000607 FF0DC09F 30020 A 60007 000044 D0F0D8FCC8F0F8FB 0020100838 00005010 FED37FF0FFFFF 70040608003 00003 FDF08BC7CC8DEDCFB 00002 C083C 0000900 F01B15FF06F6FFF 0040206307 000002 D004OEFCE8FEF8FB 00002 E803C 000020 A000D05FF0PFFFFE 004020 1E0F 0000005294 B5ECE8F4B0BB 000027703 E 000020 A043B05FF0F9DFF 7002040080 F 0000001282 D548E855F01F 000027002 F 0000000820 D00FF 031 FCE 3001080000 F 1000FFE181B54EE8F 26007008047002 F 0000FFF823B00FF012B8C 0000000000 F 0C 00440000 B 00070 FF00F 8100000402 F

0200248008 D00030EF00B 83000 A 02027 0200890003 D10000DBC170F 00041000 c 020024 F0F7B 880307 F1FD 88000 C8102B 04009930 F8B 01700 BOCF10F 00080000 B 0000F44F00D 408103 B3FD8F000C4003E 04008 E 8100 D00B00EDEF70F 00080000 F 000028 2000800 F103F3FD8F 000200036 0400881200 B 00800 EEEEE0F 00090000 F 000008290 ED 06700 1F6FB8B 00010072 E 0200602448 D 00000 CFB 570 F 00050000 D 0000c 00800 B 083000 CFFF 83000 F00C6C 010010042 IB 00000 C5DD30F 000300 F 06 F8003FF410D 0010008 OF 781000100048 F0000FF 4210010008 FFB00E 000400002 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

45678901234567890123456789012345

66666677777777778888888888999999

22222222222222222222222222222222

:: ぐ-‘?-‘::-‘::-.::-.: 'ぐ..':、:' ぐ..: ■ぐぐ' -N

ベイ シック 部分 プログラム

d GO po IF IF v= MF ON EN 60 GO GO GO GO , MX LU LO LO PL sc BN po GO R= FO I NE IF FO L p NE RE , FO v V V NE LO FO V NE LO 122222222444446 61 ' 0 666.6 N0 6V 7 71 77777777 79 8 81 81 81 81 8 81 81 81 88

822 P$=STR$ (SCR): P$=R I GHT$(P$, LEN ( P$ ) - 1 )

823 SCR$=R I GHT$ (•♦♦♦♦•+?$, 5)

824 P$=STR$ (BNS): P$=RI GHT$(P$, LEN (P$)-l>

825 BNS$=RIGHT$( P$, 5)

826 P$=STR$ (MAN): P$=RI 6HT$(P$, LEN (P$)-l)

827 MAN$=RIGHT$(

830 PRINT' SCORE +SCR$+ * 04BONUS _+BNS$+ 04MAN _+MAN$

890 RETURN

1000 ' KI しし MAN

1010 FOR 1=0 TO 5

1020 COLOR ,9

1030 PLAY,T150O3A64R64,

1035 FOR J=0 TO 100: NEXT

1040 COLOR ,4

1045 FOR J=0 TO 100: NEXT

1055 MAN=MAN-1:IF MAN<1 THEN 1080

1060 BNS=0 : CLS: GOSUB9100 s GOSUB8800 : GOSUB800

1070 IF MAN>0 THEN RETURN

1080 CLS: LOCATE 0,6

.1385 IF SCR>HSC THEN HSC=SCR

1090 PRINT* **************

1100 PRINT* * GAME OVER *'

1110 PRINT' ************* '

1120 PRINT

1130 PRINT_ YOUR SCORE ,+STR$(SCR)+'0

1132 PRINT" HIGH SCORE •+STR$(HSC〉+_0

1133 PRINT

1135 PRINT' PUSH BUTTON TO REPLAY ! *

1140 IF STRIG(0> OR STRIG(l) THEN 1160 ELSE 1140 1160 CLS : GOSUB8600 : GOSUB800 s GOSUB9100 : : RETURN 1170 GOTO 1140 1500 ^ men end 1510 POKE WK+4,0 1520 MEN=MEN+1 . 1525 GOSUB 7800

1527 IF (MEN MOD 7)=1 THEN LOCATE 10,8:PRINT* ! ! BON 5041200 CEGCEGCEG*

1528 IF PLAY(8) THEN 1528 1530 LOCATE 10,10 1540 PR I NT BONUS =

1550 FOR 1=1 TO BN:

1560 SCR=SCR+1

PLAVS0 -

GOSUB 8

1575 IF P AY(0) THEN 1575 1588 NEXT I

1600 L -

1610 P 1670 G 1680 G 1690 RETURN

='+STR$(BNS) + '0'

LOCATE 10,12 PR I NT "ROUND *

6150 LOCATE 20-INKFX/2) ,14 6160 PR I NT ネノ'

6170 V=USK6<0)

6190 RETURN 6200 'START DEMO 6210 CLS:V=USR5(0)

6220 FOR 1=1 TO 4

6230 L0CATEI,15:PRINT' 1*ユ3 _

6240 LOCATE I, 16: PR I NT タチ ツテ _

6250 0CATEI,17sPRINT_ ナこ又

6260 NEXT I

6290 RESTORE 6900

6300 FOR K=0 TO 2 STEP 2

6310 FOR 1=1 TO 13

6320 READ P$

6330 FOR J=5 TO 12 6340 LOCATE J+4,16

6350 PRINT' *+P$

6360 NEXT J

6370 FOR J=28 TO 18 STEP -1 6380 LOCATE: J,16

6390 PRINT'^ '

6400 NEXT J

6410 FOR J=16 TO 6+K STEP -1 6420 LOCATE 16, J

6430 PRINT P$+ ■ネノ ^

6440 LOCATE 16,J+1

6450 PRINT - -

6460 NEXT J

6470 FOR J=16 TO I STEP -1 6480 LOCATE J.6+K

6490 PRINT P$+fc?y

6500 NEXT J 6510 LOCATE 1+1,6+K 6520 PRINT '

6590 NEXT I,K

6600 FOR 1=1 TO 6

6610 LOCATE 1,6

6620 PRINT' GREAT-FISH IMG ネパ

6630 LOCATE 1,8

6640 PRINT* (01983/ ASCI I ネパ

6650 NEXT I

6660 FOR 1=1 TO 4

6670 LOCATE I,6:PRINT_

6680 LOCATE I,8:PRINT' ぃぅ_;

6690 NEXT I

6700 FOR 1=4 TO 22

6710 LOCATE I, 15: PR I NT' ヨデ

6720 LOCATE I, 16: PRINT タチ f_

6730 LOCATE I, 17: PR I NT トナ

6740 NEXT I

6750 FOR 1=15 TO 17

6760 LOCATE 22, I: PR I NT'

6770 NEXT I 6800 RESTORE 6920 6810 FOR 1=0 TO 6 STEP 2 6820 READ P$

6830 LOCATE 5,1+12 6840 PRINT P$

6850 NEXT I 6890 RETURN

6900 DATA G,R,E,A,T,-,F,I,S,H,I 910 DATA (,C,),1,9,8,3,/,A,S,C 6920 DATA GAME PROGRAM FOR MSX

7830 RETURN

8000 / INITIO

8010 SCREEN1 ,

8011 KEY1,'SC

8012 IF PEEK<

ll,l,0,2,0:COLOR 15,4,0 :KEY

EK(&HB000)O&HC3 THEN BLOAD' 8013 UK=&HEF00 : FT=WK+&H80 : HSC=300 8020 DEF USR1=&HB000: "MASHINE LANGUAGE 8030 DEF USR2=&HB003: MOVE FISH 8040 DEF USR3=8.HB006s,MOVE BOSS 8050 DEF USR4=&HB00C:/PUT SPACE ON BAC

8055 DEF USR5=&HB009:^SET PCG PATTERN

8056 DEF USR6=&HB00F:'MOVE SPRITE PATT 8058 POKE UK+13,INT<BASE(7)/256) - +12,(BASE(?) AND 255)

8059 POKE WK+12,(I 8064 GOSUB 6200

5010 : DEFINE SPRITE 5300 FOR 1=0 TO 3

5310 PUTSPR I TE 1*3 •( 20+1*99 , 100+1 *16 ), 12 1*3 5320 PUTSPR I TE1+I*3, (20+1*99, 116+1*16), 12, 1+1*3 5330 PUTSPR I TE2+ 1*3,(20+1*99,132+1*16),10,2+1*3 5350 NEXT I

5370 PUTSPR I TE13 , ( 210 , 164 ) , 14 , 9 5490 RETURN

FOR J=0 TO 7

'♦ R$=R$+CHR$( VAL ( &H _ +P$) ) SPRITE$(I)=R$