68Katy-ae Rev01のTSOPでμClinux

68Katy-ae Rev03でTSOPのROMを付けて頂いている方様に68Katy-ae Rev01でのTSOPを使用したμClinux起動を紹介します。

181105001.png

DIPフラッシュ(ROM0)から起動後に、起動したフラッシュの0x00000-0x77FFFをTSOPフラッシュにコピーします。

コピーはflash-utilにMX29F040対応および、RAMの転送等を設定したflash-util_allを作成して行いました。(6か月近くたっているので思い出すのが大変でした。)

flash-util_all.binをn084000でダウンロード後j084000でコピーを実行します。

TSOPフラッシュ(ROM1)起動に変更して起動するだけです。

対応TSOPフラッシュは、AMD29F040とMX29F040になります。

181105002.png

TSOPを搭載された方は、これでDIP側で他のソフトの起動が可能になります。また、TSOPにAMD29F040を使用されている方はzBugの機能でTSOPのフラッシュの書き換えが可能になります。(と思っています。私はAMD29F040を持っていないので未確認です。)

 

広告

SBC8088プロジェクト基板組付け

いつも間にかプロジェクトに格上げされた未確認基板を頂いたので手持ちの部品で組み上げてみました。

181031001.png

これから動作確認を行っていきます。

SBC8088SubBoardから行っていきます。

SBC8085ルーズキット、SBC8080SubBoardを使用する関係で

  • 88_EN :Disable
  • 1M_EN :Disable
  • INTSEL :Disable

181031003.png

またRAM、ROMはSBC8080SubBoardのHM62256と27C256を使用しますので基板裏のROM 256/512のソルダパッドの512をパターンカットし256を半田にて接続しています。

181031005.png

SBC-BUSによる接続

181031002.png

SBC8088SubBoardにはGAL22V10、HM62256(SBC8080SubBoardから移植)を載せています。

181031004.png

GAL22V10にはRev 0.02を書いたのですが起動せずでした。

メモリがアクセスできないのが原因か不明なのでメモリを読み出してみましょうという事で構成をSBC8080_CP/M改のボードとSBC8088SubBoardと言う構成にしてみました。

181031007.png

SBC8080_CP/M改によるメモリテストの結果は、7FFFhまでRAMなしで8000hからはRAMのリードライトができています。

181031006.png

という事でSBC8085が起動しない原因はRAMアクセスが原因では無いことになります。考えられる事はSBC8080SubBoardとSBC8088SubBoardのINTが競合している事が考えられるのでGAL22V10のINTを削除しましょう。(こんな時はGALは楽ですね)

Title FGAL file for GAL22V10
Pattern SBC8088SubBoard Adress Decoder
Revision 0.02t
Auther Tomi9
Date Oct 31, 2018

CHIP SBC8088SSUB GAL22V10

;1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
- A7 A6 A5 A19 A18 A15 1MEN 88EN INT72 INTSEL GND

;13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]
INT51 - - - - RDYIN - MSPCS SERCS ROMEN RAMEN VCC 

EQUATIONS

/ROMEN = /88EN * /A15
 + 88EN * 1MEN * A19 * A18
 + 88EN * /1MEN * A15;
/RAMEN = /88EN * A15
 + 88EN * 1MEN * /A19 * /A18
 + 88EN * /1MEN * /A15;
/SERCS = A7 * /A6 * /A5;
/MSPCS = A7 * A6 * /A5;

GAL22V10の変更でSBC8085ルーズキット+SBC8080SubBoard+SBC8088SubBoardでPALO ALTO TINY BASICの起動が確認できました。

181031008.png

SBC8080SubBoardからROM、RAM共にSBC8088SubBoardに移植して起動する事も確認できました。

181031009.png

88_ENをEnableに変更して起動しない確認を実施しました。

次は、PIC12F1572によるボーレートジェネレータと8251の動作確認となります。

VIP2KのCDP1802を作った

