ここから本文です
Dr.Kikkie (KIKI) : 不許無断天才|免責:本稿を真に受けて損害があっても知らん。

書庫過去の投稿日別表示

全1ページ

[1]

テープ版プログラムの発掘作業で、ずいぶん散らかってしまいました。F900やらFS5500F2やらHC95やら、かさばる!ちゅうねん。
というわけで、作業棚の上に積み上げてみました。積み上げるの好きですなあw

の棚の向かって左のほうにGTが見えますな。都合3台あります。真ん中のセパレートタイプは、HB-F900で本体が4台、HBI-F900が2台あります。右端は概ねナショナルで、FS5500F2が1台、F1も1台あります。CF-3000もなぜか2台あります。大したことないのにね。パイオニアのPX-7が1台。ビクターのCH95が1台。それらの上に、HB-XV2台やら、CFなんやら、FSなんやらがバラバラっと(笑)

イメージ 1

下の棚は本来作業棚ですが、立て込んできました。
いっぱい端子のあるお尻を向けているのは、上がXRGB-3、下がXSELECT-D4、分かる人には分かる機械です。あとはDELLの700m、I・O DATAのディスプレイ、SONYのトリニトロン・ディスプレイ。
カシオのMX-10がちらっと見えてるのがご愛嬌ですな。拡張スロット付きで3スロット、プリンタ端子付になっています。

下の棚の下もスライド式の作業机になっていて製図器付きのトレース台がでーんとあります。昔、マンガとかテクニカル・イラスト描いていた名残りです。

さて、ここにあるMSXで全部、ではないのですわ。
他にもカシオの安いのが10台ぐらい、東芝も10台はあるかな? ナショナルのCF-2000だったかも2台はあったかな? その他、プリンタが確か計3台。スキャナが2台。カートリッジたくさん、フロッピーたくさん・・・、まったく、どうしようってんですかね。

MSX以外にもPCはいくつもあって、タブレットだけで大小4枚あります。プリンタ4台あります。スキャナ4台あります。オシロスコープ、工具、部品、ケーブル・・・、寝床まで圧迫されています。50cm幅で寝てます(本当ですよ!笑)
くたばる前に、特殊清掃業者に見積もり取らないけませんなあ。
一部の方に朗報!

『Z80マシン語ランド』掲載の「マシン語モニタ」のサルベージに成功しました。気の付いた文字化けは直しましたが、まだ残っているかもしれません。使い方は書籍を持っていないとよく分からないかもしれませんね。
残念ながら、難物の「ディスアセンブラ」と「アセンブラ」はサルベージできませんでした(ー人ー)なまんだぶだぶ。

