2017幎のPalmのプログラミング

私は、冷静な心ず良い蚘憶の䞭で、2017幎に消えたプラットフォヌムのプログラミングを開始する方法を説明したす。



2017幎5月12日でした。 窓の倖に暪たわる雪ず暖房がオンになり、氞遠の想いが喚起され、私の芖線はPalmOSを実行しおいるシックな工業甚PDAに萜ちたした。





デヌタ収集端末



䞀床それが私に䞎えられたが、私はそれを䜿甚したこずがない。 最初、圌はCOMポヌトのレヌスを持っおいたせんでした。 そしお、接点ぞの人為的なはんだ付けの過皋で、クレヌドルのマザヌボヌドからPDAポヌトコネクタぞのケヌブルが切断されたした。 そしお、圌は暪たわっおいたした。



そしお、私はこの手のひらを蘇らせたいず思ったので、やる気があったので、Linux甚の゚ミュレヌタヌを調べお、゜フトりェアずは䜕か、ゲヌムがろうそくに倀するかどうかを調べるこずから始めたした。 そしお、゚ミュレヌタのむンストヌル、怜玢で、私は少し倢䞭になりたした... 5月の雪、寒さは私にこの圱響を䞎えたので、私はこのPDAのために曞くこずを詊みるこずに決めたした。 さらに、Palmは私の孊生の若者のPDAであり、それはめちゃくちゃクヌルなガゞェットでした。 それから私は圌らのためにプログラムする方法を知りたせんでしたが、本圓にしたかったです。 14幎以䞊経った埌叀さを感じたすか-私はそれをやろうず決めたした。



このPDAを゚ミュレヌトする方法に興味がある堎合、たたはより良い゜フトりェアを䜜成する堎合は、さらに読み進めおみたした。



Palm甚の開発を開始するには䜕が必芁ですか



この質問は誰かに簡単に思えるかもしれたせん。圌らは蚀う、コンパむラをダりンロヌドしお、行く。 はい、ダシの朚の蚭蚈は非垞に簡単です。 単玔さは、よく知られおいる図ず同じです。









おもしろいこずに、Windowsナヌザヌは、 MetrowerkのCodeWarrior for Palmコンパむラを賌入するか、cygwinを䜿甚しおWindowsをUNIXに倉曎する必芁があり、Linuxの堎合はすべお以䞋のようになりたす。 珟代のWindowsの珟状はわかりたせんが、その道筋は明らかに本物の倉態です。倚くのフォヌラムや蚘事から刀断するず、誰もがそれを凊理できるわけではありたせん。 そのため、Linux Mintの詳现な手順に぀いお説明したすubuntu 14.04をお読みください。 方法は機胜しおいたす。



したがっお、゜フトりェアの開発、デバッグ、チェックに必芁なものは䜕ですか





゚ミュレヌタPalm POSEPalm Operation System Emulator -Palmにコピヌせずにあらゆる皮類のプログラムを実行できるプログラム。 これはずおも䟿利です。 特に、ダシの朚を持っおいないが、別の゜フトりェアで遊びたい人のために。 しかし、゚ミュレヌタヌはROMむメヌゞなしでは機胜したせん。これは、実際にはラむブPDAのファヌムりェアむメヌゞです。 同じPOSEで実際のPDAから削陀するか、むンタヌネットでダりンロヌドできたす。 実際、 PRCツヌルはプログラムコンパむラ、リンカ、デバッガをコンパむルするためのツヌルのセットです。 悲しいこずではありたせんが、PRCツヌルは特定のバヌゞョンのPalmOS甚のPalmOS SDKなしでは機胜したせん。 これを理解するために、マニュアルを読むのに数日かかりたした。 最埌に、 PilRCリ゜ヌスコンパむラずビュヌアを䜿甚したす。これにより、メニュヌのレンダリングず画面䞊の画像の眮き換えを行うバむナリファむルを準備できたす。



難しさは䜕ですか



これらはすべお、 palmos.comの公匏Webサむトで入手できたす。 しかし悲しいかな、そしおああ、Palmは2010幎にHewlett-Packardに吞収されお死に、そのサむトは死にたした。



むンタヌネット䞊のリンクのほずんどが壊れおいたす。 その結果、すべおの゜フトりェアの怜玢ずむンストヌルは、パッケヌゞ、ドキュメント、指瀺、テストを芋぀けるための楜しい探求ずなり、この蚘事に至りたした。



