Skip to the content
2 layers100 × 63.5 mmESE2RAM Cartridge, the printed circuit board in 3D

Implementation of ESE-RAM using only general-purpose logic ICs (naming: ESE-ESE-RAM/ESE2-RAM).

Size
100 × 63.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
29
Nets
74
Pads
250
Tracks, vias
907, 66
Pours
2
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
24 Mar 2024
Updated
6 Jun 2026

Overview

ESE2RAM Cartridge is an open-source printed circuit board by goriponsoft, from the goriponsoft/ESE2RAM-Cartridge repository on GitHub. It is a 2-layer board of 100 × 63.5 mm with 29 parts on 74 nets, routed with 907 tracks and 66 vias.

It is built around the 74HC670P-E, 74AHC00D and 74AHC138D, with the 74AHC32D, BAT43 and CR2032 among its other parts. Its parts include 11 capacitors, 7 ICs, 3 resistors, 3 diodes and 2 connectors. It belongs with the retro computing and games boards of this library.

Main components

6

README

README.md

似非²RAMカートリッジ(1Mbyte版)

English README is here

これは、汎用ロジックICによりメガROMコントローラと同等の動作を実現し、それを利用して似非RAMを構築したMSX用カートリッジ(命名:似非・似非RAMまたは似非²RAM)です。 ごりぽんハードウェア(同人サークル・ごりぽんソフトウェアのハードウェア部門)により作成されました。

KiCAD7用の回路図データ・基板データ・ガーバーデータを、クリエイティブ・コモンズライセンス(CC-BY-NC)で公開しています。 MGINST215.zipおよびKSAVER105.zipはCCライセンスの対象ではなく、元のライセンスと条件が適用されます。

X(旧Twitter): @goriponsoft

似非RAMディスク(似非RAM)とは?

同人サークル・似非職人工房のつじかわ氏が考案した、ストレージなどとして使えるMSX用の汎用バックアップRAMカートリッジです。

通常は、ゲームのメガROMカートリッジを改造し、ROMをRAMに置き換えることで制作します。MGINSTコマンドによりDOSカーネルをインストールしてSSDのようなストレージとして利用したり(似非RAMディスク)、メガROMのイメージを書き込んで動作させたりすることができます。

もともとストレージとしての使用を前提に考案されたため、カートリッジ自体も「似非RAMディスク」と呼ぶほうが一般的です。

なお、所有していないゲームのイメージを書き込んで動作させることは違法行為です。通常は似非RAMディスクの他、似非RAMに改造することで使用できなくなる改造元ゲームカートリッジのイメージ(改造前にファイルに書き出しておく必要あり)、フリーウェア、自作ROMゲーム、などを動作させるのに使用します。

似非RAMディスクについての詳細は、似非職人工房の似非RAMディスクのページを参照してください。

似非²RAM(似非・似非RAM)とは?

近年MSXゲームの入手自体が難しくなり、貴重になってしまったメガROMカートリッジを潰して似非RAMにするのはかなり躊躇われる状況でした。そこで、普通に入手できる汎用ロジックICを使い、メガROMコントローラーと同等の回路を実現し、それを利用して似非RAMとして組み上げたのがこのカートリッジです。

似非RAMでありながら、メガROMコントローラを使用していない「似て非なる似非RAM」ということで「似非・似非RAM」、転じて「似非の2乗」で「似非²RAM」と命名しました。「次世代(第2世代)の似非RAM」という意味も込めています。上付き文字の使用に問題がある場合は「似非2RAM」や「似非似非RAM」でも構いません。英語表記は「ESE-ESE-RAM」または「ESE2-RAM」です。

部品表

注意: 基板Rev.6以降U3~U5が74HCシリーズから74AHCシリーズに変更、Rev.7以降はそれに加え抵抗・コンデンサ・ダイオードが変更されています