1000 '
1010 ' BASIC MONITOR/ MSX
1020 ' Z80 マシン語ランド
1030 '
1040 :
1050 CLEAR 200,&HEFFF:DEFINT I-N
1060 SCREEN 0:WIDTH 40:COLOR15,4 :KEY OFF:DIM C(7):K=1
1070 DEFFNV(D$)=VAL("&H"+D$)
1080 DEFFND$(A)=RIGHT$("0"+HEX$(PEEK(A)),2)
1090 DEFFNA$(A)=RIGHT$("000"+HEX$(A),4)
1100 PRINT "Basic-Monitor/ MSX"
1110 :
1120 PRINT:LINE INPUT">";CL$
1130 K=INSTR(" DSGX",LEFT$(CL$,1))
1140 IF K=0 THEN PRINT "?":BEEP:GOTO 1120
1150 IF K=1 THEN 1120
1160 IF K=5 THEN PRINT:END
1170 S=FNV(MID$(CL$,2,4))
1180 IF S<0 THEN S=S+65536!
1190 IF MID$(CL$,2,1)="," THEN S=RE+1
1200 ON K-1 GOTO 1230,1550,1660
1210 :
1220 ' DUMP
1230 IF INSTR(CL$,"/P") THEN LP=1 ELSE LP=0
1240 IF CL$="D" OR CL$="D/P" THEN S=RS:E=RE:GOTO 1320
1250 K=INSTR(CL$,","):IF K=0 THEN 1290
1260 E=FNV(MID$(CL$,K+1,4))
1270 IF E<0 THEN E=E+65536!
1280 IF E THEN 1310
1290 E=S+31
1300 IF E>65535! THEN E=E-65536!
1310 RS=S
1320 PRINT FNA$(S);
1330 IF LP THEN LPRINT FNA$(S);" ";
1340 SM=0:FOR I=0 TO 7
1350   PRINT " ";FND$(S);:SM=SM+VAL(FND$(S))
1360   IF LP THEN LPRINT" ";FND$(S);
1370   DMY$=INKEY$:IF DMY$=" "THEN K=K*-1
1380   C(I)=PEEK(S)
1390   S=S+1:IF S=65536! THEN S=0
1400   IF S>E OR DMY$=CHR$(27) THEN K=1:M=1:GOTO 1430
1410   IF K<0 GOTO 1370
1420 NEXT I:I=I-1
1430 PRINT TAB(29);
1440 IF LP THEN LPRINT TAB(30);
1450 FOR J=0 TO I
1460   IF C(J)>31 THEN D$=CHR$(C(J)) ELSE D$="."
1470   IF C(J)>253 OR C(J)=127 THEN D$="."
1480   PRINT D$;
1490   IF LP THEN LPRINT D$;
1500 NEXT J:PRINT ":";RIGHT$("00"+HEX$(SM),2):PRINT CHR$(&H1E);:IF LP THEN LPRINT
1510 IF M=0 THEN 1320
1520 M=0:RE=S-1:GOTO 1120
1530 :
1540 ' SUBSTITUTE
1550 IF CL$="S" THEN S=RS ELSE RS=S
1560 PRINT FNA$(S);" ";FND$(S);"--";CHR$(255);
1570 D1$=INKEY$:IF D1$=""THEN 1570
1580 IF D1$=CHR$(27) THEN PRINT CHR$(8);" ":RE=S-1:GOTO 1120
1590 IF D1$=CHR$(13) THEN PRINT CHR$(8);" ":GOTO 1620
1600 PRINT CHR$(8);D1$;:LINE INPUT D$
1610 D$=RIGHT$(D1$+D$,2):POKE S,FNV(D$)
1620 S=S+1:IF S=65536! THEN S=0
1630 GOTO 1560
1640 :
1650 ' GO
1660 IF CL$="G" THEN S=RS ELES RS=S
1670 PRINT"Start adds:";FNA$(S);"H Ok";:INPUT D$
1680 IF D$="Y" THEN DEF USR=S:D=USR(0)
1690 GOTO 1120

さらに!『パワーアップマシン語入門』(著:瀬木信彦・MSXマガジン編集部、出版:アスキー出版局 1987年8月)に掲載されていた「周波数カウンタ」もサルベージ。カセットI/Fの入力端子から入力された信号の周波数をカウントするものです。信頼性がどの程度か分かりませんが、このアイデアには脱帽しました。これも、原理は書籍を読まないと分からないかもね。マシン語のメモリへのローダー部分は、ぼくが付け加えました。
マシン語領域をズラせばディスクとも共存できるかもしれません。

