2018年7月18日水曜日

当ブログ確定版:NAKAMOZU TinyBasicアセンブリソースリスト

🔂NAKAMOZU TINY BASIC🔂

当BLOG確定版ソースリスト

🔀付録MONITORのソースリスト🔀
★メモリダンプやメモリ変更、NTB起動★

1. アセンブリソースリストの内容
☆当Blog確定版は次のように整理☆
リストはntbv7.S, ntbv7.asm, ntbv7.LST, ntbv7.MAP, ntbv7.MAP, ntb7.bin
  • ntbv3.asmに残っていたゴミを取り除き,付録MONITORを含めたプログラム部分を$0A00-$1E60(5.5KB)にパックしました。
  • これで、Basicプロブラムテキストが$0100-$08C0までの約2KBになりました。
  • NTBインタープリッタ領域はNOPを挿入してオリジナルと同一の配置にしました。
  • 従って、NTBの記事に基づくbinaryレベルでの移植が可能です。

    • MONITORの開始番地 $0A00
    •             ☆ $0A00-$0CC3
    • NTBの開始番地    $0D00
    •             ☆ $0D00-$185A
    • VRAM制御ルーチン
    •         ☆ $185B-$1E60



★ソースレベルで移植するときのクロスアセンブラの作法の参照元は


2. MONITOR コマンド
  • ソースリストはVRAM制御ルーティンが含まれたままになっている。
    • D メモリダンプ
    • G 指定番地にジャンプ
      • G 0D00 改行でNTBスタート
    • J  NTBスタート
    • M メモリ書き換え
    • B,C,T 不明

  • MIKBUG→MONITOR→ NTB の順に起動しますが、スタックの処理が十分でないため、NTB→MIKBUGに戻る時にハングすることがある。
  • リセットでも解消しないため、POWER OFF→ONを必要とする。
  • 追加:MIKBUGから M 1F48 0D. 1F49 00を書き込んでG スタートすれば、MIKBUGNTBの往復が可能になる。



3. NAKAMOZU TINY BASIC
  •  素数の計算、EXP(指数)の計算、πの計算とも走ることを当BlogのSBC6800で確認しています。




  • Binaryでntbv7.binと当Blog所有のMEK6800D IIのPROMのNTBプログラム領域を比較したものです。



4.追加:ntbv7.SのSBC6800へのアップロード
  • Tera Term シリアル設定:送信遅延を下図のように設定すれば、1分以内で完了することを当Blog環境(Win10)で確認。


★未解決課題
  • プログラム(ASCIIの記事)を走らせるとわかるようにFOR NEXT,DO UNTIL実行時に「:」が出力されてしまう変竹林!
  • STACK処理が定かでないので、MONITOR実行中にハングすることがある。NTBでは無い。

  • Binaryでntbv7.binと当Blog所有のMEK6800D IIのPROMのNTBプログラム領域をなんども比較しているが、問題は見当たらない。



以上







0 件のコメント:

コメントを投稿

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

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

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