USからLEE HARTさんのVIP2Kを購入させていただき初めてのCDP1802を作った。

181022001.png

CDP1802と言うと小型の”Membership Card”と思っていたのですが最近40th Anniversary VIP2Kを出されたので作らせていただきました。こちらの基板はROMを使用してVideoタイミングを生成したVideo出力対応版になります。(スゴイですね)

まだVIP2Kは出されてばっかりでファームも開発中の所もあり基板はRevAになります。

基板は、MAIN基板とキーボード基板の2枚構成です。

181022008.png

使用するCPUのCDP1802です。頂いた物、国内で購入した物、怪しい所で購入した物の3種になります。

181022009.png

MAIN基板になります。4MHzのレゾネーターが無かったので4MHzの水晶振動子とチップコンデンサを使用しました。

181022003.png

大きさの関係でMembership Card(RevG以降)同様600milのIC下に300milのICが隠れています。今回は、300milのICはソケット無しで作りました。

181022002.png

基板裏です、RevAは1か所のパターンカットとジャンパーが必要になります。

181022004.png

キーボード基板と電源用に作った基板です。すずめっき線が無いので途中です。

181022005.png

裏側です

181022006.png

基板を接続して起動した状態です。初めて電源を入れた時は画面がノイズやってしまったと思ったのですが、2回目の電源ONで正常な画面になり下の画面は”H”keyを入力した後の画面になります。

181022007.png

アセンブリノートに詳しく組み立て方と、起動後のチェック方法も記載されていますので安心して組み立てることができました。

LEE HARTさん、ChuckさんおよびCOSMAC ELF Forumの皆さんに感謝いたします。

 

 

 

SBCZ8 Rev03を作った

SBCZ8 Rev03の基板が届いたのでSBCZ8用に購入してあったICを使って作りました。

現在のSBCZ8の覚え書きです。

181021001.png

使用した部品

Z8:Z0868112 (NMOS 12MHz品)Z86C9116と物々交換して頂いた品
ROM:M28C16A-15
RAM:HM6116AP-15
IC1:74LS04
IC2:74LS32
IC3:74HC573(74ALS573をRev01と交換)
水晶振動子:12MHz(7.3MHzが無いのとZ8の最大動作周波数より)
その他はRev03の部品表に従ったつもり(現在リセット用のC3:1μは付いていない)

ROMには、sbcz8_datapackの「Z8BAS73.hex」を書き込みました。

クロック周波数が、7.3MHzの所12MHzを使用している為ボーレートは

ボーレート=12/7.3*9600 より 15.7KBPS

をTeraTermに設定して起動することを確認しました。

PowerONリセット、リセットSW(コンデンサが無いので長めに押して対応)ともOK、リセット用のC3に10μを付けたらリセット時間が長くて待てないので1μのコンデンサを入手してから付ける予定です。

水晶振動子とROMの関係は忘れるといけないので修正しないといけないですね。この覚え書きはその為に書いてあります。

***ここから下はRev03の参考にしないでください***

SBCZ8 Rev01の状況の覚え書き

181021002.png

使用した部品

Z8:Z86C9116 (CMOS 16MHz品)
ROM:M28C16A-15
RAM:HM6116AP-15
IC1:74HC04
IC2:74HC32
IC3:74ALS573(74HC573をRev03と交換)
水晶振動子:16MHz
アドレスバスのプルダウンは10KΩ
リセット用のC3:10μの電解コンデンサ、抵抗&ダイオードあり

こちらは、Rev01の回路図に合わせて作ってあるのでPORT2のD0-D3には10KΩでNMOSのZ8は動作しません。CMOS版専用になります。

水晶振動子は、16MHzでROMは昔この構成でBASICが動作した状態のままでボーレート設定は9600bpsです。

USBシリアルを接続すると、PowerONリセットがRXDからの電流の回り込みでVCCに電圧が加わりリセットできないのでRXDに抵抗が追加してあります。

181021003.png

パターンカットしてチップ抵抗を取り付けています。

