ポケコンマニアックな同志に捧ぐ…
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 |
 |
 |
 |
PC-1251 |
 |
I don't own PC-1250 nor PC-1251. |
PC-1255 |
 |
 |
PC-1262 |
 |
 |
PC-1350 |
 |
 |
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.html".
ROMの吸い出し方法については
"extrom.html"にまとめときましたんで、
そっちをどうぞ。
- 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.
- 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.
- 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
- 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
- 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.
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.
Links
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.
KOBAYASHI, Hiroyuki (こばやしひろゆき)
yagshi@bs.teu.ac.jp