1000 '==================
1010 '
1020 '  周波数カウンタ
1030 '
1040 '==================
1050 '
1060 '  イニシャライズ
1070 '
1080 SCREEN 0:WIDTH 40:COLOR 15,4,4:CLS
1090 CLEAR 200,&HEFFF:KEY OFF
1100 PRINT:PRINT"マシンゴ LOADING...":PRINT
1110 SA=&HF000'  スタート アドレス
1120 EA=&HF0AF'  エンド アドレス
1130 '
1140 '  ループ
1150 '
1160 RESTORE 3000:LN=3000
1170 FOR AD=SA TO EA STEP 8
1180   S=0 :PRINT HEX$(AD);" ";
1190   FOR I=0 TO 7
1200     READ DA$:PRINT DA$;" ";
1210     D=VAL("&H"+DA$)
1220     POKE AD+I,D
1230     S=S+D
1240   NEXT I
1250   SS=VAL(RIGHT$(HEX$(AD+S),2))
1260   READ SC$:SC=VAL(SC$):PRINT ":";SC$
1270   'IF SS<>SC GOTO 1370
1280   LN=LN+10
1290 NEXT AD
1300 '
1310 '  ENDルーチン
1320 '
1330 PRINT:PRINT "マシンゴ ヲ RUN シマスカ ? (Y/N)
1340 A$=INKEY$:IF A$="" GOTO 1340
1350 IF A$="Y" OR A$="y"  THEN DEFUSR1=&HF000:A=USR1(0)
1360 END
1370 PRINT "Check Sum Error in ";LN
1380 END
1390 '
1400 '  DATA エリア
1410 '
3000 DATA 3E,00,32,AF,FC,CD,5F,00,37
3010 DATA CD,C3,00,3E,48,32,06,F1,37
3020 DATA 3E,7A,32,07,F1,3E,00,32,52
3030 DATA 08,F1,01,7A,DA,21,00,00,77
3040 DATA CD,38,F0,CD,64,F0,21,0B,52
3050 DATA 0C,CD,C6,00,21,01,F1,CD,97
3060 DATA 9A,F0,CD,B7,00,D8,18,E2,00
3070 DATA F3,3E,0E,D3,A0,DB,A2,07,5E
3080 DATA D2,4C,F0,13,0B,78,B1,C2,47
3090 DATA 3D,F0,FB,C9,13,0B,78,B1,70
3100 DATA C2,55,F0,FB,C9,DB,A2,07,8F
3110 DATA D2,4C,F0,23,0B,78,B1,C2,6F
3120 DATA 3D,F0,FB,C9,01,10,27,CD,46
3130 DATA 8F,F0,32,01,F1,01,E8,03,E7
3140 DATA CD,8F,F0,32,02,F1,01,64,36
3150 DATA 00,CD,8F,F0,32,03,F1,01,DB
3160 DATA 0A,00,CD,8F,F0,32,04,F1,ED
3170 DATA 7D,C6,30,32,05,F1,C9,AF,8B
3180 DATA 3C,ED,42,30,FB,09,3D,C6,22
3190 DATA 30,C9,7E,FE,00,C8,CD,A2,34
3200 DATA 00,23,18,F6,00,00,00,00,C1
3210 DATA 00,00,00,00,00,00,00,00,98
 
同じく『パワーアップマシン語入門』から、「周波数カウンタ」を応用した「スペクトラム・アナライザ」もサルベージ。周波数ごとに動的に音の大きさを表示します。オーディオ装置でたまに見かけるやつですね。これまた信頼性はどの程度か分かりませんが、とにかくMSXでここまでできるという点に「おお!」とびっくらこきます。フォント書き換えのワザをさりげなく使っていますね。マシン語領域をズラせばディスクと両立できるかもしれません。