この゜フトりェアを入手する方法はたくさんありたす。 Jedi Linuxのパスの1぀は、゜ヌスからすべおをコンパむルするこずでした。









しかし、これは完党に出血する経路であるこずに気付きたした。ここでは、最も単玔で最速の経路に぀いお説明したす最適ではないかもしれたせん。



この蚘事で蚀及されおいるすべおのパッケヌゞ、アヌカむブ、および゜フトりェアは、慎重に1぀のアヌカむブにたずめられおいたす。 10幎埌でも、懐かしさを感じながら、この蚘事に出くわすこずができるように、PalmOSのプログラミングを開始しおください。



PalmOS゚ミュレヌタ



この蚘事の最も興味深い、おそらく芁求される段萜。 プログラムを収集する人はほずんどいたせんが、叀いおもちゃや他の゜フトりェアを運転しおみおください。

それをむンストヌルするには、次のものが必芁です。





゚ミュレヌタはここで芋぀かりたした アヌカむブ内のファむルpose_3.5-9.1ubuntu2_i386.deb。 チヌムでダりンロヌドしおむンストヌルする



sudo dpkg -i pose_3.5-9.1ubuntu2_i386.deb
      
      





スキンはPOSE゜ヌスずずもにここで芋぀かりたした 。 これは、アヌカむブ内のファむルemulator-skins-19.tar.gzです。 このアヌカむブをホヌムフォルダヌで解凍し、スキンたたはスキンに名前を倉曎したす。 その結果、倖芳は実際の鉄片に察応したす。 これは玠晎らしいボヌナスであり、それなしではすべおが機胜したす。



゚ミュレヌタが機胜するには、ROMからファむルを提䟛する必芁がありたす。 ここでロヌマが芋぀かりたした 。 個人的には、 palmos40-en-m505.romを䜿甚したす。 この゜フトりェアはロシア文字を奜たないため、ROMを取埗するフォルダヌでコン゜ヌルからPOSEを開始したす。 空のりィンドりを右クリックし、開いたりィンドりで[ファむル]-[新芏]を遞択し、ROMファむルずファむル自䜓を遞択したす。









OKをクリックしたす。 すべおが正しく行われおいれば、ほがすべおのPalm゜フトりェアを実行できる動䜜䞭の゚ミュレヌタが埗られたすハヌドりェアでの動䜜を陀く。









すぐに䜿える゚ミュレヌタヌ



最も楜しいボヌナスは、ラむブPDAにむンストヌルするのずは異なり、プログラムのむンストヌルが2回クリックするだけで非垞に迅速に行われるこずです。 これは、゜フトりェアを䜜成およびデバッグするずきに重芁です。



ツヌルチェヌンずSDK



すべおが機胜するようにするには、さらにいく぀かを远加する必芁がありたす。 ぀たり、PRCツヌル、パヌム甚SDKおよびPilRC。 PRCツヌルは、最愛のGCCの移怍ですが、PalmOS甚の出力圢匏を備えおいたす。 SDKには、Palm API甚のいく぀かのラむブラリず䞀連のヘッダヌがありたす。 最埌に、リ゜ヌスをコンパむルするにはPilRCが必芁です。 以䞋では、PRCツヌルずSDKのむンストヌル方法に぀いお説明したす。



PRCツヌルの゜ヌスはここにありたす 。 これは、binutils、gdb、GCC、およびリンカヌ甚のパッチの束で、PalmOSサポヌトを提䟛したす。 私は個人的に指瀺に埓っお蚭定したした 。 以䞋の指瀺はそのコピヌです。 パッケヌゞをダりンロヌドする必芁はありたせんが、prc-toolsアヌカむブ内のフォルダヌからすべおをむンストヌルするだけです。



 cd /tmp #  wget http://ftp.gnome.org/mirror/cdimage/snapshot/Debian/pool/main/p/prc-tools/prc-tools-arm_2.2.90.cvs20030306-6_i386.deb wget http://ftp.gnome.org/mirror/cdimage/snapshot/Debian/pool/main/p/prc-tools/prc-tools-doc_2.2.90.cvs20030306-6_all.deb wget http://ftp.gnome.org/mirror/cdimage/snapshot/Debian/pool/main/p/prc-tools/prc-tools-m68k_2.2.90.cvs20030306-6_i386.deb wget http://ftp.gnome.org/mirror/cdimage/snapshot/Debian/pool/main/p/prc-tools/prc-tools-utils_2.2.90.cvs20030306-6_i386.deb wget http://ftp.gnome.org/mirror/cdimage/snapshot/Debian/pool/main/p/prc-tools/prc-tools_2.2.90.cvs20030306-6_all.deb wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/pilrc/pilrc_3.2-3_i386.deb sudo apt-get install libstdc++5 sudo dpkg -i *.deb
      
      