部品番号内容数量
BT1CR2032電池ホルダ "CH29-2032LF"/"CH28-2032LF(TR)"/"CH004-2032LF"/"CH004-2032LF"のいずれか1
C1-C8積層セラミックコンデンサ 0.1μF・50V・2.5mmピッチ8
C9積層セラミックコンデンサ 100pF・50V・5mmピッチ1
C10-C11電解コンデンサ 47μF・6.3V以上・2mmピッチ2
D1-D3ショットキーバリアダイオード "BAT43"
※順方向電圧の低いダイオード
3
IC1-IC24Mbit SRAM(628512タイプ・512K×8bit) DIP-32 "AS6C4008"など2
R1-R2抵抗 10KΩ・1/4W2
R3抵抗 3.3KΩ・1/4W1
RN1集合抵抗 8素子・10KΩ SIP-91
S16×6mm タクトスイッチ "TVDP01-095BB1"1
U1-U2汎用ロジックIC "74HC670"2
U3汎用ロジックIC "74AHC138"1
U4汎用ロジックIC "74AHC00"1
U5汎用ロジックIC "74AHC32"1
-CR2032電池1

組み立て方

基板の実装面積の関係で、抵抗、コンデンサ、ダイオードなどの部品が裏面(ハンダ面)に配置されているため、組み立てには注意が必要です。

詳細な組み立てマニュアル(日本語版)はこちら

  1. 基板を裏返して(コネクタの傍に「Front」と書かれている側が表面です)、シルク印刷を参考に、ダイオード、抵抗、セラミックコンデンサ、電解コンデンサ、集合抵抗、の順で部品を配置して表側(部品面)からハンダ付けします。電解コンデンサはシルク印刷の方向に横倒しにして実装してください(縦に実装するとカートリッジシェルに収まりません)。ハンダを盛りすぎると、ICと基板の間に隙間ができるので、ハンダの量は控えめにしてハンダ付けしてください。
  2. ハンダ付けしたら、表面に余ったリードを切断します。リードが余分に残っていると、やはりICと基板の間に隙間ができるので、こちらもできるだけ短くなるように切断してください。
  3. 基板を表に戻し、ICを配置し、通常通り裏面(ハンダ面)からハンダ付けしていきます。ICのリードの処理は通常通りで構いません。
  4. タクトスイッチと電池ホルダをハンダ付けします。
  5. ショートや部品の付け間違いがないことを念入りに確認したうえで、MSX実機に挿して動作を確認します。似非RAMディスクとして使わない場合でも、動作確認にはMGINSTを使うのが簡単です。

準備 (似非RAMディスクとして使う場合)

  1. 似非インストーラー(MGINST.COM)とカーネルセーバー(KSAVER.COM)を入手します。
    ※似非職人工房・非公認出張所(似非なページ)よりLHA形式のアーカイブをダウンロードすることができます。また、ZIP形式にアーカイブしなおしたMGINST215.zipとKSAVER105.zipも、こちらで用意してあります。
  2. 何らかのMSXで起動可能なストレージ(通常はフロッピーディスク)に上記ツールを展開したものと、MSX-DOSのシステムファイル(MSXDOS.SYS/COMMAND.COM)をコピーします。MSX-DOS2カーネル利用の場合は、加えてMSX-DOS2のシステムファイル(MSXDOS2.SYS/COMMAND2.COM)をコピーしておくと、似非RAMインストール時に自動的にコピーされ、MSX-DOS2で起動することができるようになります。
  3. MSX実機に似非²RAMカートリッジを挿し、タクトスイッチを押したまま電源を入れ、手順2で作成したストレージからMSX-DOS(またはMSX-DOS2)を起動します。
  4. KSAVER.COMを使用し、MSX本体からMSX-DOSまたはMSX-DOS2のカーネルをファイルに保存します(詳細はKSAVERの付属ドキュメントを参照)。
  5. MGINST.COMを使用し、手順4で保存したカーネルのファイルを指定して似非RAMカーネルをインストールします(詳細はMGINSTの付属ドキュメントを参照)。
  6. リセットし似非RAMディスクから起動することを確認します。

手順4で保存したカーネルファイルは不要ですので、削除してしまっても構いません。残しておくと、似非RAMディスクの再インストール時に手順を省略できます。