1000 CLEAR 100,&HEFFF
1010 SCREEN 1
1020 COLOR15,4,4:KEY OFF
1030 FOR I=0 TO 63
1040 READ D
1050 VPOKE I+1536,D
1060 NEXT
1070 LOCATE 0,3
1080 PRINT " タチチチチチチチチチチチチチチチチチチチチチチチチチチツ"
1090 FOR J=1 TO 15
1100 PRINT " テ                          テ"
1110 NEXT
1120 PRINT " トチチチチチチチチチチチチチチチチチチチチチチチチチチナ"
1130 PRINT "   .2 .5 1K   2K 3K5K  10K  "
1140 RESTORE 1290
1150 FOR J=&HF000 TO &HF167
1160 READ D$:D=VAL("&H"+D$)
1170 POKE J,D
1180 NEXT
1190 DEFUSR=&HF000
1200 A=USR(0)
1210 DATA 0,0,15,31,63,63,62,60
1220 DATA 0,0,255,255,255,255,0,0
1230 DATA 0,0,240,248,252,252,124,60
1240 DATA 60,60,60,60,60,60,60,60
1250 DATA 60,62,63,63,31,15,0,0
1260 DATA 60,124,252,252,248,240,0,0
1270 DATA 0,0,0,0,0,254,254,254
1280 DATA 0,254,254,254,0,254,254,254
1290 DATA 21,00,C0,36,00,2C,20,FB
1300 DATA 16,00,26,C0,06,00,CD,F6
1310 DATA F0,34,15,20,F7,06,17,21
1320 DATA 5B,02,ED,5B,BD,F3,19,11
1330 DATA 01,C0,22,F2,BC,ED,53,F0
1340 DATA BC,C5,CD,6F,F0,2A,F0,BC
1350 DATA 7E,3C,CD,7E,F0,21,00,C1
1360 DATA CB,38,28,06,36,C7,23,05
1370 DATA 18,F8,0F,30,02,36,C6,06
1380 DATA 0F,2A,F2,BC,11,00,C1,C5
1390 DATA 1A,CD,4D,00,1C,01,E0,FF
1400 DATA 09,C1,10,F3,2A,F2,BC,2B
1410 DATA ED,5B,F0,BC,13,C1,10,BA
1420 DATA CD,B7,00,D8,C3,00,F0,C5
1430 DATA E5,06,10,21,00,C1,36,20
1440 DATA 23,10,FB,E1,C1,C9,D5,E5
1450 DATA 47,FE,0A,38,6E,06,0A,FE
1460 DATA 0C,38,68,FE,0E,38,63,FE
1470 DATA 10,38,5E,FE,12,38,59,FE
1480 DATA 14,38,54,FE,17,38,4F,FE
1490 DATA 1A,38,4A,FE,1E,38,45,FE
1500 DATA 22,38,40,FE,26,38,3B,FE
1510 DATA 2A,38,36,FE,2F,38,31,FE
1520 DATA 34,38,2C,FE,39,38,27,FE
1530 DATA 3F,38,22,FE,45,38,1D,FE
1540 DATA 50,38,18,FE,5F,38,13,FE
1550 DATA B4,38,04,06,1F,18,14,04
1560 DATA 04,04,04,04,04,04,04,04
1570 DATA 04,04,04,04,04,04,04,04
1580 DATA 04,04,04,04,04,04,04,04
1590 DATA 04,04,04,E1,D1,C9,F3,2E
1600 DATA 00,DB,A2,5F,DB,A2,AB,FA
1610 DATA 0A,F1,05,CA,1B,F1,00,C3
1620 DATA FC,F0,7B,2F,5F,DB,A2,AB
1630 DATA FA,23,F1,05,CA,1F,F1,2C
1640 DATA C3,0D,F1,FB,2E,00,C9,FB
1650 DATA 2E,18,C9,FB,7D,FE,0F,D8
1660 DATA FE,12,38,1F,FE,15,38,1E
1670 DATA FE,18,38,1D,FE,1D,38,1C
1680 DATA FE,25,38,1B,FE,31,38,1A
1690 DATA FE,3C,38,19,FE,4A,38,18
1700 DATA 2E,17,C9,2E,0F,C9,2E,10
1710 DATA C9,2E,11,C9,2E,12,C9,2E
1720 DATA 13,C9,2E,14,C9,2E,15,C9
1730 DATA 2E,16,C9,00,00,00,00,00

こういうのを見せつけられると、ああ、BASICよりアセンブラだよなぁと思いますね。いやいや、BASICにもいいところはあるんですよ。よく巨大掲示板で「どっちの言語ほうがエライ」みたいな不毛な議論をしてますが、適材適所に使い分ければいいのです。使い分けるスキルが問われますけどね(・∀・)b

著作権法的には、マシン語の面白さを説くため、出典を明示のうえ許される範囲で引用したつもりです。もし不都合な点があればご連絡ください。MSXの再興にご理解いただければ幸いです。

最後に愚痴を。SONYのF900やF1XV、ナショナルFS5500F2、ビクターHC95まで軒並みFDDが死んでました。FDDが元気なGTにはカセットI/Fがありません。なんでこう、うまくいかない!
結局、F900に戻ってSunriseのCFカートリッジにCFスロット対応のカードリーダーを挿し込み、SDカードに保存しました。
昭和の人間の底力を見せちゃる!という悲壮感が、現場には漂っておりました。疲れた〜(*´Д`*)
あ、1チップMSXのカセットI/F機能を使えばよかったのかw

全1ページ

[1]

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16
17
18
19
20
21
22
23 24 25
26
27
28
29
30
31

過去の記事一覧

最新のコメント最新のコメント

すべて表示

kik**41010
kik**41010
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について

よしもとブログランキング

もっと見る
本文はここまでですこのページの先頭へ

[PR]お得情報

ふるさと納税サイト≪さとふる≫
実質2000円で好きなお礼品を選べる
毎日人気ランキング更新中!
数量限定!イオンおまとめ企画
「無料お試しクーポン」か
「値引きクーポン」が必ず当たる!

その他のキャンペーン

みんなの更新記事