2018年11月22日木曜日

NAKAMOZU TINY BASIC(NTB)をROMに焼いてみた

🔀NTBとSWTBUGもどきMonitorを1つのアセンブルソースリストに合体🔀

ntbmixdv7.zip
(ntbmixdv7.asm,ntbmixdv7.LST,ntbmixdv7.HEX,ntbmixdv7.bin)
🔀SBC6809の記事は【SBC6809をつくる】です🔀
SBC6800 2種とSBC-IO 2枚の組合せでプログラムの試験を実施

1. 当Blogの環境と条件
 ★PC:
  ・ TeraTerm Setup
    - Terminal
      New line Receive  : AUTO
      Auto switch(VT<->TEK) ☑️
図1サンプルプログラム起動時
    - Serial port
      Transmit delay :
       この設定はPCとの相性で、適宜変更を要する。以下は当Blogの例示
図2 S ファイルの読込み時
図3 BASICプログラム読込み時(CPU clock 1MHz)
clock 614KHzの時は20msec/char必要
  ・ Xgpro TL866II Pus
    Universal Programmer EEPROMの焼き込み


 ★SBCシリーズの製作:
  SBC6800 (スイッチサイエンス)  *32KBRAMの実装で試験
  SBC6800 Adapter Rev.02 (ORANGE pico)
  SBC-IO Rev.02  (ORANGE pico) *16KBRAM、MC68B21、MC68B50の実装
  SBC-BUS Rev.02 (ORANGE pico)

 ★稼働時の消費電流:
  4.83V  0.22A  

 SBC6800+IOとMEK6800 DIIのメモリ構成
図4 メモリマップ

2. ソースリストのメモリ割当
ROM(図4の$E000-$FFFF)
 *NTB                            $F300  -  $FF38
 *TBUG(SWT extension) $E600  -  $F2B6
   VRAM CONTROLを含む
 *MIXDBUG                   $E000  -  $E5CB
RAM(図4の$0000-$5FFF)
  *TBUG                        $A100  -  $A1FF   STACK&WORK
  *MIXDBUG                  $A000  -  $A0FF   STACK&WORK
  *NTB                            $4000  -  $5FFF  VRAM予約
                                        $2000  -  $3FFF    BASICプログラム
                                        $0000  -  $00FF    WORK
RAM(空き領域)
 *          $A200  -  $DFFF
 *          $6000  -  $7FFF
 *          $0100  -  $1FFF

3. EEPROMに焼き込む
  • 使用したEEPROM(32KB)
   ・CATALYST CAT28C256P
   ・ATMEL AT28C256 15P
  • Select ICで 32KB AT28C256を選択し、「TO Buffer Start Addr(HEX)」を 6000に設定する。
  • File ntbmixdv7.binを読み込む。



4. BASICの起動
  • SBC6800にEEPROMを挿して、電源ONするとMonitorのプロンプト「$」が表れる。
  • ZコマンドでNTBが起動し、プロンプト「>」となる。
  • プログラムのSAVE、LOADはSBC-IOのACIA(MC6850)からも可能になっている。
5. サンプルプログラム
 ★電子音楽プログラム【denonv1.S】をロードした後、
 ★Serial portのTransmit delay 10msec/charに変更(図3)する。
 ★Copy&Pasteで次のプログラムを入力する。
 ★USER($01A0,X,C)は、先頭番地$01A0の電子音楽サブルーチンです。
10 REM *** KEY TUNE PROGRAM ***
20 IN. "PITCH :" A
30 IN. "LENGTH:" B
40 N=0
50 DO:N=N+1
60 C=B*$100+A
70 K=USER($01A0,X,C)
80 U.(N>100)
90 GOTO 20
130 END
  • RUNで起動、電子音楽サブルーチンの音階テストが動作する(図1、2、3)
  • コントロールCで終了する。
★その他のサンプルプログラム
    【プログラムの置き棚】のSBC68IOフォルダ
 *MIXDBUG Monitorでtekv1.Sをロードした後、NTBasicのTEKDEMO.txtを走らせる。
TEK 4010 DRAWING DEMO
*置き棚のBASICPROフォルダにあるプログラム(NTB関連記事より引用)
  checksum.txt  メモリダンプ
  EXPkeisan.txt  指数の計算
  sosukeisan.txt  素数の計算
  PAIkeisan.txt   πの計算
  
6. 参考
 ASCII, VOL.3, #4 April, 1979 記事 表3 変更箇所(1)とROMとの対応表

😄twitterは  @Leo_yumesichi

以上 

0 件のコメント:

コメントを投稿

SBC6800+SBC-IOのサンプルプログラム(3)TEK4010 Emulation

SBC6800のVRAM出力をTEK4010 Emulationでシミュレーションする 【当Blogのプログラムファイル置き棚のリンク先】 1. 当Blogの環境と条件  ★PC:    ・  TeraTerm   Setup     - Terminal ...

これまでによく読まれた記事