yagshi's website
POEMS powered by Pokemun

POEMS powered by Pokemun

ポケコンマニアックな同志に捧ぐ…

POEMS(*) powered by Pokemun(**)の web ペヰヂへ やうこそ!

(*)POEMS: POcket computer EMulation System
(**)Pokemun: POcKet-com EMUlator Nucleus

What’s new? (新着情報) /Jan 16th 2006

  • PC-1401 えみゅ、はじめました。 PC-1401 emulation is added.

An introduction to POEMS

2002年3月10日。ついに汎用旧型ポケコンエミュレータ “POEMS” の起動実験に成功しました。さしあたりの第壹號のインプリメンテイションは PC-1245 エミュレータ for UNIX(X11) です。 ソースコードつきのフリーソフトとして公開中です。 ライセンスは無難に GPL に決めました。

I’m developing a pocket computer emulator. The system is named POEMS. ( And its kernel part is Pokemun. ) POEMS is a general emulator nucleus for SHARP’s old pocket computers. It can handle almost all PC-12xx/13xx/14xx series pocket computers.

Now, the very first version of POEMS works! (10th Mar.‘2002)

Current version of POEMS/Pokemun is under GPL.

screenshot

emulation real machine M$ Windoze
PC-1245 emulated PC-1245 real PC-1245 windows version
PC-1251 emulated PC-1251 I don’t own PC-1250 nor PC-1251.
PC-1255 emulated PC-1255 real PC-1255
PC-1262 emulated PC-1252 real PC-1262
PC-1350 emulated PC-1350 real PC-1360
PC-1401 emulated PC-1401 real PC-1401 (Thanks to Mr. Miura.)

Features

  • Excellent portability: POEMS is designed to be portable. The kernel part (Pokemun) is completely abstract layer. Therefore, you can port POEMS to any platform quite easily. All you have to do is just writing very small number of platform dependent functions.
    (POEMS は移植が楽ちんです。ていうか、X11版はそもそも移植ようの サンプルコードのつもりで書きました。中核部(Pokemun)は一切 いじらずに、プラットフォーム依存関数をいくつか(最低10ヶかそこら) 書いてコンパイルすれば、できあがり、です。ま、抽象度が高い 分パフォーマンスは 落ちるんでしょうが、そこはそれ、相手は高々800KHzてとこですから。)

  • Low power emulation: POEMS supports low power mode if you want. This feature is very suitable for porting to those platforms like laptop PC or PDA.
    (POEMSは(えみゅでありがちな)「常にフルパワーでCPUぶん回す」ことを しないように移植するのが楽です。 ようはポケコンが halt してるときに sleep() みたいのを発行するようにできる、ってだけなんですが、 これが案外効きます。モバイル環境でも遠慮なくデスクトップの アクセサリとして常駐させておけます。)

ご協力のお願い

POEMS/Pokemun の開発のために以下の実機を(2〜3週間程度) 貸してくださる(もしくは〜2000円程度で売ってくださる)方を 探しています。

  • PC-1250
  • PC-1260
  • PC-1261
  • PC-1280

金銭面でのお礼はできませんが、吸い出した ROM 付きで 開発中の POEMS/Pokemun を差し上げます。何とぞよろしくお願いいたします。 お心当りの方は ぼくまでメイルを下さい。 あ、もちろん送料等の実費はぼくが全部負担します。

また、以下の機種に関する詳細な解析資料の類い(および実機)も 募集中です。

  • PC-14xx シリーズ (1402から1475あたりまで! それと大学生協機も。)
  • PC-1280
  • PC-13xx シリーズ (1350,1360,1360K)

思いつきメモ

  • 現在の POEMS は X11 (Motif) で動いています。 まずはこれを軽く作って、そしたら、アレに移植しよっと。 アレにはキーボードもついているし、きっと素敵なポケコンに なるだろうなぁ。うふふ。

  • PC-1245 はそのまま RAM 増設しても約20KB までいけることが、 エミュレータで確認できました。(MEM やったら 17870. と出た。RAM領域増やしてもそれ以上はいかなかったので、 これが最大サポートなのでしょう。)

  • ↑と思ったら、ROMのバグ(?)のためか、20KB 最大だと BASIC プログラムが 組めないことが判明。PC-1245 を改造しようとしている方、ご注意を!

  • VRAM ワークエリアは画面の右も使っていたのですね。

  • Celeron 550MHz で適当に作った状態で、まったくの偶然なことに 実機と同程度の速度が出ました。操作感とか、計算のタイムラグとか 実機のまんま、って感じでうれしくなっちゃう。あ、 ちゃんと作れば10倍くらいは速くなると思うのでご安心を。

  • そっかー。550MHzっていったら、PC-1245の1000倍の周波数なのね…。 いつの間に大変な時代になったものです。

  • PC-1251 の場合、RAM イメージも再現しないときちんと動かないことが 判明。きわどいことやってたんですね。> PC-125x作った人

  • PC-1262 エミュレーションでどうしても動作がおかしい…。と思って 詳しく調べてみると ROM のバグでした。 (内部 ROM 0x05d6 の EXW はどう考えても EXB の間違い(のはず)。) でも実機ではきちんと動いている。なぜぇ!? (POEMS では日和って起動時に ROMパッチあてちゃってます。)