181021004.png

両側をテープでマスキングしてカッターでレジストを保護してから作業しました。

最初は6.8KΩを追加したのですがVCCが1.35VでPowerONリセットがNGで10KΩに交換しました。10KΩでもPowerONリセットがNGでVCCが2.0Vでした。(電圧は正確で無いようですので消します)

という事でALL CMOSでPowerONリセットに対応するのが面倒で74HC573をRev03の74ALS573に変更してPowerONリセット、リセットSW問題なしとしました。

よってSBCZ8 Rev03用に購入した74ALS573は

SBCZ8 Rev03 74ALS573 を 74HC573 へ交換

SBCZ8 Rev01 74HC573 を 74ALS573 へ交換

となってしまいました。

 

SBC8088ボードの状況(その4)

SBC8088のメモリ領域は拡張コネクタを4ピン拡張して44pinに対応しています。

SBC-BUSは、40pinの為対応できないのでSBC-BUS Rev03も公開しておきます。

こちらも、動作未確認です。

動作未検証のガーバーデータですので回路図および、ガーバーデータを確認し問題ないと思われた場合にご使用ください。もちろん保証はありません。また、修正箇所が見つかった場合は連絡いただければ修正版を作成を検討させていただきます。

181011002.png

SBC-BUS Rev03の回路図とガーバーデータはこちらなります。

現在SBC-BUS Rev03の製作予定はありません。

回路修正およびガーバーデータは作成したのみで動作未確認のデータとなりますので動作保証などはありません。

もし製作される方がいましたらコメント、Twitterなどで連絡をお願いいたします。サポートできるかもしれません。

SBC8088ボードの状況(その3)

<注意>SBC8088SubBoardは、SBC8080ルーズキットで使用する事はできません。理由はμPD7201CのINTA端子に12Vが供給される為です。

SBC8088SubBoardの回路図とガーバーデータができたのでアップしておきます。

<BUG情報>
SER,SERA,SERBのコネクタのRXD,TXDが入れ替わっています。パターンカットして配線修正が必要です。
μPD7201のリセットの極性が逆です。GALにて反転処理が必要です。また、パターンカットして配線修正が必要です。

μPD7201は、使用したことがありませんので誤っているかもしれません。また、ボーレートジェネレータとしては3系統別々に設定する為PIC12F1572を使用しています。参考ソースコードはこちらです。

PIC12F1572は、水晶振動子をのサポートが無い以外は使いやすいと思います。ちなみにSBC6800に使用すれば、MC6800無印の動作保証範囲で使用できます。また、1.5MHz、2MHzも下側にシフトすれば動作保証範囲の2相のクロックを供給可能です。

動作未検証のガーバーデータですので回路図および、ガーバーデータを確認し問題ないと思われた場合にご使用ください。もちろん保証はありません。また、修正箇所が見つかった場合は連絡いただければ修正版を作成を検討させていただきます。

181011004.png

回路説明。

1.拡張コネクタ部の拡張(40ピン、44ピン、50ピン対応)
 40ピン:SBC8080/8085相当でMAX64Kバイト
 44ピン:アドレスA19:16拡張でMAX1Mバイト
 50ピン:44ピンに対して未使用6ピンを追加
2.メモリ設定はJ5(1MEN)より1MBYTE,64KBYTEの設定が可能です。
 1-2接続で1MBYTE
 2-3接続で64KBYTE
 1MBYTE設定をする場合はRev02ボードで44PINコネクタ接続が必須となります。
 88ENが2-3接続の場合J5に関係なく64KBYTE設定になります。
3.ROM設定は27512設定になっています。(27512,27256が選択可能です)
 27512を使用する場合は8088使用時は8000-FFFFhに書込みください。また、0000-7FFFhには8080/85用に使用ください。
 27256/27512はJ4にて選択可能です。
4.8251割込み設定はオープン
 割込みを使用する場合はJ11(INTSEL)を2-3を接続ください