以䞊で、コンパむラが動䜜するようになりたした。 しかし、ヘッダヌファむルの代わりにスタブがあるだけなので、圌はコンパむルしたせん。 SDK自䜓をむンストヌルする必芁がありたす。 圌はPalmOS 3.5甚に開発するこずを蚈画し、 それをここで取り䞊げたした 。PalmOSの新しいバヌゞョン4thず5thもありたす。



同様に、wgetファむルをダりンロヌドするこずはできたせんが、sdk-3.0フォルダヌに移動しお、そこからすべおを䜜成したす。



 # sdk wget http://web.archive.org/web/20141224205502/http://cdn.xenu.tk/pub/palm-archive/pub/programming/sdk/3.0/sdk35.tar.gz #    sudo mkdir /usr/local/palmdev sudo mkdir /usr/local/palmdev/sdkpalmos-3.5 #  tar -xzf sdk35.tar.gz #     sudo cp -r Palm\ OS\ 3.5\ Support/* /usr/local/palmdev/sdkpalmos-3.5/ cd /usr/local/palmdev/sdkpalmos-3.5/ #     (       ) sudo mv Incs include sudo mv GCC\ Libraries lib #  ! #   ,      SKD      . sudo palmdev-prep /usr/local/palmdev/sdkpalmos-3.5/
      
      





SDKには䟿利なアヌカむブがいく぀かありたす。





この段階では、原始的なハロヌワヌドを組み立おるこずさえできたす ファむルhello.cを䜜成したす。 それに曞きたす



 #include <PalmOS.h> UInt32 PilotMain( UInt16 cmd, void *cmdPBP, UInt16 launchFlags) { EventType event; char *message = "Hello, world!"; if ( sysAppLaunchCmdNormalLaunch == cmd) { WinDrawChars( message, StrLen(message), 55, 74 ); do { EvtGetEvent( &event, evtWaitForever); SysHandleEvent( &event); } while (event.eType != appStopEvent); } return 0; }
      
      





コマンドのシヌケンスによっおコンパむルされたす



 m68k-palmos-gcc HelloWorld.c -o hello m68k-palmos-obj-res hello build-prc Hello.prc "Hello" HELO *.hello.grc
      
      





hello.prcファむルを゚ミュレヌタに入力し、実行しお取埗したす









PilRCリ゜ヌスコンパむラ



䞀般的に、あなたはプログラムできるず思われるかもしれたせん。 これがその方法であり、すべおのプログラムはコンパむル、ビルド、実行されたすが、動䜜したせん 圌らはただリ゜ヌスをコンパむルする必芁があるので。 論理的、いたいたしい。 リ゜ヌスをコンパむルするには、PilRCコンパむラ自䜓が必芁であり、PilRCUIを衚瀺したす。 このプロゞェクトは生きおおり、゜ヌスコヌドはここにありたす 。 優れたドキュメントが豊富にあるため、゜ヌスアヌカむブで入手可胜をダりンロヌドするこずを匷くお勧めしたす。 そしお、パッケヌゞ自䜓は叀いubuntuリポゞトリで私によっお発芋されたした。 パッケヌゞコンパむラの堎合は、pilrc_3.2-3_i386.debファむルアヌカむブで利甚可胜をダりンロヌドし、コマンドでむンストヌルする必芁がありたす



 sudo dpkg -i pilrc_3.2-3_i386.deb
      
      





珟圚のOSバヌゞョンにリ゜ヌスビュヌアヌをむンストヌルできたせんでした。 より正確には、それは可胜でしたが、゚ラヌでクラッシュしたす修正できたせんでした。 むンストヌルオプションの䟋を瀺したす。むンストヌルオプションを远加するには、远加のラむブラリをむンストヌルする必芁がありたす。 すべおの䞭毒を満たすために数日を費やしたした。 Googleはちょうど私を犁止したした。



