CPU | SC61860A02 576KHz |
SOUND | カウンタを使用 1声 |
ROM | 8K(内蔵)+16K(外部) |
RAM | 2KB+2KB+192 |
PC−1250に2KBのグレードアップRAMを載せ
4.2KBにしたポケットコンピュータ
PC−1250も当時メーカ有償でPC−1251同等可
CPUがかなり変わっていて面白い(でも遅い)
ある意味SC61860のスタンダードマシーン
個人的にPC−1245のようなスライドカバーが良かった
内蔵ROM
&0000−&1FFF
CPUに内蔵されているROM
プログラムROM
&2000−&3FFF
特化ROM?
BASIC ROMで数ヶ所
&2000〜&2004に特定のデータ(ID?)をチェックを行い
合致すれば&2000〜&3FFFをアクセスする
PC−1252等、実行専用の特殊なモデル用領域か?
&4000−&7FFF
BAISCROM
CPUのFO5端子でコントロールされいます
PC−1245/50/51/55では16KBになります
&4000−&7FFFが領域になります
また数バージョンがありエントリーアドレスが変わってしまい
CALL文で動作しない場合があります
バージョン
PC−1250/51 &7FFFが&F0がバージョン0
&00がバージョン1
拡張RAM
&8000−&BFFFが領域
CPUのFO4端子でコントロールされています
特定のモデルのみ搭載しているRAMになります
改造(I/O 1986年 6月号等)によって
PC−1245に16KBに増設して計18KBに記事があります
PC−1245/50なし
PC−1251 2KB
PC−1255 2KB×4
基本RAM領域
&C000−&DFFF
&C000−&C7FF(残りミラー?)
どの機種でも搭載しているRAMでFO3端子でコントロールされています
DISP領域
&F800−&F8BF
SC43636を使用、CPUのBO8端子でコントロールされています
LSI内には64バイト×3の計192バイトのRAMが内蔵
LCDに文字やドットを表示(1文字5バイト)するメモリ領域
“PRO”や“RUN”等シンボル表示
表示されないRAM領域にはキーデータ等にワークエリアとして使用
LCDは24桁×1行、ROMにフォントデータを持ち
グラフィックで文字表示を行ないます
DISPエリア(表示用RAM)は&F800からなのですが
1バイトは縦1ドットでBit0が最上でBit6が最下(Bit7は無視)
左12桁と右12桁2つに分け、
左12桁が左端から右へ&F800〜&F83Fから
右12桁が左端から右へ&F840〜&F87Fからとなります
I/Oポート
IA8:( 入力) キーデータ
IA7:(入出力) キーデータ、キーライン
IA6:(入出力) キーデータ、キーライン
IA5:(入出力) キーデータ、キーライン
IA4:(入出力) キーデータ、キーライン
IA3:(入出力) キーデータ、キーライン
IA2:(入出力) キーデータ、キーライン
IA1:(入出力) キーデータ、キーライン
IB8:(入出力) 外部端子
IB7:(入出力) 外部端子
IB6:(入出力) 外部端子
IB5:(入出力) 外部端子
IB4:( 入力) BRKキー
IB3:( 出力) キーライン
IB2:( 出力) キーライン
IB1:( 出力) キーライン
FO5:( 出力) プログラムROM /CE
FO4:( 出力) 拡張RAM /CE
FO3:( 出力) 基本RAM /CE
FO2:( 出力) 外部端子
FO1:( 出力) 外部端子
コントロール・ポート(出力)
Bit7:−
Bit6:BZ3 XOUT、XIN制御
Bit5:BZ2
Bit4:BZ1
Bit3:OFF パワーダウン 1=オン、0=オフ
Bit2:HLT クロック停止 1=オン、0=オフ
Bit1:CL カウンタリセット 1=オン、0=オフ
Bit0:DIS LCD表示 1=オン、0=オフ
・−−−−−−−−−−−−−−−−−−−−−−−−−・
|BZ3 BZ2 BZ1| Xout | Xin |
|−−−−−−−−−−−+−−−−−−+−−−−−−|
| 1 1 1 |Xinの信号| 可 |
| 1 1 0 |Xinの信号| 可 |
| 1 0 1 |HIGH | 可 |
| 1 0 0 |LOW | 可 |
| 0 1 1 |4kHz | 不 可 |
| 0 1 0 |2kHz | 不 可 |
| 0 0 1 |HIGH | 不 可 |
| 0 0 0 |LOW | 不 可 |
・−−−−−−−−−−−−−−−−−−−−−−−−−・
TEST(入力)
Bit7:Xinの信号
Bit6:TEST端子の信号
Bit5: −
Bit4: −
Bit3:KONの信号
Bit2: −
Bit1:C2 カウンタ 2msec.
Bit0:C5 カウンタ 0.5sec.
外部端子
本体LCD部分が上、手前のキーボード部分が下として
上から順に
12: ― MTout2 CMT出力データ音声
11:GND GND
10:VGG VGG 6V
9:FO1 (出力)BUSY デバイスデータ送信*
8:FO2 (出力)Din デバイス出力データ*
7:Xin (入力)MTin CMT入力データ
6:Xout(出力)MTout1 CMT出力データ
5:IB8 (入力)Dout デバイスからの出力データ*
4:IB7 (入力)ACK デバイスデータ受信*
3:IB6 (出力)SEL2 デバイス *
2:IB5 (出力)SEL1 CMTリモート *
1:FG シールド
注)ピンナンバはCE−125基準です
回路図によっては“2:IB5”が1ピンとなってずれる場合があります
*オープンドレイン出力の為、プルダウンにする必要あり
プリンタ、CMT−IFを接続するようになっていますが
ROMルーチンを見るかぎり
他の周辺機器がアクセス出来るようになっているみたいです
CMT−IF以外は外部周辺機器のCPUでシリアル通信を行い
最初にアクセスするデバイスコマンド指定
各デバイスごとに数値で送られている?(未確認)
&70:SIO SETCOM
&71:SIO OUTSTAT
&73:PRT LPRINT
&75:SIO CSAVE
&77:SIO INSTAT
&7A:SIO MAERGE
&7C:??? ROM
ブザー
CPUのXout端子から出力を行ないます
XoutはCPU内のカウンタ(LCDドライバクロック用2kHz)を利用し、
コントロールポート内のBZによって4kHzまたは2kHzの出力を行います
またテープ入出力の際にも音が出力するようになっています
CE−124の回路図(未確認)
TESTモード
ALL RESETを押すとTES端子も同時に押されることになっています
RES端子、TES端子はLになります
リセットは&0000番地にジャンプして
長押ししていると1回だけリセットになり、押している間TES端子はLのまま
内蔵ROMのプログラムは実行され続けられます
長押し続けることによりTESTモードの判断を行なう事になります
判断はTEST命令の
Bit6 1=RES、TES端子L、0=RES、TES端子H
で行なわれます
リセットSWを離すとRES端子、TES端子はHになります
キーボード
IB1〜3、IA1〜8の組み合わせによって
キースキャンを行ないます。
横のラインIB1〜IB3、IA1〜IA7のうち1つだけHにして
縦のラインIA1〜IA8を読むことでボタンが押されたか判断できます
<例>[ENTER]キーのチェック
IA6のみHにする
IA8を読む
押されていればIA6のHがIA8まで繋がるので
1=オン
0=オフ
となります
メモリ
&1172:Y −> X
入力:Y=データ、J=&01
出力:X=Yの内容
使用:P、Q
XレジスタにYの内容を転送します
MVB命令でブロック転送している為J=&01にする
&1177:X −> Y
入力:X=データ、J=&01
出力:Y=Xの内容
使用:P、Q
XレジスタにYの内容を転送します
MVB命令でブロック転送している為J=&01にする
&11C7:PUSH X
入力:X、J=&01
出力:スタック+2
使用:A、P、Q、R
Xレジスタの内容をスタックに保存します
MVB命令でブロック転送している為J=&01にする
&11D2:POP X
出力:X、J=&01、スタック−2
使用:A、P、Q、R
スタックの内容をXに取り出します
MVB命令でブロック転送している為J=&01にする
&11E0:LCDオン
使用:A、P、R5F
コントロール・ポートに&01を出力してLCD表示します
&11E5:LCDオフ
使用:A、P、R5F
コントロール・ポートに&00を出力してLCD消去します
&11E9:BA −> X
入力:BA=data
J =&01
出力:X =BA
使用:BA、X、P、Q
XレジスタにBAの内容を転送します
MVB命令でブロック転送している為J=&01にする
&11EE:BA −> Y
入力:BA=data
J =&01
出力:Y =BA
使用:BA、Y、P、Q
YレジスタにBAの内容を転送します
MVB命令でブロック転送している為J=&01にする
&400C:DISP1行転送
入力:R20〜R37=表示バッファ(左端〜右端)
R0A =カーソル位置(表示バッファのレジスタ)
J=&01
出力:&C6E9 =カーソル位置 &20〜&37
使用:BA、X、Y、K、L、P、Q
レジスタを1行(24文字)出力バッファとして
それに対応する内部コードの全文字出力を行います
R0Aは表示バッファR20〜R37に対応する場所のカーソル指定で
左端R20だと&20、右端&37だと&37が出力され
後でカーソル点滅等の作業に使用する為のものです
DISPエリアに適切にパターン転送するだけなので
LCDには表示されません
表示するには&11E0をコールする必要があります
&C6E1−&C6E2:BASICスタートアドレス
&C6E3−&C6E4:BASICエンド アドレス
&C7B0−&C7FF:バッファ
&F8BA−&F8BB:オートパワーオフ用タイマ
&F8BF :キーコード
Home へ戻る