1 / 14

BASIC、ときどき機械語

BASIC、ときどき機械語. 田中二郎@日本橋学館大学. 30 年以上の昔から・・・. 真空管でラヂオ(12AU7) トランジスタの登場(2SB56) 電気工作(2SC372) デジタル回路(TTL 7400) 計算機?(ALU 74LS181) マイコン. お小遣いとの闘い. 少ない予算 めざせ、高性能! 創意工夫 1024×1 を8ヶよりは、 256× 4を2ヶ 周辺回路は自作 入出力はスイッチとLED               ↑ちょっと豪勢. SADCOM 80-1. CPU:TMS8080ANL Clock:μPD8224D

goldy
Télécharger la présentation

BASIC、ときどき機械語

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BASIC、ときどき機械語 田中二郎@日本橋学館大学

  2. 30年以上の昔から・・・ • 真空管でラヂオ(12AU7) • トランジスタの登場(2SB56) • 電気工作(2SC372) • デジタル回路(TTL 7400) • 計算機?(ALU 74LS181) • マイコン

  3. お小遣いとの闘い • 少ない予算 • めざせ、高性能! • 創意工夫 1024×1を8ヶよりは、256×4を2ヶ • 周辺回路は自作 • 入出力はスイッチとLED               ↑ちょっと豪勢

  4. SADCOM 80-1 • CPU:TMS8080ANL • Clock:μPD8224D   ⇒2MHz • メモリ:μPD2101AL-4×2   ⇒256Bytes

  5. 開発環境 • ハードウェアで、手いっぱい • メモリ容量が少ない(256Bytes) • 入力が手動スイッチ • ハンドアセンブルで十分 • 機械語を記憶してしまう   ・・・・・・三つ子の魂100まで・・・・・・

  6. マイコン環境 • 電気屋でバイト • PDA-80(TK-80用開発機) • テレタイプ=紙テープが使える   ⇒長いプログラムが書ける • 最初につくったのは、逆アセンブラ   ⇒モニタなどを解析

  7. BASIC • TINY BASIC 大流行 • DDJ(PaloAlto TinyBASIC) • Interface Age(POTATO BASIC) • アスキー(電大版BASIC) • インタプリタのソースを読む   ⇒勉強になった • でも、目的は・・・・・・   ⇒StarTrekゲーム

  8. パソコン登場 • TK-80BS • COMPO/BS   カセット再生ができる   ⇒音楽付きゲーム • PC-8001 BASICがROMに入ってる   =中身がわからない   ⇒解析だぁ~!

  9. 手段はBASIC • BASICで書く逆アセンブラ   評判がよかった?   ⇒雑誌記事に • エディタやアセンブラもBASICで書く   ⇒やったことは、DOSの改良 • 解析好き PC-8801、PC-6001の逆アセンブル   ⇒やはり、雑誌記事に

  10. 解析する側から、される側へ • パソコン用BASICインタプリタ作成のバイト • 遅いクロック   =部品を減らすために、ビデオのクロック採用 • 少ないメモリ  =開発中に、BIOS側にメモリをとられる • 実行クロック数・バイト数を数えよう   1クロック減るなら、数百行書き換える(^^   ⇒マニア受けする機械になった

  11. 現在・・・ • Z80の機械語・クロック数は、まだ覚えてる • 「論よりRUN」で開発    ↑基礎ができていれば、という条件付き • インタープリタ系言語が、やっぱり好き • perl でちょこちょこっと書く、今日この頃   ⇒perl で逆アセンブラを書いちゃいました

  12. PaloAltoTinyBasic + StarTrek • 当時を思って、作ってみました   ・インタープリタ=2KB   ・ゲーム=5.5KB   ・モニタ=3KB • 当然、逆アセンブラ付き(^^ • ゲームに、間違いを見つけた • メモリが余る  ⇒ほかに何をいれよう?

  13. AKI-80 • Z80コンパチ(CPU+CTC,SIO,PIO) • 12MHz • ROM:32K, RAM:32K • USB-Serial変換:FT232RL

  14. Q&A • 動きはじめるまで、1日かからない • 9600bps, 8-bits, 1-stop, no-parity   割り込みは使っていません • LEDが光るのは、計算機として当然!   高輝度LEDを0.1mA程度で使用 • 電池がCPU板上だと、可愛くない

More Related