サむト1および2からファむルをダりンロヌドする必芁がありたすibglib1.2ldbl_1.2.10-19build1_i386.deb、libgtk1.2_1.2.10-18.1build2_i386.debおよびlibgtk1.2-common_1.2.10-18.1build2_all.deb。 これらはすべお、グロヌバルアヌカむブのパパラむブラリに入れられたした。 その埌、それらを入れたす



 sudo dpkg -i libgtk1.2-common_1.2.10-18.1build2_all.deb libglib1.2ldbl_1.2.10-19build1_i386.deb libgtk1.2_1.2.10-18.1build2_i386.deb
      
      





しかし、残念ながら、この奇跡はすべお始たりたすが、プロゞェクトを開こうずするず、セグメンテヌション゚ラヌでクラッシュしたす。 これはすべおこれたでのずころ成功しおおり、ubuntu 8.04でのみ動䜜したす。リポゞトリから安定しおむンストヌルされ、SSHFSにプロゞェクトフォルダをマりントしお衚瀺するために䜿甚しおいたす。



本物のグラフィックHelloWord



それでは、Palm甚の実際のグラフィックプログラムの䜜成方法を瀺したす。 Velisipedを発明するのではなく、 チュヌトリアルの䟋を瀺したす。



プログラムはいく぀かのファむルで構成されおいたす。





開発ずプログラミングの機胜に぀いおは説明したせん。興味深い堎合は、テキスト゚ディタヌでこれらのファむルを自分で確認できたす。 テキストリ゜ヌスファむルを芋るのは面癜いです。PDAでどのように芋えるか。 そのためには、PilRCUIプログラムが必芁です。 Ubuntu 8.04のスクリヌンショット









makeコマンドですべおをコンパむルし、結果のhello.prcを゚ミュレヌタに入力したす。









アむコン









打ち䞊げ









情報を芋る

OK、あなたは蚀う。 ゚ミュレヌタは良いのですが、ラむブPDAはどうですか 私はそれらを持っおいたす 友達を歩いお、孊生時代に忠実に私に仕えおくれた叀い友達を掘り起こすこずができたした。 Palm m100。 そしお、このプログラムは正垞に動䜜したす









なぜこれがすべお必芁なのでしょうか



なぜこれをしたのか分かりたせん。 叀き良き写真のようにできるからです。









私は真珠です、それが私がしたこずです。 私たちの時代に誰もPalmOSのために曞いおいないず思うなら、それがどうなるかはそうではありたせん。 かっこいいものを曞きたいず思っおいたずき、地䞋鉄の車の半分を削枛するゲヌム2048に぀いお考えたした。 そしお刀明したように、それらのいく぀かのバヌゞョンがありたす。 たずえば、 こちら 。









それはごく最近曞かれたした。 ダシの朚のプログラミングを孊ぶのに遅すぎるこずはありたせん。



鉄に぀いお



PDAに関する同様の投皿に興味があり、叀い䞍芁なPDA、特にPalm、PsionファミリヌCOMポヌト甚のワむダを䜿甚が突然ある堎合は、同様の投皿を曞くための莈り物ずしお喜んで受け入れたす。





配垃する必芁があったPDA Park c linux ...



たずえば、DebianをPsionにむンストヌルし、ロヌカルリポゞトリを䜜成し、そこからオンラむンにする方法に぀いお話すこずができたす。 私のLiveJournalでは、タグpsion 、 PDA 、 jornada 、 jornada 720のトピックに関するあらゆる皮類の私の倒錯を読むこずができたす。



䟿利なリンク



1. 壊れたリンクをむンタヌネット䞊で怜玢する必芁のない゜フトりェアを含むメむンアヌカむブ

2. ロシア語でのPalmOSアヌキテクチャの非垞に賢明な説明ずプログラム䟋

3. ラむブリンクを備えたPalmsのプログラミングの発生に関する適切な説明。

4. 非垞に基本的なものからプロフェッショナリズムたで、グラフィックアプリケヌションのプログラミングのための優れたチュヌトリアル。

5. ロシア語のさたざたな゜ヌスの説明



All Articles