手順5でエラーが出る場合は、部品のハンダ付け不良の可能性が高いので、基板をチェックしてみてください。

使い方 (メガROMソフトウェアを動かす場合)

使用した部品の機能の関係で、当カートリッジでは、セグメント番号の初期値がASCIIマッパーと異なっているため、プログラムによるレジスタの初期化が必須となっています。似非RAMディスクやゲームを含む、ほとんどのメガROMソフトウェアでは適切に初期化が行われているので問題ありませんが、初期化を怠っていたり、セグメント初期値が特定の値であることを期待しているソフトウェアは動作しない場合があります。

当カートリッジの起動直後もしくはリセット直後のバンクは以下のようになっています。

バンクアドレスレジスタアドレスセグメント番号
4000h-5FFFh6000h-67FFh0
6000h-7FFFh6800h-6FFFh0
8000h-9FFFh7000h-77FFh0
A000h-BFFFh7800h-7FFFh0

当カートリッジでセグメント番号レジスタに採用しているICの74HC670には値をリセットする機能がなく、起動直後は全てのセグメント番号が不定値(リセットの場合はリセット直前の値)となってしまうため、4000h-5FFFhに正しくセグメント番号0のROMヘッダが現れるよう「起動後にレジスタアドレスに初回の書き込みが行われるまでは全てのバンクをセグメント番号0に固定する」という仕組みになっています。

この状態からレジスタアドレスに値を書き込むと、セグメント番号の固定が解除され、書き込んだレジスタは書き込んだセグメント番号に、書き込まれていないレジスタは本来のセグメント番号不定の状態に戻ります。

例えば6000hに0を書き込んだ場合は以下のようになります。

バンクアドレスセグメント番号
4000h-5FFFh0
6000h-7FFFh不定
8000h-9FFFh不定
A000h-BFFFh不定

このため、当カートリッジで自作メガROMソフトウェアを動作させる場合は、INITエントリのできるだけ早い段階で、実行中のアドレスを含むバンクのレジスタに0を書き込んで初期化する必要があります。実行中のアドレスを含まないバンクのレジスタに先に書き込んでしまうと、実行中のプログラムが不定のバンクに切り替わり、ほとんどの場合は暴走します。また、書き込まれなかったレジスタの値は不定ですので、必要であれば初期化を行ってください。

通常はセグメント#0に以下のコードを配置し、ROMヘッダのINITエントリより4000h~5FFFhバンクの該当アドレスを呼び出せば、問題なく初期化できます。

text
	xor		a
	ld		(6000h),a
	ld		(6800h),a
	ld		(7000h),a
	ld		(7800h),a

互換性情報

動作確認済のハードウェア(順不同)について

ご報告いただいたものは順次追加・変更していきます

注意:作者所有の個体で動作した、もしくは動作報告者所有の個体で動作した、機種名を記載していますが、同一機種であっても全ての個体での動作を保証するものではありません。経年劣化や個体差により、動作しないことも、またその逆も有り得ます。

動作不良が確認されている機種と症状

  • ビクター HC-90 および HC-95: 当カートリッジに書き込まれたデータが壊れるため正常動作しない
  • 東芝 HX-E601(拡張スロット) : 認識されず起動しない
  • 8086YES! OneChipBook および MSXBOOK: 当カートリッジに書き込まれたデータが壊れるため正常動作しない

正常動作が確認されている機種

  • パナソニック FS-A1ST
  • パナソニック FS-A1WX and FS-A1FX, FS-A1WSX
  • パナソニック FS-A1, FS-A1F
  • ナショナル FS-4700
  • ナショナル CF-2000, CF-2700, CF-3000 および CF-3300
  • ソニー HB-F1XV および HB-F1XDJ
  • ソニー HB-201
  • ヤマハ YIS503 および CX5F
  • ヤマハ YIS604/128 および CX7M/128
  • 三洋 MPC-2(WAVY2)
  • 三洋 PHC-23J(WAVY23)
  • 三洋 PHC-70FD(WAVY70FD) および PHC-70FD2(WAVY70FD2)
  • 東芝 HX-31
  • 東芝 HX-10D および HX-10S
  • パイオニア PX-V7、PX-V60
  • 三菱 ML-8000
  • 三菱 ML-G30 model1 および ML-G30 model2
  • ビクター HC-7
  • ビクター HC-80
  • キヤノン V-20
  • カシオ PV-7, PV-16, MX-10
  • カシオ KB-7(expansion slot)
  • ゼネラル PCT-50 および PCT-55
  • ソニー HB-F500 ※ただし似非RAMディスクとしての使用には難あり
  • アスキーソリューションズ 1chipMSX ※ただし似非RAMディスクとしての使用には難あり