Obtaining Memory image

You need to obtain pocket-com’s memory image file. In this section, the way to extract memory image from your machine is explained briefly. More detailed procedure is written in the web page “extrom”.

ROMの吸い出し方法については “extrom"ページ. にまとめときましたんで、そっちをどうぞ。

  1. Copy ROM data from 0x0000 to 0x1fff to RAM of anywhere because this area is hidden in the CPU and you cannot access easily (i.e. You cannot CSAVEM it directly). I’ll prepare some tools to copy hidden rom to ram.

  2. Dump them into Microsoft .wav formatted file using CSAVEM. The channel must be monoral and the sampling rate should be 11KHz or higher. You may need a casette interface such as CE-124 and a PC with audio input.

  3. Dumb all the rest memory (0x2000-0xffff) using CSAVEM. It’s better to save them partially because your calculator may automatically make power off while saving data. Example (saving 0x2000-0x3fff):

CSAVEM &2000,&3fff
  1. Process the wav files by my “cload.pl” perl script. It converts audio data into binary data. Example:
$ perl cload.pl -o mem2000_3fff.bin mem2000_3fff.wav
  1. Concatenate all of them. Name the 64KB file as pcXXXXmem.bin. (“XXXX” depends on model such as 1245, 1250, 1261 and so on.)
$ cat mem0000_1fff.bin mem2000_3fff.bin mem4000_ffff.bin > pc1262mem.bin

NOTICE

Memory image file for POEMS is not only ROM image bacause it is full dump of 64KB memory which contains ROM, RAM and blank area. This feature seems to be storage consuming, but I think it has much benefit of simplicity more than wasting only KB order storage.

Download

Notice: This tar ball doesn’t contain PC-1350 emulation yet. If you really want to try it, retrieve source codes from SourceForge.jp.

ROM イメージは配布できないので デモようのダミー ROM を同梱してあります。 (本当の ROM もどこぞには落ちているようですが。 実機をお持ちの方は、それを証明していただければ差し上げることも 考えています。) それと、poems-0.1.0 には、まだ PC-1350 えみゅは含まれていません。もう少し チェックしてから配布します。それまで待てない方は、 SourceForge.jp から CVS で 開発中バージョンをお持ちになってください

Acknowledgment

  • Thanks to Laurent. He and his web site really helped me to develop PC-1350 emulation. They will also help me to realize PC-1401 emulation.
  • SC61860 Basics …ポケコンのCPU “ESR-H"の解説ページです。
  • SC61860 Assembler “YASM61860”… ぼくが作ったアセンブラです。
  • ぼくのポケコン紹介ページです。
  • Mr. Laurent’s web site. He is a French guy who has a lot of knowledge about Sharp’s pocket computers. ( He gave me a lot of information about PC-1350. It really helped me. Thanks! )

History

  • 2006-Jan-16: PC-1401 emulation begins to work.
  • 2002-Jun-16: PC-1350 emulation begins to work. (It is absolutely not sophisticated yet!)
  • 2002-May-24: 1st public release(ver. 0.1.0) is launched.
  • 2002-May-19: “BUSY” symbol bug is fixed. Dummy ROM for free distribution is prepared.
  • 2002-May-10: The 1st Windows version POEMS works.
  • 2002-May-07: Memory image emulation is modified.
  • 2002-May-05: Model switching is enhanced.
  • 2002-May-02: A new skin (PC-1251) is added.
  • 2002-Apr-30: A new skin (PC-1245) is added.
  • 2002-Apr-29: A new skin (PC-1255) is added.
  • 2002-Apr-04: Skin feature is added.
  • 2002-Mar-17: PC-126x emulation is implemented. ( And I extracted my PC-1262 ROM.)
  • 2002-Mar-13: Power switch (RUN/PRO/RES) and LCD symbols are added. Clock devider emulation is implemented, but it doesn’t work nicely enough yet.
  • 2002-Mar-10: At last, the very first version of POEMS works!
  • 2000-Fall?: ポケコン エミュ でも作ろーかなー、と漠然と思いはじめて CPU (ESR-H) のエミュレータを書きはじめたのがこのころかな? でもその後かなり放ったらかしてました。
  • 1983: Original PC-1245 comes into the World.