マイコン独立大作戦
ROM/RAM/RTCボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
独立大作戦の作戦その1はCRTインターフェースボードの製作です。
作戦その2はキーボードインターフェースです。
作戦その3は、SDカードインターフェースです。
作戦その4は、ROM/RAM/RTCボードです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第33回]
●ログが取れるようになりました!
ROM/RAM/RTCボードを作ろうと思ったそもそもの目的はマイコン独立システムで実行時のログが取れるようにしたい、というところにありました。
先日からそのためのプログラムを少しずつ作りながらテストをしてきましたが、やっとできあがりました。
まだもう少し補正しなければいけないところもありますが、ひとまず完成です。
ログはSDカードのLOGフォルダに記録されます。
記録を取ったSDカードをWindows7パソコンに接続して、ログを開いたところです。
ZB3BASICだけではなくて、上の画面にありますように、ZB3DOS(CP/M互換DOS)も記録されます。
下は上の画面で開いている09231822.LOGの中身です。
>dirZ . LOG . A .VFD B .VFD C .VFD D .VFD SQRTEST .TXT SZCCP1F .BIN SZCOPY1A.BIN SZINIT1D.BIN SZBDOS2G.BIN SZBDS2C .BIN >load sqrtest.txt8004-805F >list 10 FOR A=0 TO 10 20 PRINT "a=";A,"sqr(a)=";SQR(A) 30 NEXT A 40 PRINT "end" >runa=0 sqr(a)=0 a=1 sqr(a)=1 a=2 sqr(a)=1.41421 a=3 sqr(a)=1.73205 a=4 sqr(a)=2 a=5 sqr(a)=2.23607 a=6 sqr(a)=2.44949 a=7 sqr(a)=2.64575 a=8 sqr(a)=2.82843 a=9 sqr(a)=3 a=10 sqr(a)=3.16228 end >copmSZBDS2C.BIN drive D ................................ drive C ................................ drive B ................................ drive A ................................ A>dir A: MBASIC COM : STARTREK BAS A>mbasic BASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81 28728 Bytes free Ok load "STARTREK Ok run THE USS ENTERPRISE --- NCC-1701 ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' ,------*------, ,------------- '--- ------' '-------- --' / / ,---' '-------/ /--, '----------------' YOUR ORDERS ARE AS FOLLOWS: -------------------------- DESTROY THE 19 KLINGON WARSHIPS WHICH HAVE INVADED THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS ON STARDATE 2428 . THIS GIVES YOU 28 DAYS. THERE ARE 3 STARBASES IN THE GALAXY FOR RESUPPLYING YOUR SHIP. ARE YOU READY TO ACCEPT COMMAND ('N' FOR INSTRUCTIONS)? y YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED IN THE GALACTIC QUADRANT, 'CAPELLA I'. +--1---2---3---4---5---6---7---8-+ 1 | <E> * | 1 STARDATE 2400.0 2 | | 2 CONDITION GREEN 3 | * * | 3 QUADRANT 3 , 5 4 | * | 4 SECTOR 1 , 7 5 | | 5 PHOTON TORPEDOES 10 6 | * | 6 TOTAL ENERGY 3000 7 | * * * | 7 SHIELDS 0 8 | | 8 KLINGONS REMAINING 19 +--1---2---3---4---5---6---7---8-+ COMMAND? ^C Break in 2060 Ok system A>zb3 >mon |
ZB3BASICのシステムルーチンの画面表示は通常の画面表示とは異なるルーチンを使っているため、改行がログに反映されません。
たとえば一番上のDIRはその後ろで改行しているのですが、ログでは改行されません。
その下のLOAD、LIST、RUNコマンドのところも同じです。
なおDIRコマンドのファイル表示は改行を含まず全部を連続して表示しますからログでも改行されません。
スクリーンの表示では80字を表示すると自動的に改行表示が行なわれます。
それから[BS]などの特殊キー操作はログには反映されません。
上のログでCPMを起動しているところが
copmSZBDS2C.BIN
となっています。
cpmと入力するつもりがcoと入力してしまったため[BS]で戻って[o]を消してpm[Enter]と入力しました。
[Enter]もログには反映されませんから続いてシステムによってZBDS2C.BINと表示されました。
ログファイルはND80Zモニタから[I/O][8]でZB3BASICを起動したときにオープンされます。
その後は512バイト表示されるごとにSDカードに記録保存されていきますが、リセットするなどでシステムをいきなり終了すると、最後の512バイトに満たない部分が記録されません。
そのためにMONというコマンドを新しく作りました。
ZB3BASICでMON[Enter]と入力するとログの最後の残りをログファイルに記録してファイルクローズしたあとND80Zモニタに戻ります。
下はMONコマンドを入力してZB3BASICシステムを終了したあとの画面です。
そのときの全体の様子です。
左にあるのはND80Z3.5(試作基板を利用しています)です。
MONコマンドでND80Zモニタに戻りましたから7セグメントLEDの表示はオール0になっています。
真ん中にあるのはCRTインターフェースボードです。
ボードの上にカラーキャラクタディスプレイボードが載っています。
その右はSDカード/PS2キーボードIFボードです。
その左側、キーボードの右上にあるのはROM/RAM/RTCボードです。
ROM/RAM/RTCボードの製作[第33回]
2017.9.23upload
[総合第90回]へ
前へ
ホームページトップへ戻る