調査中の機種

  • フロンロライン エキスパンションスロット(拡張スロット)
  • パナソニック FS-A1FM
  • カシオ MX-101
  • 東芝 HX-20
  • 東芝 HX-30

Parts

29
QtyValueFootprintReferences
80.1uCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC1, C2, C3, C4, C5, C6, C7, C8
3BAT43Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3
210KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
247uProjectLibrary:CP_Radial_D5.0mm_P2.00mm_HorizontalC10, C11
24M SRAMProjectLibrary:DIP32_600mil_FineLongPadIC1, IC2
274HC670ProjectLibrary:DIP16_300mil_FineLongPadU1, U2
1100pCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC9
110kResistor_THT:R_Array_SIP9RN1
13.3KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
174AHC00ProjectLibrary:DIP14_300mil_FineLongPadU4
174AHC138ProjectLibrary:DIP16_300mil_FineLongPadU3
174AHC32ProjectLibrary:DIP14_300mil_FineLongPadU5
18MConnector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_VerticalJ1
1BUS_MSXProjectLibrary:CARD_MSX_AK_DUALCN1
1CR2032ProjectLibrary:BatteryHolder_CH2x-2032LFBT1
1TVDP01-095BB1_GoriponsoftLibrary:TVDP01-095BB1S1

Similar boards

  • 4 layers406.4 × 254 mmConsole, the printed circuit board in 3D

    Console

    mrieker/pdp8i

    101 parts
  • 4 layers152.4 × 64.8 mmBreakout, the printed circuit board in 3D

    Breakout

    adrienkohlbecker/BB816

    A homebrew 16 bit breadboard computer based on WDC's 65C816 processor

    83 parts52
  • 4 layers145.5 × 89.6 mmNs32k, the printed circuit board in 3D

    Ns32k

    bson/ns32k

    NS32k Toy PCB

    138 parts
  • 2 layers99.9 × 99.9 mmEasy z80, the printed circuit board in 3D

    Easy z80

    skiselev/easy_z80

    An easy to build Zilog Z80 based single board computer

    61 parts180GPL-3.0
  • 2 layers208 × 110 mm8 16 computer 2, the printed circuit board in 3D

    8 16 computer 2

    halfburnttoast/TCPU816-v1

    Version 1.1 of my 8-bit, TTL computer.

    120 parts21
  • 4 layers306 × 244 mmPg09-system, the printed circuit board in 3D

    Pg09-system

    thorpej/pg09-system

    6809 Playground - main system

    167 parts13BSD-2-Clause
  • 2 layers172.7 × 63.5 mmPdsp1881 4x4, the printed circuit board in 3D

    Pdsp1881 4x4

    74hc595/kicad-intelligent-displays

    KiCad symbols and footprints for HP/Litronix/Siemens/Osram/Avago/Broadcom intelligent alphanumeric LED displays

    31 parts6

Questions

How big is the ESE2RAM Cartridge PCB?

It measures 100 × 63.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ESE2RAM Cartridge use?

29 parts, built around the 74HC670P-E, 74AHC00D, 74AHC138D and 74AHC32D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ESE2RAM Cartridge KiCad files?

From the goriponsoft/ESE2RAM-Cartridge repository on GitHub, at the commit this page was made from: the board is ESE2RAM-Cartridge.kicad_pcb and its schematic ESE2RAM-Cartridge.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESE2RAM Cartridge design in my own project?

Its repository states no licence, so its author keeps all rights: ask goriponsoft before reusing the design.