5.7201割込み設定はオープン(J7はHi,Lowどちらかに接続ください)
 7201で割込みを使用する場合はJ11(INTSEL)を1-2を接続ください
 8088で割込みを使用する場合は、Lowに設定下さい。
 割り込みを使用しない場合はHiに設定下さい
6.ROM、RAMのマップ切り替え(J6)
 8088使用時はJ6をの1-2を接続ください
 8080/8085使用時は、J6の2-3側を接続ください
7.抵抗R1,R2,R3
 シリアル3chのRXDに直列に各1こ入っています
 CMOS版を使用される場合は10KΩぐらいを接続ください。
 NMOS版の場合は、0Ωで問題ないと思います。
 この値については参考例として使用する方で対応ください
8.8251,7201アドレス(IO領域になります)
 8251は、8xhになります。
 7201は、Cxhになります。AchがC0,C1h、BchがC2,C3hになります。
9.シリアルコネクタ
 SER: 8251用
 SERA:7201 Ach用
 SERB: 7201 Bch用

SBC8088SubBoardの回路図とガーバーデータはこちらなります。

現在SBC8088SubBoard(Rev01)の製作予定はありません。

GAL22V10用ソースコード(sbc8088sub.gal)サンプル例

Title FGAL file for GAL22V10
Pattern SBC8088SubBoard Adress Decoder
Revision 0.03
Auther Tomi9
Date Oct 31, 2018

CHIP SBC8088SSUB GAL22V10

;1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
- A7 A6 A5 A19 A18 A15 1MEN 88EN INT72 INTSEL GND

;13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]
INT51 RES RESN - - RDYIN INT MSPCS SERCS ROMEN RAMEN VCC


EQUATIONS

/ROMEN = /88EN * /A15
 + 88EN * 1MEN * A19 * A18
 + 88EN * /1MEN * A15;
/RAMEN = /88EN * A15
 + 88EN * 1MEN * /A19 * /A18
 + 88EN * /1MEN * /A15;
/SERCS = A7 * /A6 * /A5;
/MSPCS = A7 * A6 * /A5;
INT = INTSEL * /INT72
 + /INTSEL * INT51;
/RESN = RES

μPD7201のリセット信号反転の為、14ピン(RES入力)、15ピン(RESN出力)を追加しました。

GAL22V10への書込みについてはこちらを参考にしてください。

回路修正およびガーバーデータは作成したのみで動作未確認のデータとなりますので動作保証などはありません。

もし製作される方がいましたらコメント、Twitterなどで連絡をお願いいたします。サポートできるかもしれません。

SBC8088ボードの状況(その2)

vintagechipsさんがTwitterに上げたSBC8088の回路図を一部修正した回路図とガーバーデータができたのでアップしておきます。

<BUG情報>
U3からのA7:A0出力がA0:A7に接続されています。パターンカットして配線修正が必要です。

動作未検証のガーバーデータですので回路図および、ガーバーデータを確認し問題ないと思われた場合にご使用ください。もちろん保証はありません。また、修正箇所が見つかった場合は連絡いただければ修正版を作成を検討させていただきます。

 

181013001.png

回路図の変更点は下記になります。

1.プルアップ抵抗削除(割込み対応未対応の為) 
2.拡張コネクタ部の拡張(40ピン、44ピン、50ピン対応)  
 40ピン:SBC8080/8085相当でMAX64Kバイト  
 44ピン:アドレスA19:16拡張でMAX1Mバイト  
 50ピン:44ピンに対して未使用6ピンを追加
3.A18:A12にアドレスラッチ用に74LS573を追加

SBC8088 rev02の回路図とガーバーデータはこちらになります。

現在SBC8088(Rev02)の製作予定はありません。

<部品表>181013002.png

回路修正およびガーバーデータは作成したのみで動作未確認のデータとなりますので動作保証などはありません。

もし製作される方がいましたらコメント、Twitterなどで連絡をお願いいたします。サポートできるかもしれません。