《Site Map》
:HOME  > Who am I  > 2007年夏のプログラミングシンポジウム

BASIC、ときどき機械語

 PaloAlto のTINY BASIC が出て、はや30年。 NEC の PC-8001 も、そろそろ30年になろうとしています。
 カードや紙テープから脱却し、キーボードと画面でインタラクティブにプログラムするようになったのは、 この頃のパソコンのおかげではないでしょうか?
 多くの人が、いまだに BASIC で書け…といわれると、何かしらのものを書くことができるのではないでしょうか。 それだけ、BASIC は私たちの心に深く影響を与えてしまったのです。
 一方、TINY BASIC を移植するということは、機械語の勉強にもなりました。 少ないメモリという環境が、我々の創造性をふるいたたせてくれたのです。 おかげで、今でも16進でプログラムを読み書きできます。
 こういったことは、今の時世ではなかなか経験できないことです。 できれば、今、計算機の勉強を始めた人には、少資源という逆境のなかで、創造性をのばしてもらいたいと思います。


●報告書原稿(PDF)
●発表資料(ppt:3.5MB)
(sound:4MB)
●プログラム・リスト
モニタ(PRN)(HEX)
インタプリタ(PRN)(HEX)http://www.cpm.z80.de/roche/PCWPATB.ASM を元に変更。
StarTrek(HEX)http://www.dunnington.u-net.com/public/startrek/startrek.asc より
●使用部品
CPUボード(AKI-80)(秋月電子)
ROM(27C256)(秋月電子)
USB-232C 変換IC(FT232RL)(秋月電子)
 ↑用変換基板(ダイセン)
USB コネクタ&変換基板(ダイセン※基板のピン番号が異なっている)
●開発環境
CP/M エミュレータcpm32_02.lzh
マクロアセンブラmac-b.zip
ROMライター(秋月電子)

●配線
USB コネクタ〜FT232RL
コネクタ:FT232RL
------─:─-----
  D+:3←─→15:USBDP

  D-:2←─→16:USBDM

Vbus:1───20:Vcc

 GND:4─┬─ 7:GND
       ├─18:GND
       ├─21:GND
       └─25:AGND
FT232RL〜AKI-80
 FT232RL : AKI-80
-------─:─--------
 TXD: 1──→CN2-4 :RXDA

RTS#: 3──→CN2-10:/CTSA

 RXD: 5←──CN2-5 :TXDA

CTS#:11←──CN2-7 :/RTSA

 Vcc:20─┬─CN1-1 :Vcc
        └─CN1-2 :Vcc

 GND: 7─┬─CN1-3 :GND
 GND:18─┼─CN1-4 :GND
 GND:21─┤
AGND:25─┘
AKI-80
        AKI-80 : AKI-80
-------------─:─-------------
ZC/TO0:CN3-20─┬→CN2-3:RXCA
              └→CN2-6:TXCA

 RESET:CN1-7 ─(SW)─GND:リセット

オプション(高輝度LED使用、R=22KΩ:0.15mA弱で点灯)
共通
     Vcc ─ R ─(▶|)─ GND:電源

FT232
CBUS0:22 ─ R ─(|◀)─ Vcc:USB-TX
CBUS1:23 ─ R ─(|◀)─ Vcc:USB-RX

AKI-80
    A0:CN4-11 ─ R ─(▶|)─ GND
    A1:CN4-13 ─ R ─(▶|)─ GND
    A2:CN4-15 ─ R ─(▶|)─ GND
    A3:CN4-17 ─ R ─(▶|)─ GND
    A4:CN4-19 ─ R ─(▶|)─ GND
    A5:CN4-21 ─ R ─(▶|)─ GND
    A6:CN4-23 ─ R ─(▶|)─ GND
    A7:CN4-25 ─ R ─(▶|)─ GND
    A8:CN4-24 ─ R ─(▶|)─ GND
    A9:CN4-22 ─ R ─(▶|)─ GND
   A10:CN4-16 ─ R ─(▶|)─ GND
   A11:CN4-20 ─ R ─(▶|)─ GND
   A12:CN4-18 ─ R ─(▶|)─ GND
   A13:CN4-26 ─ R ─(▶|)─ GND
   A14:CN4-12 ─ R ─(▶|)─ GND
   A15:CN4-14 ─ R ─(▶|)─ GND

    D0:CN4-4  ─ R ─(▶|)─ GND
    D1:CN4-3  ─ R ─(▶|)─ GND
    D2:CN4-6  ─ R ─(▶|)─ GND
    D3:CN4-5  ─ R ─(▶|)─ GND
    D4:CN4-8  ─ R ─(▶|)─ GND
    D5:CN4-7  ─ R ─(▶|)─ GND
    D6:CN4-10 ─ R ─(▶|)─ GND
    D7:CN4-9  ─ R ─(▶|)─ GND

 /RFSH:CN1-5  ─ R ─(|◀)─ Vcc
   /M1:CN1-6  ─ R ─(|◀)─ Vcc
/BUSAK:CN1-10 ─ R ─(|◀)─ Vcc
 /HALT:CN1-15 ─ R ─(|◀)─ Vcc
   /WR:CN1-11 ─ R ─(|◀)─ Vcc
   /RD:CN1-12 ─ R ─(|◀)─ Vcc
 /IORQ:CN1-13 ─ R ─(|◀)─ Vcc
 /MREQ:CN1-14 ─ R ─(|◀)─ Vcc